﻿:root{--sf-bg:#f6f1eb;--sf-ink:#1f1916;--sf-muted:rgba(31,25,22,.62);--sf-soft:#ede7df;--sf-border:rgba(31,25,22,.08);--sf-shadow:0 20px 50px rgba(31,25,22,.08)}html,body{background:var(--sf-bg);color:var(--sf-ink);overflow-x:hidden}.sf-container{width:min(1180px,calc(100% - 48px));margin:0 auto}.sf-section{padding:56px 0}.sf-topbar{background:#1f1916;color:rgba(255,255,255,.78);text-align:center;padding:11px 16px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}.sf-header{position:sticky;top:0;z-index:60;background:rgba(246,241,235,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,25,22,.06)}.sf-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.sf-logo{color:var(--sf-ink)!important;text-decoration:none!important}.sf-logo span{display:block;color:rgba(31,25,22,.42);font-size:11px;letter-spacing:.34em;text-transform:uppercase}.sf-logo strong{display:block;margin-top:4px;font-size:25px;letter-spacing:.22em}.sf-primary-menu,.sf-mobile-menu,.sf-footer-menu{list-style:none;margin:0;padding:0}.sf-primary-menu{display:flex;align-items:center;gap:28px}.sf-primary-menu>.menu-item{position:relative;padding:28px 0}.sf-primary-menu a{color:var(--sf-ink)!important;text-decoration:none!important}.sf-cart-btn,.sf-mobile-toggle{background:var(--sf-ink);color:#fff!important;text-decoration:none!important;border-radius:999px;padding:10px 20px;font-size:14px;border:0}.sf-header-actions{display:flex;align-items:center;gap:12px}.sf-mobile-toggle{display:none}.sf-mega-menu{position:fixed;left:50%;top:86px;width:calc(100vw - 48px);max-width:1360px;transform:translateX(-50%);border-radius:24px;background:#fff;padding:32px;box-shadow:0 30px 90px rgba(31,25,22,.18);border:1px solid rgba(31,25,22,.06);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.sf-has-mega:hover>.sf-mega-menu,.sf-has-mega:focus-within>.sf-mega-menu{opacity:1;visibility:visible;pointer-events:auto}.sf-mega-menu__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:38px}.sf-mega-menu__col h3{margin:0;font-size:18px}.sf-mega-line{width:32px;height:1px;background:rgba(31,25,22,.12);margin:12px 0}.sf-mega-menu__links{display:grid;gap:9px}.sf-mega-menu__links a{color:rgba(31,25,22,.76)!important;text-decoration:none!important;font-weight:500}.sf-kicker,.sf-eyebrow-pill{display:inline-flex;width:fit-content;color:rgba(31,25,22,.42);text-transform:uppercase;letter-spacing:.32em;font-size:11px}.sf-eyebrow-pill{background:#fff;border-radius:999px;padding:9px 16px;box-shadow:0 6px 18px rgba(31,25,22,.06)}.sf-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:36px}.sf-section-head h2,.sf-hero h1,.sf-set-panel h2,.sf-space-panel h2,.sf-brand-copy h1,.sf-brand-copy h2,.sf-journal h1,.sf-journal h2,.sf-contact-band h2,.sf-journal-dispatch h2,.sf-shop-hero h1{margin:12px 0 0;font-weight:650;line-height:1.05;letter-spacing:-.035em}.sf-section-head h2,.sf-contact-band h2,.sf-journal-dispatch h2{font-size:clamp(32px,4vw,56px)}.sf-section-head p,.sf-hero p,.sf-space-panel p,.sf-brand-copy p,.sf-contact-band p,.sf-journal-dispatch p,.sf-shop-hero p{color:var(--sf-muted);line-height:1.75;font-size:16px;max-width:680px}.sf-btn,.sf-mini-btn,.sf-read-link,.sf-add-link,.add_to_cart_button,.single_add_to_cart_button{display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px!important;text-decoration:none!important;transition:.2s}.sf-btn{padding:13px 24px;font-size:14px;border:1px solid var(--sf-border)}.sf-btn--dark{background:var(--sf-ink);color:#fff!important}.sf-btn--light{background:#fff;color:var(--sf-ink)!important}.sf-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:32px;padding-top:44px;padding-bottom:56px}.sf-hero__copy{display:flex;flex-direction:column;justify-content:center}.sf-hero h1{font-size:clamp(46px,6vw,76px)}.sf-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.sf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;max-width:560px}.sf-stats div,.sf-trust-grid div{background:#fff;border-radius:24px;padding:18px;box-shadow:0 10px 30px rgba(31,25,22,.055)}.sf-stats strong{display:block;font-size:26px}.sf-stats span,.sf-trust-grid span{display:block;margin-top:5px;color:rgba(31,25,22,.55);font-size:14px}.sf-hero__media{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sf-hero-main-card{position:relative;overflow:hidden;grid-column:span 2;border-radius:36px;background:#fff;box-shadow:var(--sf-shadow)}.sf-hero-main-card img{width:100%;height:460px;object-fit:cover;display:block}.sf-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.1),transparent)}.sf-hero-feature{position:absolute;left:24px;bottom:24px;max-width:360px;border-radius:24px;background:rgba(255,255,255,.9);padding:20px;backdrop-filter:blur(12px)}.sf-mini-btn{margin-top:14px;background:var(--sf-ink);color:#fff!important;padding:9px 18px;font-size:13px}.sf-hero-small-card,.sf-brand-image,.sf-category-card,.sf-product-card,.sf-guide-card,.sf-journal-card{overflow:hidden;border-radius:32px;background:#fff;box-shadow:0 12px 30px rgba(31,25,22,.055);border:1px solid rgba(31,25,22,.04)}.sf-hero-small-card img{width:100%;height:210px;object-fit:cover}.sf-trust-strip{background:rgba(255,255,255,.7);border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border)}.sf-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:28px 0;text-align:center}.sf-category-grid,.sf-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.sf-category-card{color:var(--sf-ink)!important;text-decoration:none!important;transition:.25s}.sf-category-card:hover,.sf-product-card:hover,.sf-guide-card:hover,.sf-journal-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(31,25,22,.1)}.sf-category-card img{width:100%;height:280px;object-fit:cover;display:block}.sf-category-card__body,.sf-product-card__body{padding:22px}.sf-category-card h3{margin:0;font-size:24px}.sf-category-card p{margin:8px 0 18px;color:rgba(31,25,22,.55);font-size:14px}.sf-product-card__image{position:relative;display:block;overflow:hidden;background:var(--sf-soft)}.sf-product-card__image img,.woocommerce ul.products li.product a img{width:100%;height:300px;object-fit:cover;display:block;transition:.5s;margin:0}.sf-product-card__image span{position:absolute;left:16px;top:16px;border-radius:999px;background:rgba(255,255,255,.9);padding:6px 12px;color:rgba(31,25,22,.62);text-transform:uppercase;letter-spacing:.22em;font-size:11px}.sf-product-card__body p{margin:0;color:rgba(31,25,22,.38);text-transform:uppercase;letter-spacing:.18em;font-size:11px}.sf-product-card__body h3{margin:10px 0 0;font-size:19px;line-height:1.35}.sf-product-card__body a{color:var(--sf-ink);text-decoration:none}.sf-product-card__bottom{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sf-add-link,.add_to_cart_button{border:1px solid var(--sf-border)!important;padding:8px 16px!important;font-size:13px!important;color:var(--sf-ink)!important;background:transparent!important}.sf-add-link:hover,.add_to_cart_button:hover{background:var(--sf-ink)!important;color:#fff!important}.sf-set-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;border-radius:42px;background:#000;color:#fff;padding:42px}.sf-set-panel__copy h2{color:#fff;font-size:clamp(34px,4vw,56px)}.sf-set-panel__copy p{max-width:460px;color:rgba(255,255,255,.72);line-height:1.75}.sf-set-products{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sf-set-card{overflow:hidden;border-radius:30px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}.sf-set-card img{width:100%;height:210px;object-fit:cover;display:block}.sf-set-card__body{padding:18px}.sf-set-card h3{margin:0;color:#fff;font-size:18px}.sf-set-card p{margin:8px 0 16px;color:rgba(255,255,255,.62);font-size:13px}.sf-set-card__body div{display:flex;align-items:center;justify-content:space-between}.sf-set-card__body a{background:#fff;border-radius:999px;padding:8px 14px;color:#000!important;text-decoration:none;font-size:13px}.sf-space-panel,.sf-brand-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;border-radius:38px;background:#fff;padding:40px;box-shadow:0 12px 30px rgba(31,25,22,.055)}.sf-space-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sf-space-grid a{display:block;border-radius:24px;background:var(--sf-bg);padding:20px;color:var(--sf-ink)!important;text-decoration:none!important}.sf-space-grid strong{display:block;font-size:20px}.sf-space-grid span{display:block;margin-top:8px;color:rgba(31,25,22,.6);font-size:14px;line-height:1.6}.sf-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sf-guide-card{padding:28px}.sf-guide-card span{color:rgba(31,25,22,.4);text-transform:uppercase;letter-spacing:.24em;font-size:11px}.sf-guide-card h3{margin:12px 0 0;font-size:25px;line-height:1.35}.sf-guide-card h3 a{color:var(--sf-ink);text-decoration:none}.sf-guide-card p{color:rgba(31,25,22,.6);line-height:1.75}.sf-read-link{margin-top:10px;border:1px solid var(--sf-border);padding:8px 16px;color:var(--sf-ink)!important}.sf-brand-image img{width:100%;min-height:420px;height:100%;object-fit:cover;display:block}.sf-brand-copy{display:flex;flex-direction:column;justify-content:center;border-radius:38px;background:#fff;padding:40px;box-shadow:0 12px 30px rgba(31,25,22,.055)}.sf-tag-row{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}.sf-tag-row span{background:var(--sf-bg);border-radius:20px;padding:14px 16px;font-weight:600;color:rgba(31,25,22,.7);font-size:14px}.sf-contact-band{padding-bottom:64px;padding-top:18px}.sf-contact-band__inner,.sf-journal-dispatch__inner{border-radius:38px;background:var(--sf-soft);padding:46px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.sf-contact-points,.sf-journal-actions{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sf-contact-points a,.sf-journal-actions a{background:rgba(255,255,255,.75);color:var(--sf-ink)!important;text-decoration:none!important;border-radius:20px;padding:18px}.sf-contact-points strong,.sf-contact-points span{display:block}.sf-contact-points span{color:var(--sf-muted);margin-top:4px;font-size:14px}.sf-contact-form,.sf-journal-form{border-radius:30px;padding:24px;background:rgba(255,255,255,.78);display:grid;gap:12px}.sf-contact-form span,.sf-journal-form span{color:rgba(31,25,22,.45);text-transform:uppercase;letter-spacing:.26em;font-size:11px}.sf-contact-form input,.sf-journal-form input,.sf-journal-search input{width:100%;border-radius:999px;border:1px solid var(--sf-border);background:#fff;padding:15px 20px;outline:none}.sf-contact-form button,.sf-journal-form button,.sf-journal-search button{border:0;border-radius:999px;background:var(--sf-ink);color:#fff;padding:15px 22px}.sf-shop-hero{padding:56px 0 20px}.sf-shop-hero__panel,.sf-shop-filters{border-radius:38px;background:#fff;padding:40px;box-shadow:0 12px 30px rgba(31,25,22,.055)}.sf-shop-hero h1{font-size:clamp(42px,5vw,72px)}.sf-shop-filters{margin-top:24px;margin-bottom:28px}.sf-shop-filters__head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.sf-shop-filters__head h2{margin:8px 0 0;font-size:clamp(28px,3vw,42px)}.sf-filter-accordion{border-radius:28px;background:var(--sf-bg);padding:8px 22px}.sf-filter-group{border-top:1px solid var(--sf-border);padding:18px 0}.sf-filter-group:first-child{border-top:0}.sf-filter-group__title{width:100%;display:flex;justify-content:space-between;gap:16px;background:transparent;border:0;padding:0;text-align:left;color:var(--sf-ink);font-size:20px;font-weight:650}.sf-filter-group__content{display:none;flex-wrap:wrap;gap:10px;margin-top:16px}.sf-filter-group.is-open .sf-filter-group__content{display:flex}.sf-filter-group__content a{border:1px solid var(--sf-border);border-radius:999px;padding:8px 12px;background:#fff;color:var(--sf-ink)!important;text-decoration:none!important;font-size:14px}.sf-journal-hero{padding:56px 0}.sf-journal-hero-card{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;border-radius:42px;background:#fff;padding:36px;box-shadow:var(--sf-shadow)}.sf-journal-hero h1{font-size:clamp(42px,5vw,72px)}.sf-journal-hero img{width:100%;height:500px;object-fit:cover;border-radius:32px}.sf-journal-search{margin-top:28px;display:flex;gap:12px;max-width:620px}.sf-pillar-grid,.sf-journal-grid{display:grid;gap:22px}.sf-pillar-grid{grid-template-columns:repeat(5,1fr)}.sf-pillar{background:#fff;border-radius:28px;padding:24px;box-shadow:0 12px 30px rgba(31,25,22,.055)}.sf-pillar h3{margin:0;font-size:18px}.sf-pillar p{color:var(--sf-muted);font-size:14px;line-height:1.65}.sf-journal-grid{grid-template-columns:repeat(3,1fr)}.sf-journal-card{color:var(--sf-ink);text-decoration:none!important;transition:.25s}.sf-journal-card img{width:100%;height:240px;object-fit:cover;display:block}.sf-journal-card__body{padding:24px}.sf-journal-card__meta{color:rgba(31,25,22,.42);text-transform:uppercase;letter-spacing:.22em;font-size:11px}.sf-journal-card h3{margin:12px 0 0;font-size:24px;line-height:1.35}.sf-journal-card p{color:var(--sf-muted);line-height:1.75}.sf-article{width:min(920px,calc(100% - 48px));margin:48px auto 72px;background:#fff;border-radius:42px;overflow:hidden;box-shadow:var(--sf-shadow)}.sf-article-featured img{width:100%;height:460px;object-fit:cover;display:block}.sf-article-body{padding:46px}.sf-article-meta{color:rgba(31,25,22,.42);text-transform:uppercase;letter-spacing:.22em;font-size:11px}.sf-article h1{font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-.035em}.sf-article-content{color:rgba(31,25,22,.72);font-size:18px;line-height:1.9}.sf-journal-cta{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-radius:30px;background:var(--sf-bg);padding:22px}.sf-journal-cta div{background:#fff;border-radius:24px;padding:18px}.sf-journal-dispatch{padding-bottom:64px}.sf-journal-dispatch__inner{background:#fff;grid-template-columns:1fr .95fr;box-shadow:0 12px 30px rgba(31,25,22,.055)}.sf-journal-actions a{background:var(--sf-bg);font-weight:600}.sf-journal-form{background:var(--sf-ink);color:#fff}.sf-journal-form span{color:rgba(255,255,255,.46)}.sf-journal-form p{color:rgba(255,255,255,.66)}.sf-journal-form button{background:#fff;color:var(--sf-ink)}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border-radius:32px;background:#fff;padding:0 0 22px;overflow:hidden;box-shadow:0 12px 30px rgba(31,25,22,.055)}.sf-product-spatial-grid{margin-top:36px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sf-product-spatial-item{background:#faf7f3;border-radius:24px;padding:20px}.sf-product-spatial-item p{margin:8px 0 0;color:var(--sf-muted);line-height:1.7}.sf-footer{background:#1f1916;color:rgba(255,255,255,.82);padding:56px 0}.sf-footer-wrapper{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}.sf-footer-title{width:100%;border:0;padding:0;background:transparent;text-align:left;font-weight:700;color:#fff}.sf-footer-content{display:grid;gap:8px;margin-top:12px;color:rgba(255,255,255,.72);font-size:14px}.sf-footer-content p{max-width:340px;color:rgba(255,255,255,.72);line-height:1.75;margin:0}.sf-footer-menu{display:grid;gap:8px}.sf-footer-menu a,.sf-footer-content a{color:rgba(255,255,255,.72)!important;text-decoration:none!important}.sf-footer-plus{display:none;color:rgba(255,255,255,.72)}.sf-mobile-drawer{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.35);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.2s}.sf-mobile-drawer.is-open{opacity:1;visibility:visible}.sf-mobile-drawer__panel{position:absolute;right:0;top:0;width:min(88vw,390px);height:100%;overflow-y:auto;background:var(--sf-bg);padding:24px;box-shadow:-20px 0 60px rgba(0,0,0,.25)}.sf-mobile-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--sf-border)}.sf-mobile-close{border:1px solid var(--sf-border);background:transparent;border-radius:999px;padding:8px 14px}.sf-mobile-menu{display:grid;gap:12px;margin-top:20px}.sf-mobile-menu>.menu-item>a{display:block;border-radius:18px;background:#fff;color:var(--sf-ink)!important;text-decoration:none!important;padding:16px;font-weight:650}.sf-mobile-menu .sf-mega-menu{display:none;position:static;transform:none;width:100%;max-width:none;opacity:1;visibility:visible;pointer-events:auto;margin-top:8px;padding:18px;border-radius:18px;box-shadow:0 12px 30px rgba(31,25,22,.08)}.sf-mobile-menu .sf-has-mega.is-open .sf-mega-menu{display:block}.sf-mobile-menu .sf-mega-menu__grid{grid-template-columns:1fr;gap:22px}@media(max-width:1024px){.sf-product-grid,.sf-category-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.sf-pillar-grid{grid-template-columns:repeat(2,1fr)}.sf-journal-grid,.sf-guide-grid{grid-template-columns:repeat(2,1fr)}.sf-mega-menu__grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.sf-container,.sf-article{width:min(100% - 32px,1180px)}.sf-topbar{font-size:10px;line-height:1.5;letter-spacing:.16em}.sf-header-inner{min-height:70px}.sf-logo span{letter-spacing:.22em}.sf-logo strong{font-size:20px}.sf-nav{display:none}.sf-mobile-toggle{display:inline-flex}.sf-cart-btn{display:none}.sf-section{padding:42px 0}.sf-section-head,.sf-shop-filters__head{display:block}.sf-section-head .sf-btn,.sf-shop-filters__head .sf-btn{margin-top:18px}.sf-hero{display:block;padding-top:34px}.sf-hero h1,.sf-section-head h2,.sf-set-panel h2,.sf-space-panel h2,.sf-brand-copy h1,.sf-brand-copy h2,.sf-journal h1,.sf-journal h2,.sf-contact-band h2,.sf-journal-dispatch h2{font-size:38px;line-height:1.08;letter-spacing:0}.sf-actions{display:grid;grid-template-columns:1fr;width:100%}.sf-actions .sf-btn,.sf-btn{width:100%;white-space:normal;text-align:center}.sf-stats{gap:10px}.sf-stats div{padding:14px 10px;border-radius:20px}.sf-stats strong{font-size:22px}.sf-stats span{font-size:11px;line-height:1.35}.sf-hero__media{margin-top:28px;grid-template-columns:repeat(2,1fr)}.sf-hero-main-card{border-radius:28px}.sf-hero-main-card img{height:320px}.sf-hero-feature{left:16px;bottom:16px;max-width:calc(100% - 32px);padding:16px}.sf-hero-feature h3{font-size:22px}.sf-hero-feature p{display:none}.sf-hero-small-card{border-radius:24px}.sf-hero-small-card img{height:140px}.sf-trust-grid{grid-template-columns:repeat(2,1fr);gap:12px}.sf-category-grid{grid-template-columns:repeat(2,1fr);gap:14px}.sf-category-card{border-radius:24px}.sf-category-card img{height:150px}.sf-category-card__body{padding:16px}.sf-category-card h3{font-size:18px}.sf-product-grid,.woocommerce ul.products{grid-template-columns:1fr}.sf-set-panel{display:block;border-radius:32px;padding:24px}.sf-set-products{margin-top:28px;grid-template-columns:repeat(2,1fr);gap:12px}.sf-set-card{border-radius:24px}.sf-set-card img{height:120px}.sf-set-card__body{padding:14px}.sf-set-card h3{font-size:14px}.sf-set-card p{font-size:12px}.sf-space-panel,.sf-brand-grid,.sf-journal-hero-card,.sf-contact-band__inner,.sf-journal-dispatch__inner{display:block;border-radius:32px;padding:24px}.sf-space-grid,.sf-contact-points,.sf-journal-actions{margin-top:24px;grid-template-columns:repeat(2,1fr);gap:12px}.sf-guide-grid,.sf-journal-grid,.sf-pillar-grid,.sf-product-spatial-grid,.sf-journal-cta{grid-template-columns:1fr}.sf-brand-image img{min-height:320px}.sf-brand-copy,.sf-contact-form,.sf-journal-form{margin-top:20px}.sf-journal-hero img{height:320px;margin-top:24px}.sf-journal-search{display:grid}.sf-article{border-radius:32px}.sf-article-featured img{height:320px}.sf-article-body{padding:28px}.sf-shop-hero__panel,.sf-shop-filters{padding:24px;border-radius:32px}.sf-footer{padding:32px 0}.sf-footer-wrapper{display:block}.sf-footer-brand,.sf-footer-group{border-top:1px solid rgba(255,255,255,.12);padding:15px 0}.sf-footer-title{display:flex;align-items:center;justify-content:space-between}.sf-footer-plus{display:inline;font-size:18px}.sf-footer-content{display:none}.sf-footer-brand.is-open .sf-footer-content,.sf-footer-group.is-open .sf-footer-content{display:grid}}

/* v1.7.2 HOTFIX — remove child-theme-added duplicate Shop mega menu.
   Your site's original Astra/mega-menu/plugin hover menu is preserved.
   This only hides the `.sf-mega-menu` markup introduced by earlier Spatial Flow patch versions. */
.sf-header .sf-mega-menu,
.sf-mobile-drawer .sf-mega-menu,
.sf-primary-menu .sf-mega-menu,
.sf-mobile-menu .sf-mega-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* v1.7.3 - Center homepage bundle copy vertically inside the dark set panel. */
.sf-set-panel__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 100%;
}
.sf-primary-menu .sf-has-mega:hover > .sf-mega-menu,
.sf-primary-menu .sf-has-mega:focus-within > .sf-mega-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* v1.8 - Journal categories, article navigation, pagination, and single product gallery. */
.sf-section-head--compact {
  margin-bottom: 22px;
}

.sf-journal-category-browser {
  padding-top: 8px;
  padding-bottom: 20px;
}

.sf-journal-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.sf-journal-category {
  display: block;
  min-height: 132px;
  border-radius: 24px;
  background: #fff;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  padding: 20px;
  box-shadow: 0 12px 30px rgba(31,25,22,.055);
  transition: .2s ease;
}

.sf-journal-category:hover,
.sf-journal-category.is-active {
  transform: translateY(-3px);
  background: var(--sf-ink);
  color: #fff !important;
}

.sf-journal-category strong,
.sf-journal-category span {
  display: block;
}

.sf-journal-category strong {
  font-size: 17px;
  line-height: 1.25;
}

.sf-journal-category span {
  margin-top: 10px;
  color: rgba(31,25,22,.58);
  font-size: 13px;
  line-height: 1.55;
}

.sf-journal-category.is-active span,
.sf-journal-category:hover span {
  color: rgba(255,255,255,.66);
}

.sf-pagination,
.woocommerce-pagination ul.page-numbers {
  margin: 42px auto 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  border: 0 !important;
}

.sf-pagination .page-numbers,
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  border-radius: 999px !important;
  background: #fff;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  padding: 0 18px;
  font-size: 14px;
  box-shadow: 0 10px 22px rgba(31,25,22,.06);
  border: 0 !important;
}

.woocommerce-pagination .page-numbers li {
  border: 0 !important;
}

.sf-pagination .current,
.woocommerce-pagination .page-numbers .current {
  background: var(--sf-ink) !important;
  color: #fff !important;
}

.sf-article--with-nav {
  width: min(1180px, calc(100% - 48px));
}

.sf-article-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 32px;
  padding: 38px;
}

.sf-article-layout .sf-article-body {
  padding: 0;
}

.sf-article-sidebar {
  position: sticky;
  top: 110px;
  align-self: start;
  display: grid;
  gap: 16px;
}

.sf-back-link,
.sf-prev-next a,
.sf-on-this-page {
  border-radius: 24px;
  background: var(--sf-bg);
  padding: 18px;
}

.sf-back-link,
.sf-prev-next a,
.sf-on-this-page a {
  color: var(--sf-ink) !important;
  text-decoration: none !important;
}

.sf-back-link {
  display: block;
  font-weight: 650;
}

.sf-on-this-page {
  display: grid;
  gap: 10px;
}

.sf-on-this-page strong {
  margin-bottom: 4px;
}

.sf-on-this-page a {
  color: rgba(31,25,22,.68) !important;
  font-size: 14px;
  line-height: 1.45;
}

.sf-on-this-page .sf-toc-level-3 {
  padding-left: 14px;
  color: rgba(31,25,22,.52) !important;
}

.sf-prev-next {
  display: grid;
  gap: 10px;
}

.sf-prev-next span,
.sf-prev-next strong {
  display: block;
}

.sf-prev-next span {
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 10px;
}

.sf-prev-next strong {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.45;
}

.sf-related-journal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-single-product {
  padding-top: 56px;
  padding-bottom: 64px;
}

.sf-product-detail-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
}

.sf-product-gallery,
.sf-product-summary,
.sf-product-full-description,
.sf-related-products {
  border-radius: 38px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(31,25,22,.055);
}

.sf-product-gallery {
  padding: 18px;
}

.sf-product-gallery__main {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: var(--sf-soft);
}

.sf-product-gallery__main img {
  display: none;
  width: 100%;
  height: 620px;
  object-fit: cover;
}

.sf-product-gallery__main img.is-active {
  display: block;
}

.sf-gallery-counter {
  position: absolute;
  left: 16px;
  bottom: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  padding: 8px 14px;
  font-weight: 650;
  font-size: 14px;
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

.sf-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--sf-ink);
  font-size: 24px;
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

.sf-gallery-arrow--prev {
  left: 16px;
}

.sf-gallery-arrow--next {
  right: 16px;
}

.sf-product-gallery__thumbs {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 14px 2px 2px;
}

.sf-product-gallery__thumbs button {
  flex: 0 0 auto;
  width: 86px;
  height: 86px;
  border: 2px solid transparent;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  background: transparent;
}

.sf-product-gallery__thumbs button.is-active {
  border-color: var(--sf-ink);
}

.sf-product-gallery__thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-product-summary {
  padding: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sf-product-summary h1 {
  margin: 12px 0 0;
  font-size: clamp(42px,5vw,64px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-product-price {
  margin-top: 22px;
  font-size: 30px;
  font-weight: 650;
}

.sf-product-excerpt {
  margin-top: 20px;
  color: var(--sf-muted);
  line-height: 1.75;
}

.sf-product-options {
  margin-top: 28px;
  border-radius: 28px;
  background: var(--sf-bg);
  padding: 24px;
}

.sf-product-options__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.sf-product-options__head h2 {
  margin: 0;
  font-size: 22px;
}

.sf-product-options__head span {
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 10px;
}

.sf-product-options form.cart,
.sf-product-options .variations_form {
  margin: 0 !important;
}

.sf-product-options table.variations {
  width: 100%;
  margin-bottom: 18px !important;
}

.sf-product-options table.variations tr {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.sf-product-options table.variations th,
.sf-product-options table.variations td {
  display: block;
  padding: 0 !important;
  text-align: left;
  background: transparent !important;
}

.sf-product-options table.variations label {
  font-weight: 650;
  color: var(--sf-ink);
}

.sf-product-options table.variations select {
  width: 100%;
  border: 1px solid var(--sf-border);
  border-radius: 999px;
  background: #fff;
  padding: 12px 16px;
}

.sf-product-options .reset_variations {
  display: inline-flex !important;
  margin-top: 8px;
  color: rgba(31,25,22,.58) !important;
  font-size: 13px;
}

.sf-product-options .quantity .qty {
  border: 1px solid var(--sf-border);
  border-radius: 999px;
  padding: 10px;
}

.sf-product-options .single_add_to_cart_button {
  background: var(--sf-ink) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 14px 24px !important;
}

.sf-product-spatial-grid--summary {
  grid-template-columns: 1fr;
  margin-top: 24px;
}

.sf-product-full-description,
.sf-related-products {
  margin-top: 44px;
  padding: 40px;
}

.sf-related-products .sf-section-head {
  margin-bottom: 30px;
}

@media(max-width:1024px){
  .sf-journal-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sf-related-journal-grid,
  .sf-product-detail-grid {
    grid-template-columns: 1fr;
  }
  .sf-article-layout {
    grid-template-columns: 1fr;
  }
  .sf-article-sidebar {
    position: static;
  }
}

@media(max-width:767px){
  .sf-journal-category-grid {
    grid-template-columns: 1fr;
  }
  .sf-journal-category {
    min-height: auto;
    border-radius: 20px;
  }
  .sf-pagination .page-numbers,
  .woocommerce-pagination .page-numbers a,
  .woocommerce-pagination .page-numbers span {
    min-width: 44px;
    min-height: 44px;
    padding: 0 14px;
  }
  .sf-article--with-nav {
    width: min(100% - 32px, 1180px);
  }
  .sf-article-layout {
    padding: 24px;
  }
  .sf-product-gallery__main img {
    height: 420px;
  }
  .sf-product-summary,
  .sf-product-full-description,
  .sf-related-products {
    padding: 24px;
    border-radius: 30px;
  }
  .sf-product-summary h1 {
    font-size: 38px;
    letter-spacing: 0;
  }
  .sf-product-options__head {
    display: block;
  }
  .sf-product-options__head span {
    display: block;
    margin-top: 8px;
  }
  .sf-product-gallery__thumbs button {
    width: 72px;
    height: 72px;
  }
}

/* v1.8.1 - Align card actions across products, sets, WooCommerce grids, and Journal cards. */
.sf-product-card,
.sf-wc-product-card,
.sf-set-card,
.sf-journal-card {
  display: flex !important;
  flex-direction: column;
  height: 100%;
}

.sf-product-card__image,
.sf-set-card > a:first-child,
.sf-journal-card > img,
.sf-journal-card > .wp-post-image {
  flex: 0 0 auto;
}

.sf-product-card__body,
.sf-set-card__body,
.sf-journal-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.sf-product-card__bottom {
  margin-top: auto;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

.sf-product-card__bottom strong {
  flex: 1 1 auto;
  min-width: 72px;
  text-align: left;
}

.sf-product-card__bottom .button,
.sf-product-card__bottom .sf-add-link,
.sf-product-card__bottom .add_to_cart_button {
  flex: 0 0 auto;
  margin: 0 0 0 auto !important;
  min-height: 46px;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.sf-product-card__bottom .button:not(.single_add_to_cart_button),
.sf-product-card__bottom .sf-add-link {
  background: #fff !important;
  border: 1px solid var(--sf-border) !important;
  color: var(--sf-ink) !important;
}

.sf-set-card__body > div:last-child {
  margin-top: auto;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

.sf-set-card__body > div:last-child a {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 0 18px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
}

.sf-journal-card .sf-read-link {
  margin-top: auto;
  align-self: flex-start;
  min-height: 46px;
  padding: 0 20px;
}

@media(max-width:767px){
  .sf-product-card__bottom {
    min-height: 50px;
  }
  .sf-product-card__bottom .button,
  .sf-product-card__bottom .sf-add-link,
  .sf-product-card__bottom .add_to_cart_button,
  .sf-set-card__body > div:last-child a,
  .sf-journal-card .sf-read-link {
    min-height: 42px;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* v1.8.2 - Keep narrow mobile shop-card buttons inside their two-column cards. */
@media(max-width:767px){
  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom {
    gap: 8px;
  }

  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom strong {
    min-width: 0;
    font-size: 12px;
    line-height: 1;
  }

  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom strong:empty {
    display: none;
  }

  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom .button {
    width: auto;
    max-width: 72px;
    min-width: 58px;
    min-height: 42px;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: hidden;
    font-size: 0 !important;
    letter-spacing: .14em;
  }

  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom .button::after {
    content: "VIEW";
    font-size: 10px;
    line-height: 1;
  }

  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom .add_to_cart_button::after {
    content: "ADD";
  }
}

/* v1.9.3 Journal Mosaic merge: homepage middle area, all-article index, sticky collapsible nav. */
.sf-journal-mosaic-note{padding:0 0 22px}
.sf-journal-mosaic-note>div{display:flex;align-items:center;gap:14px;justify-content:space-between;border:1px solid var(--sf-border);background:rgba(255,255,255,.72);border-radius:24px;padding:18px 20px;box-shadow:0 10px 24px rgba(31,25,22,.045)}
.sf-journal-mosaic-note strong{font-size:14px}
.sf-journal-mosaic-note span{flex:1;color:var(--sf-muted);font-size:14px;line-height:1.6}
.sf-journal-mosaic-note a{border-radius:999px;background:var(--sf-ink);color:#fff!important;text-decoration:none!important;padding:10px 16px;font-size:13px;white-space:nowrap}
.sf-journal-mosaic{padding:56px 0}
.sf-mosaic-featured,.sf-mosaic-space{background:#fff5f1}
.sf-mosaic-lifestyle,.sf-mosaic-expertise{background:#fff9f6}
.sf-mosaic-section-title{text-align:center;font-family:Georgia,serif;font-size:18px;margin-bottom:28px}
.sf-mosaic-heading{text-align:center;max-width:920px;margin:0 auto 38px}
.sf-mosaic-heading span{display:block;color:rgba(31,25,22,.45);font-size:11px;letter-spacing:.28em;text-transform:uppercase}
.sf-mosaic-heading h2{margin:14px auto 0;font-size:clamp(30px,4vw,52px);font-weight:650;line-height:1.08;letter-spacing:-.03em}
.sf-mosaic-featured__desktop{display:grid;grid-template-columns:.62fr 1.45fr .72fr;gap:24px;align-items:stretch}
.sf-mosaic-side-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:20px;height:100%}
.sf-mosaic-side-stack--two{grid-template-rows:repeat(2,1fr)}
.sf-mosaic-main-stack{display:grid;grid-template-rows:repeat(2,1fr);gap:20px}
.sf-mosaic-small-card{display:flex;flex-direction:column;min-width:0;height:100%;background:rgba(255,255,255,.72);padding:8px;color:var(--sf-ink)!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(31,25,22,.055);border:1px solid rgba(31,25,22,.05);transition:.22s}
.sf-mosaic-small-card:hover{transform:translateY(-2px);background:#fff;box-shadow:0 18px 36px rgba(31,25,22,.09)}
.sf-mosaic-small-card__image{display:block;overflow:hidden;background:var(--sf-soft)}
.sf-mosaic-small-card__image img{display:block;width:100%;height:132px;object-fit:cover;transition:.45s}
.sf-mosaic-small-card--side .sf-mosaic-small-card__image img{height:118px}
.sf-mosaic-small-card:hover img{transform:scale(1.045)}
.sf-mosaic-small-card__body{display:flex;flex-direction:column;justify-content:space-between;min-height:86px;padding-top:9px}
.sf-mosaic-small-card strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35}
.sf-mosaic-small-card em{display:block;margin-top:8px;color:rgba(31,25,22,.36);font-size:10px;font-style:normal}
.sf-mosaic-big-card{position:relative;display:block;overflow:hidden;background:#fff;color:var(--sf-ink)!important;text-decoration:none!important;min-height:310px}
.sf-mosaic-big-card img{display:block;width:100%;height:310px;object-fit:cover;transition:.7s}
.sf-mosaic-big-card--tall,.sf-mosaic-big-card--tall img{height:520px}
.sf-mosaic-big-card:hover img{transform:scale(1.045)}
.sf-mosaic-big-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.38),rgba(0,0,0,.04),transparent);opacity:0;transition:.22s;z-index:1}
.sf-mosaic-big-card:hover:before{opacity:1}
.sf-mosaic-big-card__overlay{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;border-radius:20px;background:rgba(255,255,255,.9);padding:16px;backdrop-filter:blur(10px);opacity:0;transition:.22s}
.sf-mosaic-big-card:hover .sf-mosaic-big-card__overlay{opacity:1}
.sf-mosaic-big-card__overlay small{display:block;color:rgba(31,25,22,.42);text-transform:uppercase;letter-spacing:.22em;font-size:10px}
.sf-mosaic-big-card__overlay strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;font-size:20px;line-height:1.25}
.sf-mosaic-updated{display:flex;flex-direction:column;background:rgba(255,255,255,.55);padding:20px;box-shadow:0 10px 24px rgba(31,25,22,.045);border:1px solid rgba(31,25,22,.05)}
.sf-mosaic-updated .sf-mosaic-section-title{margin-bottom:16px}
.sf-mosaic-updated a{display:block;color:var(--sf-ink)!important;text-decoration:none!important;border-bottom:1px solid rgba(31,25,22,.1);padding:10px 0}
.sf-mosaic-updated a:last-child{border-bottom:0}
.sf-mosaic-updated strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5}
.sf-mosaic-updated em{display:block;margin-top:4px;color:rgba(31,25,22,.35);font-size:10px;font-style:normal}
.sf-mosaic-bottom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:26px}
.sf-mosaic-featured__mobile{display:none}
.sf-mosaic-large-with-side{display:grid;gap:24px;align-items:stretch}
.sf-mosaic-large-with-side--right{grid-template-columns:1.25fr .42fr}
.sf-mosaic-large-with-side--left{grid-template-columns:.42fr 1.25fr}
.sf-mosaic-category-band{background:#fff;padding:56px 0}
.sf-mosaic-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.sf-mosaic-category-tile{position:relative;display:block;height:176px;overflow:hidden;color:#fff!important;text-decoration:none!important}
.sf-mosaic-category-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}
.sf-mosaic-category-tile:hover img{transform:scale(1.045)}
.sf-mosaic-category-tile:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38);z-index:1}
.sf-mosaic-category-tile span{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-family:Georgia,serif;font-size:22px;line-height:1.18}
.sf-mosaic-expertise{padding:56px 0}
.sf-mosaic-expertise__grid{display:grid;grid-template-columns:.65fr 1fr 1fr;gap:24px}
.sf-mosaic-expertise__nav{background:#c8a0a0;color:#fff;padding:30px}
.sf-mosaic-expertise__nav h2{margin:0 0 24px;font-size:34px;line-height:1.05;letter-spacing:-.02em}
.sf-mosaic-expertise__nav .sf-journal-sticky-nav{position:static;box-shadow:none;background:transparent;border:0;padding:0;color:#fff}
.sf-mosaic-expertise__nav .sf-journal-sticky-nav summary{color:#fff;border-color:rgba(255,255,255,.25)}
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a{background:transparent;border-color:rgba(255,255,255,.25);color:#fff!important}
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links span{color:rgba(255,255,255,.68)}
.sf-mosaic-expertise-card{display:block;overflow:hidden;background:#fff;color:var(--sf-ink)!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(31,25,22,.055)}
.sf-mosaic-expertise-card img{width:100%;height:190px;object-fit:cover;display:block}
.sf-mosaic-expertise-card span{display:block;margin:20px 20px 0;color:rgba(31,25,22,.42);text-transform:uppercase;letter-spacing:.22em;font-size:10px}
.sf-mosaic-expertise-card h3{margin:10px 20px 0;font-size:22px;line-height:1.25}
.sf-mosaic-expertise-card p{margin:12px 20px 22px;color:var(--sf-muted);line-height:1.65}
.sf-journal-index{display:grid;grid-template-columns:300px minmax(0,1fr);gap:34px;padding:28px 0 64px}
.sf-journal-index__sidebar{min-width:0}
.sf-journal-index__main{min-width:0}
.sf-journal-sticky-nav{position:sticky;top:110px;background:#fff;border:1px solid var(--sf-border);border-radius:28px;padding:18px;box-shadow:0 12px 30px rgba(31,25,22,.055)}
.sf-journal-sticky-nav summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--sf-ink);padding-bottom:12px;border-bottom:1px solid var(--sf-border)}
.sf-journal-sticky-nav summary::-webkit-details-marker{display:none}
.sf-journal-sticky-nav summary:after{content:"−";color:rgba(31,25,22,.45);font-size:20px;line-height:1}
.sf-journal-sticky-nav:not([open]) summary{padding-bottom:0;border-bottom:0}
.sf-journal-sticky-nav:not([open]) summary:after{content:"+"}
.sf-journal-sticky-nav__links{display:grid;gap:10px;margin-top:14px}
.sf-journal-sticky-nav__links a{display:block;border:1px solid var(--sf-border);border-radius:18px;background:var(--sf-bg);padding:13px;color:var(--sf-ink)!important;text-decoration:none!important}
.sf-journal-sticky-nav__links a.is-active,.sf-journal-sticky-nav__links a:hover{background:var(--sf-ink);color:#fff!important}
.sf-journal-sticky-nav__links strong,.sf-journal-sticky-nav__links span{display:block}
.sf-journal-sticky-nav__links strong{font-size:14px;line-height:1.35}
.sf-journal-sticky-nav__links span{margin-top:4px;color:rgba(31,25,22,.56);font-size:12px;line-height:1.4}
.sf-journal-sticky-nav__links a.is-active span,.sf-journal-sticky-nav__links a:hover span{color:rgba(255,255,255,.66)}
.sf-article-sidebar{position:sticky;top:110px;align-self:start;display:grid;gap:14px}
.sf-article-nav-card{background:var(--sf-bg);border-radius:24px;padding:16px}
.sf-article-nav-card summary{cursor:pointer;list-style:none;font-weight:700}
.sf-article-nav-card summary::-webkit-details-marker{display:none}
.sf-article-nav-card summary:after{content:"−";float:right;color:rgba(31,25,22,.45);font-size:18px}
.sf-article-nav-card:not([open]) summary:after{content:"+"}
.sf-article-nav-card .sf-on-this-page{margin-top:12px;padding:0;background:transparent;border-radius:0}
.sf-article-sidebar .sf-journal-sticky-nav{position:static;box-shadow:none}

@media(max-width:1024px){
  .sf-mosaic-featured__desktop{grid-template-columns:.8fr 1.2fr}
  .sf-mosaic-featured__desktop .sf-mosaic-updated{grid-column:1/-1}
  .sf-mosaic-large-with-side--right,.sf-mosaic-large-with-side--left,.sf-journal-index,.sf-mosaic-expertise__grid{grid-template-columns:1fr}
  .sf-journal-sticky-nav{position:relative;top:auto}
  .sf-mosaic-expertise__grid{gap:18px}
}
@media(max-width:767px){
  .sf-journal-mosaic-note>div{display:block;border-radius:22px}
  .sf-journal-mosaic-note span,.sf-journal-mosaic-note a{display:block;margin-top:10px}
  .sf-journal-mosaic{padding:44px 0}
  .sf-mosaic-heading{margin-bottom:28px}
  .sf-mosaic-heading h2{font-size:28px;letter-spacing:-.02em}
  .sf-mosaic-featured__desktop{display:none}
  .sf-mosaic-featured__mobile{display:grid;gap:16px}
  .sf-mosaic-bottom-grid{display:none}
  .sf-mosaic-big-card,.sf-mosaic-big-card img,.sf-mosaic-big-card--tall,.sf-mosaic-big-card--tall img{height:300px;min-height:300px;border-radius:24px}
  .sf-mosaic-big-card:before{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.56),rgba(0,0,0,.1),transparent)}
  .sf-mosaic-big-card__overlay{left:14px;right:14px;bottom:14px;opacity:1;border-radius:18px;padding:14px}
  .sf-mosaic-big-card__overlay strong{font-size:16px}
  .sf-mosaic-mobile-list{display:grid;gap:12px}
  .sf-mosaic-small-card{display:grid;grid-template-columns:92px 1fr;gap:12px;border-radius:20px;background:#fff;padding:12px}
  .sf-mosaic-small-card__image img,.sf-mosaic-small-card--side .sf-mosaic-small-card__image img{height:84px}
  .sf-mosaic-small-card__image{border-radius:14px}
  .sf-mosaic-small-card__body{min-height:84px;padding-top:0;justify-content:center}
  .sf-mosaic-small-card strong{font-size:13px;line-height:1.45}
  .sf-mosaic-updated{border-radius:24px;background:#fff;padding:18px}
  .sf-mosaic-large-with-side{display:grid;grid-template-columns:1fr;gap:14px}
  .sf-mosaic-side-stack,.sf-mosaic-side-stack--two{grid-template-rows:auto;gap:12px}
  .sf-mosaic-category-band{padding:44px 0}
  .sf-mosaic-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .sf-mosaic-category-tile{height:118px;border-radius:18px}
  .sf-mosaic-category-tile span{font-size:16px}
  .sf-mosaic-expertise{padding:44px 0}
  .sf-mosaic-expertise__nav{border-radius:24px;padding:22px}
  .sf-mosaic-expertise-card{border-radius:24px}
  .sf-journal-index{display:block;padding-top:14px}
  .sf-journal-index__sidebar{margin-bottom:24px}
  .sf-journal-sticky-nav{position:relative;top:auto;border-radius:24px}
  .sf-article-sidebar{position:relative;top:auto}
  .sf-article--with-nav{width:min(100% - 32px,1180px)}
  .sf-article-layout{display:block}
  .sf-article-sidebar{padding:24px 24px 0}
  .sf-article-body{padding-top:24px}
}


/* Phase 1 safe fixes: journal index, mosaic spacing, cart/checkout, and mobile footer default state */
.sf-journal-index .sf-journal-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
}
.sf-journal-index .sf-journal-card{
  border-radius:26px;
}
.sf-journal-index .sf-journal-card img{
  height:190px;
}
.sf-journal-index .sf-journal-card__body{
  padding:18px;
}
.sf-journal-index .sf-journal-card h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:10px;
  font-size:20px;
  line-height:1.28;
}
.sf-journal-index .sf-journal-card .sf-read-link{
  margin-top:16px;
}
.sf-mosaic-large-with-side--space{
  align-items:start;
}
.sf-mosaic-large-with-side--space .sf-mosaic-side-stack--two{
  height:520px;
}
.sf-mosaic-expertise__grid{
  align-items:start;
}
.sf-mosaic-expertise__nav,
.sf-mosaic-expertise-card{
  align-self:start;
}
.sf-mosaic-expertise__nav .sf-journal-sticky-nav:not([open]){
  padding-bottom:0;
}
.sf-mosaic-expertise__nav .sf-journal-sticky-nav:not([open]) .sf-journal-sticky-nav__links{
  display:none;
}

/* WooCommerce cart / checkout structural polish without adding template overrides */
.woocommerce-cart .site-content .ast-container,
.woocommerce-checkout .site-content .ast-container{
  display:block;
  max-width:none;
  padding-left:0;
  padding-right:0;
}
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title{
  width:min(1180px,calc(100% - 48px));
  margin-left:auto!important;
  margin-right:auto!important;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title{
  margin-top:46px!important;
  margin-bottom:24px!important;
  font-size:clamp(38px,5vw,64px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em;
  color:var(--sf-ink);
}
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-checkout .entry-content > .woocommerce{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto 72px;
}
.woocommerce-cart .entry-content > .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:32px;
  align-items:start;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info{
  grid-column:1/-1;
}
.woocommerce-cart form.woocommerce-cart-form{
  min-width:0;
  border-radius:30px;
  background:#fff;
  padding:22px;
  box-shadow:0 12px 30px rgba(31,25,22,.055);
}
.woocommerce-cart .cart-collaterals{
  width:auto!important;
  float:none!important;
  min-width:0;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:100%!important;
  float:none!important;
  border-radius:30px;
  background:#fff;
  padding:24px;
  box-shadow:0 12px 30px rgba(31,25,22,.055);
}
.woocommerce-cart .cart-collaterals .cart_totals h2{
  margin-top:0;
  font-size:28px;
  letter-spacing:-.02em;
}
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  border-color:var(--sf-border)!important;
  border-radius:22px!important;
  overflow:hidden;
  background:#fff;
}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  min-width:220px;
  border-radius:999px;
  padding:12px 16px;
  border:1px solid var(--sf-border);
}
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce-cart .checkout-button{
  border-radius:999px!important;
}
.woocommerce-checkout .entry-content > .woocommerce{
  display:block;
}
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:32px;
  align-items:start;
}
.woocommerce-checkout form.checkout .col2-set{
  width:auto!important;
  float:none!important;
  grid-column:1;
  grid-row:1 / span 2;
  border-radius:30px;
  background:#fff;
  padding:24px;
  box-shadow:0 12px 30px rgba(31,25,22,.055);
}
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review{
  width:auto!important;
  float:none!important;
  grid-column:2;
}
.woocommerce-checkout form.checkout #order_review_heading{
  margin:0;
  border-radius:30px 30px 0 0;
  background:#fff;
  padding:24px 24px 0;
  font-size:28px;
  letter-spacing:-.02em;
}
.woocommerce-checkout form.checkout #order_review{
  border-radius:0 0 30px 30px;
  background:#fff;
  padding:18px 24px 24px;
  box-shadow:0 12px 30px rgba(31,25,22,.055);
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  list-style:none!important;
  border-top:0!important;
  border-radius:18px;
  background:#fff!important;
  color:var(--sf-ink)!important;
  padding:16px 18px!important;
  box-shadow:0 10px 24px rgba(31,25,22,.055);
}
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before{
  display:none!important;
  content:none!important;
}
.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li{
  list-style:none!important;
  margin-left:0!important;
  padding-left:0!important;
}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  display:none!important;
}

@media(max-width:1024px){
  .woocommerce-cart .entry-content > .woocommerce,
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr;
  }
  .woocommerce-checkout form.checkout .col2-set,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{
    grid-column:1;
  }
  .sf-journal-index .sf-journal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sf-mosaic-large-with-side--space .sf-mosaic-side-stack--two{
    height:auto;
  }
}
@media(max-width:767px){
  .woocommerce-cart .entry-title,
  .woocommerce-checkout .entry-title,
  .woocommerce-cart .entry-content > .woocommerce,
  .woocommerce-checkout .entry-content > .woocommerce,
  .woocommerce-cart .entry-header,
  .woocommerce-checkout .entry-header{
    width:min(100% - 32px,1180px);
  }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-checkout form.checkout .col2-set,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{
    border-radius:24px;
    padding:18px;
  }
  .woocommerce-cart table.cart td.actions .coupon{
    display:grid;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions > .button{
    width:100%!important;
  }
  .sf-journal-index .sf-journal-grid{
    grid-template-columns:1fr;
  }
  .sf-journal-index .sf-journal-card img{
    height:210px;
  }
  .sf-mosaic-large-with-side--space{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* Phase 2 - YITH Wishlist product-card integration.
   The YITH plugin stores wishlist data; the theme controls card placement and visual treatment. */
.sf-wc-product-card[data-sf-product-url] {
  cursor: pointer;
}

.sf-product-card__media {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  background: var(--sf-soft);
}

.sf-product-card__media .sf-product-card__image {
  height: 100%;
}

.sf-product-card__wishlist {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;
  line-height: 1;
  cursor: auto;
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist,
.sf-product-card__wishlist .yith-wcwl-add-button,
.sf-product-card__wishlist .yith-wcwl-wishlistaddedbrowse,
.sf-product-card__wishlist .yith-wcwl-wishlistexistsbrowse {
  margin: 0 !important;
}

.sf-product-card__wishlist a,
.sf-product-card__wishlist button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(31,25,22,.08) !important;
  background: rgba(255,255,255,.92) !important;
  color: rgba(31,25,22,.72) !important;
  box-shadow: 0 12px 28px rgba(31,25,22,.12) !important;
  backdrop-filter: blur(10px);
  text-decoration: none !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.sf-product-card__wishlist a:hover,
.sf-product-card__wishlist button:hover {
  transform: translateY(-1px);
  background: #fff !important;
  color: var(--sf-ink) !important;
  box-shadow: 0 16px 34px rgba(31,25,22,.16) !important;
}

.sf-product-card__wishlist a::before,
.sf-product-card__wishlist button::before {
  content: "♡";
  display: block;
  font-size: 22px;
  line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
  transform: translateY(-1px);
}

.sf-product-card__wishlist .yith-wcwl-wishlistaddedbrowse a::before,
.sf-product-card__wishlist .yith-wcwl-wishlistexistsbrowse a::before,
.sf-product-card__wishlist .exists a::before,
.sf-product-card__wishlist .feedback + a::before {
  content: "♥";
}

.sf-product-card__wishlist i,
.sf-product-card__wishlist svg {
  display: none !important;
}

.sf-product-card__wishlist span,
.sf-product-card__wishlist .feedback {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sf-product-card__wishlist .yith-wcwl-icon,
.sf-product-card__wishlist .ajax-loading {
  display: none !important;
}

.sf-product-card__bottom--price-only {
  min-height: 34px;
  justify-content: flex-start;
}

.sf-product-card__bottom--price-only strong {
  flex: 0 1 auto;
  min-width: 0;
}

.sf-product-card__bottom--price-only strong:empty {
  display: none;
}

@media(max-width:767px){
  .sf-product-card__wishlist {
    top: 10px;
    right: 10px;
  }

  .sf-product-card__wishlist a,
  .sf-product-card__wishlist button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }

  .sf-product-card__wishlist a::before,
  .sf-product-card__wishlist button::before {
    font-size: 19px;
  }

  .woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom--price-only {
    min-height: 28px;
  }
}

/* Phase 2.1: cleaner YITH wishlist heart, remove product card badge, add header search/wishlist actions. */
.woocommerce ul.products li.product.sf-product-card .sf-product-card__image > span,
.sf-wc-product-card .sf-product-card__image > span {
  display: none !important;
}

.sf-product-card__wishlist {
  top: 16px !important;
  right: 16px !important;
  width: 34px !important;
  height: 34px !important;
  z-index: 8;
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist,
.sf-product-card__wishlist .yith-wcwl-add-button,
.sf-product-card__wishlist .yith-wcwl-wishlistaddedbrowse,
.sf-product-card__wishlist .yith-wcwl-wishlistexistsbrowse {
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.sf-product-card__wishlist a,
.sf-product-card__wishlist button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  display: block !important;
  position: relative !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-decoration: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  color: rgba(31,25,22,.72) !important;
  transform: none !important;
}

.sf-product-card__wishlist a:hover,
.sf-product-card__wishlist button:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

.sf-product-card__wishlist a::before,
.sf-product-card__wishlist button::before {
  content: none !important;
  display: none !important;
}

.sf-product-card__wishlist a::after,
.sf-product-card__wishlist button::after {
  content: "♡" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 31px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: rgba(31,25,22,.68) !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.86), 0 8px 18px rgba(31,25,22,.16) !important;
  pointer-events: none !important;
}

.sf-product-card__wishlist a:hover::after,
.sf-product-card__wishlist button:hover::after {
  color: rgba(31,25,22,.92) !important;
}

.sf-product-card__wishlist .yith-wcwl-wishlistaddedbrowse a::after,
.sf-product-card__wishlist .yith-wcwl-wishlistexistsbrowse a::after,
.sf-product-card__wishlist .yith-wcwl-add-to-wishlist.exists a::after,
.sf-product-card__wishlist .yith-wcwl-add-to-wishlist.added a::after {
  content: "♥" !important;
  color: rgba(31,25,22,.82) !important;
}

.sf-product-card__wishlist i,
.sf-product-card__wishlist svg,
.sf-product-card__wishlist img,
.sf-product-card__wishlist .yith-wcwl-icon,
.sf-product-card__wishlist .ajax-loading,
.sf-product-card__wishlist .separator {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.sf-product-card__wishlist span,
.sf-product-card__wishlist .feedback {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sf-header-actions {
  position: relative;
}

.sf-header-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 999px;
  border: 1px solid rgba(31,25,22,.1);
  background: rgba(255,255,255,.82);
  color: var(--sf-ink) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  box-shadow: 0 10px 26px rgba(31,25,22,.07);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sf-header-icon:hover,
.sf-header-icon:focus-visible {
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(31,25,22,.11);
}

.sf-header-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sf-header-wishlist-link svg {
  width: 20px;
  height: 20px;
  fill: none;
}

.sf-header-search-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  width: min(360px, calc(100vw - 32px));
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(31,25,22,.08);
  box-shadow: 0 24px 70px rgba(31,25,22,.18);
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 80;
}

.sf-header-search-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.sf-header-search-panel form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}

.sf-header-search-panel input[type="search"] {
  width: 100%;
  border: 1px solid rgba(31,25,22,.1);
  border-radius: 999px;
  background: #f8f4ee;
  padding: 12px 16px;
  font-size: 14px;
  outline: none;
}

.sf-header-search-panel button[type="submit"] {
  border: 0;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  padding: 12px 16px;
  font-size: 13px;
  cursor: pointer;
}

@media(max-width:767px){
  .sf-product-card__wishlist {
    top: 12px !important;
    right: 12px !important;
    width: 30px !important;
    height: 30px !important;
  }

  .sf-product-card__wishlist .yith-wcwl-add-to-wishlist,
  .sf-product-card__wishlist .yith-wcwl-add-button,
  .sf-product-card__wishlist .yith-wcwl-wishlistaddedbrowse,
  .sf-product-card__wishlist .yith-wcwl-wishlistexistsbrowse,
  .sf-product-card__wishlist a,
  .sf-product-card__wishlist button,
  .sf-product-card__wishlist a::after,
  .sf-product-card__wishlist button::after {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
  }

  .sf-product-card__wishlist a::after,
  .sf-product-card__wishlist button::after {
    font-size: 28px !important;
  }

  .sf-header-actions {
    gap: 8px;
  }

  .sf-header-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }

  .sf-header-icon svg {
    width: 18px;
    height: 18px;
  }

  .sf-header-search-panel {
    right: -8px;
    top: calc(100% + 10px);
  }
}


/* Phase 2.5 precise hotfix: homepage product cards, wishlist state, search icon, mobile shop card height. */
.sf-home-product-card .sf-product-card__media,
.sf-wc-product-card .sf-product-card__media {
  position: relative !important;
}

.sf-home-product-card .sf-product-card__image > span,
.sf-wc-product-card .sf-product-card__image > span,
.woocommerce ul.products li.product.sf-product-card .sf-product-card__image > span {
  display: none !important;
}

.sf-home-product-card .sf-product-card__bottom--price-only,
.sf-wc-product-card .sf-product-card__bottom--price-only {
  justify-content: flex-start !important;
}

.sf-header-search-toggle svg {
  display: none !important;
}

.sf-header-search-lens {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.sf-header-search-lens::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: 11px;
  height: 11px;
  border: 1.8px solid currentColor;
  border-radius: 999px;
  box-sizing: border-box;
}

.sf-header-search-lens::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 1.8px;
  left: 11.5px;
  top: 12.5px;
  background: currentColor;
  border-radius: 999px;
  transform: rotate(45deg);
  transform-origin: left center;
}

@media(max-width:767px) {
  body.woocommerce ul.products li.product.sf-product-card,
  body.woocommerce-page ul.products li.product.sf-product-card,
  body.woocommerce ul.products li.product.sf-wc-product-card,
  body.woocommerce-page ul.products li.product.sf-wc-product-card {
    border-radius: 24px !important;
    padding-bottom: 14px !important;
  }

  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__image img,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__image img,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__image img,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__image img,
  body.woocommerce ul.products li.product.sf-product-card a img,
  body.woocommerce-page ul.products li.product.sf-product-card a img {
    height: 165px !important;
    min-height: 0 !important;
    max-height: 165px !important;
    object-fit: cover !important;
  }

  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__body,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__body,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__body,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__body {
    padding: 14px 11px 16px !important;
  }

  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__body p,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__body p,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__body p,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__body p {
    font-size: 9px !important;
    letter-spacing: .18em !important;
    line-height: 1.35 !important;
  }

  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__body h3,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__body h3,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__body h3,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__body h3 {
    margin-top: 8px !important;
    font-size: 12px !important;
    line-height: 1.28 !important;
    min-height: 46px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__bottom,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__bottom,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__bottom {
    margin-top: 10px !important;
    min-height: 22px !important;
  }

  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__bottom strong,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__bottom strong,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__bottom strong,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__bottom strong {
    font-size: 12px !important;
  }
}

@media(max-width:380px) {
  body.woocommerce ul.products li.product.sf-product-card .sf-product-card__image img,
  body.woocommerce-page ul.products li.product.sf-product-card .sf-product-card__image img,
  body.woocommerce ul.products li.product.sf-wc-product-card .sf-product-card__image img,
  body.woocommerce-page ul.products li.product.sf-wc-product-card .sf-product-card__image img,
  body.woocommerce ul.products li.product.sf-product-card a img,
  body.woocommerce-page ul.products li.product.sf-product-card a img {
    height: 150px !important;
    max-height: 150px !important;
  }
}

/* Phase 2.8: keep YITH native wishlist writes, but suppress YITH popup/toast feedback.
   Do not intercept wishlist clicks with JS. The plugin remains responsible for add/remove. */
#yith-wcwl-popup-message,
.yith-wcwl-popup-message,
.yith-wcwl-message,
.yith_wcwl_wishlist_message,
.yith-wcwl-add-to-wishlist .feedback,
.yith-wcwl-add-to-wishlist .yith-wcwl-feedback,
.yith-wcwl-notices,
.yith-wcwl-notice,
.yith-wcwl-toast {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Added/remove states based only on YITH's own generated DOM/classes. */
.sf-product-card__wishlist .yith-wcwl-wishlistaddedbrowse a::after,
.sf-product-card__wishlist .yith-wcwl-wishlistexistsbrowse a::after,
.sf-product-card__wishlist .yith-wcwl-add-to-wishlist.exists a::after,
.sf-product-card__wishlist .yith-wcwl-add-to-wishlist.added a::after,
.sf-product-card__wishlist a.delete_item::after,
.sf-product-card__wishlist a.remove_from_wishlist::after,
.sf-product-card__wishlist a[href*="remove_from_wishlist"]::after,
.sf-product-card__wishlist a[data-title*="Remove"]::after,
.sf-product-card__wishlist a[aria-label*="Remove"]::after {
  content: "♥" !important;
  color: rgba(31,25,22,.92) !important;
}

/* Phase 2.9 — YITH native visual state, no JS interception.
   Uses the real YITH added class from the working DOM:
   .yith-wcwl-add-to-wishlist-button--added
   Also hides the YITH floating feedback container. */
.yith-wcwl-feedback-messages-container,
.yith-wcwl-feedback-messages-container *,
.yith-wcwl-add-to-wishlist__feedback,
.yith-wcwl-add-to-wishlist__feedback * {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body .yith-wcwl-feedback-messages-container {
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  z-index: -1 !important;
}

.sf-product-card__wishlist,
.sf-home-product-card .sf-product-card__wishlist {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 8 !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

.sf-product-card__wishlist .yith-add-to-wishlist-button-block,
.sf-home-product-card .sf-product-card__wishlist .yith-add-to-wishlist-button-block {
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button {
  position: relative !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.88) !important;
  box-shadow: 0 10px 24px rgba(31,25,22,0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1f1916 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button:hover,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button:hover {
  background: #fff !important;
  transform: translateY(-1px);
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button__label,
.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button-icon,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button__label,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button-icon {
  display: none !important;
}

/* Remove all older pseudo-heart attempts, then draw a controlled matching icon. */
.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button::after,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button::after {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 20px 20px !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;
  /* outline heart, same base silhouette as added state */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231f1916' stroke-width='1.8' stroke-linejoin='round' d='m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z'/%3E%3C/svg%3E") !important;
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added::after,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added::after {
  /* filled heart, exact same base silhouette as outline state */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f1916' d='m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z'/%3E%3C/svg%3E") !important;
}

.sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button::before,
.sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  .sf-product-card__wishlist,
  .sf-home-product-card .sf-product-card__wishlist {
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
  }

  .sf-product-card__wishlist .yith-add-to-wishlist-button-block,
  .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button,
  .sf-home-product-card .sf-product-card__wishlist .yith-add-to-wishlist-button-block,
  .sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button::after,
  .sf-home-product-card .sf-product-card__wishlist .yith-wcwl-add-to-wishlist-button::after {
    width: 19px !important;
    height: 19px !important;
    background-size: 19px 19px !important;
  }
}

/* Phase 3.1: integrated Product Story panel and refined single product layout */
.sf-single-product .sf-product-detail-grid {
  align-items: start;
}

.sf-single-product .sf-product-gallery {
  align-self: start;
}

.sf-single-product .sf-product-gallery__thumbs {
  padding-top: 16px;
  padding-bottom: 2px;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
}

.sf-single-product .sf-product-summary {
  justify-content: flex-start;
  align-self: start;
}

.sf-single-product .sf-product-summary h1 {
  font-size: clamp(30px, 3.25vw, 46px);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.sf-single-product .sf-product-spatial-grid--summary {
  display: none !important;
}

.sf-product-story-panel {
  margin-top: 38px;
  border-radius: 38px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(31,25,22,.055);
}

.sf-product-story-panel__inner {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 48px;
  padding: 46px;
}

.sf-product-story-copy h2 {
  margin: 14px 0 0;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-product-story-content {
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.9;
}

.sf-product-story-content p:first-child {
  margin-top: 0;
}

.sf-product-story-accordion {
  border-radius: 28px;
  background: var(--sf-bg);
  padding: 6px 28px;
}

.sf-product-story-item {
  border-bottom: 1px solid rgba(31,25,22,.1);
}

.sf-product-story-item:last-child {
  border-bottom: 0;
}

.sf-product-story-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 0;
  background: transparent;
  padding: 22px 0;
  color: var(--sf-ink);
  text-align: left;
  font-size: 18px;
  font-weight: 650;
}

.sf-product-story-plus {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #fff;
  color: rgba(31,25,22,.62);
  font-size: 20px;
  line-height: 1;
}

.sf-product-story-toggle[aria-expanded="true"] .sf-product-story-plus {
  color: var(--sf-ink);
}

.sf-product-story-toggle[aria-expanded="true"] .sf-product-story-plus::before {
  content: "−";
}

.sf-product-story-toggle[aria-expanded="true"] .sf-product-story-plus {
  font-size: 0;
}

.sf-product-story-body {
  padding: 0 0 24px;
  max-width: 760px;
  color: var(--sf-muted);
  font-size: 15px;
  line-height: 1.85;
}

.sf-product-story-body p {
  margin: 0 0 12px;
}

.sf-product-story-body p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .sf-product-story-panel__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 767px) {
  .sf-single-product .sf-product-summary h1 {
    font-size: 30px;
    line-height: 1.14;
  }

  .sf-single-product .sf-product-gallery__main img {
    height: 380px;
  }

  .sf-product-story-panel {
    border-radius: 30px;
  }

  .sf-product-story-panel__inner {
    padding: 24px;
  }

  .sf-product-story-copy h2 {
    font-size: 32px;
    letter-spacing: -.02em;
  }

  .sf-product-story-accordion {
    border-radius: 22px;
    padding: 2px 18px;
  }

  .sf-product-story-toggle {
    padding: 18px 0;
    font-size: 16px;
  }

  .sf-product-story-body {
    font-size: 14px;
    line-height: 1.75;
  }
}


/* Phase 3.2: visual variation choices, preserving WooCommerce native variation form */
.sf-product-options .sf-variation-visual {
  display: grid;
  gap: 18px;
  margin-bottom: 20px;
}

.sf-visual-variations-ready table.variations {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sf-variation-field {
  display: grid;
  gap: 10px;
}

.sf-variation-field__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.sf-variation-field__label {
  color: var(--sf-ink);
  font-size: 14px;
  font-weight: 700;
}

.sf-variation-field__value {
  color: rgba(31,25,22,.44);
  font-size: 12px;
}

.sf-variation-field__options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sf-variation-choice {
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, opacity .18s ease;
}

.sf-variation-choice:hover {
  transform: translateY(-1px);
}

.sf-variation-choice:disabled {
  cursor: not-allowed;
  opacity: .34;
}

.sf-variation-choice--image {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(31,25,22,.13);
  border-radius: 999px;
  background: #fff;
  padding: 4px;
  overflow: hidden;
}

.sf-variation-choice--image img,
.sf-variation-choice--image span {
  width: 100%;
  height: 100%;
  border-radius: 999px;
  object-fit: cover;
}

.sf-variation-choice--image span {
  display: grid;
  place-items: center;
  background: var(--sf-bg);
  color: rgba(31,25,22,.62);
  font-size: 14px;
  font-weight: 700;
}

.sf-variation-choice--text {
  min-height: 42px;
  border: 1px solid rgba(31,25,22,.12);
  border-radius: 999px;
  background: #fff;
  color: rgba(31,25,22,.72);
  padding: 10px 15px;
  font-size: 13px;
  line-height: 1.25;
}

.sf-variation-choice.is-active {
  border-color: var(--sf-ink);
  background: var(--sf-ink);
  color: #fff;
  box-shadow: 0 10px 22px rgba(31,25,22,.12);
}

.sf-variation-choice--image.is-active {
  background: #fff;
  border-width: 2px;
  padding: 3px;
}

.sf-product-gallery__main img[data-sf-variation-image] {
  display: none;
}

.sf-product-gallery__main img[data-sf-variation-image].is-active {
  display: block;
}

.sf-product-options .woocommerce-variation {
  margin: 14px 0;
  color: var(--sf-muted);
  font-size: 14px;
  line-height: 1.6;
}

.sf-product-options .woocommerce-variation-price {
  color: var(--sf-ink);
  font-size: 18px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .sf-product-options .sf-variation-visual {
    gap: 16px;
  }

  .sf-variation-field__head {
    display: grid;
    gap: 4px;
  }

  .sf-variation-choice--image {
    width: 52px;
    height: 52px;
  }

  .sf-variation-choice--text {
    min-height: 40px;
    padding: 9px 13px;
    font-size: 12px;
  }
}


/* Phase 3.2.1 hotfix: center single product gallery carousel arrows. */
.sf-gallery-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 0 !important;
  color: transparent !important;
  text-align: center !important;
}

.sf-gallery-arrow::before {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 100%;
  color: var(--sf-ink) !important;
  font-size: 25px !important;
  font-weight: 700;
  line-height: 1 !important;
  transform: translateY(-1px);
}

.sf-gallery-arrow--prev::before {
  content: "‹";
}

.sf-gallery-arrow--next::before {
  content: "›";
}

/* Phase 4.2: multisite-aware header action for the Journal subsite. */
.sf-header-main-shop-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  padding: 0 18px;
  background: var(--sf-ink);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
  box-shadow: 0 10px 26px rgba(31,25,22,.07);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.sf-header-main-shop-link:hover,
.sf-header-main-shop-link:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(31,25,22,.12);
  opacity: .94;
}

@media (max-width: 767px) {
  .sf-header-main-shop-link {
    min-height: 38px;
    padding: 0 14px;
    font-size: 12px;
  }
}

@media (max-width: 430px) {
  .sf-header-main-shop-link {
    padding: 0 12px;
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* Phase 4.2.3: keep Journal subsite mobile header clean.
   The Blog mobile drawer already contains Main Shop, so the separate header button is hidden on mobile only. */
@media (max-width: 767px) {
  .sf-header-actions > .sf-header-main-shop-link,
  .sf-header-main-shop-link {
    display: none !important;
  }
}


/* === Phase Shop Visual 1 START === */

/* Page-scoped visual tokens: only the main Shop archive receives these overrides. */
body.post-type-archive-product.woocommerce-shop {
  --sf-shop-v1-paper: #fffdfa;
  --sf-shop-v1-panel: rgba(255, 253, 250, 0.86);
  --sf-shop-v1-soft: #f4eee6;
  --sf-shop-v1-line: rgba(31, 25, 22, 0.1);
  --sf-shop-v1-muted: rgba(31, 25, 22, 0.56);
  --sf-shop-v1-faint: rgba(31, 25, 22, 0.045);
  --sf-shop-v1-shadow: 0 18px 42px rgba(31, 25, 22, 0.075);
  --sf-shop-v1-shadow-hover: 0 26px 58px rgba(31, 25, 22, 0.12);
}

/* Shop hero: lighter editorial entry, less card-heavy while keeping existing markup. */
body.post-type-archive-product.woocommerce-shop .sf-shop-hero {
  padding-top: 46px;
  padding-bottom: 18px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-hero__panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sf-shop-v1-line);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 253, 250, 0.96), rgba(244, 238, 230, 0.72)),
    var(--sf-shop-v1-paper);
  box-shadow: 0 14px 34px rgba(31, 25, 22, 0.055);
  padding: clamp(28px, 4vw, 46px);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-hero__panel::after {
  content: "";
  position: absolute;
  right: clamp(22px, 5vw, 64px);
  bottom: clamp(18px, 4vw, 44px);
  width: min(210px, 28vw);
  height: min(210px, 28vw);
  border: 1px solid rgba(31, 25, 22, 0.075);
  border-radius: 50%;
  opacity: 0.42;
  pointer-events: none;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-hero .sf-kicker {
  color: rgba(31, 25, 22, 0.5);
  letter-spacing: 0.26em;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-hero h1 {
  font-size: clamp(40px, 4.6vw, 64px);
  letter-spacing: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-hero p {
  max-width: 620px;
  margin-top: 16px;
  color: var(--sf-shop-v1-muted);
  font-size: 15px;
  line-height: 1.72;
}

/* Filter panel: keep the same accordion and taxonomy links, reduce visual weight. */
body.post-type-archive-product.woocommerce-shop .sf-shop-filters {
  margin-top: 18px;
  margin-bottom: 30px;
  border: 1px solid var(--sf-shop-v1-line);
  border-radius: 26px;
  background: var(--sf-shop-v1-panel);
  box-shadow: 0 10px 28px rgba(31, 25, 22, 0.05);
  padding: clamp(20px, 3vw, 30px);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-filters__head {
  align-items: center;
  margin-bottom: 18px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-filters__head h2 {
  margin-top: 6px;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.14;
  letter-spacing: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-filters__head .sf-btn {
  min-height: 40px;
  border-color: var(--sf-shop-v1-line);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
}

body.post-type-archive-product.woocommerce-shop .sf-filter-accordion {
  border: 1px solid var(--sf-shop-v1-line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.62);
  padding: 2px 18px;
}

body.post-type-archive-product.woocommerce-shop .sf-filter-group {
  padding: 14px 0;
  border-color: rgba(31, 25, 22, 0.085);
}

body.post-type-archive-product.woocommerce-shop .sf-filter-group__title {
  min-height: 34px;
  align-items: center;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-filter-plus {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(31, 25, 22, 0.1);
  border-radius: 999px;
  color: rgba(31, 25, 22, 0.58);
  font-size: 14px;
  line-height: 1;
}

body.post-type-archive-product.woocommerce-shop .sf-filter-group__content {
  gap: 8px;
  margin-top: 12px;
}

body.post-type-archive-product.woocommerce-shop .sf-filter-group__content a {
  border-color: rgba(31, 25, 22, 0.095);
  background: rgba(255, 255, 255, 0.78);
  color: rgba(31, 25, 22, 0.68) !important;
  padding: 7px 11px;
  font-size: 12px;
  line-height: 1.2;
  box-shadow: none;
}

body.post-type-archive-product.woocommerce-shop .sf-filter-group__content a:hover,
body.post-type-archive-product.woocommerce-shop .sf-filter-group__content a:focus-visible {
  border-color: rgba(31, 25, 22, 0.2);
  background: #fff;
  color: var(--sf-ink) !important;
}

/* Sorting and pagination: visually align WooCommerce controls with the lighter Shop system. */
body.post-type-archive-product.woocommerce-shop .sf-shop-tools {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 18px;
}

body.post-type-archive-product.woocommerce-shop .woocommerce-ordering {
  margin: 0;
}

body.post-type-archive-product.woocommerce-shop .woocommerce-ordering select.orderby {
  min-height: 42px;
  border: 1px solid var(--sf-shop-v1-line);
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.82);
  color: rgba(31, 25, 22, 0.72);
  padding: 0 40px 0 16px;
  font-size: 13px;
  outline: none;
}

body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination {
  margin-top: 32px;
}

body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
}

body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination ul li {
  border: 0;
}

body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination .page-numbers {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sf-shop-v1-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(31, 25, 22, 0.66);
  line-height: 1;
}

body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination .page-numbers.current,
body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination a.page-numbers:hover,
body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination a.page-numbers:focus-visible {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff;
}

/* Product grid: more breathable spacing without changing WooCommerce loop output. */
body.post-type-archive-product.woocommerce-shop .woocommerce ul.products {
  gap: clamp(18px, 2.4vw, 28px);
}

body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-product-card,
body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-wc-product-card {
  border: 1px solid var(--sf-shop-v1-line);
  border-radius: 24px;
  background: var(--sf-shop-v1-paper);
  box-shadow: 0 10px 28px rgba(31, 25, 22, 0.052);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-product-card:hover,
body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-wc-product-card:hover {
  border-color: rgba(31, 25, 22, 0.16);
  box-shadow: var(--sf-shop-v1-shadow-hover);
  transform: translateY(-3px);
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__media {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.9), rgba(244, 238, 230, 0.82)),
    var(--sf-shop-v1-soft);
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__image {
  background: transparent;
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__image img,
body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-product-card a img,
body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-wc-product-card a img {
  height: clamp(238px, 24vw, 320px);
  object-fit: cover;
  transform: scale(1);
}

body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-product-card:hover .sf-product-card__image img,
body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-wc-product-card:hover .sf-product-card__image img {
  transform: scale(1.025);
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__body {
  padding: 18px 18px 20px;
  text-align: left;
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__body p {
  color: rgba(31, 25, 22, 0.42);
  font-size: 10px;
  letter-spacing: 0.16em;
  line-height: 1.35;
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__body h3 {
  margin-top: 9px;
  font-size: 16px;
  line-height: 1.38;
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__body h3 a {
  color: rgba(31, 25, 22, 0.92);
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__bottom.sf-product-card__bottom--price-only {
  min-height: 28px;
  margin-top: 14px;
  justify-content: flex-start;
}

body.post-type-archive-product.woocommerce-shop .sf-product-card__bottom.sf-product-card__bottom--price-only strong {
  color: rgba(31, 25, 22, 0.86);
  font-size: 14px;
  font-weight: 650;
}

/* Mobile: keep the same controls, only reduce density and avoid cramped cards. */
@media (max-width: 767px) {
  body.post-type-archive-product.woocommerce-shop .sf-shop-hero {
    padding-top: 30px;
    padding-bottom: 12px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-hero__panel,
  body.post-type-archive-product.woocommerce-shop .sf-shop-filters {
    border-radius: 22px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-hero__panel::after {
    width: 128px;
    height: 128px;
    right: 18px;
    bottom: 18px;
    opacity: 0.24;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-hero h1 {
    font-size: 38px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-hero p {
    font-size: 14px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-filters__head .sf-btn {
    width: auto;
    min-width: 132px;
    padding-inline: 18px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-filter-accordion {
    padding: 0 14px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-filter-group__content a {
    padding: 7px 10px;
    font-size: 11px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-tools {
    justify-content: stretch;
  }

  body.post-type-archive-product.woocommerce-shop .woocommerce-ordering,
  body.post-type-archive-product.woocommerce-shop .woocommerce-ordering select.orderby {
    width: 100%;
  }

  body.post-type-archive-product.woocommerce-shop .woocommerce ul.products {
    gap: 18px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-product-card__image img,
  body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-product-card a img,
  body.post-type-archive-product.woocommerce-shop .woocommerce ul.products li.product.sf-wc-product-card a img {
    height: min(62vw, 245px);
  }

  body.post-type-archive-product.woocommerce-shop .sf-product-card__body {
    padding: 15px 15px 17px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-product-card__body h3 {
    font-size: 15px;
  }
}

/* === Phase Shop Visual 1 END === */

/* === Phase Shop Visual 2 START === */

body.post-type-archive-product.woocommerce-shop {
  --sf-shop-v2-paper: #fffdfa;
  --sf-shop-v2-panel: rgba(255, 253, 250, 0.88);
  --sf-shop-v2-soft: #f4eee6;
  --sf-shop-v2-line: rgba(31, 25, 22, 0.1);
  --sf-shop-v2-muted: rgba(31, 25, 22, 0.58);
  --sf-shop-v2-shadow: 0 16px 38px rgba(31, 25, 22, 0.07);
  --sf-shop-v2-shadow-strong: 0 26px 58px rgba(31, 25, 22, 0.12);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero {
  padding: 42px 0 14px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero__copy {
  max-width: 720px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero .sf-kicker {
  color: rgba(31, 25, 22, 0.5);
  letter-spacing: 0.24em;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero h1 {
  margin: 10px 0 0;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.04;
  letter-spacing: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero p {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--sf-shop-v2-muted);
  font-size: 15px;
  line-height: 1.75;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-controls {
  position: relative;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
  gap: 16px;
  align-items: start;
  margin: 18px auto 30px;
  padding: 14px;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 24px;
  background: var(--sf-shop-v2-panel);
  box-shadow: 0 10px 26px rgba(31, 25, 22, 0.045);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filterbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter-pill,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: rgba(31, 25, 22, 0.72) !important;
  padding: 0 15px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter-pill.is-active {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff !important;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter {
  position: relative;
  flex: 0 0 auto;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary {
  list-style: none;
  user-select: none;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary::-webkit-details-marker {
  display: none;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary::after {
  content: "+";
  margin-left: 10px;
  color: rgba(31, 25, 22, 0.46);
  font-size: 15px;
  line-height: 1;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter[open] summary {
  background: #fff;
  border-color: rgba(31, 25, 22, 0.18);
  color: var(--sf-ink) !important;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter[open] summary::after {
  content: "-";
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel {
  position: absolute;
  z-index: 50;
  top: calc(100% + 8px);
  left: 0;
  width: min(330px, 86vw);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 18px;
  background: var(--sf-shop-v2-paper);
  box-shadow: var(--sf-shop-v2-shadow-strong);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel a {
  border: 1px solid rgba(31, 25, 22, 0.08);
  border-radius: 999px;
  background: var(--sf-shop-v2-soft);
  color: rgba(31, 25, 22, 0.72) !important;
  padding: 7px 11px;
  font-size: 12px;
  line-height: 1.25;
  text-decoration: none !important;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel a:hover,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel a:focus-visible {
  border-color: rgba(31, 25, 22, 0.18);
  background: #fff;
  color: var(--sf-ink) !important;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-sort {
  min-width: 210px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-sort .woocommerce-ordering {
  width: 100%;
  margin: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-sort select.orderby {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 999px;
  background: #fff;
  color: rgba(31, 25, 22, 0.72);
  padding: 0 14px;
  font-size: 13px;
  outline: none;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products {
  padding-top: 8px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .woocommerce ul.products,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products {
  gap: clamp(18px, 2.4vw, 28px);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card {
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 24px;
  background: var(--sf-shop-v2-paper);
  box-shadow: 0 10px 28px rgba(31, 25, 22, 0.052);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card:hover,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card:hover {
  border-color: rgba(31, 25, 22, 0.16);
  box-shadow: var(--sf-shop-v2-shadow-strong);
  transform: translateY(-3px);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__media {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.9), rgba(244, 238, 230, 0.82)),
    var(--sf-shop-v2-soft);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image {
  background: transparent;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image img,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card a img,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
  height: clamp(238px, 24vw, 320px);
  object-fit: cover;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card:hover .sf-product-card__image img,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card:hover .sf-product-card__image img {
  transform: scale(1.025);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body {
  padding: 18px 18px 20px;
  text-align: left;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body p {
  color: rgba(31, 25, 22, 0.42);
  font-size: 10px;
  letter-spacing: 0.16em;
  line-height: 1.35;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body h3 {
  margin-top: 9px;
  font-size: 16px;
  line-height: 1.38;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body h3 a {
  color: rgba(31, 25, 22, 0.92);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only {
  min-height: 28px;
  margin-top: 14px;
  justify-content: flex-start;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only strong {
  color: rgba(31, 25, 22, 0.86);
  font-size: 14px;
  font-weight: 650;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination {
  margin-top: 34px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination ul li {
  border: 0;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination .page-numbers {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(31, 25, 22, 0.66);
  line-height: 1;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination .page-numbers.current,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination a.page-numbers:hover,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products nav.woocommerce-pagination a.page-numbers:focus-visible {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff;
}

@media (max-width: 1024px) {
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-controls {
    grid-template-columns: 1fr;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-sort {
    min-width: 0;
    max-width: 320px;
  }
}

@media (max-width: 767px) {
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero {
    padding: 28px 0 10px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero h1 {
    font-size: 38px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-hero p {
    font-size: 14px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-controls {
    margin-top: 14px;
    margin-bottom: 22px;
    padding: 12px;
    border-radius: 20px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filterbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filterbar::-webkit-scrollbar {
    display: none;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter-pill,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary {
    min-height: 36px;
    padding: 0 13px;
    white-space: nowrap;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel {
    position: fixed;
    left: 16px;
    right: 16px;
    top: 128px;
    width: auto;
    max-height: 56vh;
    overflow: auto;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-sort {
    max-width: none;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: min(62vw, 245px);
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body {
    padding: 15px 15px 17px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body h3 {
    font-size: 15px;
  }
}

/* === Phase Shop Visual 2 END === */

/* === Phase Shop Visual 2.1 FIX START === */

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image img,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card a img,
body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
  height: clamp(205px, 18vw, 260px);
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body {
  padding: 16px 16px 18px;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body h3 {
  font-size: 15px;
  line-height: 1.34;
}

body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only {
  margin-top: 10px;
  min-height: 24px;
}

@media (max-width: 1024px) {
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: clamp(180px, 24vw, 230px);
  }
}

@media (max-width: 767px) {
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filterbar {
    flex-wrap: wrap;
    overflow: visible;
    gap: 7px;
    padding-bottom: 0;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filterbar::-webkit-scrollbar {
    display: initial;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter-pill,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary {
    min-height: 32px;
    padding: 0 10px;
    font-size: 11px;
    white-space: normal;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter summary::after {
    margin-left: 7px;
    font-size: 13px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter {
    position: relative;
    max-width: 100%;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter[open] {
    flex: 1 0 100%;
    width: 100%;
    z-index: 80;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel {
    position: static;
    width: 100%;
    max-height: 44vh;
    overflow: auto;
    margin-top: 8px;
    z-index: 90;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-filter__panel a {
    padding: 6px 9px;
    font-size: 11px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: clamp(128px, 36vw, 150px) !important;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body {
    padding: 11px 10px 13px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body p {
    font-size: 9px;
    letter-spacing: 0.12em;
    line-height: 1.3;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__body h3 {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.3;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only {
    margin-top: 8px;
    min-height: 20px;
  }

  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only strong {
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products .sf-product-card__image img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  body.post-type-archive-product.woocommerce-shop .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: 132px !important;
  }
}

/* === Phase Shop Visual 2.1 FIX END === */

/* === Single Product Visual 1 START ===
   Scope: visual-only refinement for WooCommerce single product pages.
   Do not pair with PHP or JS changes.
*/

.single-product .sf-single-product {
  padding-top: clamp(34px, 4vw, 58px);
}

.single-product .sf-product-detail-grid {
  gap: clamp(26px, 4vw, 52px);
  align-items: start;
}

.single-product .sf-product-gallery__main {
  border-radius: 30px;
  box-shadow: 0 18px 42px rgba(31, 25, 22, 0.07);
}

.single-product .sf-product-gallery__main img {
  object-fit: cover;
}

.single-product .sf-product-summary {
  border-radius: 34px;
  box-shadow: 0 18px 42px rgba(31, 25, 22, 0.055);
}

.single-product .sf-product-summary h1 {
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.single-product .sf-product-price {
  margin-top: 14px;
}

.single-product .sf-product-options {
  margin-top: 26px;
  border-radius: 28px;
  padding: clamp(22px, 2.3vw, 31px);
}

.single-product .sf-product-options__head {
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 20px;
}

.single-product .sf-product-options__head h2 {
  font-size: 22px;
  line-height: 1.08;
}

.single-product .sf-product-options__head span {
  max-width: 190px;
  line-height: 1.7;
}

.single-product .sf-product-options .sf-variation-visual {
  gap: 15px;
}

.single-product .sf-variation-field {
  gap: 9px;
}

.single-product .sf-variation-field__label {
  font-size: 13px;
  font-weight: 700;
}

.single-product .sf-variation-choice--text {
  min-height: 38px;
  padding: 8px 14px;
  font-size: 12px;
  letter-spacing: 0.15em;
  box-shadow: 0 6px 16px rgba(31, 25, 22, 0.045);
}

.single-product .sf-variation-choice--image {
  width: 52px;
  height: 52px;
  box-shadow: 0 8px 18px rgba(31, 25, 22, 0.07);
}

.single-product .sf-product-options .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.single-product .sf-product-options .quantity.buttons_added {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  border: 1px solid rgba(31, 25, 22, 0.12);
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}

.single-product .sf-product-options .quantity.buttons_added .minus,
.single-product .sf-product-options .quantity.buttons_added .plus {
  width: 38px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(31, 25, 22, 0.58);
  text-decoration: none !important;
}

.single-product .sf-product-options .quantity .qty {
  width: 42px;
  min-height: 40px;
  border: 0 !important;
  border-left: 1px solid rgba(31, 25, 22, 0.08) !important;
  border-right: 1px solid rgba(31, 25, 22, 0.08) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-align: center;
}

.single-product .sf-product-options .single_add_to_cart_button {
  min-height: 42px;
  padding: 0 24px !important;
  font-size: 12px !important;
  letter-spacing: 0.13em;
}

.single-product .sf-product-story-panel {
  margin-top: clamp(34px, 5vw, 60px);
}

.single-product .sf-product-story-panel__inner {
  border-radius: 34px;
  box-shadow: 0 16px 40px rgba(31, 25, 22, 0.05);
}

.single-product .sf-product-story-copy h2 {
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.06;
}

.single-product .sf-product-story-accordion {
  border-radius: 28px;
}

.single-product .sf-product-story-toggle {
  min-height: 64px;
}

@media (max-width: 767px) {
  .single-product .sf-single-product {
    padding-top: 26px;
  }

  .single-product .sf-product-detail-grid {
    gap: 22px;
  }

  .single-product .sf-product-gallery__main {
    border-radius: 26px;
  }

  .single-product .sf-product-gallery__main img {
    height: min(82vw, 360px) !important;
  }

  .single-product .sf-gallery-counter {
    left: 16px;
    bottom: 16px;
    padding: 8px 13px;
    font-size: 13px;
  }

  .single-product .sf-product-summary {
    border-radius: 28px;
    padding: 24px;
  }

  .single-product .sf-product-summary h1 {
    font-size: 30px;
    line-height: 1.08;
  }

  .single-product .sf-product-price {
    font-size: 28px;
  }

  .single-product .sf-product-options {
    margin-top: 22px;
    border-radius: 26px;
    padding: 22px;
  }

  .single-product .sf-product-options__head {
    display: block;
    margin-bottom: 18px;
  }

  .single-product .sf-product-options__head h2 {
    font-size: 22px;
  }

  .single-product .sf-product-options__head span {
    display: block;
    margin-top: 8px;
    max-width: none;
    font-size: 9px;
    letter-spacing: 0.18em;
  }

  .single-product .sf-product-options .sf-variation-visual {
    gap: 14px;
  }

  .single-product .sf-variation-choice--text {
    min-height: 38px;
    padding: 8px 13px;
    font-size: 11px;
    letter-spacing: 0.15em;
  }

  .single-product .sf-variation-choice--image {
    width: 48px;
    height: 48px;
  }

  .single-product .sf-product-options .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .single-product .sf-product-options .quantity.buttons_added {
    width: fit-content;
  }

  .single-product .sf-product-options .single_add_to_cart_button {
    width: 100%;
    min-height: 46px;
  }

  .single-product .sf-product-story-panel {
    margin-top: 30px;
  }

  .single-product .sf-product-story-panel__inner {
    border-radius: 28px;
    padding: 24px;
  }

  .single-product .sf-product-story-copy h2 {
    font-size: 32px;
  }

  .single-product .sf-product-story-content {
    font-size: 15px;
    line-height: 1.75;
  }

  .single-product .sf-product-story-accordion {
    margin-top: 26px;
    border-radius: 24px;
  }

  .single-product .sf-product-story-toggle {
    min-height: 58px;
    padding: 16px 0;
  }

  .single-product .sf-product-story-toggle span:first-child {
    font-size: 15px;
    letter-spacing: 0.16em;
  }
}

/* === Single Product Visual 1 END === */

/* === Product Archive Visual Scope Fix START ===
   Purpose: apply the existing Shop V2 / 2.1 visual system to WooCommerce product archives:
   - Main Shop page
   - Product category pages such as /product-category/bracelets/
   - Product tag archives
   - Product attribute archives if WooCommerce renders them
   Visual only. No wishlist, cart, checkout, or product-card behavior changes.
*/

/* Re-scoped Phase Shop Visual 2 rules */

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) {
  --sf-shop-v2-paper: #fffdfa;
  --sf-shop-v2-panel: rgba(255, 253, 250, 0.88);
  --sf-shop-v2-soft: #f4eee6;
  --sf-shop-v2-line: rgba(31, 25, 22, 0.1);
  --sf-shop-v2-muted: rgba(31, 25, 22, 0.58);
  --sf-shop-v2-shadow: 0 16px 38px rgba(31, 25, 22, 0.07);
  --sf-shop-v2-shadow-strong: 0 26px 58px rgba(31, 25, 22, 0.12);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero {
  padding: 42px 0 14px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero__copy {
  max-width: 720px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero .sf-kicker {
  color: rgba(31, 25, 22, 0.5);
  letter-spacing: 0.24em;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero h1 {
  margin: 10px 0 0;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.04;
  letter-spacing: 0;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero p {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--sf-shop-v2-muted);
  font-size: 15px;
  line-height: 1.75;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-controls {
  position: relative;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
  gap: 16px;
  align-items: start;
  margin: 18px auto 30px;
  padding: 14px;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 24px;
  background: var(--sf-shop-v2-panel);
  box-shadow: 0 10px 26px rgba(31, 25, 22, 0.045);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filterbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter-pill,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: rgba(31, 25, 22, 0.72) !important;
  padding: 0 15px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter-pill.is-active {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff !important;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter {
  position: relative;
  flex: 0 0 auto;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary {
  list-style: none;
  user-select: none;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary::-webkit-details-marker {
  display: none;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary::after {
  content: "+";
  margin-left: 10px;
  color: rgba(31, 25, 22, 0.46);
  font-size: 15px;
  line-height: 1;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter[open] summary {
  background: #fff;
  border-color: rgba(31, 25, 22, 0.18);
  color: var(--sf-ink) !important;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter[open] summary::after {
  content: "-";
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel {
  position: absolute;
  z-index: 50;
  top: calc(100% + 8px);
  left: 0;
  width: min(330px, 86vw);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 18px;
  background: var(--sf-shop-v2-paper);
  box-shadow: var(--sf-shop-v2-shadow-strong);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel a {
  border: 1px solid rgba(31, 25, 22, 0.08);
  border-radius: 999px;
  background: var(--sf-shop-v2-soft);
  color: rgba(31, 25, 22, 0.72) !important;
  padding: 7px 11px;
  font-size: 12px;
  line-height: 1.25;
  text-decoration: none !important;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel a:hover,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel a:focus-visible {
  border-color: rgba(31, 25, 22, 0.18);
  background: #fff;
  color: var(--sf-ink) !important;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-sort {
  min-width: 210px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-sort .woocommerce-ordering {
  width: 100%;
  margin: 0;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-sort select.orderby {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 999px;
  background: #fff;
  color: rgba(31, 25, 22, 0.72);
  padding: 0 14px;
  font-size: 13px;
  outline: none;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products {
  padding-top: 8px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .woocommerce ul.products,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products {
  gap: clamp(18px, 2.4vw, 28px);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card {
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 24px;
  background: var(--sf-shop-v2-paper);
  box-shadow: 0 10px 28px rgba(31, 25, 22, 0.052);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card:hover,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card:hover {
  border-color: rgba(31, 25, 22, 0.16);
  box-shadow: var(--sf-shop-v2-shadow-strong);
  transform: translateY(-3px);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__media {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.9), rgba(244, 238, 230, 0.82)),
    var(--sf-shop-v2-soft);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image {
  background: transparent;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image img,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card a img,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
  height: clamp(238px, 24vw, 320px);
  object-fit: cover;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card:hover .sf-product-card__image img,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card:hover .sf-product-card__image img {
  transform: scale(1.025);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body {
  padding: 18px 18px 20px;
  text-align: left;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body p {
  color: rgba(31, 25, 22, 0.42);
  font-size: 10px;
  letter-spacing: 0.16em;
  line-height: 1.35;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body h3 {
  margin-top: 9px;
  font-size: 16px;
  line-height: 1.38;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body h3 a {
  color: rgba(31, 25, 22, 0.92);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only {
  min-height: 28px;
  margin-top: 14px;
  justify-content: flex-start;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only strong {
  color: rgba(31, 25, 22, 0.86);
  font-size: 14px;
  font-weight: 650;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination {
  margin-top: 34px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination ul li {
  border: 0;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination .page-numbers {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sf-shop-v2-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(31, 25, 22, 0.66);
  line-height: 1;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination .page-numbers.current,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination a.page-numbers:hover,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products nav.woocommerce-pagination a.page-numbers:focus-visible {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff;
}

@media (max-width: 1024px) {
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-controls {
    grid-template-columns: 1fr;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-sort {
    min-width: 0;
    max-width: 320px;
  }
}

@media (max-width: 767px) {
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero {
    padding: 28px 0 10px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero h1 {
    font-size: 38px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-hero p {
    font-size: 14px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-controls {
    margin-top: 14px;
    margin-bottom: 22px;
    padding: 12px;
    border-radius: 20px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filterbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filterbar::-webkit-scrollbar {
    display: none;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter-pill,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary {
    min-height: 36px;
    padding: 0 13px;
    white-space: nowrap;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel {
    position: fixed;
    left: 16px;
    right: 16px;
    top: 128px;
    width: auto;
    max-height: 56vh;
    overflow: auto;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-sort {
    max-width: none;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: min(62vw, 245px);
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body {
    padding: 15px 15px 17px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body h3 {
    font-size: 15px;
  }
}

/* End re-scoped Phase Shop Visual 2 rules */

/* Re-scoped Phase Shop Visual 2.1 rules */

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image img,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card a img,
:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
  height: clamp(205px, 18vw, 260px);
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body {
  padding: 16px 16px 18px;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body h3 {
  font-size: 15px;
  line-height: 1.34;
}

:is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only {
  margin-top: 10px;
  min-height: 24px;
}

@media (max-width: 1024px) {
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: clamp(180px, 24vw, 230px);
  }
}

@media (max-width: 767px) {
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filterbar {
    flex-wrap: wrap;
    overflow: visible;
    gap: 7px;
    padding-bottom: 0;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filterbar::-webkit-scrollbar {
    display: initial;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter-pill,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary {
    min-height: 32px;
    padding: 0 10px;
    font-size: 11px;
    white-space: normal;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter summary::after {
    margin-left: 7px;
    font-size: 13px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter {
    position: relative;
    max-width: 100%;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter[open] {
    flex: 1 0 100%;
    width: 100%;
    z-index: 80;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel {
    position: static;
    width: 100%;
    max-height: 44vh;
    overflow: auto;
    margin-top: 8px;
    z-index: 90;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-filter__panel a {
    padding: 6px 9px;
    font-size: 11px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: clamp(128px, 36vw, 150px) !important;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body {
    padding: 11px 10px 13px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body p {
    font-size: 9px;
    letter-spacing: 0.12em;
    line-height: 1.3;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__body h3 {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.3;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only {
    margin-top: 8px;
    min-height: 20px;
  }

  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__bottom.sf-product-card__bottom--price-only strong {
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products .sf-product-card__image img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-product-card a img,
  :is(body.post-type-archive-product.woocommerce-shop, body.tax-product_cat, body.tax-product_tag, body[class*=" tax-pa_"], body[class*=" tax-pa-"]) .sf-shop-v2-products ul.products li.product.sf-wc-product-card a img {
    height: 132px !important;
  }
}

/* End re-scoped Phase Shop Visual 2.1 rules */

/* === Product Archive Visual Scope Fix END === */


/* === Cart Visual 1 START ===
   Scope: WooCommerce cart visual refinement only.
   Append-only CSS. No PHP, JS, template, cart calculation, coupon, shipping, or checkout logic changes.
*/

/* Cart page frame */
body.woocommerce-cart .entry-title,
body.woocommerce-cart h1.entry-title {
  max-width: 1180px;
  margin: clamp(44px, 6vw, 72px) auto 24px;
  padding: 0 24px 24px;
  border-bottom: 1px solid rgba(31, 25, 22, 0.08);
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

body.woocommerce-cart .woocommerce {
  max-width: 1120px;
  margin: 0 auto clamp(54px, 7vw, 90px);
  padding: 0 24px;
}

/* Desktop cart layout */
body.woocommerce-cart .woocommerce-cart-form {
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 48px rgba(31, 25, 22, 0.06);
  overflow: hidden;
}

body.woocommerce-cart table.shop_table.cart {
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

body.woocommerce-cart table.shop_table.cart thead th {
  padding: 22px 14px !important;
  border-bottom: 1px solid rgba(31, 25, 22, 0.08) !important;
  color: rgba(31, 25, 22, 0.55);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.woocommerce-cart table.shop_table.cart td {
  padding: 20px 14px !important;
  border-top: 1px solid rgba(31, 25, 22, 0.06) !important;
  vertical-align: middle;
}

body.woocommerce-cart table.shop_table.cart tbody tr:first-child td {
  border-top: 0 !important;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  object-fit: cover;
  background: #f6f1eb;
}

body.woocommerce-cart table.shop_table.cart .product-name a {
  color: #1f1916 !important;
  text-decoration: none !important;
  font-weight: 650;
}

body.woocommerce-cart table.shop_table.cart .product-remove a.remove {
  width: 28px;
  height: 28px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(31, 25, 22, 0.12);
  border-radius: 999px;
  color: rgba(31, 25, 22, 0.42) !important;
  background: #fff !important;
  text-decoration: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-remove a.remove:hover {
  color: #1f1916 !important;
  border-color: rgba(31, 25, 22, 0.28);
}

/* Quantity pill */
body.woocommerce-cart table.shop_table.cart .quantity.buttons_added {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border: 1px solid rgba(31, 25, 22, 0.1);
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}

body.woocommerce-cart table.shop_table.cart .quantity.buttons_added .minus,
body.woocommerce-cart table.shop_table.cart .quantity.buttons_added .plus {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(31, 25, 22, 0.55);
  text-decoration: none !important;
}

body.woocommerce-cart table.shop_table.cart .quantity .qty {
  width: 42px;
  min-height: 38px;
  border: 0 !important;
  border-left: 1px solid rgba(31, 25, 22, 0.07) !important;
  border-right: 1px solid rgba(31, 25, 22, 0.07) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-align: center;
}

/* Coupon and update row */
body.woocommerce-cart table.shop_table.cart td.actions {
  padding: 22px !important;
  background: rgba(246, 241, 235, 0.42);
}

body.woocommerce-cart table.shop_table.cart .coupon {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  max-width: 460px;
}

body.woocommerce-cart table.shop_table.cart .coupon .input-text {
  min-width: 220px;
  min-height: 44px;
  border: 1px solid rgba(31, 25, 22, 0.12) !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 0 18px !important;
}

body.woocommerce-cart table.shop_table.cart button.button,
body.woocommerce-cart table.shop_table.cart input.button {
  min-height: 44px;
  border-radius: 999px !important;
  padding: 0 22px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Cart totals */
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart_totals {
  border: 1px solid rgba(31, 25, 22, 0.1);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 48px rgba(31, 25, 22, 0.06);
  padding: 26px;
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(31, 25, 22, 0.08);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

body.woocommerce-cart .cart_totals table.shop_table {
  border: 0 !important;
  margin: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  border-top: 1px solid rgba(31, 25, 22, 0.06) !important;
  padding: 16px 0 !important;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 18px 0 0 !important;
}

body.woocommerce-cart .cart_totals .checkout-button {
  width: 100%;
  min-height: 52px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  background: #121826 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Empty cart state */
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .return-to-shop {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body.woocommerce-cart .cart-empty {
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 48px rgba(31, 25, 22, 0.06);
  padding: 42px 28px;
}

/* Mobile cart: turn Woo table rows into compact cards */
@media (max-width: 767px) {
  body.woocommerce-cart .entry-title,
  body.woocommerce-cart h1.entry-title {
    margin-top: 34px;
    padding: 0 16px 18px;
    font-size: 34px;
  }

  body.woocommerce-cart .woocommerce {
    padding: 0 16px;
    margin-bottom: 52px;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    border-radius: 28px;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  body.woocommerce-cart table.shop_table.cart,
  body.woocommerce-cart table.shop_table.cart tbody {
    display: block;
    width: 100%;
    border: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart thead {
    display: none;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 12px 14px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid rgba(31, 25, 22, 0.08);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 14px 34px rgba(31, 25, 22, 0.055);
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item td {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    grid-column: 1;
    grid-row: 1 / span 4;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail::before,
  body.woocommerce-cart table.shop_table.cart td.product-remove::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 86px;
    height: 86px;
    border-radius: 20px;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    grid-column: 2;
    padding-right: 34px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    display: block;
    font-size: 14px;
    line-height: 1.45;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    grid-column: 2;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 34px;
    color: #1f1916;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price::before,
  body.woocommerce-cart table.shop_table.cart td.product-quantity::before,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal::before {
    content: attr(data-title);
    color: rgba(31, 25, 22, 0.46);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  body.woocommerce-cart table.shop_table.cart .quantity.buttons_added {
    min-height: 36px;
  }

  body.woocommerce-cart table.shop_table.cart .quantity.buttons_added .minus,
  body.woocommerce-cart table.shop_table.cart .quantity.buttons_added .plus {
    width: 34px;
    height: 34px;
  }

  body.woocommerce-cart table.shop_table.cart .quantity .qty {
    width: 38px;
    min-height: 34px;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    gap: 12px;
    margin-top: 18px;
    padding: 16px !important;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 14px 34px rgba(31, 25, 22, 0.045);
  }

  body.woocommerce-cart table.shop_table.cart .coupon {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: none;
  }

  body.woocommerce-cart table.shop_table.cart .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 100% !important;
    min-width: 0;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-cart .cart_totals {
    margin-top: 22px;
    border-radius: 28px;
    padding: 22px;
  }

  body.woocommerce-cart .cart_totals h2 {
    font-size: 28px;
  }
}

/* === Cart Visual 1 END === */

/* === Cart Visual 1.1 FIX START ===
   Scope: cart visual follow-up only.
   Fixes mobile remove button clipping and makes desktop cart layout more visibly refined.
   CSS only. No cart calculation, coupon, checkout, PHP, JS, or WooCommerce template changes.
*/

/* Desktop/tablet: make the cart page feel more intentionally structured */
@media (min-width: 900px) {
  body.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 28px;
    align-items: start;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-cart .woocommerce-message,
  body.woocommerce-cart .woocommerce-error,
  body.woocommerce-cart .woocommerce-info {
    grid-column: 1 / -1;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
  }

  body.woocommerce-cart .cart-collaterals {
    grid-column: 2;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    position: sticky;
    top: 118px;
  }

  body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
    width: 82px;
    height: 82px;
    border-radius: 20px;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    min-width: 220px;
  }
}

/* Mobile: keep remove button fully inside each cart item card */
@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    overflow: visible;
    padding-right: 18px;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 5 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove::before,
  body.woocommerce-cart table.shop_table.cart td.product-remove::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    position: static !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box;
    font-size: 18px !important;
    line-height: 28px !important;
    opacity: 1;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    padding-right: 38px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    overflow: visible;
  }
}

/* === Cart Visual 1.1 FIX END === */

/* === Cart Visual 1.2 FIX START ===
   Scope: cart layout fix only.
   Fixes desktop cart table/button clipping and mobile remove button oval shape.
   CSS only. No PHP, JS, WooCommerce template, cart calculation, coupon, or checkout logic changes.
*/

/* Desktop: give the cart table enough room and prevent right-side clipping */
@media (min-width: 900px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart .woocommerce {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: minmax(760px, 1fr) minmax(320px, 380px) !important;
    gap: 32px !important;
    align-items: start !important;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    width: 100% !important;
    table-layout: auto !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-subtotal,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    min-width: 108px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-quantity {
    min-width: 132px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-price {
    min-width: 92px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex: 1 1 420px !important;
    max-width: 520px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart-collaterals .cart_totals {
    min-width: 0 !important;
  }
}

/* Tablet fallback: if space is tight, stack totals below table instead of clipping columns */
@media (min-width: 900px) and (max-width: 1180px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart .woocommerce {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    position: static !important;
  }
}

/* Mobile: force the remove button to be a real circle, not a stretched oval */
@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart td.product-remove {
    top: 14px !important;
    right: 14px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    display: block !important;
    line-height: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    font-size: 20px !important;
    overflow: hidden !important;
  }
}

/* === Cart Visual 1.2 FIX END === */

/* === Cart Visual 1.3 DESKTOP STABILITY FIX START ===
   Scope: cart desktop layout safety fix only.
   Reason: two-column cart layout can overlap the cart table on desktop.
   This keeps the mobile Cart Visual 1/1.1/1.2 fixes, but makes desktop cart layout stable.
   CSS only. No PHP, JS, WooCommerce template, cart calculation, coupon, checkout, settings, or database changes.
*/

/* Desktop: stop forcing cart table and Cart Totals into a cramped two-column grid */
@media (min-width: 768px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart .woocommerce {
    display: block !important;
    width: min(1080px, calc(100% - 64px)) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    margin-top: 28px !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-cart .cart_totals {
    width: min(460px, 100%) !important;
    max-width: 460px !important;
    float: none !important;
    clear: both !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    position: static !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    width: 100% !important;
    table-layout: auto !important;
  }

  body.woocommerce-cart table.shop_table.cart th,
  body.woocommerce-cart table.shop_table.cart td {
    box-sizing: border-box !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-subtotal,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    min-width: 120px !important;
    width: 120px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-quantity {
    min-width: 150px !important;
    width: 150px !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-price {
    min-width: 100px !important;
    width: 100px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex: 1 1 480px !important;
    max-width: 560px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
  }
}

/* Mobile: keep the previous cart card layout and circular remove button */
@media (max-width: 767px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart .woocommerce {
    width: min(100% - 32px, 1180px) !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove,
  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    border-radius: 50% !important;
    aspect-ratio: 1 / 1 !important;
  }
}

/* === Cart Visual 1.3 DESKTOP STABILITY FIX END === */

/* === Cart Visual 1.4 FINAL WIDE TWO-COLUMN FIX START ===
   Scope: Cart Page only.
   Goal:
   - Desktop: left cart products, right Cart Totals / Order Summary.
   - Use wider page width and existing side whitespace.
   - Fix Coupon / Apply Coupon / Update Cart alignment.
   - Keep mobile cart card behavior safe.
   CSS only. No PHP, JS, WooCommerce template, cart calculation, coupon, checkout, settings, or database changes.
*/

/* Desktop / wide layout: restore real left-products + right-summary structure */
@media (min-width: 1181px) {
  body.woocommerce-cart .site-content .ast-container {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-cart .entry-header,
  body.woocommerce-cart .entry-title {
    width: min(1440px, calc(100vw - 96px)) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-cart .entry-content > .woocommerce {
    width: min(1440px, calc(100vw - 96px)) !important;
    max-width: 1440px !important;
    margin: 0 auto 88px !important;

    display: grid !important;
    grid-template-columns: minmax(820px, 1fr) 380px !important;
    gap: 36px !important;
    align-items: start !important;
  }

  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper,
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-message,
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-error,
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-info {
    grid-column: 1 / -1 !important;
  }

  body.woocommerce-cart form.woocommerce-cart-form {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    overflow: visible !important;
    border-radius: 34px !important;
  }

  body.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    position: sticky !important;
    top: 118px !important;
    border-radius: 30px !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    width: 100% !important;
    max-width: none !important;
    table-layout: fixed !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart th,
  body.woocommerce-cart table.shop_table.cart td {
    box-sizing: border-box !important;
    vertical-align: middle !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-remove,
  body.woocommerce-cart table.shop_table.cart td.product-remove {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    text-align: center !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-thumbnail,
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-name,
  body.woocommerce-cart table.shop_table.cart td.product-name {
    width: auto !important;
    min-width: 240px !important;
    max-width: none !important;
    padding-right: 18px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-price {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-quantity {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-subtotal,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 18px !important;
    object-fit: cover !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    width: 100% !important;
    padding: 20px 18px !important;
    overflow: visible !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;

    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.78) !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex: 1 1 auto !important;
    max-width: none !important;
    min-width: 0 !important;

    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: 240px !important;
    min-width: 180px !important;
    max-width: 260px !important;
    height: 46px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: auto !important;
    min-width: 138px !important;
    height: 46px !important;
    margin: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
    line-height: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
}

/* Medium desktop / laptop fallback:
   If screen width is not enough for a safe two-column cart, keep it stacked but still clean.
   This prevents table clipping on smaller laptops. */
@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart .entry-content > .woocommerce {
    width: min(1080px, calc(100% - 64px)) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  body.woocommerce-cart .cart-collaterals {
    margin-top: 28px !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-cart .cart_totals {
    width: min(460px, 100%) !important;
    max-width: 460px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    position: static !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex: 1 1 420px !important;
    max-width: 560px !important;
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
}

/* Mobile: preserve card layout and keep remove button circular */
@media (max-width: 767px) {
  body.woocommerce-cart .entry-content > .woocommerce {
    width: min(100% - 32px, 1180px) !important;
    display: block !important;
  }

  body.woocommerce-cart form.woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    gap: 12px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    max-width: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove,
  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    aspect-ratio: 1 / 1 !important;
  }
}

/* === Cart Visual 1.4 FINAL WIDE TWO-COLUMN FIX END === */

/* === Cart Visual 1.4.1 ACTION BUTTON OVERLAP FIX START ===
   Scope: Cart Page only.
   Reason: WooCommerce/Astra action row styles can overlap Coupon input, Apply Coupon, and Update Cart.
   Goal: Keep desktop two-column cart layout, but make the bottom action row stable.
   CSS only. No PHP, JS, template, cart calculation, coupon, checkout, settings, or database changes.
*/

@media (min-width: 768px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    float: none !important;
    clear: both !important;

    display: grid !important;
    grid-template-columns: 260px max-content max-content 1fr !important;
    align-items: center !important;
    justify-content: start !important;
    column-gap: 12px !important;
    row-gap: 12px !important;

    padding: 20px 18px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.78) !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon label,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    grid-column: 1 !important;
    width: 260px !important;
    min-width: 0 !important;
    max-width: 260px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;

    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    clear: none !important;
    z-index: 1 !important;

    border-radius: 999px !important;
    border: 1px solid rgba(31, 25, 22, 0.12) !important;
    background: #fff !important;
    color: var(--sf-ink) !important;
    line-height: 46px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: auto !important;
    min-width: 138px !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;

    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    clear: none !important;
    z-index: 1 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions input[type="hidden"] {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    grid-template-columns: minmax(220px, 1fr) max-content max-content !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 100% !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
  }
}

/* === Cart Visual 1.4.1 ACTION BUTTON OVERLAP FIX END === */

/* === Cart Visual 2-D PRODUCT META + COUPON ALIGNMENT + PRODUCT-LIKE COMPLETE CARDS START ===
   Scope: Cart Page only.
   Goals:
   1) Add a product meta/spec/context layer under the cart product name.
   2) Make Coupon / Apply Coupon / Update Cart align like a designed operation bar.
   3) Turn Complete Your Space into product-like cards with media, price, CTA, and View all.
   4) Fix mobile: no horizontal card scrolling, no half-card exposure, tighter intro.
*/

/* Product meta/spec/context line under cart item title */
body.woocommerce-cart table.shop_table.cart td.product-name .sf-cart-item-meta {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(31,25,22,.52) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: .01em !important;
}

/* Desktop coupon bar: input becomes the main long field, buttons sit on the right. */
@media (min-width: 1181px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(420px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 18px 20px !important;
    background: rgba(250,247,243,.96) !important;
    border-radius: 28px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    min-width: 152px !important;
    height: 52px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
    min-width: 152px !important;
    height: 52px !important;
    margin: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) auto auto !important;
    gap: 12px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
  }
}

/* Complete Your Space: product-like recommendation block */
body.woocommerce-cart .sf-cart-next-steps--products {
  overflow: hidden !important;
}

body.woocommerce-cart .sf-cart-next-steps__head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 26px !important;
  max-width: none !important;
}

body.woocommerce-cart .sf-cart-next-steps__copy {
  max-width: 860px !important;
}

body.woocommerce-cart .sf-cart-next-view-all {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.12) !important;
}

body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 28px !important;
  overflow: visible !important;
}

body.woocommerce-cart .sf-cart-next-card--product {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 100% !important;
  padding: 16px !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #fff !important;
  text-decoration: none !important;
}

body.woocommerce-cart .sf-cart-next-card__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 150px !important;
  margin-bottom: 18px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

body.woocommerce-cart .sf-cart-next-card--1 .sf-cart-next-card__media {
  background-image: linear-gradient(135deg, #f8dddd 0%, #f5ebe4 100%);
}

body.woocommerce-cart .sf-cart-next-card--2 .sf-cart-next-card__media {
  background-image: linear-gradient(135deg, #eee4fb 0%, #f8f1e8 100%);
}

body.woocommerce-cart .sf-cart-next-card--3 .sf-cart-next-card__media {
  background-image: linear-gradient(135deg, #f5f5f3 0%, #d9d9d5 100%);
}

body.woocommerce-cart .sf-cart-next-card__media-icon {
  position: absolute !important;
  left: 14px !important;
  top: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(31,25,22,.18) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}

body.woocommerce-cart .sf-cart-next-card__media-icon .sf-cart-inline-icon {
  width: 18px !important;
  height: 18px !important;
}

body.woocommerce-cart .sf-cart-next-card--product .sf-cart-next-card__icon {
  display: none !important;
}

body.woocommerce-cart .sf-cart-next-card--product .sf-cart-next-card__eyebrow {
  margin-top: 0 !important;
}

body.woocommerce-cart .sf-cart-next-card--product strong {
  margin-top: 8px !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart .sf-cart-next-card--product em {
  min-height: 42px !important;
  margin-top: 8px !important;
  color: rgba(255,255,255,.64) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.woocommerce-cart .sf-cart-next-card__bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 16px !important;
}

body.woocommerce-cart .sf-cart-next-card__price {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .sf-cart-next-card__bottom .sf-cart-next-card__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sf-ink) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}

/* Mobile: match preview logic. No horizontal scrolling, no half cards. */
@media (max-width: 767px) {
  body.woocommerce-cart .entry-title {
    margin-top: 26px !important;
    margin-bottom: 14px !important;
  }

  body.woocommerce-cart .sf-cart-pro-intro {
    display: grid !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 24px rgba(31,25,22,.045) !important;
  }

  body.woocommerce-cart .sf-cart-pro-intro p {
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-cart .sf-cart-pro-secondary-link {
    width: fit-content !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    font-size: 11px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name .sf-cart-item-meta {
    margin-top: 7px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products {
    overflow: hidden !important;
    margin-top: 22px !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }

  body.woocommerce-cart .sf-cart-next-steps__head {
    display: grid !important;
    gap: 14px !important;
    align-items: start !important;
  }

  body.woocommerce-cart .sf-cart-next-steps h2 {
    font-size: 24px !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
  }

  body.woocommerce-cart .sf-cart-next-steps p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-cart .sf-cart-next-view-all {
    width: fit-content !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    font-size: 11px !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media {
    height: 132px !important;
    margin-bottom: 14px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media-icon {
    width: 34px !important;
    height: 34px !important;
    left: 12px !important;
    top: 12px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media-icon .sf-cart-inline-icon {
    width: 15px !important;
    height: 15px !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product strong {
    font-size: 16px !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product em {
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.48 !important;
  }

  body.woocommerce-cart .sf-cart-next-card__bottom {
    padding-top: 12px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__bottom .sf-cart-next-card__cta {
    min-height: 38px !important;
    padding: 0 15px !important;
    font-size: 10px !important;
  }
}

/* === Cart Visual 2-D PRODUCT META + COUPON ALIGNMENT + PRODUCT-LIKE COMPLETE CARDS END === */

/* === Cart Visual 2-D.1 HOTFIX — ICON SIZE + INTRO BASE STYLES START ===
   Scope: Cart Page only.
   Fixes:
   - SVG icons becoming oversized when base Visual 2 styles are missing or overridden.
   - Cart intro rendering as plain, unstyled text.
   - Service/trust cards losing designed card structure.
   Keeps current product meta, coupon alignment, and product-like Complete Your Space logic.
*/

body.woocommerce-cart .sf-cart-pro-intro,
body.woocommerce-cart .sf-cart-next-steps {
  grid-column: 1 / -1 !important;
}

body.woocommerce-cart .sf-cart-inline-icon,
body.woocommerce-cart .sf-cart-inline-icon svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  display: block !important;
  flex: 0 0 18px !important;
}

body.woocommerce-cart .sf-cart-pro-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 0 0 28px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(31,25,22,.06) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 12px 30px rgba(31,25,22,.04) !important;
}

body.woocommerce-cart .sf-cart-pro-intro__copy {
  min-width: 0 !important;
}

body.woocommerce-cart .sf-cart-pro-kicker {
  display: inline-flex !important;
  width: fit-content !important;
  color: rgba(31,25,22,.42) !important;
  text-transform: uppercase !important;
  letter-spacing: .24em !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .sf-cart-pro-intro p {
  max-width: 760px !important;
  margin: 7px 0 0 !important;
  color: rgba(31,25,22,.62) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

body.woocommerce-cart .sf-cart-pro-intro__actions {
  flex: 0 0 auto !important;
}

body.woocommerce-cart .sf-cart-pro-secondary-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(31,25,22,.1) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 22px rgba(31,25,22,.04) !important;
}

body.woocommerce-cart .sf-cart-service-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 20px !important;
}

body.woocommerce-cart .sf-cart-service-card {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 13px !important;
  align-items: start !important;
  min-width: 0 !important;
  padding: 17px !important;
  border: 1px solid rgba(31,25,22,.055) !important;
  border-radius: 24px !important;
  background: #faf7f3 !important;
}

body.woocommerce-cart .sf-cart-service-card__icon,
body.woocommerce-cart .sf-cart-summary-trust__icon,
body.woocommerce-cart .sf-cart-next-card__media-icon,
body.woocommerce-cart .sf-cart-next-card__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

body.woocommerce-cart .sf-cart-service-card__icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: rgba(31,25,22,.68) !important;
  box-shadow: 0 8px 18px rgba(31,25,22,.055) !important;
}

body.woocommerce-cart .sf-cart-service-card__icon .sf-cart-inline-icon,
body.woocommerce-cart .sf-cart-summary-trust__icon .sf-cart-inline-icon,
body.woocommerce-cart .sf-cart-next-card__media-icon .sf-cart-inline-icon,
body.woocommerce-cart .sf-cart-next-card__icon .sf-cart-inline-icon {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
}

body.woocommerce-cart .sf-cart-service-card h3,
body.woocommerce-cart .sf-cart-summary-trust__item h3 {
  margin: 0 !important;
  color: var(--sf-ink) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}

body.woocommerce-cart .sf-cart-service-card p,
body.woocommerce-cart .sf-cart-summary-trust__item p {
  margin: 6px 0 0 !important;
  color: rgba(31,25,22,.55) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

body.woocommerce-cart .sf-cart-summary-trust {
  display: grid !important;
  gap: 10px !important;
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(31,25,22,.08) !important;
}

body.woocommerce-cart .sf-cart-summary-trust__item {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  min-width: 0 !important;
  padding: 14px !important;
  border-radius: 20px !important;
  background: #faf7f3 !important;
}

body.woocommerce-cart .sf-cart-summary-trust__icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: rgba(31,25,22,.68) !important;
  box-shadow: 0 8px 18px rgba(31,25,22,.05) !important;
}

body.woocommerce-cart .sf-cart-summary-trust__dot {
  display: none !important;
}

body.woocommerce-cart .sf-cart-summary-trust__note {
  margin: 4px 2px 0 !important;
  color: rgba(31,25,22,.45) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

@media (max-width: 1180px) {
  body.woocommerce-cart .sf-cart-pro-intro {
    display: grid !important;
    gap: 12px !important;
    align-items: start !important;
  }

  body.woocommerce-cart .sf-cart-pro-intro__actions {
    margin-top: 0 !important;
  }

  body.woocommerce-cart .sf-cart-service-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart .sf-cart-pro-intro {
    margin-bottom: 16px !important;
    padding: 14px 16px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 22px rgba(31,25,22,.035) !important;
  }

  body.woocommerce-cart .sf-cart-pro-intro p {
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 1.52 !important;
  }

  body.woocommerce-cart .sf-cart-pro-secondary-link {
    width: fit-content !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    font-size: 11px !important;
  }

  body.woocommerce-cart .sf-cart-service-card {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 13px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-cart .sf-cart-service-card__icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__item {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }

  body.woocommerce-cart .sf-cart-service-card__icon .sf-cart-inline-icon,
  body.woocommerce-cart .sf-cart-summary-trust__icon .sf-cart-inline-icon,
  body.woocommerce-cart .sf-cart-next-card__media-icon .sf-cart-inline-icon,
  body.woocommerce-cart .sf-cart-next-card__icon .sf-cart-inline-icon {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
  }
}

/* === Cart Visual 2-D.1 HOTFIX — ICON SIZE + INTRO BASE STYLES END === */

/* === Cart Visual 2-D.2 HOTFIX — COUPON BAR + COMPLETE CONTAINER START ===
   Scope: Cart Page only.
   Fixes:
   1) Removes the abnormal rounded protrusion on the left side of the Coupon bar.
   2) Restores Complete Your Space as one complete dark recommendation container.
   3) Keeps product meta, Cart Totals, service cards, trust cards, coupon logic, and checkout logic unchanged.
*/

/* Coupon row: remove old table-cell background that creates the left rounded bulge. */
@media (min-width: 1181px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    position: relative !important;
    isolation: isolate !important;
    display: grid !important;
    grid-template-columns: minmax(430px, 1fr) 152px 152px !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 18px 20px !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 18px !important;
    right: 18px !important;
    top: 12px !important;
    bottom: 12px !important;
    border-radius: 28px !important;
    background: rgba(250,247,243,.96) !important;
    pointer-events: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    position: relative !important;
    z-index: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    margin: 0 !important;
    background: #fff !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    width: 152px !important;
    min-width: 152px !important;
    height: 52px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
    width: 152px !important;
    min-width: 152px !important;
    height: 52px !important;
    margin: 0 !important;
  }
}

/* Medium layout: keep the operation bar clean without the old rounded table-cell background. */
@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    position: relative !important;
    isolation: isolate !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 14px !important;
    right: 14px !important;
    top: 10px !important;
    bottom: 10px !important;
    border-radius: 24px !important;
    background: rgba(250,247,243,.96) !important;
    pointer-events: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    position: relative !important;
    z-index: 1 !important;
  }
}

/* Complete Your Space: the whole section must be one dark container. */
body.woocommerce-cart .sf-cart-next-steps.sf-cart-next-steps--products {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 48px 0 72px !important;
  padding: 36px 38px 38px !important;
  border-radius: 34px !important;
  background: var(--sf-ink) !important;
  color: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 28px 76px rgba(31,25,22,.16) !important;
}

body.woocommerce-cart .sf-cart-next-steps--products,
body.woocommerce-cart .sf-cart-next-steps--products * {
  box-sizing: border-box !important;
}

body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__copy {
  max-width: 850px !important;
  min-width: 0 !important;
}

body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-pro-kicker {
  color: rgba(255,255,255,.48) !important;
}

body.woocommerce-cart .sf-cart-next-steps--products h2 {
  margin: 10px 0 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 3.6vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}

body.woocommerce-cart .sf-cart-next-steps--products p {
  margin: 14px 0 0 !important;
  max-width: 760px !important;
  color: rgba(255,255,255,.64) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body.woocommerce-cart .sf-cart-next-view-all {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 90px !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.16) !important;
}

body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.woocommerce-cart .sf-cart-next-card.sf-cart-next-card--product {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 100% !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.09) !important;
  color: #fff !important;
  text-decoration: none !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

body.woocommerce-cart .sf-cart-next-card__media {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 148px !important;
  margin: 0 0 16px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

body.woocommerce-cart .sf-cart-next-card--product .sf-cart-next-card__eyebrow,
body.woocommerce-cart .sf-cart-next-card--product strong,
body.woocommerce-cart .sf-cart-next-card--product em,
body.woocommerce-cart .sf-cart-next-card__bottom {
  position: static !important;
  transform: none !important;
  color: inherit !important;
}

body.woocommerce-cart .sf-cart-next-card--product .sf-cart-next-card__eyebrow {
  display: block !important;
  margin: 0 !important;
  color: rgba(255,255,255,.45) !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  font-size: 10px !important;
  font-style: normal !important;
}

body.woocommerce-cart .sf-cart-next-card--product strong {
  display: block !important;
  margin: 8px 0 0 !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

body.woocommerce-cart .sf-cart-next-card--product em {
  display: block !important;
  min-height: 42px !important;
  margin: 8px 0 0 !important;
  color: rgba(255,255,255,.64) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-style: normal !important;
}

body.woocommerce-cart .sf-cart-next-card__bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 16px 0 0 !important;
}

body.woocommerce-cart .sf-cart-next-card__price {
  display: inline-flex !important;
  align-items: center !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .sf-cart-next-card__bottom .sf-cart-next-card__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sf-ink) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Mobile: keep the complete section as a full dark block and stack cards vertically. */
@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    position: relative !important;
    isolation: isolate !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    padding: 14px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 10px !important;
    right: 10px !important;
    top: 10px !important;
    bottom: 10px !important;
    border-radius: 22px !important;
    background: rgba(250,247,243,.96) !important;
    pointer-events: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    position: relative !important;
    z-index: 1 !important;
  }

  body.woocommerce-cart .sf-cart-next-steps.sf-cart-next-steps--products {
    width: 100% !important;
    margin: 24px 0 44px !important;
    padding: 18px !important;
    border-radius: 24px !important;
    background: var(--sf-ink) !important;
    color: #fff !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__head {
    display: grid !important;
    gap: 14px !important;
    align-items: start !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products h2 {
    margin-top: 8px !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products p {
    margin-top: 10px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-cart .sf-cart-next-view-all {
    width: fit-content !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    font-size: 11px !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
    overflow: visible !important;
  }

  body.woocommerce-cart .sf-cart-next-card.sf-cart-next-card--product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media {
    height: 128px !important;
    margin-bottom: 14px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product strong {
    font-size: 16px !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product em {
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.48 !important;
  }

  body.woocommerce-cart .sf-cart-next-card__bottom {
    padding-top: 12px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__bottom .sf-cart-next-card__cta {
    min-height: 38px !important;
    padding: 0 15px !important;
    font-size: 10px !important;
  }
}

/* === Cart Visual 2-D.2 HOTFIX — COUPON BAR + COMPLETE CONTAINER END === */

/* === Cart Visual 2-D.4 CORRECTIVE HOTFIX — CENTER GROUP + COUPON FULL WIDTH START ===
   Scope: Cart Page only.
   Goals:
   1) Keep the Cart title where it is; do NOT move the title.
   2) Re-center the cart functional group below the title: intro, product cart, Cart Totals, Complete Your Space.
   3) Restore a complete Coupon / Apply Coupon / Update Cart operation bar without clipping.
   4) Preserve all existing card frames and WooCommerce behavior.
   CSS only. No PHP structure, no cart logic, no checkout logic, no coupon logic changes.
*/

@media (min-width: 1181px) {
  /* Move only the functional cart group, not the Cart page title. */
  body.woocommerce-cart .entry-content > .woocommerce {
    transform: translateX(-56px) !important;
    transform-origin: center top !important;
  }

  /* Keep notices readable if they appear above the cart group. */
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper,
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-message,
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-error,
  body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-info {
    transform: none !important;
  }

  /* Coupon bar: remove pseudo-background fragments and create one clean full operation row. */
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 156px 156px !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 28px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
    isolation: auto !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    grid-column: 1 / 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 156px !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    z-index: auto !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    grid-column: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 1px solid rgba(31,25,22,.10) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--sf-ink) !important;
    font-size: 14px !important;
    line-height: 52px !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text::placeholder {
    color: rgba(31,25,22,.45) !important;
    opacity: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    white-space: nowrap !important;
  }

  /* Protect service cards below the coupon bar from being squeezed by table/action styles. */
  body.woocommerce-cart .sf-cart-service-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Medium screens: do not shift the group; only keep coupon visible and stacked safely. */
@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart .entry-content > .woocommerce {
    transform: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 24px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 150px !important;
    min-width: 150px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 2 !important;
    justify-self: end !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart .entry-content > .woocommerce {
    transform: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
  }
}

/* === Cart Visual 2-D.4 CORRECTIVE HOTFIX — CENTER GROUP + COUPON FULL WIDTH END === */


/* === Cart Visual 2-D.5 TRUE COUPON FLEX FIX + FUNCTION GROUP BALANCE START ===
   Scope: Cart Page only.
   Purpose:
   - Previous grid-based actions rules still allowed the Coupon input to collapse.
   - This block uses flex, not grid, for the WooCommerce actions row because the real cart DOM nests the input + apply button inside .coupon.
   - Keep Cart title untouched. Only balance the functional cart group below the title.
   CSS only. No WooCommerce calculation, coupon, checkout, payment, Wishlist/YITH, Shop, or Checkout changes.
*/

@media (min-width: 1181px) {
  /* Cart title stays controlled by its own entry-title rules.
     Only the functional group below the title is balanced. */
  body.woocommerce-cart .entry-content > .woocommerce {
    width: min(1320px, calc(100vw - 120px)) !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(-28px) !important;
    transform-origin: center top !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;

    padding: 18px !important;
    border-radius: 28px !important;
    background: rgba(250,247,243,.96) !important;

    overflow: visible !important;
    position: relative !important;
    isolation: auto !important;
    float: none !important;
    clear: both !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;
    position: static !important;
    z-index: auto !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon label,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"] {
    flex: 1 1 auto !important;
    display: block !important;

    width: auto !important;
    max-width: none !important;
    min-width: 260px !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 22px !important;

    border: 1px solid rgba(31,25,22,.10) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--sf-ink) !important;

    font-size: 14px !important;
    line-height: 52px !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-sizing: border-box !important;

    position: static !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code::placeholder,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"]::placeholder {
    color: rgba(31,25,22,.45) !important;
    opacity: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    flex: 0 0 156px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    white-space: nowrap !important;
    line-height: 1 !important;
    box-sizing: border-box !important;

    position: static !important;
    transform: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart .entry-content > .woocommerce {
    transform: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 24px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex: 1 1 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"] {
    flex: 1 1 auto !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 180px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    margin-left: auto !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart .entry-content > .woocommerce {
    transform: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"],
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* === Cart Visual 2-D.5 TRUE COUPON FLEX FIX + FUNCTION GROUP BALANCE END === */


/* === Cart Visual 2-D.6 COUPON DISPLAY-CONTENTS OVERLAP FIX START ===
   Scope: Cart Page only.
   Purpose:
   - Cart Visual 2-D.5 fixed functional group centering, but Coupon input + Apply button can still overlap because .coupon is a nested wrapper.
   - This block makes .coupon transparent to layout on desktop using display: contents, so input, Apply Coupon, and Update Cart occupy three stable columns.
   - Do not move Cart title or Complete Your Space.
   CSS only. No coupon logic, calculation, checkout, payment, Wishlist/YITH, Shop, or Checkout changes.
*/

@media (min-width: 1181px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(320px, 1fr) 150px 150px !important;
    gap: 14px !important;
    align-items: center !important;
    justify-content: stretch !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;

    padding: 18px !important;
    border-radius: 28px !important;
    background: rgba(250,247,243,.96) !important;

    overflow: visible !important;
    position: relative !important;
    isolation: auto !important;
    float: none !important;
    clear: both !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::after {
    display: none !important;
    content: none !important;
  }

  /* Critical fix:
     WooCommerce nests coupon input + Apply button inside .coupon.
     Make that wrapper stop controlling width so the children align with the Update button. */
  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon label,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: center !important;

    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 22px !important;

    border: 1px solid rgba(31,25,22,.10) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--sf-ink) !important;

    font-size: 14px !important;
    line-height: 52px !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-sizing: border-box !important;

    position: static !important;
    transform: none !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code::placeholder,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"]::placeholder {
    color: rgba(31,25,22,.45) !important;
    opacity: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    justify-self: stretch !important;
    align-self: center !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    white-space: nowrap !important;
    line-height: 1 !important;
    box-sizing: border-box !important;

    position: static !important;
    transform: none !important;
    float: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) 150px !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 16px !important;
    border-radius: 24px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 48px !important;
    margin: 0 !important;
    justify-self: end !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: rgba(250,247,243,.96) !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"],
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* === Cart Visual 2-D.6 COUPON DISPLAY-CONTENTS OVERLAP FIX END === */


/* === Cart Visual 2-D.8 STABLE COUPON ROLLBACK + OVAL SUPPRESS START ===
   Scope: Cart Page only.
   Base: restore the 2-D.6 coupon layout that fixed overlap.
   Goal:
   - Coupon input + Apply Coupon + Update Cart must NOT overlap.
   - Remove the visible oval/extra background decoration as much as safely possible.
   - Do not move the cart title, cart layout, Complete Your Space, totals, prices, coupon logic, or checkout logic.
*/

/* Desktop: use stable grid + display:contents mapping to match WooCommerce DOM:
   td.actions > .coupon > input + apply button, plus td.actions > update button. */
@media (min-width: 1181px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(340px, 1fr) 150px 150px !important;
    gap: 14px !important;
    align-items: center !important;
    justify-content: stretch !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    padding: 16px 18px !important;
    margin: 0 !important;

    /* Remove the visible decorative oval/background while preserving layout. */
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    outline: 0 !important;

    overflow: visible !important;
    position: relative !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    outline: 0 !important;

    float: none !important;
    clear: none !important;
    position: static !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: center !important;

    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 22px !important;

    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid rgba(31,25,22,.12) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    outline: 0 !important;

    color: var(--sf-ink) !important;
    font-size: 14px !important;
    line-height: 52px !important;
    opacity: 1 !important;
    visibility: visible !important;

    box-sizing: border-box !important;
    position: static !important;
    transform: none !important;
    float: none !important;
    overflow: hidden !important;
    z-index: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code::before,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code::after,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"]::before,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"]::after {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code::placeholder,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"]::placeholder {
    color: rgba(31,25,22,.45) !important;
    opacity: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    justify-self: stretch !important;
    align-self: center !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    white-space: nowrap !important;
    line-height: 1 !important;
    box-sizing: border-box !important;

    position: static !important;
    transform: none !important;
    float: none !important;
    clear: none !important;
    z-index: 2 !important;
  }
}

/* Tablet: stable stacked two-button layout, no decoration. */
@media (min-width: 768px) and (max-width: 1180px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) 150px !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 16px !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: contents !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 48px !important;
    margin: 0 !important;
    justify-self: end !important;
  }
}

/* Mobile: one clean vertical stack, no decorative oval. */
@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before,
  body.woocommerce-cart table.shop_table.cart td.actions::after,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"],
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* === Cart Visual 2-D.8 STABLE COUPON ROLLBACK + OVAL SUPPRESS END === */


/* === Cart Visual 2-E MOBILE COMPACT RHYTHM REFINEMENT START ===
   Scope: Mobile cart page only.
   Source baseline: Cart Visual 2-D Accepted / 2-D.8 stable coupon layout.
   Goal:
   - Keep desktop layout untouched.
   - Compress mobile rhythm without changing WooCommerce logic.
   - Preserve product meta, stable coupon layout, trust blocks, and product-like Complete Your Space cards.
   - Prevent horizontal overflow / half-card display on mobile.
*/

@media (max-width: 767px) {
  body.woocommerce-cart .site-content {
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .entry-content > .woocommerce {
    width: min(100% - 24px, 1180px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 1. Lighter cart intro */
  body.woocommerce-cart .sf-cart-pro-intro {
    display: grid !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    padding: 14px 14px 13px !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 20px rgba(31,25,22,.035) !important;
  }

  body.woocommerce-cart .sf-cart-pro-kicker {
    font-size: 9px !important;
    letter-spacing: .2em !important;
    line-height: 1.15 !important;
  }

  body.woocommerce-cart .sf-cart-pro-intro p {
    margin: 5px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-cart .sf-cart-pro-intro__actions {
    margin-top: 2px !important;
  }

  body.woocommerce-cart .sf-cart-pro-secondary-link {
    width: fit-content !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    font-size: 10px !important;
    box-shadow: none !important;
  }

  /* 2. Compact product cards while preserving the accepted card structure */
  body.woocommerce-cart form.woocommerce-cart-form {
    padding: 14px !important;
    border-radius: 24px !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item,
  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    margin-bottom: 14px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(31,25,22,.045) !important;
  }

  body.woocommerce-cart table.shop_table.cart td {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    padding-top: 0 !important;
    padding-bottom: 8px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 74px !important;
    height: 74px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    padding-top: 2px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name .sf-cart-item-meta {
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    transform: scale(.92) !important;
    transform-origin: left center !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
  }

  /* 3. Coupon as cart-card footer, compact but keep stable non-overlap layout */
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin-top: 8px !important;
    padding: 12px !important;
    border-radius: 20px !important;
    background: rgba(250,247,243,.72) !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.shop_table.cart td.actions input#coupon_code,
  body.woocommerce-cart table.shop_table.cart td.actions input[name="coupon_code"],
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions > .button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }

  /* 4. Service cards: keep three cards, reduce vertical drag */
  body.woocommerce-cart .sf-cart-service-grid {
    gap: 9px !important;
    margin-top: 12px !important;
  }

  body.woocommerce-cart .sf-cart-service-card {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-cart .sf-cart-service-card__icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    box-shadow: 0 6px 14px rgba(31,25,22,.04) !important;
  }

  body.woocommerce-cart .sf-cart-service-card__icon .sf-cart-inline-icon {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    min-height: 13px !important;
  }

  body.woocommerce-cart .sf-cart-service-card h3 {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  body.woocommerce-cart .sf-cart-service-card p {
    margin-top: 4px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  /* 5. Cart totals: preserve structure, reduce mobile height */
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals {
    margin-top: 18px !important;
  }

  body.woocommerce-cart .cart_totals {
    border-radius: 24px !important;
  }

  body.woocommerce-cart .cart_totals h2 {
    padding-top: 20px !important;
    padding-bottom: 16px !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    font-size: 12px !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 14px 14px 2px !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    min-height: 46px !important;
    font-size: 10px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust {
    gap: 8px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__item {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 11px !important;
    border-radius: 15px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__icon .sf-cart-inline-icon {
    width: 13px !important;
    height: 13px !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__item h3 {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__item p {
    margin-top: 3px !important;
    font-size: 9.5px !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-cart .sf-cart-summary-trust__note {
    margin-top: 6px !important;
    font-size: 9.5px !important;
    line-height: 1.4 !important;
  }

  /* 6. Complete Your Space: keep full vertical cards, but shorter and cleaner */
  body.woocommerce-cart .sf-cart-next-steps--products {
    margin-top: 22px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .sf-cart-next-steps__head {
    gap: 8px !important;
  }

  body.woocommerce-cart .sf-cart-next-steps .sf-cart-pro-kicker {
    font-size: 9px !important;
    letter-spacing: .2em !important;
  }

  body.woocommerce-cart .sf-cart-next-steps h2 {
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em !important;
  }

  body.woocommerce-cart .sf-cart-next-steps p {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-cart .sf-cart-next-view-all {
    min-height: 34px !important;
    padding: 0 16px !important;
    font-size: 10px !important;
    margin-top: 2px !important;
  }

  body.woocommerce-cart .sf-cart-next-steps--products .sf-cart-next-steps__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 14px !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    border-radius: 18px !important;
    transform: none !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media {
    height: 116px !important;
    margin-bottom: 11px !important;
    border-radius: 15px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media-icon {
    width: 28px !important;
    height: 28px !important;
    left: 10px !important;
    top: 10px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__media-icon .sf-cart-inline-icon {
    width: 12px !important;
    height: 12px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__eyebrow {
    font-size: 8.5px !important;
    letter-spacing: .18em !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product strong {
    margin-top: 5px !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  body.woocommerce-cart .sf-cart-next-card--product em {
    margin-top: 5px !important;
    min-height: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.42 !important;
  }

  body.woocommerce-cart .sf-cart-next-card__bottom {
    padding-top: 10px !important;
    gap: 10px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__price {
    font-size: 12px !important;
  }

  body.woocommerce-cart .sf-cart-next-card__bottom .sf-cart-next-card__cta {
    min-height: 34px !important;
    padding: 0 13px !important;
    font-size: 9px !important;
  }

  /* 7. Footer is not part of cart, but reduce first visual clash under long mobile cart */
  body.woocommerce-cart .sf-footer {
    margin-top: 30px !important;
  }
}

/* === Cart Visual 2-E MOBILE COMPACT RHYTHM REFINEMENT END === */

/* === Cart Visual 3 REAL WOOCOMMERCE RECOMMENDATIONS START ===
   Scope: Cart Page Complete Your Space only.
   Goal: keep Cart Visual 2-E layout while card content is now pulled from real WooCommerce products.
*/

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__media {
  background-color: rgba(255,255,255,.08) !important;
  background-repeat: no-repeat !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__eyebrow {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price,
body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price .amount,
body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price .woocommerce-Price-amount {
  color: #fff !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price del {
  color: rgba(255,255,255,.48) !important;
  font-weight: 700 !important;
  margin-right: 6px !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price ins {
  color: #fff !important;
  text-decoration: none !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price .woocommerce-Price-currencySymbol {
  margin-right: 1px !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card--product strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card--product em {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  body.woocommerce-cart .sf-cart-next-steps--real .sf-cart-next-card__price del {
    display: block !important;
    margin: 0 0 2px 0 !important;
  }
}

/* === Cart Visual 3 REAL WOOCOMMERCE RECOMMENDATIONS END === */

/* === Checkout Visual Final IMPLEMENTATION START ===
   Scope: WooCommerce Checkout Page only.
   Desktop: refined checkout form + right order summary.
   Mobile: compact mobile checkout rhythm inspired by approved mobile preview.
   Does not affect Cart Page, Shop Page, Wishlist/YITH, payment gateways, coupon logic, or checkout submission logic.
*/

body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce-checkout {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(48px, 6vw, 76px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
}

body.woocommerce-checkout .sf-checkout-pro-intro {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin: 0 auto 22px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 22px 0 24px !important;
  border-bottom: 1px solid rgba(31,25,22,.10) !important;
}

body.woocommerce-checkout .sf-checkout-pro-kicker {
  display: inline-flex !important;
  color: rgba(31,25,22,.42) !important;
  text-transform: uppercase !important;
  letter-spacing: .28em !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

body.woocommerce-checkout .sf-checkout-pro-intro p {
  max-width: 720px !important;
  margin: 12px 0 0 !important;
  color: rgba(31,25,22,.60) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

body.woocommerce-checkout .sf-checkout-pro-badge {
  flex: 0 0 auto !important;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #1f1916 !important;
  padding: 0 18px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 22px rgba(31,25,22,.06) !important;
  border: 1px solid rgba(31,25,22,.06) !important;
}

body.woocommerce-checkout .sf-checkout-inline-icon,
body.woocommerce-checkout .sf-checkout-inline-icon svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: block !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin: 0 auto 22px !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.82) !important;
  color: rgba(31,25,22,.58) !important;
  padding: 16px 20px !important;
  box-shadow: 0 10px 24px rgba(31,25,22,.045) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none !important;
}

body.woocommerce-checkout .sf-checkout-coupon-link,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
  color: #1f1916 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(31,25,22,.20) !important;
  text-underline-offset: 4px !important;
  font-weight: 800 !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin: 0 auto 76px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 400px !important;
  gap: 30px !important;
  align-items: start !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout::before,
body.woocommerce-checkout form.checkout.woocommerce-checkout::after,
body.woocommerce-checkout #customer_details::before,
body.woocommerce-checkout #customer_details::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
  border-radius: 34px !important;
  background: #fff !important;
  border: 1px solid rgba(31,25,22,.05) !important;
  box-shadow: 0 24px 70px rgba(31,25,22,.08) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  padding: 32px !important;
}

body.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 20px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading {
  margin: 0 0 22px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
  color: #1f1916 !important;
  font-size: 36px !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3::before,
body.woocommerce-checkout .woocommerce-additional-fields h3::before {
  display: block !important;
  margin-bottom: 8px !important;
  color: rgba(31,25,22,.38) !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .24em !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3::before {
  content: "Step 1" !important;
}

body.woocommerce-checkout .woocommerce-additional-fields h3::before {
  content: "Optional" !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.woocommerce-checkout .form-row,
body.woocommerce-checkout .woocommerce form .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #order_comments_field {
  grid-column: 1 / -1 !important;
}

body.woocommerce-checkout label {
  color: #1f1916 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  margin-bottom: 8px !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  min-height: 50px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(31,25,22,.10) !important;
  background: #fff !important;
  color: rgba(31,25,22,.74) !important;
  box-shadow: none !important;
  padding: 0 16px !important;
  font-size: 15px !important;
}

body.woocommerce-checkout textarea.input-text {
  min-height: 122px !important;
  padding-top: 15px !important;
  resize: vertical !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 50px !important;
  padding-left: 0 !important;
  color: rgba(31,25,22,.74) !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 50px !important;
  right: 12px !important;
}

body.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 28px 28px 18px !important;
  border: 0 !important;
  border-radius: 34px 34px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(31,25,22,.08) !important;
}

body.woocommerce-checkout #order_review_heading::before {
  content: "Review" !important;
  display: block !important;
  margin-bottom: 8px !important;
  color: rgba(31,25,22,.38) !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .24em !important;
}

body.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  margin: -18px 0 0 !important;
  padding: 0 28px 28px !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  position: sticky !important;
  top: 112px !important;
}

body.woocommerce-checkout #order_review table.shop_table {
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
  border-color: rgba(31,25,22,.08) !important;
  background: transparent !important;
  padding: 15px 0 !important;
  vertical-align: top !important;
}

body.woocommerce-checkout #order_review table.shop_table .product-name {
  width: 68% !important;
  color: #1f1916 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}

body.woocommerce-checkout #order_review table.shop_table .product-total,
body.woocommerce-checkout #order_review table.shop_table tfoot td {
  text-align: right !important;
  white-space: nowrap !important;
  color: #1f1916 !important;
  font-weight: 800 !important;
}

body.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
body.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
  font-size: 20px !important;
  font-weight: 900 !important;
}

body.woocommerce-checkout #order_review .sf-cart-item-meta {
  display: block !important;
  margin-top: 6px !important;
  color: rgba(31,25,22,.48) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.woocommerce-checkout .sf-checkout-payment-note {
  margin: 18px 0 0 !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background: #faf7f3 !important;
  border: 1px solid rgba(31,25,22,.05) !important;
}

body.woocommerce-checkout .sf-checkout-payment-note__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body.woocommerce-checkout .sf-checkout-payment-note__head strong {
  color: #1f1916 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

body.woocommerce-checkout .sf-checkout-payment-note__head span {
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: rgba(31,25,22,.56) !important;
  padding: 7px 10px !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}

body.woocommerce-checkout .sf-checkout-payment-note p,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-privacy-policy-text p {
  color: rgba(31,25,22,.58) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment {
  margin-top: 18px !important;
  border-radius: 26px !important;
  background: transparent !important;
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment div.payment_box,
body.woocommerce-checkout .woocommerce-checkout-payment {
  background: transparent !important;
}

body.woocommerce-checkout #payment .woocommerce-info,
body.woocommerce-checkout #payment .woocommerce-error,
body.woocommerce-checkout #payment .woocommerce-message {
  border: 0 !important;
  border-radius: 20px !important;
  background: #faf7f3 !important;
  color: rgba(31,25,22,.62) !important;
  padding: 14px 16px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout #payment .woocommerce-info::before,
body.woocommerce-checkout #payment .woocommerce-error::before,
body.woocommerce-checkout #payment .woocommerce-message::before {
  display: none !important;
}

body.woocommerce-checkout #place_order {
  width: 100% !important;
  min-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #101725 !important;
  color: #fff !important;
  border: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  margin-top: 16px !important;
  padding: 0 24px !important;
}

body.woocommerce-checkout .sf-checkout-trust {
  display: grid !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

body.woocommerce-checkout .sf-checkout-trust__item {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  gap: 12px !important;
  border-radius: 20px !important;
  background: #faf7f3 !important;
  border: 1px solid rgba(31,25,22,.05) !important;
  padding: 14px !important;
}

body.woocommerce-checkout .sf-checkout-trust__icon {
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: rgba(31,25,22,.72) !important;
  box-shadow: 0 4px 12px rgba(31,25,22,.04) !important;
}

body.woocommerce-checkout .sf-checkout-trust__icon svg,
body.woocommerce-checkout .sf-checkout-trust__icon .sf-checkout-inline-icon {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
}

body.woocommerce-checkout .sf-checkout-trust__item h3 {
  margin: 0 !important;
  color: #1f1916 !important;
  font-size: 14px !important;
  font-family: inherit !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

body.woocommerce-checkout .sf-checkout-trust__item p {
  margin: 4px 0 0 !important;
  color: rgba(31,25,22,.55) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout .sf-checkout-trust__privacy {
  margin: 2px 0 0 !important;
  color: rgba(31,25,22,.45) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin: 0 auto 22px !important;
  padding: 18px !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon p {
  margin: 0 !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-first,
body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-last {
  width: auto !important;
  float: none !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .button {
  min-height: 48px !important;
  border-radius: 999px !important;
  background: #1f1916 !important;
  color: #fff !important;
  border: 0 !important;
  padding: 0 20px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce-checkout,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title,
  body.woocommerce-checkout .sf-checkout-pro-intro,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout form.checkout.woocommerce-checkout,
  body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
    width: min(100% - 28px, 430px) !important;
    max-width: 430px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    font-size: 44px !important;
    line-height: .96 !important;
    letter-spacing: -.035em !important;
    margin-bottom: 10px !important;
  }

  body.woocommerce-checkout .sf-checkout-pro-intro {
    margin-bottom: 14px !important;
    display: grid !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 0 0 15px !important;
  }

  body.woocommerce-checkout .sf-checkout-pro-kicker {
    font-size: 10px !important;
    letter-spacing: .22em !important;
  }

  body.woocommerce-checkout .sf-checkout-pro-intro p {
    margin-top: 7px !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  body.woocommerce-checkout .sf-checkout-pro-badge {
    justify-self: start !important;
    min-height: 38px !important;
    padding: 0 13px !important;
    font-size: 11px !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 14px !important;
  }

  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    min-height: 0 !important;
    border-radius: 18px !important;
    padding: 13px 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 12px !important;
  }

  body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
    padding: 14px !important;
    border-radius: 20px !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-bottom: 42px !important;
  }

  body.woocommerce-checkout #order_review_heading {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 18px 12px !important;
    border-radius: 24px 24px 0 0 !important;
    font-size: 28px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.075) !important;
  }

  body.woocommerce-checkout #order_review {
    order: 2 !important;
    position: static !important;
    width: 100% !important;
    margin: -14px 0 0 !important;
    padding: 0 18px 18px !important;
    border-radius: 0 0 24px 24px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.075) !important;
  }

  body.woocommerce-checkout #customer_details {
    order: 3 !important;
    gap: 14px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 18px !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.075) !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields h3,
  body.woocommerce-checkout .woocommerce-additional-fields h3 {
    margin-bottom: 14px !important;
    padding-bottom: 13px !important;
    font-size: 28px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.woocommerce-checkout label {
    font-size: 11px !important;
    margin-bottom: 7px !important;
  }

  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout textarea.input-text,
  body.woocommerce-checkout select,
  body.woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 44px !important;
    border-radius: 16px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    font-size: 13px !important;
  }

  body.woocommerce-checkout textarea.input-text {
    min-height: 88px !important;
  }

  body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
  }

  body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 44px !important;
  }

  body.woocommerce-checkout #order_review table.shop_table th,
  body.woocommerce-checkout #order_review table.shop_table td {
    padding: 12px 0 !important;
    font-size: 12px !important;
  }

  body.woocommerce-checkout #order_review table.shop_table .product-name {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-checkout #order_review .sf-cart-item-meta {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
  body.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
    font-size: 16px !important;
  }

  body.woocommerce-checkout .sf-checkout-payment-note {
    margin-top: 13px !important;
    padding: 13px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-checkout .sf-checkout-payment-note__head strong {
    font-size: 13px !important;
  }

  body.woocommerce-checkout .sf-checkout-payment-note__head span {
    font-size: 10px !important;
    padding: 6px 8px !important;
  }

  body.woocommerce-checkout .sf-checkout-payment-note p,
  body.woocommerce-checkout .woocommerce-privacy-policy-text,
  body.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  body.woocommerce-checkout #place_order {
    min-height: 52px !important;
    font-size: 12px !important;
    margin-top: 13px !important;
  }

  body.woocommerce-checkout .sf-checkout-trust {
    margin-top: 13px !important;
    gap: 9px !important;
  }

  body.woocommerce-checkout .sf-checkout-trust__item {
    grid-template-columns: 32px minmax(0,1fr) !important;
    gap: 10px !important;
    border-radius: 16px !important;
    padding: 12px !important;
  }

  body.woocommerce-checkout .sf-checkout-trust__icon {
    width: 30px !important;
    height: 30px !important;
  }

  body.woocommerce-checkout .sf-checkout-trust__item h3 {
    font-size: 12px !important;
  }

  body.woocommerce-checkout .sf-checkout-trust__item p,
  body.woocommerce-checkout .sf-checkout-trust__privacy {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }
}

/* === Checkout Visual Final IMPLEMENTATION END === */



/* === Checkout Visual 1.1 ORDER SUMMARY PRODUCT THUMBNAILS START ===
   Scope: Checkout page only.
   Adds product thumbnails to the right Your Order product rows.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb {
  width: 64px !important;
  height: 64px !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #f6f1eb !important;
  box-shadow: 0 8px 20px rgba(31,25,22,.06) !important;
  flex: 0 0 auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb img,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb__img {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 18px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text {
  display: block !important;
  min-width: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text a {
  color: #1f1916 !important;
  text-decoration: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-cart-item-meta {
  max-width: 170px !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb img,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb__img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    border-radius: 15px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-cart-item-meta {
    max-width: none !important;
  }
}
/* === Checkout Visual 1.1 ORDER SUMMARY PRODUCT THUMBNAILS END === */

/* === Checkout Visual 1.2 ORDER SUMMARY ROW LAYOUT HOTFIX START ===
   Scope: Checkout page order review only.
   Fixes desktop product summary rows after thumbnails were added:
   - prevents product title/meta from becoming narrow vertical text
   - keeps thumbnail + product text + price in a clean horizontal row
   - does not affect Cart Page, Shop Page, payment, totals, coupon, or checkout logic
*/
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 76px !important;
  column-gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  display: block !important;
  width: auto !important;
  border: 0 !important;
  padding: 16px 0 !important;
  min-width: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
  padding-top: 18px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text {
  min-width: 0 !important;
  max-width: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text > a,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text .product-name,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text strong:not(.product-quantity) {
  display: inline !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-cart-item-meta {
  display: block !important;
  max-width: none !important;
  width: auto !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .product-quantity {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(31,25,22,.72) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
    grid-template-columns: minmax(0, 1fr) 70px !important;
    column-gap: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    padding: 13px 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    padding-top: 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 11px !important;
  }
}
/* === Checkout Visual 1.2 ORDER SUMMARY ROW LAYOUT HOTFIX END === */


/* === Checkout Visual 1.3 ORDER SUMMARY WIDTH + PAYMENT BADGE HOTFIX START ===
   Scope: Checkout page only.
   Fixes the failed 1.2 order summary row treatment:
   - gives the right order summary enough width on desktop
   - keeps thumbnail + product text + price in one readable row
   - prevents product title/meta from becoming narrow vertical text
   - removes the overflowing "Preview only" pill from the payment note
   - does not affect Cart Page, Shop Page, payment gateways, coupon logic, or checkout submission logic
*/

/* Desktop: the order summary needs more real width once product thumbnails are added. */
@media (min-width: 1181px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr) 500px !important;
    gap: 34px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

/* Medium desktop/tablet landscape: still give the summary more room, but do not crush the form. */
@media (min-width: 1025px) and (max-width: 1180px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr) 460px !important;
    gap: 28px !important;
  }
}

/* Rebuild checkout item row after thumbnails were added. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  column-gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  padding: 16px 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name {
  max-width: none !important;
  overflow: visible !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  padding-top: 18px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text {
  display: block !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  color: #1f1916 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text a,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text .product-name {
  color: #1f1916 !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* WooCommerce appends quantity and item meta after product name. Keep them readable, not vertical. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .product-quantity,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-cart-item-meta,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name dl.variation,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name dl.variation * {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .product-quantity {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(31,25,22,.72) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-cart-item-meta,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name dl.variation {
  display: block !important;
  max-width: none !important;
  width: auto !important;
  margin-top: 6px !important;
  color: rgba(31,25,22,.48) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* The preview badge overflowed in the real checkout column. Hide it for now. */
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note__head span {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note__head {
  display: block !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note__head strong {
  display: block !important;
}

/* Mobile keeps the approved compact flow, with safe product rows. */
@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
    grid-template-columns: minmax(0, 1fr) 72px !important;
    column-gap: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    padding: 13px 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    padding-top: 14px !important;
    font-size: 13px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* === Checkout Visual 1.3 ORDER SUMMARY WIDTH + PAYMENT BADGE HOTFIX END === */

/* === Checkout Visual 1.4 ORDER CARD + PAYMENT NOTICE HOTFIX START ===
   Scope: Checkout page only.
   Fixes:
   - Your Order heading/body visual break caused by grid row gap and negative overlap.
   - Duplicated WooCommerce "no available payment methods" notice while no gateway is configured.
   - Place Order button touching the trust cards.
   Keeps: product thumbnails, real order data, coupon/payment/order logic unchanged.
*/

/* Join the separate WooCommerce heading and order review block into one visual card. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
  row-gap: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
  margin: 0 !important;
  padding: 28px 28px 16px !important;
  border: 1px solid rgba(31,25,22,.05) !important;
  border-bottom: 0 !important;
  border-radius: 34px 34px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 2 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
  margin: 0 !important;
  padding: 0 28px 28px !important;
  border: 1px solid rgba(31,25,22,.05) !important;
  border-top: 0 !important;
  border-radius: 0 0 34px 34px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(31,25,22,.08) !important;
  overflow: visible !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table {
  margin-top: 0 !important;
}

/* Keep the item row readable with thumbnails in the real WooCommerce order table. */
@media (min-width: 1181px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr) 520px !important;
    column-gap: 34px !important;
  }
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
  grid-template-columns: minmax(0, 1fr) 82px !important;
  column-gap: 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 12px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb img,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb__img {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  border-radius: 16px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product__text a {
  max-width: none !important;
  font-size: 14px !important;
  line-height: 1.32 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-cart-item-meta {
  font-size: 11px !important;
  line-height: 1.42 !important;
  overflow-wrap: normal !important;
}

/* Hide WooCommerce's default no-gateway notice in the payment block.
   It normally disappears when real payment methods are configured. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment > .woocommerce-info {
  display: none !important;
}

/* Keep only the brand-friendly placeholder note while payment is not configured. */
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note {
  margin-top: 18px !important;
  margin-bottom: 16px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
  margin-top: 16px !important;
  margin-bottom: 18px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    row-gap: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    padding: 18px 18px 12px !important;
    border-radius: 24px 24px 0 0 !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    margin: 0 0 14px !important;
    padding: 0 18px 18px !important;
    border-radius: 0 0 24px 24px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.075) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
    grid-template-columns: minmax(0, 1fr) 68px !important;
    column-gap: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-product {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb img,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name .sf-checkout-order-thumb__img {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    border-radius: 15px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note {
    margin-bottom: 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
    margin-bottom: 16px !important;
  }
}
/* === Checkout Visual 1.4 ORDER CARD + PAYMENT NOTICE HOTFIX END === */

/* === Checkout Visual 2: Trust + Flow Layer START ===
   Scope: WooCommerce Checkout Page only.
   Adds a lightweight checkout flow strip and support cards.
   Keeps Checkout Visual 1.4 order summary/card fixes intact.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin: 0 auto 22px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 13px !important;
  align-items: start !important;
  min-height: 112px !important;
  padding: 18px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(31,25,22,.06) !important;
  box-shadow: 0 10px 26px rgba(31,25,22,.045) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item.is-active {
  background: #fff !important;
  box-shadow: 0 16px 38px rgba(31,25,22,.065) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__number {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #1f1916 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item:not(.is-active) .sf-checkout-flow-strip__number {
  background: #f6f1eb !important;
  color: rgba(31,25,22,.55) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
  margin: 0 !important;
  color: #1f1916 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip p,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
  margin: 7px 0 0 !important;
  color: rgba(31,25,22,.55) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(31,25,22,.08) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  padding: 15px !important;
  border-radius: 20px !important;
  background: #faf7f3 !important;
  border: 1px solid rgba(31,25,22,.05) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(31,25,22,.05) !important;
  color: rgba(31,25,22,.72) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon svg {
  width: 15px !important;
  height: 15px !important;
  max-width: 15px !important;
  max-height: 15px !important;
}

@media (max-width: 1024px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item {
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip {
    width: min(100% - 32px, 430px) !important;
    margin-bottom: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item {
    display: block !important;
    min-height: 0 !important;
    padding: 10px 8px !important;
    border-radius: 16px !important;
    text-align: left !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__number {
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 0 5px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(31,25,22,.38) !important;
    font-size: 9px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item.is-active .sf-checkout-flow-strip__number {
    color: rgba(255,255,255,.55) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item.is-active {
    background: #1f1916 !important;
    color: #fff !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip__item.is-active h3 {
    color: #fff !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip h3 {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-flow-strip p {
    display: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
    width: 28px !important;
    height: 28px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
    font-size: 12px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }
}
/* === Checkout Visual 2: Trust + Flow Layer END === */



/* === Checkout Visual 2.1: Support Row + Amount Alignment HOTFIX START ===
   Scope: WooCommerce Checkout Page only.
   Fixes:
   - Makes the three support cards under Billing Details feel more polished and intentional.
   - Aligns order-summary amount column more cleanly to the right.
   Keeps: Checkout Visual 2 structure, Checkout 1.4 order card/payment logic.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  gap: 14px !important;
  margin-top: 24px !important;
  padding: 18px !important;
  border-top: 0 !important;
  border-radius: 24px !important;
  background: #f8f4ef !important;
  box-shadow: inset 0 0 0 1px rgba(31,25,22,.05) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
  align-content: start !important;
  min-height: 142px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(31,25,22,.06) !important;
  box-shadow: 0 8px 20px rgba(31,25,22,.035) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
  width: 34px !important;
  height: 34px !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(31,25,22,.05) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon svg {
  width: 15px !important;
  height: 15px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
  font-size: 14px !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.58 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
  grid-template-columns: minmax(0, 1fr) 116px !important;
  column-gap: 16px !important;
  align-items: start !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  width: 116px !important;
  min-width: 116px !important;
  padding-left: 0 !important;
  text-align: right !important;
  justify-self: end !important;
  align-self: start !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total .amount,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot td .amount,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot th .amount,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tr.order-total td,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tr.cart-subtotal td {
  font-variant-numeric: tabular-nums !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total .amount {
  display: inline-block !important;
  min-width: 100% !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
    gap: 10px !important;
    margin-top: 16px !important;
    padding: 12px !important;
    border-radius: 20px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
    min-height: 0 !important;
    padding: 13px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
    width: 30px !important;
    height: 30px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
    font-size: 12px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
    font-size: 10px !important;
    line-height: 1.48 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
    grid-template-columns: minmax(0, 1fr) 86px !important;
    column-gap: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    width: 86px !important;
    min-width: 86px !important;
  }
}
/* === Checkout Visual 2.1: Support Row + Amount Alignment HOTFIX END === */


/* === Checkout Visual 2.2: Support Card Height + Amount Right Edge HOTFIX START ===
   Scope: WooCommerce Checkout Page only.
   Fixes:
   - Reduces the visual height of the three billing support cards.
   - Lowers the icon slightly so it aligns more naturally with the card title.
   - Forces item-row amounts to share the same right edge feeling as subtotal/total.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  gap: 12px !important;
  margin-top: 20px !important;
  padding: 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
  min-height: 118px !important;
  padding: 15px !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
  width: 30px !important;
  height: 30px !important;
  margin-top: 4px !important;
  align-self: start !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon svg {
  width: 14px !important;
  height: 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
  margin-top: 1px !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
  margin-top: 7px !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}

/* Align product-line amounts to the same visual right edge as subtotal/total. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
  grid-template-columns: minmax(0, 1fr) max-content !important;
  column-gap: 12px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  width: auto !important;
  min-width: 88px !important;
  padding-right: 0 !important;
  justify-self: end !important;
  align-self: start !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total .amount {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
    min-height: 0 !important;
    padding: 12px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
    width: 26px !important;
    height: 26px !important;
    margin-top: 2px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
    font-size: 12px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
    font-size: 10px !important;
    line-height: 1.46 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    column-gap: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    min-width: 72px !important;
  }
}
/* === Checkout Visual 2.2: Support Card Height + Amount Right Edge HOTFIX END === */


/* === Checkout Visual 2.3: HARD OVERRIDE - Compact Support + True Right Amounts START ===
   Scope: WooCommerce Checkout Page only.
   This is intentionally stronger than 2.2 because 2.2 did not visibly change the live page.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 16px 0 0 !important;
  padding: 10px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #f8f4ef !important;
  box-shadow: inset 0 0 0 1px rgba(31,25,22,.05) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__card,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: start !important;
  min-height: 92px !important;
  padding: 11px 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(31,25,22,.055) !important;
  box-shadow: 0 6px 16px rgba(31,25,22,.025) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  margin-top: 18px !important; /* align visually closer to the title instead of the tiny step label */
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(31,25,22,.04) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__icon .sf-checkout-inline-icon svg,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon svg {
  width: 13px !important;
  height: 13px !important;
  max-width: 13px !important;
  max-height: 13px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.24 !important;
  font-weight: 850 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row p,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
  margin: 5px 0 0 !important;
  font-size: 10px !important;
  line-height: 1.42 !important;
}

/* True right-edge alignment for product amounts: place each amount at the row's far right edge,
   so it visually lines up with Subtotal and Total below. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-height: 112px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name {
  display: block !important;
  width: calc(100% - 112px) !important;
  max-width: calc(100% - 112px) !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
  position: absolute !important;
  right: 0 !important;
  top: 18px !important;
  display: block !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total .amount {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.cart-subtotal,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.order-total {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  column-gap: 12px !important;
  align-items: baseline !important;
  width: 100% !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot th,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot td {
  display: block !important;
  width: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot td {
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__card,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
    min-height: 0 !important;
    padding: 10px 12px !important;
    grid-template-columns: 26px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__icon,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
    margin-top: 2px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item {
    min-height: 96px !important;
    padding: 13px 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name {
    width: calc(100% - 84px) !important;
    max-width: calc(100% - 84px) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    top: 14px !important;
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    font-size: 13px !important;
  }
}
/* === Checkout Visual 2.3: HARD OVERRIDE - Compact Support + True Right Amounts END === */


/* === Checkout Visual 2.4: Support Cards Equalized START ===
   Scope: WooCommerce Checkout only.
   Goal:
   - Make the 3 support cards under Billing Details more even and compact.
   - Prevent the middle title from visually breaking the whole row.
   - Reduce top/bottom whitespace.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  gap: 10px !important;
  margin-top: 16px !important;
  padding: 10px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
  min-height: 104px !important;
  padding: 12px 13px !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
  width: 26px !important;
  height: 26px !important;
  margin-top: 4px !important;
  align-self: start !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon svg {
  width: 12px !important;
  height: 12px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  font-size: 12px !important;
  line-height: 1.24 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

/* Slightly tighter title handling for the middle card so it aligns with neighbors better. */
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card:nth-child(2) h3 {
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
  margin-top: 0 !important;
  font-size: 10.5px !important;
  line-height: 1.45 !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
    gap: 8px !important;
    margin-top: 12px !important;
    padding: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
    min-height: 0 !important;
    padding: 11px 12px !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
    width: 22px !important;
    height: 22px !important;
    margin-top: 3px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card:nth-child(2) h3 {
    font-size: 11px !important;
    line-height: 1.22 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
    font-size: 10px !important;
    line-height: 1.42 !important;
  }
}
/* === Checkout Visual 2.4: Support Cards Equalized END === */


/* === Checkout Visual 2.5: Support Card Divider Alignment START ===
   Scope: WooCommerce Checkout only.
   Fixes the support-card divider line alignment by reserving the same title block height.
   Also pairs with the shorter default middle-card copy in functions.php.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  gap: 10px !important;
  margin-top: 16px !important;
  padding: 10px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
  min-height: 96px !important;
  padding: 11px 12px !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
  width: 24px !important;
  height: 24px !important;
  margin-top: 16px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon .sf-checkout-inline-icon svg {
  width: 12px !important;
  height: 12px !important;
}

/* The original Billing Details h3 rule adds STEP 1 + divider to any h3 inside billing fields.
   Keep that style, but make each support card reserve the same height so the divider aligns. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 0 7px !important;
  padding: 0 0 7px !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
  overflow: hidden !important;
  color: #1f1916 !important;
  font-size: 12px !important;
  line-height: 1.22 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row h3::before,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3::before {
  display: block !important;
  margin: 0 0 4px !important;
  color: rgba(31,25,22,.38) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .22em !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row__card:nth-child(2) h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card:nth-child(2) h3 {
  font-size: 12px !important;
  line-height: 1.22 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row p,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row p {
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1.42 !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
    gap: 8px !important;
    margin-top: 12px !important;
    padding: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__card {
    min-height: 0 !important;
    padding: 11px 12px !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row__icon {
    width: 22px !important;
    height: 22px !important;
    margin-top: 15px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .sf-checkout-support-row h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row h3 {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
}
/* === Checkout Visual 2.5: Support Card Divider Alignment END === */


/* === Checkout Visual 2.6: Remove Left Billing Support Cards START ===
   Scope: WooCommerce Checkout Page only.
   Reason: The right order summary already contains trust cards, so the three support cards below Billing Details are redundant.
   Keeps: right-side trust cards, checkout flow strip, order summary, payment placeholder.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-support-row {
  display: none !important;
}
/* === Checkout Visual 2.6: Remove Left Billing Support Cards END === */


/* === Checkout Visual 2.6.1: Title Left Alignment HOTFIX START ===
   Scope: WooCommerce Checkout Page only.
   Goal: move Checkout page title slightly left so it aligns with the left edge of the main modules below.
*/
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header {
  width: min(1340px, calc(100vw - 72px)) !important;
  max-width: 1340px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header .entry-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Nudge title a bit left to match the left edge of the intro / flow modules visually. */
@media (min-width: 768px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header .entry-title,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    transform: translateX(-8px) !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header .entry-title,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    transform: none !important;
  }
}
/* === Checkout Visual 2.6.1: Title Left Alignment HOTFIX END === */


/* === Checkout Visual 2.6.2: Title Position Rebalance START ===
   Scope: WooCommerce Checkout Page only.
   2.6.1 moved the Checkout title too far left.
   This gently brings the title back to the right while leaving the intro/flow/coupon modules unchanged.
*/
@media (min-width: 768px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header .entry-title,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    transform: translateX(22px) !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header .entry-title,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    transform: none !important;
  }
}
/* === Checkout Visual 2.6.2: Title Position Rebalance END === */


/* === Checkout Visual 3.1: Preview-Aligned Flow + Delivery Notes START === */
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0 24px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip__item {
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:20px 22px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(32,25,22,.06);
  box-shadow:0 10px 28px rgba(31,25,22,.04);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip__item.is-active {
  box-shadow:0 14px 32px rgba(31,25,22,.06);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip__number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:#f4efe9;
  color:#201916;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  flex:0 0 auto;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip__item.is-active .sf-checkout-v3-flow-strip__number {
  background:#1f1714;
  color:#fff;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip h3 {
  margin:2px 0 6px;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip p {
  margin:0;
  font-size:13px;
  line-height:1.65;
  color:rgba(32,25,22,.62);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields > h3 {
  display:none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes {
  margin:0 0 18px;
  padding:0 0 14px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes__head {
  margin:0 0 18px;
  padding:0 0 18px;
  border-bottom:1px solid rgba(32,25,22,.08);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-kicker {
  display:block;
  margin:0 0 8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.28em;
  color:rgba(32,25,22,.38);
  font-weight:700;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes__head h3 {
  margin:0;
  font-family:var(--sf-font-display, "Cormorant Garamond", Georgia, serif);
  font-size:44px;
  line-height:.98;
  letter-spacing:-.03em;
  color:#201916;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0 0 18px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-card {
  padding:16px 18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(32,25,22,.08);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-card__label {
  display:block;
  margin:0 0 6px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:rgba(32,25,22,.42);
  font-weight:700;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-card h4 {
  margin:0 0 6px;
  font-size:15px;
  font-weight:800;
  line-height:1.4;
  color:#201916;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-card p {
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:rgba(32,25,22,.62);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_comments {
  min-height:118px;
  border-radius:22px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_comments {
  border:2px solid #201916;
  padding:16px 18px;
  color:#201916;
  background:#fff;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_comments::placeholder {
  color:rgba(32,25,22,.56);
}
@media (max-width: 1024px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-grid {
    grid-template-columns:1fr;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes__head h3 {
    font-size:34px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip__item {
    padding:18px 18px;
  }
}
/* === Checkout Visual 3.1: Preview-Aligned Flow + Delivery Notes END === */


/* === Checkout Visual 3 Mobile Refined Preview Alignment START ===
   Mobile target is the approved Checkout Mobile Refined Preview.
   Desktop Visual 3.1 is intentionally left unchanged.
*/
.sf-checkout-mobile-steps,
.sf-checkout-mobile-order-mini,
.sf-checkout-mobile-final-head {
  display: none;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) {
    background: #f7f2ec !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce-checkout,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header {
    width: min(430px, calc(100vw - 32px)) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header .entry-title,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 44px !important;
    line-height: .95 !important;
    letter-spacing: -.045em !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header {
    padding: 26px 0 0 !important;
    margin-bottom: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding: 10px 0 16px !important;
    border-bottom: 1px solid rgba(32,25,22,.10) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-kicker {
    font-size: 10px !important;
    letter-spacing: .22em !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro p {
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: rgba(32,25,22,.60) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-badge,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-flow-strip {
    display: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-steps {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: min(430px, calc(100vw - 32px)) !important;
    max-width: 430px !important;
    margin: 16px auto 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-step {
    border: 1px solid rgba(32,25,22,.07) !important;
    background: #fff !important;
    border-radius: 16px !important;
    padding: 10px 8px !important;
    box-shadow: 0 6px 18px rgba(31,25,22,.04) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-step span {
    display: block !important;
    font-size: 9px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: rgba(32,25,22,.38) !important;
    font-weight: 900 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-step strong {
    display: block !important;
    margin-top: 3px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-step.is-active {
    background: #1f1714 !important;
    color: #fff !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-step.is-active span {
    color: rgba(255,255,255,.52) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle {
    margin-bottom: 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 13px 15px !important;
    border-radius: 18px !important;
    font-size: 12px !important;
    box-shadow: 0 10px 26px rgba(31,25,22,.045) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon {
    margin-bottom: 14px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.055) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .form-row,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .form-row-first,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .form-row-last {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .button {
    width: 100% !important;
    height: 44px !important;
    border-radius: 999px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin-bottom: 42px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini {
    display: block !important;
    order: -5 !important;
    background: #1f1714 !important;
    color: #fff !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.12) !important;
    padding: 16px !important;
    margin: 0 0 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-kicker {
    display: block !important;
    margin: 0 0 5px !important;
    color: rgba(255,255,255,.45) !important;
    font-size: 10px !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 27px !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-total-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    color: #1f1714 !important;
    border-radius: 999px !important;
    padding: 9px 13px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__item {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    padding: 10px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__item:first-child {
    border-top: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__thumb,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__thumb img {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    object-fit: cover !important;
    display: block !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__main strong {
    display: block !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__main span {
    display: block !important;
    margin-top: 4px !important;
    color: rgba(255,255,255,.56) !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__price {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__line {
    display: flex !important;
    justify-content: space-between !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    padding-top: 12px !important;
    margin-top: 10px !important;
    color: #fff !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini__note {
    margin: 12px 0 0 !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.08) !important;
    padding: 11px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,.66) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    border-radius: 24px !important;
    box-shadow: 0 18px 46px rgba(31,25,22,.075) !important;
    border: 1px solid rgba(32,25,22,.06) !important;
    background: #fff !important;
    padding: 18px !important;
    margin: 0 0 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-final-head h2 {
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    margin-top: 5px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields h3::before,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-kicker,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-final-head span {
    font-size: 9px !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: rgba(32,25,22,.38) !important;
    font-weight: 900 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row {
    margin-bottom: 12px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row label {
    margin-bottom: 7px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row input.input-text,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row select,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row textarea,
  body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single {
    min-height: 44px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes__head {
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes__head h3 {
    font-size: 28px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-micro-grid {
    display: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_comments {
    min-height: 88px !important;
    border: 1px solid rgba(32,25,22,.11) !important;
    border-radius: 16px !important;
    padding: 13px !important;
    font-size: 13px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table {
    display: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    padding: 18px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-final-head {
    display: block !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(32,25,22,.10) !important;
    margin-bottom: 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note {
    margin: 13px 0 0 !important;
    padding: 14px !important;
    border-radius: 20px !important;
    background: #faf7f3 !important;
    border: 1px solid rgba(32,25,22,.06) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note__head strong {
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note__head span {
    font-size: 10px !important;
    padding: 7px 9px !important;
    border-radius: 999px !important;
    background: #fff !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-payment-note p {
    margin-top: 9px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
    width: 100% !important;
    height: 52px !important;
    border-radius: 999px !important;
    margin: 13px 0 13px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust {
    display: grid !important;
    gap: 9px !important;
    margin-top: 13px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust__item {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    background: #faf7f3 !important;
    border-radius: 16px !important;
    padding: 12px !important;
    border: 1px solid rgba(32,25,22,.05) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust__icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 999px !important;
    background: #fff !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust__item h3 {
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust__item p {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-trust__privacy {
    display: none !important;
  }
}
/* === Checkout Visual 3 Mobile Refined Preview Alignment END === */

/* === Checkout Visual 3 Mobile Refined 1.1: Centering + Mobile Order Fix START ===
   Fixes:
   1) mobile modules appear visually off-center
   2) Final Review / Place Order block must move below Billing Details + Delivery & Notes
   Target order on mobile:
      intro -> steps -> coupon -> order summary mini -> billing -> delivery & notes -> place order
*/
@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-steps,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    width: calc(100vw - 32px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini {
    order: 1 !important;
    margin: 0 0 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields {
    order: 1 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-v3-delivery-notes {
    order: 2 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    display: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    order: 3 !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 18px !important;
    border-radius: 24px !important;
    position: static !important;
    align-self: stretch !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-final-head {
    display: block !important;
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid rgba(32,25,22,.10) !important;
  }
}
/* === Checkout Visual 3 Mobile Refined 1.1: Centering + Mobile Order Fix END === */


/* === Checkout Visual 3 Mobile Refined 1.2: Floating Widgets Safe Inset START ===
   Scope: mobile checkout only.
   Fix: the WhatsApp floating button/plugin was pushed too close to the viewport edge after mobile checkout width fixes.
   This only gives common WhatsApp floating widgets a safe right/bottom inset. Checkout layout/order is unchanged.
*/
@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat--right,
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat__button,
  body.woocommerce-checkout:not(.woocommerce-order-received) #qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp-box,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__popup_chat_box,
  body.woocommerce-checkout:not(.woocommerce-order-received) .whatsapp_float,
  body.woocommerce-checkout:not(.woocommerce-order-received) .whatsapp-floating,
  body.woocommerce-checkout:not(.woocommerce-order-received) .floating-whatsapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-whatsapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-whatsapp-floating,
  body.woocommerce-checkout:not(.woocommerce-order-received) .whatsapp-chat,
  body.woocommerce-checkout:not(.woocommerce-order-received) #whatsapp-chat {
    right: max(18px, env(safe-area-inset-right)) !important;
    left: auto !important;
    transform: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat,
  body.woocommerce-checkout:not(.woocommerce-order-received) #qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .whatsapp_float,
  body.woocommerce-checkout:not(.woocommerce-order-received) .whatsapp-floating,
  body.woocommerce-checkout:not(.woocommerce-order-received) .floating-whatsapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-whatsapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-whatsapp-floating,
  body.woocommerce-checkout:not(.woocommerce-order-received) .whatsapp-chat,
  body.woocommerce-checkout:not(.woocommerce-order-received) #whatsapp-chat {
    bottom: max(76px, calc(env(safe-area-inset-bottom) + 76px)) !important;
    z-index: 99990 !important;
  }
}
/* === Checkout Visual 3 Mobile Refined 1.2: Floating Widgets Safe Inset END === */


/* === Checkout Visual 3 Mobile Refined 1.3: No Horizontal Drift + Floating Button Safe Area START ===
   Scope: mobile checkout only.
   Fixes:
   1) removes the horizontal left/right draggable overflow on mobile checkout.
   2) moves common WhatsApp floating widgets slightly further inside the viewport.
   3) avoids using 100vw widths for checkout modules, because 100vw can create side overflow on mobile browsers.
*/
@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received),
  body.woocommerce-checkout:not(.woocommerce-order-received) #page,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ast-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .content-area,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
  body.woocommerce-checkout:not(.woocommerce-order-received) article,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-steps,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > *,
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row input.input-text,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row select,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form .form-row textarea,
  body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Common WhatsApp floating button plugins: keep inside the viewport on mobile checkout. */
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht-ctc,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .chaty-widget,
  body.woocommerce-checkout:not(.woocommerce-order-received) .chaty-widget-i,
  body.woocommerce-checkout:not(.woocommerce-order-received) .buttonizer,
  body.woocommerce-checkout:not(.woocommerce-order-received) .buttonizer-group,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whatsapp" i][style*="fixed"],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whats" i][style*="fixed"],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wa-" i][style*="fixed"],
  body.woocommerce-checkout:not(.woocommerce-order-received) a[href*="wa.me"][style*="fixed"],
  body.woocommerce-checkout:not(.woocommerce-order-received) a[href*="whatsapp"][style*="fixed"] {
    right: 18px !important;
    left: auto !important;
    bottom: 92px !important;
    max-width: calc(100vw - 36px) !important;
    transform: none !important;
    z-index: 9998 !important;
  }

  /* Parent selectors for image-based floating WhatsApp buttons. */
  body.woocommerce-checkout:not(.woocommerce-order-received) a:has(img[src*="whatsapp" i]),
  body.woocommerce-checkout:not(.woocommerce-order-received) div:has(> img[src*="whatsapp" i]) {
    max-width: calc(100vw - 36px) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) a:has(img[src*="whatsapp" i])[style*="fixed"],
  body.woocommerce-checkout:not(.woocommerce-order-received) div:has(> img[src*="whatsapp" i])[style*="fixed"] {
    right: 18px !important;
    left: auto !important;
    bottom: 92px !important;
    transform: none !important;
    z-index: 9998 !important;
  }
}
/* === Checkout Visual 3 Mobile Refined 1.3: No Horizontal Drift + Floating Button Safe Area END === */


/* === Checkout Visual 3 Mobile Refined 1.4: 430px Viewport Hard Clamp + WhatsApp Hard Inset START ===
   Scope: mobile checkout only.
   Reason:
   - iPhone 14 Pro Max preview is 430px wide.
   - Any 100vw / inline fixed widget can still create horizontal drift.
   - WhatsApp widget must sit inside the visual safe area, not on the screen edge.
*/
@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  @supports not (overflow-x: clip) {
    html,
    body {
      overflow-x: hidden !important;
    }
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) * {
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #page,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ast-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .content-area,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
  body.woocommerce-checkout:not(.woocommerce-order-received) article,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: clip !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-steps,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    width: auto !important;
    max-width: 398px !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }

  @media (min-width: 431px) and (max-width: 767px) {
    body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header,
    body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-pro-intro,
    body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-steps,
    body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
    body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon,
    body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
      max-width: 430px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-mobile-order-mini,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    overflow: hidden !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) img,
  body.woocommerce-checkout:not(.woocommerce-order-received) table,
  body.woocommerce-checkout:not(.woocommerce-order-received) iframe {
    max-width: 100% !important;
  }

  /* Hard inset for common WhatsApp/floating chat plugins on mobile checkout.
     The selector list is intentionally broad but limited to checkout mobile. */
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat *,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp *,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup *,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht-ctc,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht-ctc *,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat *,
  body.woocommerce-checkout:not(.woocommerce-order-received) .chaty-widget,
  body.woocommerce-checkout:not(.woocommerce-order-received) .chaty-widget *,
  body.woocommerce-checkout:not(.woocommerce-order-received) .buttonizer,
  body.woocommerce-checkout:not(.woocommerce-order-received) .buttonizer *,
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="whatsapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whatsapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="whats" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whats" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="wa_" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wa_" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="wapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wapp" i] {
    max-width: calc(100vw - 56px) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht-ctc,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .chaty-widget,
  body.woocommerce-checkout:not(.woocommerce-order-received) .buttonizer,
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="whatsapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whatsapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="whats" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whats" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="wa_" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wa_" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="wapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wapp" i] {
    right: 28px !important;
    left: auto !important;
    bottom: 104px !important;
    transform: none !important;
    z-index: 9998 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat__button,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat_style,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whatsapp" i] a,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whats" i] a,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wapp" i] a {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
  }
}
/* === Checkout Visual 3 Mobile Refined 1.4: 430px Viewport Hard Clamp + WhatsApp Hard Inset END === */


/* === Checkout Visual 3 Mobile Refined 1.5: Header Menu + WhatsApp Balance START ===
   Scope: mobile checkout only.
   Fixes:
   1) WhatsApp floating button was pushed too far toward the center in 1.4.
   2) Header MENU pill was clipped on the right edge.
   Keeps:
   - no horizontal page drift
   - mobile checkout order
   - Cart / Checkout desktop baselines
*/
@media (max-width: 767px) {
  /* Give the mobile header a real safe width without clipping the MENU pill. */
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-header,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-header {
    overflow-x: hidden !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-header .sf-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-header-inner,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ast-primary-header-bar .ast-container,
  body.woocommerce-checkout:not(.woocommerce-order-received) .main-header-bar .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-header-inner {
    gap: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-logo,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-branding {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-logo strong {
    font-size: 22px !important;
    letter-spacing: .18em !important;
    line-height: 1.05 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-logo span {
    font-size: 10px !important;
    letter-spacing: .26em !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-header-actions,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ast-header-button-1,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ast-builder-layout-element {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-header-actions {
    gap: 7px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-mobile-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) .menu-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ast-mobile-menu-trigger-minimal {
    max-width: 86px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-right: 0 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  /* Bring WhatsApp back closer to the edge, but keep it fully inside the safe area. */
  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wa__btn_popup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht-ctc,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat,
  body.woocommerce-checkout:not(.woocommerce-order-received) .chaty-widget,
  body.woocommerce-checkout:not(.woocommerce-order-received) .buttonizer,
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="whatsapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whatsapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="whats" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whats" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="wa_" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wa_" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [id*="wapp" i],
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wapp" i] {
    right: 12px !important;
    left: auto !important;
    bottom: 96px !important;
    transform: none !important;
    z-index: 9998 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .joinchat__button,
  body.woocommerce-checkout:not(.woocommerce-order-received) .qlwapp-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) .ht_ctc_chat_style,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whatsapp" i] a,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="whats" i] a,
  body.woocommerce-checkout:not(.woocommerce-order-received) [class*="wapp" i] a {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
  }
}
/* === Checkout Visual 3 Mobile Refined 1.5: Header Menu + WhatsApp Balance END === */


/* === Spatial Flow Repair 1: Shop / Journal / Dispatch fixes START === */
/* Homepage Journal Buying Guides: keep Read Guide buttons aligned. */
.sf-guide-grid {
  align-items: stretch;
}
.sf-guide-grid .sf-guide-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.sf-guide-grid .sf-guide-card .sf-read-link {
  margin-top: auto;
  align-self: flex-start;
}

/* Blog topic navigation: cleaner, Shop-filter-inspired topic browser. */
.sf-journal-index .sf-journal-sticky-nav,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav {
  border-radius: 28px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(31,25,22,.08);
  box-shadow: 0 18px 46px rgba(31,25,22,.07);
  padding: 14px;
  color: var(--sf-ink);
}
.sf-journal-index .sf-journal-sticky-nav summary,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav summary {
  min-height: 44px;
  padding: 0 12px 12px;
  border-bottom: 1px solid rgba(31,25,22,.08);
  color: var(--sf-ink);
  font-size: 13px;
  letter-spacing: .02em;
}
.sf-journal-index .sf-journal-sticky-nav__links,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}
.sf-journal-index .sf-journal-sticky-nav__links a,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a {
  display: block;
  border-radius: 18px;
  background: #f6f1eb;
  border: 1px solid rgba(31,25,22,.06);
  padding: 12px 14px;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.sf-journal-index .sf-journal-sticky-nav__links a:hover,
.sf-journal-index .sf-journal-sticky-nav__links a.is-active,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a:hover,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a.is-active {
  background: var(--sf-ink);
  color: #fff !important;
  border-color: var(--sf-ink);
  transform: translateY(-1px);
}
.sf-journal-index .sf-journal-sticky-nav__links strong,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links strong {
  font-size: 13px;
  line-height: 1.3;
}
.sf-journal-index .sf-journal-sticky-nav__links span,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links span {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(31,25,22,.56);
}
.sf-journal-index .sf-journal-sticky-nav__links a:hover span,
.sf-journal-index .sf-journal-sticky-nav__links a.is-active span,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a:hover span,
.sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a.is-active span {
  color: rgba(255,255,255,.68);
}

/* Journal dispatch modal. This is frontend acknowledgement only, not database/email storage. */
.sf-journal-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}
.sf-journal-modal.is-open {
  display: flex;
}
.sf-journal-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(31,25,22,.42);
  backdrop-filter: blur(8px);
}
.sf-journal-modal__dialog {
  position: relative;
  width: min(520px, 100%);
  border-radius: 34px;
  background: #fff;
  color: var(--sf-ink);
  padding: 34px;
  box-shadow: 0 30px 90px rgba(31,25,22,.22);
  border: 1px solid rgba(31,25,22,.08);
}
.sf-journal-modal__dialog h3 {
  margin: 12px 0 0;
  font-family: Georgia, serif;
  font-size: clamp(32px, 5vw, 46px);
  line-height: 1;
  letter-spacing: -.04em;
}
.sf-journal-modal__dialog p {
  margin: 16px 0 0;
  color: var(--sf-muted);
  line-height: 1.75;
}
.sf-journal-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #f6f1eb;
  color: var(--sf-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.sf-journal-modal__button {
  margin-top: 24px;
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

@media (min-width: 768px) {
  .sf-journal-index__sidebar .sf-journal-sticky-nav:not([open]) .sf-journal-sticky-nav__links {
    display: none;
  }
}

@media (max-width: 767px) {
  .sf-journal-index {
    display: block;
    padding-top: 18px;
  }
  .sf-journal-index__sidebar {
    margin-bottom: 18px;
  }
  .sf-journal-index .sf-journal-sticky-nav,
  .sf-mosaic-expertise__nav .sf-journal-sticky-nav {
    position: relative;
    top: auto;
    padding: 12px;
    border-radius: 24px;
    background: rgba(255,255,255,.88);
  }
  .sf-journal-index .sf-journal-sticky-nav__links,
  .sf-mosaic-expertise__nav .sf-journal-sticky-nav__links {
    flex-direction: row;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .sf-journal-index .sf-journal-sticky-nav__links::-webkit-scrollbar,
  .sf-mosaic-expertise__nav .sf-journal-sticky-nav__links::-webkit-scrollbar {
    display: none;
  }
  .sf-journal-index .sf-journal-sticky-nav__links a,
  .sf-mosaic-expertise__nav .sf-journal-sticky-nav__links a {
    flex: 0 0 auto;
    width: max-content;
    max-width: 220px;
    border-radius: 999px;
    padding: 10px 14px;
  }
  .sf-journal-index .sf-journal-sticky-nav__links span,
  .sf-mosaic-expertise__nav .sf-journal-sticky-nav__links span {
    display: none;
  }
  .sf-mosaic-expertise__grid {
    display: block;
  }
  .sf-mosaic-expertise__nav {
    margin-bottom: 18px;
    border-radius: 28px;
    padding: 16px;
    background: #f6f1eb;
    color: var(--sf-ink);
  }
  .sf-mosaic-expertise__nav h2 {
    margin-bottom: 14px;
    color: var(--sf-ink);
  }
  .sf-journal-modal__dialog {
    border-radius: 26px;
    padding: 28px 22px 22px;
  }
}
/* === Spatial Flow Repair 1: Shop / Journal / Dispatch fixes END === */


/* === Spatial Flow Repair 2: Shop parent/child active filter context START === */
.sf-shop-v2-active-context {
  margin: 16px 0 4px;
  display: grid;
  gap: 10px;
}

.sf-shop-v2-active-context__label {
  display: inline-flex;
  width: fit-content;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 10px;
  font-weight: 700;
}

.sf-shop-v2-active-context__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sf-shop-v2-active-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(31,25,22,.08);
  padding: 8px 12px;
  box-shadow: 0 8px 18px rgba(31,25,22,.045);
  color: rgba(31,25,22,.78);
  font-size: 12px;
  font-weight: 700;
}

.sf-shop-v2-active-chip small {
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 9px;
  font-weight: 800;
}

@media (max-width: 767px) {
  .sf-shop-v2-active-context {
    margin-top: 12px;
  }

  .sf-shop-v2-active-chip {
    padding: 7px 10px;
    font-size: 11px;
  }
}
/* === Spatial Flow Repair 2: Shop parent/child active filter context END === */


/* === Spatial Flow Repair 2: True All Articles page polish START === */
.sf-journal-hero--all-articles .sf-journal-hero-card {
  align-items: center;
}
/* === Spatial Flow Repair 2: True All Articles page polish END === */


/* === Spatial Flow Repair 3: Removable active shop filter chips START === */
.sf-shop-v2-active-chip {
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.sf-shop-v2-active-chip:hover,
.sf-shop-v2-active-chip:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(31,25,22,.16);
  box-shadow: 0 12px 24px rgba(31,25,22,.075);
  background: #fffaf5;
}

.sf-shop-v2-active-chip span {
  color: rgba(31,25,22,.82);
}

.sf-shop-v2-active-chip b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  margin-left: 2px;
  border-radius: 999px;
  background: rgba(31,25,22,.075);
  color: rgba(31,25,22,.54);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.sf-shop-v2-active-chip:hover b,
.sf-shop-v2-active-chip:focus-visible b {
  background: #1f1916;
  color: #fff;
}
/* === Spatial Flow Repair 3: Removable active shop filter chips END === */


/* === Spatial Flow Code Repair 2.4.4: Blog CTA + Single Product Related Cards START === */
.sf-journal-actions--single {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 220px;
}

.sf-related-products .sf-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.sf-related-products .sf-product-card {
  border-radius: 28px;
  min-height: 0;
}

.sf-related-products .sf-product-card__image img {
  height: 240px;
}

.sf-related-products .sf-product-card__body {
  padding: 18px 20px 20px;
}

.sf-related-products .sf-product-card__body h3 {
  font-size: 17px;
  line-height: 1.28;
  margin-top: 8px;
}

.sf-related-products .sf-product-card__bottom {
  margin-top: 16px;
}

.sf-related-products .sf-add-link {
  padding: 9px 18px;
}

@media (max-width: 1180px) {
  .sf-related-products .sf-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sf-related-products .sf-product-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .sf-related-products .sf-product-card__image img {
    height: 170px;
  }

  .sf-related-products .sf-product-card__body {
    padding: 14px;
  }

  .sf-related-products .sf-product-card__body h3 {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .sf-related-products .sf-product-grid {
    grid-template-columns: 1fr;
  }
}
/* === Spatial Flow Code Repair 2.4.4: Blog CTA + Single Product Related Cards END === */


/* === Spatial Flow Code Repair 2: Blog Dispatch Two Info Cards START === */
.sf-journal-actions--info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.sf-journal-action-note {
  min-height: 112px;
  padding: 22px 24px;
  border-radius: 24px;
  background: #f5eee6;
  border: 1px solid rgba(31, 25, 22, .06);
  box-shadow: 0 10px 24px rgba(31, 25, 22, .035);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
}

.sf-journal-action-note strong {
  display: block;
  color: #1f1916;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.sf-journal-action-note span {
  display: block;
  color: rgba(31, 25, 22, .62);
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .sf-journal-actions--info {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 20px;
  }

  .sf-journal-action-note {
    min-height: 0;
    padding: 18px 20px;
  }
}
/* === Spatial Flow Code Repair 2: Blog Dispatch Two Info Cards END === */


/* === Spatial Flow Code Repair 3: Single Product Related Products Compact Layout START ===
   Note: to show 4 products, also patch woocommerce/single-product.php:
   spatial_flow_related_products_for_product( $product, 3 )
   -> spatial_flow_related_products_for_product( $product, 4 )
*/
.sf-related-products {
  overflow: hidden;
}

.sf-related-products .sf-product-grid,
.sf-related-products .products,
.sf-related-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.sf-related-products .sf-product-card,
.sf-related-products li.product {
  min-height: 0 !important;
  height: auto !important;
  border-radius: 28px !important;
}

.sf-related-products .sf-product-card__image img,
.sf-related-products li.product img {
  height: 190px !important;
  min-height: 0 !important;
  object-fit: cover !important;
}

.sf-related-products .sf-product-card__body {
  padding: 22px 22px 20px !important;
  min-height: 0 !important;
}

.sf-related-products .sf-product-card__body h3,
.sf-related-products .woocommerce-loop-product__title {
  font-size: 19px !important;
  line-height: 1.22 !important;
  margin-bottom: 12px !important;
}

.sf-related-products .sf-product-card__bottom {
  margin-top: 14px !important;
  align-items: center !important;
}

.sf-related-products .sf-product-card .button,
.sf-related-products .sf-product-card__bottom a {
  min-height: 42px !important;
  padding: 11px 20px !important;
  border-radius: 999px !important;
}

@media (max-width: 1180px) {
  .sf-related-products .sf-product-grid,
  .sf-related-products .products,
  .sf-related-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .sf-related-products .sf-product-grid,
  .sf-related-products .products,
  .sf-related-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .sf-related-products .sf-product-card__image img,
  .sf-related-products li.product img {
    height: 150px !important;
  }

  .sf-related-products .sf-product-card__body {
    padding: 16px !important;
  }

  .sf-related-products .sf-product-card__body h3,
  .sf-related-products .woocommerce-loop-product__title {
    font-size: 15px !important;
  }
}

@media (max-width: 430px) {
  .sf-related-products .sf-product-grid,
  .sf-related-products .products,
  .sf-related-products ul.products {
    grid-template-columns: 1fr !important;
  }
}
/* === Spatial Flow Code Repair 3: Single Product Related Products Compact Layout END === */

/* === Hide Home Journal Buying Guides START ===
   Scope: hide the Journal buying guides section on main site homepage only.
   CSS only. No PHP, JS, database, WooCommerce, Journal subsite, or menu changes.
*/

body.home .sf-section:has(.sf-guide-grid),
body.front-page .sf-section:has(.sf-guide-grid) {
  display: none !important;
}

/* === Hide Home Journal Buying Guides END === */

/* === Spatial Flow Policy Pages Visual START === */
.sf-policy-page {
  --sf-ink: #211a16;
  --sf-muted: rgba(33, 26, 22, 0.62);
  --sf-soft: #f7f1ea;
  --sf-warm: #efe4d8;
  --sf-line: rgba(33, 26, 22, 0.09);
  --sf-card: #fffaf5;
  --sf-white: #ffffff;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 64px 0 88px;
  color: var(--sf-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: clip;
}

.sf-policy-page,
.sf-policy-page *,
.sf-policy-page *::before,
.sf-policy-page *::after {
  box-sizing: border-box;
}

.sf-policy-hero {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 28px;
  align-items: stretch;
  margin-bottom: 28px;
}

.sf-policy-hero__copy,
.sf-policy-hero__note,
.sf-policy-card,
.sf-policy-section,
.sf-policy-cta {
  border: 1px solid var(--sf-line);
  background: rgba(255, 250, 245, 0.78);
  border-radius: 34px;
  box-shadow: 0 18px 42px rgba(33, 26, 22, 0.055);
}

.sf-policy-hero__copy {
  padding: 54px 56px;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sf-kicker {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(33, 26, 22, .45);
}

.sf-policy-hero h1 {
  max-width: 760px;
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 7vw, 82px);
  line-height: .92;
  letter-spacing: -0.055em;
  font-weight: 500;
}

.sf-policy-hero p {
  max-width: 680px;
  margin: 0;
  color: var(--sf-muted);
  font-size: 17px;
  line-height: 1.8;
}

.sf-policy-hero__note {
  padding: 34px;
  display: grid;
  align-content: end;
  background:
    radial-gradient(circle at 78% 8%, rgba(214, 190, 160, .56), transparent 34%),
    linear-gradient(135deg, #2a211d 0%, #171210 100%);
  color: #fff;
  overflow: hidden;
  position: relative;
  min-height: 360px;
}

.sf-policy-hero__note::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -64px;
  top: -42px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
}

.sf-policy-hero__note strong {
  display: block;
  margin-bottom: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.035em;
  position: relative;
  z-index: 1;
}

.sf-policy-hero__note span {
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.75;
  position: relative;
  z-index: 1;
}

.sf-policy-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 28px;
}

.sf-policy-card {
  padding: 24px;
  background: rgba(255,255,255,.68);
  min-height: 152px;
}

.sf-policy-card small {
  display: block;
  margin-bottom: 12px;
  color: rgba(33,26,22,.42);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 10px;
  font-weight: 800;
}

.sf-policy-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 17px;
  line-height: 1.35;
}

.sf-policy-card p {
  margin: 0;
  color: var(--sf-muted);
  font-size: 13px;
  line-height: 1.65;
}

.sf-policy-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.sf-policy-nav {
  position: sticky;
  top: 28px;
  padding: 22px;
  border: 1px solid var(--sf-line);
  background: rgba(255,250,245,.72);
  border-radius: 28px;
  box-shadow: 0 14px 34px rgba(33,26,22,.045);
}

.sf-policy-nav strong {
  display: block;
  margin-bottom: 16px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: rgba(33,26,22,.48);
}

.sf-policy-nav a {
  display: block;
  padding: 11px 12px;
  border-radius: 999px;
  color: rgba(33,26,22,.74);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
}

.sf-policy-nav a:hover {
  background: var(--sf-white);
  color: var(--sf-ink);
}

.sf-policy-content {
  display: grid;
  gap: 14px;
}

.sf-policy-section {
  padding: 32px 36px;
  background: rgba(255,255,255,.72);
}

.sf-policy-section h2 {
  margin: 0 0 13px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 500;
}

.sf-policy-section p,
.sf-policy-section li {
  color: var(--sf-muted);
  font-size: 15px;
  line-height: 1.82;
}

.sf-policy-section p {
  margin: 0;
}

.sf-policy-section p + p {
  margin-top: 12px;
}

.sf-policy-section ul {
  margin: 0;
  padding-left: 20px;
}

.sf-policy-cta {
  margin-top: 24px;
  padding: 34px 36px;
  background: #211a16;
  color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
}

.sf-policy-cta h2 {
  margin: 0 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.03em;
  font-size: 34px;
}

.sf-policy-cta p {
  margin: 0;
  color: rgba(255,255,255,.68);
  line-height: 1.7;
}

.sf-policy-button {
  flex: 0 0 auto;
  color: #211a16;
  background: #fff7ef;
  border-radius: 999px;
  padding: 15px 24px;
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
}

.sf-policy-button:hover {
  color: #211a16;
  background: #ffffff;
}

.sf-policy-divider {
  margin: 74px 0 42px;
  border: 0;
  height: 1px;
  background: rgba(33,26,22,.1);
}

@media (max-width: 900px) {
  .sf-policy-hero,
  .sf-policy-layout {
    grid-template-columns: 1fr;
  }

  .sf-policy-overview {
    grid-template-columns: 1fr;
  }

  .sf-policy-nav {
    position: static;
  }

  .sf-policy-cta {
    display: block;
  }

  .sf-policy-button {
    display: inline-flex;
    margin-top: 20px;
  }
}

@media (max-width: 560px) {
  .sf-policy-page {
    width: min(100% - 28px, 430px);
    padding: 32px 0 56px;
  }

  .sf-policy-hero__copy,
  .sf-policy-hero__note,
  .sf-policy-section,
  .sf-policy-cta {
    border-radius: 26px;
    padding: 26px 22px;
  }

  .sf-policy-hero__copy,
  .sf-policy-hero__note {
    min-height: 0;
  }

  .sf-policy-section h2 {
    font-size: 27px;
  }
}
/* === Spatial Flow Policy Pages Visual END === */

/* === Spatial Flow Policy Pages Desktop Centering Fix START === */

@media (min-width: 768px) {
  body.page-id-3251 .site-content .ast-container,
  body.page-id-3255 .site-content .ast-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-3251 #primary,
  body.page-id-3255 #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-3251 .entry-content,
  body.page-id-3255 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-3251 .sf-policy-page,
  body.page-id-3255 .sf-policy-page {
    width: min(1180px, calc(100vw - 80px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* === Spatial Flow Policy Pages Desktop Centering Fix END === */

/* === Spatial Flow Policy Pages Desktop Centering Fix Primary Padding START === */
@media (min-width: 768px) {
  body.page-id-3251 #primary,
  body.page-id-3255 #primary {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* === Spatial Flow Policy Pages Desktop Centering Fix Primary Padding END === */

/* === Spatial Flow Policy Pages Entry Title Fix START === */

body.page-id-3251 .entry-header,
body.page-id-3255 .entry-header,
body.page-id-3251 header.entry-header,
body.page-id-3255 header.entry-header {
  display: none !important;
}

body.page-id-3251 h1.entry-title,
body.page-id-3255 h1.entry-title,
body.page-id-3251 .entry-title,
body.page-id-3255 .entry-title {
  display: none !important;
}

/* === Spatial Flow Policy Pages Entry Title Fix END === */

/* === Spatial Flow Policy Pages Mobile Accordion START === */

@media (max-width: 767px) {
  body.page-id-3251 .sf-policy-content,
  body.page-id-3255 .sf-policy-content {
    gap: 12px;
  }

  body.page-id-3251 .sf-policy-section,
  body.page-id-3255 .sf-policy-section {
    position: relative;
    padding: 0 !important;
    overflow: hidden;
  }

  body.page-id-3251 .sf-policy-section h2,
  body.page-id-3255 .sf-policy-section h2 {
    position: relative;
    margin: 0 !important;
    padding: 22px 58px 22px 22px;
    cursor: pointer;
    font-size: 26px;
    line-height: 1.12;
  }

  body.page-id-3251 .sf-policy-section h2::after,
  body.page-id-3255 .sf-policy-section h2::after {
    content: "+";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: #f5eee6;
    color: rgba(33, 26, 22, .72);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
  }

  body.page-id-3251 .sf-policy-section.is-open h2::after,
  body.page-id-3255 .sf-policy-section.is-open h2::after {
    content: "−";
  }

  body.page-id-3251 .sf-policy-section > :not(h2),
  body.page-id-3255 .sf-policy-section > :not(h2) {
    display: none;
  }

  body.page-id-3251 .sf-policy-section.is-open > :not(h2),
  body.page-id-3255 .sf-policy-section.is-open > :not(h2) {
    display: block;
    padding-left: 22px;
    padding-right: 22px;
  }

  body.page-id-3251 .sf-policy-section.is-open > :last-child,
  body.page-id-3255 .sf-policy-section.is-open > :last-child {
    padding-bottom: 24px;
  }

  body.page-id-3251 .sf-policy-section p,
  body.page-id-3255 .sf-policy-section p,
  body.page-id-3251 .sf-policy-section li,
  body.page-id-3255 .sf-policy-section li {
    font-size: 14.5px;
    line-height: 1.72;
  }

  body.page-id-3251 .sf-policy-nav,
  body.page-id-3255 .sf-policy-nav {
    display: none !important;
  }
}

/* === Spatial Flow Policy Pages Mobile Accordion END === */

/* === Spatial Flow Privacy Policy Page Support START === */

body.page-id-3 .entry-header,
body.page-id-3 header.entry-header,
body.page-id-3 h1.entry-title,
body.page-id-3 .entry-title {
  display: none !important;
}

@media (min-width: 768px) {
  body.page-id-3 .site-content .ast-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-3 #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-3 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-3 .sf-policy-page--privacy {
    width: min(1180px, calc(100vw - 80px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 767px) {
  body.page-id-3 .sf-policy-content {
    gap: 12px;
  }

  body.page-id-3 .sf-policy-section {
    position: relative;
    padding: 0 !important;
    overflow: hidden;
  }

  body.page-id-3 .sf-policy-section h2 {
    position: relative;
    margin: 0 !important;
    padding: 22px 58px 22px 22px;
    cursor: pointer;
    font-size: 26px;
    line-height: 1.12;
  }

  body.page-id-3 .sf-policy-section h2::after {
    content: "+";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: #f5eee6;
    color: rgba(33, 26, 22, .72);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
  }

  body.page-id-3 .sf-policy-section.is-open h2::after {
    content: "−";
  }

  body.page-id-3 .sf-policy-section > :not(h2) {
    display: none;
  }

  body.page-id-3 .sf-policy-section.is-open > :not(h2) {
    display: block;
    padding-left: 22px;
    padding-right: 22px;
  }

  body.page-id-3 .sf-policy-section.is-open > :last-child {
    padding-bottom: 24px;
  }

  body.page-id-3 .sf-policy-section p,
  body.page-id-3 .sf-policy-section li {
    font-size: 14.5px;
    line-height: 1.72;
  }

  body.page-id-3 .sf-policy-nav {
    display: none !important;
  }
}

/* === Spatial Flow Privacy Policy Page Support END === */

/* === Spatial Flow Checkout Terms Checkbox Fix START === */

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-top: 18px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  line-height: 1.55 !important;
  font-size: 13.5px !important;
  color: #211a16 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__input-checkbox {
  position: static !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 2px 0 0 0 !important;
  transform: none !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox span,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox span {
  display: inline !important;
  flex: 1 1 auto !important;
}

/* === Spatial Flow Checkout Terms Checkbox Fix END === */

/* === Spatial Flow Checkout Terms Inline Preview Disable START === */

.woocommerce-checkout .woocommerce-terms-and-conditions {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* === Spatial Flow Checkout Terms Inline Preview Disable END === */

/* === Spatial Flow Cart Checkout Variation Display Fix START === */

.woocommerce-cart .woocommerce-cart-form dl.variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table .product-name dl.variation {
  display: none !important;
}

/* Keep compact custom meta readable when variation details are compressed into one line. */
.woocommerce-cart .sf-cart-item-meta,
.woocommerce-checkout .sf-cart-item-meta {
  display: block;
  margin-top: 6px;
  color: rgba(33, 26, 22, .62);
  font-size: 13px;
  line-height: 1.55;
  word-break: normal;
}

/* === Spatial Flow Cart Checkout Variation Display Fix END === */

/* === Spatial Flow Checkout Notice Visibility Fix START === */

.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout .woocommerce-notices-wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 0 18px !important;
}

.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(150, 40, 25, .18) !important;
  background: #fff4f0 !important;
  color: #6f2418 !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  list-style-position: inside !important;
}

.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error li,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error li {
  margin: 4px 0 !important;
}

/* === Spatial Flow Checkout Notice Visibility Fix END === */

/* === Spatial Flow Checkout Billing Notices START === */

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-top-notices {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices {
  width: 100%;
  margin: 0 0 22px;
  grid-column: 1 / -1;
  scroll-margin-top: 118px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices:empty {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices .woocommerce-notices-wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices .woocommerce-error {
  display: block !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(150, 40, 25, .18) !important;
  border-radius: 22px !important;
  background: #fff4f0 !important;
  box-shadow: 0 18px 46px rgba(78, 48, 32, .08) !important;
  color: #6f2418 !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  list-style-position: inside !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices .woocommerce-error li {
  margin: 4px 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices {
    margin-bottom: 18px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-checkout-billing-notices .woocommerce-error {
    padding: 15px 16px !important;
    border-radius: 18px !important;
    font-size: 13px !important;
  }
}

/* === Spatial Flow Checkout Billing Notices END === */

/* === Spatial Flow Thank You Visual START === */

body.woocommerce-order-received .entry-header,
body.woocommerce-order-received header.entry-header,
body.woocommerce-order-received h1.entry-title,
body.woocommerce-order-received .entry-title {
  display: none !important;
}

body.woocommerce-order-received .site-content .ast-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-order-received #primary {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.woocommerce-order-received .entry-content > .woocommerce {
  width: min(1180px, calc(100vw - 80px));
  max-width: 1180px;
  margin: 0 auto;
  padding: 58px 0 76px;
}

body.woocommerce-order-received .sf-thankyou-page {
  color: #211a16;
}

body.woocommerce-order-received .sf-thankyou-hero,
body.woocommerce-order-received .sf-thankyou-panel,
body.woocommerce-order-received .sf-thankyou-overview li,
body.woocommerce-order-received .sf-thankyou-actions a,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
  border: 1px solid rgba(33, 26, 22, .08);
  box-shadow: 0 22px 60px rgba(62, 42, 27, .07);
}

body.woocommerce-order-received .sf-thankyou-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-bottom: 18px;
  padding: 42px;
  border-radius: 32px;
  background: linear-gradient(135deg, #fffaf5 0%, #f7efe7 100%);
}

body.woocommerce-order-received .sf-thankyou-kicker,
body.woocommerce-order-received .sf-thankyou-panel-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(33, 26, 22, .58);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.woocommerce-order-received .sf-thankyou-hero h1 {
  max-width: 720px;
  margin: 12px 0 14px;
  color: #211a16;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: 0;
}

body.woocommerce-order-received .sf-thankyou-hero p {
  max-width: 620px;
  margin: 0;
  color: rgba(33, 26, 22, .66);
  font-size: 15px;
  line-height: 1.8;
}

body.woocommerce-order-received .sf-thankyou-status-pill {
  align-self: start;
  justify-self: end;
  padding: 10px 14px;
  border: 1px solid rgba(33, 26, 22, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #211a16;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.woocommerce-order-received .sf-thankyou-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

body.woocommerce-order-received .sf-thankyou-overview li {
  min-height: 116px;
  padding: 18px;
  border-radius: 24px;
  background: #fff;
  color: rgba(33, 26, 22, .56);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.woocommerce-order-received .sf-thankyou-overview strong {
  display: block;
  margin-top: 10px;
  color: #211a16;
  font-size: 16px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

body.woocommerce-order-received .sf-thankyou-main {
  display: grid;
  gap: 20px;
}

body.woocommerce-order-received .sf-thankyou-panel {
  padding: 30px;
  border-radius: 28px;
  background: #fff;
}

body.woocommerce-order-received .sf-thankyou-panel-kicker {
  margin-bottom: 18px;
}

body.woocommerce-order-received .sf-thankyou-panel .woocommerce-order-details,
body.woocommerce-order-received .sf-thankyou-panel .woocommerce-customer-details,
body.woocommerce-order-received .sf-thankyou-panel .woocommerce-bacs-bank-details {
  margin: 0;
}

body.woocommerce-order-received .sf-thankyou-panel h2,
body.woocommerce-order-received .sf-thankyou-panel .woocommerce-order-details__title,
body.woocommerce-order-received .sf-thankyou-panel .woocommerce-column__title,
body.woocommerce-order-received .sf-thankyou-panel .wc-bacs-bank-details-heading {
  margin: 0 0 18px;
  color: #211a16;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: 0;
}

body.woocommerce-order-received .sf-thankyou-panel table.shop_table {
  width: 100%;
  margin: 0;
  border: 0 !important;
  border-collapse: collapse;
  background: transparent;
}

body.woocommerce-order-received .sf-thankyou-panel table.shop_table th,
body.woocommerce-order-received .sf-thankyou-panel table.shop_table td {
  padding: 16px 0 !important;
  border-width: 0 0 1px !important;
  border-style: solid !important;
  border-color: rgba(33, 26, 22, .08) !important;
  color: rgba(33, 26, 22, .72);
  font-size: 14px;
  line-height: 1.6;
  vertical-align: top;
}

body.woocommerce-order-received .sf-thankyou-panel table.shop_table th {
  color: #211a16;
  font-weight: 700;
}

body.woocommerce-order-received .sf-thankyou-panel table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received .sf-thankyou-panel table.shop_table tfoot tr:last-child td {
  border-bottom: 0 !important;
  color: #211a16;
  font-size: 16px;
}

body.woocommerce-order-received .sf-thankyou-panel .product-name a {
  color: #211a16;
  font-weight: 650;
  text-decoration: none;
}

body.woocommerce-order-received .sf-thankyou-panel .wc-item-meta,
body.woocommerce-order-received .sf-thankyou-panel .wc-item-meta li {
  margin: 6px 0 0;
  padding: 0;
  color: rgba(33, 26, 22, .58);
  font-size: 12.5px;
  line-height: 1.55;
  list-style: none;
}

body.woocommerce-order-received .sf-thankyou-panel .woocommerce-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 22px;
  border-radius: 24px;
  background: #fbf8f4;
}

body.woocommerce-order-received .woocommerce-customer-details address {
  margin: 0;
  padding: 0;
  border: 0;
  color: rgba(33, 26, 22, .68);
  font-size: 14px;
  font-style: normal;
  line-height: 1.75;
}

body.woocommerce-order-received .sf-thankyou-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

body.woocommerce-order-received .sf-thankyou-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  background: #211a16;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.woocommerce-order-received .sf-thankyou-actions a.sf-thankyou-secondary-link {
  background: #fff;
  color: #211a16;
}

body.woocommerce-order-received .sf-thankyou-actions a:hover {
  transform: translateY(-1px);
}

body.woocommerce-order-received .sf-thankyou-hero--failed {
  background: #fff4f0;
}

@media (max-width: 900px) {
  body.woocommerce-order-received .entry-content > .woocommerce {
    width: min(100%, calc(100vw - 32px));
    padding: 34px 0 54px;
  }

  body.woocommerce-order-received .sf-thankyou-hero {
    grid-template-columns: 1fr;
    padding: 28px;
    border-radius: 26px;
  }

  body.woocommerce-order-received .sf-thankyou-status-pill {
    justify-self: start;
  }

  body.woocommerce-order-received .sf-thankyou-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.woocommerce-order-received .sf-thankyou-panel .woocommerce-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body.woocommerce-order-received .sf-thankyou-hero h1 {
    font-size: 38px;
  }

  body.woocommerce-order-received .sf-thankyou-overview {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .sf-thankyou-overview li {
    min-height: 0;
  }

  body.woocommerce-order-received .sf-thankyou-panel {
    padding: 22px;
    border-radius: 24px;
  }

  body.woocommerce-order-received .sf-thankyou-panel table.shop_table th,
  body.woocommerce-order-received .sf-thankyou-panel table.shop_table td {
    font-size: 13px;
  }

  body.woocommerce-order-received .sf-thankyou-actions a {
    width: 100%;
  }
}

/* === Spatial Flow Thank You Visual END === */

/* === Spatial Flow Thank You Visual V2 START === */

body.woocommerce-order-received .sf-thankyou-page {
  --sf-ty-ink: #211a16;
  --sf-ty-muted: rgba(33, 26, 22, .62);
  --sf-ty-line: rgba(33, 26, 22, .08);
  --sf-ty-panel: #fff;
  --sf-ty-soft: #fbf7f1;
  --sf-ty-warm: #fffaf5;
}

body.woocommerce-order-received .sf-thankyou-hero {
  margin-bottom: 22px;
  padding: clamp(30px, 4vw, 52px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 88% 12%, rgba(190, 145, 92, .16), transparent 30%),
    linear-gradient(135deg, #fffaf5 0%, #f6ede3 100%);
}

body.woocommerce-order-received .sf-thankyou-hero h1 {
  max-width: 780px;
  font-size: clamp(40px, 5.6vw, 72px);
  line-height: .96;
}

body.woocommerce-order-received .sf-thankyou-hero p {
  max-width: 640px;
}

body.woocommerce-order-received .sf-thankyou-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 24px !important;
}

body.woocommerce-order-received .sf-thankyou-overview li {
  min-height: 112px;
  padding: 20px;
  border-radius: 24px;
  background: var(--sf-ty-panel);
}

body.woocommerce-order-received .sf-thankyou-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
  gap: 22px;
  align-items: start;
}

body.woocommerce-order-received .sf-thankyou-layout--failed {
  grid-template-columns: minmax(0, 1fr);
}

body.woocommerce-order-received .sf-thankyou-side {
  display: grid;
  gap: 18px;
}

body.woocommerce-order-received .sf-thankyou-card {
  border: 1px solid var(--sf-ty-line);
  border-radius: 30px;
  background: var(--sf-ty-panel);
  box-shadow: 0 22px 62px rgba(62, 42, 27, .07);
}

body.woocommerce-order-received .sf-thankyou-card--items {
  padding: clamp(24px, 3vw, 34px);
}

body.woocommerce-order-received .sf-thankyou-side .sf-thankyou-card {
  padding: 24px;
}

body.woocommerce-order-received .sf-thankyou-card__head {
  margin-bottom: 20px;
}

body.woocommerce-order-received .sf-thankyou-card__head h2 {
  margin: 8px 0 0;
  color: var(--sf-ty-ink);
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0;
}

body.woocommerce-order-received .sf-thankyou-items {
  display: grid;
  gap: 14px;
}

body.woocommerce-order-received .sf-thankyou-item {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(33, 26, 22, .07);
  border-radius: 24px;
  background: var(--sf-ty-soft);
}

body.woocommerce-order-received .sf-thankyou-item__thumb {
  width: 86px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 18px;
  background: #f2ece4;
}

body.woocommerce-order-received .sf-thankyou-item__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.woocommerce-order-received .sf-thankyou-item__body {
  min-width: 0;
}

body.woocommerce-order-received .sf-thankyou-item h3 {
  margin: 0 0 7px;
  color: var(--sf-ty-ink);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: 0;
}

body.woocommerce-order-received .sf-thankyou-item h3 a {
  color: inherit;
  text-decoration: none;
}

body.woocommerce-order-received .sf-thankyou-item__qty {
  display: inline-flex;
  color: var(--sf-ty-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

body.woocommerce-order-received .sf-thankyou-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  margin-top: 10px;
}

body.woocommerce-order-received .sf-thankyou-item__meta span {
  display: inline-flex;
  gap: 4px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .76);
  color: rgba(33, 26, 22, .62);
  font-size: 11.5px;
  line-height: 1.2;
}

body.woocommerce-order-received .sf-thankyou-item__meta strong {
  color: rgba(33, 26, 22, .74);
  font-weight: 700;
}

body.woocommerce-order-received .sf-thankyou-item__total {
  justify-self: end;
  color: var(--sf-ty-ink);
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}

body.woocommerce-order-received .sf-thankyou-totals {
  display: grid;
  gap: 0;
  margin-top: 20px;
  padding: 4px 0 0;
}

body.woocommerce-order-received .sf-thankyou-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 0;
  border-top: 1px solid var(--sf-ty-line);
  color: var(--sf-ty-muted);
  font-size: 14px;
  line-height: 1.45;
}

body.woocommerce-order-received .sf-thankyou-total-row strong {
  color: var(--sf-ty-ink);
  text-align: right;
}

body.woocommerce-order-received .sf-thankyou-total-row--grand {
  padding-top: 17px;
  color: var(--sf-ty-ink);
  font-size: 17px;
}

body.woocommerce-order-received .sf-thankyou-definition-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

body.woocommerce-order-received .sf-thankyou-definition-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--sf-ty-line);
}

body.woocommerce-order-received .sf-thankyou-definition-list dt,
body.woocommerce-order-received .sf-thankyou-definition-list dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

body.woocommerce-order-received .sf-thankyou-definition-list dt {
  color: var(--sf-ty-muted);
}

body.woocommerce-order-received .sf-thankyou-definition-list dd {
  color: var(--sf-ty-ink);
  font-weight: 700;
  text-align: right;
}

body.woocommerce-order-received .sf-thankyou-payment-hook {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--sf-ty-line);
  color: var(--sf-ty-muted);
  font-size: 13.5px;
  line-height: 1.65;
}

body.woocommerce-order-received .sf-thankyou-address-grid {
  display: grid;
  gap: 12px;
}

body.woocommerce-order-received .sf-thankyou-address {
  padding: 16px;
  border: 1px solid rgba(33, 26, 22, .07);
  border-radius: 22px;
  background: var(--sf-ty-soft);
}

body.woocommerce-order-received .sf-thankyou-address h3 {
  margin: 0 0 10px;
  color: var(--sf-ty-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}

body.woocommerce-order-received .sf-thankyou-address address,
body.woocommerce-order-received .sf-thankyou-address p {
  margin: 0;
  color: var(--sf-ty-muted);
  font-size: 13.5px;
  font-style: normal;
  line-height: 1.7;
}

body.woocommerce-order-received .sf-thankyou-address p {
  margin-top: 8px;
}

body.woocommerce-order-received .sf-thankyou-card--extra {
  color: var(--sf-ty-muted);
  font-size: 13.5px;
  line-height: 1.65;
}

body.woocommerce-order-received .sf-thankyou-card--extra table.shop_table,
body.woocommerce-order-received .sf-thankyou-card--extra .woocommerce-order-details {
  display: none !important;
}

body.woocommerce-order-received .sf-thankyou-actions {
  margin-top: 24px;
}

@media (max-width: 960px) {
  body.woocommerce-order-received .sf-thankyou-layout {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .sf-thankyou-side {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.woocommerce-order-received .sf-thankyou-hero {
    padding: 28px 24px;
  }

  body.woocommerce-order-received .sf-thankyou-overview {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .sf-thankyou-card--items,
  body.woocommerce-order-received .sf-thankyou-side .sf-thankyou-card {
    padding: 20px;
    border-radius: 24px;
  }

  body.woocommerce-order-received .sf-thankyou-item {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
  }

  body.woocommerce-order-received .sf-thankyou-item__thumb {
    width: 72px;
  }

  body.woocommerce-order-received .sf-thankyou-item__total {
    grid-column: 2;
    justify-self: start;
  }

  body.woocommerce-order-received .sf-thankyou-total-row,
  body.woocommerce-order-received .sf-thankyou-definition-list div {
    align-items: flex-start;
  }
}

/* === Spatial Flow Thank You Visual V2 END === */


/* === Spatial Flow Thank You Summary Grid Final Fix START ===
   Scope: Order Received / Thank You page only.
   Fixes WooCommerce default .order_details li float/width rules causing the 4th
   summary card (Payment method) to wrap to a second row on desktop.
   PHP structure is already correct: all 4 cards are in one .sf-thankyou-overview list.
*/
body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview,
body.woocommerce-order-received ul.woocommerce-order-overview.sf-thankyou-overview,
body.woocommerce-order-received ul.woocommerce-thankyou-order-details.sf-thankyou-overview,
body.woocommerce-order-received ul.order_details.sf-thankyou-overview {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 24px 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
}

body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview::before,
body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview::after,
body.woocommerce-order-received ul.order_details.sf-thankyou-overview::before,
body.woocommerce-order-received ul.order_details.sf-thankyou-overview::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview > li,
body.woocommerce-order-received ul.woocommerce-order-overview.sf-thankyou-overview > li,
body.woocommerce-order-received ul.woocommerce-thankyou-order-details.sf-thankyou-overview > li,
body.woocommerce-order-received ul.order_details.sf-thankyou-overview > li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid rgba(33, 26, 22, .08) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(33, 26, 22, .045) !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 10px !important;

  color: rgba(33, 26, 22, .52) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview > li strong,
body.woocommerce-order-received ul.order_details.sf-thankyou-overview > li strong {
  display: block !important;
  margin: 0 !important;
  color: #211a16 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* Medium screens: 2 x 2 keeps cards aligned instead of squeezed. */
@media (min-width: 641px) and (max-width: 1024px) {
  body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview,
  body.woocommerce-order-received ul.order_details.sf-thankyou-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: stack cleanly and keep the previous no-overflow behavior. */
@media (max-width: 640px) {
  body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview,
  body.woocommerce-order-received ul.order_details.sf-thankyou-overview {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 18px !important;
  }

  body.woocommerce-order-received .sf-thankyou-page .sf-thankyou-overview > li,
  body.woocommerce-order-received ul.order_details.sf-thankyou-overview > li {
    min-height: 0 !important;
    padding: 18px !important;
  }
}

/* === Spatial Flow Thank You Summary Grid Final Fix END === */

/* === Spatial Flow Policy CTA Contrast Fix START === */

.sf-policy-page .sf-policy-cta h1,
.sf-policy-page .sf-policy-cta h2,
.sf-policy-page .sf-policy-cta h3,
.sf-policy-page .sf-policy-cta .sf-policy-cta__title,
.sf-policy-page .sf-policy-cta-title {
  color: #fffaf3 !important;
}

.sf-policy-page .sf-policy-cta p,
.sf-policy-page .sf-policy-cta .sf-policy-cta__text,
.sf-policy-page .sf-policy-cta-text {
  color: rgba(255, 250, 243, 0.78) !important;
}

.sf-policy-page .sf-policy-cta a:not(.button),
.sf-policy-page .sf-policy-cta a:not(.sf-policy-cta__button) {
  color: #fffaf3 !important;
}

/* === Spatial Flow Policy CTA Contrast Fix END === */

/* === Spatial Flow Policy CTA Contrast Fix Page Scope Fallback START === */

body.page-id-3251 .sf-policy-cta h1,
body.page-id-3251 .sf-policy-cta h2,
body.page-id-3251 .sf-policy-cta h3,
body.page-id-3251 .sf-policy-cta .sf-policy-cta__title,
body.page-id-3251 .sf-policy-cta-title,
body.page-id-3255 .sf-policy-cta h1,
body.page-id-3255 .sf-policy-cta h2,
body.page-id-3255 .sf-policy-cta h3,
body.page-id-3255 .sf-policy-cta .sf-policy-cta__title,
body.page-id-3255 .sf-policy-cta-title {
  color: #fffaf3 !important;
}

body.page-id-3251 .sf-policy-cta p,
body.page-id-3251 .sf-policy-cta .sf-policy-cta__text,
body.page-id-3251 .sf-policy-cta-text,
body.page-id-3255 .sf-policy-cta p,
body.page-id-3255 .sf-policy-cta .sf-policy-cta__text,
body.page-id-3255 .sf-policy-cta-text {
  color: rgba(255, 250, 243, 0.78) !important;
}

body.page-id-3251 .sf-policy-cta .sf-policy-button,
body.page-id-3255 .sf-policy-cta .sf-policy-button {
  color: #211a16 !important;
}

/* === Spatial Flow Policy CTA Contrast Fix Page Scope Fallback END === */

/* === Spatial Flow Blog Nav Landing Pages START === */

.sf-journal-landing {
  background: var(--sf-bg);
}

.sf-blog-nav-hero {
  padding: 56px 0 26px;
}

.sf-blog-nav-hero__card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  gap: 28px;
  align-items: stretch;
  border-radius: 42px;
  background: #fffaf4;
  border: 1px solid rgba(31,25,22,.055);
  box-shadow: 0 22px 60px rgba(31,25,22,.075);
  padding: 36px;
}

.sf-blog-nav-hero--guides .sf-blog-nav-hero__card {
  background: #fff;
}

.sf-blog-nav-hero__copy {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sf-blog-nav-hero__copy h1 {
  margin: 18px 0 0;
  max-width: 760px;
  font-size: clamp(46px, 6vw, 80px);
  line-height: .97;
  letter-spacing: -.045em;
  font-weight: 680;
}

.sf-blog-nav-hero__copy p {
  margin: 22px 0 0;
  max-width: 680px;
  color: var(--sf-muted);
  font-size: 17px;
  line-height: 1.75;
}

.sf-blog-nav-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sf-blog-nav-panel {
  min-height: 360px;
  border-radius: 34px;
  background: #1f1916;
  color: #fffaf3;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(255,255,255,.08);
}

.sf-blog-nav-panel__mark {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.68);
  font-family: Georgia, serif;
  font-size: 34px;
  line-height: 1;
}

.sf-blog-nav-panel h2 {
  margin: 0;
  color: #fffaf3;
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.sf-blog-nav-panel p {
  margin: 14px 0 0;
  color: rgba(255,250,243,.68);
  line-height: 1.72;
}

.sf-blog-nav-section {
  padding: 34px 0 58px;
}

.sf-blog-nav-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.sf-blog-nav-section__head span {
  display: block;
  color: rgba(31,25,22,.42);
  letter-spacing: .26em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.sf-blog-nav-section__head h2 {
  margin: 10px 0 0;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.05;
  letter-spacing: -.03em;
}

.sf-blog-nav-section__head p {
  max-width: 540px;
  margin: 0;
  color: var(--sf-muted);
  line-height: 1.72;
}

.sf-blog-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sf-blog-category-card,
.sf-blog-guide-card,
.sf-blog-pathway-card,
.sf-blog-feature-item {
  border: 1px solid rgba(31,25,22,.055);
  background: #fff;
  box-shadow: 0 14px 38px rgba(31,25,22,.055);
}

.sf-blog-category-card {
  min-height: 230px;
  border-radius: 30px;
  padding: 23px;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: .2s ease;
}

.sf-blog-category-card:hover,
.sf-blog-guide-card:hover,
.sf-blog-pathway-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(31,25,22,.095);
}

.sf-blog-category-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.sf-blog-category-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 20px;
  background: var(--sf-bg);
  display: grid;
  place-items: center;
  color: rgba(31,25,22,.55);
  font-family: Georgia, serif;
  font-size: 25px;
}

.sf-blog-category-card__count {
  border-radius: 999px;
  background: var(--sf-bg);
  padding: 7px 11px;
  color: rgba(31,25,22,.56);
  font-size: 12px;
  white-space: nowrap;
}

.sf-blog-category-card h3 {
  margin: 22px 0 0;
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.sf-blog-category-card p {
  margin: 11px 0 0;
  color: var(--sf-muted);
  font-size: 14px;
  line-height: 1.7;
}

.sf-blog-card-link {
  display: inline-flex;
  width: fit-content;
  margin-top: 20px;
  color: var(--sf-ink);
  font-size: 13px;
  font-weight: 700;
}

.sf-blog-feature-band {
  margin-top: 26px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(31,25,22,.055);
  box-shadow: 0 14px 38px rgba(31,25,22,.045);
  padding: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sf-blog-feature-item {
  border-radius: 26px;
  background: var(--sf-bg);
  padding: 20px;
  box-shadow: none;
}

.sf-blog-feature-item strong {
  display: block;
  font-size: 17px;
}

.sf-blog-feature-item span {
  display: block;
  margin-top: 7px;
  color: var(--sf-muted);
  font-size: 13px;
  line-height: 1.62;
}

.sf-blog-nav-empty {
  border-radius: 28px;
  background: #fff;
  padding: 26px;
  color: var(--sf-muted);
}

.sf-blog-guide-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .82fr);
  gap: 18px;
}

.sf-blog-guide-stack {
  display: grid;
  gap: 18px;
}

.sf-blog-guide-card {
  min-height: 230px;
  border-radius: 30px;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  overflow: hidden;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  transition: .2s ease;
}

.sf-blog-guide-card--large {
  min-height: 478px;
  grid-template-columns: 1fr;
}

.sf-blog-guide-card--text-only {
  grid-template-columns: 1fr;
}

.sf-blog-guide-card__image {
  display: block;
  min-height: 100%;
  background: var(--sf-soft);
}

.sf-blog-guide-card__image img {
  width: 100%;
  height: 100%;
  min-height: 230px;
  object-fit: cover;
  display: block;
}

.sf-blog-guide-card--large .sf-blog-guide-card__image img {
  min-height: 260px;
}

.sf-blog-guide-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sf-blog-guide-card small {
  color: rgba(31,25,22,.42);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

.sf-blog-guide-card strong {
  display: block;
  margin-top: 12px;
  font-size: 23px;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.sf-blog-guide-card--large strong {
  max-width: 700px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
}

.sf-blog-guide-card em {
  display: block;
  margin-top: 12px;
  color: var(--sf-muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.68;
}

.sf-blog-pathway-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.sf-blog-pathway-card {
  border-radius: 28px;
  padding: 22px;
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  min-height: 214px;
  transition: .2s ease;
}

.sf-blog-pathway-card small {
  color: rgba(31,25,22,.38);
  font-weight: 700;
}

.sf-blog-pathway-card strong {
  display: block;
  margin-top: 34px;
  font-size: 20px;
  line-height: 1.18;
}

.sf-blog-pathway-card p {
  margin: 10px 0 0;
  color: var(--sf-muted);
  font-size: 13px;
  line-height: 1.65;
}

.sf-blog-index-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 4px 0 58px;
  border-radius: 34px;
  background: #1f1916;
  color: #fffaf3;
  padding: 30px;
}

.sf-blog-index-cta h2 {
  margin: 0;
  color: #fffaf3;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
}

.sf-blog-index-cta p {
  margin: 10px 0 0;
  max-width: 620px;
  color: rgba(255,250,243,.68);
  line-height: 1.68;
}

.sf-blog-index-cta .sf-btn {
  flex: 0 0 auto;
}

@media (max-width: 1024px) {
  .sf-blog-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sf-blog-guide-feature,
  .sf-blog-pathway-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sf-blog-nav-hero {
    padding: 34px 0 18px;
  }

  .sf-blog-nav-hero__card,
  .sf-blog-nav-section__head,
  .sf-blog-guide-feature,
  .sf-blog-index-cta {
    display: block;
  }

  .sf-blog-nav-hero__card {
    padding: 22px;
    border-radius: 32px;
  }

  .sf-blog-nav-hero__copy {
    min-height: 0;
  }

  .sf-blog-nav-hero__copy h1 {
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -.02em;
  }

  .sf-blog-nav-hero__copy p {
    font-size: 15px;
  }

  .sf-blog-nav-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sf-blog-nav-panel {
    min-height: 0;
    margin-top: 22px;
    padding: 22px;
    border-radius: 26px;
    gap: 38px;
  }

  .sf-blog-nav-panel__mark {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    font-size: 28px;
  }

  .sf-blog-nav-panel h2 {
    font-size: 26px;
  }

  .sf-blog-nav-section {
    padding: 28px 0 42px;
  }

  .sf-blog-nav-section__head p {
    margin-top: 14px;
  }

  .sf-blog-category-grid,
  .sf-blog-feature-band,
  .sf-blog-pathway-grid {
    grid-template-columns: 1fr;
  }

  .sf-blog-category-card,
  .sf-blog-pathway-card {
    min-height: 0;
    border-radius: 24px;
  }

  .sf-blog-guide-stack {
    margin-top: 16px;
  }

  .sf-blog-guide-card,
  .sf-blog-guide-card--large {
    min-height: 0;
    grid-template-columns: 1fr;
    border-radius: 24px;
  }

  .sf-blog-guide-card__image img,
  .sf-blog-guide-card--large .sf-blog-guide-card__image img {
    min-height: 210px;
    height: 210px;
  }

  .sf-blog-guide-card__body {
    padding: 20px;
  }

  .sf-blog-guide-card strong,
  .sf-blog-guide-card--large strong {
    font-size: 24px;
    line-height: 1.12;
  }

  .sf-blog-index-cta {
    margin-bottom: 42px;
    padding: 24px;
    border-radius: 28px;
  }

  .sf-blog-index-cta .sf-btn {
    margin-top: 18px;
    width: 100%;
  }
}

/* === Spatial Flow Blog Nav Landing Pages END === */


/* === Spatial Flow Step 2.7E: Journal Dispatch Contrast Fix START === */
.sf-journal-form h3,
.sf-journal-form h2,
.sf-journal-form .sf-journal-form__title {
  color: #fff !important;
}

.sf-journal-form span {
  color: rgba(255,255,255,.52) !important;
}

.sf-journal-form p {
  color: rgba(255,255,255,.72) !important;
}
/* === Spatial Flow Step 2.7E: Journal Dispatch Contrast Fix END === */


/* === Spatial Flow Step 3.0 Header / Footer Replica START === */
:root{
  --sf-v2-base:#f5f1e8;
  --sf-v2-card:#ece5d6;
  --sf-v2-ink:#2a241d;
  --sf-v2-soft:#5b524a;
  --sf-v2-paper:#f3eee4;
  --sf-v2-paper-in:#ebe4d6;
  --sf-v2-journal-ink:#1d1814;
  --sf-v2-journal-soft:#5a4f47;
  --sf-v2-journal-faint:#8a7d72;
  --sf-v2-clay:#a8745c;
  --sf-v2-clay-deep:#7d5440;
  --sf-v2-rule:rgba(29,24,20,.14);
}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.sf-v2-topbar{border-bottom:1px solid rgba(42,36,29,.1);background:var(--sf-v2-card);color:var(--sf-v2-soft);padding:8px 16px;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:1.45;}
.sf-v2-topbar--journal{background:#eee7dc;color:#62574e;border-color:rgba(120,113,108,.22);font-size:12px;letter-spacing:.16em;}
.sf-v2-header{position:sticky;top:0;z-index:60;border-bottom:1px solid rgba(42,36,29,.1);background:rgba(245,241,232,.95);backdrop-filter:blur(14px);}
.sf-v2-header--journal{background:rgba(247,243,236,.95);border-color:rgba(120,113,108,.22);}
.sf-v2-header .sf-container{width:min(1280px,calc(100% - 48px));}
.sf-v2-header-inner{min-height:76px;padding-top:0;padding-bottom:0;}
.sf-v2-logo{color:var(--sf-v2-ink)!important;text-decoration:none!important;}
.sf-v2-header--main .sf-v2-logo strong{display:block;margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;font-weight:500;letter-spacing:.06em;text-transform:none;line-height:1;}
.sf-v2-header--main .sf-v2-logo span{display:none;}
.sf-v2-header--journal .sf-v2-logo{display:flex;flex-direction:column;line-height:1;}
.sf-v2-header--journal .sf-v2-logo span{display:block;color:#78716c;font-size:10px;letter-spacing:.28em;text-transform:uppercase;}
.sf-v2-header--journal .sf-v2-logo strong{display:block;margin-top:5px;font-family:"Cormorant Garamond",Georgia,serif;font-size:21px;font-weight:600;letter-spacing:.14em;color:#1c1917;}
.sf-v2-primary-menu{display:flex;align-items:center;gap:36px;list-style:none;margin:0;padding:0;}
.sf-v2-primary-menu>.menu-item{padding:0;}
.sf-v2-primary-menu a{color:var(--sf-v2-soft)!important;text-decoration:none!important;font-size:14px;font-weight:400;letter-spacing:.08em;transition:.2s ease;}
.sf-v2-header--journal .sf-v2-primary-menu a{color:#44403c!important;letter-spacing:.12em;}
.sf-v2-primary-menu a:hover{color:var(--sf-v2-ink)!important;}
.sf-v2-header-actions{position:relative;display:flex;align-items:center;gap:4px;color:var(--sf-v2-soft);}
.sf-v2-icon-button,.sf-v2-bag-link,.sf-v2-mobile-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:currentColor!important;text-decoration:none!important;padding:0;transition:.2s ease;}
.sf-v2-icon-button:hover,.sf-v2-bag-link:hover,.sf-v2-mobile-toggle:hover{background:var(--sf-v2-card);color:var(--sf-v2-ink)!important;}
.sf-v2-header--journal .sf-v2-icon-button:hover,.sf-v2-header--journal .sf-v2-mobile-toggle:hover{background:#ebe4d6;color:#1c1917!important;}
.sf-v2-icon-button svg,.sf-v2-bag-link svg,.sf-v2-mobile-toggle svg{width:16px;height:16px;display:block;stroke:currentColor;fill:none;}
.sf-v2-bag-link{width:auto;gap:6px;padding:0 9px;}
.sf-v2-bag-link span{font-size:12px;line-height:1;}
.sf-v2-visit-shop{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;border:1px solid #d6d3d1;border-radius:999px;background:transparent;color:#44403c!important;text-decoration:none!important;padding:0 16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:.2s ease;}
.sf-v2-visit-shop:hover{border-color:#1c1917;color:#1c1917!important;background:transparent;}
.sf-v2-header .sf-header-search-panel{position:absolute;right:0;top:calc(100% + 14px);width:min(420px,calc(100vw - 32px));border:1px solid rgba(42,36,29,.1);border-radius:24px;background:#fff;padding:14px;box-shadow:0 22px 60px rgba(31,25,22,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:.18s ease;}
.sf-v2-header .sf-header-search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.sf-v2-header .sf-header-search-panel form{display:flex;gap:10px;}
.sf-v2-header .sf-header-search-panel input[type="search"]{min-height:44px;border:1px solid rgba(42,36,29,.15);border-radius:999px;background:#fff;padding:0 16px;outline:none;flex:1;}
.sf-v2-header .sf-header-search-panel button[type="submit"]{min-height:44px;border:0;border-radius:999px;background:var(--sf-v2-ink);color:var(--sf-v2-base);padding:0 18px;}
.sf-v2-footer{border-top:1px solid rgba(42,36,29,.1);background:var(--sf-v2-card);color:var(--sf-v2-ink);padding:0;}
.sf-v2-footer-shell{width:min(1280px,calc(100% - 48px));margin:0 auto;}
.sf-v2-footer-main-columns{border-bottom:1px solid rgba(42,36,29,.1);}
.sf-v2-footer-grid--main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;padding:56px 0;}
.sf-v2-footer-title{width:100%;border:0;background:transparent;padding:0;text-align:left;color:var(--sf-v2-ink);font-size:11px;font-weight:650;letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;}
.sf-v2-footer-content{display:block;margin-top:20px;}
.sf-v2-footer-links,.sf-v2-legal-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.sf-v2-footer-links a,.sf-v2-legal-menu a{position:relative;color:var(--sf-v2-soft)!important;text-decoration:none!important;font-size:14px;line-height:1.4;transition:.2s ease;}
.sf-v2-footer-links a:after,.sf-v2-legal-menu a:after,.quiet-link:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:currentColor;transition:width .35s ease;}
.sf-v2-footer-links a:hover,.sf-v2-legal-menu a:hover{color:var(--sf-v2-ink)!important;}
.sf-v2-footer-links a:hover:after,.sf-v2-legal-menu a:hover:after,.quiet-link:hover:after{width:100%;}
.sf-v2-trust-section{padding:48px 0;}
.sf-v2-trust-card{overflow:hidden;border:1px solid rgba(42,36,29,.1);border-radius:24px;background:var(--sf-v2-base);display:grid;grid-template-columns:.7fr 1.3fr;}
.sf-v2-trust-intro{padding:28px;border-right:1px solid rgba(42,36,29,.1);}
.sf-v2-trust-intro p,.sf-v2-journal-note p,.sf-v2-journal-shop-cta p{margin:0;color:var(--sf-v2-soft);font-size:11px;font-weight:650;letter-spacing:.24em;text-transform:uppercase;}
.sf-v2-trust-intro h3{margin:16px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:500;line-height:1.1;color:var(--sf-v2-ink);}
.sf-v2-trust-intro span{display:block;margin-top:16px;color:var(--sf-v2-soft);font-size:14px;line-height:1.75;}
.sf-v2-trust-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.sf-v2-trust-item{padding:28px;border-left:1px solid rgba(42,36,29,.1);}
.sf-v2-trust-item:first-child{border-left:0;}
.sf-v2-trust-item svg{width:22px;height:22px;color:var(--sf-v2-ink);}
.sf-v2-trust-item h4{margin:20px 0 0;color:var(--sf-v2-ink);font-size:14px;font-weight:650;letter-spacing:.04em;}
.sf-v2-trust-item p{margin:8px 0 0;color:var(--sf-v2-soft);font-size:14px;line-height:1.65;}
.sf-v2-legal-section{border-top:1px solid rgba(42,36,29,.1);}
.sf-v2-legal-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;}
.sf-v2-region-copy{display:flex;flex-wrap:wrap;align-items:center;gap:16px;color:var(--sf-v2-soft);font-size:11px;}
.sf-v2-region-copy button{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(42,36,29,.15);border-radius:999px;background:var(--sf-v2-base);color:var(--sf-v2-soft);padding:7px 12px;transition:.2s ease;}
.sf-v2-region-copy button:hover{border-color:rgba(42,36,29,.4);color:var(--sf-v2-ink);}
.sf-v2-region-copy svg,.sf-v2-social-links svg{width:16px;height:16px;}
.sf-v2-legal-menu{flex-direction:row;flex-wrap:wrap;gap:10px 20px;}
.sf-v2-legal-menu a{font-size:11px;}
.sf-v2-social-links{display:flex;align-items:center;gap:8px;color:var(--sf-v2-soft);}
.sf-v2-social-links a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;color:inherit!important;text-decoration:none!important;transition:.2s ease;}
.sf-v2-social-links a:hover{background:var(--sf-v2-base);color:var(--sf-v2-ink)!important;}
.sf-v2-footer--journal{background:rgba(235,228,214,.4);border-color:var(--sf-v2-rule);color:var(--sf-v2-journal-ink);}
.sf-v2-journal-footer-main{padding:56px 0;}
.sf-v2-journal-footer-grid{display:grid;grid-template-columns:1.2fr .9fr .95fr 1fr;gap:48px;}
.sf-v2-journal-note blockquote{margin:20px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;font-style:italic;font-weight:500;line-height:1.18;color:var(--sf-v2-journal-ink);}
.sf-v2-journal-note span{display:block;margin-top:20px;color:var(--sf-v2-journal-faint);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;}
.sf-v2-footer--journal .sf-v2-footer-title{color:var(--sf-v2-journal-soft);font-size:11px;letter-spacing:.22em;font-variant:small-caps;text-transform:none;}
.sf-v2-footer--journal .sf-v2-footer-links a{color:var(--sf-v2-journal-soft)!important;}
.sf-v2-footer--journal .sf-v2-footer-content--serif .sf-v2-footer-links a{font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;font-style:italic;color:rgba(29,24,20,.85)!important;}
.sf-v2-footer--journal .sf-v2-footer-links a:hover,.sf-v2-footer--journal .sf-v2-legal-menu a:hover{color:var(--sf-v2-clay)!important;}
.sf-v2-journal-shop-cta{margin-top:28px;border-top:1px solid var(--sf-v2-rule);padding-top:24px;}
.sf-v2-journal-shop-cta a{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;font-style:italic;color:var(--sf-v2-clay)!important;text-decoration:none!important;}
.sf-v2-journal-shop-cta a:hover{color:var(--sf-v2-clay-deep)!important;}
.sf-v2-journal-shop-cta svg{width:14px;height:14px;}
.sf-v2-journal-colophon{border-top:1px solid var(--sf-v2-rule);}
.sf-v2-journal-colophon-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;}
.sf-v2-journal-colophon p{margin:0;color:var(--sf-v2-journal-faint);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;}
.sf-v2-footer--journal .sf-v2-social-links a:hover{background:var(--sf-v2-paper-in);}
@media(max-width:1024px){
  .sf-v2-primary-menu{gap:22px;}
  .sf-v2-footer-grid--main{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sf-v2-trust-card{grid-template-columns:1fr;}
  .sf-v2-trust-intro{border-right:0;border-bottom:1px solid rgba(42,36,29,.1);}
  .sf-v2-journal-footer-grid{grid-template-columns:1fr 1fr;}
  .sf-v2-legal-row,.sf-v2-journal-colophon-row{align-items:flex-start;flex-direction:column;}
}
@media(max-width:767px){
  .sf-v2-header .sf-container,.sf-v2-footer-shell{width:min(100% - 32px,1280px);}
  .sf-v2-header-inner{min-height:68px;}
  .sf-v2-nav{display:none;}
  .sf-v2-account-link,.sf-v2-saved-link,.sf-v2-visit-shop{display:none!important;}
  .sf-v2-mobile-toggle{display:inline-flex!important;}
  .sf-v2-header--main .sf-v2-logo strong{font-size:25px;}
  .sf-v2-header--journal .sf-v2-logo strong{font-size:19px;}
  .sf-v2-footer-grid--main,.sf-v2-journal-footer-grid{display:block;padding:0;}
  .sf-v2-footer-main-columns,.sf-v2-journal-footer-main{padding:18px 0;border-bottom:1px solid rgba(42,36,29,.1);}
  .sf-v2-footer-group,.sf-v2-journal-note{border-top:1px solid rgba(42,36,29,.12);padding:18px 0;}
  .sf-v2-journal-note{border-top:0;padding-top:16px;padding-bottom:24px;}
  .sf-v2-journal-note blockquote{font-size:25px;}
  .sf-v2-footer-content{display:none;margin-top:16px;}
  .sf-v2-footer-group.is-open .sf-v2-footer-content{display:block;}
  .sf-v2-trust-section{padding:28px 0;}
  .sf-v2-trust-card{border-radius:22px;}
  .sf-v2-trust-items{grid-template-columns:1fr;}
  .sf-v2-trust-item{border-left:0;border-top:1px solid rgba(42,36,29,.1);}
  .sf-v2-legal-row,.sf-v2-journal-colophon-row{padding:24px 0;align-items:center;text-align:center;}
  .sf-v2-region-copy,.sf-v2-legal-menu,.sf-v2-social-links{justify-content:center;}
  .sf-v2-journal-colophon p{text-align:center;line-height:1.8;}
}
/* === Spatial Flow Step 3.0 Header / Footer Replica END === */

/* Step 3.1B v2 — Footer Subtle Integration
   Purpose: reduce the pasted-on feeling without adding visible gradients or artificial transition bands.
   Scope: CSS-only. No PHP/JS/Header/Menu changes.
   Notes:
   - v1 used a pseudo-element gradient above the footer, which can feel strange on long pages.
   - v2 removes that visual band and only softens spacing, borders, and background continuity.
*/

/* Remove any previous footer transition overlays if v1 was applied locally. */
.sf-v2-footer::before,
.sf-footer-v2::before,
.sf-footer::before {
  content: none !important;
  display: none !important;
}

/* Main V2 footer: keep the new footer, but make the top edge quieter. */
.sf-v2-footer {
  margin-top: 0 !important;
  border-top-color: rgba(31, 25, 22, 0.055) !important;
  background: #e9e2d2 !important;
}

/* Main footer sections: reduce hard line contrast between footer blocks. */
.sf-v2-footer .sf-v2-footer-columns,
.sf-v2-footer .sf-v2-trust-section,
.sf-v2-footer .sf-v2-footer-bottom,
.sf-v2-footer .sf-v2-footer-legal {
  border-color: rgba(31, 25, 22, 0.065) !important;
}

/* Trust panel: soften the inserted-card feeling without changing layout. */
.sf-v2-trust-panel,
.sf-v2-trust-card,
.sf-v2-trust-section .sf-v2-trust-inner {
  box-shadow: 0 14px 34px rgba(31, 25, 22, 0.04) !important;
}

/* If the product/newsletter CTA sits directly before the footer, make the handoff calmer. */
.sf-contact-band {
  padding-bottom: 44px !important;
}

/* Blog footer: keep the editorial footer, but avoid a hard cut after From Reading To Action. */
.sf-v2-footer--journal {
  margin-top: 0 !important;
  border-top-color: rgba(29, 24, 20, 0.055) !important;
  background: rgba(235, 228, 214, 0.52) !important;
}

/* Blog dispatch already acts as the transition block, so do not add another visible band. */
.sf-journal-dispatch {
  padding-bottom: 52px !important;
}

/* Mobile: keep spacing modest. */
@media (max-width: 767px) {
  .sf-contact-band {
    padding-bottom: 32px !important;
  }

  .sf-journal-dispatch {
    padding-bottom: 36px !important;
  }

  .sf-v2-footer,
  .sf-v2-footer--journal {
    border-top-color: rgba(31, 25, 22, 0.06) !important;
  }
}

/* Step 3.1B v3 — Footer Column Alignment
   Purpose:
   Align the new Footer V2 text/link columns with the main page content width.
   This fixes the feeling that the footer columns sit too far left compared with
   the block above the footer.

   Scope:
   CSS-only. No PHP/JS/Header/Menu/Customizer changes.
*/

/* Match the footer content shell to the main site content system. */
.sf-v2-footer-shell {
  width: min(1180px, calc(100% - 48px)) !important;
}

/* Keep the main footer columns visually centered within that shell. */
.sf-v2-footer-grid--main {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Blog footer uses the same shell width so it aligns with the dispatch card above. */
.sf-v2-footer--journal .sf-v2-footer-shell {
  width: min(1180px, calc(100% - 48px)) !important;
}

/* The journal footer columns should also feel centered as one editorial block. */
.sf-v2-journal-footer-grid {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile keeps the existing narrow rhythm. */
@media (max-width: 767px) {
  .sf-v2-footer-shell,
  .sf-v2-footer--journal .sf-v2-footer-shell {
    width: min(100% - 32px, 1180px) !important;
  }
}

/* Step 3.1B v4 — Footer Columns Visual Center
   Purpose:
   The footer columns were no longer overflowing left after v3, but the four-column
   text block still felt visually off-center. This version centers the column group
   itself instead of forcing it to occupy the full footer shell width.

   Scope:
   CSS-only. No PHP/JS/Header/Menu/Customizer changes.
*/

/* Main site: center the 4 footer link columns as a group. */
.sf-v2-footer-grid--main {
  max-width: 1060px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  column-gap: clamp(34px, 5vw, 76px) !important;
}

/* Make each footer column use a controlled width so the group feels centered. */
.sf-v2-footer-grid--main > * {
  min-width: 0;
}

/* If the main footer uses a CSS grid, let columns size naturally within the centered group. */
@media (min-width: 1025px) {
  .sf-v2-footer-grid--main {
    grid-template-columns: repeat(4, minmax(150px, 220px)) !important;
  }
}

/* Blog footer: center the editorial footer columns as one balanced group. */
.sf-v2-journal-footer-grid {
  max-width: 1060px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  column-gap: clamp(34px, 5vw, 76px) !important;
}

@media (min-width: 1025px) {
  .sf-v2-journal-footer-grid {
    grid-template-columns: minmax(260px, 360px) repeat(3, minmax(140px, 190px)) !important;
  }
}

/* Trust and legal rows should still align with the main content shell. */
.sf-v2-trust-section .sf-v2-footer-shell,
.sf-v2-footer-bottom .sf-v2-footer-shell,
.sf-v2-footer-legal .sf-v2-footer-shell {
  width: min(1180px, calc(100% - 48px)) !important;
}

/* Tablet and mobile: keep current stacked behavior and avoid cramped columns. */
@media (max-width: 1024px) {
  .sf-v2-footer-grid--main,
  .sf-v2-journal-footer-grid {
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
  }
}

@media (max-width: 767px) {
  .sf-v2-footer-grid--main,
  .sf-v2-journal-footer-grid {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
}

/* Step 3.1C v2 — Footer Final Tightening Corrected
   Purpose:
   1) Main site: only tighten the three trust cards / trust strip vertical spacing.
      Do NOT change footer menu column width, menu link gap, menu text spacing, or menu layout.
   2) Blog site: keep hiding the "Looking for objects?" CTA block.
   3) Desktop: footer column headings should not show hover / selected / clickable feedback.
   4) Mobile: keep footer headings clickable for accordion behavior.

   Scope:
   CSS-only. No PHP/JS/Header/Menu/Customizer/WooCommerce changes.
*/

/* 1. Main site trust strip: tighten vertical spacing only. */
.sf-v2-trust-section {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.sf-v2-trust-intro {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.sf-v2-trust-item {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.sf-v2-trust-item h4 {
  margin-top: 12px !important;
}

.sf-v2-trust-item p {
  margin-top: 6px !important;
  line-height: 1.48 !important;
}

.sf-v2-trust-item svg {
  width: 20px !important;
  height: 20px !important;
}

.sf-v2-trust-intro h3 {
  margin-top: 10px !important;
}

.sf-v2-trust-intro span {
  margin-top: 10px !important;
  line-height: 1.55 !important;
}

/* 2. Blog footer: hide the "Looking for objects?" CTA block. */
.sf-v2-journal-shop-cta {
  display: none !important;
}

/* 3. Desktop footer headings: remove hover / selected / clickable feedback.
   Do not touch actual menu links. */
@media (min-width: 768px) {
  .sf-v2-footer-title {
    cursor: default !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .sf-v2-footer-title:hover,
  .sf-v2-footer-title:focus,
  .sf-v2-footer-title:active {
    cursor: default !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  .sf-v2-footer:not(.sf-v2-footer--journal) .sf-v2-footer-title,
  .sf-v2-footer:not(.sf-v2-footer--journal) .sf-v2-footer-title:hover,
  .sf-v2-footer:not(.sf-v2-footer--journal) .sf-v2-footer-title:focus,
  .sf-v2-footer:not(.sf-v2-footer--journal) .sf-v2-footer-title:active {
    color: var(--sf-v2-ink) !important;
  }

  .sf-v2-footer--journal .sf-v2-footer-title,
  .sf-v2-footer--journal .sf-v2-footer-title:hover,
  .sf-v2-footer--journal .sf-v2-footer-title:focus,
  .sf-v2-footer--journal .sf-v2-footer-title:active {
    color: var(--sf-v2-journal-soft) !important;
  }
}

/* 4. Mobile: keep title tap behavior for accordion. */
@media (max-width: 767px) {
  .sf-v2-footer-title {
    cursor: pointer !important;
    pointer-events: auto !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .sf-v2-trust-section {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .sf-v2-trust-intro,
  .sf-v2-trust-item {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
}

/* Step 4B-1 — Journal Dispatch Modal Close Button Alignment Fix
   Purpose:
   Fix the visually crooked / off-center × close button in the Journal Dispatch modal.

   Scope:
   CSS-only. No JS/PHP/Header/Footer/WooCommerce changes.
*/

/* The modal close button is created by spatial-flow.js as:
   <button class="sf-journal-modal__close">×</button>
   Use a pseudo-element to center the glyph consistently across browsers/fonts.
*/
.sf-journal-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(31, 25, 22, 0.04) !important;
  color: rgba(31, 25, 22, 0.72) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  text-align: center !important;
  cursor: pointer;
  transform: none !important;
  appearance: none;
  -webkit-appearance: none;
}

.sf-journal-modal__close::before {
  content: "×";
  display: block;
  width: 28px;
  height: 28px;
  font-size: 18px;
  line-height: 27px;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  transform: translateY(-0.5px);
}

.sf-journal-modal__close:hover,
.sf-journal-modal__close:focus {
  background: rgba(31, 25, 22, 0.08) !important;
  color: rgba(31, 25, 22, 0.92) !important;
  outline: none !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .sf-journal-modal__close {
    top: 14px !important;
    right: 14px !important;
  }
}

/* Step 5A-4B — Policy CTA + Footer Region Static Fix
   Scope:
   1) Fix Privacy Policy bottom CTA button text contrast.
   2) Make footer region / currency / language label look static, not clickable.
   CSS-only plus footer.php semantic markup adjustment.
*/

/* Policy CTA button: force readable dark text on light pill across Privacy / Terms / policy pages.
   This protects against Astra/global link styles overriding the policy button color. */
.sf-policy-cta .sf-policy-button,
.sf-policy-cta a.sf-policy-button,
.entry-content .sf-policy-cta .sf-policy-button,
.entry-content .sf-policy-cta a.sf-policy-button,
body.page .entry-content .sf-policy-cta a.sf-policy-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-height: 48px !important;
  color: #211a16 !important;
  background: #fff7ef !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 999px !important;
  padding: 15px 24px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.sf-policy-cta .sf-policy-button:visited,
.sf-policy-cta .sf-policy-button:hover,
.sf-policy-cta .sf-policy-button:focus,
.sf-policy-cta a.sf-policy-button:visited,
.sf-policy-cta a.sf-policy-button:hover,
.sf-policy-cta a.sf-policy-button:focus,
.entry-content .sf-policy-cta a.sf-policy-button:visited,
.entry-content .sf-policy-cta a.sf-policy-button:hover,
.entry-content .sf-policy-cta a.sf-policy-button:focus {
  color: #211a16 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

/* Privacy page source may wrap the CTA link in a paragraph.
   Keep spacing stable even when WP auto-wraps the anchor. */
.sf-policy-cta > p:has(.sf-policy-button) {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* Footer region/currency/language badge:
   It is currently informational only, so it should not look like a working selector. */
.sf-v2-region-copy .sf-v2-region-static {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(42,36,29,.12);
  border-radius: 999px;
  background: rgba(245,241,232,.62);
  color: var(--sf-v2-soft);
  padding: 7px 12px;
  cursor: default;
  user-select: none;
  pointer-events: none;
}

.sf-v2-region-copy .sf-v2-region-static svg {
  width: 16px;
  height: 16px;
  opacity: .72;
}

/* Remove old hover affordance when older markup or cached button markup still appears. */
.sf-v2-region-copy button {
  cursor: default !important;
}

.sf-v2-region-copy button:hover {
  border-color: rgba(42,36,29,.15) !important;
  color: var(--sf-v2-soft) !important;
}

/* Step 5A-4C-R — Basic Pages Template Rebuild */

.sf-basic-page {
  --sf-basic-bg: #f6f1eb;
  --sf-basic-ink: #1f1916;
  --sf-basic-muted: rgba(31, 25, 22, .62);
  --sf-basic-line: rgba(31, 25, 22, .08);
  --sf-basic-card: #fffaf4;
  --sf-basic-soft: #ede7df;
  background: var(--sf-basic-bg);
  color: var(--sf-basic-ink);
  overflow-x: hidden;
  padding: 48px 0 74px;
}

.sf-basic-page *,
.sf-basic-page *::before,
.sf-basic-page *::after {
  box-sizing: border-box;
}

.sf-basic-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.sf-basic-hero {
  width: min(1280px, calc(100% - 64px));
}

.sf-basic-section {
  padding: 34px 0;
}

.sf-basic-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
  gap: 28px;
  align-items: stretch;
  border: 1px solid var(--sf-basic-line);
  border-radius: 42px;
  background: var(--sf-basic-card);
  box-shadow: 0 22px 60px rgba(31, 25, 22, .075);
  padding: 36px;
}

.sf-basic-hero-card--journal {
  background: #fff;
}

.sf-basic-hero-copy {
  min-height: 370px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sf-basic-eyebrow {
  display: inline-flex;
  width: fit-content;
  color: rgba(31, 25, 22, .44);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .28em;
  line-height: 1.2;
  text-transform: uppercase;
}

.sf-basic-hero h1,
.sf-basic-section-head h2,
.sf-basic-split h2,
.sf-basic-band h2,
.sf-basic-cta h2 {
  margin: 16px 0 0;
  color: var(--sf-basic-ink);
  font-weight: 680;
  letter-spacing: -.045em;
  line-height: .98;
}

.sf-basic-hero h1 {
  max-width: 760px;
  font-size: clamp(48px, 6vw, 82px);
}

.sf-basic-hero p,
.sf-basic-section-head p,
.sf-basic-card p,
.sf-basic-split p,
.sf-basic-band p,
.sf-basic-cta p,
.sf-basic-note-card li,
.sf-basic-mini-grid span {
  color: var(--sf-basic-muted);
  font-size: 16px;
  line-height: 1.74;
}

.sf-basic-hero p {
  max-width: 640px;
  margin: 22px 0 0;
  font-size: 17px;
}

.sf-basic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sf-basic-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border: 1px solid var(--sf-basic-line);
  border-radius: 999px;
  padding: 0 22px;
  color: var(--sf-basic-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.sf-basic-button:hover {
  transform: translateY(-1px);
}

.sf-basic-button--dark {
  background: var(--sf-basic-ink);
  border-color: var(--sf-basic-ink);
  color: #fff !important;
}

.sf-basic-button--light {
  background: #fff;
  color: var(--sf-basic-ink) !important;
}

.sf-basic-button--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, .34);
  color: #fffaf3 !important;
}

.sf-basic-note-card {
  min-height: 370px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 34px;
  background: #1f1916;
  color: #fffaf3;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sf-basic-note-card > span {
  color: rgba(255, 250, 243, .5);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.sf-basic-note-card strong {
  display: block;
  margin-top: auto;
  color: #fffaf3;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.sf-basic-note-card ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.sf-basic-note-card li {
  color: rgba(255, 250, 243, .7);
}

.sf-basic-section-head {
  max-width: 820px;
  margin: 0 0 26px;
}

.sf-basic-section-head h2,
.sf-basic-split h2,
.sf-basic-band h2,
.sf-basic-cta h2 {
  max-width: 760px;
  font-size: clamp(34px, 4vw, 56px);
}

.sf-basic-section-head p {
  max-width: 720px;
  margin: 18px 0 0;
}

.sf-basic-grid {
  display: grid;
  gap: 18px;
}

.sf-basic-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-basic-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-basic-card {
  min-height: 245px;
  border: 1px solid var(--sf-basic-line);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(31, 25, 22, .055);
  padding: 24px;
  display: flex;
  flex-direction: column;
}

.sf-basic-card--soft {
  background: rgba(255, 250, 244, .82);
}

.sf-basic-card > span {
  color: rgba(31, 25, 22, .44);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sf-basic-card h3 {
  margin: 16px 0 0;
  color: var(--sf-basic-ink);
  font-size: 22px;
  font-weight: 680;
  line-height: 1.18;
}

.sf-basic-card p {
  margin: auto 0 0;
  padding-top: 18px;
  font-size: 14.5px;
}

.sf-basic-split,
.sf-basic-band {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 28px;
  align-items: stretch;
  border: 1px solid var(--sf-basic-line);
  border-radius: 38px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(31, 25, 22, .06);
  padding: 36px;
}

.sf-basic-split-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sf-basic-split p,
.sf-basic-band p {
  margin: 18px 0 0;
}

.sf-basic-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sf-basic-mini-grid a {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--sf-basic-line);
  border-radius: 24px;
  background: var(--sf-basic-bg);
  color: var(--sf-basic-ink) !important;
  padding: 20px;
  text-decoration: none !important;
}

.sf-basic-mini-grid strong {
  color: var(--sf-basic-ink);
  font-size: 19px;
  line-height: 1.2;
}

.sf-basic-mini-grid span {
  display: block;
  margin-top: 18px;
  font-size: 14px;
}

.sf-basic-band {
  align-items: center;
}

.sf-basic-band--dark,
.sf-basic-cta {
  background: #1f1916;
  color: #fffaf3;
}

.sf-basic-band--dark .sf-basic-eyebrow,
.sf-basic-cta .sf-basic-eyebrow {
  color: rgba(255, 250, 243, .48);
}

.sf-basic-band--dark h2,
.sf-basic-band--dark p,
.sf-basic-cta h2,
.sf-basic-cta p {
  color: #fffaf3;
}

.sf-basic-band--dark p,
.sf-basic-cta p {
  color: rgba(255, 250, 243, .72);
}

.sf-basic-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.sf-basic-tags span {
  border: 1px solid rgba(31, 25, 22, .08);
  border-radius: 999px;
  background: var(--sf-basic-bg);
  color: rgba(31, 25, 22, .66);
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 800;
}

.sf-basic-band--dark .sf-basic-tags span {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 250, 243, .78);
}

.sf-basic-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  border-radius: 38px;
  padding: 38px;
}

.sf-basic-cta .sf-basic-actions {
  margin-top: 0;
  justify-content: flex-end;
}

.sf-about-journal-page .sf-journal-dispatch {
  padding-top: 22px;
}

@media (max-width: 1024px) {
  .sf-basic-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sf-basic-hero-card,
  .sf-basic-split,
  .sf-basic-band,
  .sf-basic-cta {
    grid-template-columns: 1fr;
  }

  .sf-basic-cta .sf-basic-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .sf-basic-page {
    padding: 32px 0 52px;
  }

  .sf-basic-shell,
  .sf-basic-hero {
    width: min(100% - 32px, 1180px);
  }

  .sf-basic-section {
    padding: 24px 0;
  }

  .sf-basic-hero-card,
  .sf-basic-split,
  .sf-basic-band,
  .sf-basic-cta {
    border-radius: 30px;
    padding: 22px;
  }

  .sf-basic-hero-copy,
  .sf-basic-note-card {
    min-height: auto;
  }

  .sf-basic-hero h1 {
    font-size: 43px;
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  .sf-basic-section-head h2,
  .sf-basic-split h2,
  .sf-basic-band h2,
  .sf-basic-cta h2 {
    font-size: 34px;
    line-height: 1.06;
    letter-spacing: -.025em;
  }

  .sf-basic-grid--four,
  .sf-basic-grid--three,
  .sf-basic-mini-grid {
    grid-template-columns: 1fr;
  }

  .sf-basic-card {
    min-height: auto;
    border-radius: 24px;
    padding: 20px;
  }

  .sf-basic-card p {
    margin-top: 0;
  }

  .sf-basic-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .sf-basic-button {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  .sf-basic-note-card {
    border-radius: 26px;
    padding: 22px;
  }

  .sf-basic-note-card strong {
    margin-top: 44px;
    font-size: 28px;
  }
}

/* Step 5B — Journal Dispatch Native Capture
   Keeps the existing Journal Dispatch visual system while adding real
   WordPress-native submission saving. Scoped to the dispatch form only. */
.sf-journal-form .sf-journal-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sf-journal-form.is-submitting {
  opacity: .86;
}

.sf-journal-form button[disabled] {
  cursor: wait;
  opacity: .72;
}

.sf-journal-form-status {
  min-height: 18px;
  margin: 0;
  color: rgba(255,255,255,.68) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.sf-journal-form-status.is-success {
  color: rgba(255,255,255,.76) !important;
}

.sf-journal-form-status.is-error {
  color: #ffd8d1 !important;
}

.sf-journal-modal__button {
  cursor: pointer;
}

@media (max-width: 767px) {
  .sf-journal-form-status {
    text-align: center;
  }
}


/* Step 5B-2 — Main Product Guidance Native Capture
   Adds real WordPress-native submission saving to the main-site Product Guidance / Join Us form.
   Scoped to Product Guidance only; Journal Dispatch remains separate. */
.sf-product-guidance-form {
  position: relative;
}

.sf-product-guidance-form .sf-product-guidance-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sf-product-guidance-form.is-submitting {
  opacity: .86;
}

.sf-product-guidance-form button[disabled] {
  cursor: wait;
  opacity: .72;
}

.sf-product-guidance-form-status {
  min-height: 18px;
  margin: 0;
  color: rgba(31,25,22,.58) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.sf-product-guidance-form-status.is-success {
  color: rgba(31,25,22,.66) !important;
}

.sf-product-guidance-form-status.is-error {
  color: #8f2d22 !important;
}

.sf-product-guidance-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.sf-product-guidance-modal.is-open {
  display: flex;
}

.sf-product-guidance-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(31,25,22,.42);
  backdrop-filter: blur(8px);
}

.sf-product-guidance-modal__dialog {
  position: relative;
  width: min(520px, 100%);
  border-radius: 34px;
  background: #fff;
  color: var(--sf-ink);
  padding: 34px;
  box-shadow: 0 30px 90px rgba(31,25,22,.22);
  border: 1px solid rgba(31,25,22,.08);
}

.sf-product-guidance-modal__dialog h3 {
  margin: 12px 0 0;
  font-family: Georgia, serif;
  font-size: clamp(32px, 5vw, 46px);
  line-height: 1;
  letter-spacing: -.04em;
}

.sf-product-guidance-modal__dialog p {
  margin: 16px 0 0;
  color: var(--sf-muted);
  line-height: 1.75;
}

.sf-product-guidance-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #f6f1eb;
  color: var(--sf-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.sf-product-guidance-modal__button {
  margin-top: 24px;
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 767px) {
  .sf-product-guidance-form-status {
    text-align: center;
  }

  .sf-product-guidance-modal__dialog {
    padding: 30px 24px 24px;
    border-radius: 28px;
  }
}

/* === Step 5B-2 HOTFIX 2: Product Guidance modal buttons alignment START ===
   Fixes the close × centering without shrinking the Done button.
   The previous broad data-attribute selector could affect both the close button and the Done button,
   because both are modal-close triggers. This version targets classes precisely. */
.sf-product-guidance-modal__close,
button.sf-product-guidance-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f6f1eb !important;
  color: var(--sf-ink) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.sf-product-guidance-modal__close::before,
.sf-product-guidance-modal__close::after,
button.sf-product-guidance-modal__close::before,
button.sf-product-guidance-modal__close::after {
  content: none !important;
  display: none !important;
}

.sf-product-guidance-modal__button,
button.sf-product-guidance-modal__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  padding: 15px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sf-ink) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}
/* === Step 5B-2 HOTFIX 2: Product Guidance modal buttons alignment END === */


/* === Spatial Flow Step 5B-3: Main Contact Us Native Capture START === */
.sf-main-contact-page {
  padding: 0 0 68px;
}

.sf-main-contact-hero {
  padding: clamp(42px, 6vw, 82px) 0 28px;
}

.sf-main-contact-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(24px, 4vw, 54px);
  align-items: stretch;
}

.sf-main-contact-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 40px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(31,25,22,.07);
  box-shadow: 0 14px 34px rgba(31,25,22,.055);
  padding: clamp(30px, 5vw, 58px);
}

.sf-main-contact-hero__copy h1 {
  margin: 14px 0 0;
  max-width: 760px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.sf-main-contact-hero__copy p {
  max-width: 640px;
  margin: 20px 0 0;
  color: var(--sf-muted);
  font-size: 16px;
  line-height: 1.8;
}

.sf-main-contact-hero__aside {
  display: grid;
  gap: 16px;
}

.sf-main-contact-path {
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(31,25,22,.065);
  box-shadow: 0 12px 30px rgba(31,25,22,.052);
  padding: 24px;
}

.sf-main-contact-path span {
  display: block;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 10px;
}

.sf-main-contact-path strong {
  display: block;
  margin-top: 10px;
  color: var(--sf-ink);
  font-size: 21px;
  line-height: 1.25;
}

.sf-main-contact-path p {
  margin: 10px 0 0;
  color: var(--sf-muted);
  font-size: 14px;
  line-height: 1.7;
}

.sf-main-contact-section {
  padding: 28px 0 0;
}

.sf-main-contact-panel {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(24px, 4vw, 46px);
  align-items: start;
  border-radius: 42px;
  background: var(--sf-soft);
  padding: clamp(26px, 4vw, 48px);
  box-shadow: 0 14px 34px rgba(31,25,22,.052);
}

.sf-main-contact-panel__copy h2 {
  margin: 12px 0 0;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-main-contact-panel__copy p {
  margin: 18px 0 0;
  max-width: 560px;
  color: var(--sf-muted);
  font-size: 16px;
  line-height: 1.8;
}

.sf-main-contact-mini {
  margin-top: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(31,25,22,.06);
  padding: 20px;
}

.sf-main-contact-mini strong,
.sf-main-contact-mini span {
  display: block;
}

.sf-main-contact-mini strong {
  color: var(--sf-ink);
  font-size: 16px;
}

.sf-main-contact-mini span {
  margin-top: 7px;
  color: var(--sf-muted);
  font-size: 14px;
  line-height: 1.65;
}

.sf-main-contact-form {
  display: grid;
  gap: 15px;
  border-radius: 32px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(31,25,22,.065);
  padding: clamp(22px, 3vw, 30px);
  box-shadow: 0 14px 34px rgba(31,25,22,.07);
}

.sf-main-contact-form__kicker,
.sf-main-contact-form label > span {
  display: block;
  color: rgba(31,25,22,.45);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 10px;
  line-height: 1.4;
}

.sf-main-contact-form label {
  display: grid;
  gap: 8px;
  margin: 0;
}

.sf-main-contact-form input,
.sf-main-contact-form select,
.sf-main-contact-form textarea {
  width: 100%;
  border: 1px solid rgba(31,25,22,.1);
  border-radius: 22px;
  background: #fff;
  color: var(--sf-ink);
  padding: 14px 17px;
  font-size: 15px;
  font-weight: 500;
  outline: none;
  box-shadow: none;
}

.sf-main-contact-form input,
.sf-main-contact-form select {
  min-height: 48px;
}

.sf-main-contact-form textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.65;
}

.sf-main-contact-form input:focus,
.sf-main-contact-form select:focus,
.sf-main-contact-form textarea:focus {
  border-color: rgba(31,25,22,.32);
  box-shadow: 0 0 0 3px rgba(31,25,22,.055);
}

.sf-main-contact-honeypot {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.sf-main-contact-note,
.sf-main-contact-form-status {
  margin: 0;
  color: rgba(31,25,22,.58);
  font-size: 12px;
  line-height: 1.6;
}

.sf-main-contact-form-status {
  min-height: 18px;
}

.sf-main-contact-form-status.is-success {
  color: rgba(31,25,22,.66);
}

.sf-main-contact-form-status.is-error {
  color: #8f2d22;
}

.sf-main-contact-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  padding: 15px 24px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
}

.sf-main-contact-form.is-submitting {
  opacity: .86;
}

.sf-main-contact-form button[disabled] {
  cursor: wait;
  opacity: .72;
}

.sf-main-contact-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.sf-main-contact-modal.is-open {
  display: flex;
}

.sf-main-contact-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(31,25,22,.42);
  backdrop-filter: blur(8px);
}

.sf-main-contact-modal__dialog {
  position: relative;
  width: min(540px, 100%);
  border-radius: 34px;
  background: #fff;
  color: var(--sf-ink);
  padding: 34px;
  box-shadow: 0 30px 90px rgba(31,25,22,.22);
  border: 1px solid rgba(31,25,22,.08);
}

.sf-main-contact-modal__dialog h3 {
  margin: 12px 0 0;
  font-family: Georgia, serif;
  font-size: clamp(32px, 5vw, 46px);
  line-height: 1;
  letter-spacing: -.04em;
}

.sf-main-contact-modal__dialog p {
  margin: 16px 0 0;
  color: var(--sf-muted);
  line-height: 1.75;
}

.sf-main-contact-modal__close,
button.sf-main-contact-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f6f1eb !important;
  color: var(--sf-ink) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.sf-main-contact-modal__close::before,
.sf-main-contact-modal__close::after,
button.sf-main-contact-modal__close::before,
button.sf-main-contact-modal__close::after {
  content: none !important;
  display: none !important;
}

.sf-main-contact-modal__button,
button.sf-main-contact-modal__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  padding: 15px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sf-ink) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

@media (max-width: 1024px) {
  .sf-main-contact-hero__grid,
  .sf-main-contact-panel {
    grid-template-columns: 1fr;
  }

  .sf-main-contact-hero__aside {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sf-main-contact-page {
    padding-bottom: 46px;
  }

  .sf-main-contact-hero {
    padding-top: 34px;
  }

  .sf-main-contact-hero__copy,
  .sf-main-contact-panel,
  .sf-main-contact-form {
    border-radius: 28px;
  }

  .sf-main-contact-hero__copy {
    padding: 26px;
  }

  .sf-main-contact-hero__copy h1,
  .sf-main-contact-panel__copy h2 {
    font-size: 38px;
    letter-spacing: -.02em;
  }

  .sf-main-contact-hero__aside {
    grid-template-columns: 1fr;
  }

  .sf-main-contact-panel {
    padding: 24px;
  }

  .sf-main-contact-form {
    padding: 22px;
  }

  .sf-main-contact-form button[type="submit"] {
    width: 100%;
  }

  .sf-main-contact-modal__dialog {
    padding: 30px 24px 24px;
    border-radius: 28px;
  }

  .sf-main-contact-modal__dialog h3 {
    font-size: 34px;
  }
}
/* === Spatial Flow Step 5B-3: Main Contact Us Native Capture END === */



/* === Spatial Flow Step 5B-4: Blog Contact / Contact the Editor Native Capture START === */
.sf-blog-contact-page {
  padding: 0 0 68px;
}

.sf-blog-contact-hero {
  padding: clamp(42px, 6vw, 82px) 0 28px;
}

.sf-blog-contact-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(24px, 4vw, 54px);
  align-items: stretch;
}

.sf-blog-contact-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 40px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(31,25,22,.07);
  box-shadow: 0 14px 34px rgba(31,25,22,.055);
  padding: clamp(30px, 5vw, 58px);
}

.sf-blog-contact-hero__copy h1 {
  margin: 14px 0 0;
  max-width: 780px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -.045em;
  color: var(--sf-ink);
  text-transform: none;
}

.sf-blog-contact-hero__copy p {
  max-width: 650px;
  margin: 20px 0 0;
  color: var(--sf-muted);
  font-size: 16px;
  line-height: 1.8;
}

.sf-blog-contact-hero__aside {
  display: grid;
  gap: 16px;
}

.sf-blog-contact-path {
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(31,25,22,.065);
  box-shadow: 0 12px 30px rgba(31,25,22,.052);
  padding: 24px;
}

.sf-blog-contact-path span {
  display: block;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 10px;
}

.sf-blog-contact-path strong {
  display: block;
  margin-top: 10px;
  color: var(--sf-ink);
  font-size: 21px;
  line-height: 1.25;
}

.sf-blog-contact-path p {
  margin: 10px 0 0;
  color: var(--sf-muted);
  font-size: 14px;
  line-height: 1.7;
}

.sf-blog-contact-section {
  padding: 28px 0 0;
}

.sf-blog-contact-panel {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(24px, 4vw, 46px);
  align-items: start;
  border-radius: 42px;
  background: var(--sf-soft);
  padding: clamp(26px, 4vw, 48px);
  box-shadow: 0 14px 34px rgba(31,25,22,.052);
}

.sf-blog-contact-panel__copy h2 {
  margin: 12px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.035em;
  color: var(--sf-ink);
  text-transform: none;
}

.sf-blog-contact-panel__copy p {
  margin: 18px 0 0;
  max-width: 560px;
  color: var(--sf-muted);
  font-size: 16px;
  line-height: 1.8;
}

.sf-blog-contact-mini {
  margin-top: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(31,25,22,.06);
  padding: 20px;
}

.sf-blog-contact-mini strong,
.sf-blog-contact-mini span,
.sf-blog-contact-mini a {
  display: block;
}

.sf-blog-contact-mini strong {
  color: var(--sf-ink);
  font-size: 16px;
}

.sf-blog-contact-mini span {
  margin-top: 7px;
  color: var(--sf-muted);
  font-size: 14px;
  line-height: 1.65;
}

.sf-blog-contact-mini a {
  width: fit-content;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff !important;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none !important;
  text-transform: uppercase;
}

.sf-blog-contact-form {
  display: grid;
  gap: 15px;
  border-radius: 32px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(31,25,22,.065);
  padding: clamp(22px, 3vw, 30px);
  box-shadow: 0 14px 34px rgba(31,25,22,.07);
}

.sf-blog-contact-form__kicker,
.sf-blog-contact-form label > span {
  display: block;
  color: rgba(31,25,22,.45);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 10px;
  line-height: 1.4;
}

.sf-blog-contact-form label {
  display: grid;
  gap: 8px;
  margin: 0;
}

.sf-blog-contact-form input,
.sf-blog-contact-form select,
.sf-blog-contact-form textarea {
  width: 100%;
  border: 1px solid rgba(31,25,22,.1);
  border-radius: 22px;
  background: #fff;
  color: var(--sf-ink);
  padding: 14px 17px;
  font-size: 15px;
  font-weight: 500;
  outline: none;
  box-shadow: none;
}

.sf-blog-contact-form input,
.sf-blog-contact-form select {
  min-height: 48px;
}

.sf-blog-contact-form textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.65;
}

.sf-blog-contact-form input:focus,
.sf-blog-contact-form select:focus,
.sf-blog-contact-form textarea:focus {
  border-color: rgba(31,25,22,.32);
  box-shadow: 0 0 0 3px rgba(31,25,22,.055);
}

.sf-blog-contact-honeypot {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.sf-blog-contact-note,
.sf-blog-contact-form-status {
  margin: 0;
  color: rgba(31,25,22,.58);
  font-size: 12px;
  line-height: 1.6;
}

.sf-blog-contact-form-status {
  min-height: 18px;
}

.sf-blog-contact-form-status.is-success {
  color: rgba(31,25,22,.66);
}

.sf-blog-contact-form-status.is-error {
  color: #8f2d22;
}

.sf-blog-contact-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  padding: 15px 24px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
}

.sf-blog-contact-form.is-submitting {
  opacity: .86;
}

.sf-blog-contact-form button[disabled] {
  cursor: wait;
  opacity: .72;
}

.sf-blog-contact-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.sf-blog-contact-modal.is-open {
  display: flex;
}

.sf-blog-contact-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(31,25,22,.42);
  backdrop-filter: blur(8px);
}

.sf-blog-contact-modal__dialog {
  position: relative;
  width: min(540px, 100%);
  border-radius: 34px;
  background: #fff;
  color: var(--sf-ink);
  padding: 34px;
  box-shadow: 0 30px 90px rgba(31,25,22,.22);
  border: 1px solid rgba(31,25,22,.08);
}

.sf-blog-contact-modal__dialog h3 {
  margin: 12px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 5vw, 46px);
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--sf-ink);
  text-transform: none;
}

.sf-blog-contact-modal__dialog p {
  margin: 16px 0 0;
  color: var(--sf-muted);
  line-height: 1.75;
}

.sf-blog-contact-modal__close,
button.sf-blog-contact-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sf-bg) !important;
  color: var(--sf-ink) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-indent: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.sf-blog-contact-modal__button,
button.sf-blog-contact-modal__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  padding: 15px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sf-ink) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

@media (max-width: 1024px) {
  .sf-blog-contact-hero__grid,
  .sf-blog-contact-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .sf-blog-contact-page {
    padding-bottom: 48px;
  }

  .sf-blog-contact-hero {
    padding: 32px 0 18px;
  }

  .sf-blog-contact-hero__copy,
  .sf-blog-contact-panel,
  .sf-blog-contact-form,
  .sf-blog-contact-modal__dialog {
    border-radius: 28px;
  }

  .sf-blog-contact-hero__copy,
  .sf-blog-contact-panel {
    padding: 24px;
  }

  .sf-blog-contact-hero__copy h1 {
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: -.02em;
  }

  .sf-blog-contact-panel__copy h2 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -.02em;
  }

  .sf-blog-contact-hero__copy p,
  .sf-blog-contact-panel__copy p {
    font-size: 15px;
    line-height: 1.7;
  }

  .sf-blog-contact-path {
    border-radius: 22px;
    padding: 20px;
  }

  .sf-blog-contact-form {
    padding: 22px;
  }

  .sf-blog-contact-form input,
  .sf-blog-contact-form select,
  .sf-blog-contact-form textarea {
    border-radius: 18px;
    font-size: 14px;
  }

  .sf-blog-contact-modal {
    padding: 16px;
  }

  .sf-blog-contact-modal__dialog {
    padding: 30px 22px 22px;
  }
}
/* === Spatial Flow Step 5B-4: Blog Contact / Contact the Editor Native Capture END === */

/* === Spatial Flow Step 5F: Real WooCommerce Order Received Page START ===
   V2 layout rebuild: real WooCommerce endpoint, preview-inspired structure,
   Spatial Flow native visual system, no Elementor.
*/
body.woocommerce-order-received .entry-header,
body.woocommerce-order-received .entry-title {
  display: none !important;
}

body.woocommerce-order-received .site-content .ast-container {
  display: block;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

body.woocommerce-order-received .entry-content > .woocommerce,
body.woocommerce-order-received .sf-order-received-page {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.sf-order-received-page--v2 {
  --sf-or-paper: #fffdfa;
  --sf-or-panel: rgba(255, 253, 250, .92);
  --sf-or-soft: #f4eee6;
  --sf-or-line: rgba(31, 25, 22, .09);
  --sf-or-muted: rgba(31, 25, 22, .62);
  --sf-or-shadow: 0 18px 48px rgba(31, 25, 22, .075);
  padding: 34px 0 68px;
}

.sf-order-received-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sf-or-line);
  border-radius: 42px;
  background:
    radial-gradient(circle at 86% 18%, rgba(237,231,223,.95), transparent 28%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(244,238,230,.72));
  box-shadow: var(--sf-or-shadow);
  padding: clamp(30px, 5vw, 58px);
  margin: 0 0 30px;
}

.sf-order-received-hero--failed {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  background:
    radial-gradient(circle at 86% 18%, rgba(237,231,223,.95), transparent 28%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(244,238,230,.72));
}

.sf-order-received-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 460px;
  gap: 42px;
  align-items: end;
}

.sf-order-received-hero h1 {
  margin: 12px 0 0;
  max-width: 720px;
  color: var(--sf-ink);
  font-size: clamp(46px, 6vw, 82px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.sf-order-received-hero p {
  max-width: 680px;
  margin: 20px 0 0;
  color: var(--sf-or-muted);
  font-size: 16px;
  line-height: 1.75;
}

.sf-order-received-status-pill,
.sf-order-received-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 999px;
  background: var(--sf-or-soft);
  color: rgba(31,25,22,.58);
  padding: 0 14px;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}

.sf-order-received-meta,
body.woocommerce-order-received ul.order_details.sf-order-received-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
}

.sf-order-received-meta::before,
.sf-order-received-meta::after,
body.woocommerce-order-received ul.order_details.sf-order-received-meta::before,
body.woocommerce-order-received ul.order_details.sf-order-received-meta::after {
  content: none !important;
  display: none !important;
}

.sf-order-received-meta li,
body.woocommerce-order-received ul.order_details.sf-order-received-meta > li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid var(--sf-or-line) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 10px 28px rgba(31,25,22,.045) !important;
  color: var(--sf-ink) !important;
  text-transform: none !important;
  font-size: 14px !important;
}

.sf-order-received-meta li span {
  display: block;
  margin: 0;
  color: rgba(31,25,22,.45);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 10px;
  line-height: 1.3;
}

.sf-order-received-meta li strong {
  display: block;
  margin-top: 7px;
  color: var(--sf-ink);
  font-size: 16px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.sf-order-received-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr);
  grid-template-areas:
    "order steps"
    "customer summary";
  gap: 24px;
  align-items: start;
  margin: 0 0 38px;
}

.sf-order-received-card {
  min-width: 0;
  border: 1px solid var(--sf-or-line);
  border-radius: 34px;
  background: var(--sf-or-panel);
  box-shadow: var(--sf-or-shadow);
  padding: clamp(24px, 3vw, 34px);
}

.sf-order-received-card--items { grid-area: order; }
.sf-order-received-card--next { grid-area: steps; }
.sf-order-received-card--customer { grid-area: customer; }
.sf-order-received-card--summary { grid-area: summary; }

.sf-order-received-card__head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 24px;
}

.sf-order-received-card__head h2 {
  margin: 12px 0 0;
  color: var(--sf-ink);
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-order-received-card__head p {
  max-width: 520px;
  margin: 10px 0 0;
  color: var(--sf-or-muted);
  line-height: 1.75;
  font-size: 15px;
}

.sf-order-received-items {
  display: grid;
  gap: 12px;
}

.sf-order-received-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border-radius: 22px;
  background: var(--sf-or-soft);
  padding: 12px;
}

.sf-order-received-item__thumb {
  width: 82px;
  height: 82px;
  overflow: hidden;
  border-radius: 18px;
  background: var(--sf-soft);
}

.sf-order-received-item__thumb img,
.sf-order-received-item__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0 !important;
}

.sf-order-received-item h3 {
  margin: 0;
  color: var(--sf-ink);
  font-size: 16px;
  line-height: 1.32;
  letter-spacing: -.01em;
}

.sf-order-received-item h3 a {
  color: var(--sf-ink) !important;
  text-decoration: none !important;
}

.sf-order-received-item__qty,
.sf-order-received-item__meta,
.sf-order-received-item__meta p,
.sf-order-received-item__meta dl,
.sf-order-received-item__meta dd,
.sf-order-received-item__meta dt {
  color: rgba(31,25,22,.52);
  font-size: 13px;
  line-height: 1.55;
}

.sf-order-received-item__qty {
  display: block;
  margin-top: 6px;
}

.sf-order-received-item__meta {
  margin-top: 6px;
}

.sf-order-received-item__meta p,
.sf-order-received-item__meta dl {
  margin: 0;
}

.sf-order-received-item__total {
  color: var(--sf-ink);
  font-weight: 800;
  white-space: nowrap;
}

.sf-order-received-totals {
  display: grid;
  gap: 11px;
  margin-top: 24px;
  border-top: 1px solid var(--sf-or-line);
  padding-top: 18px;
}

.sf-order-received-total-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(31,25,22,.72);
  font-size: 14px;
}

.sf-order-received-total-row--grand {
  padding-top: 10px;
  color: var(--sf-ink);
  font-size: 20px;
  font-weight: 800;
}

.sf-order-received-total-row strong {
  text-align: right;
}

.sf-order-received-steps {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-order-received-steps li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  border-radius: 22px;
  background: var(--sf-or-soft);
  padding: 16px;
}

.sf-order-received-steps li > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: rgba(31,25,22,.42);
  font-size: 11px;
  font-weight: 800;
}

.sf-order-received-steps strong {
  display: block;
  color: var(--sf-ink);
  font-size: 15px;
}

.sf-order-received-steps p {
  margin: 6px 0 0;
  color: var(--sf-or-muted);
  font-size: 13px;
  line-height: 1.55;
}

.sf-order-received-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sf-order-received-address {
  min-width: 0;
  border-radius: 22px;
  background: var(--sf-or-soft);
  padding: 18px;
}

.sf-order-received-address h3 {
  margin: 0 0 10px;
  color: var(--sf-ink);
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.sf-order-received-address address,
.sf-order-received-address p {
  margin: 0;
  color: rgba(31,25,22,.66);
  font-size: 14px;
  font-style: normal;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.sf-order-received-address p {
  margin-top: 8px;
}

.sf-order-received-summary-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.sf-order-received-summary-list div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-radius: 18px;
  background: var(--sf-or-soft);
  padding: 13px 14px;
  font-size: 14px;
}

.sf-order-received-summary-list dt {
  color: rgba(31,25,22,.56);
  font-weight: 500;
}

.sf-order-received-summary-list dd {
  margin: 0;
  color: var(--sf-ink);
  font-weight: 800;
  text-align: right;
}

.sf-order-received-summary-note {
  margin: 18px 0 0;
  color: var(--sf-or-muted);
  font-size: 13px;
  line-height: 1.7;
}

.sf-order-received-payment-hook,
.sf-order-received-extra-hook {
  margin-top: 18px;
  color: var(--sf-or-muted);
  font-size: 14px;
  line-height: 1.7;
}

.sf-order-received-action-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--sf-or-line);
  border-radius: 32px;
  background: rgba(255,253,250,.76);
  box-shadow: 0 12px 32px rgba(31,25,22,.055);
  padding: 20px;
  margin: 0 0 48px;
}

.sf-order-received-action-panel p {
  margin: 0;
  color: var(--sf-or-muted);
  line-height: 1.65;
}

.sf-order-received-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.sf-order-received-button,
.sf-order-received-actions a {
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sf-or-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.64) !important;
  color: var(--sf-ink) !important;
  padding: 0 22px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.sf-order-received-button--dark,
.sf-order-received-actions a:first-child {
  background: var(--sf-ink) !important;
  border-color: var(--sf-ink) !important;
  color: #fff !important;
}

.sf-order-received-reading {
  margin: 0 0 8px;
}

.sf-order-received-reading__head {
  margin-bottom: 22px;
}

.sf-order-received-reading__head h2 {
  margin: 12px 0 0;
  color: var(--sf-ink);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-order-received-reading__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sf-order-received-read-card {
  display: block;
  min-width: 0;
  border: 1px solid var(--sf-or-line);
  border-radius: 28px;
  background: var(--sf-or-paper);
  padding: 22px;
  box-shadow: 0 10px 28px rgba(31,25,22,.045);
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease;
}

.sf-order-received-read-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(31,25,22,.08);
}

.sf-order-received-read-card span {
  display: block;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 10px;
}

.sf-order-received-read-card h3 {
  margin: 12px 0 0;
  color: var(--sf-ink);
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: -.025em;
}

.sf-order-received-read-card p {
  margin: 12px 0 0;
  color: var(--sf-or-muted);
  font-size: 14px;
  line-height: 1.65;
}

.sf-order-received-card--failed-extra,
.sf-order-received-hero--empty {
  margin-bottom: 48px;
}

@media (max-width: 1024px) {
  .sf-order-received-hero__grid,
  .sf-order-received-grid {
    grid-template-columns: 1fr;
  }

  .sf-order-received-grid {
    grid-template-areas:
      "order"
      "steps"
      "customer"
      "summary";
  }

  .sf-order-received-meta,
  body.woocommerce-order-received ul.order_details.sf-order-received-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-order-received .entry-content > .woocommerce,
  body.woocommerce-order-received .sf-order-received-page {
    width: min(100% - 32px, 1180px);
  }

  .sf-order-received-page--v2 {
    padding-top: 26px;
    padding-bottom: 50px;
  }

  .sf-order-received-hero,
  .sf-order-received-card {
    border-radius: 28px;
  }

  .sf-order-received-hero {
    padding: 28px;
    margin-bottom: 22px;
  }

  .sf-order-received-hero--failed {
    display: block;
  }

  .sf-order-received-status-pill {
    margin-top: 18px;
  }

  .sf-order-received-hero h1 {
    font-size: 42px;
    letter-spacing: -.025em;
  }

  .sf-order-received-hero p {
    font-size: 15px;
  }

  .sf-order-received-meta,
  body.woocommerce-order-received ul.order_details.sf-order-received-meta,
  .sf-order-received-address-grid,
  .sf-order-received-reading__grid {
    grid-template-columns: 1fr !important;
  }

  .sf-order-received-grid {
    gap: 18px;
    margin-bottom: 28px;
  }

  .sf-order-received-card {
    padding: 22px;
  }

  .sf-order-received-card__head {
    display: block;
    margin-bottom: 20px;
  }

  .sf-order-received-pill {
    margin-top: 14px;
  }

  .sf-order-received-card__head h2,
  .sf-order-received-reading__head h2 {
    font-size: 32px;
    letter-spacing: -.025em;
  }

  .sf-order-received-item {
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
  }

  .sf-order-received-item__thumb {
    width: 64px;
    height: 64px;
    border-radius: 16px;
  }

  .sf-order-received-item__total {
    grid-column: 2;
    justify-self: start;
  }

  .sf-order-received-total-row,
  .sf-order-received-summary-list div {
    align-items: flex-start;
  }

  .sf-order-received-action-panel {
    display: block;
    border-radius: 28px;
    margin-bottom: 38px;
  }

  .sf-order-received-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 16px;
  }

  .sf-order-received-button,
  .sf-order-received-actions a {
    width: 100%;
  }
}
/* === Spatial Flow Step 5F: Real WooCommerce Order Received Page END === */



/* === Spatial Flow Step 5E-B: Track Order Native Rebuild START === */
.sf-track-order-page {
  --sf-track-ink: #211a16;
  --sf-track-muted: rgba(33, 26, 22, .62);
  --sf-track-line: rgba(33, 26, 22, .09);
  --sf-track-panel: #fffdfa;
  --sf-track-soft: #f4eee6;
  --sf-track-shadow: 0 18px 48px rgba(31, 25, 22, .075);
  color: var(--sf-track-ink);
}

.sf-track-order-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 34px;
  color: rgba(33, 26, 22, .44);
  font-size: 13px;
}

.sf-track-order-breadcrumb a {
  color: rgba(33, 26, 22, .58) !important;
  text-decoration: none !important;
}

.sf-track-order-hero {
  padding: 26px 0 30px;
}

.sf-track-order-hero__panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sf-track-line);
  border-radius: 42px;
  background:
    radial-gradient(circle at 86% 18%, rgba(237, 231, 223, .95), transparent 28%),
    linear-gradient(135deg, rgba(255, 253, 250, .98), rgba(244, 238, 230, .72));
  box-shadow: var(--sf-track-shadow);
  padding: clamp(30px, 5vw, 58px);
}

.sf-track-order-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 42px;
  align-items: end;
}

.sf-track-order-hero h1,
.sf-track-order-section-head h2,
.sf-track-order-reading__head h2 {
  margin: 10px 0 0;
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-track-order-hero h1 {
  max-width: 720px;
  font-size: clamp(46px, 6vw, 82px);
}

.sf-track-order-text,
.sf-track-order-hero__copy p,
.sf-track-order-section-head > div,
.sf-track-order-note div,
.sf-track-order-microcopy,
.sf-track-order-help-tile p,
.sf-track-order-step p,
.sf-track-order-check p,
.sf-track-order-read-card p {
  color: var(--sf-track-muted);
  font-size: 15px;
  line-height: 1.72;
}

.sf-track-order-text {
  max-width: 680px;
  margin-top: 20px;
}

.sf-track-order-note {
  border: 1px solid var(--sf-track-line);
  border-radius: 28px;
  background: rgba(255,255,255,.7);
  padding: 22px;
  box-shadow: 0 10px 28px rgba(31,25,22,.045);
}

.sf-track-order-note strong {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
}

.sf-track-order-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  grid-template-areas:
    "form status"
    "help path";
  gap: 24px;
  align-items: start;
  padding: 14px 0 44px;
}

.sf-track-order-card {
  border: 1px solid var(--sf-track-line);
  border-radius: 34px;
  background: rgba(255,253,250,.92);
  box-shadow: var(--sf-track-shadow);
  padding: clamp(24px, 3vw, 34px);
}

.sf-track-order-lookup { grid-area: form; }
.sf-track-order-status { grid-area: status; }
.sf-track-order-help { grid-area: help; }
.sf-track-order-path { grid-area: path; }

.sf-track-order-section-head {
  margin-bottom: 24px;
}

.sf-track-order-section-head h2 {
  font-size: clamp(30px, 3.6vw, 46px);
}

.sf-track-order-section-head > div {
  max-width: 560px;
  margin-top: 10px;
}

.sf-track-order-shortcode {
  border-radius: 28px;
  background: var(--sf-track-soft);
  padding: clamp(18px, 2.4vw, 26px);
}

.sf-track-order-shortcode .woocommerce {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.sf-track-order-shortcode .woocommerce > p:first-child,
.sf-track-order-shortcode .track_order > p:first-child {
  margin: 0 0 18px;
  color: var(--sf-track-muted);
  line-height: 1.7;
}

.sf-track-order-shortcode form.track_order {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.sf-track-order-shortcode form.track_order .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sf-track-order-shortcode form.track_order .form-row label {
  display: block;
  margin: 0 0 8px;
  color: rgba(33, 26, 22, .48);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.sf-track-order-shortcode form.track_order input.input-text,
.sf-track-order-shortcode form.track_order input[type="text"],
.sf-track-order-shortcode form.track_order input[type="email"] {
  width: 100% !important;
  min-height: 48px;
  border: 1px solid var(--sf-track-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 0 18px !important;
  color: var(--sf-track-ink) !important;
  font-size: 14px;
  outline: none !important;
  box-shadow: none !important;
}

.sf-track-order-shortcode form.track_order input:focus {
  border-color: rgba(33, 26, 22, .24) !important;
  box-shadow: 0 0 0 4px rgba(33, 26, 22, .045) !important;
}

.sf-track-order-shortcode form.track_order .clear {
  display: none !important;
}

.sf-track-order-shortcode form.track_order .button,
.sf-track-order-shortcode form.track_order button.button {
  grid-column: 1 / -1;
  width: 100% !important;
  min-height: 50px;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sf-track-ink) !important;
  color: #fff !important;
  padding: 0 24px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: 0 12px 26px rgba(31, 25, 22, .14) !important;
}

.sf-track-order-shortcode .woocommerce-error,
.sf-track-order-shortcode .woocommerce-info,
.sf-track-order-shortcode .woocommerce-message {
  border: 0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: var(--sf-track-ink) !important;
  box-shadow: 0 10px 24px rgba(31,25,22,.06) !important;
  padding: 16px 18px !important;
  margin: 0 0 18px !important;
  list-style: none !important;
}

.sf-track-order-shortcode .woocommerce-order-details,
.sf-track-order-shortcode .woocommerce-customer-details {
  margin-top: 22px;
  border-radius: 24px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 10px 24px rgba(31,25,22,.05);
}

.sf-track-order-shortcode .woocommerce-order-details h2,
.sf-track-order-shortcode .woocommerce-customer-details h2,
.sf-track-order-shortcode .woocommerce-column__title {
  margin-top: 0;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.08;
  letter-spacing: -.02em;
}

.sf-track-order-shortcode table.shop_table {
  border-color: var(--sf-track-line) !important;
  border-radius: 20px !important;
  overflow: hidden;
  background: #fff;
}

.sf-track-order-microcopy {
  margin-top: 14px;
  font-size: 13px;
}

.sf-track-order-checklist,
.sf-track-order-path-list {
  display: grid;
  gap: 12px;
}

.sf-track-order-check,
.sf-track-order-step {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  border-radius: 22px;
  background: var(--sf-track-soft);
  padding: 16px;
}

.sf-track-order-check > span,
.sf-track-order-step > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: rgba(33, 26, 22, .42);
  font-size: 11px;
  font-weight: 800;
}

.sf-track-order-check strong,
.sf-track-order-step strong {
  display: block;
  font-size: 15px;
}

.sf-track-order-check p,
.sf-track-order-step p {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.55;
}

.sf-track-order-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sf-track-order-help-tile {
  border-radius: 22px;
  background: var(--sf-track-soft);
  padding: 18px;
}

.sf-track-order-help-tile h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.12;
}

.sf-track-order-help-tile p {
  margin: 10px 0 0;
  font-size: 14px;
}

.sf-track-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.sf-track-order-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sf-track-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sf-track-ink) !important;
  padding: 0 22px;
  text-decoration: none !important;
  font-size: 14px;
}

.sf-track-order-btn--dark {
  border-color: var(--sf-track-ink);
  background: var(--sf-track-ink);
  color: #fff !important;
}

.sf-track-order-reading {
  padding: 0 0 68px;
}

.sf-track-order-reading__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 22px;
}

.sf-track-order-reading__head h2 {
  font-size: clamp(32px, 4vw, 52px);
}

.sf-track-order-reading__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sf-track-order-read-card {
  display: block;
  border: 1px solid var(--sf-track-line);
  border-radius: 28px;
  background: var(--sf-track-panel);
  padding: 22px;
  box-shadow: 0 10px 28px rgba(31,25,22,.045);
  color: var(--sf-track-ink) !important;
  text-decoration: none !important;
}

.sf-track-order-read-card span {
  color: rgba(33, 26, 22, .42);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sf-track-order-read-card h3 {
  margin: 12px 0 0;
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.sf-track-order-read-card p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .sf-track-order-hero__grid {
    grid-template-columns: 1fr;
  }

  .sf-track-order-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "form"
      "status"
      "path"
      "help";
  }
}

@media (max-width: 767px) {
  .sf-track-order-breadcrumb,
  .sf-track-order-hero,
  .sf-track-order-grid,
  .sf-track-order-reading {
    width: min(100% - 32px, 1180px);
  }

  .sf-track-order-breadcrumb {
    margin-top: 24px;
  }

  .sf-track-order-hero {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .sf-track-order-hero__panel,
  .sf-track-order-card {
    border-radius: 28px;
  }

  .sf-track-order-hero__panel,
  .sf-track-order-card {
    padding: 24px;
  }

  .sf-track-order-hero h1 {
    font-size: 42px;
    letter-spacing: -.02em;
  }

  .sf-track-order-note {
    border-radius: 22px;
    padding: 18px;
  }

  .sf-track-order-grid {
    gap: 18px;
    padding-bottom: 36px;
  }

  .sf-track-order-section-head h2 {
    font-size: 32px;
  }

  .sf-track-order-shortcode {
    border-radius: 22px;
    padding: 18px;
  }

  .sf-track-order-shortcode form.track_order {
    grid-template-columns: 1fr;
  }

  .sf-track-order-help-grid,
  .sf-track-order-reading__grid {
    grid-template-columns: 1fr;
  }

  .sf-track-order-actions {
    display: grid;
  }

  .sf-track-order-btn {
    width: 100%;
  }

  .sf-track-order-check,
  .sf-track-order-step {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .sf-track-order-check > span,
  .sf-track-order-step > span {
    width: 38px;
    height: 38px;
  }

  .sf-track-order-reading {
    padding-bottom: 48px;
  }
}
/* === Spatial Flow Step 5E-B: Track Order Native Rebuild END === */

/* === Step 5E-B SAFE 5: Track Order WooCommerce Form Layout Hotfix START ===
   Scope: /track-order/ native page only.
   Purpose: fix WooCommerce [woocommerce_order_tracking] default form markup being squeezed into the card grid.
   CSS only. No functions.php, JS, shortcode, order lookup, Contact pages, Thank You, Cart, Checkout, or Elementor changes.
*/
.sf-track-order-shortcode {
  overflow: visible !important;
}

.sf-track-order-shortcode form.track_order,
.sf-track-order-shortcode form.woocommerce-form-track-order {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 18px !important;
  align-items: end !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.sf-track-order-shortcode form.track_order > p:first-child:not(.form-row),
.sf-track-order-shortcode form.woocommerce-form-track-order > p:first-child:not(.form-row) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(33, 26, 22, .08) !important;
  color: var(--sf-track-muted) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

.sf-track-order-shortcode form.track_order p.form-row,
.sf-track-order-shortcode form.woocommerce-form-track-order p.form-row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sf-track-order-shortcode form.track_order p.form-row-first,
.sf-track-order-shortcode form.woocommerce-form-track-order p.form-row-first {
  grid-column: 1 !important;
}

.sf-track-order-shortcode form.track_order p.form-row-last,
.sf-track-order-shortcode form.woocommerce-form-track-order p.form-row-last {
  grid-column: 2 !important;
}

.sf-track-order-shortcode form.track_order p.form-row:last-of-type,
.sf-track-order-shortcode form.woocommerce-form-track-order p.form-row:last-of-type {
  grid-column: 1 / -1 !important;
  margin-top: 4px !important;
}

.sf-track-order-shortcode form.track_order p.form-row label,
.sf-track-order-shortcode form.woocommerce-form-track-order p.form-row label {
  display: block !important;
  margin: 0 0 9px !important;
  color: rgba(33, 26, 22, .48) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.sf-track-order-shortcode form.track_order input.input-text,
.sf-track-order-shortcode form.track_order input[type="text"],
.sf-track-order-shortcode form.track_order input[type="email"],
.sf-track-order-shortcode form.woocommerce-form-track-order input.input-text,
.sf-track-order-shortcode form.woocommerce-form-track-order input[type="text"],
.sf-track-order-shortcode form.woocommerce-form-track-order input[type="email"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 50px !important;
  display: block !important;
  border: 1px solid rgba(33, 26, 22, .1) !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 0 18px !important;
  color: var(--sf-track-ink) !important;
  font-size: 14px !important;
  line-height: 50px !important;
  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.sf-track-order-shortcode form.track_order input::placeholder,
.sf-track-order-shortcode form.woocommerce-form-track-order input::placeholder {
  color: rgba(33, 26, 22, .42) !important;
  opacity: 1 !important;
}

.sf-track-order-shortcode form.track_order button.button,
.sf-track-order-shortcode form.track_order .button,
.sf-track-order-shortcode form.woocommerce-form-track-order button.button,
.sf-track-order-shortcode form.woocommerce-form-track-order .button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sf-track-ink) !important;
  color: #fff !important;
  padding: 0 24px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: 0 12px 26px rgba(31, 25, 22, .14) !important;
}

.sf-track-order-shortcode form.track_order .clear,
.sf-track-order-shortcode form.woocommerce-form-track-order .clear {
  display: none !important;
  clear: none !important;
}

@media (max-width: 767px) {
  .sf-track-order-shortcode {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .sf-track-order-shortcode form.track_order,
  .sf-track-order-shortcode form.woocommerce-form-track-order {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .sf-track-order-shortcode form.track_order p.form-row-first,
  .sf-track-order-shortcode form.track_order p.form-row-last,
  .sf-track-order-shortcode form.track_order p.form-row:last-of-type,
  .sf-track-order-shortcode form.woocommerce-form-track-order p.form-row-first,
  .sf-track-order-shortcode form.woocommerce-form-track-order p.form-row-last,
  .sf-track-order-shortcode form.woocommerce-form-track-order p.form-row:last-of-type {
    grid-column: 1 !important;
  }
}
/* === Step 5E-B SAFE 5: Track Order WooCommerce Form Layout Hotfix END === */

/* === Spatial Flow Step 5G: Services Native Rebuild START === */
.sf-services-native {
  --sf-services-paper: #fffdfa;
  --sf-services-soft: #f4eee6;
  --sf-services-line: rgba(31,25,22,.09);
  --sf-services-ink: #1f1916;
  --sf-services-muted: rgba(31,25,22,.62);
  --sf-services-shadow: 0 18px 48px rgba(31,25,22,.075);
  color: var(--sf-services-ink);
}

.sf-services-native a {
  text-decoration: none;
}

.sf-services-breadcrumb {
  margin-top: 34px;
  color: rgba(31,25,22,.44);
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: center;
}

.sf-services-breadcrumb a {
  color: rgba(31,25,22,.58) !important;
  text-decoration: none !important;
}

.sf-services-hero {
  padding: 26px 0 42px;
}

.sf-services-hero__panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sf-services-line);
  border-radius: 44px;
  background:
    radial-gradient(circle at 88% 16%, rgba(237,231,223,.95), transparent 27%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(244,238,230,.72));
  box-shadow: var(--sf-services-shadow);
  padding: clamp(30px,5vw,58px);
}

.sf-services-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 450px;
  gap: 42px;
  align-items: center;
}

.sf-services-hero__copy h1,
.sf-services-section-head h2,
.sf-services-customer-panel h2 {
  margin: 12px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.05;
  color: var(--sf-services-ink);
}

.sf-services-hero__copy h1 {
  font-size: clamp(48px,6.4vw,86px);
  max-width: 760px;
}

.sf-services-section-head h2,
.sf-services-customer-panel h2 {
  font-size: clamp(34px,4.3vw,58px);
}

.sf-services-text,
.sf-services-text p,
.sf-services-hero__copy p,
.sf-services-customer-panel p,
.sf-services-path-card p,
.sf-services-process-card p,
.sf-services-look-card p,
.sf-services-boundary-panel p {
  color: var(--sf-services-muted);
  line-height: 1.75;
}

.sf-services-hero__copy .sf-services-text {
  max-width: 660px;
  margin-top: 20px;
  font-size: 16px;
}

.sf-services-hero__copy .sf-services-text p {
  margin: 0 0 12px;
}

.sf-services-hero__copy .sf-services-text p:last-child {
  margin-bottom: 0;
}

.sf-services-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.sf-services-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 999px !important;
  padding: 0 24px;
  border: 1px solid var(--sf-services-line);
  font-size: 14px;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.sf-services-btn:hover,
.sf-services-btn:focus-visible {
  transform: translateY(-1px);
}

.sf-services-btn--dark {
  background: var(--sf-services-ink);
  border-color: var(--sf-services-ink);
  color: #fff !important;
}

.sf-services-btn--light {
  background: #fff;
  color: var(--sf-services-ink) !important;
}

.sf-services-visual {
  position: relative;
  min-height: 430px;
  border-radius: 34px;
  overflow: hidden;
  background: linear-gradient(135deg,#efe2d4,#f8f4ee);
  box-shadow: 0 24px 60px rgba(31,25,22,.12);
  border: 1px solid rgba(31,25,22,.07);
}

.sf-services-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.78) 0 18%,transparent 18% 19%,rgba(255,255,255,.46) 19% 34%,transparent 34% 35%,rgba(255,255,255,.55) 35% 58%,transparent 58% 59%,rgba(255,255,255,.38) 59% 100%),
    radial-gradient(circle at 72% 72%,rgba(31,25,22,.16),transparent 18%);
  opacity: .72;
}

.sf-services-window {
  position: absolute;
  right: 36px;
  top: 34px;
  width: 220px;
  height: 178px;
  border-radius: 26px;
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(31,25,22,.07);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.56);
}

.sf-services-window::before,
.sf-services-window::after {
  content: "";
  position: absolute;
  background: rgba(31,25,22,.08);
}

.sf-services-window::before {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
}

.sf-services-window::after {
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}

.sf-services-chair {
  position: absolute;
  left: 54px;
  bottom: 62px;
  width: 150px;
  height: 76px;
  border-radius: 80px 80px 42px 42px;
  background: #8e977c;
  box-shadow: 0 22px 35px rgba(31,25,22,.13);
}

.sf-services-chair::after {
  content: "";
  position: absolute;
  right: -38px;
  top: 24px;
  width: 76px;
  height: 54px;
  border-radius: 60px;
  background: #d9d2c6;
}

.sf-services-table {
  position: absolute;
  left: 184px;
  bottom: 62px;
  width: 136px;
  height: 20px;
  border-radius: 999px;
  background: #d4b999;
  box-shadow: 0 28px 0 -8px rgba(31,25,22,.18);
}

.sf-services-lamp {
  position: absolute;
  right: 72px;
  bottom: 85px;
  width: 160px;
  height: 190px;
  border-left: 6px solid rgba(31,25,22,.72);
  transform: rotate(18deg);
  transform-origin: bottom;
}

.sf-services-lamp::before {
  content: "";
  position: absolute;
  top: -22px;
  left: -58px;
  width: 96px;
  height: 44px;
  border-radius: 52px 52px 18px 18px;
  background: #1f1916;
  transform: rotate(-26deg);
}

.sf-services-object-dot {
  position: absolute;
  left: 222px;
  bottom: 105px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #dac6b4;
  box-shadow: 0 0 0 12px rgba(255,255,255,.28);
}

.sf-services-visual-note {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  border-radius: 24px;
  background: rgba(255,253,250,.9);
  backdrop-filter: blur(12px);
  padding: 18px;
  border: 1px solid rgba(31,25,22,.06);
}

.sf-services-visual-note strong,
.sf-services-visual-note span {
  display: block;
}

.sf-services-visual-note strong {
  font-size: 18px;
}

.sf-services-visual-note span {
  margin-top: 5px;
  color: rgba(31,25,22,.56);
  font-size: 13px;
  line-height: 1.55;
}

.sf-services-section {
  padding: 28px 0 42px;
}

.sf-services-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 24px;
}

.sf-services-section-head .sf-services-text {
  max-width: 560px;
}

.sf-services-section-head .sf-services-text p {
  margin: 12px 0 0;
}

.sf-services-section-head--compact {
  margin-bottom: 22px;
}

.sf-services-path-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
}

.sf-services-card,
.sf-services-look-card,
.sf-services-customer-card {
  border: 1px solid var(--sf-services-line);
  background: rgba(255,253,250,.94);
  box-shadow: var(--sf-services-shadow);
}

.sf-services-card {
  border-radius: 34px;
  padding: clamp(24px,3vw,34px);
}

.sf-services-path-card {
  position: relative;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.sf-services-path-card::before {
  content: "";
  position: absolute;
  right: -44px;
  top: -44px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(244,238,230,.86);
  z-index: 0;
}

.sf-services-path-card > * {
  position: relative;
  z-index: 1;
}

.sf-services-number {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--sf-services-soft);
  color: rgba(31,25,22,.46);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 24px;
}

.sf-services-path-card h3,
.sf-services-process-card h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.08;
  color: var(--sf-services-ink);
}

.sf-services-path-card h3 {
  font-size: 31px;
}

.sf-services-path-card .sf-services-copy {
  margin-top: 14px;
}

.sf-services-path-card .sf-services-copy p {
  margin: 0;
  font-size: 14px;
}

.sf-services-path-card ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.sf-services-path-card li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: rgba(31,25,22,.66);
  font-size: 13px;
  line-height: 1.55;
}

.sf-services-path-card li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(31,25,22,.28);
  margin-top: 7px;
  flex: 0 0 auto;
}

.sf-services-path-cta {
  margin-top: auto;
  padding-top: 22px;
  color: rgba(31,25,22,.82) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.sf-services-customer-grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 24px;
  align-items: stretch;
}

.sf-services-customer-panel {
  background: #1f1916;
  color: #fff;
  border-radius: 34px;
  padding: clamp(28px,4vw,42px);
  box-shadow: 0 24px 70px rgba(31,25,22,.14);
}

.sf-services-customer-panel .sf-kicker {
  color: rgba(255,255,255,.44);
}

.sf-services-customer-panel h2,
.sf-services-customer-panel p {
  color: #fff;
}

.sf-services-customer-panel p {
  color: rgba(255,255,255,.68);
}

.sf-services-customer-cards {
  display: grid;
  gap: 14px;
}

.sf-services-customer-card {
  border-radius: 26px;
  padding: 20px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 15px;
  align-items: start;
}

.sf-services-customer-card > span {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: var(--sf-services-soft);
  display: grid;
  place-items: center;
  color: rgba(31,25,22,.48);
  font-weight: 800;
}

.sf-services-customer-card strong {
  display: block;
  font-size: 18px;
}

.sf-services-customer-card p {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.65;
}

.sf-services-look-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 14px;
}

.sf-services-look-card {
  min-height: 150px;
  border-radius: 26px;
  padding: 18px;
}

.sf-services-look-card > span {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--sf-services-soft);
  margin-bottom: 16px;
}

.sf-services-look-card strong {
  display: block;
  font-size: 15px;
}

.sf-services-look-card p {
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.55;
}

.sf-services-process-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.sf-services-process-card {
  background: var(--sf-services-soft);
  box-shadow: none;
}

.sf-services-process-card .sf-kicker {
  margin-bottom: 18px;
}

.sf-services-process-card h3 {
  font-size: 28px;
}

.sf-services-process-card p {
  margin-bottom: 0;
  font-size: 14px;
}

.sf-services-boundary-panel {
  border-radius: 30px;
  background: rgba(255,253,250,.76);
  border: 1px solid var(--sf-services-line);
  padding: 22px 24px;
  display: flex;
  gap: 18px;
  align-items: center;
  margin-top: 24px;
}

.sf-services-boundary-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--sf-services-soft);
  flex: 0 0 auto;
}

.sf-services-boundary-panel strong {
  font-size: 16px;
}

.sf-services-boundary-panel p {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.sf-services-product-guidance-band {
  scroll-margin-top: 110px;
}

.sf-services-product-guidance-band .sf-contact-band {
  padding-top: 28px;
  padding-bottom: 72px;
}

@media (max-width: 1100px) {
  .sf-services-hero__grid,
  .sf-services-customer-grid {
    grid-template-columns: 1fr;
  }

  .sf-services-path-grid,
  .sf-services-process-grid {
    grid-template-columns: 1fr;
  }

  .sf-services-look-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .sf-services-visual {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .sf-services-breadcrumb,
  .sf-services-hero,
  .sf-services-section {
    width: min(100% - 32px, 1180px);
  }

  .sf-services-breadcrumb {
    margin-top: 24px;
  }

  .sf-services-hero__panel,
  .sf-services-card,
  .sf-services-customer-panel {
    border-radius: 28px;
  }

  .sf-services-hero__panel {
    padding: 28px;
  }

  .sf-services-hero__copy h1 {
    font-size: 42px;
    letter-spacing: -.02em;
  }

  .sf-services-section-head h2,
  .sf-services-customer-panel h2 {
    font-size: 34px;
    letter-spacing: -.02em;
  }

  .sf-services-actions {
    display: grid;
  }

  .sf-services-btn {
    width: 100%;
  }

  .sf-services-visual {
    min-height: 310px;
    border-radius: 26px;
  }

  .sf-services-window {
    right: 22px;
    top: 24px;
    width: 154px;
    height: 126px;
    border-radius: 20px;
  }

  .sf-services-chair {
    left: 30px;
    bottom: 58px;
    width: 112px;
    height: 58px;
  }

  .sf-services-chair::after {
    right: -28px;
    top: 18px;
    width: 58px;
    height: 42px;
  }

  .sf-services-table {
    left: 130px;
    bottom: 58px;
    width: 104px;
  }

  .sf-services-lamp {
    right: 44px;
    bottom: 78px;
    width: 120px;
    height: 150px;
  }

  .sf-services-visual-note {
    left: 16px;
    right: 16px;
    bottom: 16px;
    padding: 15px;
  }

  .sf-services-section-head {
    display: block;
  }

  .sf-services-section {
    padding: 24px 0 32px;
  }

  .sf-services-path-card {
    min-height: auto;
  }

  .sf-services-customer-card {
    grid-template-columns: 40px 1fr;
    padding: 16px;
  }

  .sf-services-customer-card > span {
    width: 40px;
    height: 40px;
  }

  .sf-services-look-grid {
    grid-template-columns: 1fr;
  }

  .sf-services-boundary-panel {
    display: block;
  }

  .sf-services-boundary-icon {
    margin-bottom: 12px;
  }

  .sf-services-product-guidance-band .sf-contact-band {
    padding-top: 20px;
    padding-bottom: 52px;
  }
}
/* === Spatial Flow Step 5G: Services Native Rebuild END === */


/* === Step 5H SAFE 1: Header Shop Dynamic Mega Menu START ===
   Dynamic source: WooCommerce product categories and product attributes.
   Old WPCode panel #sf-mega-shop is hidden here but not deleted, so this step stays reversible.
*/

/* Hide the old WPCode hard-coded mega panel. It can be cleaned later in Step 8.5. */
#sf-mega-shop {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sf-primary-menu > .menu-item {
  position: relative;
}

.sf-shop-dynamic-mega {
  position: fixed;
  left: 50%;
  top: 126px;
  width: min(1360px, calc(100vw - 96px));
  transform: translateX(-50%) translateY(-8px);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}

.admin-bar .sf-shop-dynamic-mega {
  top: 158px;
}

.sf-primary-menu > .menu-item:hover > .sf-shop-dynamic-mega,
.sf-primary-menu > .menu-item:focus-within > .sf-shop-dynamic-mega,
.sf-shop-dynamic-mega:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.sf-shop-dynamic-mega__inner {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 46px);
  min-height: 340px;
  border: 1px solid rgba(31, 25, 22, .07);
  border-radius: 26px;
  background: rgba(255, 253, 250, .98);
  box-shadow: 0 30px 90px rgba(31, 25, 22, .16);
  padding: clamp(28px, 3.2vw, 40px);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.sf-shop-dynamic-mega__col {
  min-width: 0;
}

.sf-shop-dynamic-mega__col h3 {
  margin: 0;
  color: var(--sf-ink);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: -0.01em;
}

.sf-shop-dynamic-mega__line {
  display: block;
  width: 32px;
  height: 1px;
  margin: 13px 0 18px;
  background: rgba(31, 25, 22, .14);
}

.sf-shop-dynamic-mega__links {
  display: grid;
  gap: 10px;
}

.sf-shop-dynamic-mega__links a {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  color: rgba(31, 25, 22, .76) !important;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 650;
  transition: color .16s ease, transform .16s ease, opacity .16s ease;
}

.sf-shop-dynamic-mega__links a:hover,
.sf-shop-dynamic-mega__links a:focus-visible {
  color: var(--sf-ink) !important;
  transform: translateX(3px);
  outline: none;
}

.sf-shop-dynamic-mega__links a span {
  display: block;
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  .sf-shop-dynamic-mega {
    width: min(1120px, calc(100vw - 48px));
  }

  .sf-shop-dynamic-mega__inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 0;
  }
}

@media (max-width: 767px) {
  .sf-shop-dynamic-mega {
    display: none !important;
  }
}

/* === Step 5H SAFE 1: Header Shop Dynamic Mega Menu END === */


/* === Step 5H SAFE 2: Header Shop Dynamic Mega Hover Bridge START ===
   Purpose: keep the dynamic Shop mega menu open while the cursor moves
   from the Shop nav item into the panel, and lift the panel slightly closer
   to the header. CSS-only. No PHP / JS / WooCommerce changes.
*/
.sf-shop-dynamic-mega {
  top: 116px;
}

.admin-bar .sf-shop-dynamic-mega {
  top: 148px;
}

.sf-shop-dynamic-mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -72px;
  height: 72px;
  display: block;
  pointer-events: auto;
  background: transparent;
}

.sf-shop-dynamic-mega__inner {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .sf-shop-dynamic-mega::before {
    display: none !important;
  }
}
/* === Step 5H SAFE 2: Header Shop Dynamic Mega Hover Bridge END === */

/* === Spatial Flow Step 5I: Refund / Returns Policy Native Page START === */
.sf-refund-policy-page {
  background: var(--sf-bg);
  color: var(--sf-ink);
}

.sf-policy-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 34px;
  color: rgba(31,25,22,.44);
  font-size: 13px;
}

.sf-policy-breadcrumb a {
  color: rgba(31,25,22,.58) !important;
  text-decoration: none !important;
}

.sf-policy-hero {
  padding: 26px 0 38px;
}

.sf-policy-hero__panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(31,25,22,.09);
  border-radius: 44px;
  background:
    radial-gradient(circle at 86% 14%, rgba(237,231,223,.95), transparent 28%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(244,238,230,.74));
  box-shadow: 0 18px 48px rgba(31,25,22,.075);
  padding: clamp(30px,5vw,58px);
}

.sf-policy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 380px;
  gap: 42px;
  align-items: end;
}

.sf-policy-hero h1,
.sf-policy-section h2,
.sf-policy-dark-panel h2,
.sf-policy-contact-panel h2 {
  margin: 12px 0 0;
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-policy-hero h1 {
  max-width: 780px;
  font-size: clamp(46px,6vw,82px);
}

.sf-policy-section h2,
.sf-policy-dark-panel h2,
.sf-policy-contact-panel h2 {
  font-size: clamp(32px,4vw,54px);
}

.sf-policy-text,
.sf-policy-text p,
.sf-policy-hero__copy p,
.sf-policy-dark-panel p,
.sf-policy-contact-panel p {
  max-width: 680px;
  color: rgba(31,25,22,.62);
  font-size: 16px;
  line-height: 1.76;
}

.sf-policy-text p:first-child,
.sf-policy-dark-panel p:first-child,
.sf-policy-contact-panel p:first-child {
  margin-top: 0;
}

.sf-policy-text p:last-child,
.sf-policy-dark-panel p:last-child,
.sf-policy-contact-panel p:last-child {
  margin-bottom: 0;
}

.sf-policy-actions,
.sf-policy-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sf-policy-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 999px !important;
  padding: 0 24px;
  border: 1px solid rgba(31,25,22,.09);
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.sf-policy-btn:hover,
.sf-policy-btn:focus-visible {
  transform: translateY(-1px);
}

.sf-policy-btn--dark {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff !important;
}

.sf-policy-btn--light {
  background: #fff;
  color: var(--sf-ink) !important;
}

.sf-policy-btn--line {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,.22);
}

.sf-policy-hero-card {
  border-radius: 32px;
  background: rgba(255,253,250,.78);
  border: 1px solid rgba(31,25,22,.07);
  padding: 24px;
  box-shadow: 0 14px 34px rgba(31,25,22,.055);
}

.sf-policy-hero-card strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.06;
  letter-spacing: -.03em;
}

.sf-policy-hero-card span {
  display: block;
  margin-top: 8px;
  color: rgba(31,25,22,.56);
  font-size: 14px;
  line-height: 1.65;
}

.sf-policy-hero-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}

.sf-policy-hero-mini div {
  border-radius: 22px;
  background: #fff;
  padding: 16px;
  border: 1px solid rgba(31,25,22,.09);
}

.sf-policy-hero-mini b,
.sf-policy-hero-mini small {
  display: block;
}

.sf-policy-hero-mini b {
  font-size: 14px;
}

.sf-policy-hero-mini small {
  margin-top: 5px;
  color: rgba(31,25,22,.52);
  font-size: 12px;
  line-height: 1.45;
}

.sf-policy-section {
  padding: 28px 0 42px;
}

.sf-policy-section--last {
  padding-bottom: 70px;
}

.sf-policy-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 24px;
}

.sf-policy-section-head--compact {
  align-items: flex-start;
}

.sf-policy-card-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
}

.sf-policy-card,
.sf-policy-soft-card {
  border: 1px solid rgba(31,25,22,.09);
  background: rgba(255,253,250,.94);
  box-shadow: 0 18px 48px rgba(31,25,22,.075);
}

.sf-policy-card {
  min-height: 286px;
  display: flex;
  flex-direction: column;
  border-radius: 34px;
  padding: clamp(24px,3vw,34px);
}

.sf-policy-num {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: #f4eee6;
  color: rgba(31,25,22,.48);
  font-size: 12px;
  font-weight: 800;
}

.sf-policy-card h3,
.sf-policy-soft-card h3 {
  margin: 0;
  font-size: 23px;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.sf-policy-card p,
.sf-policy-soft-card p {
  color: rgba(31,25,22,.62);
  font-size: 14px;
  line-height: 1.74;
}

.sf-policy-card ul {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.sf-policy-card li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: rgba(31,25,22,.66);
  font-size: 13px;
  line-height: 1.55;
}

.sf-policy-card li::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-top: 7px;
  border-radius: 50%;
  background: rgba(31,25,22,.28);
}

.sf-policy-process-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 24px;
  align-items: stretch;
}

.sf-policy-dark-panel,
.sf-policy-contact-panel {
  border-radius: 34px;
  background: #1f1916;
  color: #fff;
  box-shadow: 0 24px 70px rgba(31,25,22,.14);
}

.sf-policy-dark-panel {
  padding: clamp(28px,4vw,42px);
}

.sf-policy-dark-panel .sf-kicker,
.sf-policy-contact-panel .sf-kicker {
  color: rgba(255,255,255,.42);
}

.sf-policy-dark-panel h2,
.sf-policy-contact-panel h2 {
  color: #fff;
}

.sf-policy-dark-panel p,
.sf-policy-contact-panel p {
  color: rgba(255,255,255,.68);
}

.sf-policy-timeline {
  display: grid;
  gap: 14px;
}

.sf-policy-timeline-step {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 15px;
  border-radius: 26px;
  background: #fffdfa;
  border: 1px solid rgba(31,25,22,.09);
  padding: 18px;
}

.sf-policy-timeline-step > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #f4eee6;
  color: rgba(31,25,22,.48);
  font-size: 12px;
  font-weight: 800;
}

.sf-policy-timeline-step strong {
  display: block;
  font-size: 18px;
}

.sf-policy-timeline-step p {
  margin: 6px 0 0;
  color: rgba(31,25,22,.62);
  font-size: 14px;
  line-height: 1.65;
}

.sf-policy-note-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.sf-policy-soft-card {
  border-radius: 28px;
  background: #f4eee6;
  padding: 24px;
  box-shadow: none;
}

.sf-policy-soft-card h3 {
  font-size: 26px;
}

.sf-policy-contact-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) 380px;
  gap: 34px;
  align-items: center;
  padding: clamp(30px,4vw,46px);
}

.sf-policy-contact-actions {
  display: grid;
  margin-top: 0;
}

@media(max-width:1100px) {
  .sf-policy-hero__grid,
  .sf-policy-process-grid,
  .sf-policy-contact-panel {
    grid-template-columns: 1fr;
  }

  .sf-policy-card-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media(max-width:767px) {
  .sf-policy-breadcrumb {
    width: min(100% - 32px, 1180px);
    margin-top: 24px;
  }

  .sf-policy-hero {
    padding: 22px 0 30px;
  }

  .sf-policy-hero__panel,
  .sf-policy-card,
  .sf-policy-dark-panel,
  .sf-policy-contact-panel {
    border-radius: 28px;
  }

  .sf-policy-hero__panel {
    padding: 28px;
  }

  .sf-policy-hero h1 {
    font-size: 41px;
    letter-spacing: -.02em;
  }

  .sf-policy-section h2,
  .sf-policy-dark-panel h2,
  .sf-policy-contact-panel h2 {
    font-size: 33px;
    letter-spacing: -.02em;
  }

  .sf-policy-actions,
  .sf-policy-contact-actions {
    display: grid;
  }

  .sf-policy-btn {
    width: 100%;
  }

  .sf-policy-hero-mini,
  .sf-policy-card-grid,
  .sf-policy-note-grid {
    grid-template-columns: 1fr;
  }

  .sf-policy-section-head {
    display: block;
  }

  .sf-policy-section {
    padding: 24px 0 32px;
  }

  .sf-policy-card {
    min-height: auto;
  }

  .sf-policy-timeline-step {
    grid-template-columns: 40px 1fr;
    padding: 16px;
  }

  .sf-policy-timeline-step > span {
    width: 40px;
    height: 40px;
  }
}
/* === Spatial Flow Step 5I: Refund / Returns Policy Native Page END === */


/* === Spatial Flow Step 5I SAFE 2: Refund Policy Layout Conflict Hotfix START ===
   Scope: /refund-returns-policy/ native policy page only.
   Reason: older generic .sf-policy-page / .sf-policy-hero rules made the new hero render as a narrow grid column.
   CSS-only. Does not touch Header, Mega Menu, Services, Track Order, Thank You, Contact, WooCommerce templates, or JS.
*/
.sf-refund-policy-page.sf-policy-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}

.sf-refund-policy-page .sf-policy-breadcrumb,
.sf-refund-policy-page .sf-container {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sf-refund-policy-page .sf-policy-hero {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: initial !important;
  margin: 0 !important;
  padding: 26px 0 38px !important;
}

.sf-refund-policy-page .sf-policy-hero__panel {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sf-refund-policy-page .sf-policy-hero__copy,
.sf-refund-policy-page .sf-policy-hero-card,
.sf-refund-policy-page .sf-policy-card,
.sf-refund-policy-page .sf-policy-section,
.sf-refund-policy-page .sf-policy-contact-panel {
  box-sizing: border-box !important;
}

.sf-refund-policy-page .sf-policy-hero__copy {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
}

.sf-refund-policy-page .sf-policy-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px) !important;
  gap: 42px !important;
  align-items: end !important;
}

.sf-refund-policy-page .sf-policy-hero h1 {
  max-width: 780px !important;
  margin: 12px 0 0 !important;
  font-size: clamp(46px, 6vw, 82px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
}

.sf-refund-policy-page .sf-policy-hero__copy .sf-policy-text {
  max-width: 680px !important;
  margin-top: 20px !important;
}

.sf-refund-policy-page .sf-policy-hero__copy .sf-policy-text p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: 680px !important;
  font-size: 16px !important;
  line-height: 1.76 !important;
}

.sf-refund-policy-page .sf-policy-section {
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 auto !important;
  padding: 28px 0 42px !important;
}

.sf-refund-policy-page .sf-policy-section--last {
  padding-bottom: 70px !important;
}

.sf-refund-policy-page .sf-policy-section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 28px !important;
  margin-bottom: 24px !important;
}

.sf-refund-policy-page .sf-policy-section-head > .sf-policy-text {
  max-width: 560px !important;
}

.sf-refund-policy-page .sf-policy-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.sf-refund-policy-page .sf-policy-card {
  min-height: 286px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid rgba(31,25,22,.09) !important;
  border-radius: 34px !important;
  background: rgba(255,253,250,.94) !important;
  box-shadow: 0 18px 48px rgba(31,25,22,.075) !important;
  padding: clamp(24px, 3vw, 34px) !important;
}

.sf-refund-policy-page .sf-policy-process-grid {
  display: grid !important;
  grid-template-columns: .92fr 1.08fr !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.sf-refund-policy-page .sf-policy-note-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.sf-refund-policy-page .sf-policy-contact-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px !important;
  gap: 34px !important;
  align-items: center !important;
  border: 0 !important;
  border-radius: 42px !important;
  background: #1f1916 !important;
  color: #fff !important;
  padding: clamp(30px, 4vw, 46px) !important;
  box-shadow: 0 24px 70px rgba(31,25,22,.14) !important;
}

@media (max-width: 1100px) {
  .sf-refund-policy-page .sf-policy-hero__grid,
  .sf-refund-policy-page .sf-policy-process-grid,
  .sf-refund-policy-page .sf-policy-contact-panel {
    grid-template-columns: 1fr !important;
  }
  .sf-refund-policy-page .sf-policy-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .sf-refund-policy-page .sf-policy-breadcrumb,
  .sf-refund-policy-page .sf-container,
  .sf-refund-policy-page .sf-policy-hero__panel {
    width: min(100% - 32px, 1180px) !important;
  }
  .sf-refund-policy-page .sf-policy-hero {
    padding: 22px 0 30px !important;
  }
  .sf-refund-policy-page .sf-policy-hero__panel,
  .sf-refund-policy-page .sf-policy-card,
  .sf-refund-policy-page .sf-policy-dark-panel,
  .sf-refund-policy-page .sf-policy-contact-panel {
    border-radius: 28px !important;
  }
  .sf-refund-policy-page .sf-policy-hero__panel {
    padding: 28px !important;
  }
  .sf-refund-policy-page .sf-policy-hero h1 {
    font-size: 41px !important;
    letter-spacing: -0.02em !important;
  }
  .sf-refund-policy-page .sf-policy-section-head {
    display: block !important;
  }
  .sf-refund-policy-page .sf-policy-card-grid,
  .sf-refund-policy-page .sf-policy-note-grid {
    grid-template-columns: 1fr !important;
  }
  .sf-refund-policy-page .sf-policy-card {
    min-height: 0 !important;
  }
  .sf-refund-policy-page .sf-policy-actions,
  .sf-refund-policy-page .sf-policy-contact-actions {
    display: grid !important;
  }
  .sf-refund-policy-page .sf-policy-btn {
    width: 100% !important;
  }
}
/* === Spatial Flow Step 5I SAFE 2: Refund Policy Layout Conflict Hotfix END === */

/* === Spatial Flow Step 5K: FAQ / Help Native Rebuild START === */
.sf-faq-native-page {
  background: var(--sf-bg, #f6f1eb);
  color: var(--sf-ink, #1f1916);
  overflow-x: hidden;
}

.sf-faq-native-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 34px;
  color: rgba(31,25,22,.44);
  font-size: 13px;
}

.sf-faq-native-breadcrumb a {
  color: rgba(31,25,22,.58) !important;
  text-decoration: none !important;
}

.sf-faq-native-hero {
  padding: 26px 0 34px;
}

.sf-faq-native-hero-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(31,25,22,.09);
  border-radius: 44px;
  background:
    radial-gradient(circle at 84% 18%, rgba(237,231,223,.96), transparent 28%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(244,238,230,.72));
  box-shadow: 0 18px 48px rgba(31,25,22,.075);
  padding: clamp(30px,5vw,58px);
}

.sf-faq-native-hero-panel::after {
  content: "";
  position: absolute;
  right: -76px;
  bottom: -120px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(31,25,22,.08);
  border-radius: 999px;
  pointer-events: none;
}

.sf-faq-native-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) 365px;
  gap: 42px;
  align-items: end;
}

.sf-faq-native-hero-copy h1 {
  margin: 12px 0 0;
  max-width: 840px;
  font-size: clamp(48px,6.2vw,86px);
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 650;
}

.sf-faq-native-hero-copy p {
  max-width: 700px;
  margin: 20px 0 0;
  color: var(--sf-muted, rgba(31,25,22,.62));
  font-size: 16px;
  line-height: 1.76;
}

.sf-faq-native-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sf-faq-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 999px !important;
  padding: 0 24px;
  text-decoration: none !important;
  border: 1px solid rgba(31,25,22,.09);
  font-size: 14px;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.sf-faq-btn:hover {
  transform: translateY(-1px);
}

.sf-faq-btn--dark {
  background: var(--sf-ink, #1f1916);
  border-color: var(--sf-ink, #1f1916);
  color: #fff !important;
}

.sf-faq-btn--light {
  background: #fff;
  color: var(--sf-ink, #1f1916) !important;
}

.sf-faq-btn--line {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,.22);
}

.sf-faq-native-index-card {
  border-radius: 32px;
  background: rgba(255,253,250,.82);
  border: 1px solid rgba(31,25,22,.07);
  padding: 24px;
  box-shadow: 0 14px 34px rgba(31,25,22,.055);
}

.sf-faq-native-index-card > strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.sf-faq-native-index-card p {
  display: block;
  margin: 8px 0 0;
  color: rgba(31,25,22,.56);
  font-size: 14px;
  line-height: 1.65;
}

.sf-faq-native-index-list {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.sf-faq-native-index-list a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none !important;
  border-radius: 16px;
  background: #fff;
  padding: 12px 14px;
  color: rgba(31,25,22,.72) !important;
  font-size: 13px;
}

.sf-faq-native-index-list em,
.sf-faq-native-toc-nav em {
  color: rgba(31,25,22,.42);
  font-style: normal;
}

.sf-faq-native-section-wrap {
  padding: 28px 0 42px;
}

.sf-faq-native-section-headline {
  margin-bottom: 24px;
}

.sf-faq-native-section-headline p {
  max-width: 560px;
  color: var(--sf-muted, rgba(31,25,22,.62));
  line-height: 1.72;
}

.sf-faq-native-path-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 14px;
}

.sf-faq-native-path-card {
  position: relative;
  overflow: hidden;
  min-height: 168px;
  border: 1px solid rgba(31,25,22,.09);
  border-radius: 26px;
  background: rgba(255,253,250,.94);
  box-shadow: 0 10px 26px rgba(31,25,22,.045);
  padding: 20px;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

.sf-faq-native-path-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(31,25,22,.09);
}

.sf-faq-native-path-card small {
  display: block;
  color: rgba(31,25,22,.42);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.sf-faq-native-path-card strong {
  display: block;
  margin-top: 16px;
  color: var(--sf-ink, #1f1916);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.sf-faq-native-path-card span {
  display: block;
  margin-top: 9px;
  color: rgba(31,25,22,.56);
  font-size: 12px;
  line-height: 1.5;
}

.sf-faq-native-layout {
  display: grid;
  grid-template-columns: 280px minmax(0,1fr);
  gap: 28px;
  align-items: start;
}

.sf-faq-native-toc {
  position: sticky;
  top: 104px;
  border-radius: 30px;
  background: #1f1916;
  color: #fff;
  padding: 24px;
  box-shadow: 0 24px 70px rgba(31,25,22,.14);
}

.sf-faq-native-toc .sf-kicker,
.sf-faq-native-contact-panel .sf-kicker {
  color: rgba(255,255,255,.42);
}

.sf-faq-native-toc h2 {
  margin: 12px 0 0;
  color: #fff;
  font-size: 34px;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.sf-faq-native-toc p {
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.7;
}

.sf-faq-native-toc-nav {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.sf-faq-native-toc-nav a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none !important;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 17px;
  padding: 12px;
  color: rgba(255,255,255,.8) !important;
  font-size: 13px;
}

.sf-faq-native-toc-nav em {
  color: rgba(255,255,255,.44);
}

.sf-faq-native-content {
  display: grid;
  gap: 18px;
}

.sf-faq-native-section {
  border: 1px solid rgba(31,25,22,.09);
  border-radius: 34px;
  background: rgba(255,253,250,.94);
  box-shadow: 0 18px 48px rgba(31,25,22,.075);
  overflow: hidden;
  scroll-margin-top: 110px;
}

.sf-faq-native-section-head {
  display: grid;
  grid-template-columns: 86px minmax(0,1fr);
  gap: 20px;
  align-items: center;
  padding: 26px;
  border-bottom: 1px solid rgba(31,25,22,.09);
  background: linear-gradient(135deg,rgba(255,255,255,.75),rgba(244,238,230,.42));
}

.sf-faq-native-num {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: #f4eee6;
  display: grid;
  place-items: center;
  color: rgba(31,25,22,.48);
  font-size: 12px;
  font-weight: 800;
}

.sf-faq-native-section-head h2 {
  margin: 10px 0 0;
  font-size: clamp(30px,3.4vw,44px);
  line-height: 1.05;
  letter-spacing: -.03em;
}

.sf-faq-native-section-head p {
  margin: 8px 0 0;
  color: var(--sf-muted, rgba(31,25,22,.62));
  font-size: 14px;
  line-height: 1.65;
}

.sf-faq-native-items {
  padding: 10px 26px 20px;
}

.sf-faq-native-item {
  border-bottom: 1px solid rgba(31,25,22,.08);
}

.sf-faq-native-item:last-child {
  border-bottom: 0;
}

.sf-faq-native-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  color: var(--sf-ink, #1f1916);
  font-weight: 750;
}

.sf-faq-native-item summary::-webkit-details-marker {
  display: none;
}

.sf-faq-native-item summary::after {
  content: "+";
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f4eee6;
  display: grid;
  place-items: center;
  color: rgba(31,25,22,.58);
  font-size: 18px;
  flex: 0 0 auto;
}

.sf-faq-native-item[open] summary::after {
  content: "−";
}

.sf-faq-native-answer {
  padding: 0 0 20px;
  color: var(--sf-muted, rgba(31,25,22,.62));
  font-size: 14px;
  line-height: 1.78;
}

.sf-faq-native-answer p {
  margin: 0 0 12px;
  color: inherit;
}

.sf-faq-native-answer p:last-child {
  margin-bottom: 0;
}

.sf-faq-native-prep-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.sf-faq-native-prep-card {
  border-radius: 28px;
  background: #f4eee6;
  border: 1px solid rgba(31,25,22,.09);
  padding: 24px;
}

.sf-faq-native-prep-card h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.sf-faq-native-prep-card p {
  color: var(--sf-muted, rgba(31,25,22,.62));
  font-size: 14px;
  line-height: 1.72;
}

.sf-faq-native-final-section {
  padding-bottom: 70px;
}

.sf-faq-native-contact-panel {
  border-radius: 42px;
  background: #1f1916;
  color: #fff;
  padding: clamp(30px,4vw,46px);
  display: grid;
  grid-template-columns: minmax(0,1fr) 380px;
  gap: 34px;
  align-items: center;
  box-shadow: 0 24px 70px rgba(31,25,22,.14);
}

.sf-faq-native-contact-panel h2 {
  margin: 12px 0 0;
  color: #fff;
  font-size: clamp(34px,4.2vw,58px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sf-faq-native-contact-panel p {
  color: rgba(255,255,255,.68);
  line-height: 1.75;
}

.sf-faq-native-contact-actions {
  display: grid;
  gap: 12px;
}

@media (max-width: 1100px) {
  .sf-faq-native-hero-grid,
  .sf-faq-native-layout,
  .sf-faq-native-contact-panel {
    grid-template-columns: 1fr;
  }

  .sf-faq-native-toc {
    position: relative;
    top: auto;
  }

  .sf-faq-native-path-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 767px) {
  .sf-faq-native-breadcrumb {
    width: min(100% - 32px,1180px);
  }

  .sf-faq-native-hero-panel,
  .sf-faq-native-section,
  .sf-faq-native-toc,
  .sf-faq-native-contact-panel {
    border-radius: 28px;
  }

  .sf-faq-native-hero-panel {
    padding: 28px;
  }

  .sf-faq-native-hero-copy h1 {
    font-size: 41px;
    letter-spacing: -.02em;
  }

  .sf-faq-native-actions,
  .sf-faq-native-contact-actions {
    display: grid;
  }

  .sf-faq-btn {
    width: 100%;
  }

  .sf-faq-native-path-grid,
  .sf-faq-native-prep-grid {
    grid-template-columns: 1fr;
  }

  .sf-faq-native-section-wrap {
    padding: 24px 0 32px;
  }

  .sf-faq-native-section-headline {
    display: block;
  }

  .sf-faq-native-path-card {
    min-height: auto;
  }

  .sf-faq-native-section-head {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px;
  }

  .sf-faq-native-num {
    width: 52px;
    height: 52px;
  }

  .sf-faq-native-items {
    padding: 4px 20px 16px;
  }

  .sf-faq-native-item summary {
    padding: 18px 0;
    font-size: 15px;
  }
}
/* === Spatial Flow Step 5K: FAQ / Help Native Rebuild END === */


/* === Spatial Flow Step 5K SAFE 2: FAQ Sticky + Refund Top Gap Hotfix START ===
   CSS-only.
   1) Restores the FAQ left index sticky behavior on tablet/desktop widths.
   2) Removes/neutralizes the blank white strip that can appear above the Refunds & Returns native page.
   Does not touch PHP, JS, WooCommerce templates, Header, Mega Menu, Services, Track Order, Thank You, Contact, or Product Guidance.
*/

/* Refund / Returns: neutralize the white gap from Astra/page-builder wrappers above the native page. */
body:has(.sf-refund-policy-page),
body:has(.sf-refund-policy-page) #page,
body:has(.sf-refund-policy-page) .site,
body:has(.sf-refund-policy-page) .site-content,
body:has(.sf-refund-policy-page) #content,
body:has(.sf-refund-policy-page) .ast-container,
body:has(.sf-refund-policy-page) #primary,
body:has(.sf-refund-policy-page) .content-area {
  background: var(--sf-bg, #f6f1eb) !important;
}

body:has(.sf-refund-policy-page) .site-content,
body:has(.sf-refund-policy-page) #content,
body:has(.sf-refund-policy-page) #primary {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.sf-refund-policy-page {
  margin-top: 0 !important;
  background: var(--sf-bg, #f6f1eb) !important;
}

/* FAQ / Help: keep sticky working even if earlier responsive rules or wrapper overflow interfere. */
.sf-faq-native-page,
.sf-faq-native-page .sf-container,
.sf-faq-native-page .sf-faq-native-section-wrap,
.sf-faq-native-page .sf-faq-native-layout {
  overflow: visible !important;
}

.sf-faq-native-layout {
  align-items: start !important;
}

@media (min-width: 768px) {
  .sf-faq-native-toc {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 112px !important;
    align-self: start !important;
    max-height: calc(100vh - 138px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}

/* On small mobile screens the FAQ index should stay in the document flow, not sticky. */
@media (max-width: 767px) {
  .sf-faq-native-toc {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* === Spatial Flow Step 5K SAFE 2: FAQ Sticky + Refund Top Gap Hotfix END === */


/* === Spatial Flow Step 5K SAFE 3: FAQ Gap + Sticky Strong Fix START ===
   CSS-only.
   Fixes:
   1) FAQ page white strip below the header.
   2) FAQ INDEX not sticking on desktop because the previous responsive rule changed layout at <=1100px and parent overflow could break sticky.
   Scope is limited to the native FAQ page /faq/ and does not change Refunds, Services, Track Order, Thank You, Header, Mega Menu, Product Guidance, or WooCommerce templates.
*/

/* FAQ page: make the area below header use the native page background, not Astra/page-builder white. */
body.page-id-685,
body.page-id-685 #page,
body.page-id-685 .site,
body.page-id-685 .site-content,
body.page-id-685 #content,
body.page-id-685 .ast-container,
body.page-id-685 #primary,
body.page-id-685 .content-area,
body.page-id-685 .site-main,
body.page-id-685 article,
body.page-id-685 .entry-content,
body:has(.sf-faq-native-page),
body:has(.sf-faq-native-page) #page,
body:has(.sf-faq-native-page) .site,
body:has(.sf-faq-native-page) .site-content,
body:has(.sf-faq-native-page) #content,
body:has(.sf-faq-native-page) .ast-container,
body:has(.sf-faq-native-page) #primary,
body:has(.sf-faq-native-page) .content-area,
body:has(.sf-faq-native-page) .site-main,
body:has(.sf-faq-native-page) article,
body:has(.sf-faq-native-page) .entry-content {
  background: var(--sf-bg, #f6f1eb) !important;
}

body.page-id-685 .site-content,
body.page-id-685 #content,
body.page-id-685 #primary,
body.page-id-685 .site-main,
body.page-id-685 article,
body.page-id-685 .entry-content,
body:has(.sf-faq-native-page) .site-content,
body:has(.sf-faq-native-page) #content,
body:has(.sf-faq-native-page) #primary,
body:has(.sf-faq-native-page) .site-main,
body:has(.sf-faq-native-page) article,
body:has(.sf-faq-native-page) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Some Astra / page-builder templates leave an empty entry-header/banner area.
   Hide it only on the native FAQ page. */
body.page-id-685 .entry-header,
body.page-id-685 .ast-single-entry-banner,
body:has(.sf-faq-native-page) .entry-header,
body:has(.sf-faq-native-page) .ast-single-entry-banner {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Sticky needs all ancestors to be overflow-visible. */
.sf-faq-native-page,
.sf-faq-native-page .sf-container,
.sf-faq-native-page .sf-faq-native-section-wrap,
.sf-faq-native-page .sf-faq-native-layout,
body.page-id-685 .site-content,
body.page-id-685 #content,
body.page-id-685 .ast-container,
body.page-id-685 #primary,
body.page-id-685 .site-main,
body.page-id-685 article,
body.page-id-685 .entry-content {
  overflow: visible !important;
}

/* Desktop / wide-tablet: force the FAQ content back to a two-column layout
   so the black FAQ INDEX can remain as a sticky left rail. */
@media (min-width: 900px) {
  .sf-faq-native-layout {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }

  .sf-faq-native-toc {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 112px !important;
    align-self: start !important;
    height: auto !important;
    max-height: calc(100vh - 138px) !important;
    overflow-y: auto !important;
    z-index: 3 !important;
  }
}

/* Mobile: keep the index normal and avoid sticky occupying screen space. */
@media (max-width: 899px) {
  .sf-faq-native-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .sf-faq-native-toc {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* === Spatial Flow Step 5K SAFE 3: FAQ Gap + Sticky Strong Fix END === */


/* === Spatial Flow Step 5K SAFE 4: FAQ Prep Cards Vertical Alignment START ===
   CSS-only.
   Fixes the "Before Contacting Us" three small cards where title/text sit too high
   and too close to the edge.
   Scope: FAQ native page only.
*/

.sf-faq-native-prep-card {
  min-height: 138px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 28px 32px !important;
}

.sf-faq-native-prep-card h3 {
  margin: 0 0 9px !important;
  line-height: 1.12 !important;
}

.sf-faq-native-prep-card p {
  margin: 0 !important;
  line-height: 1.68 !important;
}

@media (max-width: 767px) {
  .sf-faq-native-prep-card {
    min-height: auto !important;
    padding: 24px !important;
    justify-content: flex-start !important;
  }
}

/* === Spatial Flow Step 5K SAFE 4: FAQ Prep Cards Vertical Alignment END === */

/* === Spatial Flow Step 5M: Wishlist Desktop + Mobile Visual Polish START ===
   Scope: /wishlist/ page only.
   Keeps YITH Wishlist and WooCommerce actions intact: product links, remove links,
   stock status and Add to cart / Select options links are not rewritten.
*/

body.woocommerce-wishlist,
body.woocommerce-wishlist #page,
body.woocommerce-wishlist .site,
body.woocommerce-wishlist .site-content,
body.woocommerce-wishlist #content,
body.woocommerce-wishlist .ast-container,
body.woocommerce-wishlist #primary,
body.woocommerce-wishlist .site-main,
body.woocommerce-wishlist article,
body.woocommerce-wishlist .entry-content {
  background: var(--sf-bg, #f6f1eb) !important;
}

body.woocommerce-wishlist .site-content .ast-container {
  display: block !important;
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-wishlist #secondary {
  display: none !important;
}

body.woocommerce-wishlist #primary,
body.woocommerce-wishlist .content-area {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-wishlist .entry-header,
body.woocommerce-wishlist .ast-single-entry-banner,
body.woocommerce-wishlist .wishlist-title-container {
  display: none !important;
}

body.woocommerce-wishlist .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

.sf-wishlist-native-page {
  --sf-wishlist-bg: var(--sf-bg, #f6f1eb);
  --sf-wishlist-ink: var(--sf-ink, #1f1916);
  --sf-wishlist-muted: rgba(31,25,22,.62);
  --sf-wishlist-line: rgba(31,25,22,.09);
  --sf-wishlist-soft: #f1eae1;
  color: var(--sf-wishlist-ink);
  background: var(--sf-wishlist-bg);
  padding: 34px 0 70px;
}

.sf-wishlist-native-container {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.sf-wishlist-native-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(31,25,22,.46);
  font-size: 13px;
  margin-bottom: 24px;
}

.sf-wishlist-native-breadcrumb a {
  color: rgba(31,25,22,.58) !important;
  text-decoration: none !important;
}

.sf-wishlist-native-kicker {
  display: inline-flex;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .32em;
  font-size: 11px;
}

.sf-wishlist-native-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 365px;
  gap: 42px;
  align-items: end;
  border: 1px solid var(--sf-wishlist-line);
  border-radius: 44px;
  background:
    radial-gradient(circle at 86% 16%, rgba(237,231,223,.98), transparent 30%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(244,238,230,.76));
  box-shadow: 0 20px 58px rgba(31,25,22,.08);
  padding: clamp(32px, 5vw, 60px);
}

.sf-wishlist-native-hero::after {
  content: "";
  position: absolute;
  right: -78px;
  bottom: -118px;
  width: 320px;
  height: 320px;
  border: 1px solid rgba(31,25,22,.08);
  border-radius: 999px;
  pointer-events: none;
}

.sf-wishlist-native-hero__copy,
.sf-wishlist-native-hero__card {
  position: relative;
  z-index: 1;
}

.sf-wishlist-native-hero h1 {
  margin: 14px 0 0;
  max-width: 760px;
  font-size: clamp(48px, 6vw, 86px);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-transform: none;
}

.sf-wishlist-native-hero p {
  max-width: 680px;
  margin: 20px 0 0;
  color: var(--sf-wishlist-muted);
  font-size: 16px;
  line-height: 1.76;
}

.sf-wishlist-native-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sf-wishlist-native-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 999px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
  border: 1px solid var(--sf-wishlist-line) !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700;
}

.sf-wishlist-native-btn--dark {
  background: var(--sf-wishlist-ink) !important;
  border-color: var(--sf-wishlist-ink) !important;
  color: #fff !important;
}

.sf-wishlist-native-btn--light {
  background: #fff !important;
  color: var(--sf-wishlist-ink) !important;
}

.sf-wishlist-native-hero__card {
  border-radius: 32px;
  background: rgba(255,253,250,.82);
  border: 1px solid rgba(31,25,22,.07);
  box-shadow: 0 14px 34px rgba(31,25,22,.055);
  padding: 24px;
}

.sf-wishlist-native-hero__card span {
  display: block;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 11px;
}

.sf-wishlist-native-hero__card strong {
  display: block;
  margin-top: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -.03em;
  text-transform: none;
}

.sf-wishlist-native-hero__card p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.65;
}

.sf-wishlist-native-list {
  margin-top: 34px;
  border-radius: 38px;
  background: rgba(255,253,250,.92);
  border: 1px solid var(--sf-wishlist-line);
  box-shadow: 0 18px 48px rgba(31,25,22,.07);
  padding: clamp(24px, 4vw, 38px);
}

.sf-wishlist-native-list__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 26px;
  margin-bottom: 24px;
}

.sf-wishlist-native-list__head h2 {
  margin: 10px 0 0;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -.035em;
  text-transform: none;
}

.sf-wishlist-native-list__head p {
  max-width: 520px;
  margin: 0;
  color: var(--sf-wishlist-muted);
  line-height: 1.72;
  font-size: 14px;
}

.sf-wishlist-native-plugin-shell .woocommerce {
  margin: 0 !important;
}

.sf-wishlist-native-plugin-shell form.yith-wcwl-form {
  margin: 0 !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table thead,
.sf-wishlist-native-plugin-shell table.wishlist_table tbody {
  display: block !important;
  width: 100% !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table thead tr,
.sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
  display: grid !important;
  grid-template-columns: 44px 96px minmax(0, 1.35fr) 140px 132px 170px;
  align-items: center;
  gap: 18px;
  width: 100% !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table thead tr {
  margin-bottom: 12px;
  border-radius: 22px;
  background: var(--sf-wishlist-soft) !important;
  padding: 15px 18px !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table thead th {
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  color: rgba(31,25,22,.48);
  font-size: 11px !important;
  line-height: 1.25;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 800 !important;
  text-align: left !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table tbody {
  display: grid !important;
  gap: 14px;
}

.sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
  position: relative;
  border-radius: 28px;
  background: #fff !important;
  border: 1px solid rgba(31,25,22,.07) !important;
  box-shadow: 0 10px 26px rgba(31,25,22,.045);
  padding: 18px !important;
  min-height: 118px;
  transition: transform .18s ease, box-shadow .18s ease;
}

.sf-wishlist-native-plugin-shell table.wishlist_table tbody tr:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(31,25,22,.08);
}

.sf-wishlist-native-plugin-shell table.wishlist_table td,
.sf-wishlist-native-plugin-shell table.wishlist_table th {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove {
  text-align: center !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove a.remove,
.sf-wishlist-native-plugin-shell table.wishlist_table a.remove.remove_from_wishlist {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(31,25,22,.12) !important;
  background: #fff !important;
  color: rgba(31,25,22,.38) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove a.remove:hover {
  color: var(--sf-wishlist-ink) !important;
  border-color: rgba(31,25,22,.28) !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
  width: 86px !important;
  height: 86px !important;
  max-width: 86px !important;
  border-radius: 18px;
  object-fit: cover;
  background: var(--sf-wishlist-soft);
  display: block;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-name a {
  color: var(--sf-wishlist-ink) !important;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-price {
  color: rgba(31,25,22,.72);
  font-weight: 700;
  font-size: 14px;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-price .amount {
  color: rgba(31,25,22,.72);
}

.sf-wishlist-native-plugin-shell .wishlist-in-stock {
  color: rgba(31,25,22,.68) !important;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a {
  width: 100%;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  border: 1px solid rgba(31,25,22,.1) !important;
  background: var(--sf-wishlist-ink) !important;
  color: #fff !important;
  padding: 0 18px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}

.sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a:hover {
  background: rgba(31,25,22,.86) !important;
  border-color: rgba(31,25,22,.86) !important;
}

.sf-wishlist-native-plugin-shell .yith_wcwl_wishlist_footer,
.sf-wishlist-native-plugin-shell .yith-wcwl-share {
  display: none !important;
}

.sf-wishlist-native-empty {
  margin-top: 28px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid var(--sf-wishlist-line);
  box-shadow: 0 14px 34px rgba(31,25,22,.055);
  padding: clamp(26px, 4vw, 40px);
}

.sf-wishlist-native-empty h2 {
  margin: 0;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.06;
  letter-spacing: -.035em;
  text-transform: none;
}

.sf-wishlist-native-empty p {
  max-width: 650px;
  color: var(--sf-wishlist-muted);
  line-height: 1.72;
}

.sf-wishlist-native-plugin-shell .wishlist-empty,
.sf-wishlist-native-plugin-shell .yith-wcwl-wishlist-empty {
  border-radius: 28px !important;
  background: #fff !important;
  border: 1px solid rgba(31,25,22,.08) !important;
  padding: 26px !important;
  color: var(--sf-wishlist-muted) !important;
  box-shadow: 0 10px 26px rgba(31,25,22,.045);
}

.sf-wishlist-native-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.sf-wishlist-native-note {
  border-radius: 30px;
  background: rgba(255,253,250,.92);
  border: 1px solid var(--sf-wishlist-line);
  box-shadow: 0 12px 30px rgba(31,25,22,.055);
  padding: 26px;
}

.sf-wishlist-native-note > span {
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 10px;
}

.sf-wishlist-native-note h3 {
  margin: 14px 0 0;
  font-size: 26px;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-transform: none;
}

.sf-wishlist-native-note p {
  margin: 12px 0 0;
  color: var(--sf-wishlist-muted);
  font-size: 14px;
  line-height: 1.72;
}

@media (max-width: 1100px) {
  .sf-wishlist-native-hero,
  .sf-wishlist-native-list__head {
    grid-template-columns: 1fr;
  }

  .sf-wishlist-native-hero {
    display: block;
  }

  .sf-wishlist-native-hero__card {
    margin-top: 28px;
  }

  .sf-wishlist-native-list__head {
    display: block;
  }

  .sf-wishlist-native-list__head p {
    margin-top: 14px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table thead tr,
  .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
    grid-template-columns: 40px 82px minmax(0, 1fr) 120px 116px 148px;
    gap: 14px;
  }
}

@media (max-width: 767px) {
  .sf-wishlist-native-page {
    padding: 22px 0 46px;
  }

  .sf-wishlist-native-container {
    width: min(100% - 32px, 1180px);
  }

  .sf-wishlist-native-breadcrumb {
    margin-bottom: 18px;
  }

  .sf-wishlist-native-hero,
  .sf-wishlist-native-list,
  .sf-wishlist-native-empty {
    border-radius: 28px;
  }

  .sf-wishlist-native-hero {
    padding: 28px;
  }

  .sf-wishlist-native-hero h1 {
    font-size: 42px;
    line-height: 1.03;
    letter-spacing: -.025em;
  }

  .sf-wishlist-native-hero p {
    font-size: 14px;
  }

  .sf-wishlist-native-hero__actions {
    display: grid;
  }

  .sf-wishlist-native-btn {
    width: 100%;
  }

  .sf-wishlist-native-list {
    margin-top: 24px;
    padding: 20px;
  }

  .sf-wishlist-native-list__head h2 {
    font-size: 34px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table thead {
    display: none !important;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table,
  .sf-wishlist-native-plugin-shell table.wishlist_table tbody {
    display: block !important;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table tbody {
    display: grid !important;
    gap: 16px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    grid-template-areas:
      "thumb name"
      "thumb price"
      "thumb stock"
      "action action";
    gap: 10px 14px !important;
    min-height: 0;
    padding: 18px !important;
    border-radius: 24px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td {
    display: block !important;
    width: auto !important;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove {
    position: absolute !important;
    top: 14px;
    right: 14px;
    z-index: 2;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove a.remove {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    background: rgba(255,255,255,.92) !important;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail {
    grid-area: thumb;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
    width: 74px !important;
    height: 74px !important;
    max-width: 74px !important;
    border-radius: 16px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name {
    grid-area: name;
    padding-right: 34px !important;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name a {
    display: block;
    font-size: 17px;
    line-height: 1.25;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price {
    grid-area: price;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 24px;
    font-size: 13px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price::before {
    content: "Price";
    color: rgba(31,25,22,.5);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 800;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status {
    grid-area: stock;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 24px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status::before {
    content: "Stock";
    color: rgba(31,25,22,.5);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 800;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart {
    grid-area: action;
    margin-top: 6px;
  }

  .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a {
    width: 100%;
    min-height: 46px;
  }

  .sf-wishlist-native-notes {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
  }

  .sf-wishlist-native-note {
    border-radius: 24px;
    padding: 22px;
  }
}

/* === Spatial Flow Step 5M: Wishlist Desktop + Mobile Visual Polish END === */


/* === Spatial Flow Step 5M SAFE 2: Wishlist Empty State Clean Fix START ===
   CSS-only.
   Purpose:
   - When Wishlist is empty, YITH outputs a default "No products added to the wishlist" row inside the old table.
   - On our visual shell that row becomes narrow and ugly.
   - Hide the plugin's empty table/list block and let the native empty-state card below become the only empty message.
   Scope:
   - /wishlist/ only.
   - Does not change YITH Wishlist data, remove logic, add-to-cart logic, WooCommerce sessions, or database records.
*/

/* Hide the old YITH table/list area only when the plugin has rendered an empty wishlist message. */
body.woocommerce-wishlist .sf-wishlist-native-list:has(.wishlist-empty),
body.woocommerce-wishlist .sf-wishlist-native-list:has(.yith-wcwl-wishlist-empty),
body.woocommerce-wishlist .sf-wishlist-native-list:has(.yith-wcwl-empty-message) {
  display: none !important;
}

/* Fallback: if the browser keeps the panel but sees the empty plugin cell, make sure the ugly plugin text is not visible. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .wishlist-empty,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .yith-wcwl-wishlist-empty,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .yith-wcwl-empty-message {
  display: none !important;
}

/* Make the native empty state look intentional when it moves up after the list is hidden. */
body.woocommerce-wishlist .sf-wishlist-native-empty {
  margin-top: 34px !important;
  border-radius: 38px !important;
  background:
    radial-gradient(circle at 88% 22%, rgba(237,231,223,.82), transparent 30%),
    rgba(255,253,250,.94) !important;
  box-shadow: 0 18px 48px rgba(31,25,22,.07) !important;
  min-height: 220px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
}

body.woocommerce-wishlist .sf-wishlist-native-empty h2 {
  max-width: 660px !important;
}

body.woocommerce-wishlist .sf-wishlist-native-empty p {
  max-width: 680px !important;
  line-height: 1.76 !important;
}

@media (max-width: 767px) {
  body.woocommerce-wishlist .sf-wishlist-native-empty {
    margin-top: 24px !important;
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    border-radius: 28px !important;
    padding: 26px !important;
  }
}

/* === Spatial Flow Step 5M SAFE 2: Wishlist Empty State Clean Fix END === */


/* === Spatial Flow Step 5M SAFE 3: Wishlist V3 Final Visual START ===
   Full visual swap to the approved Wishlist V3 direction.
   Scope: /wishlist/ only.
*/

body.woocommerce-wishlist .sf-wishlist-native-page {
  padding: 34px 0 70px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-intro {
  padding: 34px 0 30px !important;
  border-bottom: 1px solid rgba(31,25,22,.13) !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-intro__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 52px !important;
  align-items: end !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-intro__copy h1 {
  margin: 14px 0 0 !important;
  max-width: 780px !important;
  font-size: clamp(52px, 6.7vw, 90px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.04em !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-intro__copy p {
  max-width: 680px !important;
  margin: 18px 0 0 !important;
  color: rgba(31,25,22,.62) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-stat {
  border-left: 1px solid rgba(31,25,22,.13) !important;
  padding-left: 24px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-stat strong {
  display: block !important;
  font-family: var(--sf-font-display, "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif) !important;
  font-size: 34px !important;
  line-height: 1.02 !important;
  letter-spacing: -.03em !important;
  color: var(--sf-ink, #1f1916) !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-stat > span {
  display: block !important;
  margin-top: 10px !important;
  color: rgba(31,25,22,.55) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-stat__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-layout {
  display: grid !important;
  grid-template-columns: 258px minmax(0, 1fr) !important;
  gap: 46px !important;
  padding-top: 38px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index {
  position: sticky !important;
  top: 104px !important;
  align-self: start !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index__inner {
  border-top: 2px solid var(--sf-ink, #1f1916) !important;
  padding-top: 18px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index__inner h2 {
  margin: 0 !important;
  font-family: var(--sf-font-display, "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif) !important;
  font-size: 31px !important;
  line-height: 1.06 !important;
  letter-spacing: -.03em !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index__inner p {
  margin: 12px 0 0 !important;
  color: rgba(31,25,22,.62) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav {
  display: grid !important;
  margin-top: 22px !important;
  border-top: 1px solid rgba(31,25,22,.13) !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(31,25,22,.13) !important;
  color: rgba(31,25,22,.74) !important;
  text-decoration: none !important;
  font-size: 14px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav a em {
  color: rgba(31,25,22,.42) !important;
  font-style: normal !important;
  font-size: 12px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-content {
  display: grid !important;
  gap: 44px !important;
  min-width: 0 !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-section {
  border-top: 1px solid rgba(31,25,22,.13) !important;
  padding-top: 26px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-section__head {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  margin-bottom: 22px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-number {
  font-family: var(--sf-font-display, "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif) !important;
  font-size: 32px !important;
  line-height: 1 !important;
  color: rgba(31,25,22,.31) !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-section__head h2 {
  margin: 10px 0 0 !important;
  font-size: clamp(32px, 4vw, 54px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-section__head p {
  max-width: 650px !important;
  margin: 12px 0 0 !important;
  color: rgba(31,25,22,.62) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-list {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-wishlist .sf-wishlist-native-list__head {
  display: none !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell {
  border-top: 1px solid rgba(31,25,22,.13) !important;
}

body.woocommerce-wishlist .sf-wishlist-native-notes {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid rgba(31,25,22,.13) !important;
  border-left: 1px solid rgba(31,25,22,.13) !important;
}

body.woocommerce-wishlist .sf-wishlist-native-note {
  min-height: 168px !important;
  padding: 23px !important;
  border-right: 1px solid rgba(31,25,22,.13) !important;
  border-bottom: 1px solid rgba(31,25,22,.13) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-wishlist .sf-wishlist-native-note h3 {
  margin: 15px 0 0 !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-note p {
  margin: 10px 0 0 !important;
  color: rgba(31,25,22,.62) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-empty {
  margin-top: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,253,250,.48) !important;
  border: 1px solid rgba(31,25,22,.13) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 28px !important;
}

body.woocommerce-wishlist .sf-wishlist-native-empty h2 {
  margin: 0 !important;
  font-size: 32px !important;
  line-height: 1.06 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-empty p {
  max-width: 620px !important;
  margin: 12px 0 0 !important;
}

@media (max-width: 1000px) {
  body.woocommerce-wishlist .sf-wishlist-v3-intro__grid,
  body.woocommerce-wishlist .sf-wishlist-v3-layout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-stat {
    border-left: 0 !important;
    border-top: 1px solid rgba(31,25,22,.13) !important;
    padding-left: 0 !important;
    padding-top: 18px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index {
    position: relative !important;
    top: auto !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    border-left: 1px solid rgba(31,25,22,.13) !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav a {
    display: block !important;
    padding: 14px !important;
    border-right: 1px solid rgba(31,25,22,.13) !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav a em {
    display: block !important;
    margin-top: 8px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-notes {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body.woocommerce-wishlist .sf-wishlist-v3-intro {
    padding: 28px 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro__copy h1 {
    font-size: 42px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-layout {
    gap: 34px !important;
    padding-top: 30px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-section__head {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-empty {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-stat__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-stat__actions .sf-wishlist-native-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* === Spatial Flow Step 5M SAFE 3: Wishlist V3 Final Visual END === */


/* === Spatial Flow Step 5M SAFE 4: Wishlist V3 Detail Tightening START ===
   CSS-only.
   Purpose:
   SAFE 3 changed the page shell to V3, but the product list still inherited the old SAFE 1
   rounded-card / pill-table styling. This patch forces the live YITH table output closer to
   the approved V3 editorial list: line-based rows, square thumbnails, serif product titles,
   less card feeling, quieter buttons, and cleaner mobile rows.
   Scope: /wishlist/ only.
*/

body.woocommerce-wishlist .sf-wishlist-v3-page {
  --sf-wishlist-v3-line: rgba(31,25,22,.13);
  --sf-wishlist-v3-line-soft: rgba(31,25,22,.075);
  --sf-wishlist-v3-muted: rgba(31,25,22,.62);
}

/* Make the whole page more editorial and less "card page". */
body.woocommerce-wishlist .sf-wishlist-v3-intro {
  padding-top: 38px !important;
  padding-bottom: 34px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-intro__grid {
  grid-template-columns: minmax(0, 1fr) 300px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-intro__copy h1 {
  max-width: 760px !important;
  font-size: clamp(54px, 6.8vw, 92px) !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-stat__actions {
  margin-top: 18px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-layout {
  grid-template-columns: 255px minmax(0, 1fr) !important;
  gap: 44px !important;
}

/* Product section: remove the old beige table header/pill feeling. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell {
  border-top: 1px solid var(--sf-wishlist-v3-line) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Hide the product-name/unit-price/stock-status pill header.
   The V3 visual reads like an object list, not a table. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table thead {
  display: none !important;
}

/* Turn YITH table body into editorial line list. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) 118px 104px 148px 38px !important;
  gap: 22px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 22px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sf-wishlist-v3-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr:hover {
  transform: none !important;
  box-shadow: none !important;
  background: rgba(255,253,250,.28) !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table th {
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

/* Exact live YITH columns */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price {
  grid-column: 3 !important;
  grid-row: 1 !important;
  text-align: left !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status {
  grid-column: 4 !important;
  grid-row: 1 !important;
  text-align: left !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart {
  grid-column: 5 !important;
  grid-row: 1 !important;
  text-align: right !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove {
  grid-column: 6 !important;
  grid-row: 1 !important;
  text-align: right !important;
  position: static !important;
}

/* Thumbnail: less product-card, more catalogue object. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  max-width: 92px !important;
  border-radius: 2px !important;
  object-fit: cover !important;
  background: #eee6dc !important;
  border: 1px solid var(--sf-wishlist-v3-line-soft) !important;
}

/* Product title should be editorial, not plugin bold sans. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name a {
  display: block !important;
  max-width: 580px !important;
  color: var(--sf-wishlist-ink, #1f1916) !important;
  text-decoration: none !important;
  font-family: var(--sf-font-display, "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
  font-weight: 650 !important;
}

/* Add a subtle meta-like rhythm under the name without duplicating too much. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name::after {
  content: "Saved piece";
  display: inline-block;
  margin-top: 12px;
  color: rgba(31,25,22,.48);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 850;
}

/* Price / stock: quiet, compact. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price .amount,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price ins,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price del {
  color: rgba(31,25,22,.74) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  text-decoration-thickness: 1px !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .wishlist-in-stock,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .wishlist-out-of-stock,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status {
  color: rgba(31,25,22,.48) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

/* Action button: black editorial pill, smaller and calmer. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a.button {
  width: auto !important;
  min-width: 128px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid var(--sf-wishlist-ink, #1f1916) !important;
  background: var(--sf-wishlist-ink, #1f1916) !important;
  color: #fff !important;
  padding: 0 17px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

/* Remove: quiet circle at the far right, not a visual interruption. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove a.remove,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table a.remove.remove_from_wishlist {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid var(--sf-wishlist-v3-line) !important;
  background: transparent !important;
  color: rgba(31,25,22,.42) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove a.remove:hover {
  color: var(--sf-wishlist-ink, #1f1916) !important;
  border-color: rgba(31,25,22,.32) !important;
  background: rgba(255,253,250,.62) !important;
}

/* Keep plugin share/footer hidden. */
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .yith_wcwl_wishlist_footer,
body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .yith-wcwl-share {
  display: none !important;
}

/* Empty state: no ugly plugin row, only our native empty block. */
body.woocommerce-wishlist .sf-wishlist-v3-page--empty .sf-wishlist-native-list,
body.woocommerce-wishlist .sf-wishlist-v3-page--empty .sf-wishlist-native-plugin-shell,
body.woocommerce-wishlist .sf-wishlist-v3-page--empty .wishlist_table,
body.woocommerce-wishlist .sf-wishlist-v3-page--empty .wishlist-empty,
body.woocommerce-wishlist .sf-wishlist-v3-page--empty .yith-wcwl-wishlist-empty,
body.woocommerce-wishlist .sf-wishlist-v3-page--empty .yith-wcwl-empty-message {
  display: none !important;
}

/* Notes: make the section less card-like, closer to the V3 preview. */
body.woocommerce-wishlist .sf-wishlist-native-notes {
  margin-top: 0 !important;
}

/* Tablet */
@media (max-width: 1180px) and (min-width: 701px) {
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
    grid-template-columns: 86px minmax(0, 1fr) 116px 96px 136px 36px !important;
    gap: 16px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
    width: 86px !important;
    height: 86px !important;
    max-width: 86px !important;
  }
}

/* Mobile: product rows become compact editorial cards, not broken table fragments. */
@media (max-width: 700px) {
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) 34px !important;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "thumb stock stock"
      "action action action" !important;
    gap: 9px 14px !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid var(--sf-wishlist-v3-line) !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail {
    grid-area: thumb !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
    width: 78px !important;
    height: 78px !important;
    max-width: 78px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name {
    grid-area: name !important;
    padding-right: 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name a {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name::after {
    margin-top: 9px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove {
    grid-area: remove !important;
    text-align: right !important;
    align-self: start !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price {
    grid-area: price !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price::before {
    content: "Price";
    color: rgba(31,25,22,.5);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 900;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status {
    grid-area: stock !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status::before {
    content: "Stock";
    color: rgba(31,25,22,.5);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 900;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart {
    grid-area: action !important;
    text-align: left !important;
    margin-top: 6px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a.button {
    width: 100% !important;
    min-height: 42px !important;
  }
}

/* === Spatial Flow Step 5M SAFE 4: Wishlist V3 Detail Tightening END === */


/* === Spatial Flow Step 5M SAFE 6: Difference Alignment From Marked Screenshots START ===
   Based on user's marked differences:
   1) reduce gap from Home/Wishlist to Saved objects;
   2) reduce right summary height and hide two buttons;
   3) add the third Index item and make Index sticky;
   4) fix note-card border treatment and add lower divider;
   5) show an Empty State preview section even when saved items exist.
   Scope: /wishlist/ only.
*/

/* 1. Top spacing: make breadcrumb -> Saved objects closer. */
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-breadcrumb {
  margin-bottom: 14px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-intro {
  padding-top: 14px !important;
  padding-bottom: 32px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-intro__copy h1 {
  margin-top: 8px !important;
}

/* 2. Right text block: lower height, no buttons, more like the reference note. */
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-stat {
  align-self: end !important;
  max-width: 292px !important;
  border-left: 1px solid rgba(31,25,22,.13) !important;
  padding-left: 22px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-stat strong {
  font-size: 24px !important;
  line-height: 1.05 !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-stat > span {
  margin-top: 10px !important;
  font-size: 13px !important;
  line-height: 1.64 !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-stat__actions {
  display: none !important;
}

/* 3. Index: stronger sticky behavior and bottom rhythm. */
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned,
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-container,
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-layout {
  overflow: visible !important;
}

@media (min-width: 1001px) {
  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-index {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 112px !important;
    align-self: start !important;
    z-index: 2 !important;
  }
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-index__inner {
  border-top: 2px solid var(--sf-ink, #1f1916) !important;
  border-bottom: 1px solid rgba(31,25,22,.13) !important;
  padding-bottom: 14px !important;
}

/* 4. Notes: remove the unwanted rectangular outer box, keep rounded inner cards,
   and add a divider below this whole note group. */
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-notes {
  border-top: 0 !important;
  border-left: 0 !important;
  gap: 18px !important;
  background: transparent !important;
  position: relative !important;
  padding-bottom: 34px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-notes::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 1px !important;
  background: rgba(31,25,22,.13) !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-note {
  border: 1px solid rgba(31,25,22,.10) !important;
  border-radius: 24px !important;
  background: rgba(255,253,250,.36) !important;
  box-shadow: none !important;
}

/* 5. Empty state preview section: visible and reference-like. */
body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-empty {
  margin-top: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,253,250,.48) !important;
  border: 1px solid rgba(31,25,22,.13) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 28px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-empty h2 {
  margin: 0 !important;
  font-size: 32px !important;
}

body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-empty p {
  max-width: 650px !important;
  margin: 12px 0 0 !important;
  line-height: 1.7 !important;
}

@media (max-width: 1000px) {
  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-stat {
    max-width: none !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(31,25,22,.13) !important;
    padding-left: 0 !important;
    padding-top: 18px !important;
  }
}

@media (max-width: 700px) {
  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-v3-intro {
    padding-top: 10px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-notes {
    gap: 14px !important;
    padding-bottom: 24px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-empty {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned .sf-wishlist-native-empty .sf-wishlist-native-btn {
    width: 100% !important;
  }
}

/* === Spatial Flow Step 5M SAFE 6: Difference Alignment From Marked Screenshots END === */


/* === Spatial Flow Step 5M SAFE 7: Wishlist Mobile Hard Fix START ===
   CSS-only.
   Fixes the broken mobile Wishlist layout where the V3 desktop grid/table width
   pushes the content off-screen and leaves a large blank area on the left.
   Scope: /wishlist/ mobile only.
   Desktop SAFE 6 visual remains unchanged.
*/

@media (max-width: 767px) {
  html,
  body.woocommerce-wishlist,
  body.woocommerce-wishlist #page,
  body.woocommerce-wishlist .site,
  body.woocommerce-wishlist .site-content,
  body.woocommerce-wishlist #content,
  body.woocommerce-wishlist .ast-container,
  body.woocommerce-wishlist #primary,
  body.woocommerce-wishlist .site-main,
  body.woocommerce-wishlist article,
  body.woocommerce-wishlist .entry-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-page,
  body.woocommerce-wishlist .sf-wishlist-v3-page,
  body.woocommerce-wishlist .sf-wishlist-v3-page--difference-aligned {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding: 18px 0 44px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-container {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-breadcrumb {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin: 0 auto 14px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro {
    padding: 10px 0 24px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro__copy,
  body.woocommerce-wishlist .sf-wishlist-v3-stat {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro__copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 39px !important;
    line-height: 1.04 !important;
    letter-spacing: -.025em !important;
    word-break: normal !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro__copy p {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-stat {
    border-left: 0 !important;
    border-top: 1px solid rgba(31,25,22,.13) !important;
    padding: 16px 0 0 !important;
    align-self: start !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-stat strong {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-layout {
    display: block !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 28px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index,
  body.woocommerce-wishlist .sf-wishlist-v3-content,
  body.woocommerce-wishlist .sf-wishlist-v3-section,
  body.woocommerce-wishlist .sf-wishlist-native-list,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell {
    position: relative !important;
    top: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index {
    margin: 0 0 30px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 12px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner h2 {
    font-size: 28px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner p {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    border-left: 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-index__inner nav a {
    display: flex !important;
    justify-content: space-between !important;
    border-right: 0 !important;
    padding: 12px 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-content {
    display: grid !important;
    gap: 34px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-section {
    padding-top: 22px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-section__head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-number {
    font-size: 24px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-section__head h2 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 31px !important;
    line-height: 1.07 !important;
    word-break: normal !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-section__head p {
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.68 !important;
  }

  /* Force all YITH table wrappers to stay inside the mobile viewport. */
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell .woocommerce,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell form,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell thead,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table thead {
    display: none !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody {
    display: grid !important;
    gap: 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) 32px !important;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "thumb stock stock"
      "action action action" !important;
    gap: 8px 13px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 17px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(31,25,22,.13) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transform: none !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail {
    grid-area: thumb !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
    width: 76px !important;
    height: 76px !important;
    max-width: 76px !important;
    border-radius: 2px !important;
    object-fit: cover !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name {
    grid-area: name !important;
    padding-right: 0 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name a {
    display: block !important;
    max-width: 100% !important;
    font-size: 20px !important;
    line-height: 1.13 !important;
    letter-spacing: -.02em !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name::after {
    margin-top: 8px !important;
    font-size: 9px !important;
    letter-spacing: .14em !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove {
    grid-area: remove !important;
    position: static !important;
    align-self: start !important;
    justify-self: end !important;
    text-align: right !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-remove a.remove,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table a.remove.remove_from_wishlist {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    background: transparent !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price {
    grid-area: price !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 12px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-price::before {
    content: "Price";
    color: rgba(31,25,22,.5);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 900;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status {
    grid-area: stock !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-stock-status::before {
    content: "Stock";
    color: rgba(31,25,22,.5);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 900;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart {
    grid-area: action !important;
    width: 100% !important;
    text-align: left !important;
    margin-top: 6px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a,
  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-add-to-cart a.button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-notes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 24px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-note {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 20px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-note h3 {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-note p {
    font-size: 13px !important;
    line-height: 1.64 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-empty {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px !important;
    gap: 16px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-empty h2 {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-empty p {
    font-size: 13px !important;
    line-height: 1.66 !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-empty .sf-wishlist-native-btn {
    width: 100% !important;
  }
}

/* Extra narrow phones */
@media (max-width: 420px) {
  body.woocommerce-wishlist .sf-wishlist-native-container,
  body.woocommerce-wishlist .sf-wishlist-native-breadcrumb,
  body.woocommerce-wishlist .sf-wishlist-v3-layout {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-intro__copy h1 {
    font-size: 36px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-v3-section__head h2 {
    font-size: 29px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table tbody tr {
    grid-template-columns: 70px minmax(0, 1fr) 30px !important;
    gap: 8px 12px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-thumbnail img {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
  }

  body.woocommerce-wishlist .sf-wishlist-native-plugin-shell table.wishlist_table td.product-name a {
    font-size: 18px !important;
  }
}

/* === Spatial Flow Step 5M SAFE 7: Wishlist Mobile Hard Fix END === */


/* === Spatial Flow Step 5E-C REBUILD SAFE 1: Track Order Unified Result CSS START ===
   Base: user-restored/latest spatial-flow.css.
   Purpose:
   - Normalize WooCommerce Track Order result output across order statuses.
   - Different order statuses may output different actions: Pay, Cancel, Print Invoice, Download Invoice, tracking info, refund rows, etc.
   - Track Order should remain a status/result page, not a full order-detail address page.
   - Hide Billing / Shipping address blocks on Track Order only to prevent status-dependent layout changes.
   - Keep real WooCommerce order data, totals, status, refund rows, tracking rows, and action links.
   CSS only. No PHP, JS, WooCommerce template, invoice plugin, database, cart, checkout, thank-you, or email changes.
*/

body .sf-track-order-page .sf-track-order-shortcode,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce *,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce *::before,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce *::after {
  box-sizing: border-box !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce > p:first-child {
  margin: 0 0 18px !important;
  padding: 15px 18px !important;
  border-radius: 20px !important;
  background: rgba(239,230,218,.72) !important;
  border: 1px solid rgba(31,25,22,.07) !important;
  color: rgba(31,25,22,.72) !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
  box-shadow: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce > p:first-child mark,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce > p:first-child strong {
  background: transparent !important;
  color: #1f1916 !important;
  font-weight: 850 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: rgba(255,253,250,.96) !important;
  border: 1px solid rgba(31,25,22,.07) !important;
  box-shadow: 0 18px 46px rgba(31,25,22,.075) !important;
  overflow: hidden !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details__title,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details h2,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details h3 {
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
  color: #1f1916 !important;
  font-family: var(--sf-font-display, "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif) !important;
  font-size: clamp(27px, 3vw, 34px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  table-layout: auto !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details thead th,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details thead th {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(31,25,22,.08) !important;
  background: rgba(246,241,235,.58) !important;
  color: rgba(31,25,22,.47) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 850 !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details th,
body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details td,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details th,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details td {
  padding: 13px 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(31,25,22,.075) !important;
  background: transparent !important;
  color: rgba(31,25,22,.72) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  vertical-align: top !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details td:last-child,
body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details th:last-child,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details td:last-child,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details th:last-child {
  text-align: right !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-table__product-name a,
body .sf-track-order-page .sf-track-order-shortcode .product-name a {
  color: #1f1916 !important;
  text-decoration: none !important;
  font-weight: 850 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-table__product-name,
body .sf-track-order-page .sf-track-order-shortcode .product-name {
  color: #1f1916 !important;
  font-weight: 750 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .wc-item-meta,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-table__product-name dl.variation {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: rgba(31,25,22,.58) !important;
  font-size: 12px !important;
  line-height: 1.52 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .wc-item-meta li {
  list-style: none !important;
  margin: 2px 0 !important;
  padding: 0 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-table__product-name a[href*="tracking"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-table__product-name a[href*="track"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-table__product-name a[href^="http"],
body .sf-track-order-page .sf-track-order-shortcode .product-name a[href*="tracking"],
body .sf-track-order-page .sf-track-order-shortcode .product-name a[href*="track"],
body .sf-track-order-page .sf-track-order-shortcode .product-name a[href^="http"] {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  margin: 3px 4px 3px 0 !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: rgba(60,130,246,.10) !important;
  color: #2764c5 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details tfoot th,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details tfoot th {
  color: rgba(31,25,22,.74) !important;
  font-weight: 850 !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details tfoot td,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details tfoot td {
  color: rgba(31,25,22,.78) !important;
  font-weight: 650 !important;
}

body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details tfoot tr:last-child th,
body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details tfoot tr:last-child td,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details tfoot tr:last-child th,
body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details tfoot tr:last-child td {
  border-bottom: 0 !important;
  color: #1f1916 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a.button,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table .button,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="pay_for_order"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="cancel_order"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="invoice"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="wcpdf"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="print_invoice"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="download_invoice"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 112px !important;
  min-height: 36px !important;
  margin: 4px 0 4px 6px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid #1f1916 !important;
  background: #1f1916 !important;
  color: #fff !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="cancel_order"] {
  background: transparent !important;
  color: #1f1916 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > a[href*="invoice"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > a[href*="wcpdf"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > p > a[href*="invoice"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > p > a[href*="wcpdf"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > div > a[href*="invoice"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > div > a[href*="wcpdf"],
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > .order-again,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > .wpo-wcpdf-actions,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > .invoice-actions {
  display: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > *:not(table):not(h2):not(h3):not(.woocommerce-order-details__title):has(a[href*="invoice"]),
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details > *:not(table):not(h2):not(h3):not(.woocommerce-order-details__title):has(a[href*="wcpdf"]) {
  display: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce-customer-details,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-columns--addresses,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-column--billing-address,
body .sf-track-order-page .sf-track-order-shortcode .woocommerce-column--shipping-address {
  display: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode .woocommerce + p,
body .sf-track-order-page .sf-track-order-shortcode > p:last-child {
  color: rgba(31,25,22,.58) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

@media (max-width: 767px) {
  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details {
    padding: 20px !important;
    border-radius: 24px !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details,
  body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a.button,
  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table .button,
  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="pay_for_order"],
  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="cancel_order"],
  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="invoice"],
  body .sf-track-order-page .sf-track-order-shortcode .woocommerce-order-details table a[href*="wcpdf"] {
    width: 100% !important;
    min-width: 0 !important;
    margin: 5px 0 !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode table.woocommerce-table--order-details td:last-child,
  body .sf-track-order-page .sf-track-order-shortcode table.shop_table.order_details td:last-child {
    min-width: 118px !important;
  }
}

/* === Spatial Flow Step 5E-C REBUILD SAFE 1: Track Order Unified Result CSS END === */

/* === Spatial Flow Step 5E-C Rebuild SAFE 2: Track Order Delivery Details Editable Card START ===
   Manual append block.
   Append this block to the bottom of assets/css/spatial-flow.css.
   Styles only the new Delivery Details card on /track-order/ successful lookup results.
   Does not restore WooCommerce Billing / Shipping address blocks.
*/

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 22px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(31, 25, 22, 0.08) !important;
  background:
    linear-gradient(135deg, rgba(255, 253, 250, 0.96), rgba(245, 238, 229, 0.82)),
    #fffdf9 !important;
  box-shadow: 0 12px 34px rgba(31, 25, 22, 0.045) !important;
  color: #1f1916 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details,
body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details * {
  box-sizing: border-box !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__head {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(31, 25, 22, 0.09) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: rgba(31, 25, 22, 0.7) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #1f1916 !important;
  font-family: var(--sf-font-display, "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif) !important;
  font-size: clamp(25px, 2.4vw, 30px) !important;
  font-weight: 650 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__text,
body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__text p {
  margin: 0 !important;
  color: rgba(31, 25, 22, 0.62) !important;
  font-size: 13px !important;
  line-height: 1.68 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__chips {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__chip {
  min-width: 0 !important;
  border: 1px solid rgba(31, 25, 22, 0.075) !important;
  border-radius: 16px !important;
  background: rgba(255, 253, 250, 0.72) !important;
  padding: 14px !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__chip span {
  display: block !important;
  margin: 0 0 6px !important;
  color: rgba(31, 25, 22, 0.42) !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 850 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__chip strong {
  display: block !important;
  color: #1f1916 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__note {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(31, 25, 22, 0.08) !important;
  color: rgba(31, 25, 22, 0.58) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__note p {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 767px) {
  body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details {
    margin-top: 16px !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__head {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 16px !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details h3 {
    font-size: 25px !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__chips {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin-top: 16px !important;
  }

  body .sf-track-order-page .sf-track-order-shortcode .sf-track-delivery-details__chip {
    padding: 13px !important;
  }
}

/* === Spatial Flow Step 5E-C Rebuild SAFE 2: Track Order Delivery Details Editable Card END === */

/* === Spatial Flow Policy Pages Unified Card Spacing Hotfix START ===
   CSS-only append.
   Scope:
   - Terms & Conditions
   - Privacy Policy
   - Shipping & Delivery

   Selector decision:
   Shipping uses .sf-policy-overview / .sf-policy-layout / .sf-policy-content / .sf-policy-section
   but does not include the .sf-policy-page wrapper. Therefore this patch scopes to the shared
   policy layout/content classes instead of relying on page IDs or .sf-policy-page alone.

   Refund / Returns is excluded because it uses .sf-refund-policy-page and does not use
   .sf-policy-layout, .sf-policy-content, or .sf-policy-overview.

   No PHP, JS, template, WooCommerce, cart, checkout, product, wishlist, track-order,
   search, or database changes.
*/

@media (min-width: 768px) {
  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content {
    gap: 18px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section {
    padding: 38px 44px !important;
    border-radius: 34px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(33, 26, 22, 0.09) !important;
    box-shadow: 0 18px 42px rgba(33, 26, 22, 0.055) !important;
    overflow: hidden !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section h2 {
    margin: 0 0 17px !important;
    padding: 0 !important;
    max-width: 96% !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section p,
  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section li {
    max-width: 96% !important;
    line-height: 1.82 !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section p {
    margin: 0 !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section p + p {
    margin-top: 14px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section ul {
    margin: 14px 0 0 !important;
    padding-left: 24px !important;
    max-width: 96% !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section li {
    padding-left: 3px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-overview .sf-policy-card {
    padding: 30px 28px !important;
    border-radius: 30px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-overview .sf-policy-card small {
    margin-bottom: 14px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-overview .sf-policy-card strong {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 767px) {
  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content {
    gap: 14px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section {
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(33, 26, 22, 0.09) !important;
    box-shadow: 0 14px 32px rgba(33, 26, 22, 0.045) !important;
    overflow: hidden !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section h2 {
    padding: 24px 60px 22px 24px !important;
    line-height: 1.13 !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section.is-open > :not(h2) {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section.is-open > :last-child {
    padding-bottom: 28px !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section p,
  body:not(:has(.sf-refund-policy-page)) .sf-policy-layout .sf-policy-content .sf-policy-section li {
    line-height: 1.76 !important;
  }

  body:not(:has(.sf-refund-policy-page)) .sf-policy-overview .sf-policy-card {
    padding: 24px 22px !important;
    border-radius: 24px !important;
  }
}

/* === Spatial Flow Policy Pages Unified Card Spacing Hotfix END === */

/* === Spatial Flow Step 5N-C2 · About Us V5 Light Editorial START ===
   Scope: only the native About Us V5 template.
   Safe to append at the bottom of spatial-flow.css.
*/

.sf-about-v5-page {
  --sf-about-v5-bg: #f6f0e7;
  --sf-about-v5-bg2: #efe6da;
  --sf-about-v5-paper: #fffaf2;
  --sf-about-v5-ink: #1f1916;
  --sf-about-v5-muted: rgba(31,25,22,.58);
  --sf-about-v5-faint: rgba(31,25,22,.30);
  --sf-about-v5-accent: #9c6f48;
  --sf-about-v5-line: rgba(31,25,22,.115);
  --sf-about-v5-soft: rgba(31,25,22,.055);
  --sf-about-v5-serif: Georgia, "Times New Roman", serif;
  --sf-about-v5-sans: Inter, Montserrat, Arial, sans-serif;
  --sf-about-v5-mono: "Courier New", monospace;
  position: relative;
  overflow: hidden;
  background: var(--sf-about-v5-bg);
  color: var(--sf-about-v5-ink);
  font-family: var(--sf-about-v5-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}

.sf-about-v5-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .028;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.sf-about-v5-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse at 50% 24%, transparent 46%, rgba(120,88,58,.14) 100%);
}

.sf-about-v5-page > * {
  position: relative;
  z-index: 1;
}

.sf-about-v5-wrap {
  width: min(1120px, calc(100% - 56px));
  margin: 0 auto;
}

.sf-about-v5-crumb {
  padding: 26px 0 0;
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sf-about-v5-faint);
}

.sf-about-v5-crumb a {
  color: inherit !important;
  text-decoration: none !important;
}

.sf-about-v5-crumb span {
  margin: 0 9px;
  opacity: .35;
}

.sf-about-v5-crumb strong {
  color: var(--sf-about-v5-accent);
  font-weight: 400;
}

.sf-about-v5-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 98px;
  border-bottom: 1px solid var(--sf-about-v5-line);
}

.sf-about-v5-eyebrow {
  display: block;
  margin-bottom: 34px;
  color: var(--sf-about-v5-accent);
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .32em;
  text-transform: uppercase;
  opacity: 0;
  animation: sf-about-v5-up .8s .08s ease forwards;
}

.sf-about-v5-hero h1 {
  max-width: 900px;
  margin: 0;
  font-family: var(--sf-about-v5-serif);
  font-size: clamp(52px, 9.2vw, 118px);
  line-height: .89;
  letter-spacing: -.048em;
  font-weight: 500;
  opacity: 0;
  animation: sf-about-v5-up .9s .2s ease forwards;
}

.sf-about-v5-hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: rgba(31,25,22,.34);
}

.sf-about-v5-hero-sub {
  max-width: 540px;
  margin: 42px 0 0;
  color: var(--sf-about-v5-muted);
  font-size: 14.5px;
  line-height: 2;
  font-weight: 300;
  opacity: 0;
  animation: sf-about-v5-up .9s .36s ease forwards;
}

.sf-about-v5-hero-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 54px;
  opacity: 0;
  animation: sf-about-v5-up .9s .5s ease forwards;
}

.sf-about-v5-hero-meta-line {
  width: 38px;
  height: 1px;
  background: var(--sf-about-v5-accent);
}

.sf-about-v5-hero-meta-text {
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sf-about-v5-faint);
}

.sf-about-v5-hero-bg {
  position: absolute;
  right: -.06em;
  bottom: -.14em;
  font-family: var(--sf-about-v5-serif);
  font-style: italic;
  font-size: clamp(190px, 27vw, 370px);
  font-weight: 500;
  line-height: 1;
  color: rgba(31,25,22,.035);
  pointer-events: none;
  user-select: none;
  letter-spacing: -.06em;
}

.sf-about-v5-ticker {
  overflow: hidden;
  border-bottom: 1px solid var(--sf-about-v5-line);
  padding: 12px 0;
  background: rgba(255,250,242,.36);
}

.sf-about-v5-ticker-track {
  display: flex;
  white-space: nowrap;
  animation: sf-about-v5-roll 34s linear infinite;
}

.sf-about-v5-ticker-item {
  flex-shrink: 0;
  padding: 0 30px;
  color: var(--sf-about-v5-faint);
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sf-about-v5-ticker-dot {
  color: var(--sf-about-v5-accent);
  margin-right: 30px;
}

.sf-about-v5-layout {
  display: grid;
  grid-template-columns: 194px 1fr;
  gap: 96px;
  padding: 86px 0 118px;
}

.sf-about-v5-index {
  position: sticky;
  top: 92px;
  align-self: start;
}

.sf-about-v5-index-label {
  margin: 0 0 16px;
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--sf-about-v5-faint);
}

.sf-about-v5-index-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sf-about-v5-index-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid var(--sf-about-v5-soft);
  font-family: var(--sf-about-v5-serif);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -.015em;
  color: var(--sf-about-v5-faint) !important;
  text-decoration: none !important;
  transition: color .25s;
}

.sf-about-v5-index-item a:hover,
.sf-about-v5-index-item.is-active a {
  color: var(--sf-about-v5-ink) !important;
}

.sf-about-v5-index-item a em {
  font-family: var(--sf-about-v5-mono);
  font-style: normal;
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--sf-about-v5-faint);
}

.sf-about-v5-index-item.is-active a em {
  color: var(--sf-about-v5-accent);
}

.sf-about-v5-content {
  min-width: 0;
}

.sf-about-v5-section {
  padding-bottom: 82px;
  margin-bottom: 82px;
  border-bottom: 1px solid var(--sf-about-v5-line);
}

.sf-about-v5-page.sf-about-v5-js .sf-about-v5-section {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1);
}

.sf-about-v5-page.sf-about-v5-js .sf-about-v5-section.is-in {
  opacity: 1;
  transform: none;
}

.sf-about-v5-section:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

.sf-about-v5-section-tag {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 38px;
}

.sf-about-v5-section-label {
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--sf-about-v5-accent);
  white-space: nowrap;
}

.sf-about-v5-section-rule {
  flex: 1;
  max-width: 50px;
  height: 1px;
  background: var(--sf-about-v5-line);
}

.sf-about-v5-section h2,
.sf-about-v5-cta h2 {
  max-width: 680px;
  margin: 0;
  font-family: var(--sf-about-v5-serif);
  font-size: clamp(32px, 4.4vw, 58px);
  line-height: .96;
  letter-spacing: -.043em;
  font-weight: 400;
}

.sf-about-v5-section h2 em,
.sf-about-v5-cta h2 em {
  font-style: italic;
  font-weight: 300;
  color: rgba(31,25,22,.4);
}

.sf-about-v5-body {
  max-width: 610px;
  margin-top: 28px;
}

.sf-about-v5-body p {
  margin: 0;
  color: var(--sf-about-v5-muted);
  font-size: 14.5px;
  line-height: 2;
  font-weight: 300;
}

.sf-about-v5-body p + p {
  margin-top: 17px;
}

.sf-about-v5-pull-quote {
  max-width: 640px;
  margin: 46px 0 0;
  padding: 30px 0 30px 28px;
  border-left: 1px solid var(--sf-about-v5-accent);
  font-family: var(--sf-about-v5-serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(21px, 2.7vw, 34px);
  line-height: 1.2;
  letter-spacing: -.03em;
  color: rgba(31,25,22,.72);
}

.sf-about-v5-grid-p {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 680px;
  margin-top: 40px;
  border: 1px solid var(--sf-about-v5-line);
  background: rgba(255,250,242,.32);
}

.sf-about-v5-p-card {
  padding: 26px 28px;
  border-right: 1px solid var(--sf-about-v5-line);
  border-bottom: 1px solid var(--sf-about-v5-line);
  transition: background .3s;
}

.sf-about-v5-p-card:nth-child(even) {
  border-right: none;
}

.sf-about-v5-p-card:nth-last-child(-n+2) {
  border-bottom: none;
}

.sf-about-v5-p-card:hover {
  background: rgba(255,250,242,.58);
}

.sf-about-v5-p-tag {
  font-family: var(--sf-about-v5-mono);
  font-size: 8.5px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--sf-about-v5-accent);
}

.sf-about-v5-p-card h3 {
  margin: 13px 0 0;
  font-family: var(--sf-about-v5-serif);
  font-size: 21px;
  line-height: 1.05;
  letter-spacing: -.025em;
  font-weight: 400;
}

.sf-about-v5-p-card p {
  margin: 11px 0 0;
  color: var(--sf-about-v5-muted);
  font-size: 12.5px;
  line-height: 1.78;
  font-weight: 300;
}

.sf-about-v5-grid-w {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 680px;
  margin-top: 40px;
  border: 1px solid var(--sf-about-v5-line);
  background: rgba(255,250,242,.32);
}

.sf-about-v5-w-card {
  padding: 22px 24px;
  border-right: 1px solid var(--sf-about-v5-line);
}

.sf-about-v5-w-card:last-child {
  border-right: none;
}

.sf-about-v5-w-tag {
  font-family: var(--sf-about-v5-mono);
  font-size: 8.5px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--sf-about-v5-faint);
}

.sf-about-v5-w-val {
  display: block;
  margin-top: 11px;
  font-family: var(--sf-about-v5-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 19px;
  line-height: 1.06;
  letter-spacing: -.025em;
}

.sf-about-v5-cta {
  margin-top: 58px;
  padding-top: 58px;
  border-top: 1px solid var(--sf-about-v5-line);
}

.sf-about-v5-cta h2 {
  max-width: 540px;
}

.sf-about-v5-cta p {
  max-width: 480px;
  margin: 20px 0 0;
  color: var(--sf-about-v5-muted);
  font-size: 13.5px;
  line-height: 1.93;
}

.sf-about-v5-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.sf-about-v5-btn {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid var(--sf-about-v5-line);
  font-family: var(--sf-about-v5-mono);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sf-about-v5-muted) !important;
  text-decoration: none !important;
  transition: color .3s, border-color .3s, background .3s;
}

.sf-about-v5-btn:hover {
  background: var(--sf-about-v5-ink);
  border-color: var(--sf-about-v5-ink);
  color: var(--sf-about-v5-bg) !important;
}

.sf-about-v5-btn--primary {
  border-color: var(--sf-about-v5-accent);
  color: var(--sf-about-v5-accent) !important;
}

.sf-about-v5-btn--primary:hover {
  background: var(--sf-about-v5-accent);
  border-color: var(--sf-about-v5-accent);
  color: var(--sf-about-v5-paper) !important;
}

.sf-about-v5-missing {
  width: min(760px, calc(100% - 48px));
  margin: 56px auto;
  padding: 36px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(31,25,22,.07);
}

.sf-about-v5-missing h1 {
  margin: 0;
  font-size: 32px;
}

.sf-about-v5-missing p {
  margin: 14px 0 0;
  color: rgba(31,25,22,.62);
  line-height: 1.7;
}

@keyframes sf-about-v5-up {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sf-about-v5-roll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (max-width: 1024px) {
  .sf-about-v5-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .sf-about-v5-index {
    position: static;
  }
}

@media (max-width: 767px) {
  .sf-about-v5-wrap {
    width: calc(100% - 32px);
  }

  .sf-about-v5-hero {
    padding: 58px 0 70px;
  }

  .sf-about-v5-hero h1 {
    font-size: 46px;
  }

  .sf-about-v5-layout {
    padding: 52px 0 78px;
    gap: 32px;
  }

  .sf-about-v5-section {
    padding-bottom: 52px;
    margin-bottom: 52px;
  }

  .sf-about-v5-section h2,
  .sf-about-v5-cta h2 {
    font-size: 30px;
  }

  .sf-about-v5-body p {
    font-size: 13.5px;
  }

  .sf-about-v5-grid-p {
    grid-template-columns: 1fr;
  }

  .sf-about-v5-p-card {
    border-right: none !important;
  }

  .sf-about-v5-p-card:nth-last-child(-n+2) {
    border-bottom: 1px solid var(--sf-about-v5-line) !important;
  }

  .sf-about-v5-p-card:last-child {
    border-bottom: none !important;
  }

  .sf-about-v5-grid-w {
    grid-template-columns: 1fr;
  }

  .sf-about-v5-w-card {
    border-right: none;
    border-bottom: 1px solid var(--sf-about-v5-line);
  }

  .sf-about-v5-w-card:last-child {
    border-bottom: none;
  }

  .sf-about-v5-btn-row {
    flex-direction: column;
  }

  .sf-about-v5-btn {
    width: 100%;
  }
}

/* === Spatial Flow Step 5N-C2 · About Us V5 Light Editorial END === */

/* === Spatial Flow Step 5O-B SAFE 1 · Side Navigation Sticky System Fix START ===
   Scope:
   - About Us V5 Index
   - FAQ native TOC
   - Wishlist V3 Index
   - Policy page nav
   - Blog All Articles / Journal index sidebar nav
   - Blog single article sidebar

   Goal:
   Desktop: real side navigation sticks below the site header.
   Mobile/tablet: keep side navigation in normal document flow.

   CSS only. No PHP, JS, WooCommerce, Header, Footer, database, or plugin changes.
*/

@media (min-width: 1025px) {
  :root {
    --sf-side-sticky-top: 112px;
  }

  .sf-about-v5-page,
  .sf-about-v5-wrap,
  .sf-about-v5-layout,
  .sf-about-v5-content {
    overflow: visible !important;
  }

  .sf-about-v5-layout {
    align-items: start !important;
  }

  .sf-about-v5-index {
    position: sticky !important;
    top: var(--sf-side-sticky-top) !important;
    align-self: start !important;
    z-index: 3 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top) - 24px) !important;
    overflow-y: auto !important;
  }

  .sf-faq-native-page,
  .sf-faq-native-layout,
  .sf-faq-native-main,
  .sf-faq-native-content {
    overflow: visible !important;
  }

  .sf-faq-native-layout {
    align-items: start !important;
  }

  .sf-faq-native-toc {
    position: sticky !important;
    top: var(--sf-side-sticky-top) !important;
    align-self: start !important;
    z-index: 3 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top) - 24px) !important;
    overflow-y: auto !important;
  }

  .sf-wishlist-v3-page,
  .sf-wishlist-v3-layout,
  .sf-wishlist-v3-main,
  .sf-wishlist-v3-content {
    overflow: visible !important;
  }

  .sf-wishlist-v3-layout {
    align-items: start !important;
  }

  .sf-wishlist-v3-index {
    position: sticky !important;
    top: var(--sf-side-sticky-top) !important;
    align-self: start !important;
    z-index: 3 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top) - 24px) !important;
    overflow-y: auto !important;
  }

  .sf-policy-page,
  .sf-policy-layout,
  .sf-policy-content {
    overflow: visible !important;
  }

  .sf-policy-layout {
    align-items: start !important;
  }

  .sf-policy-nav {
    position: sticky !important;
    top: var(--sf-side-sticky-top) !important;
    align-self: start !important;
    z-index: 3 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top) - 24px) !important;
    overflow-y: auto !important;
  }

  .sf-journal-index,
  .sf-journal-index__sidebar,
  .sf-journal-index__main {
    overflow: visible !important;
  }

  .sf-journal-index {
    align-items: start !important;
  }

  .sf-journal-index .sf-journal-sticky-nav {
    position: sticky !important;
    top: var(--sf-side-sticky-top) !important;
    align-self: start !important;
    z-index: 3 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top) - 24px) !important;
    overflow-y: auto !important;
  }

  .sf-article--with-nav,
  .sf-article--with-nav .sf-article-layout,
  .sf-article--with-nav .sf-article-sidebar {
    overflow: visible !important;
  }

  .sf-article--with-nav .sf-article-layout {
    align-items: start !important;
  }

  .sf-article--with-nav .sf-article-sidebar {
    position: sticky !important;
    top: var(--sf-side-sticky-top) !important;
    align-self: start !important;
    z-index: 3 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top) - 24px) !important;
    overflow-y: auto !important;
  }

  .sf-article--with-nav .sf-article-sidebar .sf-journal-sticky-nav {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 1024px) {
  .sf-about-v5-index,
  .sf-faq-native-toc,
  .sf-wishlist-v3-index,
  .sf-policy-nav,
  .sf-journal-index .sf-journal-sticky-nav,
  .sf-article--with-nav .sf-article-sidebar {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* === Spatial Flow Step 5O-B SAFE 1 · Side Navigation Sticky System Fix END === */

/* === Spatial Flow Step 5O-B SAFE 2 · Sticky Ancestor Unlock START ===
   Use only after SAFE 1 is present but sticky still does not work.

   Reason:
   SAFE 1 confirms each real sidebar has position: sticky.
   If it still does not stick, the usual blocker is a higher ancestor:
   html/body/site-content/Astra wrapper/article wrapper overflow or containment.

   Scope:
   This patch is page-scoped with :has().
   It only unlocks wrappers on pages that actually contain a real sticky sidebar.
   CSS only. No PHP, JS, WooCommerce logic, Header/Footer, database, or plugin changes.
*/

@media (min-width: 1025px) {
  html:has(.sf-about-v5-index),
  html:has(.sf-faq-native-toc),
  html:has(.sf-wishlist-v3-index),
  html:has(.sf-policy-nav),
  html:has(.sf-journal-index .sf-journal-sticky-nav),
  html:has(.sf-article--with-nav .sf-article-sidebar),
  body:has(.sf-about-v5-index),
  body:has(.sf-faq-native-toc),
  body:has(.sf-wishlist-v3-index),
  body:has(.sf-policy-nav),
  body:has(.sf-journal-index .sf-journal-sticky-nav),
  body:has(.sf-article--with-nav .sf-article-sidebar) {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  body:has(.sf-about-v5-index) .site,
  body:has(.sf-about-v5-index) .site-content,
  body:has(.sf-about-v5-index) .ast-container,
  body:has(.sf-about-v5-index) #primary,
  body:has(.sf-about-v5-index) #main,
  body:has(.sf-about-v5-index) .site-main,
  body:has(.sf-about-v5-index) .entry-content,
  body:has(.sf-about-v5-index) .hentry,
  body:has(.sf-about-v5-index) article,

  body:has(.sf-faq-native-toc) .site,
  body:has(.sf-faq-native-toc) .site-content,
  body:has(.sf-faq-native-toc) .ast-container,
  body:has(.sf-faq-native-toc) #primary,
  body:has(.sf-faq-native-toc) #main,
  body:has(.sf-faq-native-toc) .site-main,
  body:has(.sf-faq-native-toc) .entry-content,
  body:has(.sf-faq-native-toc) .hentry,
  body:has(.sf-faq-native-toc) article,

  body:has(.sf-wishlist-v3-index) .site,
  body:has(.sf-wishlist-v3-index) .site-content,
  body:has(.sf-wishlist-v3-index) .ast-container,
  body:has(.sf-wishlist-v3-index) #primary,
  body:has(.sf-wishlist-v3-index) #main,
  body:has(.sf-wishlist-v3-index) .site-main,
  body:has(.sf-wishlist-v3-index) .entry-content,
  body:has(.sf-wishlist-v3-index) .hentry,
  body:has(.sf-wishlist-v3-index) article,

  body:has(.sf-policy-nav) .site,
  body:has(.sf-policy-nav) .site-content,
  body:has(.sf-policy-nav) .ast-container,
  body:has(.sf-policy-nav) #primary,
  body:has(.sf-policy-nav) #main,
  body:has(.sf-policy-nav) .site-main,
  body:has(.sf-policy-nav) .entry-content,
  body:has(.sf-policy-nav) .hentry,
  body:has(.sf-policy-nav) article,

  body:has(.sf-journal-index .sf-journal-sticky-nav) .site,
  body:has(.sf-journal-index .sf-journal-sticky-nav) .site-content,
  body:has(.sf-journal-index .sf-journal-sticky-nav) .ast-container,
  body:has(.sf-journal-index .sf-journal-sticky-nav) #primary,
  body:has(.sf-journal-index .sf-journal-sticky-nav) #main,
  body:has(.sf-journal-index .sf-journal-sticky-nav) .site-main,
  body:has(.sf-journal-index .sf-journal-sticky-nav) .entry-content,
  body:has(.sf-journal-index .sf-journal-sticky-nav) .hentry,
  body:has(.sf-journal-index .sf-journal-sticky-nav) article,

  body:has(.sf-article--with-nav .sf-article-sidebar) .site,
  body:has(.sf-article--with-nav .sf-article-sidebar) .site-content,
  body:has(.sf-article--with-nav .sf-article-sidebar) .ast-container,
  body:has(.sf-article--with-nav .sf-article-sidebar) #primary,
  body:has(.sf-article--with-nav .sf-article-sidebar) #main,
  body:has(.sf-article--with-nav .sf-article-sidebar) .site-main,
  body:has(.sf-article--with-nav .sf-article-sidebar) .entry-content,
  body:has(.sf-article--with-nav .sf-article-sidebar) .hentry,
  body:has(.sf-article--with-nav .sf-article-sidebar) article,
  body:has(.sf-article--with-nav .sf-article-sidebar) .sf-article,
  body:has(.sf-article--with-nav .sf-article-sidebar) .sf-article-layout {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    contain: none !important;
  }

  /* Re-assert the final sticky state after ancestor unlock. */
  .sf-about-v5-index,
  .sf-faq-native-toc,
  .sf-wishlist-v3-index,
  .sf-policy-nav,
  .sf-journal-index .sf-journal-sticky-nav,
  .sf-article--with-nav .sf-article-sidebar {
    position: sticky !important;
    top: var(--sf-side-sticky-top, 112px) !important;
    align-self: start !important;
    z-index: 9 !important;
    max-height: calc(100vh - var(--sf-side-sticky-top, 112px) - 24px) !important;
    overflow-y: auto !important;
  }

  /* Blog single: keep the internal journal nav static. The outer article sidebar sticks. */
  .sf-article--with-nav .sf-article-sidebar .sf-journal-sticky-nav {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* === Spatial Flow Step 5O-B SAFE 2 · Sticky Ancestor Unlock END === */


/* === Spatial Flow Step 5C-B-C · Global Search Native Page V1 START ===
   Scope: page template only. No product/cart/checkout logic changes.
*/

.sf-global-search-page {
  --sf-gs-bg: #f6f1eb;
  --sf-gs-paper: #fffdfa;
  --sf-gs-ink: #1f1916;
  --sf-gs-muted: rgba(31,25,22,.62);
  --sf-gs-faint: rgba(31,25,22,.38);
  --sf-gs-line: rgba(31,25,22,.09);
  --sf-gs-soft: #ede7df;
  --sf-gs-shadow: 0 18px 46px rgba(31,25,22,.065);
  background: var(--sf-gs-bg);
  color: var(--sf-gs-ink);
  overflow: hidden;
}

.sf-global-search-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.sf-global-search-hero {
  padding: clamp(42px, 6vw, 74px) 0 34px;
}

.sf-global-search-hero__inner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .62fr);
  gap: clamp(28px, 5vw, 58px);
  align-items: end;
  border: 1px solid var(--sf-gs-line);
  border-radius: 38px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.95), rgba(255,255,255,0) 35%),
    linear-gradient(135deg, rgba(255,253,250,.98), rgba(239,230,218,.82));
  box-shadow: var(--sf-gs-shadow);
  padding: clamp(30px, 5vw, 54px);
}

.sf-global-search-hero__inner::after {
  content: "SEARCH";
  position: absolute;
  right: -.04em;
  bottom: -.28em;
  color: rgba(31,25,22,.035);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(96px, 16vw, 220px);
  font-style: italic;
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}

.sf-global-search-kicker {
  display: inline-flex;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .26em;
  font-size: 10px;
  font-weight: 800;
}

.sf-global-search-hero h1 {
  max-width: 760px;
  margin: 16px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 6vw, 78px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 500;
}

.sf-global-search-hero p {
  max-width: 620px;
  margin: 22px 0 0;
  color: var(--sf-gs-muted);
  font-size: 15px;
  line-height: 1.85;
}

.sf-global-search-form {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  border: 1px solid rgba(31,25,22,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 14px 34px rgba(31,25,22,.07);
  padding: 8px;
}

.sf-global-search-form input[type="search"] {
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--sf-gs-ink);
  padding: 0 18px;
  font-size: 15px;
  outline: none;
}

.sf-global-search-form button {
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: var(--sf-gs-ink);
  color: #fff;
  padding: 0 22px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 800;
  cursor: pointer;
}

.sf-global-search-results {
  padding: 28px 0 86px;
}

.sf-global-search-queryline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  border: 1px solid var(--sf-gs-line);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  padding: 10px 16px;
  color: var(--sf-gs-faint);
  font-size: 12px;
}

.sf-global-search-queryline strong {
  color: var(--sf-gs-ink);
}

.sf-global-search-state {
  border: 1px solid var(--sf-gs-line);
  border-radius: 34px;
  background: rgba(255,253,250,.76);
  box-shadow: 0 12px 32px rgba(31,25,22,.045);
  padding: clamp(28px, 5vw, 46px);
}

.sf-global-search-state h2 {
  max-width: 700px;
  margin: 14px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -.035em;
  font-weight: 500;
}

.sf-global-search-state p {
  max-width: 620px;
  margin: 18px 0 0;
  color: var(--sf-gs-muted);
  line-height: 1.8;
}

.sf-global-search-section {
  margin-top: 34px;
  border-top: 1px solid var(--sf-gs-line);
  padding-top: 34px;
}

.sf-global-search-section__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  margin-bottom: 22px;
}

.sf-global-search-section__head h2 {
  margin: 10px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 500;
}

.sf-global-search-section__head p {
  max-width: 560px;
  margin: 10px 0 0;
  color: var(--sf-gs-muted);
  line-height: 1.75;
  font-size: 14px;
}

.sf-global-search-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sf-global-search-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid var(--sf-gs-line);
  border-radius: 28px;
  background: var(--sf-gs-paper);
  color: var(--sf-gs-ink) !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(31,25,22,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sf-global-search-card:hover,
.sf-global-search-row:hover,
.sf-global-search-topic:hover {
  transform: translateY(-2px);
  border-color: rgba(31,25,22,.16);
  box-shadow: 0 18px 42px rgba(31,25,22,.08);
}

.sf-global-search-card__image {
  display: grid;
  place-items: center;
  height: 210px;
  background: var(--sf-gs-soft);
  overflow: hidden;
}

.sf-global-search-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}

.sf-global-search-card:hover .sf-global-search-card__image img {
  transform: scale(1.025);
}

.sf-global-search-card__image-fallback {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  font-style: italic;
  color: rgba(31,25,22,.18);
}

.sf-global-search-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 20px;
}

.sf-global-search-card__meta {
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 10px;
  line-height: 1.4;
}

.sf-global-search-card__meta .amount {
  color: rgba(31,25,22,.78);
}

.sf-global-search-card__body strong {
  display: block;
  margin-top: 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1.16;
  letter-spacing: -.025em;
  font-weight: 500;
}

.sf-global-search-card__text {
  display: block;
  margin-top: 12px;
  color: var(--sf-gs-muted);
  font-size: 13px;
  line-height: 1.68;
}

.sf-global-search-card__link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 18px;
  color: rgba(31,25,22,.48);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 10px;
  font-weight: 800;
}

.sf-global-search-list {
  display: grid;
  gap: 12px;
}

.sf-global-search-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  border: 1px solid var(--sf-gs-line);
  border-radius: 24px;
  background: rgba(255,253,250,.72);
  color: var(--sf-gs-ink) !important;
  text-decoration: none !important;
  padding: 18px 20px;
  box-shadow: 0 8px 22px rgba(31,25,22,.035);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sf-global-search-row em,
.sf-global-search-topic span {
  display: block;
  color: rgba(31,25,22,.42);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.sf-global-search-row strong {
  display: block;
  margin-top: 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -.025em;
  font-weight: 500;
}

.sf-global-search-row small {
  display: block;
  margin-top: 8px;
  color: var(--sf-gs-muted);
  line-height: 1.55;
  font-size: 13px;
}

.sf-global-search-row b {
  flex: 0 0 auto;
  border: 1px solid var(--sf-gs-line);
  border-radius: 999px;
  padding: 10px 14px;
  color: rgba(31,25,22,.62);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 10px;
}

.sf-global-search-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.sf-global-search-topic {
  min-width: min(260px, 100%);
  flex: 1 1 220px;
  border: 1px solid var(--sf-gs-line);
  border-radius: 24px;
  background: rgba(255,253,250,.72);
  color: var(--sf-gs-ink) !important;
  text-decoration: none !important;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(31,25,22,.035);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sf-global-search-topic strong {
  display: block;
  margin-top: 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: -.025em;
  font-weight: 500;
}

.sf-global-search-topic em {
  display: block;
  margin-top: 14px;
  color: rgba(31,25,22,.46);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

@media (max-width: 1024px) {
  .sf-global-search-hero__inner {
    grid-template-columns: 1fr;
  }

  .sf-global-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sf-global-search-wrap {
    width: min(100% - 32px, 1180px);
  }

  .sf-global-search-hero {
    padding-top: 34px;
  }

  .sf-global-search-hero__inner,
  .sf-global-search-state {
    border-radius: 28px;
    padding: 24px;
  }

  .sf-global-search-hero h1 {
    font-size: 40px;
    letter-spacing: -.03em;
  }

  .sf-global-search-hero p {
    font-size: 14px;
  }

  .sf-global-search-form {
    grid-template-columns: 1fr;
    border-radius: 24px;
    padding: 12px;
  }

  .sf-global-search-form input[type="search"] {
    min-height: 44px;
    border-radius: 999px;
    background: rgba(255,255,255,.68);
  }

  .sf-global-search-form button {
    width: 100%;
  }

  .sf-global-search-section__head {
    display: block;
  }

  .sf-global-search-grid {
    grid-template-columns: 1fr;
  }

  .sf-global-search-card__image {
    height: 220px;
  }

  .sf-global-search-row {
    display: grid;
  }

  .sf-global-search-row b {
    width: fit-content;
  }
}

/* === Spatial Flow Step 5C-B-C · Global Search Native Page V1 END === */

/* === Spatial Flow Step 5C-B-E1 · Global Search Mobile Pages Card Fix START ===
   Scope: Global Search page mobile layout only.
   Fixes main-site Pages result rows overflowing the phone viewport.
   CSS only. No PHP, JS, search logic, Header, WooCommerce, WPCode, database, or plugin changes.
*/

@media (max-width: 767px) {
  body .sf-global-search-page,
  body .sf-global-search-wrap,
  body .sf-global-search-results,
  body .sf-global-search-section,
  body .sf-global-search-list {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body .sf-global-search-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
    align-items: start !important;
    gap: 12px !important;
    padding: 16px !important;
    overflow: hidden !important;
  }

  body .sf-global-search-row > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body .sf-global-search-row em,
  body .sf-global-search-row strong,
  body .sf-global-search-row small {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body .sf-global-search-row strong {
    font-size: clamp(20px, 7vw, 24px) !important;
    line-height: 1.16 !important;
  }

  body .sf-global-search-row small {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body .sf-global-search-row b {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: start !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }
}

@media (max-width: 420px) {
  body .sf-global-search-row {
    padding: 14px !important;
    border-radius: 20px !important;
  }

  body .sf-global-search-row strong {
    font-size: 20px !important;
  }

  body .sf-global-search-row b {
    padding: 8px 10px !important;
    letter-spacing: .08em !important;
    font-size: 9px !important;
  }
}

/* === Spatial Flow Step 5C-B-E1 · Global Search Mobile Pages Card Fix END === */

/* === Spatial Flow Step 5P-B · Mobile Menu Dynamic Accordion START ===
   Scope: mobile drawer only.
   Menu items, links, order, and parent/child levels remain controlled in Appearance → Menus.
*/
.sf-mobile-menu .dropdown-menu-toggle,
.sf-mobile-menu .ast-header-navigation-arrow,
.sf-mobile-menu .ast-icon {
  display: none !important;
}

.sf-mobile-menu .menu-item-has-children {
  position: relative;
}

.sf-mobile-menu .menu-item-has-children > a {
  padding-right: 58px !important;
}

.sf-mobile-submenu-toggle {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid rgba(31,25,22,.1);
  border-radius: 999px;
  background: rgba(246,241,235,.96);
  color: var(--sf-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(31,25,22,.055);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.sf-mobile-submenu-toggle:hover,
.sf-mobile-submenu-toggle:focus-visible {
  background: #fff;
  border-color: rgba(31,25,22,.18);
  transform: translateY(-1px);
  outline: none;
}

.sf-mobile-submenu-toggle__icon {
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
}

.sf-mobile-menu .sub-menu {
  display: none;
  list-style: none;
  margin: 8px 0 4px;
  padding: 6px 0 0 14px;
  border-left: 1px solid rgba(31,25,22,.08);
  gap: 8px;
}

.sf-mobile-menu .menu-item-has-children.is-open > .sub-menu {
  display: grid;
}

.sf-mobile-menu .sub-menu .menu-item {
  margin: 0;
  padding: 0;
}

.sf-mobile-menu .sub-menu a {
  display: block;
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(31,25,22,.06);
  color: var(--sf-ink) !important;
  text-decoration: none !important;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.sf-mobile-menu .sub-menu .sub-menu {
  margin-top: 8px;
  padding-left: 12px;
}

.sf-mobile-menu .menu-item-has-children.is-open > .sf-mobile-submenu-toggle {
  background: var(--sf-ink);
  border-color: var(--sf-ink);
  color: #fff;
}

@media (min-width: 768px) {
  .sf-mobile-submenu-toggle {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .sf-mobile-menu .menu-item-has-children > a {
    padding-right: 54px !important;
  }

  .sf-mobile-submenu-toggle {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    top: 8px;
    right: 8px;
  }

  .sf-mobile-menu .sub-menu a {
    font-size: 12px;
    padding: 11px 12px;
  }
}
/* === Spatial Flow Step 5P-B · Mobile Menu Dynamic Accordion END === */

/* === Spatial Flow Step 5Q-B · Blog Single Mobile Article Layout V4 START ===
   Scope: blog single post mobile layout only.
   Goal: keep desktop article layout mostly unchanged, but make mobile article reading order:
   featured image → back link → meta → title → compact TOC → body → after-article tools.
*/

.sf-mobile-article-back-link,
.sf-mobile-article-toc {
  display: none;
}

@media (max-width: 767px) {
  body.single-post .sf-journal {
    overflow-x: hidden;
  }

  body.single-post .sf-article.sf-article--with-nav {
    width: 100% !important;
    margin: 0 auto 48px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.single-post .sf-article-featured {
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #ede7df !important;
  }

  body.single-post .sf-article-featured img {
    width: 100% !important;
    height: 264px !important;
    min-height: 264px !important;
    max-height: 264px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
  }

  body.single-post .sf-article-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    padding: 28px 18px 0 !important;
    margin: 0 !important;
  }

  body.single-post .sf-article-body {
    order: 1 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  body.single-post .sf-article-sidebar {
    order: 2 !important;
    position: relative !important;
    top: auto !important;
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 30px 0 0 !important;
    margin: 0 !important;
  }

  body.single-post .sf-article-sidebar .sf-back-link,
  body.single-post .sf-article-sidebar .sf-article-nav-card--toc {
    display: none !important;
  }

  body.single-post .sf-mobile-article-back-link {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 0 0 18px !important;
    color: rgba(31,25,22,.42) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
  }

  body.single-post .sf-mobile-article-back-link::before {
    content: "←";
    margin-right: 6px;
  }

  body.single-post .sf-article-meta {
    margin: 0 0 18px !important;
    color: rgba(31,25,22,.42) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .22em !important;
    line-height: 1.55 !important;
    text-transform: uppercase !important;
  }

  body.single-post .sf-article-body h1 {
    margin: 0 0 18px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(40px, 11vw, 56px) !important;
    font-weight: 500 !important;
    line-height: .96 !important;
    letter-spacing: -.038em !important;
    color: #1f1916 !important;
  }

  body.single-post .sf-mobile-article-toc {
    display: block !important;
    margin: 20px 0 24px !important;
    border: 1px solid rgba(31,25,22,.12) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.60) !important;
    overflow: hidden !important;
  }

  body.single-post .sf-mobile-article-toc summary {
    cursor: pointer !important;
    list-style: none !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: rgba(31,25,22,.36) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .10em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
  }

  body.single-post .sf-mobile-article-toc summary::-webkit-details-marker {
    display: none !important;
  }

  body.single-post .sf-mobile-article-toc summary::after {
    content: "+" !important;
    flex: 0 0 auto !important;
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #f6f1eb !important;
    color: rgba(31,25,22,.38) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  body.single-post .sf-mobile-article-toc[open] summary::after {
    content: "−" !important;
  }

  body.single-post .sf-mobile-article-toc__links {
    padding: 0 14px 14px !important;
    display: grid !important;
    gap: 5px !important;
  }

  body.single-post .sf-mobile-article-toc__links a {
    display: block !important;
    border-radius: 10px !important;
    background: #f6f1eb !important;
    color: rgba(31,25,22,.62) !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
  }

  body.single-post .sf-article-content {
    color: rgba(31,25,22,.76) !important;
  }

  body.single-post .sf-article-content p {
    margin-bottom: 22px !important;
    color: rgba(31,25,22,.76) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    line-height: 1.9 !important;
  }

  body.single-post .sf-article-content h2 {
    margin: 40px 0 10px !important;
    color: #1f1916 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(26px, 7vw, 34px) !important;
    font-weight: 500 !important;
    line-height: 1.04 !important;
    letter-spacing: -.025em !important;
  }

  body.single-post .sf-article-content h3 {
    margin: 32px 0 10px !important;
    color: #1f1916 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
  }

  body.single-post .sf-article-content blockquote {
    margin: 30px 0 !important;
    padding: 0 0 0 20px !important;
    border-left: 1px solid rgba(31,25,22,.2) !important;
    color: #1f1916 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 23px !important;
    font-style: italic !important;
    line-height: 1.4 !important;
  }

  body.single-post .sf-article-sidebar .sf-journal-sticky-nav,
  body.single-post .sf-article-sidebar .sf-prev-next a {
    border-radius: 18px !important;
    background: rgba(255,255,255,.65) !important;
    border: 1px solid rgba(31,25,22,.12) !important;
    box-shadow: none !important;
  }

  body.single-post .sf-article-sidebar .sf-journal-sticky-nav {
    padding: 16px !important;
  }

  body.single-post .sf-article-sidebar .sf-prev-next {
    gap: 8px !important;
  }

  body.single-post .sf-related-journal-grid {
    grid-template-columns: 1fr !important;
  }

  body.single-post .sf-section.sf-container {
    width: min(100% - 36px, 1180px) !important;
    padding-top: 22px !important;
  }
}

/* === Spatial Flow Step 5Q-B · Blog Single Mobile Article Layout V4 END === */
