/* Focus reviews only. Keep the original theme's layout on other pages. */
.mfp #mfp-reviews { --wd-star-color:var(--mfp-soft); --wd-empty-star-color:#71849d; }
.mfp #mfp-reviews:focus { outline:0; }
.mfp #mfp-reviews:focus-visible { outline:1px solid #516743; outline-offset:8px; border-radius:2px; }
.mfp #mfp-reviews .mfp-detail-content { padding-bottom:0; }
.mfp #mfp-reviews #reviews { display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; margin:0; }
.mfp #mfp-reviews #reviews > :is(div,p) { flex:none; width:100%; min-width:0; padding-inline:0; }
.mfp #mfp-reviews #reviews > .mfp-review-overview { order:0; }
.mfp #mfp-reviews #reviews > .wd-rating-summary-wrap { order:1; }
.mfp #mfp-reviews #reviews > #comments { order:2; }
.mfp #mfp-reviews #reviews > #review_form_wrapper,
.mfp #mfp-reviews #reviews > .woocommerce-verification-required { order:3; }

/* One compact score row, not another large product heading. */
.mfp #mfp-reviews .mfp-review-overview { display:flex; align-items:center; gap:18px; padding-bottom:20px; border-bottom:1px solid var(--mfp-line); }
.mfp #mfp-reviews .mfp-review-score { display:flex; align-items:baseline; flex-shrink:0; gap:5px; padding-right:20px; border-right:1px solid var(--mfp-line); line-height:1; }
.mfp #mfp-reviews .mfp-review-score strong { color:#f4f6fa; font-size:34px; font-weight:600; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.mfp #mfp-reviews .mfp-review-score > span { font-size:13px; color:var(--mfp-muted); }
.mfp #mfp-reviews .mfp-review-overview-copy { min-width:0; }
.mfp #mfp-reviews .mfp-review-overview h2 { margin:0 0 6px; font-size:15px; line-height:1.5; letter-spacing:0; }
.mfp #mfp-reviews .mfp-review-rating-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; color:var(--mfp-muted); font-size:12px; line-height:1.5; }
.mfp #mfp-reviews .mfp-review-rating-line .star-rating { margin:0; font-size:13px; flex-shrink:0; }
.mfp #mfp-reviews .mfp-review-empty-icon { display:grid; place-items:center; width:42px; height:42px; color:var(--mfp-soft); border:1px solid var(--mfp-line); border-radius:50%; flex-shrink:0; }
.mfp #mfp-reviews .mfp-review-empty-icon .mfp-icon { width:20px; height:20px; }
.mfp #mfp-reviews .mfp-review-write,
.mfp #mfp-reviews .mfp-review-login { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 14px; border:1px solid #405442; border-radius:7px; background:#b6f18209; color:var(--mfp-soft); font-size:12px; font-weight:500; line-height:1.5; text-decoration:none; text-align:center; }
.mfp #mfp-reviews .mfp-review-write { margin-left:auto; flex-shrink:0; }
.mfp #mfp-reviews :is(.mfp-review-write,.mfp-review-login):hover { background:#b6f18216; border-color:#8aac68; color:#d5f5b7; }
.mfp #mfp-reviews :is(a,input,textarea,select):focus-visible { outline:2px solid var(--mfp-soft); outline-offset:4px; }

/* Two-column review cards retain the native comments and pagination. */
.mfp #mfp-reviews .woocommerce-Reviews-title { display:none; }
.mfp #mfp-reviews .wd-reviews-heading { margin:16px 0; }
.mfp #mfp-reviews .wd-reviews-heading:not(:has(.wd-reviews-filters)):not(:has(.wd-reviews-sorting-clear:not(.wd-hide))) { display:none; }
.mfp #mfp-reviews .commentlist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:14px; list-style:none; margin:22px 0 0; padding:0; }
.mfp #mfp-reviews .commentlist > li { width:100%; min-width:0; padding:18px; margin:0; border:1px solid #29384c; border-radius:10px; background:#142032; }
.mfp #mfp-reviews .comment_container { margin:0; padding:0; border:0; gap:14px; }
.mfp #mfp-reviews .commentlist .avatar { width:36px; height:36px; max-width:36px; margin:0; }
.mfp #mfp-reviews .comment-text { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:14px 10px; min-width:0; margin:0; padding:0; border:0; }
.mfp #mfp-reviews .comment-text > .meta { grid-column:1; grid-row:1; display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:0; line-height:1.6; overflow-wrap:anywhere; }
.mfp #mfp-reviews .woocommerce-review__author { font-size:13px; font-weight:600; color:#eef2f8; }
.mfp #mfp-reviews .woocommerce-review__dash { display:none; }
.mfp #mfp-reviews .woocommerce-review__published-date { flex-basis:100%; margin:0; color:var(--mfp-muted); font-size:11px; }
.mfp #mfp-reviews .woocommerce-review__verified { color:var(--mfp-soft); font-size:11px; }
.mfp #mfp-reviews .comment-text > :is(.star-rating,.wd-star-ratings) { grid-column:2; grid-row:1; margin:4px 0 0; font-size:11px; }
.mfp #mfp-reviews .comment-text > :is(.description,.wd-review-arguments,.wd-review-likes,.comment-awaiting-approval) { grid-column:1/-1; }
.mfp #mfp-reviews .description { color:#b8c6d7; font-size:13px; line-height:1.8; max-width:78ch; overflow-wrap:anywhere; }
.mfp #mfp-reviews .description p { margin:0 0 10px; }
.mfp #mfp-reviews .description p:last-child { margin:0; }
.mfp #mfp-reviews .commentlist .children { margin:15px 0 0 20px; padding:15px 0 0; }
.mfp #mfp-reviews .woocommerce-noreviews { margin:0; padding:22px 0; font-size:13px; color:var(--mfp-muted); }
.mfp #mfp-reviews .wd-reviews-content .commentlist { opacity:1; }

/* One review composer: a compact rating toolbar and writing area share a frame. */
.mfp #mfp-reviews #review_form_wrapper { position:static; margin:24px 0 0; padding:24px 0 0; border-top:1px solid var(--mfp-line); background:none; scroll-margin-top:120px; }
.mfp #mfp-reviews :is(#review_form,#respond) { margin:0; padding:0; background:none; border:0; }
.mfp #mfp-reviews #respond { display:block; }
.mfp #mfp-reviews .comment-reply-title { display:block; margin:0; padding:0; font-size:15px; font-weight:600; color:#eef2f8; line-height:1.5; }
.mfp #mfp-reviews .mfp-review-form-caption { margin:5px 0 18px; font-size:12px; color:var(--mfp-muted); line-height:1.7; }
.mfp #mfp-reviews .comment-form { display:flex; flex-wrap:wrap; gap:16px; margin:0; }
.mfp #mfp-reviews .comment-form > :is(p,div) { padding-inline:0; margin:0; flex-basis:100%; min-width:0; }
.mfp #mfp-reviews .mfp-review-composer { border:1px solid #34465d; border-radius:10px; background:#131f30; transition:border-color .15s; }
.mfp #mfp-reviews .mfp-review-composer:focus-within { border-color:#85a96b; }
.mfp #mfp-reviews .comment-form > :is(.comment-form-author,.comment-form-email) { flex:1 1 calc(50% - 8px); }
.mfp #mfp-reviews .comment-form label { margin:0 0 8px; color:#b8c6d7; font-size:12px; font-weight:500; line-height:1.5; }
.mfp #mfp-reviews .required { color:var(--mfp-soft); }
.mfp #mfp-reviews .comment-form .comment-form-rating { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:6px 14px; margin:0; padding:10px 16px; min-height:50px; border:0; border-bottom:1px solid #29384c; border-radius:9px 9px 0 0; background:#182537; }
.mfp #mfp-reviews .comment-form-rating label { margin:0; }
.mfp #mfp-reviews .comment-form-rating label:after { content:none; }
.mfp #mfp-reviews .comment-form .stars { margin:0; line-height:1; }
.mfp #mfp-reviews .comment-form .stars span { gap:2px; }
.mfp #mfp-reviews .comment-form .stars a { display:grid; place-items:center; width:30px; height:30px; border-radius:6px; }
.mfp #mfp-reviews .comment-form .stars a:hover { background:#b6f1820c; }
.mfp #mfp-reviews .comment-form .stars a:before { font-size:20px; }
.mfp #mfp-reviews .comment-form :is(input[type=text],input[type=email],input[type=url],textarea,select) { width:100%; border:1px solid #34465d; border-radius:8px; padding:11px 13px; background:#131f30; color:#edf3fa; box-shadow:none; font:inherit; font-size:13px; line-height:1.65; }
.mfp #mfp-reviews .comment-form :is(input,textarea)::placeholder { color:#8195ac; opacity:1; }
.mfp #mfp-reviews .mfp-review-composer .comment-form-comment { margin:0; padding:0; }
/* Preserve the native, associated textarea label for assistive technology. */
.mfp #mfp-reviews .mfp-review-composer label[for=comment] { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.mfp #mfp-reviews .comment-form .mfp-review-composer textarea { display:block; min-height:120px; height:120px; padding:15px 16px; border:0; border-radius:0 0 9px 9px; background:transparent; resize:vertical; }
.mfp #mfp-reviews .comment-form .mfp-review-composer textarea:focus { outline:0; box-shadow:none; }
.mfp #mfp-reviews .comment-form-rating select { width:auto; min-width:140px; }
.mfp #mfp-reviews .comment-form :is(input[type=text],input[type=email],input[type=url]) { height:42px; }
.mfp #mfp-reviews .comment-form .comment-form-cookies-consent { display:flex; align-items:flex-start; gap:8px; font-size:12px; }
.mfp #mfp-reviews .comment-form-cookies-consent label { margin:0; }
.mfp #mfp-reviews .comment-form .submit { width:auto; min-width:144px; min-height:42px; padding:10px 22px; margin:0; border:0; border-radius:8px; background:var(--mfp-soft); color:#15210d; font:inherit; font-size:13px; font-weight:600; text-transform:none; box-shadow:none; }
.mfp #mfp-reviews .comment-form .submit:hover { background:#9bfa5b; }
.mfp #mfp-reviews .comment-form .submit:disabled { opacity:.6; cursor:not-allowed; }
/* Keep the native security widget intact, next to the submit control. The old
   inline host stretched across the form and its <br> added another empty row. */
.mfp #mfp-reviews .comment-form .form-submit { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:12px 18px; width:100%; }
.mfp #mfp-reviews .form-submit > .cf-turnstile-comments { display:block; width:300px; flex:0 0 300px; margin:0 auto 0 0; text-align:left; line-height:1; }
.mfp #mfp-reviews .form-submit > .cf-turnstile-br-comments { display:none; }
.mfp #mfp-reviews .form-submit > .cf-turnstile-comment { display:inline-flex; align-items:center; margin-left:auto; }
.mfp #mfp-reviews .form-submit > .cfturnstile-widget-label { flex-basis:100%; }
.mfp #mfp-reviews .mfp-review-security-status { flex-basis:100%; margin:0; padding-left:10px; border-left:2px solid #796a47; color:#c9b98f; font-size:12px; line-height:1.6; }
.mfp #mfp-reviews .must-log-in { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; color:var(--mfp-muted); font-size:13px; line-height:1.7; margin:0; }
.mfp #mfp-reviews .must-log-in > span { flex:1 1 240px; }
.mfp #mfp-reviews .woocommerce-verification-required { padding-top:20px; border-top:1px solid var(--mfp-line); color:var(--mfp-muted); font-size:13px; }

@media(max-width:680px) {
 .mfp #mfp-reviews .mfp-review-overview { gap:14px; flex-wrap:wrap; padding-bottom:18px; }
 .mfp #mfp-reviews .mfp-review-score { padding-right:14px; }
 .mfp #mfp-reviews .mfp-review-score strong { font-size:32px; }
 .mfp #mfp-reviews .mfp-review-write { flex-basis:100%; margin:2px 0 0; }
 .mfp #mfp-reviews .mfp-review-rating-line { gap:6px 10px; }
 .mfp #mfp-reviews .commentlist { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:18px; }
 .mfp #mfp-reviews .comment-text { gap:12px 10px; }
 .mfp #mfp-reviews .commentlist > li { padding:16px; }
 .mfp #mfp-reviews .comment-form > :is(.comment-form-author,.comment-form-email) { flex-basis:100%; }
 .mfp #mfp-reviews .mfp-review-login { min-height:40px; }
 .mfp #mfp-reviews #review_form_wrapper { padding-top:20px; }
 .mfp #mfp-reviews .comment-form .comment-form-rating { padding:9px 12px; gap:6px 10px; }
 .mfp #mfp-reviews .comment-form .mfp-review-composer textarea { padding:13px; }
 .mfp #mfp-reviews :is(.mfp-review-write,.mfp-review-login) { min-height:44px; }
 .mfp #mfp-reviews .comment-form :is(input[type=text],input[type=email],input[type=url],textarea,select) { font-size:16px; }
 .mfp #mfp-reviews .comment-form :is(input[type=text],input[type=email],input[type=url]) { height:46px; }
 .mfp #mfp-reviews .comment-form .stars a { width:44px; height:44px; }
 .mfp #mfp-reviews .comment-form .submit { min-height:46px; }
}
@media(max-width:540px) {
 .mfp #mfp-reviews .comment-form .form-submit { justify-content:flex-start; gap:12px; }
 .mfp #mfp-reviews .form-submit > .cf-turnstile-comment { margin-left:0; }
}
/* Keep the 300px native challenge centered inside the available page width,
   including browsers with a scrollbar, without clipping or scaling its UI. */
@media(max-width:347px) {
 .mfp #mfp-reviews .form-submit > .cf-turnstile-comments { margin-inline:min(0px,calc((100% - 300px)/2)); }
}
