.comments-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin:2rem 0;padding:2.5rem;box-shadow:0 4px 20px #0000000f}.comments-header{border-bottom:3px solid #e9ecef;margin-bottom:2rem;padding-bottom:1.25rem;position:relative}.comments-header:after{content:"";background:linear-gradient(90deg,#0d6efd 0%,#0dcaf0 100%);width:80px;height:3px;position:absolute;bottom:-3px;left:0}.comments-title{color:#212529;letter-spacing:-.02em;align-items:center;gap:.75rem;margin:0;font-size:1.85rem;font-weight:700;display:flex}.comments-title .badge{color:#fff;text-align:center;white-space:nowrap;background:linear-gradient(135deg,#0d6efd 0%,#0b5ed7 100%);border-radius:8px;justify-content:center;align-items:center;min-width:32px;padding:.5rem .875rem;font-size:.875rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 2px 8px #0d6efd40}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.ms-2{margin-left:.5rem}.text-muted{color:#6c757d}@media (max-width:768px){.comments-section{border-radius:10px;margin:1.5rem 0;padding:1.5rem}.comments-title{font-size:1.5rem}}@media (max-width:480px){.comments-section{border-radius:8px;padding:1.25rem}.comments-title{flex-direction:column;align-items:flex-start;gap:.5rem;font-size:1.35rem}}@media (min-width:1200px){.comments-section{padding:3rem}}.comment-form-container{background:var(--color-bg-primary,#fff);border-radius:var(--radius-lg,.75rem);padding:var(--space-8,2rem);border:1px solid var(--color-border-light,#e5e7eb);box-shadow:var(--shadow-sm,0 1px 3px #0000001a);transition:var(--transition-base,.2s ease);position:relative}.comment-form-container:hover{box-shadow:var(--shadow-md,0 4px 6px #0000001a)}.comment-form-container h5{font-size:var(--font-size-xl,1.25rem);font-weight:var(--font-weight-bold,700);color:var(--color-text-primary,#111827);margin-bottom:var(--space-6,1.5rem);border-bottom:none;align-items:center;gap:.625rem;padding-bottom:0;display:flex}.comment-form-container h5:before{content:"";background:var(--gradient-primary,linear-gradient(135deg,#6366f1 0%,#4f46e5 100%));border-radius:2px;width:4px;height:24px}.guest-fields-container{gap:var(--space-5,1.25rem);margin-bottom:var(--space-6,1.5rem);padding:var(--space-6,1.5rem);background:var(--color-bg-secondary,#f9fafb);border-radius:var(--radius-md,.5rem);border:1px solid var(--color-border-light,#e5e7eb);flex-direction:column;display:flex}.guest-info-fields{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.guest-info-fields .form-group{margin:0}.guest-info-fields .form-label{font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-semibold,600);color:var(--color-text-secondary,#374151);margin-bottom:var(--space-2,.5rem);align-items:center;gap:var(--space-2,.5rem);text-transform:uppercase;letter-spacing:.3px;display:flex}.guest-info-fields .form-label i{color:var(--primary-color,#4f46e5);font-size:var(--font-size-sm,.875rem)}.guest-options{margin:0}.guest-options .form-check{padding:var(--space-3,.75rem)var(--space-4,1rem);background:var(--color-bg-primary,#fff);border:1px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-md,.5rem);align-items:center;gap:var(--space-3,.75rem);transition:var(--transition-base,.2s ease);margin:0;display:flex}.guest-options .form-check:hover{border-color:var(--primary-color,#4f46e5);background:var(--color-primary-50,#eef2ff)}.guest-options .form-check-input{cursor:pointer;border:2px solid var(--color-border-medium,#d1d5db);width:1.125rem;height:1.125rem;transition:var(--transition-base,.2s ease);flex-shrink:0;margin:0}.guest-options .form-check-input:checked{background-color:var(--primary-color,#4f46e5);border-color:var(--primary-color,#4f46e5)}.guest-options .form-check-label{font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--color-text-secondary,#4b5563);align-items:center;gap:var(--space-2,.5rem);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;margin:0;display:flex;overflow:hidden}.guest-options .form-check-label i{color:var(--color-text-muted,#6b7280);font-size:var(--font-size-sm,.875rem);flex-shrink:0}#comment-form .form-control{border:1.5px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-md,.5rem);width:100%;padding:var(--space-3,.75rem)var(--space-4,1rem);font-size:var(--font-size-base,1rem);transition:var(--transition-base,.2s ease);background:var(--color-bg-primary,#fff);color:var(--color-text-primary,#111827);font-family:inherit;line-height:var(--line-height-normal,1.5)}#comment-form .form-control::placeholder{color:var(--color-gray-400,#9ca3af);opacity:1}#comment-form .form-control:focus{border-color:var(--primary-color,#4f46e5);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb,79,70,229),.1);background:var(--color-bg-primary,#fff);outline:none}#comment-form .form-control:hover:not(:focus){border-color:var(--color-border-medium,#d1d5db)}#comment-form textarea.form-control{resize:vertical;min-height:120px;padding:var(--space-4,1rem);line-height:1.6}#comment-form .form-label{font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-semibold,600);color:var(--color-text-secondary,#374151);margin-bottom:var(--space-2,.5rem);align-items:center;gap:var(--space-2,.5rem);text-transform:uppercase;letter-spacing:.3px;display:flex}#comment-form .form-label i{color:var(--primary-color,#4f46e5);font-size:var(--font-size-sm,.875rem)}#comment-form .mb-3{margin-bottom:0!important}.captcha-submit-row{align-items:center;gap:var(--space-4,1rem);margin-top:var(--space-4,1rem);padding-top:var(--space-4,1rem);border-top:1px solid var(--color-border-light,#e5e7eb);display:flex}.captcha-submit-row .captcha-container{flex:none}.captcha-submit-row .btn-submit{padding:var(--space-2,.5rem)var(--space-6,1.5rem);font-weight:var(--font-weight-semibold,600);border-radius:var(--radius-sm,.375rem);cursor:pointer;transition:var(--transition-base,.2s ease);font-family:inherit;font-size:var(--font-size-sm,.875rem);align-items:center;gap:var(--space-2,.5rem);letter-spacing:.2px;white-space:nowrap;background:var(--gradient-primary,linear-gradient(135deg,#6366f1 0%,#4f46e5 100%));color:#fff;height:38px;box-shadow:0 2px 4px rgba(var(--primary-color-rgb,99,102,241),.2);border:none;flex-shrink:0;display:inline-flex}.captcha-submit-row .btn-submit:hover{background:var(--primary-hover,#4338ca);box-shadow:var(--shadow-md,0 4px 6px #0000001a)}.captcha-submit-row .btn-submit:active{box-shadow:var(--shadow-xs,0 1px 2px #0000000d)}.captcha-submit-row .btn-submit i{font-size:var(--font-size-sm,.875rem)}.comment-form-container.replying-to{background:var(--color-primary-50,#eef2ff);border-color:var(--primary-color,#4f46e5);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb,99,102,241),.08)}.replying-to-info{background:var(--color-bg-primary,#fff);padding:var(--space-4,1rem)var(--space-5,1.25rem);border-radius:var(--radius-md,.5rem);border-left:4px solid var(--primary-color,#4f46e5);margin-bottom:var(--space-5,1.25rem);font-size:var(--font-size-sm,.875rem);color:var(--color-text-secondary,#4b5563);justify-content:space-between;align-items:center;gap:var(--space-4,1rem);box-shadow:var(--shadow-xs,0 1px 2px #0000000d);display:flex}.replying-to-info .reply-info-text{align-items:center;gap:var(--space-2,.5rem);font-weight:var(--font-weight-medium,500);display:flex}.replying-to-info .reply-info-text i{color:var(--primary-color,#4f46e5);font-size:var(--font-size-base,1rem)}.replying-to-info strong{color:var(--primary-color,#4f46e5);font-weight:var(--font-weight-bold,700)}.replying-to-info .btn-cancel-reply-inline{border:1.5px solid var(--color-border-light,#e5e7eb);color:var(--color-text-muted,#6b7280);font-size:var(--font-size-sm,.875rem);cursor:pointer;padding:var(--space-2,.5rem)var(--space-4,1rem);border-radius:var(--radius-sm,.375rem);transition:var(--transition-base,.2s ease);white-space:nowrap;font-family:inherit;font-weight:var(--font-weight-semibold,600);align-items:center;gap:var(--space-1,.25rem);background:0 0;display:inline-flex}.replying-to-info .btn-cancel-reply-inline:hover{border-color:var(--error-color,#ef4444);color:var(--error-color,#ef4444);background:#fee}.replying-to-info .btn-cancel-reply-inline i{font-size:var(--font-size-xs,.75rem)}#comment-form .form-text{font-size:var(--font-size-sm,.875rem);color:var(--color-text-muted,#6b7280);margin-top:var(--space-2,.5rem);line-height:var(--line-height-normal,1.5);font-style:italic}@media (max-width:768px){.comment-form-container{border-radius:10px;padding:1.5rem}.comment-form-container h5{margin-bottom:1.5rem;font-size:1.15rem}.comment-form-container h5:before{width:3px;height:20px}.guest-fields-container{gap:1rem;padding:1.25rem}.guest-info-fields{grid-template-columns:1fr;gap:.875rem}.captcha-submit-row{align-items:stretch;gap:var(--space-3,.75rem);flex-direction:column}.captcha-submit-row .btn-submit{justify-content:center;width:100%;height:36px}.replying-to-info{flex-direction:column;align-items:flex-start;gap:.75rem}.replying-to-info .btn-cancel-reply-inline{justify-content:center;width:100%}}@media (max-width:480px){.comment-form-container{border-radius:8px;padding:1.25rem}.comment-form-container h5{margin-bottom:1.25rem;font-size:1.1rem}.comment-form-container h5:before{width:3px;height:18px}.guest-fields-container{gap:.875rem;padding:1rem}.guest-info-fields{gap:.75rem}.guest-info-fields .form-label{font-size:.75rem}#comment-form .form-control{border-radius:6px;padding:.625rem .875rem;font-size:.875rem}#comment-form textarea.form-control{min-height:100px;padding:.75rem}}@media (min-width:769px) and (max-width:1024px){.guest-info-fields{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.comment-form-container{border-radius:14px;padding:2.5rem}.comment-form-container h5{margin-bottom:2rem;font-size:1.5rem}.comment-form-container h5:before{width:4px;height:26px}.guest-fields-container{padding:1.75rem}.guest-info-fields{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}#comment-form textarea.form-control{min-height:140px}.comment-form-actions{margin-top:1.5rem;padding-top:1.5rem}}.captcha-wrapper{margin:0}.captcha-container{align-items:center;gap:var(--space-2,.5rem);padding:var(--space-2,.5rem);background:var(--color-bg-secondary,#f9fafb);border:1px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-md,.5rem);transition:var(--transition-base,.2s ease);display:inline-flex}.captcha-container:focus-within{border-color:var(--primary-color,#4f46e5);background:var(--color-bg-primary,#fff)}.captcha-image-wrapper{border:1px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-sm,.375rem);padding:var(--space-1,.25rem);flex-shrink:0;justify-content:center;align-items:center;width:150px;height:46px;min-height:46px;display:flex;overflow:hidden}.captcha-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;transition:opacity .3s;display:block}.btn-captcha-refresh{background:var(--gradient-primary,linear-gradient(135deg,#6366f1 0%,#4f46e5 100%));color:#fff;border-radius:var(--radius-sm,.375rem);cursor:pointer;transition:var(--transition-base,.2s ease);border:none;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:none!important}.btn-captcha-refresh:hover:not(:disabled){background:var(--primary-hover,#4338ca);box-shadow:var(--shadow-sm,0 1px 3px #0000001a)}.btn-captcha-refresh:active{opacity:.9}.btn-captcha-refresh:disabled{background:var(--color-gray-400,#9ca3af);cursor:not-allowed;opacity:.6}.btn-captcha-refresh svg{stroke:currentColor;width:16px;height:16px}.btn-captcha-refresh.loading svg{animation:1s linear infinite captcha-spin}.captcha-container #captcha-answer{width:110px;font-size:var(--font-size-sm,.875rem);text-align:center;font-weight:var(--font-weight-bold,700);text-transform:uppercase;letter-spacing:3px;border:1px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-sm,.375rem);background:var(--color-bg-primary,#fff);transition:var(--transition-base,.2s ease);flex-shrink:0;line-height:1.2}.captcha-container #captcha-answer::placeholder{font-size:var(--font-size-xs,.75rem);font-weight:var(--font-weight-normal,400);text-transform:none;letter-spacing:normal}.captcha-container #captcha-answer:focus{letter-spacing:4px;border-color:var(--primary-color,#4f46e5);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb,99,102,241),.1);outline:none}@keyframes captcha-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.captcha-container{gap:var(--space-2,.5rem);width:100%;padding:var(--space-2,.5rem);display:flex}.captcha-image-wrapper{width:130px;height:42px}.btn-captcha-refresh{width:36px;height:36px}.btn-captcha-refresh svg{width:14px;height:14px}.captcha-container #captcha-answer{width:85px;font-size:var(--font-size-xs,.75rem);letter-spacing:2px;height:36px}.captcha-container #captcha-answer:focus{letter-spacing:2.5px}.captcha-submit-row .btn-submit{height:36px}}@media (max-width:480px){.captcha-container{width:100%}.captcha-image-wrapper{flex:none;width:110px;height:38px}.btn-captcha-refresh{width:34px;height:34px}.btn-captcha-refresh svg{width:13px;height:13px}.captcha-container #captcha-answer{min-width:70px;height:34px;font-size:var(--font-size-xs,.75rem);letter-spacing:1.5px;flex:1}.captcha-container #captcha-answer:focus{letter-spacing:2px}.captcha-submit-row .btn-submit{font-size:var(--font-size-xs,.75rem);height:34px;padding:.5rem 1rem}}.comments-list{margin-top:2rem}.no-comments{text-align:center;color:#6c757d;padding:3rem 1rem}.no-comments i{color:#dee2e6;margin-bottom:1rem;display:block}.no-comments p{margin:0;font-size:1.05rem}.comments-pagination{justify-content:center;margin-top:2rem;display:flex}.comments-pagination nav{gap:.5rem;display:flex}.comments-pagination .pagination{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.comments-pagination .page-item{display:inline-block}.comments-pagination .page-link{color:#0d6efd;background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:.5rem .75rem;text-decoration:none;transition:all .2s;display:block}.comments-pagination .page-link:hover{background:#e7f3ff;border-color:#0d6efd}.comments-pagination .page-item.active .page-link{color:#fff;background:#0d6efd;border-color:#0d6efd}.comments-pagination .page-item.disabled .page-link{color:#6c757d;pointer-events:none;background:#f8f9fa}@media (max-width:768px){.comments-pagination .page-link{min-width:36px;height:36px;padding:0 var(--space-2,.5rem)}}.comment-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;gap:1rem;margin-bottom:1rem;padding:1.25rem;transition:all .2s;display:flex}.comment-item:hover{box-shadow:0 2px 12px #00000014}.comment-avatar{flex-shrink:0}.comment-avatar img,.comment-avatar .guest-avatar{object-fit:cover;border-radius:50%;width:48px;height:48px}.guest-avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.comment-content-wrapper{flex:1;min-width:0}.comment-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.comment-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.commenter-name{color:#212529;font-size:1rem;font-weight:600}.badge-guest{color:#6c757d;background:#f8f9fa;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.comment-date{color:#6c757d;font-size:.85rem}.comment-body{color:#495057;margin-bottom:.75rem;line-height:1.6}.comment-body p{white-space:pre-wrap;word-wrap:break-word;margin:0}.comment-actions{gap:.75rem;display:flex}.comment-actions button{color:#6c757d;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-family:inherit;font-size:.9rem;transition:all .2s;display:flex}.comment-actions button:hover{color:#0d6efd;background:#f1f3f5}.comment-actions .btn-delete:hover{color:#dc3545}.comment-actions button i{font-size:.85rem}.comment-item.comment-pending{background:#fff9e6;border-color:#ffc107}.badge-pending{color:#000;background:#ffc107;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.comment-pending-notice{color:#856404;background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.comment-pending-notice i{color:#ffc107}@media (max-width:768px){.comment-item{flex-direction:column;gap:.75rem;padding:1rem}.comment-avatar img,.comment-avatar .guest-avatar{width:40px;height:40px}.guest-avatar,.commenter-name{font-size:.95rem}.comment-date{font-size:.8rem}.comment-body{font-size:.95rem}.comment-actions{flex-wrap:wrap;gap:.5rem}.comment-actions button{font-size:.85rem}}.comment-replies{border-left:3px solid #e9ecef;margin-top:1rem;padding-left:2.5rem}.comment-reply{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:all .2s;display:flex}.comment-reply:hover{background:#fff;box-shadow:0 2px 8px #0000000f}.comment-reply .comment-avatar img,.comment-reply .guest-avatar{width:40px;height:40px}@media (max-width:768px){.comment-reply{flex-direction:column;gap:.75rem;padding:.875rem}.comment-reply .comment-avatar img,.comment-reply .guest-avatar{width:36px;height:36px}.comment-replies{border-left-width:2px;padding-left:1.5rem}.comment-replies .comment-replies{padding-left:1rem}}@media (max-width:480px){.comment-replies{padding-left:.875rem}.comment-replies .comment-replies{padding-left:.5rem}}.comment-alert{border-radius:10px;align-items:flex-start;gap:1rem;margin:1.25rem 0;padding:1.125rem 1.5rem;animation:.4s cubic-bezier(.4,0,.2,1) slideDownNoTransform;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #0000001f}.comment-alert:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.comment-alert-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;display:flex;box-shadow:0 2px 6px #00000026}.comment-alert-content{flex:1}.comment-alert-title{margin-bottom:.375rem;font-size:1rem;font-weight:700;line-height:1.3}.comment-alert-message{white-space:pre-line;opacity:.9;margin:0;font-size:.9rem;line-height:1.6}.comment-alert-close{cursor:pointer;opacity:.7;background:#0000000d;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .3s;display:flex}.comment-alert-close:hover{opacity:1;background:#0000001a}.comment-alert.alert-success{color:#155724;background:linear-gradient(135deg,#d4edda 0%,#e8f5e9 100%);border:2px solid #c3e6cb}.comment-alert.alert-success:before{background:linear-gradient(#28a745 0%,#20c997 100%)}.comment-alert.alert-success .comment-alert-icon{color:#fff;background:linear-gradient(135deg,#28a745 0%,#20c997 100%)}.comment-alert.alert-error{color:#721c24;background:linear-gradient(135deg,#f8d7da 0%,#ffe4e4 100%);border:2px solid #f5c6cb}.comment-alert.alert-error:before{background:linear-gradient(#dc3545 0%,#c82333 100%)}.comment-alert.alert-error .comment-alert-icon{color:#fff;background:linear-gradient(135deg,#dc3545 0%,#c82333 100%)}.comment-alert.alert-warning{color:#856404;background:linear-gradient(135deg,#fff3cd 0%,#fff8e1 100%);border:2px solid #ffeeba}.comment-alert.alert-warning:before{background:linear-gradient(#ffc107 0%,#ffb300 100%)}.comment-alert.alert-warning .comment-alert-icon{color:#000;background:linear-gradient(135deg,#ffc107 0%,#ffb300 100%)}.comment-alert.alert-info{color:#0c5460;background:linear-gradient(135deg,#d1ecf1 0%,#e1f5fe 100%);border:2px solid #bee5eb}.comment-alert.alert-info:before{background:linear-gradient(#17a2b8 0%,#0dcaf0 100%)}.comment-alert.alert-info .comment-alert-icon{color:#fff;background:linear-gradient(135deg,#17a2b8 0%,#0dcaf0 100%)}@keyframes slideDownNoTransform{0%{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:500px;margin-bottom:1.25rem;padding-top:1.125rem;padding-bottom:1.125rem}}.comment-alert.fade-out{animation:.3s ease-out forwards fadeOutNoTransform}@keyframes fadeOutNoTransform{0%{opacity:1;max-height:500px}to{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}}.comment-form-loading{pointer-events:none;opacity:.6;position:relative}.comment-form-loading:after{content:"";z-index:10;background:#ffffffe6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.comment-loading-spinner{z-index:11;border:4px solid #f3f3f3;border-top-color:#0d6efd;border-radius:50%;width:48px;height:48px;margin-top:-24px;margin-left:-24px;animation:1s linear infinite spinNoTransform;position:absolute;top:50%;left:50%}@keyframes spinNoTransform{0%{opacity:1}50%{opacity:.7;border-top-color:#0b5ed7}to{opacity:1}}@media (max-width:480px){.comment-alert{gap:.75rem;padding:1rem}.comment-alert-title{font-size:.9rem}.comment-alert-message{font-size:.85rem}}
