/* Yawnder design system v1.1.0. Change visual rules here; pages supply content. */
:root {
  --yw-primary:#004aad;
  --yw-primary-hover:#00367d;
  --yw-navy:#0a2540;
  --yw-ink:#0f172a;
  --yw-muted:#475569;
  --yw-surface:#fff;
  --yw-soft:#f4f7fc;
  --yw-border:#dbe4ef;
  --yw-font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --yw-font-heading:"Playfair Display","Playfair Fallback",Georgia,serif;
  --yw-text:17px;
  --yw-text-small:14px;
  --yw-button-text:15px;
  --yw-line:1.65;
  --yw-h1:clamp(32px,3.8vw,52px);
  --yw-h2:clamp(26px,2.5vw,34px);
  --yw-h3:clamp(21px,1.8vw,25px);
  --yw-content-width:1180px;
  --yw-reading-width:760px;
  --yw-radius:16px;
  --yw-button-radius:12px;
  --yw-space-1:8px;
  --yw-space-2:16px;
  --yw-space-3:24px;
  --yw-space-4:32px;
  --yw-space-section:40px;
  --yw-shadow:0 4px 18px rgba(10,37,64,.06);
  --yw-weight-regular:400;
  --yw-weight-strong:700;
  --yw-success:#166534;
  --yw-success-soft:#f0fdf4;
  --yw-warning:#854d0e;
  --yw-warning-soft:#fffbeb;
  --yw-danger:#991b1b;
  --yw-danger-soft:#fef2f2;
}
.yw-ds,.yw-ds *,.yw-ds *::before,.yw-ds *::after{box-sizing:border-box}
.yw-ds{width:100%;max-width:var(--yw-content-width);min-width:0;margin-inline:auto;color:var(--yw-ink);font:400 var(--yw-text)/var(--yw-line) var(--yw-font-body)}
.yw-ds [id]{scroll-margin-top:110px}
.yw-ds p{margin:0 0 var(--yw-space-2)}
.yw-ds :is(h2,h3,h4){font-family:var(--yw-font-heading);font-weight:700;line-height:1.2;text-wrap:balance}
.yw-ds h2{font-size:var(--yw-h2);color:var(--yw-primary);margin:var(--yw-space-section) 0 var(--yw-space-2)}
.yw-ds h3{font-size:var(--yw-h3);color:var(--yw-navy);margin:var(--yw-space-3) 0 var(--yw-space-2)}
.yw-ds h4{font-size:20px;color:var(--yw-navy)}
.yw-ds a{color:var(--yw-primary);text-underline-offset:3px}
.yw-ds a:hover{color:var(--yw-primary-hover)}
.yw-ds img,.yw-ds video{max-width:100%;height:auto}
.yw-ds figure{max-width:100%;margin:var(--yw-space-3) 0}
.yw-ds figcaption{font-size:var(--yw-text-small);color:var(--yw-muted);line-height:1.5;margin-top:var(--yw-space-1)}
.yw-ds iframe{max-width:100%}
.yw-ds :is(pre,code){overflow-wrap:anywhere}
.yw-ds ul,.yw-ds ol{padding-inline-start:24px;margin:0 0 var(--yw-space-3)}
.yw-ds li+li{margin-top:var(--yw-space-1)}
.yw-ds .yw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--yw-space-3);align-items:stretch}
.yw-ds .yw-card,.yw-ds .yw-callout,.yw-ds .yw-verdict{background:var(--yw-surface);color:var(--yw-ink);border:1px solid var(--yw-border);border-radius:var(--yw-radius);padding:var(--yw-space-3);box-shadow:var(--yw-shadow);min-width:0}
.yw-ds .yw-callout,.yw-ds .yw-verdict{background:var(--yw-soft);border-left:4px solid var(--yw-primary)}
.yw-ds :is(.yw-card,.yw-callout,.yw-verdict)>:first-child{margin-top:0}
.yw-ds :is(.yw-card,.yw-callout,.yw-verdict)>:last-child{margin-bottom:0}
.yw-ds .yw-eyebrow{font:700 12px/1.4 var(--yw-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--yw-muted);margin:0 0 var(--yw-space-1)}
.yw-ds .yw-badge{display:inline-flex;align-items:center;gap:6px;background:var(--yw-soft);color:var(--yw-navy);border:1px solid var(--yw-border);padding:5px 10px;border-radius:999px;font:700 12px/1.4 var(--yw-font-body)}
.yw-ds .yw-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--yw-space-3)}
.yw-ds .yw-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 20px;background:var(--yw-primary);color:var(--yw-surface);border:1px solid var(--yw-primary);border-radius:var(--yw-button-radius);font:700 15px/1.35 var(--yw-font-body);text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.yw-ds .yw-button:hover{background:var(--yw-primary-hover);border-color:var(--yw-primary-hover);color:var(--yw-surface)}
.yw-ds .yw-button--secondary{background:var(--yw-surface);color:var(--yw-primary)}
.yw-ds .yw-button--secondary:hover{background:var(--yw-soft);color:var(--yw-primary-hover)}
.yw-ds :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--yw-primary);outline-offset:3px}
.yw-ds .yw-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--yw-border);border-radius:var(--yw-radius)}
.yw-ds table{width:100%;max-width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.yw-ds th,.yw-ds td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--yw-border);overflow-wrap:anywhere}
.yw-ds thead th{background:var(--yw-navy);color:var(--yw-surface);font-weight:700}
.yw-ds tbody tr:nth-child(even){background:var(--yw-soft)}
.yw-ds .yw-thumbnail{width:96px;max-width:100%;height:72px;object-fit:contain;object-position:center;border-radius:8px;background:var(--yw-surface)}
.yw-ds details{border:1px solid var(--yw-border);border-radius:var(--yw-radius);padding:16px 20px;margin:12px 0;background:var(--yw-surface)}
.yw-ds summary{color:var(--yw-navy);font-weight:700;cursor:pointer;min-height:24px}
.yw-ds details[open]>summary{margin-bottom:12px}
.yw-ds .yw-surface--dark{background:var(--yw-navy);color:var(--yw-surface)}
.yw-ds .yw-surface--dark :is(h2,h3,h4,p,li){color:var(--yw-surface)}
.yw-ds .yw-surface--dark a:not(.yw-button){color:var(--yw-surface)}

/* Compatibility adapters. These alone override the older inline styling. */
html body.yw-design-system .yw-ds,
html body.yw-design-system :is(.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub){
  --blue:var(--yw-primary)!important;--accent:var(--yw-primary)!important;
  --navy:var(--yw-navy)!important;--ink:var(--yw-ink)!important;
  --inkSoft:var(--yw-muted)!important;--muted:var(--yw-muted)!important;
  --line:var(--yw-border)!important;--border:var(--yw-border)!important;
  color:var(--yw-ink);font-family:var(--yw-font-body);line-height:var(--yw-line)
}
html body.yw-design-system :is(.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub){max-width:var(--yw-content-width)!important;width:100%;min-width:0}
html body.yw-design-system .yw-ds h1{font-family:var(--yw-font-heading)!important;font-size:var(--yw-h1)!important;line-height:1.2!important;font-weight:700!important;color:var(--yw-primary)!important}
html body.yw-design-system .yw-ds :is(h1,h2,h3,h4){-webkit-text-fill-color:currentColor!important}
html body.yw-design-system :is(.yw-ds,.yw-review-main,.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub) h2{font-family:var(--yw-font-heading)!important;font-size:var(--yw-h2)!important;line-height:1.2!important;font-weight:700!important;color:var(--yw-primary)!important;margin-top:var(--yw-space-section);margin-bottom:var(--yw-space-2)}
html body.yw-design-system :is(.yw-ds,.yw-review-main,.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub) h3{font-family:var(--yw-font-heading)!important;font-size:var(--yw-h3)!important;line-height:1.25!important;font-weight:700!important;color:var(--yw-navy)!important}
html body.yw-design-system :is(.yw-ds,.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub) :is(.card,.verdict,.hero,.callout,.note,.cf-hero,.cf-card,.cf-note,.yr-card,.yr-hero,.yr-note,.yr-callout,.yr-verdict,.yw-card,.yw-callout,.yw-verdict),
html body.yw-design-system :is(.yw-review-decision,.yw-review-fit,.yw-review-alt-card,.yawnder-compare-cta,.yawnder-floor-cta,.yw-cmp-tx-card){
  background:var(--yw-surface)!important;background-image:none!important;color:var(--yw-ink)!important;
  border:1px solid var(--yw-border)!important;border-radius:var(--yw-radius)!important;
  box-shadow:var(--yw-shadow)!important;min-width:0;max-width:100%
}
html body.yw-design-system :is(.yw-review-decision,.yw-review-fit,.yawnder-compare-cta,.yawnder-floor-cta),
html body.yw-design-system .yw-ds :is(.hero,.verdict,.callout,.note,.cf-hero,.cf-note,.yr-hero,.yr-note,.yr-callout,.yr-verdict,.yw-callout,.yw-verdict){background:var(--yw-soft)!important;padding:var(--yw-space-3)!important}
html body.yw-design-system .yw-ds :is(.card,.verdict,.hero,.callout,.note,.cf-hero,.cf-card,.cf-note,.yr-card,.yr-hero,.yr-note,.yr-callout,.yw-card,.yw-callout,.yw-verdict) :is(p,li,small){color:var(--yw-ink)!important}
html body.yw-design-system .yw-ds :is(.pill,.badge,.chip,.tag,.cf-label,.yr-chip,.yr-badge,.yw-badge){background:var(--yw-soft)!important;color:var(--yw-navy)!important;border-color:var(--yw-border)!important;font-family:var(--yw-font-body)!important}
html body.yw-design-system .yw-ds :is(.pill,.badge,.chip,.tag,.cf-label,.yr-chip,.yr-badge,.yw-badge) :is(span,strong,b,small){color:inherit!important;-webkit-text-fill-color:currentColor!important}
html body.yw-design-system .yw-review-fact{background:var(--yw-surface)!important;border:1px solid var(--yw-border)!important;border-radius:12px!important;color:var(--yw-ink)!important}
html body.yw-design-system .yw-review-score{background:var(--yw-primary)!important;color:var(--yw-surface)!important;border-radius:var(--yw-button-radius)!important}
html body.yw-design-system .yw-review-score :is(span,strong){color:var(--yw-surface)!important}
html body.yw-design-system :is(.yw-review-shell){display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;max-width:var(--yw-content-width);margin-inline:auto;align-items:start}
html body.yw-design-system :is(.yw-review-main,.yw-review-alt-card__body){min-width:0}
html body.yw-design-system .yw-review-quicknav{background:var(--yw-surface);border:1px solid var(--yw-border);border-radius:var(--yw-radius);padding:16px;position:sticky;top:100px;align-self:start}
html body.yw-design-system .yw-review-quicknav nav{display:flex;flex-direction:column;gap:8px}
html body.yw-design-system .yw-review-quicknav a{color:var(--yw-muted);min-height:32px;padding:6px 4px;font:600 14px/1.4 var(--yw-font-body)}
html body.yw-design-system .yw-review-quicknav a:hover{color:var(--yw-primary)}
html body.yw-design-system :is(.yw-ds,.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub) a:is(.btn,.button,.cta,.cf-btn,.yr-button,.yw-button,[style*="display:inline-block"][style*="background"],[style*="display: inline-block"][style*="background"]),
html body.yw-design-system :is(.yw-review-actions,.yw-review-fit,.yw-review-alt-card__actions,.yw-cmp-tx-actions) a,
html body.yw-design-system a:is(.yw-cmp-tx-btn,.yawnder-btn,.yr-button),
html body.yw-design-system .yawnder-compare-cta a:is(.primary,.secondary,.btn),
html body.yw-design-system .yawnder-floor-cta a{
  display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;
  padding:12px 20px!important;background:var(--yw-primary)!important;color:var(--yw-surface)!important;
  -webkit-text-fill-color:var(--yw-surface)!important;border:1px solid var(--yw-primary)!important;
  border-radius:var(--yw-button-radius)!important;font:700 15px/1.35 var(--yw-font-body)!important;
  text-align:center;text-decoration:none!important;white-space:normal;overflow-wrap:anywhere
}
html body.yw-design-system :is(.yw-ds,.yw-format-2026,.yawnder-rv,.yw-comf,#pillow-review-hub) a:is(.btn,.button,.cta,.cf-btn,.yr-button,.yw-button,[style*="display:inline-block"][style*="background"],[style*="display: inline-block"][style*="background"]):hover,
html body.yw-design-system :is(.yw-review-actions,.yw-review-fit,.yw-review-alt-card__actions,.yw-cmp-tx-actions) a:hover,
html body.yw-design-system a:is(.yw-cmp-tx-btn,.yawnder-btn,.yr-button):hover,
html body.yw-design-system .yawnder-compare-cta a:is(.primary,.secondary,.btn):hover,
html body.yw-design-system .yawnder-floor-cta a:hover{background:var(--yw-primary-hover)!important;border-color:var(--yw-primary-hover)!important;color:var(--yw-surface)!important;-webkit-text-fill-color:var(--yw-surface)!important}
html body.yw-design-system .yw-ds a.yw-button--secondary{background:var(--yw-surface)!important;color:var(--yw-primary)!important;-webkit-text-fill-color:var(--yw-primary)!important}
html body.yw-design-system .yw-ds a.yw-button--secondary:hover{background:var(--yw-soft)!important;color:var(--yw-primary-hover)!important;-webkit-text-fill-color:var(--yw-primary-hover)!important}
html body.yw-design-system :is(.yw-ds,.yw-review-main) a:focus-visible{outline:3px solid var(--yw-primary)!important;outline-offset:3px}
html body.yw-design-system .yw-ds table{max-width:100%;border-collapse:collapse;border-color:var(--yw-border)!important;font-family:var(--yw-font-body);font-size:15px;line-height:1.5}
html body.yw-design-system .yw-ds :is(th,td){border-color:var(--yw-border)!important;padding:14px 16px!important}
html body.yw-design-system :is(.yw-ds,.yw-comf,#pillow-review-hub) thead :is(th,td){background:var(--yw-navy)!important;color:var(--yw-surface)!important;-webkit-text-fill-color:var(--yw-surface)!important}
html body.yw-design-system :is(.yw-ds,.yw-comf,#pillow-review-hub) thead :is(th,td) :is(span,strong,b,a){color:var(--yw-surface)!important;-webkit-text-fill-color:var(--yw-surface)!important}
html body.yw-design-system .yw-ds tbody tr:nth-child(even){background:var(--yw-soft)!important}
html body.yw-design-system .yw-ds tbody td{color:var(--yw-ink)!important}
html body.yw-design-system .yw-ds :is(.cf-table-wrap,.yr-table-wrap,.table-wrap,.table-scroll,.yawnder-lab-scroll){overflow-x:auto;max-width:100%;border-color:var(--yw-border);border-radius:var(--yw-radius)}
html body.yw-design-system .yw-ds details{background:var(--yw-surface)!important;color:var(--yw-ink)!important;border:1px solid var(--yw-border)!important;border-radius:var(--yw-radius)!important}
html body.yw-design-system .yw-ds details summary{color:var(--yw-navy)!important;min-height:24px;cursor:pointer}
html body.yw-design-system .yw-ds .yw-surface--dark{background:var(--yw-navy)!important;color:var(--yw-surface)!important}
html body.yw-design-system .yw-ds .yw-surface--dark :is(h2,h3,h4,p,li){color:var(--yw-surface)!important}
html body.yw-design-system.woocommerce.single-product .product :is(.single_add_to_cart_button,a.button:not(.checkout-button)),
html body.yw-design-system.woocommerce :is(.single_add_to_cart_button,a.button:not(.checkout-button)),
html body.yw-design-system .woocommerce :is(.single_add_to_cart_button,a.button:not(.checkout-button)){background:var(--yw-primary)!important;color:var(--yw-surface)!important;border-radius:var(--yw-button-radius)!important;min-height:44px;font-family:var(--yw-font-body)!important}
html body.yw-design-system.woocommerce.single-product .product :is(.single_add_to_cart_button,a.button:not(.checkout-button)):hover,
html body.yw-design-system.woocommerce :is(.single_add_to_cart_button,a.button:not(.checkout-button)):hover,
html body.yw-design-system .woocommerce :is(.single_add_to_cart_button,a.button:not(.checkout-button)):hover{background:var(--yw-primary-hover)!important;color:var(--yw-surface)!important}

@media(max-width:959px){
  html body.yw-design-system .yw-review-shell{display:block!important}
  html body.yw-design-system .yw-review-quicknav{display:none!important}
}
@media(max-width:767px){
  :root{--yw-text:16px;--yw-space-section:32px;--yw-space-3:20px}
  .yw-ds{width:100%;min-width:0}
  .yw-ds .yw-actions{flex-direction:column;align-items:stretch}
  .yw-ds .yw-actions .yw-button{width:100%}
  .yw-ds .yw-table-wrap table{min-width:600px}
  html body.yw-design-system .yw-ds table:not(.yw-responsive-table){display:block;overflow-x:auto}
  html body.yw-design-system .yw-review-actions{display:flex!important;flex-direction:column!important;gap:12px!important}
  html body.yw-design-system .yw-review-actions a{width:100%!important}
  html body.yw-design-system .yw-review-decision__grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.yw-ds *{scroll-behavior:auto!important;transition:none!important}}

/* The older review directory uses a grid list, not a bulleted article list. */
html body.yw-design-system .yawnder-reviews-page .ymr-list{padding-inline-start:0!important}
html body.yw-design-system .yawnder-reviews-page .ymr-item{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:767px){
  html body.yw-design-system .yawnder-reviews-page .yr-section{padding:var(--yw-space-2)!important}
  html body.yw-design-system .yawnder-reviews-page .ymr-list{grid-template-columns:minmax(0,1fr)!important}
}

/* Dark shared surfaces retain readable heading contrast. */
html body.yw-design-system .yw-ds :is(.yw-surface--dark,.yw-rh-hero) :is(h1,h2,h3,h4){color:var(--yw-surface)!important}
