.sieco-category-reviews { border-top: 1px solid var(--cz-border-color, #ddd); padding-top: 1.5rem; }
.sieco-category-reviews__list { list-style: none; padding: 0; margin: 0; }
.sieco-category-reviews__list > li { padding: 1rem 0; border-bottom: 1px solid var(--cz-border-color, #ddd); overflow-wrap: anywhere; }
.sieco-category-reviews__list time { margin-left: .75rem; font-size: .8125rem; color: var(--cz-secondary-color, #666); }
.sieco-category-reviews__stars { color: #9b6c00; font-size: 1.25rem; letter-spacing: .125rem; }
[data-bs-theme="dark"] .sieco-category-reviews__stars { color: #ffcf40; }
.sieco-category-reviews__photo { display: block; width: auto; max-width: min(100%, 180px); max-height: 150px; object-fit: contain; margin: .5rem 0; border-radius: .5rem; }
.sieco-category-reviews__form { max-width: 850px; }
.sieco-category-reviews__form > label, .sieco-category-reviews__grid label { display: block; min-width: 0; font-size: .875rem; }
.sieco-category-reviews__form :is(input, select, textarea) { margin-top: .375rem; }
.sieco-category-reviews__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem; }
.sieco-category-reviews__rating { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1rem 0; }
.sieco-category-reviews__rating legend { float: none; width: 100%; font-size: .875rem; margin: 0; }
.sieco-category-reviews__rating label { position: relative; cursor: pointer; }
.sieco-category-reviews__rating input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sieco-category-reviews__rating span { display: inline-block; padding: .375rem .625rem; border: 1px solid var(--cz-border-color, #ccc); border-radius: .375rem; color: var(--cz-body-color, #222); font-size: .875rem; }
.sieco-category-reviews__rating input:checked + span { background: #ffcf40; color: #3b2a00; border-color: #967000; }
.sieco-category-reviews__rating input:focus-visible + span { outline: 2px solid var(--bep-main); outline-offset: 2px; }
.sieco-category-reviews__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sieco-category-reviews__form [role="status"] { overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
    .sieco-category-reviews__grid { grid-template-columns: 1fr; }
    .sieco-category-reviews__form :is(input, select, textarea) { font-size: 16px; }
    .sieco-category-reviews__form > button { width: 100%; }
}
.sieco-category-reviews__replies { list-style: none; margin: 1rem 0 0; padding-left: 1rem; border-left: 2px solid var(--cz-border-color, #ddd); }
.sieco-category-reviews__replies > li { padding: .75rem; margin-bottom: .5rem; border-radius: .5rem; background: var(--cz-tertiary-bg, #f5f7fa); overflow-wrap: anywhere; }
.sieco-category-reviews .sieco-category-reviews__staff { display: inline-block; padding: .125rem .375rem; border-radius: .25rem; background: var(--bep-main); color: var(--bep-main-on, #fff); font-size: .75rem; }
.sieco-category-reviews__reply-content p { margin: .5rem 0 0; }
@media (max-width: 575.98px) { .sieco-category-reviews__replies { padding-left: .5rem; } }
.sieco-category-reviews .sieco-category-reviews__avatar { display: inline-block; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; margin: 0 .625rem .375rem 0; vertical-align: middle; }
.sieco-category-reviews .sieco-category-reviews__initials { display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .875rem; font-weight: 700; line-height: 1; letter-spacing: 0; }

.sieco-category-reviews__photos { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.sieco-category-reviews__photos:empty { display: none; }
.sieco-category-reviews__photos .sieco-category-reviews__photo {max-width: 180px; height: 130px; object-fit: contain; margin: 0; }
.sieco-category-reviews [data-review-time] { display: inline-block; line-height: 1.5; }
@media (max-width: 575.98px) { .sieco-category-reviews__photos .sieco-category-reviews__photo { height: 100px; } }
/* Review summary and independent filtering/pagination. */
#category-reviews { scroll-margin-top: 120px; }
.sieco-category-reviews__overview { display: grid; grid-template-columns: 170px minmax(0,1fr); align-items: center; gap: 1.25rem; padding: 1.25rem; margin-bottom: 1rem; border: 1px solid var(--cz-border-color,#ddd); border-radius: .75rem; background: var(--cz-tertiary-bg,#f8f9fa); }
.sieco-category-reviews__score { text-align: center; font-size: .875rem; }
.sieco-category-reviews__score > strong { font-size: 2.25rem; color: var(--bep-main); line-height: 1.2; }
.sieco-category-reviews__score small { display: block; margin-top: .25rem; }
.sieco-category-reviews__score-stars { display: inline-block; font-size: 1.5rem; letter-spacing: 2px; background: linear-gradient(90deg,#a86b00 var(--review-score),#aeb6c2 var(--review-score)); background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sieco-category-reviews__filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.sieco-category-reviews .sieco-category-reviews__filter { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; min-height: 44px; padding: .5rem .875rem; border: 1px solid var(--cz-border-color,#ccd1d8); border-radius: .375rem; background: var(--cz-body-bg,#fff); color: var(--cz-body-color,#222); font-size: .875rem; text-decoration: none; }
.sieco-category-reviews__filter span { font-size: inherit; }
.sieco-category-reviews .sieco-category-reviews__filter:hover, .sieco-category-reviews .sieco-category-reviews__filter.is-active { border-color: var(--bep-main); color: var(--bep-main); }
.sieco-category-reviews .sieco-category-reviews__filter.is-active { box-shadow: inset 0 0 0 1px var(--bep-main); font-weight: 600; }
.sieco-category-reviews__filter:focus-visible, .sieco-category-reviews__pagination a:focus-visible { outline: 2px solid var(--bep-main); outline-offset: 3px; }
.sieco-category-reviews__results { font-size: .875rem; color: var(--cz-secondary-color,#666); }
.sieco-category-reviews__pagination { margin: 1.5rem 0; }
.sieco-category-reviews__pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: .375rem; list-style: none; padding: 0; margin: 0; }
.sieco-category-reviews__pagination a.page-numbers, .sieco-category-reviews__pagination span.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .375rem; border-radius: .375rem; color: var(--cz-body-color,#222); text-decoration: none; font-size: .875rem; }
.sieco-category-reviews__pagination .page-numbers.current { background: var(--bep-main); color: var(--bep-main-on,#fff); }
.sieco-category-reviews__pagination a:hover { background: var(--cz-tertiary-bg,#f0f2f5); }
@media (max-width: 575.98px) {
    .sieco-category-reviews__overview { grid-template-columns: minmax(0,1fr); gap: .875rem; padding: 1rem .75rem; }
    .sieco-category-reviews__filters { gap: .375rem; }
    .sieco-category-reviews .sieco-category-reviews__filter { flex: 1 0 auto; padding-inline: .625rem; font-size: .8125rem; }
}
/* Category review modal and progressively expandable review/reply content. */
#sieco-category-review-modal .sieco-category-reviews__form { max-width:none; margin:0; }
.sieco-category-reviews__actions { display:flex; justify-content:flex-end; gap:.75rem; flex-wrap:wrap; margin-top:1rem; }
.sieco-category-reviews__actions .btn { min-height:44px; }
.sieco-cr-expand { margin:.5rem 0; line-height:1.6; overflow-wrap:anywhere; }
.sieco-cr-expand [hidden] { display:none !important; }
.sieco-cr-toggle { display:inline; padding:0; margin:0 0 0 .25rem; border:0; background:none; color:var(--bep-main); font:inherit; font-weight:500; text-decoration:underline; cursor:pointer; }
.sieco-cr-toggle:hover { text-decoration:none; }
.sieco-cr-toggle:focus-visible { outline:2px solid var(--bep-main); outline-offset:3px; }
.sieco-cr-content { overflow-wrap:anywhere; }
@media(max-width:575.98px) { #sieco-category-review-modal .modal-dialog { margin:.5rem; } .sieco-category-reviews__actions { gap:.5rem; } }

/* Review content guidance and character counter, including narrow modal widths. */
.sieco-category-reviews__content-help { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.25rem .75rem; margin-top:.375rem; color:var(--cz-secondary-color,#666); font-size:.8125rem; }
.sieco-category-reviews__content-help small { font-size:inherit; }
[data-review-content-count] { margin-left:auto; white-space:nowrap; font-variant-numeric:tabular-nums; }
[data-review-content-count][hidden] { display:none !important; }
[data-review-content-count].is-at-limit { color:var(--cz-body-color,#222); font-weight:700; }

/* Loading feedback for AJAX review filters/pagination; never covers the whole page. */
.sieco-category-reviews [data-review-results][aria-busy="true"] .sieco-category-reviews__list { opacity:.45; pointer-events:none; }
.sieco-category-reviews .sieco-category-reviews__filter.is-loading,
.sieco-category-reviews .sieco-category-reviews__pagination a.is-loading { position:relative; border-color:var(--bep-main); color:var(--bep-main); }
.sieco-category-reviews .sieco-category-reviews__filter.is-loading > span { opacity:0; }
.sieco-category-reviews__filter.is-loading::after,
.sieco-category-reviews__pagination a.is-loading::after { content:""; position:absolute; right:.5rem; top:calc(50% - 7px); width:14px; height:14px; border:2px solid var(--cz-border-color,#ddd); border-top-color:var(--bep-main); border-radius:50%; animation:sieco-review-filter-spin .7s linear infinite; }
@keyframes sieco-review-filter-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .sieco-category-reviews__filter.is-loading::after, .sieco-category-reviews__pagination a.is-loading::after { animation:none; } }

/* Hide, without resetting, the chat widget while the review modal covers the page. */
body.sieco-review-modal-open .pl-chat.pl-chat-container,
body:has(#sieco-category-review-modal.show) .pl-chat.pl-chat-container {
    visibility:hidden !important;
    pointer-events:none !important;
}

/* Review video popup: player exists only after a visitor clicks the video link. */
.sieco-review-video-modal [data-review-video-player]:not(:empty) { aspect-ratio:16/9; min-height:200px; background:#000; border-radius:.5rem; overflow:hidden; }
.sieco-review-video-modal [data-review-video-player].is-portrait { aspect-ratio:9/16; width:min(100%,360px,36.5625vh); margin-inline:auto; }
.sieco-review-video-modal iframe, .sieco-review-video-modal video { display:block; width:100%; height:100%; border:0; object-fit:contain; }
.sieco-review-video-modal .modal-footer { justify-content:flex-end; gap:.5rem; }
.sieco-review-video-modal .modal-footer .btn { min-height:44px; }

/* Keep review pagination horizontal even under WooCommerce list styles. */
#category-reviews .sieco-category-reviews__pagination ul.page-numbers { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:.375rem; list-style:none; padding:0; margin:0; }
#category-reviews .sieco-category-reviews__pagination ul.page-numbers > li { display:block; float:none; width:auto; border:0; margin:0; padding:0; }

.sieco-category-reviews .sieco-category-reviews__remember{display:flex;align-items:flex-start;gap:.5rem;margin-top:1rem;font-size:.875rem}
.sieco-category-reviews .sieco-category-reviews__remember input{flex:0 0 auto;margin-top:.25rem}
.sieco-category-reviews .sieco-category-reviews__reply-button{min-height:44px}
.sieco-category-reviews__form [hidden]{display:none!important}
/* Review popup entry tabs: optional sign-in and the default guest comment form. */
#sieco-category-review-modal .sieco-review-entry-tabs .nav-link { width:100%; min-height:44px; color:var(--cz-secondary-color,#666); }
#sieco-category-review-modal .sieco-review-entry-tabs .nav-link.active { color:var(--bep-main); border-bottom:3px solid currentColor; font-weight:600; }
#sieco-category-review-modal .sieco-review-entry-tabs [hidden], #sieco-category-review-modal [data-rn-login][hidden], #sieco-category-review-modal [data-review-guest-note][hidden] { display:none !important; }
#sieco-category-review-modal .sieco-category-reviews__form { padding:0; }
#sieco-category-review-modal .sieco-review-login-panel [data-rn-login-link] { min-height:44px; max-width:100%; }

/* Account login matches the existing customer login fields; hide tabs for authenticated users. */
#sieco-category-review-modal .sieco-review-entry-tabs[hidden] { display:none !important; }
.sieco-review-auth-divider { display:flex; align-items:center; gap:1rem; margin:.5rem 0 1.5rem; color:var(--cz-secondary-color,#666); font-size:.875rem; }
.sieco-review-auth-divider::before, .sieco-review-auth-divider::after { content:""; flex:1; height:1px; background:var(--cz-border-color,#ddd); }
.sieco-review-account-login { max-width:440px; margin:0 auto; }
@media(max-width:575.98px) { .sieco-review-account-login input { font-size:16px; } }

/* Quick guest replies: keep remembered contacts in the form without asking again. */
.sieco-category-reviews__reply-identity { display:flex; flex-wrap:wrap; align-items:baseline; gap:.25rem; margin:0 0 1rem; padding:.75rem; border-radius:.5rem; background:var(--cz-tertiary-bg,#f5f7fa); font-size:.875rem; overflow-wrap:anywhere; }
.sieco-category-reviews__reply-identity .btn { font-size:inherit; text-decoration:underline; }
.sieco-category-reviews__reply-identity[hidden], .sieco-category-reviews__grid > label[hidden], .sieco-category-reviews__remember[hidden] { display:none !important; }
