:root{
  --ink:#122019;--ink-2:#26372f;--paper:#fffefb;--soft:#f4f1e9;--soft-2:#faf9f5;
  --gold:#9b6b2f;--gold-soft:#efe3d1;--muted:#69756e;--line:#e3e6e1;--max:1180px;
  --shadow:0 18px 50px rgba(18,32,25,.07);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}.site-main{min-height:55vh}.mss-container{width:min(calc(100% - 48px),var(--max));margin:0 auto}.kicker{display:inline-block;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.19em;text-transform:uppercase}.theme-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:850;transition:.18s ease}.theme-btn-dark{background:var(--ink);color:#fff}.theme-btn-dark:hover{background:#26372f}.theme-btn-light{background:#fff;border:1px solid var(--line);color:var(--ink)}.theme-btn-light:hover{border-color:#bfc6c0;background:#fafbf9}.theme-btn-wide{width:100%;min-height:52px;font-size:13px}.text-arrow{font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid transparent}.text-arrow:hover{border-color:currentColor}
.site-header{position:relative;z-index:100;background:var(--paper);border-bottom:1px solid rgba(227,230,225,.9)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:34px}.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:18px;white-space:nowrap}.site-brand strong{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:Georgia,serif;font-weight:800}.primary-nav{margin-left:auto}.mss-nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}.mss-nav-list a{text-decoration:none;font-size:12px;color:#28372f}.mss-nav-list a:hover{color:var(--gold)}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px;font-size:20px}
.home-hero{background:linear-gradient(120deg,#f4f1e8 0%,#f7f5ef 58%,#f1ede3 100%);padding:72px 0 76px;border-bottom:1px solid #ede9df}.home-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}.home-hero-copy h1,.selection-hero h1,.page-hero h1,.product-copy h1,.section h2,.home-transparency h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em}.home-hero-copy h1{font-size:clamp(54px,6.3vw,88px);line-height:.96;margin:16px 0 22px;max-width:800px}.home-hero-copy>p{font-size:18px;line-height:1.68;color:#4d5a53;max-width:670px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:36px;padding-top:23px;border-top:1px solid rgba(18,32,25,.10)}.hero-proof span{font-size:11px;color:#68736d}.hero-proof strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:22px;line-height:1}.home-hero-feature{min-width:0}.hero-product-card{background:#fff;border:1px solid rgba(18,32,25,.08);border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(18,32,25,.10)}.hero-product-media{position:relative;min-height:410px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#f5f3ed)}.hero-product-media .mss-remote-media{min-height:410px}.hero-product-media .mss-remote-product-image{height:410px!important;padding:32px!important}.hero-score{position:absolute;right:22px;top:22px;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:22px;font-weight:900;box-shadow:0 12px 30px rgba(18,32,25,.18)}.hero-score small{font-size:9px;margin-top:-18px}.hero-product-body{padding:24px 28px 28px}.hero-product-body h2{font-family:Georgia,serif;font-size:29px;line-height:1.15;margin:8px 0 14px}.hero-product-body a{font-size:12px;font-weight:800;text-decoration:none}.hero-editorial-card{background:#fff;border-radius:28px;padding:34px;border:1px solid rgba(18,32,25,.08);box-shadow:var(--shadow)}.hero-editorial-card h2{font-family:Georgia,serif;font-size:42px;line-height:1.05;margin:12px 0}.hero-editorial-card p{color:var(--muted);line-height:1.65}.hero-editorial-card ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.hero-editorial-card li:before{content:"✓";margin-right:9px;color:var(--gold);font-weight:900}
.section{padding:86px 0}.category-section{background:#fff}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-title-row h2,.section-head h2{font-size:clamp(38px,4.5vw,58px);line-height:1.04;margin:10px 0}.section-title-row p,.section-head p{color:var(--muted);font-size:15px;line-height:1.65;max-width:680px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category-card{min-height:140px;border:1px solid var(--line);border-radius:20px;background:#fff;padding:22px;text-decoration:none;display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:start;transition:.2s ease}.category-card:hover{border-color:#c7cdc7;transform:translateY(-2px);box-shadow:0 15px 36px rgba(18,32,25,.06)}.category-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--soft);color:var(--gold);font-size:19px}.category-card strong{font-family:Georgia,serif;font-size:20px;display:block;margin:2px 0 6px}.category-card span:not(.category-icon){font-size:12px;line-height:1.55;color:var(--muted)}.category-card b{font-size:18px;font-weight:500;color:#9aa39e}.picks-section{background:#fbfaf7;border-top:1px solid #f0eee8;border-bottom:1px solid #f0eee8}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}.method-section{background:#fff}.method-section>.mss-container{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.method-intro{position:sticky;top:120px}.method-intro h2{font-size:58px;line-height:1.02;margin:12px 0 20px}.method-intro p{color:var(--muted);font-size:16px;line-height:1.7}.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.method-grid article{min-height:205px;padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#faf9f5)}.method-grid article>span{color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.12em}.method-grid h3{font-family:Georgia,serif;font-size:26px;margin:25px 0 10px}.method-grid p{font-size:13px;line-height:1.65;color:var(--muted)}.home-transparency{background:var(--ink);color:#fff;padding:74px 0}.home-transparency-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.home-transparency h2{font-size:58px;line-height:.98;margin:12px 0}.home-transparency-grid>div:last-child{border-left:1px solid rgba(255,255,255,.18);padding-left:42px}.home-transparency p{color:#d5ddd8;line-height:1.75;font-size:15px}.home-transparency a{color:#fff;font-weight:800;font-size:12px;text-decoration:none}
.page-hero{padding:72px 0 46px;background:var(--soft);border-bottom:1px solid #ebe7dc}.page-hero h1{font-size:clamp(48px,5vw,72px);margin:10px 0}.content-narrow{max-width:880px}.content-narrow>h1:first-child{display:none}.prose{font-size:17px;line-height:1.78;color:#34423a}.prose h2{font-family:Georgia,serif;font-size:38px;color:var(--ink);margin-top:52px}.prose h3{font-family:Georgia,serif;font-size:27px;color:var(--ink);margin-top:38px}.prose img{border-radius:20px}
.selection-hero{padding:72px 0 58px;background:linear-gradient(120deg,#f3f0e7,#f8f6f0);border-bottom:1px solid #ebe7dd}.selection-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.selection-hero h1{font-size:clamp(58px,6.4vw,90px);line-height:.95;margin:16px 0 22px}.selection-hero p{max-width:680px;color:#526058;font-size:17px;line-height:1.72}.selection-trust-card{justify-self:end;width:min(100%,390px);background:rgba(255,255,255,.8);backdrop-filter:blur(8px);padding:26px;border:1px solid rgba(18,32,25,.08);border-radius:22px;box-shadow:0 18px 44px rgba(18,32,25,.05)}.selection-trust-card>span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:900}.selection-trust-card>strong{font-family:Georgia,serif;font-size:27px;display:block;margin:9px 0 14px}.selection-trust-card ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:#56635c;font-size:12px}.selection-trust-card li:before{content:"✓";color:var(--gold);margin-right:8px}.selection-catalog{padding:66px 0 90px}.selection-toolbar{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:24px}.selection-count{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:900}.selection-toolbar h2{font-family:Georgia,serif;font-size:38px;margin:7px 0 0}.selection-toolbar>p{max-width:390px;text-align:right;color:var(--muted);font-size:12px;line-height:1.6}.selection-category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;padding-bottom:25px;border-bottom:1px solid var(--line)}.selection-category-nav a{padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;font-size:12px}.selection-category-nav a:hover{border-color:#b9c1bb}.selection-category-nav a.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.selection-products-shell{min-height:260px}.selection-method-strip{background:#f7f5ef;border-top:1px solid #ebe8df;padding:44px 0}.selection-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.selection-method-grid>div{display:grid;grid-template-columns:36px 1fr;column-gap:13px}.selection-method-grid span{grid-row:1/3;color:var(--gold);font-weight:900;font-size:11px}.selection-method-grid strong{font-family:Georgia,serif;font-size:20px}.selection-method-grid p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.product-breadcrumb{padding:16px 0;border-bottom:1px solid var(--line);background:#fff}.product-breadcrumb .mss-container{display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;font-size:10px;color:#818a84}.product-breadcrumb a{text-decoration:none}.product-breadcrumb strong{overflow:hidden;text-overflow:ellipsis;color:#4f5c55}.product-hero{padding:58px 0 74px;background:#fff}.product-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:start}.product-gallery-panel{min-width:0}.product-gallery-main-v27{position:relative;min-height:565px;background:linear-gradient(145deg,#faf9f5,#f2efe6);border:1px solid #ebe8df;border-radius:28px;display:grid;place-items:center;padding:28px;overflow:hidden}.product-gallery-main-v27 .mss-remote-media{min-height:505px}.product-gallery-main-v27 .mss-remote-product-image{height:505px!important;width:100%;object-fit:contain;padding:8px!important;background:transparent!important}.product-gallery-main-v27 .mss-product-visual{min-height:505px;border-radius:20px}.product-badge{position:absolute;left:20px;top:20px;z-index:4;background:var(--ink);color:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.product-score{position:absolute;right:20px;top:20px;width:76px;height:76px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:0 12px 28px rgba(18,32,25,.15);z-index:4}.product-score strong{font-size:24px}.product-score small{font-size:9px;margin-top:-20px;color:var(--muted)}.mss-product-gallery{display:grid;gap:12px}.mss-gallery-meta{display:flex;justify-content:space-between;gap:20px;padding:4px 2px 0;font-size:10px;color:var(--muted)}.mss-gallery-meta strong{font-size:11px;color:var(--ink)}.mss-product-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 9px;scrollbar-width:thin}.mss-gallery-thumb{flex:0 0 67px;width:67px;height:67px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:5px;cursor:pointer}.mss-gallery-thumb.is-active{border-color:var(--ink);box-shadow:0 5px 14px rgba(18,32,25,.12)}.mss-gallery-thumb img{width:100%;height:100%;object-fit:contain}.product-copy-v27{padding-top:18px}.product-category-line{display:flex;align-items:center;gap:8px;color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.product-category-line i{width:3px;height:3px;border-radius:50%;background:#c2af90}.product-copy h1{font-size:clamp(42px,4vw,64px);line-height:1.02;margin:13px 0 18px}.product-excerpt{font-size:17px;line-height:1.7;color:#56635c}.product-score-summary{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-score-summary>div span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.product-score-summary>div strong{font-family:Georgia,serif;font-size:25px}.product-score-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.best-for{border-left:3px solid var(--gold);padding:10px 0 10px 14px;margin:20px 0}.best-for span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--gold);font-weight:900}.best-for strong{display:block;margin-top:4px;font-size:14px;line-height:1.5}.product-trust-row{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.product-trust-row span{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:7px 9px;background:#fff;color:#536058}.product-commerce-box{margin-top:20px;padding:20px;background:#f8f7f3;border:1px solid #ece9e0;border-radius:20px}.theme-price{font-family:Georgia,serif;font-size:30px;font-weight:800}.theme-price-note,.theme-availability,.product-data-source{font-size:10px;color:#747e78;line-height:1.55}.product-cta-stack{display:grid;gap:7px}.product-data-source{margin-top:14px}.product-unavailable{padding:15px;border-radius:14px;background:#f5eee7;display:grid;gap:3px}.product-unavailable span{font-size:11px;color:var(--muted)}.product-content-grid{display:grid;grid-template-columns:1.55fr .75fr;gap:60px}.product-detail-section{background:#fbfaf7;border-top:1px solid #f0ede6}.product-editorial-copy{max-width:760px}.product-sidebar{position:sticky;top:102px}.info-box{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px;margin-bottom:14px}.info-label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:900}.info-box h3{font-family:Georgia,serif;font-size:23px;margin:6px 0 12px}.info-box ul{padding-left:18px;margin-bottom:0}.info-box li{font-size:13px;line-height:1.6;color:#4f5c55;margin:5px 0}.score-breakdown-section{background:var(--soft)}.score-breakdown-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.score-metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.score-metric>div{display:flex;justify-content:space-between;gap:8px}.score-metric strong{font-size:12px}.score-metric span{color:var(--gold);font-size:11px;font-weight:900}.score-metric i{display:block;height:6px;border-radius:999px;background:#eceeea;margin-top:12px;overflow:hidden}.score-metric b{display:block;height:100%;background:var(--ink);border-radius:999px}.verdict-box{margin-top:22px;background:var(--ink);color:#fff;border-radius:20px;padding:28px;max-width:880px}.verdict-box p{color:#d8e0db;font-size:16px;line-height:1.65}.related-products{background:#fff}.mobile-sticky-buy{display:none}
.site-footer{background:#101713;color:#eef2ef;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:60px}.footer-brand{color:#fff}.site-footer p{color:#aeb8b1;font-size:13px;line-height:1.65}.site-footer h3{font-size:14px}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.site-footer a{text-decoration:none}.footer-bottom{border-top:1px solid #2c3730;margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:30px;font-size:11px}.footer-bottom p:last-child{max-width:730px;text-align:right}.post-list-item{padding:26px 0;border-bottom:1px solid var(--line)}
@media(max-width:1000px){.home-hero-grid,.selection-hero-grid,.product-hero-grid,.product-content-grid,.home-transparency-grid,.method-section>.mss-container{grid-template-columns:1fr}.home-hero-feature{max-width:690px}.category-grid{grid-template-columns:repeat(2,1fr)}.method-intro{position:static}.score-breakdown-grid{grid-template-columns:repeat(2,1fr)}.product-sidebar{position:static}.home-transparency-grid{gap:30px}.home-transparency-grid>div:last-child{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:28px 0 0}.selection-trust-card{justify-self:start}.product-gallery-main-v27{min-height:470px}.product-gallery-main-v27 .mss-remote-media{min-height:410px}.product-gallery-main-v27 .mss-remote-product-image{height:410px!important}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:820px){.primary-nav{display:none;position:absolute;left:0;right:0;top:77px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 24px}.primary-nav.is-open{display:block}.mss-nav-list{flex-direction:column;align-items:flex-start}.nav-toggle{display:block}.section-head,.section-title-row,.selection-toolbar{align-items:flex-start;flex-direction:column}.selection-toolbar>p{text-align:left}.home-hero-copy h1{font-size:58px}.home-transparency h2,.method-intro h2{font-size:48px}}
@media(max-width:620px){.mss-container{width:min(calc(100% - 28px),var(--max))}.header-inner{height:70px}.primary-nav{top:69px}.home-hero{padding:52px 0}.home-hero-grid{gap:40px}.home-hero-copy h1{font-size:46px}.home-hero-copy>p{font-size:16px}.hero-actions{display:grid}.hero-proof{gap:17px}.hero-product-media,.hero-product-media .mss-remote-media{min-height:300px}.hero-product-media .mss-remote-product-image{height:300px!important}.section{padding:60px 0}.category-grid,.method-grid,.selection-method-grid,.score-breakdown-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.selection-hero{padding:52px 0 40px}.selection-hero h1{font-size:52px}.selection-catalog{padding:44px 0 62px}.selection-toolbar h2{font-size:31px}.selection-category-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:16px}.selection-category-nav a{white-space:nowrap}.product-hero{padding:32px 0 52px}.product-hero-grid{gap:34px}.product-gallery-main-v27{min-height:330px;padding:15px;border-radius:20px}.product-gallery-main-v27 .mss-remote-media{min-height:290px}.product-gallery-main-v27 .mss-remote-product-image{height:290px!important}.product-score{width:64px;height:64px}.product-copy h1{font-size:39px}.product-score-summary{grid-template-columns:1fr}.product-content-grid{gap:30px}.mss-gallery-meta{display:grid;gap:3px}.footer-bottom{flex-direction:column}.footer-bottom p:last-child{text-align:left}.mobile-sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(18,32,25,.12);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-sticky-buy>div{min-width:0;display:grid}.mobile-sticky-buy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.mobile-sticky-buy span{font-size:10px;color:var(--gold);font-weight:900}.mobile-sticky-buy .theme-btn{padding:9px 13px;font-size:11px;white-space:nowrap}body.single-mss_product,body.single-product{padding-bottom:78px}}


/* =========================================================
   2.7.3 — Professional typography + high-quality image viewer
   ========================================================= */
:root{--max:1240px}
body{font-size:15px;line-height:1.6}
.home-hero-copy h1,.selection-hero h1,.page-hero h1,.product-copy h1,.section h2,.home-transparency h2{letter-spacing:-.025em}
.home-hero-copy h1{font-size:clamp(42px,4.4vw,64px);line-height:1.02;max-width:720px}
.home-hero-copy>p{font-size:16px;line-height:1.62;max-width:640px}
.section{padding:72px 0}
.section-title-row h2,.section-head h2{font-size:clamp(30px,3vw,42px);line-height:1.12}
.section-title-row p,.section-head p{font-size:14px}
.selection-hero{padding:58px 0 50px}
.selection-hero h1{font-size:clamp(42px,4.7vw,62px);line-height:1.03;margin:12px 0 16px}
.selection-hero p{font-size:15px;line-height:1.65}
.selection-trust-card>strong{font-size:22px}
.selection-catalog{padding:54px 0 78px}
.selection-toolbar h2{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:27px;font-weight:740;letter-spacing:-.02em}
.category-card strong{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:17px;font-weight:730}
.method-intro h2{font-size:clamp(34px,3.5vw,46px)}
.method-grid h3{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:20px;font-weight:730}
.home-transparency h2{font-size:clamp(36px,3.5vw,48px)}
.hero-product-body h2{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:22px;font-weight:740;letter-spacing:-.018em}
.hero-editorial-card h2{font-size:34px}
.page-hero h1{font-size:clamp(38px,4vw,54px)}
.prose{font-size:15.5px;line-height:1.72}
.prose h2{font-size:30px}.prose h3{font-size:22px}
.product-hero{padding:46px 0 68px}
.product-hero-grid{gap:54px;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
.product-copy h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:760;letter-spacing:-.028em;line-height:1.12;margin:11px 0 15px}
.product-excerpt{font-size:15px;line-height:1.65}
.product-score-summary>div strong{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:22px}
.product-gallery-main-v27{min-height:540px;padding:22px;cursor:default}
.product-gallery-main-v27 .mss-remote-media{min-height:496px}
.product-gallery-main-v27 .mss-remote-product-image{height:496px!important;padding:6px!important;image-rendering:auto;transform:none!important}
.product-gallery-main-v27 .product-image-amazon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.product-gallery-zoom{position:absolute;z-index:7;right:18px;bottom:18px;border:1px solid rgba(18,32,25,.12);background:rgba(255,255,255,.94);color:var(--ink);border-radius:999px;min-height:40px;padding:8px 14px;font-size:11px;font-weight:750;cursor:pointer;box-shadow:0 7px 18px rgba(18,32,25,.10);backdrop-filter:blur(8px)}
.product-gallery-zoom:hover{background:#fff;border-color:#aab3ad}
.mss-gallery-meta{font-size:10px}
.mss-product-gallery-thumbs{gap:9px;padding-bottom:10px}
.mss-gallery-thumb{flex-basis:72px;width:72px;height:72px;border-radius:10px}
.mss-gallery-thumb img{image-rendering:auto}
.info-box h3{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:18px;font-weight:740}
.score-breakdown-grid{gap:10px}
.score-metric{border-radius:13px;padding:15px}

/* Lightbox: remote Amazon images stay remote, only the viewer is local. */
.mss-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(9,14,11,.92);padding:24px}
.mss-lightbox.is-open{display:flex}
.mss-lightbox-stage{position:relative;width:min(96vw,1500px);height:min(92vh,980px);display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain}
.mss-lightbox-image{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;image-rendering:auto;transition:transform .18s ease;transform-origin:center center;cursor:zoom-in}
.mss-lightbox-image.is-zoomed{transform:scale(1.65);cursor:zoom-out}
.mss-lightbox-close,.mss-lightbox-prev,.mss-lightbox-next{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(10px);cursor:pointer}
.mss-lightbox-close{right:18px;top:18px;width:46px;height:46px;border-radius:50%;font-size:24px}
.mss-lightbox-prev,.mss-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:58px;border-radius:14px;font-size:28px}
.mss-lightbox-prev{left:16px}.mss-lightbox-next{right:16px}
.mss-lightbox-counter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.38);border-radius:999px;padding:7px 11px;font-size:11px;letter-spacing:.04em}
body.mss-lightbox-open{overflow:hidden}

@media(max-width:1000px){.product-hero-grid{gap:38px}.product-gallery-main-v27{min-height:470px}.product-gallery-main-v27 .mss-remote-media{min-height:426px}.product-gallery-main-v27 .mss-remote-product-image{height:426px!important}}
@media(max-width:620px){body{font-size:14px}.home-hero-copy h1{font-size:40px}.selection-hero h1{font-size:40px}.section{padding:52px 0}.product-copy h1{font-size:28px}.product-excerpt{font-size:14px}.product-gallery-main-v27{min-height:350px;padding:12px}.product-gallery-main-v27 .mss-remote-media{min-height:318px}.product-gallery-main-v27 .mss-remote-product-image{height:318px!important}.product-gallery-zoom{right:11px;bottom:11px;min-height:38px;padding:7px 11px}.mss-gallery-thumb{flex-basis:62px;width:62px;height:62px}.mss-lightbox{padding:8px}.mss-lightbox-stage{width:100%;height:94vh}.mss-lightbox-image{max-height:86vh}.mss-lightbox-image.is-zoomed{transform:scale(1.35)}.mss-lightbox-prev,.mss-lightbox-next{width:42px;height:52px}.mss-lightbox-prev{left:6px}.mss-lightbox-next{right:6px}}

/* =========================================================
   2.7.5 — Professional single-product typography + mobile layout fix
   The 2.7.3 desktop override was declared after the <=1000px grid rule,
   accidentally restoring a two-column hero on phones/tablets. 2.7.5
   makes responsive rules authoritative and reduces headline scale.
   ========================================================= */
.product-hero-grid{
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  gap:48px;
}
.product-copy-v27{padding-top:10px;min-width:0}
.product-copy h1{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:clamp(28px,2.45vw,38px);
  line-height:1.17;
  font-weight:720;
  letter-spacing:-.022em;
  margin:9px 0 14px;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.product-category-line{font-size:9px;letter-spacing:.13em}
.product-excerpt{font-size:14.5px;line-height:1.62;color:#56635c;max-width:660px}
.product-score-summary{margin:20px 0;padding:16px 0}
.best-for{margin:17px 0}
.product-trust-row{margin:15px 0}
.product-commerce-box{margin-top:17px}

/* Never let product titles look like display-poster typography. */
body.single-mss_product,body.single-product .product-copy h1{max-width:720px}

@media(max-width:1000px){
  .product-hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:30px;
  }
  .product-copy-v27{padding-top:0;max-width:820px}
  .product-copy h1{font-size:clamp(27px,4vw,34px);max-width:760px}
  .product-gallery-panel{max-width:760px;width:100%;margin:0 auto}
}

@media(max-width:620px){
  .product-breadcrumb{padding:12px 0}
  .product-breadcrumb .mss-container{font-size:9px;gap:6px}
  .product-hero{padding:24px 0 44px}
  .product-hero-grid{gap:24px !important}
  .product-copy-v27{padding:0 2px}
  .product-category-line{font-size:8.5px;letter-spacing:.115em}
  .product-copy h1,
  body.single-mss_product,body.single-product .product-copy h1{
    font-size:24px !important;
    line-height:1.2;
    font-weight:710;
    letter-spacing:-.018em;
    margin:8px 0 11px;
    max-width:none;
    text-wrap:pretty;
  }
  .product-excerpt{font-size:13.5px;line-height:1.58}
  .product-gallery-main-v27{min-height:330px;padding:11px;border-radius:18px}
  .product-gallery-main-v27 .mss-remote-media{min-height:306px}
  .product-gallery-main-v27 .mss-remote-product-image{height:306px!important}
  .product-score{width:60px;height:60px;right:14px;top:14px}
  .product-score strong{font-size:21px}
  .product-score small{font-size:8px}
  .product-gallery-zoom{font-size:10px}
  .mss-gallery-meta{font-size:9.5px}
  .product-score-summary{margin:16px 0;padding:14px 0;gap:10px}
  .product-score-summary>div strong{font-size:20px}
  .product-score-summary p{font-size:11.5px}
  .best-for strong{font-size:13px}
  .product-trust-row span{font-size:9.5px;padding:6px 8px}
  .product-commerce-box{padding:16px;border-radius:16px}
  .theme-price{font-size:25px}
}

@media(max-width:390px){
  .product-copy h1,
  body.single-mss_product,body.single-product .product-copy h1{font-size:22px !important;line-height:1.21}
  .product-gallery-main-v27{min-height:300px}
  .product-gallery-main-v27 .mss-remote-media{min-height:278px}
  .product-gallery-main-v27 .mss-remote-product-image{height:278px!important}
}


/* MyShoppy Select Theme 2.8.1 - native WordPress hierarchical dropdown
 * Desktop navigation belongs to the Theme. The Core only provides menu data/taxonomies.
 */
.mss-nav-list > li{position:relative}
.mss-nav-list .sub-menu{list-style:none;margin:0;padding:10px 0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px rgba(18,32,25,.14)}
.mss-nav-list .sub-menu li{position:relative;margin:0;padding:0}
.mss-nav-list .sub-menu a{display:block;padding:10px 16px;white-space:nowrap;font-size:12px;line-height:1.35;color:#28372f}
.mss-nav-list .sub-menu a:hover,.mss-nav-list .sub-menu a:focus{background:var(--soft);color:var(--gold);outline:none}
.mss-nav-list > .menu-item-has-children > a::after{content:"⌄";display:inline-block;margin-left:6px;font-size:10px;line-height:1;transform:translateY(-1px)}

@media(min-width:821px){
  .mss-nav-list > li > .sub-menu{
    position:absolute;
    left:-14px;
    top:calc(100% - 1px);
    z-index:1000;
    display:block;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
  }
  /* Hover/focus opens the dropdown. No click-to-toggle JavaScript is used on desktop. */
  .mss-nav-list > li.menu-item-has-children:hover > .sub-menu,
  .mss-nav-list > li.menu-item-has-children:focus-within > .sub-menu{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  /* Invisible hover bridge prevents the submenu closing while the pointer travels downward. */
  .mss-nav-list > li.menu-item-has-children::after{
    content:"";
    position:absolute;
    left:-14px;
    right:-14px;
    top:100%;
    height:12px;
  }
}

@media(max-width:820px){
  .mss-nav-list{width:100%;gap:4px}
  .mss-nav-list > li{width:100%}
  .mss-nav-list > li > a{display:block;width:100%;padding:8px 0}
  .mss-nav-list .sub-menu{position:static;display:block;visibility:visible;opacity:1;pointer-events:auto;transform:none;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:2px 0 6px 8px;padding:2px 0 2px 12px;min-width:0;background:transparent}
  .mss-nav-list .sub-menu a{padding:7px 8px;white-space:normal}
  .mss-nav-list > .menu-item-has-children > a::after{content:""}
}


/* 3.1.0 — global product search / demand signal */
.mss-product-search-shell{position:relative;z-index:80;background:#fbfaf6;border-bottom:1px solid var(--line)}
.mss-product-search-shell>.mss-container{position:relative;padding-top:10px;padding-bottom:10px}
.mss-product-search{display:flex;align-items:center;gap:10px;max-width:820px;margin:0 auto;background:#fff;border:1px solid #dfe5df;border-radius:999px;padding:6px 7px 6px 16px;box-shadow:0 8px 24px rgba(25,43,34,.05)}
.mss-search-icon{font-size:21px;color:#66736c;line-height:1}
.mss-product-search input{flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font-size:14px;padding:9px 2px;color:#15271f}
.mss-product-search input::placeholder{color:#8a948f}
.mss-product-search button{border:0;border-radius:999px;background:#0c2a20;color:#fff;font-weight:760;padding:11px 22px;cursor:pointer;white-space:nowrap}
.mss-product-search button:disabled{opacity:.65;cursor:wait}
.mss-product-search-panel{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% - 3px);width:min(820px,calc(100% - 36px));background:#fff;border:1px solid #dfe5df;border-radius:18px;box-shadow:0 24px 60px rgba(18,32,25,.16);padding:14px;z-index:1000}
.mss-search-panel-head{padding:4px 5px 10px;color:#26382f;font-size:13px}
.mss-search-results{display:grid;gap:7px}
.mss-search-result{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:12px;text-decoration:none;color:#172a21}
.mss-search-result:hover{background:#f5f5ef}
.mss-search-result img{width:58px;height:58px;object-fit:contain;background:#f8f8f4;border-radius:9px}
.mss-search-result-copy{display:grid;gap:3px;min-width:0}
.mss-search-result-copy strong{font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mss-search-result-copy span{font-size:10px;color:#7c867f;text-transform:uppercase;letter-spacing:.06em}
.mss-search-result>b{font-size:18px}
.mss-search-message,.mss-search-demand-note{margin:0;padding:7px 5px;font-size:12px;line-height:1.5;color:#55645c}
.mss-search-demand-note{border-top:1px solid #eef0ec;margin-top:4px;padding-top:10px}
.mss-search-message.is-error{color:#9c2d2d}.mss-search-message.is-warning{color:#8a6415}
@media(max-width:620px){
  .mss-product-search-shell>.mss-container{padding-top:8px;padding-bottom:8px}
  .mss-product-search{padding-left:12px;gap:7px}
  .mss-product-search input{font-size:13px}
  .mss-product-search button{padding:10px 15px;font-size:12px}
  .mss-search-icon{font-size:18px}
  .mss-product-search-panel{width:calc(100% - 24px);border-radius:15px;padding:10px}
  .mss-search-result{grid-template-columns:48px 1fr auto;gap:9px}
  .mss-search-result img{width:48px;height:48px}
}


/* =========================================================
   3.2.0 — Premium Editorial Commerce
   ========================================================= */
.home-hero-v32{padding:64px 0 70px;background:radial-gradient(circle at 85% 20%,rgba(155,107,47,.10),transparent 30%),linear-gradient(120deg,#f5f2e9,#fbfaf6 58%,#f1ede3)}
.home-hero-v32 .home-hero-grid{gap:54px}.home-hero-v32 .home-hero-copy h1{font-size:clamp(52px,5.8vw,82px);max-width:760px}.home-hero-v32 .home-hero-copy>p{font-size:17px;max-width:640px}
.mss-search-wrap{position:relative}.mss-search-wrap-hero{margin-top:28px;max-width:720px}.mss-search-wrap-hero .mss-product-search{max-width:none;margin:0;border-color:#d6dcd6;box-shadow:0 16px 45px rgba(18,32,25,.09);padding:8px 8px 8px 17px}.mss-search-wrap-hero .mss-product-search input{font-size:15px}.mss-search-wrap-hero .mss-product-search button{min-height:46px;padding:10px 24px}.mss-search-wrap .mss-product-search-panel{top:calc(100% + 8px);width:100%;left:0;transform:none}
.hero-top-pick .hero-product-media{display:block;min-height:430px}.hero-top-pick .hero-product-media .mss-remote-media{min-height:430px}.hero-top-pick .hero-product-media .mss-remote-product-image{height:430px!important}.hero-top-label{position:absolute;left:22px;top:22px;background:#fff;color:var(--ink);border:1px solid rgba(18,32,25,.08);border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-product-body p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.category-section-v32{padding-top:78px}.category-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-visual-card{position:relative;min-height:250px;border-radius:24px;overflow:hidden;text-decoration:none;background:#edece6;border:1px solid rgba(18,32,25,.07);isolation:isolate}.category-visual-media{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.01);transition:transform .3s ease}.category-visual-media:empty{background:linear-gradient(135deg,#e8e3d8,#f7f4ec)}.category-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,16,12,.02) 15%,rgba(9,16,12,.82) 100%)}.category-visual-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff;display:grid;gap:5px}.category-visual-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.78}.category-visual-copy strong{font-family:Georgia,serif;font-size:27px;line-height:1.05}.category-visual-copy em{font-style:normal;font-size:11px;font-weight:800;opacity:.9}.category-visual-card:hover .category-visual-media{transform:scale(1.055)}
.picks-premium{background:#f8f6f0}.new-picks-section{background:#fff}.demand-section{padding:62px 0;background:var(--ink);color:#fff}.demand-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.demand-section h2{font-size:clamp(38px,4.4vw,56px);margin:10px 0 14px}.demand-section p{color:#cbd4cf;line-height:1.65}.popular-searches{display:flex;flex-wrap:wrap;gap:10px}.popular-search-chip{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:11px 14px;cursor:pointer;transition:.18s ease}.popular-search-chip:hover{background:#fff;color:var(--ink)}.popular-search-chip span{font-size:12px;font-weight:750}.popular-search-chip small{font-size:9px;opacity:.65}
.method-section-v32>.mss-container{grid-template-columns:.82fr 1.18fr}.score-bands{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.score-bands article{padding:26px 22px;min-height:210px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;flex-direction:column}.score-bands strong{font-family:Georgia,serif;font-size:34px}.score-bands span{margin-top:22px;font-weight:850;font-size:14px}.score-bands p{color:var(--muted);font-size:12px;line-height:1.6}.score-bands .is-top{background:var(--ink);color:#fff;border-color:var(--ink)}.score-bands .is-top p{color:#d0d8d3}
/* Product cards: stronger hierarchy and cleaner editorial density. */
.mss-product-grid{gap:18px!important}.mss-card-premium{border-radius:22px!important;border:1px solid #e5e7e2!important;box-shadow:0 10px 30px rgba(18,32,25,.045)!important;overflow:hidden;background:#fff}.mss-card-premium:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(18,32,25,.09)!important}.mss-card-premium .mss-card-media{background:#faf9f5!important}.mss-card-premium .mss-card-body{padding:19px 20px 18px!important}.mss-card-premium .mss-card-body h3{font-size:18px!important;line-height:1.3!important;margin:8px 0 9px!important}.mss-card-premium .mss-card-excerpt{font-size:12px!important;line-height:1.55!important;color:#69756e!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mss-card-premium .mss-score{box-shadow:0 8px 22px rgba(18,32,25,.14)}
.site-footer-v32{background:#0f1d16;color:#edf2ef}.footer-grid-v32{grid-template-columns:1.3fr .8fr 1fr .9fr}.site-footer-v32 a{color:#dbe3de}.site-footer-v32 h3{color:#fff}.site-footer-v32 .footer-copy,.site-footer-v32 .footer-tagline,.site-footer-v32 li span{color:#9eaaa3}.site-footer-v32 .footer-bottom{border-top-color:rgba(255,255,255,.11);color:#8f9d95}
@media(max-width:1000px){.category-visual-grid{grid-template-columns:repeat(2,1fr)}.demand-grid{grid-template-columns:1fr;gap:28px}.score-bands{grid-template-columns:1fr}.score-bands article{min-height:0}.footer-grid-v32{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.home-hero-v32{padding:38px 0 48px}.home-hero-v32 .home-hero-copy h1{font-size:42px;line-height:.99}.home-hero-v32 .home-hero-copy>p{font-size:15px;line-height:1.58}.mss-search-wrap-hero{margin-top:22px}.mss-search-wrap-hero .mss-product-search{border-radius:18px;display:grid;grid-template-columns:auto 1fr auto}.mss-search-wrap-hero .mss-product-search button{padding:9px 14px;min-height:42px}.hero-proof{gap:16px;margin-top:24px}.category-visual-grid{grid-template-columns:1fr}.category-visual-card{min-height:210px}.category-visual-copy strong{font-size:24px}.section-head{align-items:start}.section-head>.text-arrow{margin-top:8px}.popular-searches{gap:8px}.popular-search-chip{width:100%;justify-content:space-between}.footer-grid-v32{grid-template-columns:1fr}.hero-top-pick .hero-product-media,.hero-top-pick .hero-product-media .mss-remote-media{min-height:330px}.hero-top-pick .hero-product-media .mss-remote-product-image{height:330px!important}}

/* =========================================================
   3.3.0 — Phase 2 visual optimisation
   Cleaner hierarchy, editorial density, mobile polish.
   ========================================================= */
:root{--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--shadow-soft:0 14px 38px rgba(18,32,25,.055);--shadow-lift:0 24px 58px rgba(18,32,25,.105)}
body{overflow-x:hidden}.site-main{background:var(--paper)}
.site-header{box-shadow:0 1px 0 rgba(18,32,25,.03)}
.header-inner{height:74px}
.mss-nav-list{gap:20px}.mss-nav-list a{font-weight:650}
.mss-nav-list>.mss-nav-primary>a{background:var(--ink);color:#fff!important;border-radius:999px;padding:10px 15px!important}.mss-nav-list>.mss-nav-primary>a:hover{background:#26372f;color:#fff!important}

/* Hero: stronger editorial frame and less oversized type. */
.home-hero-v32{padding:58px 0 64px}.home-hero-v32 .home-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:48px}
.home-hero-v32 .home-hero-copy h1{font-size:clamp(48px,5.25vw,76px);line-height:.98;margin-top:13px;margin-bottom:19px}
.home-hero-v32 .home-hero-copy>p{font-size:16px;line-height:1.62}.hero-proof{margin-top:28px;padding-top:18px}.hero-proof strong{font-size:20px}.hero-proof span{line-height:1.35}
.hero-product-card{border-radius:var(--radius-xl);box-shadow:0 24px 64px rgba(18,32,25,.09)}
.hero-product-body{padding:22px 26px 25px}.hero-product-body h2{font-size:clamp(23px,2.2vw,30px);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-score{width:66px;height:66px;font-size:20px}

/* Category cards resize gracefully when only 1–2 categories are currently populated. */
.category-visual-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.category-visual-card{min-height:230px;box-shadow:var(--shadow-soft)}
.category-visual-card:hover{box-shadow:var(--shadow-lift)}.category-visual-copy strong{font-size:25px}

/* Theme-owned storefront cards. */
.mss-product-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;align-items:stretch}
.mss-grid-item{min-width:0;height:100%}.mss-theme-card{height:100%;display:flex;flex-direction:column;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-soft)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.mss-theme-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)!important;border-color:#d8ddd8!important}
.mss-theme-card .mss-card-media{height:300px!important;min-height:300px!important;display:block;position:relative;overflow:hidden}
.mss-theme-card .mss-remote-media{height:300px!important;min-height:300px!important;display:flex!important;align-items:center;justify-content:center}
.mss-theme-card .mss-remote-product-image{height:300px!important;width:100%!important;object-fit:contain!important;padding:20px!important;transition:transform .24s ease}
.mss-theme-card:hover .mss-remote-product-image{transform:scale(1.025)}
.mss-theme-card .mss-card-topline{left:14px!important;right:14px!important;top:14px!important}.mss-theme-card .mss-badge{font-size:9px!important;letter-spacing:.08em;text-transform:uppercase}
.mss-theme-card .mss-card-body{display:flex!important;flex-direction:column;flex:1;padding:19px 20px 17px!important}.mss-theme-card .mss-card-meta{font-size:10px!important;white-space:nowrap;overflow:hidden}.mss-theme-card .mss-card-meta span{overflow:hidden;text-overflow:ellipsis}
.mss-theme-card .mss-card-body h3{font-size:18px!important;line-height:1.27!important;margin:9px 0 10px!important;min-height:68px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mss-theme-card .mss-card-body h3 a{text-decoration:none}.mss-theme-card .mss-card-excerpt{font-size:12.5px!important;line-height:1.55!important;min-height:39px;margin:0 0 17px!important;-webkit-line-clamp:2!important}
.mss-theme-card-actions{margin-top:auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.mss-theme-card-actions .mss-btn{min-width:0!important;text-align:center!important;justify-content:center!important;padding:11px 10px!important;font-size:11px!important;white-space:nowrap}
.mss-theme-card .mss-card-foot{margin-top:13px!important;padding-top:11px!important;font-size:9px!important;color:#89938d!important}
.mss-theme-card .mss-card-gallery-count,.mss-theme-card .mss-card-commerce,.mss-theme-card .mss-availability{display:none!important}

/* Section rhythm: less empty space, clearer grouping. */
.section{padding:76px 0}.section-head,.section-title-row{margin-bottom:28px}.section-head h2,.section-title-row h2{font-size:clamp(36px,4vw,52px)}
.picks-section{border-color:#ecece7}.new-picks-section{padding-top:70px}.method-section-v32{padding-top:78px;padding-bottom:82px}
.score-bands article{box-shadow:var(--shadow-soft);min-height:190px}.score-bands .is-top{box-shadow:0 18px 44px rgba(18,32,25,.15)}

/* Search becomes a conversion element, not a technical toolbar. */
.mss-search-wrap-hero .mss-product-search{min-height:62px;border-width:1px}.mss-product-search input{font-weight:520}.mss-product-search button{transition:transform .16s ease,background .16s ease}.mss-product-search button:hover{transform:translateY(-1px);background:#18392d}
.mss-product-search-panel{overflow:hidden}.mss-search-result{transition:background .16s ease,transform .16s ease}.mss-search-result:hover{transform:translateX(2px)}

/* Selection catalogue. */
.selection-hero{padding:60px 0 50px}.selection-hero h1{font-size:clamp(48px,5.4vw,76px)}.selection-catalog{padding-top:54px}.selection-toolbar h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,40px);margin:8px 0}.selection-toolbar>p{max-width:560px;color:var(--muted);font-size:13px;line-height:1.6}.selection-category-nav{gap:8px;flex-wrap:wrap}.selection-category-nav a{border-radius:999px!important;padding:9px 13px!important}.selection-category-nav a.is-active{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

/* Single product: remove implementation jargon and improve buying hierarchy. */
.product-breadcrumb{font-size:11px}.product-breadcrumb strong{max-width:42ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:bottom}
.product-copy h1{font-size:clamp(28px,2.35vw,37px);line-height:1.18;max-width:24ch}.product-excerpt{color:#59665f}.product-data-source{margin-top:14px!important;font-size:10px!important;color:#87918b!important;border-top:1px solid var(--line);padding-top:12px!important}.mss-gallery-meta span{color:#8a948e}.product-commerce-box{border-radius:18px!important;box-shadow:var(--shadow-soft)}
.product-trust-row{gap:7px!important}.product-trust-row span{font-size:10px!important}.product-gallery-panel{min-width:0}.product-gallery-main-v27{border-radius:var(--radius-lg)!important;overflow:hidden}.mss-product-gallery-thumbs{scrollbar-width:thin}
.mobile-sticky-buy>div{min-width:0}.mobile-sticky-buy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}

/* Generic pages: one real H1 and a more deliberate reading column. */
.page-hero-v33{padding:62px 0 38px}.page-hero-v33 h1{font-size:clamp(44px,5vw,66px)}.page-content-v33{padding-top:58px}.page-content-v33 .prose>p:first-child{font-size:19px;line-height:1.72;color:#314139}.page-content-v33 .prose h2{font-size:34px}.page-content-v33 .prose h3{font-size:24px}

/* Focus states and motion preferences. */
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(155,107,47,.32)!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:1100px){.mss-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-hero-v32 .home-hero-grid{grid-template-columns:1fr 420px;gap:36px}.mss-nav-list{gap:14px}.mss-nav-list a{font-size:11px}}
@media(max-width:820px){.header-inner{height:68px}.mss-nav-list>.mss-nav-primary>a{background:transparent;color:var(--ink)!important;padding:8px 0!important}.home-hero-v32 .home-hero-grid{grid-template-columns:1fr}.home-hero-feature{max-width:620px;width:100%;margin:6px auto 0}.hero-product-card{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.hero-top-pick .hero-product-media,.hero-top-pick .hero-product-media .mss-remote-media{min-height:300px}.hero-top-pick .hero-product-media .mss-remote-product-image{height:300px!important}.hero-product-body{display:flex;flex-direction:column;justify-content:center}.selection-hero-grid{grid-template-columns:1fr;gap:28px}.selection-trust-card{justify-self:start}.selection-toolbar{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:620px){.mss-container{width:min(calc(100% - 28px),var(--max))}.section{padding:54px 0}.home-hero-v32{padding:34px 0 42px}.home-hero-v32 .home-hero-copy h1{font-size:40px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.theme-btn{padding-left:13px;padding-right:13px}.hero-product-card{display:block}.hero-product-body h2{font-size:23px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.hero-proof span{text-align:center;padding:10px 6px;background:rgba(255,255,255,.48);border-radius:12px}.mss-product-grid{grid-template-columns:1fr!important;gap:15px!important}.mss-theme-card{display:grid!important;grid-template-columns:132px minmax(0,1fr);border-radius:18px!important}.mss-theme-card .mss-card-media{height:100%!important;min-height:215px!important}.mss-theme-card .mss-remote-media{height:100%!important;min-height:215px!important}.mss-theme-card .mss-remote-product-image{height:100%!important;min-height:215px!important;padding:12px!important}.mss-theme-card .mss-card-topline{left:8px!important;right:8px!important;top:8px!important}.mss-theme-card .mss-score{transform:scale(.88);transform-origin:top right}.mss-theme-card .mss-badge{max-width:76px;overflow:hidden;text-overflow:ellipsis}.mss-theme-card .mss-card-body{padding:14px 14px 12px!important}.mss-theme-card .mss-card-body h3{font-size:15px!important;min-height:auto;margin:6px 0 7px!important;-webkit-line-clamp:3}.mss-theme-card .mss-card-excerpt{font-size:11px!important;min-height:auto;margin-bottom:10px!important}.mss-theme-card-actions{grid-template-columns:1fr!important}.mss-theme-card-actions .mss-btn-primary{display:none!important}.mss-theme-card .mss-card-foot{display:none!important}.mss-theme-card .mss-card-meta{font-size:9px!important}.category-visual-card{min-height:190px}.category-visual-copy{left:18px;right:18px;bottom:17px}.demand-section{padding:48px 0}.score-bands article{padding:20px;min-height:0}.product-breadcrumb{display:none}.product-hero{padding-top:22px!important}.product-copy h1{font-size:27px;max-width:none}.product-trust-row{display:grid!important;grid-template-columns:1fr 1fr}.product-trust-row span:last-child{display:none}.page-hero-v33{padding:44px 0 28px}.page-content-v33{padding-top:38px}.page-content-v33 .prose>p:first-child{font-size:17px}.selection-catalog{padding-top:40px}}

/* 3.4.0 — Editorial Hub */
.editorial-archive-hero{background:linear-gradient(135deg,#f4f1e8 0%,#fbfaf6 70%);padding-bottom:72px}.editorial-hub{padding-top:38px}.editorial-topic-nav{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 34px}.editorial-topic-nav a{border:1px solid #dfe4df;border-radius:999px;padding:9px 15px;text-decoration:none;color:#25352d;background:#fff;font-size:14px}.editorial-topic-nav a:hover,.editorial-topic-nav a.is-active{background:#17261e;color:#fff;border-color:#17261e}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.editorial-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial-card{border:1px solid #e3e6e2;border-radius:24px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}.editorial-card-media{aspect-ratio:16/9;background:#f1f0ea;display:block;overflow:hidden}.editorial-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.editorial-card:hover .editorial-card-media img{transform:scale(1.025)}.editorial-card-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#6d776f}.editorial-card-placeholder strong{font-size:28px;letter-spacing:-.02em;text-transform:none;color:#22352b}.editorial-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.editorial-card-body h2{font-size:22px;line-height:1.15;margin:8px 0 12px}.editorial-card-body h2 a{text-decoration:none;color:#17261e}.editorial-card-body p{color:#647068;line-height:1.6;margin:0 0 18px}.editorial-card-body .mss-text-link{margin-top:auto}.editorial-pagination{margin-top:36px}.guide-hero-v34{padding-bottom:62px}.guide-byline{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;color:#667168;font-size:13px}.guide-reading-grid{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,760px);justify-content:center;gap:64px;align-items:start}.guide-rail{position:sticky;top:110px}.guide-toc,.guide-method-card{border:1px solid #e1e5e1;border-radius:20px;padding:22px;background:#faf9f5}.guide-toc ol{margin:14px 0 0;padding-left:20px}.guide-toc li{margin:0 0 9px;color:#758078}.guide-toc a{color:#26372e;text-decoration:none;line-height:1.35}.guide-toc a:hover{text-decoration:underline}.guide-method-card{margin-top:16px;background:#17261e;color:#fff}.guide-method-card .kicker{color:#cdb37d}.guide-method-card strong{display:block;font-size:19px;margin:6px 0 9px}.guide-method-card p{font-size:13px;line-height:1.55;color:#dbe1dc}.guide-method-card a{color:#fff}.guide-prose{max-width:760px}.guide-prose h2{scroll-margin-top:120px;margin-top:52px}.guide-prose h2:first-of-type{margin-top:28px}.guide-prose p,.guide-prose li{font-size:17px;line-height:1.78}.guide-prose ul{padding-left:22px}.guide-cover{margin:0 0 34px;border-radius:24px;overflow:hidden}.guide-cover img{width:100%;height:auto;display:block}.guide-disclosure{margin-top:48px;padding:22px 24px;border-radius:18px;background:#f6f4ed;color:#566159}.guide-disclosure strong{display:block;color:#22352b;margin-bottom:6px}.guide-disclosure p{font-size:13px;line-height:1.55;margin:0}.mss-editorial-related{margin-top:58px;padding-top:34px;border-top:1px solid #e5e8e5}.mss-editorial-related>h2{font-size:28px}.mss-editorial-linkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mss-editorial-linkgrid a{display:flex;flex-direction:column;gap:7px;border:1px solid #e1e5e1;border-radius:16px;padding:18px;text-decoration:none;color:#22352b}.mss-editorial-linkgrid span{color:#69746d;font-size:13px;line-height:1.45}.product-guides-section{background:#f8f6ef}.editorial-grid-compact .editorial-card-body{padding:20px}.editorial-grid-compact .editorial-card-body h2{font-size:18px}.editorial-grid-compact .editorial-card-body p{font-size:13px}
@media(max-width:900px){.editorial-grid,.editorial-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-reading-grid{grid-template-columns:1fr;gap:28px}.guide-rail{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px}.guide-method-card{margin-top:0}}
@media(max-width:620px){.editorial-archive-hero{padding-bottom:48px}.editorial-grid,.editorial-grid-compact{grid-template-columns:1fr}.editorial-card{border-radius:18px}.editorial-card-body{padding:20px}.guide-reading{padding-top:28px}.guide-rail{grid-template-columns:1fr}.guide-prose p,.guide-prose li{font-size:16px;line-height:1.7}.guide-prose h2{font-size:27px;margin-top:42px}.mss-editorial-linkgrid{grid-template-columns:1fr}}

/* =========================================================
   3.5.0 — Responsive Brand Header & logo positioning
   ========================================================= */
.site-header .header-inner{position:relative}
.site-brand .custom-logo-link{display:block;line-height:0}
.site-brand .custom-logo{display:block;width:auto;max-width:min(280px,38vw);max-height:52px;object-fit:contain}

/* Desktop logo placement */
.site-header.mss-logo-desktop-left .site-brand{order:1}
.site-header.mss-logo-desktop-left .primary-nav{order:3;margin-left:auto}
.site-header.mss-logo-desktop-left .nav-toggle{order:2}
.site-header.mss-logo-desktop-center .site-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3}
.site-header.mss-logo-desktop-center .primary-nav{margin-left:auto}
.site-header.mss-logo-desktop-right .primary-nav{order:1;margin-left:0;margin-right:auto}
.site-header.mss-logo-desktop-right .nav-toggle{order:2}
.site-header.mss-logo-desktop-right .site-brand{order:3;margin-left:0}

/* Branded header artwork */
.mss-brand-header{position:relative;width:100%;height:220px;overflow:hidden;background:#fbf8f2;border-bottom:1px solid rgba(218,204,173,.45)}
.mss-brand-header img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.mss-brand-header-hide-desktop{display:none}

@media(max-width:820px){
  .site-brand .custom-logo{max-width:min(220px,58vw);max-height:44px}
  .site-header.mss-logo-mobile-left .site-brand{position:static;order:1;transform:none;margin:0}
  .site-header.mss-logo-mobile-left .nav-toggle{order:2;margin-left:auto;margin-right:0}
  .site-header.mss-logo-mobile-center .site-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;margin:0}
  .site-header.mss-logo-mobile-center .nav-toggle{order:2;margin-left:auto;margin-right:0}
  .site-header.mss-logo-mobile-right .nav-toggle{order:1;margin-left:0;margin-right:auto}
  .site-header.mss-logo-mobile-right .site-brand{position:static;order:2;transform:none;margin-left:auto}
  .mss-brand-header{height:150px}
  .mss-brand-header-hide-desktop{display:block}
  .mss-brand-header-hide-mobile{display:none!important}
}
@media(min-width:821px){.mss-brand-header-hide-desktop{display:none!important}}
@media(max-width:620px){
  .site-brand .custom-logo{max-width:min(190px,56vw);max-height:40px}
  .mss-brand-header{height:124px}
}


/* =========================================================
   3.6.1 — Main Menu position + configurable menu/header height
   ========================================================= */
.site-header .header-inner{height:var(--mss-menu-h-desktop,74px)!important;min-height:var(--mss-menu-h-desktop,74px)}
.mss-brand-header{height:var(--mss-brand-header-h-desktop,220px)!important}
@media(max-width:820px){
  .site-header .header-inner{height:var(--mss-menu-h-mobile,68px)!important;min-height:var(--mss-menu-h-mobile,68px)}
  .primary-nav{top:calc(var(--mss-menu-h-mobile,68px) - 1px)!important}
  .mss-brand-header{height:var(--mss-brand-header-h-mobile,150px)!important}
}
@media(max-width:620px){.mss-brand-header{height:var(--mss-brand-header-h-mobile,150px)!important}}


/* 3.6.2 — independent Main Menu alignment controls. */
@media (min-width:821px){
  .site-header .primary-nav{display:flex;flex:1;min-width:0;margin-left:0;margin-right:0}
  .site-header .primary-nav .mss-nav-list{width:100%}
  .site-header.mss-menu-desktop-left .primary-nav .mss-nav-list{justify-content:flex-start}
  .site-header.mss-menu-desktop-center .primary-nav .mss-nav-list{justify-content:center}
  .site-header.mss-menu-desktop-right .primary-nav .mss-nav-list{justify-content:flex-end}
}
@media (max-width:820px){
  .site-header.mss-menu-mobile-left .primary-nav .mss-nav-list{align-items:flex-start;text-align:left}
  .site-header.mss-menu-mobile-center .primary-nav .mss-nav-list{align-items:center;text-align:center}
  .site-header.mss-menu-mobile-right .primary-nav .mss-nav-list{align-items:flex-end;text-align:right}
  .site-header.mss-menu-mobile-left .primary-nav .mss-nav-list>li,
  .site-header.mss-menu-mobile-center .primary-nav .mss-nav-list>li,
  .site-header.mss-menu-mobile-right .primary-nav .mss-nav-list>li{width:auto;max-width:100%}
}


/* 3.6.3 — optional branding visibility in the Main Menu bar. */
@media (min-width:821px){
  .site-header.mss-branding-desktop-hidden .site-brand{display:none!important}
  .site-header.mss-branding-desktop-hidden .primary-nav{flex:1 1 100%;width:100%;margin-left:0;margin-right:0}
}
@media (max-width:820px){
  .site-header.mss-branding-mobile-hidden .site-brand{display:none!important}
  .site-header.mss-branding-mobile-hidden .nav-toggle{margin-left:auto!important;margin-right:0!important}
}


/* 3.6.4 — configurable Main Menu brand icon and sticky-only visibility. */
.site-brand .mss-menu-brand-icon{width:38px;height:38px;object-fit:contain;display:block;flex:0 0 38px;border-radius:10px}
.site-brand .mss-menu-brand-text{display:inline-flex;align-items:baseline;gap:4px}
@media (min-width:821px){
  .site-header.mss-brand-desktop-hidden .site-brand,
  .site-header.mss-brand-desktop-sticky .site-brand{display:none!important}
  .site-header.mss-brand-desktop-hidden .primary-nav,
  .site-header.mss-brand-desktop-sticky .primary-nav{flex:1 1 100%;width:100%;margin-left:0;margin-right:0}
  .site-header.mss-brand-desktop-sticky.is-stuck .site-brand{display:flex!important}
  .site-header.mss-brand-desktop-sticky.is-stuck .primary-nav{flex:1 1 auto;width:auto}
}
@media (max-width:820px){
  .site-header.mss-brand-mobile-hidden .site-brand,
  .site-header.mss-brand-mobile-sticky .site-brand{display:none!important}
  .site-header.mss-brand-mobile-hidden .nav-toggle,
  .site-header.mss-brand-mobile-sticky .nav-toggle{margin-left:auto!important;margin-right:0!important}
  .site-header.mss-brand-mobile-sticky.is-stuck .site-brand{display:flex!important}
}


/* 3.7.0 — Premium Polish */
.home-hero-v37{padding:78px 0 74px;background:linear-gradient(120deg,#f5f1e8,#fbf9f4)}
.home-hero-v37 .home-hero-grid{display:block;max-width:980px;text-align:left}
.home-hero-v37 .home-hero-copy{max-width:850px}
.home-hero-v37 .home-hero-copy h1{max-width:760px}
.home-hero-v37 .mss-search-wrap{max-width:700px}
.home-hero-v37 .hero-proof{max-width:620px}
.mss-theme-card{box-shadow:0 16px 44px rgba(18,32,25,.055)!important;border-color:rgba(18,32,25,.075)!important}
.mss-theme-card .mss-card-media{background:linear-gradient(145deg,#fff,#f8f6f0)!important}
.mss-theme-card .mss-card-body{padding-bottom:19px!important}
.mss-theme-card .mss-card-excerpt{color:#68736d!important}
.mss-theme-card-actions{margin-top:auto!important;display:block!important}
.mss-theme-card-actions .mss-btn{background:transparent!important;border:0!important;padding:0!important;min-height:auto!important;color:var(--ink)!important;justify-content:flex-start!important;font-weight:850!important}
.mss-theme-card-actions .mss-btn:hover{color:var(--gold)!important}
.mss-theme-card .mss-card-foot{display:none!important}
.category-visual-card.no-editorial-cover .category-visual-media{background:radial-gradient(circle at 75% 20%,rgba(196,151,76,.28),transparent 35%),linear-gradient(135deg,#15283e 0%,#263a4f 46%,#b88a43 130%)}
.category-visual-card.no-editorial-cover .category-visual-overlay{background:linear-gradient(180deg,rgba(10,25,39,.06),rgba(10,25,39,.72))}
.mss-smart-media .mss-smart-product-image{object-fit:contain!important;background:#fff}
.selection-toolbar>p{font-size:13px;line-height:1.65}
.product-trust-row{color:#49584f}
@media(max-width:820px){.home-hero-v37{padding:42px 0 46px}.home-hero-v37 .home-hero-grid{display:block}.home-hero-v37 .home-hero-copy{max-width:none}}


/* === 3.8.0 CORRECTIVE HARDENING === */
/* The premium hero never renders a lateral product feature in v3.8. */
.mss-theme-381 .home-hero-v37 .home-hero-feature,
.mss-theme-381 .home-hero-v37 .hero-product-card{display:none!important}
.mss-theme-381 .home-hero-v37 .home-hero-grid{display:block!important;grid-template-columns:1fr!important;max-width:980px}

/* Catalogue cards: one editorial CTA only. Hide any legacy/plugin CTA injected in cards. */
.mss-theme-381 .mss-theme-card .mss-amazon-link,
.mss-theme-381 .mss-theme-card .mss-paid-link,
.mss-theme-381 .mss-theme-card .mss-btn-primary,
.mss-theme-381 .mss-theme-card .product-cta-stack,
.mss-theme-381 .mss-card .mss-paid-link{display:none!important}
.mss-theme-381 .mss-theme-card-actions{display:flex!important}
.mss-theme-381 .mss-theme-card-actions .mss-btn-secondary{display:inline-flex!important}

/* Keep long marketplace titles visually controlled even if legacy markup appears. */
.mss-theme-381 .mss-card h3,
.mss-theme-381 .mss-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.mss-theme-381 .mss-card-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* Category covers must never fall back to a product image. */
.mss-theme-381 .category-visual-card.no-editorial-cover .category-visual-media{background-image:linear-gradient(135deg,#17253a,#263b56)!important}

/* Suppress legacy technical badges/copy if an old renderer is injected by a plugin. */
.mss-theme-381 .mss-card [class*="availability"],
.mss-theme-381 .mss-card [class*="technical"],
.mss-theme-381 .mss-card [data-provider],
.mss-theme-381 .mss-card .engine-note{display:none!important}

/* 3.8.1 — deterministic legacy shields.
   These selectors intentionally cover markup emitted by pre-3.8 homepage/card renderers. */
body.mss-theme-381 .home-hero .home-hero-feature,
body.mss-theme-381 .home-hero .hero-product-card,
body.mss-theme-381 .home-hero .hero-top-pick,
body.mss-theme-381 .home-hero-v32 .home-hero-feature { display:none!important; }
body.mss-theme-381 .home-hero-grid,
body.mss-theme-381 .home-hero-v32 .home-hero-grid { grid-template-columns:minmax(0,1fr)!important; }
body.mss-theme-381 .mss-card .mss-amazon-link,
body.mss-theme-381 .mss-card .mss-paid-link,
body.mss-theme-381 .mss-card .paid-link,
body.mss-theme-381 .mss-card .amazon-cta,
body.mss-theme-381 .mss-card-actions a[target="_blank"] { display:none!important; }
body.mss-theme-381 .mss-card-actions { display:flex!important; }
body.mss-theme-381 .mss-card-actions a:first-child { display:inline-flex!important; }
body.mss-theme-381 .mss-card h3,
body.mss-theme-381 .mss-card h3 a { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden; }
body.mss-theme-381 .mss-card-excerpt { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }


/* 3.9.1 — Frontend Content Polish */
.brand-mark:empty::before{content:"M";display:block}
.mss-card-premium .mss-card-meta{text-transform:uppercase;letter-spacing:.065em;font-size:10px;font-weight:700;color:#7a6a52}
.mss-card-premium .mss-card-meta i{opacity:.45}
.mss-card-premium h3{font-size:20px;line-height:1.18;letter-spacing:-.025em;margin-top:9px}
.mss-card-premium .mss-card-excerpt{color:#5e6963;line-height:1.55;margin-top:10px}
.mss-card-premium .mss-theme-card-actions{margin-top:auto;padding-top:16px}
.mss-card-premium .mss-btn-secondary{background:transparent;border:0;padding:0;min-height:auto;color:var(--ink);font-weight:700}
.mss-card-premium .mss-btn-secondary:hover{color:var(--gold);background:transparent;transform:none}
@media(max-width:720px){.mss-card-premium h3{font-size:16px}.mss-card-premium .mss-card-excerpt{font-size:12px;line-height:1.45}.mss-card-premium .mss-card-meta{font-size:9px}}


/* =========================================================
   3.10.8 — MyShoppy Frontend UI Consistency Standard
   Normal action = blue · Primary = dark green · Destructive = red
   ========================================================= */
:root{
  --mss-action-blue:#3858e9;
  --mss-action-blue-hover:#2f4ccb;
  --mss-action-green:#173d32;
  --mss-action-green-hover:#0f3027;
  --mss-action-red:#b32d2e;
  --mss-control-radius:10px;
  --mss-control-height:46px;
}
.theme-btn{
  min-height:var(--mss-control-height);
  height:var(--mss-control-height);
  padding:0 18px;
  border-radius:var(--mss-control-radius);
  font-size:13px;
  font-weight:700;
  line-height:1;
  box-sizing:border-box;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.theme-btn-dark{
  background:var(--mss-action-green);
  border-color:var(--mss-action-green);
  color:#fff;
}
.theme-btn-dark:hover,
.theme-btn-dark:focus{
  background:var(--mss-action-green-hover);
  border-color:var(--mss-action-green-hover);
  color:#fff;
}
.theme-btn-light{
  background:#fff;
  border-color:var(--mss-action-blue);
  color:var(--mss-action-blue);
}
.theme-btn-light:hover,
.theme-btn-light:focus{
  background:#f4f7ff;
  border-color:var(--mss-action-blue-hover);
  color:var(--mss-action-blue-hover);
}
.theme-btn-wide{width:100%;min-height:52px;height:52px}
.selection-category-nav a,
.editorial-topic-nav a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px!important;
  border-radius:999px!important;
  border:1px solid var(--mss-action-blue)!important;
  background:#fff!important;
  color:var(--mss-action-blue)!important;
  font-size:13px;
  font-weight:600;
  line-height:1;
  text-decoration:none;
}
.selection-category-nav a:hover,
.selection-category-nav a:focus,
.editorial-topic-nav a:hover,
.editorial-topic-nav a:focus{
  background:#f4f7ff!important;
  border-color:var(--mss-action-blue-hover)!important;
  color:var(--mss-action-blue-hover)!important;
}
.selection-category-nav a.is-active,
.editorial-topic-nav a.is-active{
  background:var(--mss-action-green)!important;
  border-color:var(--mss-action-green)!important;
  color:#fff!important;
}
.product-gallery-zoom{
  min-height:40px;
  border-color:var(--mss-action-blue);
  color:var(--mss-action-blue);
  font-weight:600;
}
.product-gallery-zoom:hover,
.product-gallery-zoom:focus{
  background:#f4f7ff;
  border-color:var(--mss-action-blue-hover);
  color:var(--mss-action-blue-hover);
}
.mss-gallery-thumb{
  border-radius:10px;
  border-color:var(--line);
  background:#fff;
}
.mss-gallery-thumb:hover,
.mss-gallery-thumb:focus{border-color:var(--mss-action-blue)}
.mss-gallery-thumb.is-active{
  border-color:var(--mss-action-green);
  box-shadow:0 0 0 1px var(--mss-action-green),0 5px 14px rgba(18,32,25,.12);
}
.mss-theme-card,
.editorial-card,
.category-visual-card,
.selection-trust-card,
.info-box{
  overflow:hidden;
}
.mss-theme-card .mss-card-media img,
.editorial-card-media img,
.category-visual-card img{
  display:block;
  width:100%;
  object-fit:cover;
}
.mss-theme-card a,
.editorial-card a,
.category-visual-card{
  text-underline-offset:2px;
}
input[type=text],
input[type=search],
input[type=email],
input[type=url],
select,
textarea{
  border-radius:var(--mss-control-radius);
}
@media(max-width:620px){
  .theme-btn{
    min-height:44px;
    height:44px;
    font-size:12px;
    padding:0 14px;
  }
  .theme-btn-wide{height:48px;min-height:48px}
  .selection-category-nav a,
  .editorial-topic-nav a{
    min-height:38px;
    font-size:12px;
  }
}


/* 3.10.9 — Compact clean footer */
.mss-footer-minimal .mss-footer-builder-row-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.mss-footer-copy{margin:0;color:rgba(255,255,255,.78);font-size:13px}
.mss-footer-service-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mss-footer-service-links a{color:#fff;text-decoration:none;font-size:13px;font-weight:600;text-underline-offset:3px}
.mss-footer-service-links a:hover,.mss-footer-service-links a:focus{text-decoration:underline}
.mss-footer-widget.widget_archive,.mss-footer-widget.widget_categories,.mss-footer-widget.widget_recent_entries,.mss-footer-widget.widget_recent_comments,.mss-footer-widget.widget_search{display:none!important}
@media(max-width:620px){
  .mss-footer-minimal .mss-footer-builder-row-inner{align-items:flex-start;flex-direction:column;gap:12px}
  .mss-footer-service-links{gap:10px 16px}
}


/* 3.11.0 — Global design-token compatibility */
.mss-theme-card,
.editorial-card,
.category-visual-card,
.selection-trust-card,
.info-box{
  border-radius:var(--mss-card-radius,22px);
}


/* 3.11.1 — Frontend catalog/editorial integration */
.mss-search-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mss-search-suggestion-chip{appearance:none;border:1px solid var(--mss-action-blue,#3858e9);background:#fff;color:var(--mss-action-blue,#3858e9);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer}
.mss-search-suggestion-chip:hover,.mss-search-suggestion-chip:focus{background:#f4f7ff}
.mss-search-panel-suggestions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.mss-search-panel-suggestions>span{font-size:11px;font-weight:700;color:var(--muted)}
.mss-catalog-pagination{display:flex;justify-content:center;gap:7px;margin:34px 0 0}
.mss-catalog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--mss-action-blue,#3858e9);border-radius:9px;text-decoration:none;color:var(--mss-action-blue,#3858e9);font-weight:700}
.mss-catalog-pagination .page-numbers.current{background:var(--mss-action-green,#173d32);border-color:var(--mss-action-green,#173d32);color:#fff}
.editorial-card-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:auto}
.editorial-card-links .is-secondary{opacity:.78}
.guide-category-card{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:var(--mss-card-radius,18px);background:#fff}
.guide-category-card strong{display:block;font-size:18px;margin:4px 0 7px}
.guide-category-card p{font-size:13px;line-height:1.55;color:var(--muted)}
.guide-category-card .theme-btn{width:100%;margin-top:9px}
.mss-footer-dynamic{border-top:1px solid rgba(255,255,255,.12);padding:34px 0;background:var(--ink)}
.mss-footer-dynamic-inner{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.mss-footer-dynamic-inner>div{display:flex;flex-direction:column;gap:8px}
.mss-footer-dynamic strong{color:#fff;font-size:13px;margin-bottom:5px}
.mss-footer-dynamic a{color:#cbd4cf;text-decoration:none;font-size:12px}
.mss-footer-dynamic a:hover{color:#fff}
.mss-page-lead{font-size:1.15em;line-height:1.7;color:var(--muted)}
.mss-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}
.mss-contact-card{padding:22px;border:1px solid var(--line);border-radius:var(--mss-card-radius,18px);background:#fff}
.mss-contact-card h2{font-size:20px;margin-top:0}
.mss-policy-copy h2{margin-top:32px}
@media(max-width:820px){
  .mss-footer-dynamic-inner,.mss-contact-grid{grid-template-columns:1fr}
  .mss-footer-dynamic{padding:28px 0}
}


/* 3.11.2 — Typography token compatibility */
body{
  font-family:var(--mss-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--mss-font-headings,Georgia,serif);
}
.theme-btn,
.mss-search-suggestion-chip,
.selection-category-nav a,
.editorial-topic-nav a,
.mss-catalog-pagination .page-numbers{
  font-family:var(--mss-font-buttons,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}


/* 3.11.3 — Professional light card surfaces */
.mss-theme-card{
  background:var(--mss-card-product-bg,#fffdf9);
  border-color:var(--mss-card-border,#e5ddd1);
}
.mss-theme-card .mss-card-media{
  background:var(--mss-card-media-bg,#f5f1e9);
}
.category-visual-card,
.selection-category-card{
  background:var(--mss-card-category-bg,#faf6ee);
}
.editorial-card,
.guide-category-card{
  background:var(--mss-card-editorial-bg,#fffaf4);
}
.selection-trust-card,
.info-box,
.guide-method-card,
.mss-contact-card{
  background:var(--mss-card-info-bg,#f7f4ed);
}


/* 3.11.4 — Bundled card background assets */
.mss-theme-card .mss-card-media,
.category-visual-card,
.editorial-card-media{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}


/* 3.11.6 — Category cards follow Card & Background Studio */
.category-visual-card.no-editorial-cover .category-visual-media,
.mss-theme-381 .category-visual-card.no-editorial-cover .category-visual-media{
  background-color:var(--mss-card-category-bg,#faf6ee)!important;
  background-image:none!important;
}
.category-visual-card.no-editorial-cover .category-visual-overlay{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.58))!important;
}
.category-visual-card.no-editorial-cover .category-visual-copy,
.category-visual-card.no-editorial-cover .category-visual-copy small,
.category-visual-card.no-editorial-cover .category-visual-copy strong,
.category-visual-card.no-editorial-cover .category-visual-copy em{
  color:var(--ink,#173d32)!important;
  text-shadow:none!important;
}

/* 3.11.13 — Category Cover Fit & Resolver Fix */
.category-visual-card.has-editorial-cover .category-visual-media,
.selection-category-card.has-editorial-cover .category-visual-media{
  background-size:cover!important;
  background-position:50% 50%!important;
  background-repeat:no-repeat!important;
  width:100%;
  height:100%;
}
.category-visual-card .category-visual-media{
  position:absolute;
  inset:0;
  min-width:100%;
  min-height:100%;
}
@media(max-width:620px){
  .category-visual-card.has-editorial-cover .category-visual-media,
  .selection-category-card.has-editorial-cover .category-visual-media{
    background-position:50% 50%!important;
  }
}

/* MyShoppy Select 3.11.20 - Amazon product video links */
.mss-product-videos{display:grid;gap:8px;margin-top:2px}
.mss-video-links{display:flex;flex-wrap:wrap;gap:8px}
.mss-video-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;font-size:11px;font-weight:800;line-height:1.25;box-shadow:0 1px 2px rgba(18,32,25,.03)}
.mss-video-link:hover,.mss-video-link:focus{border-color:var(--ink);box-shadow:0 6px 16px rgba(18,32,25,.08)}
.mss-video-play{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px;flex:0 0 24px}
@media(max-width:620px){.mss-video-links{display:grid}.mss-video-link{width:100%;box-sizing:border-box}}

/* MyShoppy Select 3.11.22 - in-site product video modal */
.mss-video-link{appearance:none;cursor:pointer;font-family:inherit}
.mss-video-modal[hidden]{display:none!important}
.mss-video-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.mss-video-modal-backdrop{position:absolute;inset:0;background:rgba(9,20,15,.72);backdrop-filter:blur(4px)}
.mss-video-modal-dialog{position:relative;z-index:1;width:min(920px,96vw);max-height:92vh;background:#0b120f;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}
.mss-video-modal-content{min-height:260px;display:grid;place-items:center;background:#000}
.mss-video-modal-content video{display:block;width:100%;max-height:78vh;background:#000}
.mss-video-modal-fallback{width:100%;min-height:420px;display:grid;place-items:center;padding:32px;box-sizing:border-box;background:#111;color:#fff;text-align:center}
.mss-video-modal-fallback img{max-width:100%;max-height:52vh;border-radius:12px;margin-bottom:18px}
.mss-video-modal-fallback p{max-width:620px;margin:0 0 16px;color:#e6ebe8;font-size:15px;line-height:1.55}
.mss-video-modal-fallback a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:12px;background:#fff;color:#0f291e;text-decoration:none;font-weight:800}
.mss-video-modal-close{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#111;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
body.mss-video-modal-open{overflow:hidden}
@media(max-width:620px){.mss-video-modal{padding:10px}.mss-video-modal-dialog{width:100%;border-radius:14px}.mss-video-modal-fallback{min-height:320px;padding:22px}.mss-video-modal-close{top:8px;right:8px}}

/* MyShoppy Select 3.11.23 - video embed status */
.mss-video-state-dot{font-size:16px;line-height:1;color:#b7791f;margin-left:2px}
.mss-video-modal-fallback small{display:block;margin-top:10px;color:#aeb8b2;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;overflow-wrap:anywhere}


/* 3.11.25 — Parametric mobile product-card media width */
@media(max-width:620px){
  .mss-theme-card{grid-template-columns:var(--mss-card-mobile-media-width,42%) minmax(0,1fr)!important;}
  .mss-theme-card .mss-card-media{width:100%!important;min-width:0!important;}
  .mss-theme-card .mss-remote-media,.mss-theme-card .mss-remote-product-image{width:100%!important;}
  .mss-theme-card .mss-remote-product-image{object-fit:contain!important;object-position:center!important;}
}

/* =========================================================
   3.11.29 — Frontend Text Contrast & Typography Foundation
   Safe, future-facing readability layer.
   ========================================================= */
:root{
  --mss-text-primary:#17231d;
  --mss-text-secondary:#526159;
  --mss-text-muted:#69756e;
  --mss-text-on-dark:#fff;
  --mss-text-on-dark-muted:#d5ddd8;
  --mss-link:#2457a7;
  --mss-link-hover:#173d32;
  --mss-focus:#3858e9;
  --mss-reading-width:72ch;
  --mss-body-line-height:1.65;
  --mss-heading-line-height:1.12;
}
body{color:var(--mss-text-primary);line-height:var(--mss-body-line-height);text-rendering:optimizeLegibility;overflow-wrap:break-word}
p,li,dd,dt,blockquote,figcaption,caption,label,input,select,textarea,button{font-synthesis:none}
h1,h2,h3,h4,h5,h6{color:var(--mss-text-primary);line-height:var(--mss-heading-line-height);text-wrap:balance;overflow-wrap:anywhere}
p,li{text-wrap:pretty}
:where(.hero-product-card,.hero-editorial-card,.category-card,.mss-theme-card,.editorial-card,.guide-category-card,.selection-trust-card,.selection-category-card,.info-box,.guide-method-card,.mss-contact-card,.product-commerce-box,.product-score-summary,.best-for,.mss-product-search,.mss-product-search-panel,.selection-category-nav,.editorial-topic-nav,.prose,.content-narrow){color:var(--mss-text-primary)}
:where(.hero-product-card,.hero-editorial-card,.category-card,.mss-theme-card,.editorial-card,.guide-category-card,.selection-trust-card,.selection-category-card,.info-box,.guide-method-card,.mss-contact-card,.product-commerce-box,.product-score-summary,.best-for,.mss-product-search-panel) :where(h1,h2,h3,h4,h5,h6,strong,b){color:var(--mss-text-primary)}
:where(.hero-product-card,.hero-editorial-card,.category-card,.mss-theme-card,.editorial-card,.guide-category-card,.selection-trust-card,.selection-category-card,.info-box,.guide-method-card,.mss-contact-card,.product-commerce-box,.product-score-summary,.best-for) :where(p,li,small,span:not(.theme-btn):not(.mss-video-play):not(.hero-score)){color:var(--mss-text-secondary)}
:where(.home-transparency,.demand-section,.score-bands .is-top,.site-footer-v393,.mss-footer-builder,.mss-footer-dynamic){color:var(--mss-text-on-dark)}
:where(.home-transparency,.demand-section,.score-bands .is-top,.site-footer-v393,.mss-footer-builder,.mss-footer-dynamic) :where(h1,h2,h3,h4,h5,h6,strong,b){color:var(--mss-text-on-dark)}
:where(.home-transparency,.demand-section,.score-bands .is-top) :where(p,li,small){color:var(--mss-text-on-dark-muted)}
.category-visual-card.has-editorial-cover .category-visual-copy,.category-visual-card.has-editorial-cover .category-visual-copy :where(small,strong,em){color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.prose a,.mss-policy-copy a,.mss-page-lead a,.content-narrow a:not(.theme-btn){color:var(--mss-link);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.prose a:hover,.prose a:focus-visible,.mss-policy-copy a:hover,.mss-policy-copy a:focus-visible,.content-narrow a:not(.theme-btn):hover,.content-narrow a:not(.theme-btn):focus-visible{color:var(--mss-link-hover)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--mss-focus) 72%,white);outline-offset:3px}
.theme-btn:focus-visible,.mss-video-link:focus-visible,.mss-gallery-thumb:focus-visible,.product-gallery-zoom:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--mss-focus) 18%,transparent)}
input[type=text],input[type=search],input[type=email],input[type=url],input[type=tel],input[type=number],select,textarea{color:var(--mss-text-primary);background:#fff;border-color:#cbd3ce;font:inherit;line-height:1.4}
input::placeholder,textarea::placeholder{color:#737f78;opacity:1}
input:disabled,select:disabled,textarea:disabled,button:disabled{opacity:.62}
.prose,.product-copy,.mss-theme-card,.editorial-card,.mss-search-result-copy,.mss-footer-widget{min-width:0}
.prose :where(p,ul,ol,blockquote),.mss-policy-copy :where(p,ul,ol){max-width:var(--mss-reading-width)}
:where(.product-copy,.mss-theme-card,.editorial-card,.mss-search-result-copy) :where(h1,h2,h3,p,strong,a){overflow-wrap:anywhere;word-break:normal}
.prose table,.mss-policy-copy table{width:100%;border-collapse:collapse;color:var(--mss-text-primary);background:#fff}
.prose th,.prose td,.mss-policy-copy th,.mss-policy-copy td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.prose th,.mss-policy-copy th{background:var(--soft-2);font-weight:750}
@media(max-width:720px){.prose table,.mss-policy-copy table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
iframe,video,embed,object{max-width:100%}.prose iframe,.product-copy iframe{width:100%}figure{max-width:100%}
figcaption{color:var(--mss-text-muted);font-size:.875rem;line-height:1.5}
.prose :where(p,ul,ol,blockquote,figure,table)+:where(p,ul,ol,blockquote,figure,table){margin-top:1.15em}
.prose blockquote{margin-left:0;padding:1px 0 1px 18px;border-left:3px solid var(--gold);color:var(--mss-text-secondary)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.25rem 0}
.theme-btn-dark,.selection-category-nav a.is-active,.editorial-topic-nav a.is-active,.mss-catalog-pagination .page-numbers.current{color:#fff!important}
.theme-btn-light{color:var(--mss-text-primary)!important}
:where(.prose,.product-copy,.mss-theme-card,.editorial-card,.selection-trust-card) small{line-height:1.45}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:620px){body{font-size:16px}.prose{font-size:16px;line-height:1.72}.prose h2{font-size:clamp(28px,8vw,34px);line-height:1.14}.prose h3{font-size:clamp(22px,6vw,27px);line-height:1.18}.mss-container{width:min(calc(100% - 32px),var(--max))}.theme-btn,.mss-product-search button,.mss-video-link{touch-action:manipulation}}


/* =========================================================
   3.11.32 — Mobile Recommended Badge Visibility Fix
   Keep the complete badge text visible without changing desktop.
   ========================================================= */
@media(max-width:620px){
  .mss-theme-card .mss-card-topline{
    left:8px!important;
    right:8px!important;
    top:8px!important;
    min-height:96px;
    align-items:flex-start!important;
  }

  .mss-theme-card .mss-badge{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:max-content!important;
    max-width:none!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    padding:9px 10px!important;
    border-radius:999px!important;
    z-index:3;
  }

  .mss-theme-card .mss-score{
    position:absolute!important;
    right:0!important;
    top:46px!important;
    transform:scale(.82)!important;
    transform-origin:top right!important;
    z-index:2;
  }
}


/* =========================================================
   3.11.33 — Selectable Mobile Menu Effects
   ========================================================= */
@media(max-width:820px){
  /* Animated variants need a rendered nav even while closed. */
  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .primary-nav{
    display:block;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    will-change:transform,opacity;
    transition:
      transform var(--mss-mobile-menu-speed,280ms) cubic-bezier(.2,.7,.2,1),
      opacity var(--mss-mobile-menu-speed,280ms) ease,
      visibility 0s linear var(--mss-mobile-menu-speed,280ms);
    transform-origin:top center;
  }

  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .primary-nav.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
    transition:
      transform var(--mss-mobile-menu-speed,280ms) cubic-bezier(.2,.7,.2,1),
      opacity var(--mss-mobile-menu-speed,280ms) ease,
      visibility 0s linear 0s;
  }

  .site-header.mss-mobile-menu-effect-slide-down .primary-nav{
    transform:translateY(-18px);
  }

  .site-header.mss-mobile-menu-effect-slide-left .primary-nav{
    transform:translateX(-32px);
  }

  .site-header.mss-mobile-menu-effect-slide-right .primary-nav{
    transform:translateX(32px);
  }

  .site-header.mss-mobile-menu-effect-fade .primary-nav{
    transform:none;
  }

  .site-header.mss-mobile-menu-effect-scale .primary-nav{
    transform:scale(.96) translateY(-6px);
  }

  /* Slightly animate menu items only for animated modes. */
  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .mss-nav-list > li{
    opacity:.35;
    transform:translateY(-4px);
    transition:
      opacity calc(var(--mss-mobile-menu-speed,280ms) * .8) ease,
      transform calc(var(--mss-mobile-menu-speed,280ms) * .8) ease;
  }
  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .primary-nav.is-open .mss-nav-list > li{
    opacity:1;
    transform:none;
  }

  /* Hamburger visual state follows the menu without changing markup. */
  .site-header .nav-toggle{
    transition:
      transform var(--mss-mobile-menu-speed,280ms) ease,
      background-color var(--mss-mobile-menu-speed,280ms) ease;
  }
  .site-header .nav-toggle[aria-expanded="true"]{
    transform:rotate(90deg);
  }
}

@media(max-width:820px) and (prefers-reduced-motion:reduce){
  .site-header[class*="mss-mobile-menu-effect-"] .primary-nav,
  .site-header[class*="mss-mobile-menu-effect-"] .mss-nav-list > li,
  .site-header .nav-toggle{
    transition:none!important;
    transform:none!important;
  }
}


/* =========================================================
   3.11.35 — Mobile Menu Speed Runtime Fix
   ========================================================= */
@media(max-width:820px){
  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .primary-nav{
    transition-duration:
      var(--mss-mobile-menu-speed,280ms),
      var(--mss-mobile-menu-speed,280ms),
      0s!important;
  }

  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .primary-nav.is-open{
    transition-duration:
      var(--mss-mobile-menu-speed,280ms),
      var(--mss-mobile-menu-speed,280ms),
      0s!important;
  }

  .site-header[class*="mss-mobile-menu-effect-"]:not(.mss-mobile-menu-effect-instant) .mss-nav-list > li{
    transition-duration:
      calc(var(--mss-mobile-menu-speed,280ms) * .8),
      calc(var(--mss-mobile-menu-speed,280ms) * .8)!important;
  }

  .site-header .nav-toggle{
    transition-duration:
      var(--mss-mobile-menu-speed,280ms),
      var(--mss-mobile-menu-speed,280ms)!important;
  }
}


/* =========================================================
   3.11.37 — Mobile Score Section Redesign
   Mobile-only redesign of the MyShoppy Score section.
   Desktop/tablet behavior remains unchanged.
   ========================================================= */
@media(max-width:620px){
  .method-section-v32{
    padding:58px 0 64px;
  }

  .method-section-v32 > .mss-container{
    display:grid;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .method-section-v32 .method-intro{
    max-width:none;
  }

  .method-section-v32 .method-intro .kicker{
    display:block;
    margin-bottom:12px;
  }

  .method-section-v32 .method-intro h2{
    margin:0;
    max-width:100%;
    font-size:clamp(38px,10.2vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em;
    text-wrap:balance;
  }

  .method-section-v32 .method-intro p{
    max-width:34ch;
    margin:20px 0 0;
    font-size:16px!important;
    line-height:1.65!important;
    color:var(--mss-text-secondary,var(--muted));
  }

  .method-section-v32 .method-intro .text-arrow{
    display:inline-flex;
    align-items:center;
    margin-top:18px;
    font-size:14px;
    line-height:1.25;
  }

  .method-section-v32 .score-bands{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .method-section-v32 .score-bands article{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(92px,108px) minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:18px!important;
    row-gap:4px!important;
    align-items:center!important;
    padding:18px 20px!important;
    border-radius:18px!important;
  }

  .method-section-v32 .score-bands article strong{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:center;
    margin:0!important;
    font-size:clamp(33px,9vw,40px)!important;
    line-height:.95!important;
    letter-spacing:-.045em;
  }

  .method-section-v32 .score-bands article span{
    grid-column:2;
    grid-row:1;
    align-self:end;
    margin:0!important;
    font-size:15px!important;
    line-height:1.2!important;
  }

  .method-section-v32 .score-bands article p{
    grid-column:2;
    grid-row:2;
    align-self:start;
    margin:2px 0 0!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  .method-section-v32 .score-bands article:nth-child(2){
    background:#f8f4ec;
  }

  .method-section-v32 .score-bands article.is-top{
    padding-top:20px!important;
    padding-bottom:20px!important;
  }

  .method-section-v32 .score-bands article.is-top strong{
    color:#fff!important;
  }

  .method-section-v32 .score-bands article.is-top span{
    color:#fff!important;
  }

  .method-section-v32 .score-bands article.is-top p{
    color:#d6ded9!important;
  }
}

@media(max-width:390px){
  .method-section-v32 .method-intro h2{
    font-size:36px!important;
  }

  .method-section-v32 .score-bands article{
    grid-template-columns:88px minmax(0,1fr)!important;
    column-gap:14px!important;
    padding:17px 16px!important;
  }

  .method-section-v32 .score-bands article strong{
    font-size:32px!important;
  }
}


/* =========================================================
   3.11.38 — Mobile Score Single Line Fix
   Keep 80–84, 85–89 and 90–100 on one line.
   ========================================================= */
@media(max-width:620px){
  .method-section-v32 .score-bands article{
    grid-template-columns:minmax(120px,135px) minmax(0,1fr)!important;
  }

  .method-section-v32 .score-bands article strong{
    white-space:nowrap!important;
    font-size:clamp(31px,8.4vw,38px)!important;
    letter-spacing:-.05em!important;
  }
}

@media(max-width:390px){
  .method-section-v32 .score-bands article{
    grid-template-columns:112px minmax(0,1fr)!important;
  }

  .method-section-v32 .score-bands article strong{
    font-size:30px!important;
  }
}

/* =========================================================
   3.11.46 — Configurable Mobile Main Menu + Hamburger
   ========================================================= */
.nav-toggle{align-items:center;justify-content:center;cursor:pointer}
.mss-hamburger-lines{display:flex;flex-direction:column;justify-content:center;gap:4px;width:20px;height:18px}
.mss-hamburger-lines>span{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] .mss-hamburger-lines>span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .mss-hamburger-lines>span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .mss-hamburger-lines>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mss-widget-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;color:inherit;cursor:pointer}
@media(max-width:820px){
  .site-header.mss-menu-layout-mobile-hamburger .nav-toggle{display:inline-flex!important}
  .site-header.mss-menu-layout-mobile-horizontal .nav-toggle,
  .site-header.mss-menu-layout-mobile-vertical .nav-toggle{display:none!important}
  .site-header.mss-menu-layout-mobile-horizontal .primary-nav,
  .site-header.mss-menu-layout-mobile-vertical .primary-nav{display:block!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%!important}
  .site-header.mss-menu-layout-mobile-horizontal .primary-nav .mss-nav-list{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;overflow-x:auto!important}
  .site-header.mss-menu-layout-mobile-horizontal .primary-nav .mss-nav-list>li{width:auto!important;flex:0 0 auto!important}
  .site-header.mss-menu-layout-mobile-horizontal .primary-nav .mss-nav-list>li>a{width:auto!important;white-space:nowrap!important}
  .site-header.mss-menu-layout-mobile-vertical .primary-nav .mss-nav-list{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .site-header.mss-menu-layout-mobile-vertical .primary-nav .mss-nav-list>li{width:100%!important}
  .site-header.mss-menu-layout-mobile-hamburger .widget_nav_menu .menu{display:none!important}
  .site-header.mss-menu-layout-mobile-hamburger .widget_nav_menu.is-mobile-open .menu{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .site-header.mss-menu-layout-mobile-hamburger .mss-widget-menu-toggle{display:inline-flex!important}
}

/* 3.11.48 — Widget-only header identity. No automatic logo/brand is rendered.
   Put an Image, Site Logo, HTML or other widget in Header Main · Sinistra. */
.mss-header-main-left:empty{display:none!important}
.site-header.is-stuck .mss-header-main-left{align-items:center}

/* =========================================================
   3.12.0 — CLEAN HEADER / MOBILE NAVIGATION ARCHITECTURE
   ========================================================= */
.site-header{background:var(--mss3120-header-bg,#fffefb);color:var(--mss3120-header-text,#1f2f28)}

.mss-mobile-navbar{display:none}
.mss-mobile-menu-overlay{display:none}

@media(min-width:821px){
  .site-header.is-stuck{background:var(--mss3120-desktop-sticky-bg,#fffefb)!important;color:var(--mss3120-desktop-sticky-text,#1f2f28)!important}
}

@media(max-width:820px){
  /* The visual/builder header scrolls normally. Only the dedicated nav bar sticks. */
  .site-header{position:relative!important;top:auto!important;z-index:20!important;backdrop-filter:none!important}

  .site-header.mss-menu-layout-mobile-hamburger .primary-nav,
  .site-header.mss-menu-layout-mobile-hamburger .widget_nav_menu ul.menu,
  .site-header.mss-menu-layout-mobile-hamburger .wp-block-navigation__responsive-container,
  .site-header.mss-menu-layout-mobile-hamburger .wp-block-navigation__container{
    display:none!important;
  }
  .site-header.mss-menu-layout-mobile-hamburger .widget_nav_menu .widget-title,
  .site-header.mss-menu-layout-mobile-hamburger .widget_nav_menu .wp-block-heading{display:none!important}
  .site-header.mss-menu-layout-mobile-hamburger .nav-toggle,
  .site-header.mss-menu-layout-mobile-hamburger .mss-widget-menu-toggle{display:none!important}

  .mss-mobile-navbar{
    display:block;
    position:sticky;
    top:0;
    z-index:10020;
    width:100%;
    height:var(--mss3120-mobile-nav-h,62px);
    background:var(--mss3120-mobile-nav-bg,#fffefb);
    color:var(--mss3120-mobile-nav-text,#1f2f28);
    border-top:1px solid rgba(31,47,40,.06);
    border-bottom:1px solid rgba(31,47,40,.10);
    box-shadow:0 1px 0 rgba(18,32,25,.03);
    transition:height var(--mss-mobile-menu-speed,280ms) ease,background-color var(--mss-mobile-menu-speed,280ms) ease,color var(--mss-mobile-menu-speed,280ms) ease,box-shadow var(--mss-mobile-menu-speed,280ms) ease;
  }
  .mss-mobile-navbar.is-stuck{
    height:var(--mss3120-mobile-sticky-h,56px);
    background:var(--mss3120-mobile-sticky-bg,#fffefb);
    color:var(--mss3120-mobile-sticky-text,#1f2f28);
    box-shadow:0 10px 26px rgba(18,32,25,.12);
  }
  /* 3.12.6 — While the mobile menu is open the control bar must never scroll away.
     Force it to the viewport instead of relying on position:sticky, which can be
     invalidated by mobile browsers when html/body overflow changes. */
  .mss-mobile-navbar.is-open{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:10030!important;
    width:100%!important;
  }
  .mss-mobile-navbar__inner{
    width:min(100% - 28px,var(--mss-header-builder-max-width,1320px));
    height:100%;
    margin-inline:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
  }
  .mss-mobile-navbar__brand{min-width:0;display:flex;align-items:center;justify-content:flex-start;flex:1 1 auto}
  .mss-mobile-navbar__brand:empty{display:block}
  .mss-mobile-navbar__brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:var(--mss3120-mobile-brand-h,38px)!important;
    max-width:var(--mss3120-mobile-brand-w,180px)!important;
    object-fit:contain!important;
  }
  /* 3.12.4 — Brand visibility is tied to the dedicated mobile navbar sticky state. */
  .site-header[data-mss-mobile-brand-visibility="sticky"] + .mss-mobile-navbar:not(.is-stuck) .mss-mobile-navbar__brand{
    visibility:hidden!important; opacity:0!important; pointer-events:none!important;
  }
  .site-header[data-mss-mobile-brand-visibility="always"] + .mss-mobile-navbar .mss-mobile-navbar__brand{
    visibility:visible!important; opacity:1!important;
  }
  .site-header[data-mss-mobile-brand-visibility="never"] + .mss-mobile-navbar .mss-mobile-navbar__brand{
    display:none!important;
  }
  .mss-mobile-navbar.is-stuck .mss-mobile-navbar__brand img{
    max-height:var(--mss3124-mobile-brand-sticky-h,42px)!important;
    max-width:var(--mss3124-mobile-brand-sticky-w,220px)!important;
  }
  .mss-mobile-navbar__toggle{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    min-height:44px;
    padding:8px 14px;
    border:1px solid rgba(31,47,40,.14);
    border-radius:14px;
    background:#fff;
    color:inherit;
    font:inherit;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(18,32,25,.03);
  }
  .mss-mobile-navbar.is-stuck .mss-mobile-navbar__toggle{color:var(--mss3120-mobile-sticky-ham,#1f2f28)}
  .mss-mobile-navbar__label{font-size:1rem;line-height:1;white-space:nowrap}
  .mss-mobile-navbar__toggle .mss-hamburger-lines{display:flex;width:28px;height:22px;flex-direction:column;justify-content:space-between}
  .mss-mobile-navbar__toggle .mss-hamburger-lines>span{
    display:block;width:100%;height:3px;border-radius:999px;background:currentColor;transform-origin:center;
    transition:transform var(--mss-mobile-menu-speed,280ms) cubic-bezier(.2,.75,.2,1),opacity calc(var(--mss-mobile-menu-speed,280ms)*.65) ease;
  }
  .mss-mobile-navbar.is-open .mss-mobile-navbar__toggle .mss-hamburger-lines>span:nth-child(1){transform:translateY(9.5px) rotate(45deg)}
  .mss-mobile-navbar.is-open .mss-mobile-navbar__toggle .mss-hamburger-lines>span:nth-child(2){opacity:0}
  .mss-mobile-navbar.is-open .mss-mobile-navbar__toggle .mss-hamburger-lines>span:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)}
  .mss-mobile-navbar.is-menu-missing{display:none!important}

  .mss-mobile-menu-overlay{
    display:block;
    position:fixed;
    left:0;right:0;bottom:0;
    top:var(--mss-mobile-overlay-top,62px);
    z-index:10010;
    background:var(--mss3120-mobile-panel-bg,#fffefb);
    color:var(--mss3120-mobile-panel-text,#1f2f28);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    overflow-y:scroll;
    overflow-x:hidden;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    transform:translateY(-8px);
    transition:opacity var(--mss-mobile-menu-speed,280ms) ease,transform var(--mss-mobile-menu-speed,280ms) ease,visibility 0s linear var(--mss-mobile-menu-speed,280ms);
  }
  .mss-mobile-menu-overlay.is-open{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;
    transition:opacity var(--mss-mobile-menu-speed,280ms) ease,transform var(--mss-mobile-menu-speed,280ms) ease,visibility 0s;
  }
  .mss-mobile-menu-overlay__inner{min-height:100%;padding:8px 24px 40px}
  .mss-mobile-menu-overlay__nav{width:min(100%,680px);margin-inline:auto}
  .mss-mobile-menu-overlay__nav ul,
  .mss-mobile-menu-overlay__nav .menu,
  .mss-mobile-menu-overlay__nav .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .mss-mobile-menu-overlay__nav li,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .mss-mobile-menu-overlay__nav li::marker,
  .mss-mobile-menu-overlay__nav li::before,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item::marker,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item::before{content:none!important;display:none!important}
  .mss-mobile-menu-overlay__nav a,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item__content{
    display:flex!important;
    align-items:center!important;
    min-height:54px!important;
    width:100%!important;
    padding:12px 8px!important;
    border-bottom:1px solid rgba(31,47,40,.10)!important;
    background:transparent!important;
    color:inherit!important;
    text-decoration:none!important;
    font-size:clamp(1.1rem,4.5vw,1.35rem)!important;
    font-weight:700!important;
    line-height:1.3!important;
    white-space:normal!important;
  }
  .mss-mobile-menu-overlay__nav a:hover,
  .mss-mobile-menu-overlay__nav a:focus-visible{background:rgba(31,47,40,.05)!important}
  .mss-mobile-menu-overlay__nav .sub-menu{padding-left:16px!important}
  .mss-mobile-menu-overlay__nav .sub-menu a{font-size:1rem!important;font-weight:600!important;min-height:46px!important}
  /* Keep the page behind the overlay locked, but allow the overlay itself to scroll. */
  html.mss-mobile-menu-open,body.mss-mobile-menu-open{overflow:hidden!important;overscroll-behavior:none!important}
  /* 3.12.7: do not disable touch-action on html/body: it can suppress pan gestures in the overlay. */
  body.mss-mobile-menu-open .mss-mobile-menu-overlay{
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
    touch-action:pan-y!important;-webkit-overflow-scrolling:touch;
    height:calc(100dvh - var(--mss-mobile-overlay-top,62px));
    max-height:calc(100dvh - var(--mss-mobile-overlay-top,62px));
  }
}

@media(prefers-reduced-motion:reduce){
  .mss-mobile-navbar,.mss-mobile-menu-overlay,.mss-mobile-navbar__toggle .mss-hamburger-lines>span{transition:none!important}
}

/* 3.12.1 — Mobile navbar reliability: widget-only brand is cloned left; original cell is hidden on mobile. */
.mss-mobile-menu-source{display:none!important}
@media(max-width:820px){
  .mss-mobile-navbar__inner{justify-content:flex-start!important}
  .mss-mobile-navbar__brand{order:1;flex:1 1 auto!important;justify-content:flex-start!important;text-align:left!important}
  .mss-mobile-navbar__toggle{order:2;margin-left:auto!important}
  .site-header .mss-mobile-brand-source--consumed{display:none!important}
  .mss-mobile-navbar__brand img{margin:0!important;object-position:left center!important}
}


/* 3.12.7 — Desktop widget brand: visible only according to the desktop sticky policy. */
@media(min-width:821px){
  .site-header[data-mss-desktop-brand-visibility="sticky"]:not(.is-stuck) .mss-desktop-brand-source,
  .site-header[data-mss-desktop-brand-visibility="never"] .mss-desktop-brand-source{display:none!important}
  .site-header[data-mss-desktop-brand-visibility="sticky"].is-stuck .mss-desktop-brand-source,
  .site-header[data-mss-desktop-brand-visibility="always"] .mss-desktop-brand-source{display:flex!important;align-items:center!important}
  .site-header.is-stuck .mss-desktop-brand-source img{
    width:auto!important;height:auto!important;max-height:var(--mss3127-desktop-brand-sticky-h,44px)!important;
    max-width:var(--mss3127-desktop-brand-sticky-w,220px)!important;object-fit:contain!important;object-position:left center!important;margin:0!important
  }
}


/* 3.12.8 — Sticky Header Artwork Suppression.
   Image-only Header Builder cells/rows are marked by theme.js and removed only while
   the desktop header is actually sticky. The configured widget-only sticky brand is excluded. */
@media(min-width:821px){
  .site-header.is-stuck .mss-sticky-artwork-cell{display:none!important}
  .site-header.is-stuck .mss-sticky-artwork-row{display:none!important}
}

/* 3.12.9 — Per-widget device visibility */
.mss-widget-device-both{display:initial;}
@media (min-width:821px){
  .mss-widget-device-mobile{display:none!important;}
}
@media (max-width:820px){
  .mss-widget-device-desktop{display:none!important;}
}


/* =========================================================
   3.12.11 — Desktop Main Menu real-row height enforcement
   The Customizer value now controls the actual Header Builder row containing
   navigation, regardless of whether the menu is in Top/Main/Bottom.
   Sticky height remains independent.
   ========================================================= */
@media (min-width:821px){
  .site-header.mss-menu-height-desktop-explicit:not(.is-stuck) .mss-header-row--contains-menu{
    height:var(--mss-menu-h-desktop,74px)!important;
    min-height:var(--mss-menu-h-desktop,74px)!important;
  }
  .site-header.mss-menu-height-desktop-explicit:not(.is-stuck) .mss-header-row--contains-menu > .mss-header-row-inner{
    height:100%!important;
    min-height:100%!important;
    align-items:stretch!important;
  }
  .site-header.mss-menu-height-desktop-explicit:not(.is-stuck) .mss-header-row--contains-menu > .mss-header-row-inner > .mss-header-cell{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
  }
  .site-header:not(.is-stuck) .mss-header-row--contains-menu .widget_nav_menu,
  .site-header:not(.is-stuck) .mss-header-row--contains-menu .wp-block-navigation,
  .site-header:not(.is-stuck) .mss-header-row--contains-menu .primary-nav{
    width:100%;
  }
  .site-header.is-stuck .mss-header-row--contains-menu{
    height:var(--mss-sticky-h-desktop,80px)!important;
    min-height:var(--mss-sticky-h-desktop,80px)!important;
  }
  .site-header.is-stuck .mss-header-row--contains-menu > .mss-header-row-inner,
  .site-header.is-stuck .mss-header-row--contains-menu > .mss-header-row-inner > .mss-header-cell{
    height:100%!important;
    min-height:0!important;
    align-items:center!important;
  }
}


/* =========================================================
   3.12.13 — Desktop Header controls runtime fix
   - 0 height means Auto (no forced row height)
   - Desktop menu position is enforced by theme.js on the real menu row
   - Sticky desktop brand is rendered in a dedicated clone slot so per-widget
     device visibility on the source widget is never overridden.
   ========================================================= */
@media (min-width:821px){
  .site-header.mss-menu-height-desktop-auto:not(.is-stuck) .mss-header-row--contains-menu{
    height:auto!important;
    min-height:0!important;
  }
  .mss-desktop-sticky-brand-clone{
    display:none!important;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-start;
    min-width:0;
  }
  .site-header.is-stuck[data-mss-desktop-brand-visibility="sticky"] .mss-desktop-sticky-brand-clone,
  .site-header[data-mss-desktop-brand-visibility="always"] .mss-desktop-sticky-brand-clone{
    display:flex!important;
  }
  .site-header[data-mss-desktop-brand-visibility="never"] .mss-desktop-sticky-brand-clone{display:none!important}
  .mss-desktop-sticky-brand-clone img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:var(--mss3127-desktop-brand-sticky-h,44px)!important;
    max-width:var(--mss3127-desktop-brand-sticky-w,220px)!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
  }
  .site-header.is-stuck .mss-header-row--contains-menu > .mss-header-row-inner{
    gap:clamp(12px,2vw,28px);
  }
}


/* 3.13.0 — Main Menu vertical alignment inside its real Header Builder row */
@media (min-width:821px){
  .site-header.mss-menu-valign-desktop-top .mss-header-row--contains-menu > .mss-header-row-inner > .mss-header-cell{align-items:flex-start!important;}
  .site-header.mss-menu-valign-desktop-center .mss-header-row--contains-menu > .mss-header-row-inner > .mss-header-cell{align-items:center!important;}
  .site-header.mss-menu-valign-desktop-bottom .mss-header-row--contains-menu > .mss-header-row-inner > .mss-header-cell{align-items:flex-end!important;}
  .site-header .mss-header-row--contains-menu .widget_nav_menu{display:flex!important;width:100%!important;}
  .site-header.mss-menu-valign-desktop-top .mss-header-row--contains-menu .widget_nav_menu{align-self:flex-start!important;}
  .site-header.mss-menu-valign-desktop-center .mss-header-row--contains-menu .widget_nav_menu{align-self:center!important;}
  .site-header.mss-menu-valign-desktop-bottom .mss-header-row--contains-menu .widget_nav_menu{align-self:flex-end!important;}
}


/* 3.13.3 — Widget device + sticky-state visibility */
.mss-widget-device-hidden,
.mss-widget-state-hidden{display:none!important;}
.mss-widget-state-sticky{display:none!important;}
.site-header.is-stuck .mss-widget-state-sticky{display:initial!important;}
.site-header.is-stuck .mss-widget-state-normal{display:none!important;}
/* Mobile sticky state published by the clean mobile navbar runtime. */
html.mss-mobile-sticky-active .site-header .mss-widget-state-sticky,
body.mss-mobile-sticky-active .site-header .mss-widget-state-sticky{display:initial!important;}
html.mss-mobile-sticky-active .site-header .mss-widget-state-normal,
body.mss-mobile-sticky-active .site-header .mss-widget-state-normal{display:none!important;}

/* 3.13.5 — A sticky brand has exactly one visual instance.
   The source widget/cell is consumed; the dedicated sticky clone is the renderer. */
@media (min-width:821px){
  .site-header .mss-desktop-brand-source{display:none!important;}
  .site-header.is-stuck .mss-desktop-sticky-brand-clone{display:flex!important;align-items:center!important;}
}

/* =========================================================
   3.13.6 — Device visibility precedence over sticky state
   A widget marked Mobile-only must never become visible on Desktop merely
   because its state is Sticky (and vice versa). Device scope is the hard gate;
   state visibility is evaluated only inside the allowed device scope.
   ========================================================= */
@media (min-width:821px){
  .site-header .mss-widget-device-mobile,
  .site-header.is-stuck .mss-widget-device-mobile,
  html.mss-mobile-sticky-active .site-header .mss-widget-device-mobile,
  body.mss-mobile-sticky-active .site-header .mss-widget-device-mobile,
  .site-footer .mss-widget-device-mobile{
    display:none!important;
  }
  .site-header .mss-widget-device-desktop.mss-widget-state-sticky{display:none!important;}
  .site-header.is-stuck .mss-widget-device-desktop.mss-widget-state-sticky{display:initial!important;}
  .site-header.is-stuck .mss-widget-device-desktop.mss-widget-state-normal{display:none!important;}
}
@media (max-width:820px){
  .site-header .mss-widget-device-desktop,
  .site-header.is-stuck .mss-widget-device-desktop,
  html.mss-mobile-sticky-active .site-header .mss-widget-device-desktop,
  body.mss-mobile-sticky-active .site-header .mss-widget-device-desktop,
  .site-footer .mss-widget-device-desktop{
    display:none!important;
  }
  .site-header .mss-widget-device-mobile.mss-widget-state-sticky{display:none!important;}
  html.mss-mobile-sticky-active .site-header .mss-widget-device-mobile.mss-widget-state-sticky,
  body.mss-mobile-sticky-active .site-header .mss-widget-device-mobile.mss-widget-state-sticky{display:initial!important;}
  html.mss-mobile-sticky-active .site-header .mss-widget-device-mobile.mss-widget-state-normal,
  body.mss-mobile-sticky-active .site-header .mss-widget-device-mobile.mss-widget-state-normal{display:none!important;}
}


/* =========================================================
   3.13.7 — True Menu-only Sticky Architecture
   The complete site header scrolls naturally. On desktop only the real
   Header Builder row that contains the menu is fixed after reaching top:0.
   ========================================================= */
.site-header{
  position:relative!important;
  top:auto!important;
}
@media (min-width:821px){
  .mss-desktop-sticky-menu-placeholder{
    display:block;
    width:100%;
    min-height:0;
    pointer-events:none;
  }
  .mss-desktop-sticky-menu-placeholder[hidden]{display:none!important;}
  .site-header > .mss-header-row--contains-menu.mss-menu-row-fixed{
    position:fixed!important;
    top:0!important;
    left:var(--mss-fixed-row-left,0px)!important;
    width:var(--mss-fixed-row-width,100%)!important;
    right:auto!important;
    z-index:10050!important;
    background:var(--mss-sticky-bg-desktop,var(--mss-studio-header-bg,#fffefb))!important;
    box-shadow:0 10px 26px rgba(18,32,25,.12)!important;
    margin:0!important;
  }
  .site-header.is-stuck{
    position:relative!important;
    top:auto!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
}

/* =========================================================
   3.14.0 — Independent Header Bars Architecture
   Top Bar and Bottom Bar are independent surfaces; Header Main is artwork/content only.
   Sticky is applied to the bars themselves, never to the complete site header.
   ========================================================= */
.site-header.mss-header-architecture-3140{
  position:relative!important;
  top:auto!important;
  display:block!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.site-header.mss-header-architecture-3140 > .mss-header-main-3140{
  position:relative!important;
  width:100%!important;
  background:var(--mss3140-main-bg,#fffefb)!important;
  border:0!important;
}
.site-header.mss-header-architecture-3140 > .mss-header-main-3140 > .mss-header-row-inner{
  width:min(var(--mss3140-main-max,1320px),100%)!important;
  max-width:none!important;
  margin-inline:auto!important;
  grid-template-columns:var(--mss3140-main-cols,1fr 1fr 1fr)!important;
  min-height:0!important;
  padding:var(--mss3140-main-py,0px) var(--mss3140-main-px,0px)!important;
  gap:var(--mss-header-builder-gap,24px)!important;
}
.mss-independent-bar{
  position:relative;
  width:100%;
  z-index:60;
  color:var(--mss3140-bottombar-text,#20352b);
  isolation:isolate;
}
.mss-independent-bar > .mss-independent-bar__inner{
  max-width:none!important;
  margin-inline:auto!important;
  display:grid!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
.mss-topbar{
  background:var(--mss3140-topbar-bg,#fffefb)!important;
  color:var(--mss3140-topbar-text,#20352b)!important;
  border-bottom:var(--mss3140-topbar-bw,0px) solid var(--mss3140-topbar-bc,#e9e4dc)!important;
  box-shadow:var(--mss3140-topbar-shadow,none)!important;
}
.mss-topbar > .mss-independent-bar__inner{
  width:min(var(--mss3140-topbar-max,100vw),100%)!important;
  grid-template-columns:var(--mss3140-topbar-cols,1fr 1fr 1fr)!important;
  padding:var(--mss3140-topbar-py,8px) var(--mss3140-topbar-px,16px)!important;
  min-height:0!important;
}
.mss-bottombar{
  background:var(--mss3140-bottombar-bg,#fffefb)!important;
  color:var(--mss3140-bottombar-text,#20352b)!important;
  border-bottom:var(--mss3140-bottombar-bw,0px) solid var(--mss3140-bottombar-bc,#e9e4dc)!important;
  border-top:0!important;
  box-shadow:var(--mss3140-bottombar-shadow,none)!important;
}
.mss-bottombar > .mss-independent-bar__inner{
  width:min(var(--mss3140-bottombar-max,100vw),100%)!important;
  grid-template-columns:var(--mss3140-bottombar-cols,1fr 1fr 1fr)!important;
  padding:var(--mss3140-bottombar-py,8px) var(--mss3140-bottombar-px,16px)!important;
  min-height:0!important;
}
.mss-independent-bar .mss-header-cell{
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
}
.mss-independent-bar .mss-header-widget,
.mss-independent-bar .widget,
.mss-independent-bar .widget_nav_menu,
.mss-independent-bar nav{
  max-width:100%;
}
.mss-independent-bar .widget_nav_menu{width:100%;}
.mss-independent-bar.is-sticky-enabled{
  position:sticky!important;
  z-index:10060!important;
}
.mss-topbar.is-sticky-enabled{top:0!important;}
.mss-bottombar.is-sticky-enabled{top:var(--mss3140-topbar-sticky-offset,0px)!important;}
.mss-independent-bar.is-stuck{
  box-shadow:0 10px 28px rgba(18,32,25,.12)!important;
}
/* State visibility belongs to the sticky bar itself. */
.mss-independent-bar .mss-widget-state-sticky{display:none!important;}
.mss-independent-bar.is-stuck .mss-widget-state-sticky{display:initial!important;}
.mss-independent-bar.is-stuck .mss-widget-state-normal{display:none!important;}
/* Header Main is never a sticky surface in 3.14.0. */
.mss-header-main-3140 .mss-widget-state-sticky{display:none!important;}

@media(min-width:821px){
  .mss-topbar > .mss-independent-bar__inner{min-height:var(--mss3140-topbar-hd,0px)!important;}
  .mss-bottombar > .mss-independent-bar__inner{min-height:var(--mss3140-bottombar-hd,0px)!important;}
  .mss-topbar[data-mss-explicit-height="1"] > .mss-independent-bar__inner{height:var(--mss3140-topbar-hd)!important;}
  .mss-bottombar[data-mss-explicit-height="1"] > .mss-independent-bar__inner{height:var(--mss3140-bottombar-hd)!important;}
}
@media(max-width:820px){
  .mss-topbar > .mss-independent-bar__inner{min-height:var(--mss3140-topbar-hm,0px)!important;}
  .mss-bottombar > .mss-independent-bar__inner{min-height:var(--mss3140-bottombar-hm,0px)!important;}
  /* Dedicated hamburger navbar remains the mobile navigation surface. Hide classic menu widgets inside bars. */
  .site-header.mss-menu-layout-mobile-hamburger .mss-independent-bar .widget_nav_menu .menu,
  .site-header.mss-menu-layout-mobile-hamburger .mss-independent-bar .wp-block-navigation__container,
  .site-header.mss-menu-layout-mobile-hamburger .mss-independent-bar .primary-nav{display:none!important;}
}
@media(min-width:821px){
  .mss-topbar[data-mss-explicit-height="1"] > .mss-independent-bar__inner{height:auto!important;}
  .mss-bottombar[data-mss-explicit-height="1"] > .mss-independent-bar__inner{height:auto!important;}
  .mss-topbar > .mss-independent-bar__inner{height:var(--mss3140-topbar-hd,auto);}
  .mss-bottombar > .mss-independent-bar__inner{height:var(--mss3140-bottombar-hd,auto);}
  .mss-topbar[style*="--never"]{height:auto;}
}
@media(max-width:820px){
  .mss-topbar > .mss-independent-bar__inner{height:auto!important;}
  .mss-bottombar > .mss-independent-bar__inner{height:auto!important;}
}

/* =========================================================
   3.14.1 — Independent Bars Mobile Navigation Isolation
   In Hamburger mode the Bottom Bar is a desktop/navigation source only.
   The dedicated mobile navbar is the sole visible mobile navigation surface.
   ========================================================= */
@media(max-width:820px){
  /* Do not render the desktop Bottom Bar on mobile when the dedicated
     Hamburger navbar is active. Keeping the whole bar visible caused
     brand + desktop menu items to share the 3-column grid and wrap. */
  .site-header.mss-header-architecture-3140.mss-menu-layout-mobile-hamburger > .mss-bottombar{
    display:none!important;
  }

  /* The source menu remains available through the dedicated hidden PHP
     source outside the Builder; Top Bar and Header Main keep their own
     independent mobile visibility rules. */
  .site-header.mss-header-architecture-3140.mss-menu-layout-mobile-hamburger + .mss-mobile-navbar{
    display:block!important;
  }
}

/* =========================================================
   3.14.2 — Sticky bar persistence + collision-safe brand/menu layout
   Independent bars are BODY-level siblings. Their sticky state is no longer
   constrained by Header Main. Sticky-only artwork and navigation get separate
   grid tracks so they cannot overlap.
   ========================================================= */
.mss-independent-bar{
  position:relative;
  width:100%;
}
.mss-independent-bar.is-sticky-enabled{
  position:sticky!important;
  z-index:10060!important;
}
.mss-topbar.is-sticky-enabled{top:0!important;}
.mss-bottombar.is-sticky-enabled{top:var(--mss3140-topbar-sticky-offset,0px)!important;}

/* Device scope must work even though bars now live outside .site-header. */
@media (min-width:821px){
  .mss-independent-bar .mss-widget-device-mobile{display:none!important;}
  .mss-independent-bar .mss-widget-device-desktop.mss-widget-state-sticky{display:none!important;}
  .mss-independent-bar.is-stuck .mss-widget-device-desktop.mss-widget-state-sticky{display:block!important;}
  .mss-independent-bar.is-stuck .mss-widget-device-desktop.mss-widget-state-normal{display:none!important;}
}
@media (max-width:820px){
  .mss-independent-bar .mss-widget-device-desktop{display:none!important;}
  .mss-independent-bar .mss-widget-device-mobile.mss-widget-state-sticky{display:none!important;}
  .mss-independent-bar.is-stuck .mss-widget-device-mobile.mss-widget-state-sticky{display:block!important;}
  .mss-independent-bar.is-stuck .mss-widget-device-mobile.mss-widget-state-normal{display:none!important;}
}

/* In sticky mode reserve an intrinsic track for the brand and a flexible
   track for navigation. This prevents a large image from painting over menu. */
@media (min-width:821px){
  .mss-bottombar.is-stuck > .mss-independent-bar__inner,
  .mss-topbar.is-stuck > .mss-independent-bar__inner{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    column-gap:clamp(10px,1.5vw,28px)!important;
    align-items:center!important;
  }
  .mss-independent-bar.is-stuck .mss-header-cell{
    min-width:0!important;
    overflow:visible!important;
  }
  .mss-independent-bar.is-stuck .mss-header-cell--middle{
    justify-content:center!important;
  }
  .mss-independent-bar.is-stuck .widget_nav_menu,
  .mss-independent-bar.is-stuck nav{
    min-width:0!important;
    width:100%!important;
  }
  .mss-independent-bar.is-stuck .widget_nav_menu ul.menu,
  .mss-independent-bar.is-stuck .mss-nav-list,
  .mss-independent-bar.is-stuck .wp-block-navigation__container{
    max-width:100%!important;
    margin:0!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    row-gap:4px!important;
  }
  .mss-independent-bar.is-stuck .mss-widget-state-sticky img,
  .mss-independent-bar.is-stuck .mss-widget-device-desktop.mss-widget-state-sticky img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:var(--mss3127-desktop-brand-sticky-h,48px)!important;
    max-width:var(--mss3127-desktop-brand-sticky-w,220px)!important;
    object-fit:contain!important;
  }
}

/* The classic Bottom Bar is not part of hamburger mobile navigation. */
@media (max-width:820px){
  .mss-bottombar--mobile-isolated{display:none!important;}
  .mss-mobile-navbar{display:block!important;}
}


/* =========================================================
   3.14.3 — Deterministic fixed sticky bars
   Native position:sticky can be defeated by ancestor overflow/containment.
   The runtime now fixes only the independent bar after its natural threshold
   and preserves document flow with an equal-height placeholder.
   ========================================================= */
.mss-sticky-placeholder{
  display:block;
  width:100%;
  height:0;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none;
  visibility:hidden;
  overflow:hidden;
}
.mss-sticky-placeholder.is-active{display:block;visibility:hidden;}
.mss-independent-bar.is-sticky-enabled{
  position:relative!important;
  top:auto!important;
}
.mss-independent-bar.is-stuck{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  margin:0!important;
  z-index:10060!important;
}
.mss-topbar.is-stuck{top:0!important;}
.mss-bottombar.is-stuck{top:var(--mss3140-topbar-sticky-offset,0px)!important;}
@media (max-width:820px){
  .mss-bottombar--mobile-isolated.is-stuck{position:relative!important;top:auto!important;}
}


/* 3.14.6 — Header Main configurable 1/2/3-column grid */
.site-header.mss-header-architecture-3140 > .mss-header-main-3140 > .mss-header-row-inner{
  grid-template-columns:var(--mss3146-main-cols,var(--mss3140-main-cols,1fr))!important;
  gap:var(--mss3146-main-gap,0px)!important;
}
.site-header.mss-header-architecture-3140 > .mss-header-main-3140 .mss-header-cell{
  min-width:0!important;
  width:auto!important;
}
.site-header.mss-header-architecture-3140 > .mss-header-main-3140 .wp-block-image,
.site-header.mss-header-architecture-3140 > .mss-header-main-3140 figure{
  max-width:100%!important;
}
.site-header.mss-header-architecture-3140 > .mss-header-main-3140 img{
  max-width:100%!important;
  height:auto;
}


/* =========================================================
   3.14.8 — Bottom Bar configurable 1/2/3-column grid
   Desktop and mobile use independent active zones, order, widths and gap.
   ========================================================= */
@media (min-width:821px){
  .mss-bottombar > .mss-independent-bar__inner,
  .mss-bottombar.is-stuck > .mss-independent-bar__inner{
    grid-template-columns:var(--mss3148-bottombar-cols-desktop,var(--mss3140-bottombar-cols,1fr 1fr 1fr))!important;
    gap:var(--mss3148-bottombar-gap-desktop,0px)!important;
  }
  .mss-bottombar .mss-header-cell--left{order:var(--mss3148-bottombar-order-left-desktop,1)!important;display:var(--mss3148-bottombar-display-left-desktop,flex)!important;}
  .mss-bottombar .mss-header-cell--middle{order:var(--mss3148-bottombar-order-middle-desktop,2)!important;display:var(--mss3148-bottombar-display-middle-desktop,flex)!important;}
  .mss-bottombar .mss-header-cell--right{order:var(--mss3148-bottombar-order-right-desktop,3)!important;display:var(--mss3148-bottombar-display-right-desktop,flex)!important;}
}
@media (max-width:820px){
  .mss-bottombar > .mss-independent-bar__inner,
  .mss-bottombar.is-stuck > .mss-independent-bar__inner{
    grid-template-columns:var(--mss3148-bottombar-cols-mobile,var(--mss3140-bottombar-cols,1fr 1fr 1fr))!important;
    gap:var(--mss3148-bottombar-gap-mobile,0px)!important;
  }
  .mss-bottombar .mss-header-cell--left{order:var(--mss3148-bottombar-order-left-mobile,1)!important;display:var(--mss3148-bottombar-display-left-mobile,flex)!important;}
  .mss-bottombar .mss-header-cell--middle{order:var(--mss3148-bottombar-order-middle-mobile,2)!important;display:var(--mss3148-bottombar-display-middle-mobile,flex)!important;}
  .mss-bottombar .mss-header-cell--right{order:var(--mss3148-bottombar-order-right-mobile,3)!important;display:var(--mss3148-bottombar-display-right-mobile,flex)!important;}
}


/* =========================================================
   3.14.9 — Mobile sticky brand state isolation
   The mobile navbar is now a BODY-level sibling of Header Main/Bottom Bar.
   Brand visibility must therefore be driven by the navbar itself, not by
   an obsolete adjacent-sibling selector from the pre-3.14 architecture.
   ========================================================= */
@media (max-width:820px){
  .mss-mobile-navbar[data-mss-mobile-brand-visibility="sticky"]:not(.is-stuck) .mss-mobile-navbar__brand{
    display:none!important;
  }
  .mss-mobile-navbar[data-mss-mobile-brand-visibility="sticky"].is-stuck .mss-mobile-navbar__brand{
    display:flex!important;
  }
  .mss-mobile-navbar[data-mss-mobile-brand-visibility="never"] .mss-mobile-navbar__brand{
    display:none!important;
  }
}

/* 3.14.19 — Guide Card Visual Fallback */
.editorial-card-media.has-guide-visual{position:relative;background-color:#f3f1eb;}
.editorial-card-media.has-guide-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.editorial-card-media.guide-visual-card-background img{filter:saturate(.92) contrast(.98);}
@media(max-width:620px){.editorial-card-media{aspect-ratio:16/9;}}


/* 3.14.20 — Guide Card Guaranteed Visual */
.editorial-card-media.has-guide-visual{background:#f2eee4;}
.editorial-card-media .mss-guide-card-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;}
.editorial-card-media.guide-visual-bundled-category .mss-guide-card-image,
.editorial-card-media.guide-visual-bundled-default .mss-guide-card-image{object-fit:cover;}


/* 3.14.21 — Guide Card Raster Visual hardening */
.editorial-card-media.has-guide-visual{
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
.editorial-card-media.has-guide-visual .mss-guide-card-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;
}


/* =========================================================
   3.14.23 — Media Manager Guide Card visual renderer compatibility
   Targets the actual markup emitted by MSS_Guides::render_card().
   ========================================================= */
.mss-guide-card .mss-guide-media,
.editorial-card .editorial-card-media{
  position:relative;display:block;overflow:hidden;background-color:#f2eee4;
  background-position:center;background-repeat:no-repeat;background-size:cover;
}
.mss-guide-card .mss-guide-media{aspect-ratio:16/9;}
.mss-guide-card .mss-guide-media.mss-guide-media--visual img,
.mss-guide-card .mss-guide-media .mss-guide-card-runtime-image{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:center;z-index:2;
}
.mss-guide-card .mss-guide-media.mss-guide-media--visual .mss-placeholder{display:none!important;}
.mss-guide-card .mss-guide-media .mss-placeholder{
  color:transparent!important;font-size:0!important;text-shadow:none!important;
}
@media(max-width:620px){.mss-guide-card .mss-guide-media{aspect-ratio:16/9;}}

/* 3.14.26 — Premium Editorial Footer Redesign */
.mss-footer-pro{
  --mss-footer-pro-bg:#08251c;
  --mss-footer-pro-bg-2:#0b3024;
  --mss-footer-pro-gold:#d3ad5a;
  --mss-footer-pro-gold-2:#efcf82;
  --mss-footer-pro-text:#f7f4ea;
  --mss-footer-pro-muted:#c6d0ca;
  --mss-footer-pro-line:rgba(239,207,130,.22);
  position:relative;
  margin:0;
  padding:0;
  background:var(--mss-footer-pro-bg);
  color:var(--mss-footer-pro-text);
  overflow:hidden;
}
.mss-footer-pro::before,
.mss-footer-pro::after{
  content:"";
  position:absolute;
  pointer-events:none;
  width:420px;
  height:420px;
  border-radius:50%;
  opacity:.14;
  filter:blur(1px);
  background:radial-gradient(circle at 35% 35%,rgba(211,173,90,.14),transparent 62%);
}
.mss-footer-pro::before{right:-140px;top:-110px}
.mss-footer-pro::after{left:-190px;bottom:-200px}
.mss-footer-pro__shell{
  position:relative;
  z-index:1;
  width:min(calc(100% - 64px),1320px);
  margin:0 auto;
  padding:64px 0 28px;
}
.mss-footer-pro__hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);
  gap:64px;
  align-items:center;
  padding-bottom:48px;
  border-bottom:1px solid var(--mss-footer-pro-line);
}
.mss-footer-pro__brand-lockup{display:flex;align-items:center;gap:16px;margin-bottom:26px;min-height:82px}
.mss-footer-pro__brand-picture{display:inline-flex;align-items:center;min-width:0}
.mss-footer-pro__brand-picture--mobile{display:none}
.mss-footer-pro__logo{display:block;width:auto;height:auto;max-width:min(100%,var(--mss-footer-brand-desktop-max,360px));max-height:150px;object-fit:contain;object-position:left center}
.mss-footer-pro__brand-lockup--image .mss-footer-pro__brand-name{display:none}
.mss-footer-pro__monogram{
  display:grid;place-items:center;width:78px;height:78px;border:1px solid var(--mss-footer-pro-gold);border-radius:50%;
  font-family:Georgia,"Times New Roman",serif;font-size:35px;line-height:1;color:var(--mss-footer-pro-gold-2)
}
.mss-footer-pro__brand-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1;color:var(--mss-footer-pro-gold-2)}
.mss-footer-pro__brand h2{margin:0 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.2vw,3.35rem);line-height:1.06;font-weight:500;color:#fff}
.mss-footer-pro__brand>p{max-width:620px;margin:0;color:var(--mss-footer-pro-muted);font-size:1.02rem;line-height:1.72}
.mss-footer-pro__trust{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}
.mss-footer-pro__trust-item{display:flex;align-items:center;gap:11px;color:#fff;font-size:.92rem;line-height:1.35}
.mss-footer-pro__icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--mss-footer-pro-gold);border-radius:50%;color:var(--mss-footer-pro-gold-2);flex:0 0 44px}
.mss-footer-pro__icon svg,.mss-footer-pro__newsletter-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mss-footer-pro__newsletter{
  position:relative;
  padding:36px;
  border:1px solid rgba(239,207,130,.25);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  box-shadow:0 28px 70px rgba(0,0,0,.18);
  overflow:hidden;
}
.mss-footer-pro__newsletter::after{
  content:"";position:absolute;inset:auto -60px -80px auto;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(211,173,90,.08),transparent 65%);pointer-events:none
}
.mss-footer-pro__newsletter-icon{display:inline-grid;place-items:center;width:34px;height:34px;color:var(--mss-footer-pro-gold-2);margin-bottom:14px}
.mss-footer-pro__eyebrow{display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:var(--mss-footer-pro-gold-2)}
.mss-footer-pro__newsletter h3{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.5vw,2.3rem);line-height:1.15;font-weight:500;color:#fff}
.mss-footer-pro__newsletter p{margin:0 0 22px;color:var(--mss-footer-pro-muted);line-height:1.6}
.mss-footer-pro__newsletter-form{display:grid;grid-template-columns:1fr auto;overflow:hidden;border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.mss-footer-pro__newsletter-form input{min-width:0;border:0!important;outline:0!important;background:#fff!important;color:#26312c!important;padding:15px 17px!important;font:inherit!important;box-shadow:none!important}
.mss-footer-pro__newsletter-form button{border:0;border-radius:0;padding:0 26px;background:linear-gradient(135deg,var(--mss-footer-pro-gold-2),var(--mss-footer-pro-gold));color:#102219;font-weight:800;cursor:pointer}
.mss-footer-pro__newsletter small{display:block;margin-top:12px;color:#aebbb4;font-size:.77rem}
.mss-footer-pro__links{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:0;padding:34px 0 38px;border-bottom:1px solid var(--mss-footer-pro-line)}
.mss-footer-pro__group{min-width:0;padding:0 32px;border-left:1px solid var(--mss-footer-pro-line)}
.mss-footer-pro__group:first-child{padding-left:0;border-left:0}
.mss-footer-pro__group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0;margin:0 0 16px;border:0;background:transparent;color:var(--mss-footer-pro-gold-2);text-align:left;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800;cursor:default}
.mss-footer-pro__group-toggle span:last-child{display:none}
.mss-footer-pro__group-body{display:grid;gap:11px}
.mss-footer-pro__group-body a{color:#f5f2e8;text-decoration:none;font-size:.93rem;line-height:1.38;transition:color .18s ease,transform .18s ease}
.mss-footer-pro__group-body a:hover{color:var(--mss-footer-pro-gold-2);transform:translateX(2px)}
.mss-footer-pro__group-body p{margin:0;color:#b9c4be;font-size:.84rem;line-height:1.55}
.mss-footer-pro__contact-btn{display:inline-flex!important;width:max-content;align-items:center;gap:8px;margin-top:5px;padding:10px 18px;border:1px solid var(--mss-footer-pro-gold)!important;border-radius:10px;color:var(--mss-footer-pro-gold-2)!important;font-weight:750}
.mss-footer-pro__contact-btn:hover{background:rgba(211,173,90,.08)}
.mss-footer-pro__bottom{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding-top:24px}
.mss-footer-pro__bottom p{margin:0;color:#aeb9b3;font-size:.78rem}
.mss-footer-pro__legal{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:flex-end}
.mss-footer-pro__legal a{position:relative;color:#cbd4cf;text-decoration:none;font-size:.78rem}
.mss-footer-pro__legal a+a::before{content:"";position:absolute;left:-10px;top:20%;width:1px;height:60%;background:var(--mss-footer-pro-line)}
.mss-footer-pro__legal a:hover{color:var(--mss-footer-pro-gold-2)}

@media (max-width:900px){
  .mss-footer-pro__shell{width:min(calc(100% - 36px),720px);padding-top:42px}
  .mss-footer-pro__hero{grid-template-columns:1fr;gap:30px;padding-bottom:34px}
  .mss-footer-pro__brand-lockup{margin-bottom:20px}
  .mss-footer-pro__brand-picture--desktop{display:none}
  .mss-footer-pro__brand-picture--mobile{display:inline-flex}
  .mss-footer-pro__logo{max-width:min(100%,var(--mss-footer-brand-mobile-max,300px));max-height:132px;object-position:left center}
  .mss-footer-pro__brand h2{font-size:2rem}
  .mss-footer-pro__brand>p{font-size:.95rem;line-height:1.65}
  .mss-footer-pro__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}
  .mss-footer-pro__trust-item{display:grid;justify-items:center;text-align:center;gap:7px;font-size:.76rem}
  .mss-footer-pro__newsletter{padding:24px;border-radius:20px}
  .mss-footer-pro__newsletter h3{font-size:1.55rem}
  .mss-footer-pro__links{display:block;padding:20px 0 24px}
  .mss-footer-pro__group{padding:0;border-left:0;border-bottom:1px solid var(--mss-footer-pro-line)}
  .mss-footer-pro__group:last-child{border-bottom:0}
  .mss-footer-pro__group-toggle{margin:0;padding:16px 0;color:#fff;text-transform:none;letter-spacing:0;font-size:1rem;cursor:pointer}
  .mss-footer-pro__group-toggle span:last-child{display:inline-block;color:#aebbb4;transition:transform .2s ease}
  .mss-footer-pro__group-toggle[aria-expanded="true"] span:last-child{transform:rotate(180deg)}
  .mss-footer-pro__group-body{display:none;padding:0 0 16px}
  .mss-footer-pro__group.is-open .mss-footer-pro__group-body{display:grid}
  .mss-footer-pro__bottom{grid-template-columns:1fr;text-align:center;padding-top:22px}
  .mss-footer-pro__legal{justify-content:center}
}
@media (max-width:520px){
  .mss-footer-pro__shell{width:min(calc(100% - 28px),520px)}
  .mss-footer-pro__newsletter-form{grid-template-columns:1fr auto}
  .mss-footer-pro__newsletter-form input{padding:13px!important;font-size:.9rem!important}
  .mss-footer-pro__newsletter-form button{padding:0 16px;font-size:.88rem}
  .mss-footer-pro__trust{gap:6px}
  .mss-footer-pro__icon{width:38px;height:38px;flex-basis:38px}
  .mss-footer-pro__icon svg{width:20px;height:20px}
  .mss-footer-pro__brand-name{font-size:2.7rem}
}


/* 3.14.29 — Mobile Menu Vertical Layout Hardening */
@media(max-width:820px){
  .mss-mobile-menu-overlay__nav,
  .mss-mobile-menu-overlay__nav > *,
  .mss-mobile-menu-overlay__nav ul,
  .mss-mobile-menu-overlay__nav .menu,
  .mss-mobile-menu-overlay__nav .mss-nav-list,
  .mss-mobile-menu-overlay__nav .mss-mobile-source-list,
  .mss-mobile-menu-overlay__nav .wp-block-navigation,
  .mss-mobile-menu-overlay__nav .wp-block-navigation__container{
    width:100%!important;
    max-width:none!important;
  }

  .mss-mobile-menu-overlay__nav ul,
  .mss-mobile-menu-overlay__nav .menu,
  .mss-mobile-menu-overlay__nav .mss-nav-list,
  .mss-mobile-menu-overlay__nav .mss-mobile-source-list,
  .mss-mobile-menu-overlay__nav .wp-block-navigation__container{
    display:flex!important;
    flex-flow:column nowrap!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
  }

  .mss-mobile-menu-overlay__nav li,
  .mss-mobile-menu-overlay__nav .menu-item,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:none!important;
  }

  .mss-mobile-menu-overlay__nav li > a,
  .mss-mobile-menu-overlay__nav .menu-item > a,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item__content{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }

  .mss-mobile-menu-overlay__nav .sub-menu{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
  }
}


/* 3.14.30 — Guide media safety / branded placeholder */
.mss-guide-card .mss-guide-media{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:220px;
  background:
    radial-gradient(circle at 18% 22%,rgba(195,158,93,.13),transparent 34%),
    linear-gradient(145deg,#f7f3ea 0%,#efe9dc 100%);
}
.mss-guide-card .mss-guide-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
}
.mss-guide-card .mss-guide-media.has-placeholder{
  min-height:220px;
}
.mss-guide-media-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:24px;
  text-align:center;
}
.mss-guide-media-placeholder__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:74px;
  height:74px;
  border:1px solid rgba(166,116,42,.35);
  border-radius:50%;
  color:#a6742a;
  font-family:Georgia,'Times New Roman',serif;
  font-size:28px;
  letter-spacing:.04em;
  background:rgba(255,255,255,.5);
}
.mss-guide-media-placeholder__text{
  color:#7b694d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
@media(max-width:782px){
  .navigation.pagination .nav-links,
  nav.navigation.pagination .nav-links,
  .mss-guide-pagination,
  .pagination .nav-links{
    gap:7px;
  }
  .navigation.pagination .page-numbers,
  nav.navigation.pagination .page-numbers,
  .mss-guide-pagination a,
  .mss-guide-pagination span,
  .pagination .page-numbers{
    min-width:40px;
    height:40px;
    padding:0 12px;
    font-size:15px;
  }
  .navigation.pagination .prev,
  .navigation.pagination .next,
  nav.navigation.pagination .prev,
  nav.navigation.pagination .next,
  .mss-guide-pagination .prev,
  .mss-guide-pagination .next,
  .pagination .prev,
  .pagination .next{
    flex:1 1 calc(50% - 4px);
    max-width:190px;
  }
  .mss-guide-card .mss-guide-media,
  .mss-guide-card .mss-guide-media img,
  .mss-guide-card .mss-guide-media.has-placeholder{
    min-height:190px;
  }
}


/* 3.14.31 — Guide card image runtime fallback */
.editorial-card-media{
  position:relative;
  overflow:hidden;
  background-color:#f3eee4;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.editorial-card-media .mss-guide-card-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.editorial-card-media .mss-guide-card-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:22px;
  text-align:center;
  background:
    radial-gradient(circle at 20% 20%,rgba(197,158,91,.16),transparent 34%),
    linear-gradient(145deg,#f8f4eb 0%,#eee7d9 100%);
  opacity:1;
  visibility:visible;
}
.editorial-card-media.has-image .mss-guide-card-placeholder{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.editorial-card-media.has-placeholder .mss-guide-card-placeholder{
  opacity:1;
  visibility:visible;
}
.mss-guide-card-placeholder__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border:1px solid rgba(166,116,42,.38);
  border-radius:50%;
  background:rgba(255,255,255,.56);
  color:#a6742a;
  font-family:Georgia,'Times New Roman',serif;
  font-size:27px;
  line-height:1;
}
.mss-guide-card-placeholder__label{
  max-width:90%;
  color:#7a6747;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}


/* 3.14.32 — Guide Pagination Editorial Style */
.navigation.pagination,
nav.navigation.pagination,
.mss-guide-pagination,
.pagination{
  margin:38px auto 34px;
  padding:0 16px;
}

.navigation.pagination .nav-links,
nav.navigation.pagination .nav-links,
.mss-guide-pagination,
.pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:760px;
  margin:0 auto;
}

.navigation.pagination .page-numbers,
nav.navigation.pagination .page-numbers,
.mss-guide-pagination a,
.mss-guide-pagination span,
.pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 15px;
  border:1px solid rgba(166,116,42,.28);
  border-radius:999px;
  background:linear-gradient(180deg,#fffdf8 0%,#f8f3e8 100%);
  color:#173027!important;
  text-decoration:none!important;
  font-weight:700;
  line-height:1;
  box-shadow:0 4px 14px rgba(23,48,39,.055);
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease,
    background .16s ease,
    color .16s ease;
  -webkit-tap-highlight-color:transparent;
}

.navigation.pagination a.page-numbers:hover,
nav.navigation.pagination a.page-numbers:hover,
.mss-guide-pagination a:hover,
.pagination a.page-numbers:hover{
  transform:translateY(-1px);
  border-color:rgba(166,116,42,.55);
  box-shadow:0 7px 20px rgba(23,48,39,.09);
  background:linear-gradient(180deg,#fffaf0 0%,#f2e9d8 100%);
}

.navigation.pagination a.page-numbers:focus-visible,
nav.navigation.pagination a.page-numbers:focus-visible,
.mss-guide-pagination a:focus-visible,
.pagination a.page-numbers:focus-visible{
  outline:3px solid rgba(166,116,42,.26);
  outline-offset:3px;
}

.navigation.pagination .page-numbers.current,
nav.navigation.pagination .page-numbers.current,
.mss-guide-pagination .current,
.pagination .page-numbers.current{
  background:linear-gradient(180deg,#1d3a30 0%,#10291f 100%);
  border-color:#173027;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(23,48,39,.16);
}

.navigation.pagination .prev,
.navigation.pagination .next,
nav.navigation.pagination .prev,
nav.navigation.pagination .next,
.mss-guide-pagination .prev,
.mss-guide-pagination .next,
.pagination .prev,
.pagination .next{
  min-width:auto;
  padding-inline:20px;
  gap:8px;
  border-color:rgba(166,116,42,.34);
  background:linear-gradient(180deg,#fbf5e9 0%,#f1e6d3 100%);
  color:#21372f!important;
  font-weight:750;
}

.navigation.pagination .prev:hover,
.navigation.pagination .next:hover,
nav.navigation.pagination .prev:hover,
nav.navigation.pagination .next:hover,
.mss-guide-pagination .prev:hover,
.mss-guide-pagination .next:hover,
.pagination .prev:hover,
.pagination .next:hover{
  background:linear-gradient(180deg,#f6ecda 0%,#eadabf 100%);
  border-color:rgba(166,116,42,.62);
}

.navigation.pagination .dots,
nav.navigation.pagination .dots,
.pagination .dots{
  min-width:24px;
  padding:0 2px;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  color:#8a7a63!important;
}

.navigation.pagination .page-numbers[aria-disabled="true"],
nav.navigation.pagination .page-numbers[aria-disabled="true"],
.pagination .page-numbers[aria-disabled="true"]{
  opacity:.42;
  pointer-events:none;
}

/* Compact mobile composition: previous/next on one row, numbers below when needed */
@media(max-width:782px){
  .navigation.pagination,
  nav.navigation.pagination,
  .mss-guide-pagination,
  .pagination{
    margin:30px auto 28px;
    padding:0 14px;
  }

  .navigation.pagination .nav-links,
  nav.navigation.pagination .nav-links,
  .mss-guide-pagination,
  .pagination .nav-links{
    gap:8px;
  }

  .navigation.pagination .page-numbers,
  nav.navigation.pagination .page-numbers,
  .mss-guide-pagination a,
  .mss-guide-pagination span,
  .pagination .page-numbers{
    min-width:40px;
    height:40px;
    padding:0 12px;
    font-size:15px;
  }

  .navigation.pagination .prev,
  .navigation.pagination .next,
  nav.navigation.pagination .prev,
  nav.navigation.pagination .next,
  .mss-guide-pagination .prev,
  .mss-guide-pagination .next,
  .pagination .prev,
  .pagination .next{
    flex:1 1 calc(50% - 4px);
    max-width:220px;
    height:46px;
    padding-inline:16px;
  }
}

@media(max-width:420px){
  .navigation.pagination .nav-links,
  nav.navigation.pagination .nav-links,
  .mss-guide-pagination,
  .pagination .nav-links{
    gap:7px;
  }

  .navigation.pagination .page-numbers,
  nav.navigation.pagination .page-numbers,
  .mss-guide-pagination a,
  .mss-guide-pagination span,
  .pagination .page-numbers{
    min-width:38px;
    height:38px;
    padding:0 10px;
    font-size:14px;
  }

  .navigation.pagination .prev,
  .navigation.pagination .next,
  nav.navigation.pagination .prev,
  nav.navigation.pagination .next,
  .mss-guide-pagination .prev,
  .mss-guide-pagination .next,
  .pagination .prev,
  .pagination .next{
    flex-basis:100%;
    max-width:none;
    width:100%;
  }
}


/* 3.14.37 — Mobile Compact Header Refinement
 * Goal: reduce vertical waste above the homepage hero without changing
 * desktop/header architecture or mobile menu behavior.
 */
@media (max-width: 820px) {
  /* Header image: keep full width, but reduce perceived height. */
  .mss-header-image,
  .mss-header-image img,
  .site-header .custom-header,
  .site-header .custom-header img,
  .site-header .header-image,
  .site-header .header-image img {
    max-height: 310px;
  }

  .mss-header-image img,
  .site-header .custom-header img,
  .site-header .header-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    display: block;
  }

  /* Compress the mobile bar around the Menu button. */
  .mss-mobile-navbar,
  .mss-mobile-navbar-wrap,
  .mss-mobile-menu-bar,
  .mss-mobile-header-bar {
    min-height: 64px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .mss-mobile-navbar__inner,
  .mss-mobile-navbar .mss-container,
  .mss-mobile-menu-bar .mss-container {
    min-height: 52px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .mss-mobile-navbar__toggle,
  .mss-mobile-menu-toggle,
  .mss-menu-toggle {
    min-height: 54px !important;
    padding: 10px 18px !important;
  }

  /* Remove oversized blank separation before page content/hero. */
  .site-header + .site-main,
  header.site-header + main.site-main,
  .mss-mobile-navbar + .site-main,
  .mss-mobile-menu-bar + .site-main {
    margin-top: 0 !important;
  }

  .site-main > .home-hero:first-child,
  .site-main > section.home-hero:first-child,
  .home-hero.home-hero-v32 {
    margin-top: 0 !important;
  }

  /* Keep hero breathing room, but not excessive. */
  .home-hero .mss-container,
  .home-hero-v32 .mss-container {
    padding-top: clamp(34px, 7vw, 52px);
  }

  /* Search field: avoid truncated placeholder on narrower screens. */
  .home-hero input[type="search"],
  .mss-product-search input[type="search"],
  .mss-search-form input[type="search"] {
    min-width: 0;
    font-size: clamp(16px, 4vw, 18px);
  }

  .home-hero .mss-search-form,
  .home-hero form[role="search"],
  .mss-product-search {
    gap: 8px;
  }

  .home-hero .mss-search-form button,
  .home-hero form[role="search"] button {
    flex: 0 0 auto;
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 480px) {
  .mss-header-image,
  .mss-header-image img,
  .site-header .custom-header,
  .site-header .custom-header img,
  .site-header .header-image,
  .site-header .header-image img {
    max-height: 255px;
  }

  .mss-mobile-navbar__toggle,
  .mss-mobile-menu-toggle,
  .mss-menu-toggle {
    min-height: 50px !important;
    padding: 8px 14px !important;
  }

  .home-hero .mss-container,
  .home-hero-v32 .mss-container {
    padding-top: 30px;
  }
}


/* 3.14.38 — Mobile Navbar Actual Height Fix
 * 3.14.37 only changed min-height/padding; the real navbar was still controlled
 * by --mss3120-mobile-nav-h and could remain ~100px from an existing Customizer value.
 * This release constrains the actual rendered surface on mobile.
 */
@media (max-width: 820px) {
  .site-header.mss-header-architecture-3140 + .mss-mobile-navbar,
  .mss-mobile-navbar[data-mss-mobile-navbar] {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar] .mss-mobile-navbar__inner {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar] .mss-mobile-navbar__toggle {
    min-height: 46px !important;
    height: 46px !important;
    padding: 8px 14px !important;
    margin: 0 !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__inner {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  /* The mobile overlay must start immediately below the real navbar height. */
  .mss-mobile-menu-overlay {
    top: 60px !important;
  }

  .mss-mobile-navbar.is-stuck + .mss-mobile-menu-overlay,
  body.mss-mobile-sticky-active .mss-mobile-menu-overlay,
  html.mss-mobile-sticky-active .mss-mobile-menu-overlay {
    top: 56px !important;
  }

  /* Reduce the remaining whitespace before the homepage hero. */
  .site-main > .home-hero:first-child,
  .site-main > section.home-hero:first-child,
  .home-hero.home-hero-v32.home-hero-v37 {
    padding-top: 28px !important;
    margin-top: 0 !important;
  }

  .home-hero.home-hero-v32.home-hero-v37 .mss-container {
    padding-top: 0 !important;
  }
}

@media (max-width: 480px) {
  .site-header.mss-header-architecture-3140 + .mss-mobile-navbar,
  .mss-mobile-navbar[data-mss-mobile-navbar] {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar] .mss-mobile-navbar__inner {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar] .mss-mobile-navbar__toggle {
    height: 44px !important;
    min-height: 44px !important;
    padding: 7px 12px !important;
  }

  .mss-mobile-menu-overlay {
    top: 56px !important;
  }

  .site-main > .home-hero:first-child,
  .site-main > section.home-hero:first-child,
  .home-hero.home-hero-v32.home-hero-v37 {
    padding-top: 24px !important;
  }
}


/* 3.14.39 — Mobile Menu Centered Initial State
 * Center the Menu + hamburger control only before sticky activation.
 * Sticky layout remains unchanged so brand/menu behavior during scroll is preserved.
 */
@media (max-width: 820px) {
  .mss-mobile-navbar[data-mss-mobile-navbar]:not(.is-stuck) .mss-mobile-navbar__inner {
    justify-content: center !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar]:not(.is-stuck) .mss-mobile-navbar__brand {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar]:not(.is-stuck) .mss-mobile-navbar__toggle {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* 3.14.40 — Sticky Mobile Brand Overflow Guard
 * The logo can never exceed the sticky toolbar even if an old/custom value
 * survives in the database or a large source image is selected.
 */
@media (max-width: 820px) {
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    overflow: hidden !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__inner {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    overflow: hidden !important;
    align-items: center !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 56px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-height: 34px !important;
    max-width: 160px !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 !important;
    flex: 0 1 auto !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__toggle {
    flex: 0 0 auto !important;
    max-height: 46px !important;
  }
}

@media (max-width: 390px) {
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand img {
    max-height: 30px !important;
    max-width: 132px !important;
  }
}


/* 3.14.41 — Sticky Mobile Brand Visual Balance */
@media (max-width: 820px) {
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand {
    height: 100% !important;
    max-height: 56px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand img {
    width: auto !important;
    height: auto !important;
    max-height: 40px !important;
    max-width: 185px !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 !important;
  }
}

@media (max-width: 390px) {
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand img {
    max-height: 36px !important;
    max-width: 155px !important;
  }
}


/* 3.14.42 — Desktop Full Width Header Image
 * The Header Main artwork spans the full viewport width on desktop.
 * Mobile layout and sticky navigation behavior remain unchanged.
 */
@media (min-width: 821px) {
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header.mss-header-architecture-3140 > .mss-header-main-3140 > .mss-header-row-inner,
  .mss-header-row--main.mss-header-row--single-widget-fullwidth > .mss-header-row-inner,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth > .mss-header-row-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .mss-header-row--main.mss-header-row--single-widget-fullwidth .mss-header-cell,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth .mss-header-cell {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
  }

  .mss-header-row--main.mss-header-row--single-widget-fullwidth .widget,
  .mss-header-row--main.mss-header-row--single-widget-fullwidth .mss-header-widget,
  .mss-header-row--main.mss-header-row--single-widget-fullwidth .wp-block-image,
  .mss-header-row--main.mss-header-row--single-widget-fullwidth figure,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth .widget,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth .mss-header-widget,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth .wp-block-image,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth figure {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mss-header-row--main.mss-header-row--single-widget-fullwidth .wp-block-image img,
  .mss-header-row--main.mss-header-row--single-widget-fullwidth figure img,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth .wp-block-image img,
  .mss-header-row--main.mss-header-row--desktop-single-widget-fullwidth figure img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--mss-brand-header-h-desktop, 220px) !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
  }
}


/* =========================================================
   3.14.43 — Runtime-aware Desktop Full Width Header Image
   Uses the real Header Main markup emitted by header.php.
   When exactly one Header Main column is active, that column becomes the
   full-width artwork surface. This does not depend on legacy JS-added classes.
   ========================================================= */
@media (min-width: 821px) {
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140.mss-header-main-single-active {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .site-header.mss-header-architecture-3140 > .mss-header-main-3140.mss-header-main-single-active > .mss-header-row-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .site-header.mss-header-architecture-3140 > .mss-header-main-3140.mss-header-main-single-active > .mss-header-row-inner > .mss-header-cell {
    display: none !important;
  }

  .site-header.mss-header-architecture-3140 > .mss-header-main-3140.mss-header-main-single-middle > .mss-header-row-inner > .mss-header-main-middle,
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140.mss-header-main-single-left > .mss-header-row-inner > .mss-header-main-left,
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140.mss-header-main-single-right > .mss-header-row-inner > .mss-header-main-right {
    display: flex !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: stretch !important;
  }

  .mss-header-main-3140.mss-header-main-single-active .mss-header-cell > .widget,
  .mss-header-main-3140.mss-header-main-single-active .mss-header-cell > .mss-header-widget,
  .mss-header-main-3140.mss-header-main-single-active .mss-header-cell .wp-block-image,
  .mss-header-main-3140.mss-header-main-single-active .mss-header-cell figure.wp-block-image {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mss-header-main-3140.mss-header-main-single-active .mss-header-cell .wp-block-image img,
  .mss-header-main-3140.mss-header-main-single-active .mss-header-cell figure.wp-block-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--mss-brand-header-h-desktop, 400px) !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* =========================================================
   3.14.44 — Desktop Header Image Viewport Breakout
   The diagnostic export proves the artwork is block-18 inside
   Header Main · Middle. Break the actual image/widget out to 100vw so
   no inherited max-width or intrinsic 1024px figure width can constrain it.
   ========================================================= */
@media (min-width: 821px) {
  html,
  body {
    overflow-x: clip;
  }

  .site-header.mss-header-architecture-3140,
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140,
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140 > .mss-header-row-inner {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-header.mss-header-architecture-3140 > .mss-header-main-3140 {
    overflow: visible !important;
  }

  .site-header.mss-header-architecture-3140 .mss-header-main-middle {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  /* Actual widget detected in exported configuration. */
  .site-header.mss-header-architecture-3140 .mss-header-main-middle #block-18,
  .site-header.mss-header-architecture-3140 .mss-header-main-middle .widget_block:has(.wp-image-723),
  .site-header.mss-header-architecture-3140 .mss-header-main-middle .mss-header-widget:has(.wp-image-723) {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 0 !important;
    flex: 0 0 100vw !important;
  }

  .site-header.mss-header-architecture-3140 .mss-header-main-middle #block-18 .wp-block-image,
  .site-header.mss-header-architecture-3140 .mss-header-main-middle #block-18 figure,
  .site-header.mss-header-architecture-3140 .mss-header-main-middle .wp-block-image:has(.wp-image-723),
  .site-header.mss-header-architecture-3140 .mss-header-main-middle figure:has(.wp-image-723) {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header.mss-header-architecture-3140 .mss-header-main-middle #block-18 img,
  .site-header.mss-header-architecture-3140 .mss-header-main-middle img.wp-image-723 {
    display: block !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: var(--mss-brand-header-h-desktop, 400px) !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* =========================================================
   3.14.45 — Final Frontend Consolidation
   Scope: footer cleanup, header/sticky hardening, responsive safeguards.
   No new frontend feature is introduced.
   ========================================================= */

/* ---------- Header / sticky hardening ---------- */
@media (min-width: 821px) {
  .site-header.mss-header-architecture-3140 {
    overflow-x: clip !important;
  }

  .site-header.mss-header-architecture-3140 .mss-header-row,
  .mss-independent-bar,
  .mss-mobile-navbar {
    box-sizing: border-box !important;
  }

  .mss-independent-bar.is-stuck,
  .site-header .mss-menu-row-fixed {
    isolation: isolate;
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  .mss-independent-bar.is-stuck img,
  .site-header .mss-menu-row-fixed img {
    max-height: 100% !important;
    object-fit: contain !important;
  }

  /* Prevent desktop sticky menu from wrapping into a second row. */
  .mss-independent-bar.is-stuck .mss-nav-list,
  .site-header .mss-menu-row-fixed .mss-nav-list {
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }

  .mss-independent-bar.is-stuck .mss-nav-list > li,
  .site-header .mss-menu-row-fixed .mss-nav-list > li {
    flex: 0 0 auto !important;
  }
}

/* ---------- Footer consolidation ---------- */
.site-footer,
.mss-footer-builder {
  overflow-x: clip;
}

.mss-footer-builder .widget,
.mss-footer-builder .wp-block-group,
.mss-footer-builder .wp-block-columns,
.mss-footer-builder .wp-block-column {
  min-width: 0;
}

.mss-footer-builder .widget:empty,
.mss-footer-builder .wp-block-group:empty,
.mss-footer-builder .wp-block-column:empty {
  display: none !important;
}

.mss-footer-builder img {
  max-width: 100%;
  height: auto;
}

.mss-footer-builder a {
  overflow-wrap: anywhere;
}

/* ---------- Tablet ---------- */
@media (min-width: 821px) and (max-width: 1180px) {
  /* 3.15.13: retired the old 320px tablet Header image hard-height override. */

  .mss-independent-bar .mss-nav-list {
    gap: clamp(8px, 1.2vw, 16px) !important;
  }

  .mss-independent-bar .mss-nav-list a {
    font-size: clamp(12px, 1.2vw, 14px) !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 820px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar],
  .mss-mobile-menu-overlay,
  .site-main,
  .site-footer,
  .mss-footer-builder {
    max-width: 100vw;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar] .mss-mobile-navbar__inner {
    width: min(calc(100% - 24px), var(--mss-header-builder-max-width, 1320px)) !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck {
    overflow: hidden !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__toggle {
    flex: 0 0 auto !important;
  }

  .mss-mobile-menu-overlay__nav a,
  .mss-mobile-menu-overlay__nav .wp-block-navigation-item__content {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .home-hero h1,
  .home-hero-v37 h1 {
    text-wrap: balance;
  }

  .home-hero .mss-search-form,
  .mss-product-search {
    min-width: 0 !important;
  }

  .home-hero input[type="search"],
  .mss-product-search input[type="search"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  .mss-footer-builder .wp-block-columns {
    gap: 18px !important;
  }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {
  .mss-container {
    width: min(calc(100% - 28px), var(--max)) !important;
  }

  .home-hero,
  .home-hero-v37 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home-hero .mss-search-form,
  .mss-product-search,
  .mss-search-form {
    width: 100% !important;
  }

  .mss-mobile-menu-overlay__nav a {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
}

/* ---------- Very small mobile ---------- */
@media (max-width: 360px) {
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand img {
    max-width: 120px !important;
    max-height: 30px !important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar] .mss-mobile-navbar__toggle {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .mss-mobile-navbar__label {
    font-size: .95rem !important;
  }
}


/* =========================================================
   3.14.46 — Editorial Typography Baseline
   Native/system fonts only: no external font request, no layout shift.
   ========================================================= */
:root {
  --mss-reading-measure: 72ch;
}

/* Body/UI: system-native for clarity and speed. */
body,
button,
input,
select,
textarea,
.primary-nav,
.mss-mobile-navbar,
.mss-mobile-menu-overlay,
.mss-theme-card,
.editorial-card,
.site-footer {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Editorial hierarchy. */
h1, h2, h3,
.page-hero h1,
.hero-copy h1,
.section-head h2,
.editorial-card h2 {
  letter-spacing: -0.018em;
  text-wrap: balance;
}

h1,
.page-hero h1,
.hero-copy h1 {
  letter-spacing: -0.026em;
}

p,
.entry-content li,
.product-trust-row,
.editorial-card p,
.mss-theme-card .mss-card-excerpt {
  hanging-punctuation: first last;
}

/* Keep long-form text readable instead of allowing very long desktop lines. */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.mss-guide-content > p,
.mss-guide-content > ul,
.mss-guide-content > ol {
  max-width: var(--mss-reading-measure);
}

/* Menu and controls: compact but not small. */
.primary-nav a,
.mss-independent-bar .menu a,
.mss-mobile-menu-overlay__nav a,
.theme-btn,
.mss-btn,
button,
input,
select,
textarea {
  letter-spacing: 0;
}

/* Meta text remains visually secondary but readable. */
.mss-meta,
.mss-card-meta,
.editorial-card .kicker,
.product-trust-row,
small {
  line-height: 1.45;
}

/* Desktop editorial rhythm. */
@media (min-width: 821px) {
  .home-hero p,
  .page-hero p {
    max-width: 66ch;
  }

  .section-head p {
    max-width: 70ch;
  }
}

/* Mobile: preserve comfortable line length and avoid oversized serif headings. */
@media (max-width: 620px) {
  body {
    line-height: 1.62;
  }

  h1, h2, h3,
  .page-hero h1,
  .hero-copy h1,
  .section-head h2 {
    letter-spacing: -0.015em;
  }

  .home-hero p,
  .page-hero p,
  .section-head p,
  .editorial-card p,
  .mss-theme-card .mss-card-excerpt {
    line-height: 1.58;
  }
}


/* =========================================================
   3.14.48 — Trust, Performance & Responsive QA
   Breakpoint validation targets: 360 / 390 / 430 / 768 / 1024 / 1440 / 1920.
   ========================================================= */

/* Trust block */
.selection-reasons{
  margin:18px 0;
  padding:16px 18px;
  border:1px solid var(--mss-studio-card-border,#e5ddd1);
  border-radius:14px;
  background:var(--mss-studio-card-bg,#fffdf9);
}
.selection-reasons-kicker{
  display:block;
  margin-bottom:9px;
  font-size:.78em;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mss-studio-text-muted,#69756e);
}
.selection-reasons ul{
  margin:0;
  padding-left:1.15rem;
}
.selection-reasons li+li{margin-top:6px}

/* Below-the-fold rendering containment: browsers that support it can skip
   layout/paint work for off-screen editorial sections. */
@supports (content-visibility:auto){
  .category-section,
  .picks-section,
  .demand-section,
  .method-section,
  .home-transparency,
  .product-detail-section,
  .score-breakdown-section,
  .related-products,
  .product-guides-section,
  .site-footer{
    content-visibility:auto;
    contain-intrinsic-size:1px 720px;
  }
}

/* Avoid accidental layout shifts from remote product media containers. */
.mss-card-media,
.product-gallery-main-v27{
  contain:layout paint;
}
.mss-remote-product-image,
.mss-smart-product-image{
  max-width:100%;
  height:auto;
}

/* 1920+ */
@media (min-width:1920px){
  .mss-container{max-width:1440px}
  .mss-product-grid{column-gap:28px;row-gap:32px}
}

/* 1440–1919 */
@media (min-width:1440px) and (max-width:1919px){
  .mss-container{max-width:1320px}
}

/* 1024–1439 */
@media (min-width:1024px) and (max-width:1439px){
  .mss-product-grid{gap:22px}
  .product-hero-grid{gap:clamp(28px,4vw,54px)}
}

/* 768–1023 */
@media (min-width:768px) and (max-width:1023px){
  .mss-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .product-hero-grid{grid-template-columns:minmax(0,1fr)!important}
  .product-copy{max-width:760px}
  .product-content-grid{grid-template-columns:minmax(0,1fr)!important}
  .product-sidebar{position:static!important}
}

/* 430–767 */
@media (min-width:430px) and (max-width:767px){
  .mss-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .mss-card-body{min-width:0}
  .mss-theme-card h3{overflow-wrap:anywhere}
  .product-breadcrumb{overflow:hidden}
}

/* <=430 */
@media (max-width:430px){
  .mss-product-grid{grid-template-columns:minmax(0,1fr)!important}
  .mss-card{width:100%;min-width:0}
  .mss-card-body,.product-copy,.product-sidebar{min-width:0}
  .product-breadcrumb .mss-container{white-space:normal!important}
  .selection-reasons{padding:14px 15px}
}

/* <=390 */
@media (max-width:390px){
  .product-score-summary,
  .best-for,
  .selection-reasons{border-radius:12px}
  .product-trust-row{gap:7px!important}
}

/* <=360 */
@media (max-width:360px){
  .mss-container{width:min(calc(100% - 24px),var(--max))!important}
  .theme-btn,.mss-btn{max-width:100%}
  .mobile-sticky-buy{gap:8px!important}
  .mobile-sticky-buy>div{min-width:0}
  .mobile-sticky-buy strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:150px;
  }
}


/* =========================================================
   3.14.50 — Product Detail Cleanup
   ========================================================= */
.selection-reasons + .best-for{margin-top:14px}
.product-editorial-copy:empty{display:none}
.product-content-grid:has(.product-editorial-copy:empty){
  grid-template-columns:minmax(0,1fr);
}
.product-content-grid:has(.product-editorial-copy:empty) .product-sidebar{
  max-width:760px;
  width:100%;
  margin-inline:auto;
}
.product-sidebar .info-box ul{margin-bottom:0}
.product-sidebar .info-box li+li{margin-top:7px}
@media(max-width:767px){
  .selection-reasons,
  .product-sidebar .info-box{padding:15px}
}


/* =========================================================
   3.14.51 — Score Presentation Consistency
   ========================================================= */
.selection-reasons-note{
  display:block;
  margin:-2px 0 10px;
  font-size:.82em;
  line-height:1.45;
  color:var(--mss-studio-text-muted,#69756e);
}
.selection-reasons li{
  line-height:1.5;
}

/* 3.14.53 — Video Gallery Playback Fix */
.mss-product-videos{margin-top:18px}.mss-video-links{display:flex;flex-wrap:wrap;gap:10px}.mss-video-link{min-height:46px}

/* 3.14.54 — Resolved Video Playback */
.mss-video-state-label{margin-left:8px;font-size:.72em;opacity:.72;font-weight:600}

/* 3.14.56 — VDP/HLS video playback */
.mss-video-vdp-link{
  display:inline-flex;
  margin-top:12px;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  background:#fff;
  color:#111;
}

/* 3.14.57 — Resolved Stream Playback */
.mss-video-state-label.is-playable{
  opacity:1;
  font-weight:800;
}
.mss-video-link[data-video-embed-status="PLAYABLE"] .mss-video-play{
  transform:scale(1.04);
}

/* 3.14.58 — Resolved Stream Validation */
.mss-video-link[data-video-embed-status="PLAYABLE"]{border-color:rgba(19,82,61,.35)}
.mss-video-state-label.is-playable{letter-spacing:.02em}

/* 3.14.59 — Browser Playback Fallback Integrity */
.mss-video-vdp-link{border:1px solid rgba(255,255,255,.32)}

/* 3.14.60 — Multi-Surface Video State */
.mss-video-state-label{white-space:nowrap}

/* 3.14.61 — Session-Aware Video State */

/* 3.14.62 — Local Video Evidence State */
.mss-video-state-label.is-presence-only{
  opacity:.9;
  font-weight:700;
}

/* 3.14.63 — Resolved Local Video Context State */
.mss-video-state-label.is-presence-only{white-space:nowrap}

/* 3.14.64 — On-demand video revalidation */
.mss-video-modal-fallback .mss-video-vdp-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}

/* 3.14.65 — VSE-less resolved playback */
.mss-video-link[data-video-vseless="1"] .mss-video-state-label.is-playable{font-weight:800}

/* =========================================================
   3.14.70 — Popular Searches Readability & Professional UI
   Homepage only. Visual treatment is intentionally light and self-contained
   so global on-dark contrast rules cannot make this block unreadable.
   ========================================================= */
.home .demand-section{
  padding:72px 0;
  background:#f6f2e9;
  color:var(--ink,#122019);
  border-top:1px solid #ebe4d8;
  border-bottom:1px solid #ebe4d8;
}
.home .demand-section .demand-grid{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:64px;
  align-items:center;
}
.home .demand-section .kicker{
  color:#8d622d;
}
.home .demand-section h2{
  color:var(--ink,#122019);
  font-size:clamp(38px,4.2vw,54px);
  line-height:1.02;
  margin:10px 0 16px;
}
.home .demand-section p{
  max-width:560px;
  margin:0;
  color:#58655e;
  font-size:16px;
  line-height:1.65;
}
.home .popular-searches{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.home .popular-search-chip{
  width:100%;
  min-width:0;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 14px 13px 17px;
  border:1px solid #ddd5c7;
  border-radius:16px;
  background:#fffefb;
  color:var(--ink,#122019);
  box-shadow:0 5px 18px rgba(18,32,25,.045);
  cursor:pointer;
  text-align:left;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.home .popular-search-chip span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:14px;
  line-height:1.35;
  font-weight:780;
  color:#1d2d25;
}
.home .popular-search-chip small{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#f0e6d5;
  color:#725126;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  opacity:1;
  white-space:nowrap;
}
.home .popular-search-chip:hover{
  background:#fff;
  color:var(--ink,#122019);
  border-color:#bcae98;
  box-shadow:0 9px 24px rgba(18,32,25,.075);
  transform:translateY(-1px);
}
.home .popular-search-chip:focus-visible{
  outline:3px solid rgba(155,107,47,.26);
  outline-offset:2px;
  border-color:#9b6b2f;
}

@media(max-width:1000px){
  .home .demand-section .demand-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
}

@media(max-width:620px){
  .home .demand-section{
    padding:50px 0 52px;
  }
  .home .demand-section .demand-grid{
    gap:26px;
  }
  .home .demand-section h2{
    font-size:40px;
    line-height:1.04;
    margin-bottom:14px;
  }
  .home .demand-section p{
    font-size:15px;
    line-height:1.58;
    color:#536159;
  }
  .home .popular-searches{
    grid-template-columns:1fr;
    gap:9px;
  }
  .home .popular-search-chip{
    min-height:56px;
    padding:12px 12px 12px 15px;
    border-radius:14px;
  }
  .home .popular-search-chip span{
    font-size:13px;
  }
  .home .popular-search-chip small{
    font-size:10px;
  }
}


/* =========================================================
   3.14.71 — Popular Search Long-Query Mobile Polish
   Small visual-only refinement of the 3.14.70 block.
   ========================================================= */
.home .popular-search-chip small{
  align-self:center;
  text-align:center;
}
@media(max-width:620px){
  .home .popular-search-chip span{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
    text-overflow:ellipsis;
    max-height:2.7em;
    white-space:normal;
  }
  .home .popular-search-chip small{
    align-self:center;
    padding:5px 7px;
  }
}


/* =========================================================
   3.14.72 — Mobile Hero Search & Quick-Chip Polish
   Visual-only mobile refinement of the homepage hero.
   ========================================================= */
@media(max-width:620px){
  /* Keep the search control balanced: input receives all available width,
     while the submit button stays compact and stable. */
  .home .mss-search-wrap-hero .mss-product-search{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:7px;
    padding:7px 7px 7px 13px;
    min-height:58px;
  }
  .home .mss-search-wrap-hero .mss-search-icon{
    flex:0 0 auto;
    font-size:17px;
    line-height:1;
  }
  .home .mss-search-wrap-hero .mss-product-search input[type="search"]{
    width:100%;
    min-width:0;
    padding:8px 0;
    font-size:14px;
    line-height:1.35;
  }
  .home .mss-search-wrap-hero .mss-product-search button{
    min-width:0;
    min-height:42px;
    padding:9px 13px;
    font-size:12px;
    line-height:1;
  }

  /* Demand/suggestion chips remain fluid without allowing a long query to
     dominate the row. The complete value is preserved in the DOM/data attr. */
  .home .mss-search-suggestions{
    gap:8px;
    align-items:center;
  }
  .home .mss-search-suggestion-chip{
    max-width:min(100%,320px);
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:8px 11px;
    line-height:1.25;
  }

  /* Slightly reduce hero dominance on phones while preserving the editorial
     hierarchy and existing desktop/tablet typography. */
  .home .home-hero-v32 .home-hero-copy h1,
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:38px;
    line-height:1.03;
    letter-spacing:-.018em;
  }
}

@media(max-width:420px){
  .home .home-hero-v32 .home-hero-copy h1,
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:36px;
    line-height:1.04;
  }
  .home .mss-search-suggestion-chip{
    max-width:100%;
  }
}

@media(max-width:380px){
  /* On very narrow screens the CTA moves below the input instead of crushing
     the placeholder/input area. */
  .home .mss-search-wrap-hero .mss-product-search{
    grid-template-columns:auto minmax(0,1fr);
  }
  .home .mss-search-wrap-hero .mss-product-search button{
    grid-column:1 / -1;
    width:100%;
    min-height:40px;
    margin-top:1px;
  }
}


/* =========================================================
   3.14.73 — Mobile Hero Search Visible Correction
   Stronger mobile rules after field verification: make the
   change measurable on 390–480px viewports and prevent query
   chips from visually dominating the hero.
   ========================================================= */
@media(max-width:620px){
  .home .home-hero-v32 .home-hero-copy h1,
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:35px !important;
    line-height:1.04 !important;
    letter-spacing:-.015em !important;
  }
  .home .mss-search-suggestion-chip{
    max-width:240px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

/* Typical modern phone viewport: give the search text a full row. */
@media(max-width:480px){
  .home .mss-search-wrap-hero .mss-product-search{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:7px 9px !important;
    padding:10px !important;
    border-radius:24px !important;
  }
  .home .mss-search-wrap-hero .mss-search-icon{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
  }
  .home .mss-search-wrap-hero .mss-product-search input[type="search"]{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    padding:9px 0 !important;
    font-size:15px !important;
  }
  .home .mss-search-wrap-hero .mss-product-search button{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    padding:10px 14px !important;
    border-radius:16px !important;
    font-size:13px !important;
  }
  .home .home-hero-v32 .home-hero-copy h1,
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:33px !important;
  }
  .home .mss-search-suggestion-chip{
    max-width:220px !important;
  }
}

/* =========================================================
   3.14.77 — Homepage Visual Consolidation
   Scoped visual system refinement before social activation.
   ========================================================= */
@media (min-width: 821px){
  /* Preserve full-width header art without cropping while limiting excess height. */
  .home .mss-header-row--main .widget_media_image,
  .home .mss-header-row--main .wp-block-image,
  .home .mss-header-row--main .mss-header-image{margin:0!important;width:100%!important;}
  .home .mss-header-row--main .widget_media_image img,
  .home .mss-header-row--main .wp-block-image img,
  .home .mss-header-row--main .mss-header-image img{
    display:block!important;width:100%!important;height:auto!important;max-height:400px!important;
    object-fit:contain!important;object-position:center center!important;background:#f4eadf;
  }
  .home .mss-bottombar{min-height:50px!important;border-top:1px solid rgba(18,47,36,.08);border-bottom:1px solid rgba(18,47,36,.10);}
  .home .mss-bottombar .mss-header-row-inner{min-height:50px!important;}
  .home .mss-bottom-primary-nav .mss-nav-list{gap:clamp(22px,2vw,34px)!important;}
  .home .mss-bottom-primary-nav a{position:relative;padding:13px 0!important;}
  .home .mss-bottom-primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:2px;background:#b9842b;transform:scaleX(0);transform-origin:center;transition:transform .18s ease;}
  .home .mss-bottom-primary-nav a:hover::after,
  .home .mss-bottom-primary-nav .current-menu-item>a::after{transform:scaleX(1);}
}

.home .home-hero-v37{padding:72px 0 76px!important;}
.home .home-hero-v37 .home-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(330px,.78fr)!important;gap:clamp(52px,7vw,118px)!important;align-items:center!important;max-width:1180px!important;}
.home .home-hero-v37 .home-hero-copy{max-width:720px!important;}
.home .home-hero-v37 .home-hero-copy h1{max-width:760px!important;}
.home .home-hero-v37 .home-hero-copy>p{max-width:690px!important;font-size:17px;line-height:1.65;color:#53615a;}
.home .mss-search-wrap-hero{max-width:760px!important;}
.home .mss-search-wrap-hero .mss-product-search{min-height:66px!important;border-color:#d7d7cf!important;box-shadow:0 14px 34px rgba(18,32,25,.07)!important;}
.home .mss-search-wrap-hero .mss-product-search button{min-width:112px!important;}
.home .mss-search-suggestion-chip{border-color:#c9b893!important;background:#f6f0e4!important;color:#173d2f!important;box-shadow:none!important;}
.home .mss-search-suggestion-chip:hover{background:#efe3ca!important;border-color:#b58a3a!important;color:#0f3427!important;}

.home .hero-proof{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:28px!important;padding-top:20px!important;border-top:1px solid rgba(18,47,36,.11)!important;max-width:620px!important;}
.home .hero-proof span{display:grid!important;gap:2px!important;padding:13px 14px!important;border:1px solid rgba(18,47,36,.09)!important;border-radius:14px!important;background:rgba(255,255,255,.55)!important;}
.home .hero-proof strong{font-size:22px!important;line-height:1!important;color:#153a2d!important;}
.home .hero-proof small{font-size:11px!important;color:#68736d!important;letter-spacing:.02em!important;}

.home-hero-visual{position:relative;overflow:hidden;min-height:370px;padding:38px 36px;border:1px solid rgba(18,47,36,.09);border-radius:30px;background:linear-gradient(145deg,#173d2f 0%,#0e2b21 100%);box-shadow:0 24px 60px rgba(18,47,36,.12);color:#fff;}
.home-hero-visual::before,.home-hero-visual::after{content:"";position:absolute;border-radius:999px;border:1px solid rgba(227,190,105,.26);pointer-events:none;}
.home-hero-visual::before{width:260px;height:260px;right:-92px;top:-88px;}
.home-hero-visual::after{width:160px;height:160px;right:18px;bottom:-76px;}
.home-hero-visual__eyebrow{display:block;margin-bottom:26px;color:#e1ba64;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;}
.home-hero-visual__title{display:block;max-width:420px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,45px);line-height:1.03;font-weight:700;color:#fff;}
.home-hero-visual p{position:relative;z-index:1;max-width:440px;margin:20px 0 24px;color:#d7e0dc;font-size:14px;line-height:1.7;}
.home-hero-visual__criteria{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.home-hero-visual__criteria span{padding:7px 10px;border:1px solid rgba(227,190,105,.32);border-radius:999px;color:#f0d58e;font-size:11px;font-weight:700;}
.home-hero-visual>a{position:relative;z-index:1;color:#fff;text-decoration:none;font-weight:800;font-size:13px;}
.home-hero-visual>a:hover{color:#e8c675;}

.home .category-section{padding-top:70px!important;padding-bottom:76px!important;}
.home .category-visual-card{overflow:hidden;border-radius:24px!important;}
.home .category-visual-media{transition:transform .45s ease,filter .45s ease!important;}
.home .category-visual-card:hover .category-visual-media{transform:scale(1.035);filter:saturate(1.03) contrast(1.02);}
.home .category-visual-overlay{background:linear-gradient(180deg,rgba(7,26,19,.03) 28%,rgba(7,26,19,.72) 100%)!important;}
.home .category-visual-copy{left:24px!important;right:24px!important;bottom:23px!important;}
.home .category-visual-copy small{font-size:10px!important;letter-spacing:.13em!important;color:rgba(255,255,255,.88)!important;}
.home .category-visual-copy strong{line-height:1.05!important;text-shadow:0 2px 14px rgba(0,0,0,.22);}

/* Product cards: shorter, calmer and more uniform on the homepage. */
.home .picks-section .mss-product-grid{gap:20px!important;}
.home .picks-section .mss-theme-card{border-radius:20px!important;}
.home .picks-section .mss-theme-card .mss-card-media,
.home .picks-section .mss-theme-card .mss-remote-media{height:248px!important;min-height:248px!important;background:#fff!important;}
.home .picks-section .mss-theme-card .mss-remote-product-image{height:248px!important;max-height:248px!important;object-fit:contain!important;padding:18px!important;background:#fff!important;}
.home .picks-section .mss-theme-card .mss-card-body{padding:17px 19px 18px!important;}
.home .picks-section .mss-theme-card .mss-card-body h3{font-size:17px!important;line-height:1.28!important;min-height:44px!important;margin:8px 0 8px!important;-webkit-line-clamp:2!important;}
.home .picks-section .mss-theme-card .mss-card-excerpt{font-size:12px!important;line-height:1.5!important;min-height:36px!important;margin-bottom:13px!important;-webkit-line-clamp:2!important;}
.home .picks-section .mss-theme-card-actions{padding-top:10px!important;}
.home .picks-section .mss-theme-card .mss-score{display:inline-flex!important;align-items:baseline!important;gap:2px!important;min-width:58px!important;height:42px!important;padding:0 9px!important;border-radius:15px!important;justify-content:center!important;background:rgba(255,255,255,.94)!important;}
.home .picks-section .mss-theme-card .mss-score strong{font-size:15px!important;line-height:1!important;}
.home .picks-section .mss-theme-card .mss-score small{font-size:9px!important;line-height:1!important;margin:0!important;}

/* Editorial guide intermission breaks repetitive product-grid rhythm. */
.home-guides-section{background:#f4f0e7;border-top:1px solid rgba(18,47,36,.07);border-bottom:1px solid rgba(18,47,36,.07);}
.home-guides-section .section-head{margin-bottom:28px;}
.home-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.home-guides-grid .editorial-card{overflow:hidden;border:1px solid rgba(18,47,36,.09);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(18,32,25,.05);}
.home-guides-grid .editorial-card-media{display:block;aspect-ratio:16/9;overflow:hidden;}
.home-guides-grid .editorial-card-media img{transition:transform .35s ease;}
.home-guides-grid .editorial-card:hover .editorial-card-media img{transform:scale(1.035);}
.home-guides-grid .editorial-card-body{padding:20px 21px 22px;}
.home-guides-grid .editorial-card-body h2{font-size:21px;line-height:1.2;margin:8px 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.home-guides-grid .editorial-card-body p{font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.home-guides-grid .editorial-card-links{margin-top:16px;}
.home-guides-grid .editorial-card-links .is-secondary{display:none;}

.home .method-section{padding-top:74px!important;padding-bottom:76px!important;}
.home .score-bands{align-items:stretch!important;}
.home .score-bands article{height:100%!important;min-height:214px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
.home .score-bands article strong{white-space:nowrap!important;}
.home .score-bands article p{font-size:13px!important;line-height:1.55!important;color:#626e68!important;}
.home .score-bands article.is-top p{color:#dbe4df!important;}

.home-transparency{background:#102b20!important;}
.home-transparency .kicker{color:#deb85f!important;}
.home-transparency h2{color:#f8f4ea!important;opacity:1!important;text-shadow:none!important;}
.home-transparency p{color:#d5dfda!important;}
.home-transparency a{color:#f0ca72!important;}
.home-transparency a:hover{color:#fff!important;}

/* Footer: less vertical footprint and transparent brand treatment. */
.mss-footer-pro__shell{padding-top:44px!important;padding-bottom:24px!important;}
.mss-footer-pro__hero{gap:44px!important;padding-bottom:34px!important;}
.mss-footer-pro__brand-lockup{margin-bottom:16px!important;}
.mss-footer-pro__brand-picture{display:none!important;}
.mss-footer-pro__transparent-mark{display:inline-flex;align-items:center;gap:14px;color:#e1ba64;line-height:1;background:transparent;}
.mss-footer-pro__transparent-monogram{display:inline-grid;place-items:center;width:62px;height:62px;border:1px solid rgba(225,186,100,.68);border-radius:50%;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:700;letter-spacing:-.08em;}
.mss-footer-pro__transparent-name{font-family:Georgia,"Times New Roman",serif;font-size:38px;letter-spacing:.01em;}
.mss-footer-pro__brand-name{display:none!important;}
.mss-footer-pro__brand h2{margin-bottom:10px!important;font-size:1.8rem!important;line-height:1.02!important;}
.mss-footer-pro__brand>p{margin-bottom:0!important;max-width:590px!important;line-height:1.55!important;}
.mss-footer-pro__trust{margin-top:20px!important;}
.mss-footer-pro__newsletter{padding:26px 28px!important;}
.mss-footer-pro__newsletter-icon{margin-bottom:8px!important;}
.mss-footer-pro__newsletter h3{margin-bottom:7px!important;font-size:1.55rem!important;}
.mss-footer-pro__newsletter p{margin-bottom:16px!important;line-height:1.5!important;}
.mss-footer-pro__newsletter-form input{padding:13px 15px!important;}
.mss-footer-pro__links{padding:26px 0 28px!important;}
.mss-footer-pro__group{padding-left:26px!important;padding-right:26px!important;}
.mss-footer-pro__group-body{gap:8px!important;}
.mss-footer-pro__bottom{padding-top:18px!important;}

@media (max-width:1100px){
  .home .home-hero-v37 .home-hero-grid{grid-template-columns:1fr!important;gap:32px!important;}
  .home-hero-visual{min-height:0;padding:28px 30px;}
  .home-hero-visual__title{font-size:32px;}
  .home-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-guides-grid .editorial-card:last-child{display:none;}
}

@media (max-width:820px){
  .home .home-hero-v37{padding-top:32px!important;padding-bottom:50px!important;}
  .home-hero-visual{display:none!important;}
  .home .hero-proof{margin-top:20px!important;padding-top:16px!important;}
  .home .category-section{padding-top:52px!important;padding-bottom:56px!important;}
  .home-guides-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .home-guides-grid .editorial-card:last-child{display:block;}
  .home-guides-grid .editorial-card{display:grid;grid-template-columns:150px minmax(0,1fr);}
  .home-guides-grid .editorial-card-media{height:100%;aspect-ratio:auto;min-height:180px;}
  .home-guides-grid .editorial-card-body{padding:17px 18px;}
  .mss-footer-pro__shell{padding-top:34px!important;}
  .mss-footer-pro__hero{gap:26px!important;padding-bottom:28px!important;}
  .mss-footer-pro__transparent-monogram{width:50px;height:50px;font-size:18px;}
  .mss-footer-pro__transparent-name{font-size:31px;}
}

@media (max-width:620px){
  .home .home-hero-v37 .home-hero-copy>p{font-size:15px;line-height:1.55;}
  .home .hero-proof{gap:7px!important;}
  .home .hero-proof span{padding:10px 8px!important;}
  .home .hero-proof strong{font-size:19px!important;}
  .home .hero-proof small{font-size:9px!important;}
  .home .picks-section .mss-theme-card .mss-card-media,
  .home .picks-section .mss-theme-card .mss-remote-media,
  .home .picks-section .mss-theme-card .mss-remote-product-image{min-height:205px!important;height:205px!important;max-height:205px!important;}
  .home .picks-section .mss-theme-card .mss-card-body h3{font-size:15px!important;min-height:auto!important;-webkit-line-clamp:2!important;}
  .home-guides-grid .editorial-card{grid-template-columns:118px minmax(0,1fr);border-radius:18px;}
  .home-guides-grid .editorial-card-media{min-height:160px;}
  .home-guides-grid .editorial-card-body{padding:14px 15px;}
  .home-guides-grid .editorial-card-body h2{font-size:17px;}
  .home-guides-grid .editorial-card-body p{font-size:12px;}
  .home .score-bands article{min-height:0!important;}
  .mss-footer-pro__links{padding-top:14px!important;}
  .mss-footer-pro__newsletter{padding:22px!important;}
}


/* =========================================================
   3.14.78 — Above-the-Fold Homepage Optimization
   Desktop-only compaction: expose brand header + nav + full hero
   in the initial viewport on common Full-HD desktop displays.
   ========================================================= */
@media (min-width:1280px) {
  /* 3.15.13: legacy 250px desktop header crop retired. Header image geometry is now Customizer-driven. */

  /* Compact navigation without reducing tap/click clarity. */
  .home .mss-bottombar,
  .home .mss-bottombar .mss-header-row-inner{
    min-height:44px!important;
    height:44px!important;
  }
  .home .mss-bottom-primary-nav a{
    padding:10px 0!important;
    line-height:1.15!important;
  }
  .home .mss-bottom-primary-nav a::after{bottom:5px!important;}

  /* Hero: keep the two-column editorial architecture, but remove vertical excess. */
  .home .home-hero-v37{
    padding:34px 0 34px!important;
  }
  .home .home-hero-v37 .home-hero-grid{
    grid-template-columns:minmax(0,1.06fr) minmax(330px,.74fr)!important;
    gap:clamp(42px,5.2vw,82px)!important;
    align-items:center!important;
    max-width:1180px!important;
  }
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:clamp(50px,4.2vw,68px)!important;
    line-height:.96!important;
    margin:10px 0 14px!important;
    max-width:680px!important;
  }
  .home .home-hero-v37 .home-hero-copy>p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.5!important;
    max-width:660px!important;
  }
  .home .home-hero-v37 .kicker{
    margin-bottom:0!important;
  }

  .home .mss-search-wrap-hero{
    margin-top:20px!important;
    max-width:720px!important;
  }
  .home .mss-search-wrap-hero .mss-product-search{
    min-height:56px!important;
  }
  .home .mss-search-wrap-hero .mss-product-search input[type="search"]{
    min-height:40px!important;
  }
  .home .mss-search-wrap-hero .mss-product-search button{
    min-height:44px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .home .mss-search-suggestions{
    margin-top:8px!important;
    gap:7px!important;
  }
  .home .mss-search-suggestion-chip{
    padding:7px 10px!important;
    font-size:11px!important;
  }
  .home .hero-actions{
    margin-top:16px!important;
    gap:8px!important;
  }
  .home .hero-actions .button,
  .home .hero-actions .mss-button,
  .home .hero-actions a{
    min-height:42px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .home .hero-proof{
    margin-top:16px!important;
    padding-top:13px!important;
    gap:8px!important;
    max-width:594px!important;
  }
  .home .hero-proof span{
    padding:9px 12px!important;
    border-radius:12px!important;
  }
  .home .hero-proof strong{
    font-size:19px!important;
  }
  .home .hero-proof small{
    font-size:9px!important;
  }

  /* Editorial panel mirrors the compressed hero height instead of extending below the fold. */
  .home .home-hero-visual{
    min-height:0!important;
    height:auto!important;
    padding:28px 30px 27px!important;
    border-radius:26px!important;
  }
  .home .home-hero-visual__eyebrow{
    margin-bottom:17px!important;
    font-size:9px!important;
  }
  .home .home-hero-visual__title{
    max-width:360px!important;
    font-size:clamp(30px,2.4vw,39px)!important;
    line-height:1.02!important;
  }
  .home .home-hero-visual p{
    margin:14px 0 16px!important;
    font-size:12px!important;
    line-height:1.5!important;
  }
  .home .home-hero-visual__criteria{
    margin-bottom:17px!important;
    gap:6px!important;
  }
  .home .home-hero-visual__criteria span{
    padding:6px 8px!important;
    font-size:9px!important;
  }
  .home .home-hero-visual>a{
    font-size:12px!important;
  }
}

/* Slightly softer compaction on medium desktop/laptop widths. */
@media (min-width:821px) and (max-width:1279px){
  /* 3.15.13: legacy 320px image cap retired; keep only the hero-spacing refinement below. */
  .home .home-hero-v37{
    padding-top:46px!important;
    padding-bottom:50px!important;
  }
}


/* =========================================================
   3.14.79 — Full First-Viewport Fit
   Corrective desktop refinement based on real 1920x1080 browser capture.
   Goal: full brand banner + navigation + complete hero/proof row visible
   without initial page scroll on common desktop browser viewport heights.
   Mobile/tablet behavior remains unchanged.
   ========================================================= */
@media (min-width:1280px) and (max-height:900px) {
  /* 3.15.13: legacy 210px header crop retired; viewport compaction continues only below the header. */
  .home .mss-bottombar,
  .home .mss-bottombar .mss-header-row-inner{
    min-height:42px!important;
    height:42px!important;
  }
  .home .mss-bottom-primary-nav a{
    padding:9px 0!important;
  }
  .home .home-hero-v37{
    padding:24px 0 22px!important;
  }
  .home .home-hero-v37 .home-hero-grid{
    gap:clamp(34px,4.2vw,68px)!important;
  }
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:clamp(46px,3.7vw,60px)!important;
    line-height:.94!important;
    margin:7px 0 10px!important;
  }
  .home .home-hero-v37 .home-hero-copy>p{
    font-size:14px!important;
    line-height:1.42!important;
  }
  .home .mss-search-wrap-hero{
    margin-top:14px!important;
  }
  .home .mss-search-wrap-hero .mss-product-search{
    min-height:50px!important;
  }
  .home .mss-search-wrap-hero .mss-product-search button{
    min-height:40px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .home .mss-search-suggestions{
    margin-top:6px!important;
  }
  .home .mss-search-suggestion-chip{
    padding:6px 9px!important;
    font-size:10px!important;
  }
  .home .hero-actions{
    margin-top:11px!important;
  }
  .home .hero-actions .button,
  .home .hero-actions .mss-button,
  .home .hero-actions a{
    min-height:38px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .home .hero-proof{
    margin-top:11px!important;
    padding-top:9px!important;
  }
  .home .hero-proof span{
    padding:7px 10px!important;
  }
  .home .hero-proof strong{
    font-size:18px!important;
  }
  .home .home-hero-visual{
    padding:22px 26px 21px!important;
    border-radius:24px!important;
  }
  .home .home-hero-visual__eyebrow{
    margin-bottom:12px!important;
  }
  .home .home-hero-visual__title{
    font-size:clamp(28px,2.15vw,35px)!important;
    line-height:.98!important;
  }
  .home .home-hero-visual p{
    margin:10px 0 12px!important;
    font-size:11px!important;
    line-height:1.42!important;
  }
  .home .home-hero-visual__criteria{
    margin-bottom:12px!important;
  }
  .home .home-hero-visual__criteria span{
    padding:5px 7px!important;
  }
}

@media (min-width:1280px) and (max-height:820px) {
  /* 3.15.13: legacy 185px header crop retired; viewport compaction continues only below the header. */
  .home .home-hero-v37{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  .home .home-hero-v37 .home-hero-copy h1{
    font-size:clamp(43px,3.45vw,56px)!important;
  }
  .home .home-hero-visual{
    padding-top:19px!important;
    padding-bottom:18px!important;
  }
}


/* =========================================================
   3.14.84 — Deterministic hamburger navbar sticky on phone/tablet
   ========================================================= */
.mss-mobile-sticky-placeholder{
  display:block;
  width:100%;
  height:0;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none;
  visibility:hidden;
  overflow:hidden;
}
@media (max-width:820px){
  .mss-mobile-navbar[data-mss-mobile-navbar]{
    position:relative!important;
    top:auto!important;
  }
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:10030!important;
  }
}


/* =========================================================
   3.14.85 — Mobile Menu Overlay Control Separation
   The menu control must never cover a navigation item. While the overlay is
   open, the source navbar is hidden and the overlay owns a dedicated sticky
   header/close control. This keeps every menu item fully tappable.
   ========================================================= */
@media (max-width: 820px) {
  body.mss-mobile-menu-open .mss-mobile-navbar[data-mss-mobile-navbar].is-open {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.mss-mobile-menu-open .mss-mobile-menu-overlay,
  html.mss-mobile-menu-open .mss-mobile-menu-overlay {
    top: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: 10040 !important;
    overflow-y: auto !important;
    padding: 0 !important;
  }

  .mss-mobile-menu-overlay__inner {
    min-height: 100% !important;
    padding: 0 24px 40px !important;
  }

  .mss-mobile-menu-overlay__header {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 64px;
    margin: 0 -24px 8px;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--mss3120-mobile-panel-bg,#fffefb);
    border-bottom: 1px solid rgba(31,47,40,.10);
    box-shadow: 0 4px 14px rgba(18,32,25,.06);
  }

  .mss-mobile-menu-overlay__title {
    font-size: 1.05rem;
    font-weight: 800;
    color: inherit;
  }

  .mss-mobile-menu-overlay__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 8px 14px;
    border: 1px solid rgba(31,47,40,.16);
    border-radius: 14px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
  }

  .mss-mobile-menu-overlay__x {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
  }

  .mss-mobile-menu-overlay__x::before,
  .mss-mobile-menu-overlay__x::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 2px;
    width: 3px;
    height: 20px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
  }

  .mss-mobile-menu-overlay__x::before { transform: rotate(45deg); }
  .mss-mobile-menu-overlay__x::after  { transform: rotate(-45deg); }

  .mss-mobile-menu-overlay__nav {
    padding-top: 0 !important;
  }

  .mss-mobile-menu-overlay__nav > ul > li:first-child > a,
  .mss-mobile-menu-overlay__nav > .menu > li:first-child > a,
  .mss-mobile-menu-overlay__nav > .mss-mobile-source-list > li:first-child > a {
    margin-top: 0 !important;
  }
}


/* 3.14.86 — Product Media Integrity: remote archive fallback without generic Woo placeholder. */
.woocommerce ul.products li.product .mss-loop-remote-media,
.woocommerce-page ul.products li.product .mss-loop-remote-media{
  display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff;
}
.woocommerce ul.products li.product .mss-loop-remote-product-image,
.woocommerce-page ul.products li.product .mss-loop-remote-product-image{
  display:block;width:100%!important;height:100%!important;max-width:100%;margin:0!important;padding:0!important;object-fit:contain;
}

/* 3.14.89 — Unified Footer Builder Architecture
   Public model: Top / Main / Bottom × Left / Center / Right.
   Existing "middle" storage keys remain accepted for backward compatibility. */
.mss-footer-builder--unified .mss-footer-builder-row{
  display:var(--mss-ufb-d-display,grid)!important;
  padding:var(--mss-ufb-d-pv,0) var(--mss-ufb-d-ph,0)!important;
  min-width:0;
}
.mss-footer-builder--unified .mss-footer-builder-grid{
  display:grid;
  width:100%;
  min-width:0;
  align-items:start;
  gap:var(--mss-ufb-d-gap,24px);
}
.mss-footer-builder--unified .mss-footer-col{min-width:0}
.mss-footer-builder--unified .mss-footer-widget{min-width:0}
.mss-footer-builder--unified .mss-footer-widget > :first-child{margin-top:0}
.mss-footer-builder--unified .mss-footer-widget > :last-child{margin-bottom:0}

/* Preserve the approved 3.14.88 visual composition when fallback content is used. */
.mss-footer-builder--unified .mss-footer-builder-row--top.is-default-fallback .mss-footer-builder-grid{
  grid-template-columns:minmax(0,1fr) 0 minmax(420px,.95fr)!important;
  column-gap:32px!important;
  align-items:center;
  padding-bottom:48px;
  border-bottom:1px solid var(--mss-footer-pro-line);
}
.mss-footer-builder--unified .mss-footer-builder-row--top.is-default-fallback .mss-footer-col--center{display:none}
.mss-footer-builder--unified .mss-footer-builder-row--main.is-default-fallback .mss-footer-builder-grid{
  grid-template-columns:2fr 1fr 1fr!important;
  gap:0!important;
}

.mss-footer-builder--unified .mss-footer-builder-row--main.is-default-fallback .mss-footer-col--center > .mss-footer-pro__group,
.mss-footer-builder--unified .mss-footer-builder-row--main.is-default-fallback .mss-footer-col--right > .mss-footer-pro__group{
  padding:0 32px;
  border-left:1px solid var(--mss-footer-pro-line);
}
.mss-footer-builder--unified .mss-footer-pro__fallback-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:0;
}
.mss-footer-builder--unified .mss-footer-builder-row--main .mss-footer-pro__links{
  padding-top:0;
  padding-bottom:0;
}
.mss-footer-builder--unified .mss-footer-builder-row--bottom.is-default-fallback .mss-footer-builder-grid{
  grid-template-columns:1fr 0 auto!important;
  align-items:center;
  gap:24px!important;
  padding-top:0;
}
.mss-footer-builder--unified .mss-footer-builder-row--bottom.is-default-fallback .mss-footer-col--center{display:none}
.mss-footer-builder--unified .mss-footer-builder-row--bottom .mss-footer-col--right{justify-self:end}

/* Custom-widget rows keep using the existing responsive ratio rules, so saved
   Desktop/Mobile builder settings remain authoritative after the migration. */
.mss-footer-builder--unified .mss-footer-builder-row--main.has-custom-widgets .mss-footer-pro__links{
  border-bottom:1px solid var(--mss-footer-pro-line);
}

@media(max-width:900px){
  .mss-footer-builder--unified .mss-footer-builder-row{
    display:var(--mss-ufb-m-display,grid)!important;
    padding:var(--mss-ufb-m-pv,0) var(--mss-ufb-m-ph,0)!important;
  }
  .mss-footer-builder--unified .mss-footer-builder-grid,
  .mss-footer-builder--unified .mss-footer-builder-row--top.is-default-fallback .mss-footer-builder-grid,
  .mss-footer-builder--unified .mss-footer-builder-row--main.is-default-fallback .mss-footer-builder-grid,
  .mss-footer-builder--unified .mss-footer-builder-row--bottom.is-default-fallback .mss-footer-builder-grid{
    grid-template-columns:var(--mss-ufb-m-cols,1fr)!important;
    gap:var(--mss-ufb-m-gap,16px)!important;
  }
  .mss-footer-builder--unified .mss-footer-builder-row--top.is-default-fallback .mss-footer-builder-grid{padding-bottom:34px}
  .mss-footer-builder--unified .mss-footer-builder-row--top.is-default-fallback .mss-footer-col--center,
  .mss-footer-builder--unified .mss-footer-builder-row--bottom.is-default-fallback .mss-footer-col--center{display:none}
  .mss-footer-builder--unified .mss-footer-pro__fallback-pair{display:block}

  .mss-footer-builder--unified .mss-footer-builder-row--main.is-default-fallback .mss-footer-col--center > .mss-footer-pro__group,
  .mss-footer-builder--unified .mss-footer-builder-row--main.is-default-fallback .mss-footer-col--right > .mss-footer-pro__group{padding:0;border-left:0}
  .mss-footer-builder--unified .mss-footer-builder-row--bottom .mss-footer-col--right{justify-self:stretch}
  .mss-footer-builder--unified .mss-footer-builder-row--bottom .mss-footer-pro__legal{justify-content:center}
  .mss-footer-builder--unified .mss-footer-builder-row--bottom .mss-footer-col--left{text-align:center}
}


/* 3.14.90 — Footer Wide Layout / 1920 Width Control
   Contained intentionally keeps the historical shell untouched. */
.mss-footer-builder--width-custom .mss-footer-pro__shell,
.mss-footer-builder--width-full .mss-footer-pro__shell{
  width:100%!important;
  margin-inline:auto!important;
  box-sizing:border-box;
  padding-left:var(--mss-footer-content-pad-d,32px)!important;
  padding-right:var(--mss-footer-content-pad-d,32px)!important;
}
.mss-footer-builder--width-custom .mss-footer-pro__shell{max-width:var(--mss-footer-content-max,1320px)!important}
.mss-footer-builder--width-full .mss-footer-pro__shell{max-width:none!important}
.mss-footer-builder--width-custom .mss-footer-builder-row-inner,
.mss-footer-builder--width-full .mss-footer-builder-row-inner{width:100%!important;max-width:none!important}
@media(max-width:900px){
  .mss-footer-builder--width-custom .mss-footer-pro__shell,
  .mss-footer-builder--width-full .mss-footer-pro__shell{
    padding-left:var(--mss-footer-content-pad-m,18px)!important;
    padding-right:var(--mss-footer-content-pad-m,18px)!important;
  }
}


/* 3.14.91 — Footer Full Width preset + viewport-safe breakout. */
.mss-footer-builder--width-full{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
@supports (width:100dvw){
  .mss-footer-builder--width-full{
    width:100dvw!important;
    max-width:100dvw!important;
    margin-left:calc(50% - 50dvw)!important;
    margin-right:calc(50% - 50dvw)!important;
  }
}
.mss-footer-builder--width-full .mss-footer-pro__shell{
  width:100%!important;
  max-width:none!important;
}


/* =========================================================
   3.14.92 — Header Full Width Defaults + Viewport-Safe Runtime
   Applies to Header Main, Top Bar and Bottom Bar. Contained keeps legacy
   behavior; Custom uses --mss-header-content-max; Full uses the viewport.
   ========================================================= */
html,
body{
  overflow-x:clip;
}

/* Custom width: all three header surfaces share one outer content width. */
.site-header.mss-header-width-custom > .mss-header-main-3140 > .mss-header-row-inner,
.mss-independent-bar.mss-header-width-custom > .mss-independent-bar__inner{
  width:100%!important;
  max-width:var(--mss-header-content-max,1920px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Full width: break out of any inherited/page shell and occupy the viewport. */
.site-header.mss-header-width-full,
.mss-independent-bar.mss-header-width-full{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

@supports (width:100dvw){
  .site-header.mss-header-width-full,
  .mss-independent-bar.mss-header-width-full{
    width:100dvw!important;
    max-width:100dvw!important;
    margin-left:calc(50% - 50dvw)!important;
    margin-right:calc(50% - 50dvw)!important;
  }
}

.site-header.mss-header-width-full > .mss-header-main-3140,
.site-header.mss-header-width-full > .mss-header-main-3140 > .mss-header-row-inner,
.mss-independent-bar.mss-header-width-full > .mss-independent-bar__inner{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Header Main uses its dedicated global padding; Top/Bottom preserve their
   existing per-bar padding controls from sections 06 and 08. */
.site-header.mss-header-width-custom > .mss-header-main-3140 > .mss-header-row-inner,
.site-header.mss-header-width-full > .mss-header-main-3140 > .mss-header-row-inner{
  padding-left:var(--mss-header-content-pad-d,0px)!important;
  padding-right:var(--mss-header-content-pad-d,0px)!important;
}

/* Do not let Gutenberg figure/image intrinsic widths re-contain a single
   Header Main artwork after the outer header has been expanded. */
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active > .mss-header-row-inner,
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active > .mss-header-row-inner > .mss-header-cell,
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active .widget,
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active .mss-header-widget,
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active .wp-block-image,
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active figure{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active .wp-block-image img,
.site-header.mss-header-width-full .mss-header-main-3140.mss-header-main-single-active figure img{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
}

@media (max-width:820px){
  .site-header.mss-header-width-custom > .mss-header-main-3140 > .mss-header-row-inner,
  .site-header.mss-header-width-full > .mss-header-main-3140 > .mss-header-row-inner{
    padding-left:var(--mss-header-content-pad-m,0px)!important;
    padding-right:var(--mss-header-content-pad-m,0px)!important;
  }

  /* On mobile 100% avoids viewport-scrollbar rounding while remaining edge to edge. */
  .site-header.mss-header-width-full,
  .mss-independent-bar.mss-header-width-full{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* =========================================================
   3.14.93 — Sticky/Menu Recovery + 2-Column Mobile Categories
   Restores sticky precedence after the 3.14.92 full-width breakout, hardens
   the hamburger overlay, and keeps category visual cards in two columns on
   phones without touching product cards/gallery/video.
   ========================================================= */

/* Full-width must never override the deterministic fixed sticky geometry. */
.mss-independent-bar.mss-header-width-full.is-stuck{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  z-index:10060!important;
}
.mss-topbar.mss-header-width-full.is-stuck{top:0!important;}
.mss-bottombar.mss-header-width-full.is-stuck{top:var(--mss3140-topbar-sticky-offset,0px)!important;}

@media (max-width:820px){
  /* The hamburger navbar is the only mobile sticky navigation surface. */
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck,
  .mss-mobile-navbar[data-mss-mobile-navbar].is-open{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    z-index:10030!important;
  }

  /* If the first menu discovery happens before a widget/source finishes
     rendering, keep the bar visible while JS retries the source lookup. */
  .mss-mobile-navbar[data-mss-mobile-navbar].is-menu-missing{display:block!important;}

  /* Explicit open-state guard: avoids a stale hidden/visibility state after
     cache/Customizer DOM refreshes. */
  body.mss-mobile-menu-open .mss-mobile-menu-overlay.is-open,
  html.mss-mobile-menu-open .mss-mobile-menu-overlay.is-open{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Requested mobile category layout: always two visual cards per row. */
  .category-visual-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .category-visual-card{
    min-height:168px!important;
    border-radius:18px!important;
  }
  .category-visual-copy{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    gap:3px!important;
  }
  .category-visual-copy small{font-size:8px!important;letter-spacing:.09em!important;}
  .category-visual-copy strong{font-size:18px!important;line-height:1.02!important;overflow-wrap:anywhere;}
  .category-visual-copy em{font-size:9px!important;}
}

@media (max-width:360px){
  .category-visual-grid{gap:8px!important;}
  .category-visual-card{min-height:154px!important;border-radius:16px!important;}
  .category-visual-copy{left:10px!important;right:10px!important;bottom:10px!important;}
  .category-visual-copy strong{font-size:16px!important;}
}

/* =========================================================
   3.14.94 — Deterministic Mobile Menu Overlay
   Server-rendered overlay + persistent Menu/X control. The navbar remains
   visible while the menu is open; no secondary close button is required.
   ========================================================= */
@media (max-width:820px){
  body.mss-mobile-menu-open,
  html.mss-mobile-menu-open{
    overflow:hidden!important;
  }

  body.mss-mobile-menu-open .mss-mobile-navbar[data-mss-mobile-navbar].is-open,
  html.mss-mobile-menu-open .mss-mobile-navbar[data-mss-mobile-navbar].is-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:10050!important;
  }

  body.mss-mobile-menu-open .mss-mobile-menu-overlay,
  html.mss-mobile-menu-open .mss-mobile-menu-overlay,
  .mss-mobile-menu-overlay.is-open{
    display:block!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:var(--mss-mobile-overlay-top,62px)!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    z-index:10040!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y!important;
    transform:none!important;
    background:var(--mss3120-mobile-panel-bg,#fffefb)!important;
  }

  .mss-mobile-menu-overlay[hidden]{
    display:none!important;
  }

  .mss-mobile-menu-overlay__inner{
    min-height:100%!important;
    padding:14px 22px 40px!important;
  }

  .mss-mobile-menu-overlay__header,
  .mss-mobile-menu-overlay__close{
    display:none!important;
  }

  .mss-mobile-menu-overlay__nav,
  .mss-mobile-menu-overlay__list,
  .mss-mobile-menu-overlay__nav > ul{
    width:100%!important;
    max-width:720px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .mss-mobile-menu-overlay__list,
  .mss-mobile-menu-overlay__nav ul{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    padding:0!important;
    margin:0!important;
    list-style:none!important;
  }

  .mss-mobile-menu-overlay__nav li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .mss-mobile-menu-overlay__nav li::before,
  .mss-mobile-menu-overlay__nav li::marker{
    display:none!important;
    content:none!important;
  }

  .mss-mobile-menu-overlay__nav a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:52px!important;
    padding:12px 4px!important;
    border-bottom:1px solid rgba(31,47,40,.10)!important;
    text-decoration:none!important;
    color:inherit!important;
    font-weight:700!important;
    line-height:1.25!important;
  }

  .mss-mobile-navbar__toggle{
    position:relative!important;
    z-index:2!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent;
  }
}


/* =========================================================
   3.14.95 — Global Body Full Width
   Expands the Body/site-main content architecture without touching Header,
   Footer, sticky navigation, gallery/video or the mobile menu controller.
   Long-form content-narrow containers keep their editorial reading measure.
   ========================================================= */
body.mss-body-layout-31495,
body.mss-body-layout-31495 .site-main{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

body.mss-body-layout-31495 .site-main > section,
body.mss-body-layout-31495 .site-main > article{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Full Width: the standard Body containers use the full available width.
   Padding remains configurable so content does not touch viewport edges. */
body.mss-body-width-full .site-main .mss-container:not(.content-narrow),
body.mss-body-width-full .mss-product-search-shell > .mss-container{
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--mss-body-content-pad-d,32px)!important;
  padding-right:var(--mss-body-content-pad-d,32px)!important;
  box-sizing:border-box!important;
}

/* Custom Width: same model, but capped at the configured width. */
body.mss-body-width-custom .site-main .mss-container:not(.content-narrow),
body.mss-body-width-custom .mss-product-search-shell > .mss-container{
  width:100%!important;
  max-width:var(--mss-body-content-max,1920px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--mss-body-content-pad-d,32px)!important;
  padding-right:var(--mss-body-content-pad-d,32px)!important;
  box-sizing:border-box!important;
}

/* Keep deliberately narrow editorial/prose surfaces readable even when the
   global Body is Full Width. Their legacy max-width/measure still applies. */
body.mss-body-layout-31495 .site-main .mss-container.content-narrow{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (max-width:820px){
  body.mss-body-width-full .site-main .mss-container:not(.content-narrow),
  body.mss-body-width-full .mss-product-search-shell > .mss-container,
  body.mss-body-width-custom .site-main .mss-container:not(.content-narrow),
  body.mss-body-width-custom .mss-product-search-shell > .mss-container{
    width:100%!important;
    padding-left:var(--mss-body-content-pad-m,14px)!important;
    padding-right:var(--mss-body-content-pad-m,14px)!important;
  }
}


/* =========================================================
   3.14.96 — Native Popover Mobile Menu Recovery
   The visible Menu control now uses the HTML Popover API. Opening/closing no
   longer depends on theme.js, event bubbling, cloned menus or plugin handlers.
   JavaScript only mirrors state for sticky/ARIA and legacy browsers.
   ========================================================= */
@media (max-width:820px){
  /* New class intentionally differs from the legacy __toggle class. This means
     a stale cached 3.14.94/3.14.95 JS bundle cannot preventDefault() on the
     native popover trigger. */
  .mss-mobile-navbar__native-toggle{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:11px!important;
    min-height:46px!important;
    height:46px!important;
    padding:8px 14px!important;
    margin:0 auto!important;
    border:1px solid rgba(31,47,40,.14)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:inherit!important;
    font:inherit!important;
    font-weight:700!important;
    line-height:1!important;
    cursor:pointer!important;
    box-shadow:0 1px 2px rgba(18,32,25,.03)!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .mss-mobile-navbar.is-stuck .mss-mobile-navbar__native-toggle{
    color:var(--mss3120-mobile-sticky-ham,#1f2f28)!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
  .mss-mobile-navbar__native-toggle .mss-hamburger-lines{
    display:flex!important;
    width:28px!important;
    height:22px!important;
    flex-direction:column!important;
    justify-content:space-between!important;
  }
  .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span{
    display:block!important;
    width:100%!important;
    height:3px!important;
    border-radius:999px!important;
    background:currentColor!important;
    transform-origin:center!important;
    transition:transform var(--mss-mobile-menu-speed,280ms) cubic-bezier(.2,.75,.2,1),opacity calc(var(--mss-mobile-menu-speed,280ms)*.65) ease!important;
  }
  .mss-mobile-navbar.is-open .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(1){transform:translateY(9.5px) rotate(45deg)!important;}
  .mss-mobile-navbar.is-open .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(2){opacity:0!important;}
  .mss-mobile-navbar.is-open .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)!important;}

  .mss-mobile-navbar__native-toggle[popovertarget="mss-mobile-menu-overlay"]{
    pointer-events:auto!important;
    position:relative!important;
    z-index:10071!important;
    touch-action:manipulation!important;
  }

  /* Browser top-layer popover. Explicitly reset UA popover geometry. */
  #mss-mobile-menu-overlay[popover]{
    margin:0!important;
    border:0!important;
    padding:0!important;
    position:fixed!important;
    inset:var(--mss-mobile-overlay-top,60px) 0 0 0!important;
    width:100vw!important;
    max-width:none!important;
    height:calc(100dvh - var(--mss-mobile-overlay-top,60px))!important;
    max-height:none!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:var(--mss3120-mobile-panel-bg,#fffefb)!important;
    color:var(--mss3120-mobile-panel-text,#1f2f28)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    z-index:2147483000!important;
  }
  #mss-mobile-menu-overlay[popover]:not(:popover-open){
    display:none!important;
    pointer-events:none!important;
  }
  #mss-mobile-menu-overlay[popover]:popover-open{
    display:block!important;
    pointer-events:auto!important;
  }
  #mss-mobile-menu-overlay[popover]::backdrop{
    background:transparent!important;
  }

  /* The same Menu control becomes the close X without JS. */
  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar[data-mss-mobile-navbar]{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    overflow:visible!important;
    z-index:2147483001!important;
  }
  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(1){
    transform:translateY(9.5px) rotate(45deg)!important;
  }
  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(2){
    opacity:0!important;
  }
  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(3){
    transform:translateY(-9.5px) rotate(-45deg)!important;
  }
  html:has(#mss-mobile-menu-overlay:popover-open),
  body:has(#mss-mobile-menu-overlay:popover-open){
    overflow:hidden!important;
  }

  /* Never hide the control because a late source-menu probe failed: the
     server-rendered primary menu remains the authoritative native content. */
  .mss-mobile-navbar.is-menu-missing{display:block!important;}
}

/* =========================================================
   3.14.97 — Mobile Guide Card Last-Item Layout Integrity
   The last homepage guide was re-enabled below 820px with display:block.
   Because :last-child has higher specificity than the generic mobile card
   selector, that one card escaped the compact two-column card layout and its
   cover became a large standalone-looking image. Keep every guide card,
   including the last one, in the same compact horizontal grid.
   ========================================================= */
@media (max-width:820px){
  .home .home-guides-grid > .editorial-card:last-child{
    display:grid!important;
    grid-template-columns:150px minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  .home .home-guides-grid > .editorial-card:last-child > .editorial-card-media{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    min-height:180px!important;
    aspect-ratio:auto!important;
    position:relative!important;
    overflow:hidden!important;
  }
  .home .home-guides-grid > .editorial-card:last-child > .editorial-card-media .mss-guide-card-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .home .home-guides-grid > .editorial-card:last-child > .editorial-card-body{
    min-width:0!important;
  }
}
@media (max-width:620px){
  .home .home-guides-grid > .editorial-card:last-child{
    grid-template-columns:118px minmax(0,1fr)!important;
  }
  .home .home-guides-grid > .editorial-card:last-child > .editorial-card-media{
    min-height:160px!important;
  }
}

/* =========================================================
   3.14.98 — Editorial Premium Footer
   Keeps the 3×3 builder storage model while upgrading the visual composition.
   ========================================================= */
.mss-footer-premium98{
  --mss98-bg:#08251c;
  --mss98-bg-deep:#061d16;
  --mss98-bg-soft:#0d3126;
  --mss98-gold:#d7ae56;
  --mss98-gold-soft:#f0d284;
  --mss98-ivory:#fbf8ef;
  --mss98-text:#f4f1e8;
  --mss98-muted:#c7d1cb;
  --mss98-line:rgba(240,210,132,.20);
  background:
    radial-gradient(circle at 95% 3%,rgba(210,172,86,.11),transparent 24%),
    radial-gradient(circle at 6% 88%,rgba(68,116,91,.10),transparent 24%),
    linear-gradient(180deg,var(--mss98-bg) 0%,var(--mss98-bg-deep) 100%)!important;
  color:var(--mss98-text)!important;
}
.mss-footer-premium98::before,
.mss-footer-premium98::after{display:none!important}
.mss-footer-premium98 .mss-footer-pro__shell{
  padding-top:38px!important;
  padding-bottom:22px!important;
}
.mss-footer-premium98 .mss-footer-builder-row-inner{max-width:1680px!important;margin-inline:auto!important}

/* Newsletter hero */
.mss-footer98-hero{padding:0 0 38px!important}
.mss-footer98-hero__grid{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(460px,1.16fr) minmax(120px,.30fr)!important;
  gap:32px!important;
  align-items:center;
  min-height:250px;
  padding:40px 42px!important;
  overflow:hidden;
  border:1px solid rgba(240,210,132,.24);
  border-radius:28px;
  background:
    linear-gradient(115deg,rgba(7,35,27,.98) 0%,rgba(10,45,34,.94) 62%,rgba(13,55,40,.90) 100%);
  box-shadow:0 22px 60px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.03);
}
.mss-footer98-hero__grid::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 0 64%,rgba(255,255,255,.018) 64% 75%,transparent 75%);
}
.mss-footer98-hero__copy,.mss-footer98-hero__action,.mss-footer98-hero__decor{position:relative;z-index:2;min-width:0}
.mss-footer98-hero__copy .mss-footer-pro__eyebrow{margin-bottom:14px;color:var(--mss98-gold-soft)!important}
.mss-footer98-hero__copy h2{
  margin:0 0 14px!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2.15rem,3.2vw,3.8rem)!important;
  line-height:1.02!important;
  font-weight:500!important;
  letter-spacing:-.025em;
}
.mss-footer98-hero__copy p{max-width:640px;margin:0!important;color:var(--mss98-muted)!important;font-size:1rem!important;line-height:1.65!important}
.mss-footer98-hero__action{display:grid;gap:22px}
.mss-footer98-newsletter-form{
  position:relative;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center;
  min-height:62px;
  padding:7px 7px 7px 10px;
  overflow:visible!important;
  border:1px solid rgba(240,210,132,.20)!important;
  border-radius:18px!important;
  background:rgba(5,25,19,.50)!important;
  box-shadow:none!important;
}
.mss-footer98-field-icon{display:grid;place-items:center;color:var(--mss98-gold-soft)}
.mss-footer98-field-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mss-footer98-newsletter-form input{
  min-height:48px!important;padding:0 14px!important;border:0!important;border-radius:12px 0 0 12px!important;background:#fff!important;color:#26312c!important;
}
.mss-footer98-newsletter-form button{
  min-height:48px!important;padding:0 26px!important;border:0!important;border-radius:0 12px 12px 0!important;background:linear-gradient(135deg,#f3d98e,#d8ad53)!important;color:#102219!important;font-weight:800!important;white-space:nowrap;
}
.mss-footer98-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;color:#f0eee6}
.mss-footer98-benefits span{display:flex;align-items:center;gap:9px;min-width:0;font-size:.82rem;line-height:1.3}
.mss-footer98-benefits i{display:grid;place-items:center;color:var(--mss98-gold-soft);font-style:normal}
.mss-footer98-benefits svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mss-footer98-hero__decor{align-self:stretch;min-height:170px}
.mss-footer98-orbit{position:absolute;width:245px;height:245px;right:-78px;top:-55px;border:1px solid rgba(240,210,132,.42);border-radius:50%}
.mss-footer98-leaf{position:absolute;display:block;width:46px;height:92px;border-radius:100% 0 100% 0;background:linear-gradient(145deg,rgba(86,125,101,.75),rgba(28,73,52,.22));transform:rotate(35deg);box-shadow:inset 0 0 0 1px rgba(240,210,132,.12)}
.mss-footer98-leaf--a{right:24px;top:26px}.mss-footer98-leaf--b{right:-4px;top:82px;transform:rotate(68deg) scale(.78)}

/* Main row */
.mss-footer98-main{border-top:1px solid var(--mss98-line);border-bottom:1px solid var(--mss98-line)}
.mss-footer-premium98 .mss-footer98-main__grid{
  display:grid!important;
  grid-template-columns:minmax(250px,.85fr) minmax(430px,1.22fr) minmax(380px,1fr)!important;
  gap:0!important;
  padding:42px 0 38px!important;
  border:0!important;
}
.mss-footer-premium98 .mss-footer98-main__grid>.mss-footer-col{min-width:0;padding:0 34px;border-left:1px solid var(--mss98-line)}
.mss-footer-premium98 .mss-footer98-main__grid>.mss-footer-col:first-child{padding-left:0;border-left:0}
.mss-footer-premium98 .mss-footer98-main__grid>.mss-footer-col:last-child{padding-right:0}
.mss-footer98-nav-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.mss-footer98-nav-pair>.mss-footer-pro__group{padding:0 30px!important;border-left:1px solid var(--mss98-line)!important}
.mss-footer98-nav-pair>.mss-footer-pro__group:first-child{padding-left:0!important;border-left:0!important}
.mss-footer98-nav-pair>.mss-footer-pro__group:last-child{padding-right:0!important}
.mss-footer-premium98 .mss-footer-pro__group{padding:0!important;border:0!important}
.mss-footer-premium98 .mss-footer-pro__group-toggle{
  margin:0 0 18px!important;color:var(--mss98-gold-soft)!important;font-size:.72rem!important;letter-spacing:.22em!important;text-transform:uppercase!important;font-weight:800!important;
}
.mss-footer-premium98 .mss-footer-pro__group-body{gap:11px!important}
.mss-footer-premium98 .mss-footer-pro__group-body>a:not(.mss-footer98-trust-row){color:#f4f1e8!important;font-size:.92rem!important;text-decoration:none!important}
.mss-footer-premium98 .mss-footer-pro__group-body>a:not(.mss-footer98-trust-row):hover{color:var(--mss98-gold-soft)!important}
.mss-footer98-brand-title{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.05;color:#fff}
.mss-footer98-brand-tagline{margin:5px 0 14px!important;color:var(--mss98-gold-soft)!important;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem!important;line-height:1.28!important}
.mss-footer98-brand-group .mss-footer-pro__group-body>p:last-of-type{max-width:340px;color:#c7d1cb!important;font-size:.86rem!important;line-height:1.6!important}
.mss-footer98-contact-icons{display:flex;gap:10px;margin-top:12px}
.mss-footer98-contact-icons a{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(240,210,132,.17);border-radius:50%;background:rgba(255,255,255,.045);color:#eef0ea!important}
.mss-footer98-contact-icons a:hover{border-color:rgba(240,210,132,.55);color:var(--mss98-gold-soft)!important;transform:translateY(-1px)}
.mss-footer98-contact-icons svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mss-footer98-all-categories{margin-top:3px;color:var(--mss98-gold-soft)!important;font-weight:750!important}
.mss-footer98-transparency-list{gap:15px!important}
.mss-footer98-trust-row{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:0!important;color:inherit!important;text-decoration:none!important}
.mss-footer98-trust-row i{display:grid;place-items:center;width:34px;height:34px;color:var(--mss98-gold-soft);font-style:normal}
.mss-footer98-trust-row svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.mss-footer98-trust-row span{display:grid;gap:3px}
.mss-footer98-trust-row strong{color:#fff;font-size:.92rem;line-height:1.3}
.mss-footer98-trust-row small{color:#bdc8c2;font-size:.77rem;line-height:1.45}
.mss-footer98-trust-row:hover strong{color:var(--mss98-gold-soft)}

/* Existing footer menu widget gets visually normalized inside Explore. */
.mss-footer98-custom-menu .widget,.mss-footer98-custom-menu .widget_nav_menu{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.mss-footer98-custom-menu .widget-title,.mss-footer98-custom-menu .wp-block-heading{display:none!important}
.mss-footer98-custom-menu ul{display:grid!important;gap:11px!important;margin:0!important;padding:0!important;list-style:none!important}
.mss-footer98-custom-menu li{margin:0!important;padding:0!important;border:0!important}
.mss-footer98-custom-menu a{display:block!important;color:#f4f1e8!important;text-decoration:none!important;font-size:.92rem!important;line-height:1.38!important}
.mss-footer98-custom-menu a:hover{color:var(--mss98-gold-soft)!important}
.mss-footer98-custom-widget{min-width:0}

/* Bottom bar */
.mss-footer98-bottom{padding:22px 0 0!important}
.mss-footer-premium98 .mss-footer98-bottom__grid{display:grid!important;grid-template-columns:1fr auto minmax(230px,.55fr)!important;gap:24px!important;align-items:center;padding:0!important}
.mss-footer98-seal{display:inline-flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;width:max-content;max-width:100%}
.mss-footer98-seal i{display:grid;place-items:center;color:var(--mss98-gold-soft);font-style:normal}
.mss-footer98-seal svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mss-footer98-seal span{display:grid;gap:4px}.mss-footer98-seal strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;font-weight:500}.mss-footer98-seal small{text-transform:uppercase;letter-spacing:.22em;color:var(--mss98-gold-soft);font-size:.52rem}
.mss-footer-premium98 .mss-footer-pro__legal{justify-content:center!important;gap:8px 20px!important}
.mss-footer-premium98 .mss-footer-pro__legal a{color:#dbe2dd!important;font-size:.75rem!important}
.mss-footer98-copyright{margin:0!important;text-align:right;color:#aeb9b3!important;font-size:.72rem!important;line-height:1.45!important}

@media(max-width:1180px){
  .mss-footer98-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr)!important}.mss-footer98-hero__decor{display:none!important}
  .mss-footer-premium98 .mss-footer98-main__grid{grid-template-columns:minmax(230px,.8fr) minmax(360px,1.12fr) minmax(300px,.9fr)!important}
  .mss-footer-premium98 .mss-footer98-main__grid>.mss-footer-col{padding-inline:24px}
  .mss-footer98-nav-pair>.mss-footer-pro__group{padding-inline:22px!important}
}

@media(max-width:900px){
  .mss-footer-premium98 .mss-footer-pro__shell{padding-top:22px!important;padding-bottom:18px!important}
  .mss-footer98-hero{padding-bottom:24px!important}
  .mss-footer98-hero__grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;min-height:0;padding:26px 22px!important;border-radius:22px}
  .mss-footer98-hero__copy h2{font-size:2rem!important}.mss-footer98-hero__copy p{font-size:.91rem!important;line-height:1.55!important}
  .mss-footer98-newsletter-form{grid-template-columns:38px minmax(0,1fr) auto!important;min-height:56px;padding:6px 6px 6px 8px}
  .mss-footer98-newsletter-form input{min-height:44px!important;font-size:.9rem!important;padding-inline:10px!important}
  .mss-footer98-newsletter-form button{min-height:44px!important;padding-inline:16px!important;font-size:.88rem!important}
  .mss-footer98-benefits{gap:8px}.mss-footer98-benefits span{display:grid;justify-items:center;gap:6px;text-align:center;font-size:.68rem}.mss-footer98-benefits svg{width:20px;height:20px}
  .mss-footer-premium98 .mss-footer98-main__grid{display:block!important;padding:0!important;border:0!important}
  .mss-footer-premium98 .mss-footer98-main__grid>.mss-footer-col{padding:0!important;border:0!important}
  .mss-footer98-nav-pair{display:block!important}
  .mss-footer98-nav-pair>.mss-footer-pro__group{padding:0!important;border-left:0!important}
  .mss-footer-premium98 .mss-footer-pro__group{border-bottom:1px solid var(--mss98-line)!important}
  .mss-footer-premium98 .mss-footer-pro__group:last-child{border-bottom:0!important}
  .mss-footer-premium98 .mss-footer-pro__group-toggle{margin:0!important;padding:16px 2px!important;color:#fff!important;text-transform:none!important;letter-spacing:0!important;font-family:Georgia,"Times New Roman",serif;font-size:1.03rem!important;font-weight:600!important;cursor:pointer!important}
  .mss-footer-premium98 .mss-footer-pro__group-toggle span:last-child{display:inline-block!important;color:var(--mss98-gold-soft)!important;transform:rotate(90deg);transition:transform .2s ease}
  .mss-footer-premium98 .mss-footer-pro__group-toggle[aria-expanded="true"] span:last-child{transform:rotate(-90deg)!important}
  .mss-footer-premium98 .mss-footer-pro__group-body{padding:0 2px 18px!important}
  .mss-footer98-brand-title,.mss-footer98-brand-tagline{display:none}
  .mss-footer98-brand-group .mss-footer-pro__group-body>p:last-of-type{max-width:none}
  .mss-footer98-transparency-list{gap:16px!important}
  .mss-footer-premium98 .mss-footer98-bottom__grid{grid-template-columns:1fr!important;gap:16px!important;text-align:center}
  .mss-footer98-seal{margin-inline:auto}.mss-footer98-copyright{text-align:center!important}.mss-footer-premium98 .mss-footer-pro__legal{order:2}
}

@media(max-width:520px){
  .mss-footer-premium98 .mss-footer-pro__shell{padding-inline:0!important}
  .mss-footer98-hero__grid{padding:23px 17px!important;border-radius:18px}
  .mss-footer98-hero__copy h2{font-size:1.82rem!important}.mss-footer98-hero__copy p{font-size:.86rem!important}
  .mss-footer98-newsletter-form{grid-template-columns:32px minmax(0,1fr) auto!important;border-radius:14px!important}
  .mss-footer98-field-icon svg{width:18px;height:18px}
  .mss-footer98-newsletter-form button{padding-inline:12px!important;font-size:.82rem!important}
  .mss-footer98-benefits{grid-template-columns:repeat(3,1fr)}
  .mss-footer98-trust-row{grid-template-columns:32px minmax(0,1fr);gap:10px}.mss-footer98-trust-row i{width:30px;height:30px}.mss-footer98-trust-row svg{width:24px;height:24px}
  .mss-footer98-seal svg{width:36px;height:36px}
}


/* ============================================================
   3.14.99 — Body / Footer Transition Zone
   Purpose: create a deliberate visual pause between the full-width
   ivory body and the premium dark footer. No layout dependency on
   margin collapse; the separator is a dedicated root-level element.
   ============================================================ */
.mss-footer-transition99{
  position:relative;
  width:100%;
  min-height:64px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(70% 120% at 50% -35%,rgba(218,185,118,.11),transparent 62%),
    linear-gradient(180deg,#fbf8f1 0%,#f7f1e6 72%,#f3eadc 100%);
  box-shadow:
    inset 0 1px 0 rgba(18,55,43,.035),
    inset 0 -1px 0 rgba(202,160,83,.12);
}
.mss-footer-transition99::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:13px;
  width:min(92vw,1720px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(186,142,67,.34) 18%,rgba(186,142,67,.48) 50%,rgba(186,142,67,.34) 82%,transparent);
}
.mss-footer-transition99::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:7px;
  width:76px;
  height:12px;
  transform:translateX(-50%);
  border-radius:999px;
  background:radial-gradient(ellipse at center,rgba(192,150,74,.13),transparent 72%);
  filter:blur(2px);
}
.mss-footer-transition99__line{
  position:absolute;
  left:50%;
  bottom:12px;
  width:54px;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#d0aa62,transparent);
  opacity:.9;
}
/* Remove accidental margins from the two adjacent structural regions. */
.site-main{margin-bottom:0!important}
.mss-footer-transition99 + .site-footer{margin-top:0!important}

@media (max-width:1024px){
  .mss-footer-transition99{min-height:48px}
  .mss-footer-transition99::before{bottom:10px;width:min(90vw,900px)}
  .mss-footer-transition99__line{bottom:9px}
}
@media (max-width:640px){
  .mss-footer-transition99{min-height:34px;background:linear-gradient(180deg,#fbf8f1 0%,#f6efe3 100%)}
  .mss-footer-transition99::before{bottom:7px;width:86vw;background:linear-gradient(90deg,transparent,rgba(186,142,67,.30),transparent)}
  .mss-footer-transition99::after{display:none}
  .mss-footer-transition99__line{bottom:6px;width:42px;height:1px}
}


/* ============================================================
   3.15.0 — Footer Global Gutter Coherence
   The Customizer's global footer horizontal padding is authoritative across
   every premium-footer layer: newsletter hero, accordion/navigation area and
   bottom/legal bar. This intentionally comes after the 3.14.98 mobile rules,
   which previously zeroed the shell padding below 520px.
   ============================================================ */
.mss-footer-premium98.mss-footer-builder--width-full .mss-footer-pro__shell,
.mss-footer-premium98.mss-footer-builder--width-custom .mss-footer-pro__shell{
  padding-left:var(--mss-footer-content-pad-d,48px)!important;
  padding-right:var(--mss-footer-content-pad-d,48px)!important;
  box-sizing:border-box!important;
}

/* All premium footer rows consume the same shell gutter. Their own padding is
   component-internal spacing only and no longer substitutes for the global
   viewport gutter. */
.mss-footer-premium98 .mss-footer98-hero,
.mss-footer-premium98 .mss-footer98-main,
.mss-footer-premium98 .mss-footer98-bottom{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  .mss-footer-premium98.mss-footer-builder--width-full .mss-footer-pro__shell,
  .mss-footer-premium98.mss-footer-builder--width-custom .mss-footer-pro__shell{
    padding-left:var(--mss-footer-content-pad-m,24px)!important;
    padding-right:var(--mss-footer-content-pad-m,24px)!important;
  }

  /* Accordion headers and bodies align to the exact same content edge. */
  .mss-footer-premium98 .mss-footer-pro__group-toggle,
  .mss-footer-premium98 .mss-footer-pro__group-body{
    padding-left:0!important;
    padding-right:0!important;
  }

  .mss-footer-premium98 .mss-footer98-main__grid,
  .mss-footer-premium98 .mss-footer98-bottom__grid{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* 3.14.98 had a very-small-screen reset to padding-inline:0. The global
   Customizer gutter must still win at phone widths. */
@media(max-width:520px){
  .mss-footer-premium98.mss-footer-builder--width-full .mss-footer-pro__shell,
  .mss-footer-premium98.mss-footer-builder--width-custom .mss-footer-pro__shell{
    padding-left:var(--mss-footer-content-pad-m,24px)!important;
    padding-right:var(--mss-footer-content-pad-m,24px)!important;
  }
}


/* ============================================================
   3.15.1 — Homepage Mobile Section Head Readability
   Prevent clipping/truncation of long editorial intros in homepage sections
   such as Top Pick and Guide & approfondimenti. The heading may wrap across
   multiple lines and the intro block always honors the body gutter.
   ============================================================ */
@media(max-width:620px){
  .home .section-head,
  .home .section-title-row{
    align-items:flex-start!important;
    gap:12px!important;
    margin-bottom:24px;
  }

  .home .section-head > div,
  .home .section-title-row > div{
    min-width:0;
    width:100%;
    max-width:100%;
  }

  .home .section-head h2,
  .home .section-title-row h2,
  .home .demand-section h2{
    white-space:normal!important;
    max-width:100%!important;
    overflow:visible!important;
    overflow-wrap:anywhere;
    word-break:normal;
    text-wrap:balance;
    line-height:1.08!important;
  }

  .home .section-head p,
  .home .section-title-row p{
    max-width:100%!important;
    width:100%;
    margin-right:0!important;
    overflow-wrap:anywhere;
  }

  .home .section-head .text-arrow,
  .home .section-title-row .text-arrow{
    align-self:flex-start;
    margin-top:2px;
  }
}
\n\n/* ============================================================\n   3.15.2 — Unified Mobile Editorial Headings\n   One authoritative type scale for homepage editorial section titles.\n   This deliberately overrides historical section-specific mobile sizes\n   (Method/Score, Demand, Transparency) to keep visual rhythm consistent.\n   ============================================================ */\n@media(max-width:620px){\n  .home .section-head h2,\n  .home .section-title-row h2,\n  .home .demand-section h2,\n  .home .method-section-v32 .method-intro h2,\n  .home .home-transparency h2{\n    font-size:clamp(22px,5.8vw,28px)!important;\n    line-height:1.08!important;\n    letter-spacing:-.02em!important;\n    white-space:normal!important;\n    max-width:100%!important;\n    overflow:visible!important;\n    text-overflow:clip!important;\n    overflow-wrap:normal!important;\n    word-break:normal!important;\n    text-wrap:balance;\n    hyphens:auto;\n  }\n\n  .home .method-section-v32 .method-intro h2,\n  .home .demand-section h2,\n  .home .home-transparency h2{\n    margin-top:10px!important;\n    margin-bottom:14px!important;\n  }\n\n  .home .method-section-v32 .method-intro p,\n  .home .demand-section p,\n  .home .home-transparency p,\n  .home .section-head p,\n  .home .section-title-row p{\n    font-size:15px!important;\n    line-height:1.6!important;\n    max-width:100%!important;\n  }\n}\n\n@media(max-width:390px){\n  .home .section-head h2,\n  .home .section-title-row h2,\n  .home .demand-section h2,\n  .home .method-section-v32 .method-intro h2,\n  .home .home-transparency h2{\n    font-size:clamp(21px,6.3vw,26px)!important;\n  }\n}\n

/* ============================================================
   3.15.3 — Mobile Header Top Gap Removal
   Removes residual vertical reservation above Header Main on phones/tablets.
   The visual header must begin immediately at the top of the document flow.
   Sticky compensation is allowed only while the mobile navbar is actually stuck.
   ============================================================ */
@media(max-width:820px){
  body.home,
  body.home .site-header.mss-header-architecture-3140{
    margin-top:0!important;
    padding-top:0!important;
  }

  body.home .site-header.mss-header-architecture-3140{
    min-height:0!important;
    height:auto!important;
  }

  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 > .mss-header-row-inner,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 .mss-header-cell,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 .widget,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 .mss-header-widget,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 .wp-block-image,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 figure{
    margin-top:0!important;
    padding-top:0!important;
    min-height:0!important;
  }

  /* The old brand-header height variable is legacy for the current widget-only
     Header Main and must not reserve an empty mobile band. */
  body.home .site-header .mss-brand-header:empty{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* Sticky placeholder must be dimensionless unless JS marks it active. */
  .mss-mobile-sticky-placeholder:not(.is-active){
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
  }

  body.home .mss-header-main-3140.mss-header-main-single-active .wp-block-image img,
  body.home .mss-header-main-3140.mss-header-main-single-active figure img{
    margin-top:0!important;
    display:block!important;
  }
}


/* ============================================================
   3.15.4 — Mobile Footer Interaction + Header Gap Hardening
   ============================================================ */
@media(max-width:900px){
  .mss-footer-premium98 .mss-footer-pro__group-toggle{
    position:relative!important;
    z-index:3!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    min-height:56px!important;
    width:100%!important;
  }
  .mss-footer-premium98 .mss-footer-pro__group-toggle *{
    pointer-events:none!important;
  }
  .mss-footer-premium98 .mss-footer-pro__group-body{
    display:none!important;
  }
  .mss-footer-premium98 .mss-footer-pro__group.is-open .mss-footer-pro__group-body{
    display:grid!important;
  }
}

@media(max-width:820px){
  /* The current header artwork is the Header Main widget; legacy brand header
     height must never reserve an empty band above it. */
  body.home .mss-brand-header{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
  body.home .site-header.mss-header-architecture-3140,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140,
  body.home .site-header.mss-header-architecture-3140 > .mss-header-main-3140 > .mss-header-row-inner{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.home .site-header.mss-header-architecture-3140 .mss-header-main-middle > .widget_block,
  body.home .site-header.mss-header-architecture-3140 .mss-header-main-middle > .widget,
  body.home .site-header.mss-header-architecture-3140 .mss-header-main-middle .wp-block-image,
  body.home .site-header.mss-header-architecture-3140 .mss-header-main-middle figure{
    margin-block-start:0!important;
    margin-top:0!important;
    padding-top:0!important;
  }
}


/* ============================================================
   3.15.5 — Desktop Footer Navigation Legibility
   Normalize legacy/classic WordPress footer-menu markup inside the premium
   Explore column. Some installations carry button-like theme/plugin styles
   on nav-menu anchors; these must never render as pale pills on dark green.
   ============================================================ */
@media(min-width:901px){
  .mss-footer-premium98 .mss-footer98-main__grid{
    grid-template-columns:minmax(250px,.82fr) minmax(470px,1.38fr) minmax(360px,1fr)!important;
  }

  .mss-footer-premium98 .mss-footer98-nav-pair{
    gap:28px!important;
  }

  .mss-footer-premium98 .mss-footer98-custom-menu,
  .mss-footer-premium98 .mss-footer98-custom-menu .menu,
  .mss-footer-premium98 .mss-footer98-custom-menu ul,
  .mss-footer-premium98 .mss-footer98-custom-menu li{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .mss-footer-premium98 .mss-footer98-custom-menu a,
  .mss-footer-premium98 .mss-footer98-custom-menu .menu-item > a,
  .mss-footer-premium98 .mss-footer98-custom-menu .wp-block-navigation-item__content{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:3px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    color:#f7f4ea!important;
    font-family:var(--mss-font-footer,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
    font-size:.91rem!important;
    font-weight:500!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    opacity:1!important;
    filter:none!important;
  }

  .mss-footer-premium98 .mss-footer98-custom-menu a:hover,
  .mss-footer-premium98 .mss-footer98-custom-menu a:focus-visible{
    color:var(--mss98-gold-soft)!important;
    background:transparent!important;
    transform:translateX(2px);
  }

  .mss-footer-premium98 .mss-footer98-custom-menu a:focus-visible{
    outline:2px solid var(--mss98-gold-soft)!important;
    outline-offset:4px!important;
  }

  .mss-footer-premium98 .mss-footer98-custom-menu .sub-menu{
    margin-top:5px!important;
    padding-left:12px!important;
    border-left:1px solid var(--mss98-line)!important;
  }
}

/* Tablet safeguard: if the desktop footer grid remains active because of a
   high-DPR layout viewport, keep Explore links readable and unboxed. */
@media(min-width:701px) and (max-width:1100px){
  .mss-footer-premium98 .mss-footer98-custom-menu a{
    background:transparent!important;
    color:#f7f4ea!important;
    border:0!important;
    box-shadow:none!important;
    padding:4px 0!important;
    white-space:normal!important;
  }
}


/* ============================================================
   3.15.6 — Native mobile footer accordions
   Details/summary is the interaction primitive so links remain available even
   when theme JavaScript is cached, delayed or disabled.
   ============================================================ */
.mss-footer-premium98 details.mss-footer-pro__group > summary{
  list-style:none;
}
.mss-footer-premium98 details.mss-footer-pro__group > summary::-webkit-details-marker{
  display:none;
}
@media(min-width:901px){
  .mss-footer-premium98 details.mss-footer-pro__group > .mss-footer-pro__group-body{
    display:grid!important;
  }
}
@media(max-width:900px){
  .mss-footer-premium98 details.mss-footer-pro__group > .mss-footer-pro__group-body{
    display:none!important;
  }
  .mss-footer-premium98 details.mss-footer-pro__group[open] > .mss-footer-pro__group-body{
    display:grid!important;
  }
  .mss-footer-premium98 details.mss-footer-pro__group[open] > .mss-footer-pro__group-toggle span:last-child{
    transform:rotate(-90deg)!important;
  }
  .mss-footer-premium98 details.mss-footer-pro__group:not([open]) > .mss-footer-pro__group-toggle span:last-child{
    transform:rotate(90deg)!important;
  }
  .mss-footer-premium98 .mss-footer98-menu-body a{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    color:#f7f3ea!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:9px 0!important;
    min-height:0!important;
    white-space:normal!important;
  }
}


/* ============================================================
   3.15.8 — Selezioni · Premium Category Filter UX
   Desktop: refined chip panel.
   Mobile: compact native accordion with a two-column category grid.
   ============================================================ */
.selection-filter-panel{
  margin:0 0 36px;
  padding:22px;
  border:1px solid rgba(18,32,25,.09);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(192,146,68,.10),transparent 34%),
    linear-gradient(145deg,#fffdfa 0%,#f8f4ec 100%);
  box-shadow:0 14px 36px rgba(18,32,25,.045);
}
.selection-filter-panel__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.selection-filter-panel__eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.selection-filter-panel__title{
  display:block;
  font-family:var(--mss-font-headings,Georgia,serif);
  color:var(--ink);
  font-size:25px;
  line-height:1.1;
}
.selection-filter-panel__status{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(18,32,25,.10);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:11px;
  font-weight:750;
}
.selection-category-nav--desktop{
  margin:0!important;
  padding:0!important;
  border:0!important;
  gap:9px!important;
}
.selection-category-nav--desktop a{
  min-height:42px;
  padding:0 17px!important;
  border-color:rgba(31,98,151,.35)!important;
  box-shadow:0 2px 0 rgba(18,32,25,.015);
}
.selection-category-nav--desktop a:hover,
.selection-category-nav--desktop a:focus{
  transform:translateY(-1px);
}
.selection-category-mobile{display:none}

@media(max-width:720px){
  .selection-catalog{padding-top:38px}
  .selection-toolbar{margin-bottom:22px!important}
  .selection-filter-panel{
    margin:0 0 28px;
    padding:14px;
    border-radius:20px;
    box-shadow:0 10px 28px rgba(18,32,25,.04);
  }
  .selection-filter-panel__head{
    margin-bottom:12px;
    align-items:center;
  }
  .selection-filter-panel__title{font-size:21px}
  .selection-filter-panel__status{display:none}
  .selection-category-nav--desktop{display:none!important}

  .selection-category-mobile{
    display:block;
    border:1px solid rgba(18,32,25,.12);
    border-radius:17px;
    background:#fff;
    overflow:hidden;
  }
  .selection-category-mobile summary{
    list-style:none;
    cursor:pointer;
    min-height:66px;
    padding:12px 15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    color:var(--ink);
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .selection-category-mobile summary::-webkit-details-marker{display:none}
  .selection-category-mobile summary small{
    display:block;
    margin-bottom:3px;
    color:var(--gold);
    font-size:9px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .selection-category-mobile summary strong{
    display:block;
    font-size:15px;
    line-height:1.25;
  }
  .selection-category-mobile__chevron{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:50%;
    background:var(--ink);
    color:#fff;
    font-size:18px;
    line-height:1;
    transition:transform .18s ease;
  }
  .selection-category-mobile[open] .selection-category-mobile__chevron{
    transform:rotate(180deg);
  }
  .selection-category-mobile__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:12px;
    border-top:1px solid rgba(18,32,25,.08);
    background:#fbf8f2;
  }
  .selection-category-mobile__grid a{
    min-width:0;
    min-height:46px;
    padding:10px 11px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    border:1px solid rgba(31,98,151,.24);
    border-radius:13px;
    background:#fff;
    color:var(--mss-action-blue,#1f6297);
    font-family:var(--mss-font-buttons,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
    font-size:12px;
    font-weight:750;
    line-height:1.25;
    text-decoration:none;
    overflow-wrap:anywhere;
  }
  .selection-category-mobile__grid a.is-active{
    background:var(--ink)!important;
    border-color:var(--ink)!important;
    color:#fff!important;
  }
}

@media(max-width:390px){
  .selection-filter-panel{padding:12px}
  .selection-category-mobile__grid{
    gap:7px;
    padding:10px;
  }
  .selection-category-mobile__grid a{
    min-height:44px;
    padding:9px 10px;
    font-size:11px;
  }
}


/* ============================================================
   3.15.9 — Selezioni · Desktop Filter Architecture
   Desktop/tablet landscape: the filter becomes a structured editorial panel
   instead of an irregular cloud of pills. Mobile keeps the compact native
   accordion introduced in 3.15.8.
   ============================================================ */
@media(min-width:721px){
  .selection-filter-panel{
    display:grid;
    grid-template-columns:minmax(190px,0.32fr) minmax(0,1.68fr);
    align-items:start;
    gap:26px;
    padding:26px;
    margin-bottom:42px;
    border-radius:26px;
    background:
      radial-gradient(circle at 0 0,rgba(192,146,68,.11),transparent 34%),
      linear-gradient(145deg,#fffdfa 0%,#f7f2e8 100%);
    box-shadow:
      0 18px 42px rgba(18,32,25,.055),
      inset 0 1px 0 rgba(255,255,255,.78);
  }

  .selection-filter-panel__head{
    position:sticky;
    top:108px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:14px;
    margin:0;
    padding:4px 22px 4px 2px;
    border-right:1px solid rgba(18,32,25,.10);
  }

  .selection-filter-panel__eyebrow{
    margin:0 0 3px;
    font-size:10px;
    letter-spacing:.17em;
  }

  .selection-filter-panel__title{
    font-size:30px;
    line-height:1.02;
    letter-spacing:-.02em;
  }

  .selection-filter-panel__status{
    min-height:36px;
    margin-top:2px;
    padding:0 14px;
    border-color:rgba(192,146,68,.25);
    background:rgba(255,255,255,.78);
    color:var(--ink);
  }

  .selection-category-nav--desktop{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px!important;
    align-items:stretch;
    width:100%;
  }

  .selection-category-nav--desktop a{
    min-width:0;
    min-height:54px;
    padding:11px 15px!important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid rgba(31,98,151,.20)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.88)!important;
    color:var(--mss-action-blue,#1f6297)!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.25!important;
    text-align:left!important;
    box-shadow:0 3px 10px rgba(18,32,25,.025)!important;
    transition:
      transform .16s ease,
      border-color .16s ease,
      box-shadow .16s ease,
      background .16s ease,
      color .16s ease;
    overflow-wrap:anywhere;
  }

  .selection-category-nav--desktop a::after{
    content:"→";
    flex:0 0 auto;
    color:var(--gold);
    font-size:14px;
    opacity:.75;
  }

  .selection-category-nav--desktop a:hover,
  .selection-category-nav--desktop a:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(192,146,68,.42)!important;
    background:#fff!important;
    box-shadow:0 10px 22px rgba(18,32,25,.07)!important;
    outline:none;
  }

  .selection-category-nav--desktop a.is-active{
    border-color:var(--ink)!important;
    background:var(--ink)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(12,54,43,.16)!important;
  }

  .selection-category-nav--desktop a.is-active::after{
    color:#f0ca73;
    opacity:1;
  }
}

@media(min-width:721px) and (max-width:1180px){
  .selection-filter-panel{
    grid-template-columns:minmax(170px,.30fr) minmax(0,1.70fr);
    gap:20px;
    padding:22px;
  }
  .selection-category-nav--desktop{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .selection-filter-panel__title{font-size:27px}
}

@media(min-width:1600px){
  .selection-filter-panel{
    padding:30px;
    gap:32px;
  }
  .selection-category-nav--desktop{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .selection-category-nav--desktop a{
    min-height:56px;
  }
}


/* ============================================================
   3.15.10 — Selezioni · Unified Dropdown Filter
   Native details/summary category dropdown on both desktop and mobile.
   Replaces the desktop category grid introduced in 3.15.9 while preserving
   the same filtering URLs and catalogue logic.
   ============================================================ */
.selection-filter-panel--dropdown{
  display:block!important;
  max-width:820px;
  margin:0 auto 38px;
  padding:22px;
  border:1px solid rgba(18,32,25,.09);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(192,146,68,.09),transparent 36%),
    linear-gradient(145deg,#fffdfa 0%,#f8f4ec 100%);
  box-shadow:0 14px 36px rgba(18,32,25,.045);
}
.selection-filter-panel--dropdown .selection-filter-panel__head{
  position:static!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
}
.selection-filter-panel--dropdown .selection-filter-panel__title{
  font-size:26px;
}
.selection-category-dropdown{
  position:relative;
  width:100%;
  border:1px solid rgba(18,32,25,.12);
  border-radius:17px;
  background:#fff;
  overflow:visible;
}
.selection-category-dropdown summary{
  list-style:none;
  cursor:pointer;
  min-height:68px;
  padding:13px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--ink);
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.selection-category-dropdown summary::-webkit-details-marker{display:none}
.selection-category-dropdown__label small{
  display:block;
  margin-bottom:3px;
  color:var(--gold);
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.selection-category-dropdown__label strong{
  display:block;
  font-size:16px;
  line-height:1.25;
}
.selection-category-dropdown__chevron{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
}
.selection-category-dropdown[open] .selection-category-dropdown__chevron{
  transform:rotate(180deg);
}
.selection-category-dropdown__menu{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:14px;
  border-top:1px solid rgba(18,32,25,.08);
  background:#fbf8f2;
  border-radius:0 0 16px 16px;
}
.selection-category-dropdown__menu a{
  min-width:0;
  min-height:46px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  border:1px solid rgba(31,98,151,.22);
  border-radius:13px;
  background:#fff;
  color:var(--mss-action-blue,#1f6297);
  font-size:12px;
  font-weight:750;
  line-height:1.25;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.selection-category-dropdown__menu a:hover,
.selection-category-dropdown__menu a:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(192,146,68,.42);
  outline:none;
}
.selection-category-dropdown__menu a.is-active{
  background:var(--ink)!important;
  border-color:var(--ink)!important;
  color:#fff!important;
}

/* Disable previous desktop chip/grid filter UI. */
.selection-category-nav--desktop,
.selection-category-mobile{
  display:none!important;
}

@media(max-width:900px){
  .selection-filter-panel--dropdown{
    max-width:none;
  }
  .selection-category-dropdown__menu{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .selection-filter-panel--dropdown{
    margin-bottom:28px;
    padding:14px;
    border-radius:20px;
  }
  .selection-filter-panel--dropdown .selection-filter-panel__head{
    margin-bottom:12px!important;
    align-items:center!important;
  }
  .selection-filter-panel--dropdown .selection-filter-panel__title{
    font-size:21px;
  }
  .selection-filter-panel--dropdown .selection-filter-panel__status{
    display:none;
  }
  .selection-category-dropdown summary{
    min-height:64px;
    padding:12px 14px;
  }
  .selection-category-dropdown__menu{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:11px;
  }
  .selection-category-dropdown__menu a{
    min-height:44px;
    padding:9px 10px;
    font-size:11px;
  }
}


/* ============================================================
   3.15.12 — Desktop Header & Navigation Opaque Background Controls
   Background alpha is isolated from child opacity. The active 3.14+ Header
   Main and Bottom Bar surfaces use explicit Customizer-driven RGBA colors.
   Sticky Bottom Bar also covers a large sticky brand instead of allowing the
   page below to show through beneath a compact configured bar height.
   ============================================================ */
@media (min-width:821px){
  .site-header.mss-header-architecture-3140 > .mss-header-main-3140{
    background:var(--mss31512-header-main-bg,#fffefb)!important;
    opacity:1!important;
    -webkit-backdrop-filter:blur(var(--mss31512-header-blur,0px));
    backdrop-filter:blur(var(--mss31512-header-blur,0px));
  }

  .mss-bottombar{
    background:var(--mss31512-bottombar-bg,#fffefb)!important;
    opacity:1!important;
  }

  /* 3.16.1: sticky geometry/paint is owned by the 3.16 terminal layer.
     Only the non-sticky Customizer backgrounds remain in this compatibility block. */
}

/* ============================================================
   3.16.1 — Legacy Header CSS retired
   3.15.13/3.15.14 banner/sticky-brand rules were superseded by the scoped
   3.16.0 terminal layer and are intentionally removed to reduce selector
   collisions and style recalculation cost.
   ============================================================ */

/* ============================================================
   3.15.15 — Mobile Sticky Brand Sizing Controls Fix
   The Customizer values are now authoritative. Legacy 3.14.40/3.14.41 hard
   caps (34/40px and 160/185px, plus the 360/390px overrides) are superseded.
   Responsive safety preserves room for the Menu button on narrow screens.
   ============================================================ */
@media (max-width:820px){
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck{
    height:var(--mss3120-mobile-sticky-h,68px)!important;
    min-height:var(--mss3120-mobile-sticky-h,68px)!important;
    max-height:var(--mss3120-mobile-sticky-h,68px)!important;
    overflow:hidden!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__inner{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    align-items:center!important;
    overflow:visible!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-height:min(var(--mss3124-mobile-brand-sticky-h,48px),calc(var(--mss3120-mobile-sticky-h,68px) - 12px))!important;
    max-width:min(var(--mss3124-mobile-brand-sticky-w,230px),calc(100vw - 150px))!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
    padding:0!important;
    flex:0 1 auto!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__toggle{
    flex:0 0 auto!important;
    max-height:calc(var(--mss3120-mobile-sticky-h,68px) - 8px)!important;
  }
}


/* ============================================================
   3.15.16 — Mobile Sticky Menu Button Sizing Controls
   Sticky-only geometry. Normal mobile Menu geometry and the native Popover
   mechanism remain unchanged. Dynamic X offsets follow hamburger height and
   line thickness, so reduced icons still animate correctly.
   ============================================================ */
@media (max-width:820px){
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle{
    box-sizing:border-box!important;
    height:var(--mss31516-sticky-menu-button-h,40px)!important;
    min-height:var(--mss31516-sticky-menu-button-h,40px)!important;
    max-height:min(var(--mss31516-sticky-menu-button-h,40px),calc(var(--mss3120-mobile-sticky-h,68px) - 8px))!important;
    padding:var(--mss31516-sticky-menu-pad-y,5px) var(--mss31516-sticky-menu-pad-x,10px)!important;
    gap:var(--mss31516-sticky-menu-gap,8px)!important;
    border-radius:11px!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle .mss-mobile-navbar__label{
    font-size:var(--mss31516-sticky-menu-label,14px)!important;
    line-height:1!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle .mss-hamburger-lines{
    width:var(--mss31516-sticky-ham-w,22px)!important;
    height:var(--mss31516-sticky-ham-h,16px)!important;
    min-width:var(--mss31516-sticky-ham-w,22px)!important;
    flex:0 0 var(--mss31516-sticky-ham-w,22px)!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span{
    height:var(--mss31516-sticky-ham-line,2px)!important;
  }

  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck.is-open .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(1){
    transform:translateY(var(--mss31516-sticky-ham-x-offset,7px)) rotate(45deg)!important;
  }
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck.is-open .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(2){opacity:0!important;}
  .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck.is-open .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(3){
    transform:translateY(var(--mss31516-sticky-ham-x-offset-neg,-7px)) rotate(-45deg)!important;
  }

  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(1){
    transform:translateY(var(--mss31516-sticky-ham-x-offset,7px)) rotate(45deg)!important;
  }
  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(2){opacity:0!important;}
  body:has(#mss-mobile-menu-overlay:popover-open) .mss-mobile-navbar[data-mss-mobile-navbar].is-stuck .mss-mobile-navbar__native-toggle .mss-hamburger-lines>span:nth-child(3){
    transform:translateY(var(--mss31516-sticky-ham-x-offset-neg,-7px)) rotate(-45deg)!important;
  }
}


/* ============================================================
   3.15.17 — Desktop Navigation Single-Line Responsive Fit
   Baseline safety for the Primary menu. Runtime values are emitted by PHP so
   the compact breakpoint/font/gap/padding remain Customizer-driven.
   ============================================================ */
@media (min-width:821px){
  .mss-bottombar .mss-bottom-primary-nav{
    min-width:0;
    width:100%;
  }

  .mss-bottombar .mss-bottom-primary-nav > .mss-nav-list{
    min-width:0;
  }

  .mss-bottombar .mss-bottom-primary-nav > .mss-nav-list > li > a{
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }
}


/* ============================================================
   3.16.0 — Unified Responsive Header Architecture
   Authoritative terminal layer. Compatibility CSS from earlier releases stays
   available for older markup, but it no longer owns geometry on 3.16 surfaces.
   ============================================================ */

/* Global ownership boundary. The normal site header is never sticky. */
body.mss-uha-3160 .mss-uha-header,
body.mss-uha-3160 .mss-uha-header.is-stuck{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:auto!important;
}
body.mss-uha-3160 .mss-uha-header .mss-menu-row-fixed{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  max-width:none!important;
  transform:none!important;
}
body.mss-uha-3160 .mss-uha-header .mss-desktop-sticky-brand-clone{display:none!important;}

/* Header Main / banner is a normal-flow artwork surface only. */
body.mss-uha-3160 .mss-uha-banner-surface{
  position:relative!important;
  z-index:1!important;
  overflow:hidden!important;
  isolation:isolate;
}
body.mss-uha-3160 .mss-uha-banner-surface .mss-widget-state-sticky{display:none!important;}
body.mss-uha-3160 .mss-uha-banner-surface .mss-header-banner-widget,
body.mss-uha-3160 .mss-uha-banner-surface .mss-header-banner-widget .wp-block-image,
body.mss-uha-3160 .mss-uha-banner-surface .mss-header-banner-widget figure{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

@media (min-width:821px){
  /* Desktop owns the independent Bottom Bar; the mobile navbar is not rendered. */
  body.mss-uha-3160 .mss-uha-mobile-nav-surface{display:none!important;}
  body.mss-uha-3160 .mss-uha-desktop-nav-surface{display:block!important;}

  /* Banner geometry is independent from every sticky brand/menu rule. */
  body.mss-uha-3160.mss-header-image-fit-contain .mss-uha-banner-surface,
  body.mss-uha-3160.mss-header-image-fit-cover .mss-uha-banner-surface{
    height:var(--mss31513-header-image-height,400px)!important;
    min-height:var(--mss31513-header-image-height,400px)!important;
    max-height:var(--mss31513-header-image-height,400px)!important;
  }
  body.mss-uha-3160.mss-header-image-fit-contain .mss-uha-banner-surface .mss-header-banner-widget,
  body.mss-uha-3160.mss-header-image-fit-cover .mss-uha-banner-surface .mss-header-banner-widget,
  body.mss-uha-3160.mss-header-image-fit-contain .mss-uha-banner-surface .mss-header-banner-widget .wp-block-image,
  body.mss-uha-3160.mss-header-image-fit-cover .mss-uha-banner-surface .mss-header-banner-widget .wp-block-image,
  body.mss-uha-3160.mss-header-image-fit-contain .mss-uha-banner-surface .mss-header-banner-widget figure,
  body.mss-uha-3160.mss-header-image-fit-cover .mss-uha-banner-surface .mss-header-banner-widget figure{
    height:100%!important;
  }
  body.mss-uha-3160.mss-header-image-fit-contain .mss-uha-banner-surface .mss-header-banner-widget img,
  body.mss-uha-3160.mss-header-image-fit-cover .mss-uha-banner-surface .mss-header-banner-widget img{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    max-height:none!important;
    margin:0!important;
    object-position:center center!important;
  }
  body.mss-uha-3160.mss-header-image-fit-contain .mss-uha-banner-surface .mss-header-banner-widget img{object-fit:contain!important;}
  body.mss-uha-3160.mss-header-image-fit-cover .mss-uha-banner-surface .mss-header-banner-widget img{object-fit:cover!important;}
  body.mss-uha-3160.mss-header-image-fit-auto .mss-uha-banner-surface,
  body.mss-uha-3160.mss-header-image-fit-auto .mss-uha-banner-surface .mss-header-banner-widget,
  body.mss-uha-3160.mss-header-image-fit-auto .mss-uha-banner-surface .mss-header-banner-widget .wp-block-image,
  body.mss-uha-3160.mss-header-image-fit-auto .mss-uha-banner-surface .mss-header-banner-widget figure{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.mss-uha-3160.mss-header-image-fit-auto .mss-uha-banner-surface .mss-header-banner-widget img{
    display:block!important;width:100%!important;max-width:none!important;height:auto!important;object-fit:contain!important;
  }

  /* Desktop navigation normal state. Never inherits banner dimensions. */
  body.mss-uha-3160 .mss-uha-desktop-nav-surface{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    opacity:1!important;
    background:var(--mss31512-bottombar-bg,var(--mss3140-bottombar-bg,#fffefb))!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface > .mss-independent-bar__inner{
    grid-template-columns:var(--mss3148-bottombar-cols-desktop,var(--mss3140-bottombar-cols,1fr 1fr 1fr))!important;
    gap:var(--mss3148-bottombar-gap-desktop,0px)!important;
    align-items:center!important;
  }

  /* Sticky owns only the navigation surface. Height grows only when the sticky
     brand requires it; menu and artwork never change the Header Main geometry. */
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck{
    position:fixed!important;
    top:var(--mss3140-topbar-sticky-offset,0px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:max(var(--mss3160-desktop-sticky-h,80px),calc(var(--mss3160-desktop-brand-h,56px) + 16px))!important;
    margin:0!important;
    z-index:10060!important;
    background:var(--mss31512-sticky-bg,#fffefb)!important;
    opacity:1!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    isolation:isolate!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck > .mss-independent-bar__inner{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:max(var(--mss3160-desktop-sticky-h,80px),calc(var(--mss3160-desktop-brand-h,56px) + 16px))!important;
    grid-template-columns:var(--mss3148-bottombar-cols-desktop,var(--mss3140-bottombar-cols,auto minmax(0,1fr) auto))!important;
    gap:var(--mss3148-bottombar-gap-desktop,0px)!important;
    align-items:center!important;
    background:inherit!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck .mss-header-cell{
    min-width:0!important;
    height:auto!important;
    align-items:center!important;
    overflow:visible!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck .mss-widget-state-sticky img,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck .mss-widget-device-desktop.mss-widget-state-sticky img{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:var(--mss3160-desktop-brand-w,220px)!important;
    height:auto!important;
    max-height:var(--mss3160-desktop-brand-h,56px)!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
  }

  /* Desktop primary navigation: always one line; 3.15.17 owns compact values. */
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .widget_nav_menu,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface nav,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .mss-bottom-primary-nav{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .mss-nav-list,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .widget_nav_menu > ul.menu{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    white-space:nowrap!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .mss-nav-list > li,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .widget_nav_menu > ul.menu > li{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .mss-nav-list > li > a,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface .widget_nav_menu > ul.menu > li > a{
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
}

@media (max-width:820px){
  /* Mobile owns only the dedicated native navbar. Desktop Bottom Bar stays a
     menu/brand source for cloning but is never a visible mobile surface. */
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.mss-bottombar--mobile-isolated{display:none!important;}
  body.mss-uha-3160 .mss-uha-mobile-nav-surface{display:block!important;}

  /* Header artwork remains normal flow on mobile and never receives sticky
     menu dimensions. Existing mobile image rules may still choose its size. */
  body.mss-uha-3160 .mss-uha-banner-surface{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.mss-uha-3160 .mss-uha-banner-surface .mss-header-banner-widget img{
    max-height:none!important;
  }

  /* Mobile sticky owns its own brand and button geometry from 3.15.15/16. */
  body.mss-uha-3160 .mss-uha-mobile-nav-surface.is-stuck{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    z-index:10070!important;
    background:var(--mss3120-mobile-sticky-bg,#fffefb)!important;
    opacity:1!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* ============================================================
   3.16.1 — Frontend Performance & CSS Legacy Cleanup
   Avoid expensive visual filters on the authoritative Header surfaces.
   ============================================================ */
body.mss-uha-3160 .mss-uha-header,
body.mss-uha-3160 .mss-uha-banner-surface,
body.mss-uha-3160 .mss-uha-desktop-nav-surface,
body.mss-uha-3160 .mss-uha-mobile-nav-surface{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}


/* ============================================================
   3.16.3 — Desktop Navigation Height Consistency Fix
   Terminal rules supersede the home-only 50/44/42px legacy overrides.
   No Header Main artwork or <=820px mobile navigation modifications.
   ============================================================ */
@media (min-width:821px) {
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck),
  body.mss-uha-3160.home .mss-uha-desktop-nav-surface:not(.is-stuck) {
    box-sizing:border-box!important;
    height:var(--mss3163-nav-normal-h,56px)!important;
    min-height:var(--mss3163-nav-normal-h,56px)!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck) > .mss-independent-bar__inner,
  body.mss-uha-3160.home .mss-uha-desktop-nav-surface:not(.is-stuck) > .mss-independent-bar__inner {
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    align-items:center!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck) .mss-header-cell,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck) .mss-nav-list,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck) .widget_nav_menu > ul.menu {
    height:100%!important;
    align-items:center!important;
  }
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck) .mss-bottom-primary-nav a,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck) .widget_nav_menu > ul.menu > li > a {
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1.25!important;
  }
  /* Sticky brand may require more than the requested height: no clipping. */
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck,
  body.mss-uha-3160 .mss-uha-desktop-nav-surface.is-stuck > .mss-independent-bar__inner {
    box-sizing:border-box!important;
    min-height:max(var(--mss3163-nav-sticky-h,80px),calc(var(--mss3160-desktop-brand-h,56px) + 16px))!important;
  }
}
@media (min-width:821px) and (max-width:1200px) {
  body.mss-uha-3160 .mss-uha-desktop-nav-surface:not(.is-stuck),
  body.mss-uha-3160.home .mss-uha-desktop-nav-surface:not(.is-stuck) {
    height:var(--mss3163-nav-compact-h,48px)!important;
    min-height:var(--mss3163-nav-compact-h,48px)!important;
  }
}
