
:root{
  --accent:#e80752;
  --accent-soft:#ffd5e2;
  --ink:#1c1a1c;
  --muted:#6c6669;
  --paper:#fbf8f3;
  --surface:#ffffff;
  --surface-alt:#f2ece5;
  --line:rgba(28,26,28,.14);
  --line-strong:rgba(28,26,28,.28);
  --shadow-sm:0 10px 30px rgba(28,20,24,.08);
  --shadow-lg:0 30px 90px rgba(28,20,24,.16);
  --radius-sm:12px;
  --radius-md:22px;
  --radius-lg:34px;
  --container:1440px;
  --gutter:18px;
  --section:76px;
  --font:Corbel,"Trebuchet MS",Arial,sans-serif;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-top:env(safe-area-inset-top,0px);
  /* Layer system */
  --z-base:0;
  --z-product-card:1;
  --z-product-card-active:6;
  --z-product-card-popover:2;
  --z-sticky:20;
  --z-header:40;
  --z-bottom-nav:50;
  --z-sticky-cta:60;
  --z-drawer-backdrop:80;
  --z-drawer:90;
  --z-modal:100;
  --z-toast:120;
  --z-consent:140;
  --z-combobox:95;
  /* Mobile geometry tokens */
  --mobile-gutter:16px;
  --mobile-section-gap:clamp(36px,8vw,52px);
  --mobile-control-height:46px;
  --mobile-control-height-sm:42px;
  --mobile-radius:18px;
  --mobile-radius-sm:12px;
  --mobile-action-gap:8px;
  --mobile-header-height:64px;
  --mobile-bottom-nav-height:72px;
  --mobile-safe-bottom:env(safe-area-inset-bottom,0px);
  --mobile-sticky-offset:calc(var(--mobile-bottom-nav-height) + var(--mobile-safe-bottom) + 8px);
  --action-height:44px;
  --action-height-mobile:46px;
  --action-radius:999px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0}
fieldset{margin:0;padding:0;border:0}
.container{width:min(calc(100% - (var(--gutter)*2)),var(--container));margin-inline:auto}
.section{padding-block:var(--section)}
.sr-only{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}
/* Alias for WooCommerce / legacy markup that expects this class name. */
.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}
.skip-link{position:fixed;z-index:9999;top:10px;left:10px;padding:12px 16px;background:#fff;color:#111;border:2px solid var(--accent);transform:translateY(-160%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
::selection{background:var(--accent);color:#fff}
.icon{width:1.25rem;height:1.25rem;flex:none}

.eyebrow{margin-bottom:10px;color:var(--accent-text,var(--accent));font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3{letter-spacing:-.035em}
h1{font-size:clamp(3.1rem,14vw,6.5rem);line-height:.88;font-weight:700}
h2{font-size:clamp(2.3rem,9vw,5rem);line-height:.96;font-weight:650}
h3{font-size:1.25rem;line-height:1.1}
h1 em,h2 em{color:var(--accent);font-style:italic;font-weight:500}
.text-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;border-bottom:1px solid currentColor;font-weight:700}
.text-link .icon{width:1rem;height:1rem}
.btn{min-height:var(--action-height,44px);display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-weight:800;transition:transform .16s,background .16s,color .16s,border-color .16s,box-shadow .16s}
.btn:hover{transform:translateY(-1px)}
.btn .icon{width:1rem;height:1rem}
.btn-primary{background:var(--button-task-bg,var(--ink));border-color:var(--button-task-bg,var(--ink));color:var(--button-task-text,#fff)}
.btn-primary:hover{background:var(--button-task-hover,#2a2622);border-color:var(--button-task-hover,#2a2622);box-shadow:0 10px 22px color-mix(in srgb,var(--ink) 14%,transparent)}
.btn-outline:hover,.btn-ghost:hover{background:var(--button-secondary-hover-bg,var(--surface-alt));color:var(--ink);border-color:var(--line-strong)}
.btn-secondary{background:var(--button-secondary-strong-bg,var(--surface));border-color:var(--button-secondary-border,var(--line-strong));color:var(--button-secondary-text,var(--ink))}
.btn-secondary:hover{background:var(--button-secondary-hover-bg,var(--surface-alt));border-color:var(--ink);color:var(--ink);box-shadow:none}
.btn-commerce,.btn-buy-now{width:auto;background:var(--button-commerce-bg,var(--accent));border-color:var(--button-commerce-bg,var(--accent));color:var(--button-commerce-text,#fff)}
.btn-commerce:hover,.btn-buy-now:hover{background:var(--button-commerce-hover,color-mix(in srgb,var(--accent) 82%,#000));border-color:var(--button-commerce-hover,color-mix(in srgb,var(--accent) 82%,#000))}
form.cart .btn-buy-now,
form.cart .ekrasnale-buy-now,
.purchase-actions .btn-buy-now,
.purchase-actions .ekrasnale-buy-now{
  width:100%;
}

.topbar{background:var(--topbar-bg,var(--surface-alt));color:var(--ink);font-size:.78rem;border-bottom:1px solid var(--line)}
.topbar-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.topbar-inner>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-inner>div{display:none;align-items:center;gap:10px}
.topbar-dot{opacity:.4}
.site-header{position:sticky;z-index:var(--z-header,40);top:0;background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
body.menu-open .site-header{z-index:var(--z-drawer,90)}
.nav-inner{min-height:66px;display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center}
.brand{display:inline-flex;align-items:center;gap:9px;min-width:0;font-weight:800}
.nav-inner>.brand{grid-column:2;justify-self:center;max-width:min(190px,48vw)}
.brand-logo{display:block;width:auto;height:auto;max-height:36px;max-width:100%;object-fit:contain}
.brand-icon{display:block;width:48px;height:48px;flex:none;object-fit:contain}
.primary-nav{display:none}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:0;grid-column:3}
.icon-button{position:relative;width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}
.icon-button:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.action-count{position:absolute;right:0;top:0;min-width:17px;height:17px;display:grid;place-items:center;padding-inline:3px;border-radius:999px;background:var(--accent);color:#fff;font-size:.58rem;font-weight:800}
.menu-toggle{grid-column:1;grid-row:1}
.menu-close-icon{display:none}
.menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}
.menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}
.nav-backdrop{position:fixed;z-index:var(--z-drawer-backdrop,80);inset:0;background:rgba(28,26,28,.42)}
.search-dialog{position:fixed;z-index:var(--z-modal,100);inset:0;padding:80px var(--gutter) 30px;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(22px)}
.search-close{position:absolute;right:var(--gutter);top:22px}
.search-form{width:min(100%,820px);margin:8vh auto 0}
.search-form>label{display:block;font-size:clamp(2.5rem,10vw,6rem);font-weight:700;line-height:.9;letter-spacing:-.05em}
.search-form>p{margin-top:18px;color:var(--muted)}
.search-form>div{display:grid;gap:8px;margin-top:28px}
.search-form input{min-width:0;padding:15px 18px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink)}
.search-form nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.search-form nav a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.78rem}

.hero-section{position:relative;overflow:hidden;padding:40px 0 64px}
.hero-grid{display:grid;gap:36px}
.hero-copy{align-self:center;position:relative;z-index:2}
.hero-copy h1{max-width:10ch}
.hero-lead{max-width:39rem;margin-top:20px;color:var(--muted);font-size:1.05rem}
.hero-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:17px;margin-top:28px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.hero-meta span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:.7rem;font-weight:700}
.hero-art{position:relative;min-height:450px}
.hero-image-frame{position:absolute;inset:0;overflow:hidden;background:var(--surface-alt);border-radius:var(--radius-lg)}
.hero-image-frame img{width:100%;height:100%;object-fit:cover}
.hero-product-label{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:var(--radius-sm);backdrop-filter:blur(12px)}
.hero-product-label small{grid-column:1/-1;color:var(--accent);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hero-product-label strong{font-size:1.15rem}
.hero-product-label b{align-self:end}
.sparkle{position:absolute;z-index:3;color:var(--accent);font-size:1.4rem}
.sparkle-one{right:7%;top:8%}.sparkle-two{left:-2%;bottom:25%}.sparkle-three{right:2%;bottom:10%}
.hero-decoration{position:absolute;pointer-events:none}

.trust-section{position:relative;z-index:3;padding:0 0 24px}
.trust-grid{display:grid;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.trust-grid article{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:18px;border-bottom:1px solid var(--line)}
.trust-grid article:last-child{border-bottom:0}
.trust-grid article>.icon{color:var(--accent)}
.trust-grid strong,.trust-grid small{display:block}
.trust-grid strong{font-size:.9rem}
.trust-grid small{margin-top:2px;color:var(--muted);font-size:.72rem}

.section-heading{display:grid;gap:15px;margin-bottom:32px}
.section-heading>div{min-width:0}
.section-heading>p:not(.eyebrow),.section-heading-center>p:last-child{max-width:42rem;color:var(--muted)}
.section-heading-center{text-align:center;justify-items:center}
.section-heading-center h2{max-width:none}
.products-section{background:var(--surface-alt)}
.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
.product-card{min-width:0}
.product-media{position:relative;overflow:hidden;aspect-ratio:var(--product-media-ratio,1/1);background:var(--surface);border-radius:var(--radius-sm)}
.product-media>a{display:block;width:100%;height:100%}
.product-media img{width:100%;height:100%;object-fit:cover;transform:none;transform-origin:center center}
.product-tag{position:absolute;left:9px;top:9px;padding:6px 8px;border-radius:999px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wishlist-button{position:absolute;right:8px;top:8px;width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink)}
.wishlist-button .icon{width:1rem;height:1rem}
.wishlist-button.is-active{background:var(--accent);color:#fff}
.product-photo-size{position:absolute;left:9px;right:9px;bottom:9px;padding:7px 9px;background:color-mix(in srgb,var(--surface) 88%,transparent);border-radius:8px;font-size:.58rem;backdrop-filter:blur(8px)}
.product-info{padding-top:12px}
.product-mood{margin-bottom:4px;color:var(--accent);font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.product-title-row{display:grid;gap:5px}
.product-title-row h3{font-size:1rem;text-transform:none}
.product-title-row strong{font-size:.9rem}
.product-composition{display:none;margin-top:7px;color:var(--muted);font-size:.8rem}
.product-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
.product-details-link{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800}
.product-details-link .icon{width:.9rem;height:.9rem}
.quick-cart{display:flex;align-items:center;gap:5px;padding:7px 9px;border:0;border-radius:999px;background:var(--primary-fill,var(--accent));color:var(--primary-text,#fff);font-size:.67rem;font-weight:800}
.quick-cart .icon{width:.85rem;height:.85rem}
.section-action{display:flex;justify-content:center;margin-top:46px}

.featured-section{background:var(--paper)}
.featured-card{display:grid;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.featured-copy{padding:36px 24px}
.featured-copy h2{text-transform:none}
.featured-lead{max-width:40rem;margin-top:16px;color:var(--muted)}
.featured-data{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}
.featured-data span{padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm)}
.featured-data small,.featured-data strong{display:block}
.featured-data small{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.featured-data strong{margin-top:4px;font-size:.82rem}
.featured-media{position:relative;overflow:hidden;aspect-ratio:4/5;min-height:0;background:var(--surface-alt)}
.featured-media img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.featured-media>span{position:absolute;right:12px;top:12px;padding:8px 10px;background:var(--surface);font-size:.6rem;font-weight:800;letter-spacing:.1em}

.why-section{background:var(--surface)}
.why-layout{display:grid;gap:10px}
.why-card{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper)}
.why-card>span{color:var(--accent);font-size:.68rem;font-weight:800}
.why-card p{margin-top:4px;color:var(--muted);font-size:.82rem}
.why-visual{position:relative;overflow:hidden;min-height:440px;border-radius:var(--radius-lg);grid-row:4}
.why-visual img{width:100%;height:100%;object-fit:cover}
.why-visual figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:12px;background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;backdrop-filter:blur(10px)}

.collection-section{background:var(--surface-alt)}
.mood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mood-card{display:grid;gap:10px;min-width:0}
.mood-media{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:999px 999px var(--radius-sm) var(--radius-sm);background:var(--surface)}
.mood-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.mood-card:hover .mood-media img{transform:scale(1.03)}
.mood-copy{position:relative;display:grid;gap:2px;padding:0 4px}
.mood-copy span{font-weight:800}
.mood-copy small{color:var(--muted);font-size:.68rem}
.mood-copy b{position:absolute;right:0;top:2px}
.mood-copy b .icon{width:1rem;height:1rem}

.testimonial-section{background:var(--paper)}
.testimonial-grid{display:grid;gap:34px;align-items:center}
.testimonial-art{position:relative;overflow:hidden;min-height:430px;border-radius:var(--radius-lg)}
.testimonial-art img{width:100%;height:100%;object-fit:cover}
.testimonial-index{position:absolute;left:12px;top:12px;padding:8px 10px;background:var(--surface);font-size:.58rem;font-weight:800;letter-spacing:.1em}
.testimonial-copy h2,
.home-reviews__copy h2{
  max-width:none;
  font-size:clamp(1.75rem,3.2vw,2.35rem);
  line-height:1.12;
  letter-spacing:-.02em;
}
.testimonial-placeholder{max-width:39rem;margin:20px 0 28px;color:var(--muted)}

.locations-section{background:var(--surface-alt)}
.locations-grid{display:grid;gap:14px}
.location-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.location-card .location-map{height:240px;background:var(--surface-alt)}
.location-card .location-map iframe{width:100%;height:100%;border:0}
.location-content{padding:22px}
.location-content h3{font-size:1.45rem}
.location-content>p:not(.eyebrow){margin-top:5px;color:var(--muted)}
.location-content dl{display:grid;gap:7px;margin-top:18px;padding:14px 0;border-block:1px solid var(--line)}
.location-content dl>div{display:flex;justify-content:space-between;gap:15px;font-size:.78rem}
.location-content dt{color:var(--muted)}
.location-details{display:grid;gap:7px;margin-top:15px}
.location-details a{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700}
.location-details .icon{width:1rem;height:1rem;color:var(--accent)}
.location-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.location-actions .btn{min-height:43px;padding-inline:14px;font-size:.74rem}

.site-footer{padding:56px 0 calc(90px + var(--safe-bottom));background:var(--footer-bg,var(--surface-alt));color:var(--ink);border-top:1px solid var(--line)}
.footer-grid{display:grid;gap:34px}
.footer-brand{display:grid;justify-items:start;gap:10px}
.footer-brand p{max-width:24rem;color:var(--muted)}
.footer-brand .brand-logo,
.brand-logo--footer{max-height:44px;max-width:min(220px,100%)}
.footer-social{display:flex;gap:8px;margin-top:7px}
.footer-social a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:.7rem;font-weight:800}
.site-footer nav,.footer-contact{display:grid;align-content:start;gap:8px}
.site-footer h2{margin-bottom:5px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.site-footer nav a,.footer-contact p,.footer-contact>a{color:var(--muted);font-size:.8rem}
.footer-contact p{margin-bottom:7px}
.footer-payments{margin-top:clamp(28px,4vw,44px);padding:18px 0 0}
.footer-payments__inner{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;min-width:0}
.site-footer .footer-payments__title{margin:0 0 0;padding:0;font-size:.8125rem;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.3;color:var(--ink)}
.footer-payments__list{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:0;padding:0;list-style:none;min-width:0}
.footer-payments__item{margin:0;padding:0;line-height:0}
.footer-payments__logo{display:block;height:22px;width:auto;max-width:64px;object-fit:contain}
.footer-payments__logo--apple-pay,
.footer-payments__logo--google-pay{height:28px;max-width:76px}
.footer-payments__logo--bank-transfer{height:24px;max-width:40px;opacity:.9}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem}
.mobile-bottom-nav,.product-sticky-bar{position:fixed;left:0;right:0;background:color-mix(in srgb,var(--surface) 96%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(16px)}
.mobile-bottom-nav{z-index:var(--z-bottom-nav,50);bottom:0;padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(3,1fr)}
.product-sticky-bar{z-index:var(--z-sticky-cta,60);bottom:var(--mobile-sticky-offset,0px)}
.mobile-bottom-nav a,.mobile-bottom-nav button{position:relative;min-height:58px;display:grid;place-items:center;align-content:center;gap:2px;padding:0;border:0;background:transparent;color:var(--ink);font-size:.62rem}
.mobile-bottom-nav span>.icon{width:1.1rem;height:1.1rem}
.mobile-bottom-nav b{position:absolute;right:calc(50% - 22px);top:3px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:.56rem}
.toast{position:fixed;z-index:120;left:50%;bottom:calc(76px + var(--safe-bottom));width:min(calc(100% - 30px),420px);padding:13px 18px;border-radius:999px;background:var(--accent);color:#fff;box-shadow:var(--shadow-lg);text-align:center;font-weight:800;transform:translate(-50%,20px);opacity:0;transition:.25s}
.toast.is-visible{transform:translate(-50%,0);opacity:1}

/* Product page */
.breadcrumbs{display:flex;gap:7px;align-items:center;overflow:hidden;padding-block:16px;color:var(--muted);font-size:.7rem;white-space:nowrap}
.breadcrumbs a:hover{color:var(--accent)}
.product-hero{padding:14px 0 65px}
.product-layout{display:grid;gap:32px}
.product-gallery{min-width:0}
.product-gallery-main{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--surface-alt);border-radius:var(--radius-lg)}
.product-gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform .35s,object-position .35s}
.product-gallery-main.is-detail img{transform:scale(1.72);object-position:52% 45%}
.product-gallery-main.is-wide img{transform:scale(.9)}
.gallery-zoom{position:absolute;right:12px;top:12px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--surface) 93%,transparent)}
.gallery-caption{position:absolute;left:12px;bottom:12px;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);font-size:.65rem;font-weight:700}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}
.gallery-thumbnails button{overflow:hidden;aspect-ratio:1;border:2px solid transparent;border-radius:var(--radius-sm);padding:0;background:var(--surface-alt)}
.gallery-thumbnails button.is-active{border-color:var(--accent)}
.gallery-thumbnails img{width:100%;height:100%;object-fit:cover}
.gallery-thumbnails button:nth-child(2) img{transform:scale(1.7)}
.gallery-thumbnails button:nth-child(3) img{transform:scale(.85)}
.product-summary{min-width:0}
.product-summary h1{text-transform:none}
.product-price{margin-top:11px;font-size:1.45rem;font-weight:800}
.product-short-description{margin-top:16px;color:var(--muted)}
.product-form{display:grid;gap:20px;margin-top:28px}
.size-selector legend{width:100%;display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:.78rem;font-weight:800}
.size-selector legend span{color:var(--muted);font-weight:400}
.size-selector>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.size-selector label input{position:absolute;opacity:0}
.size-selector label span{display:grid;place-items:center;min-height:54px;padding:6px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-weight:800}
.size-selector label small{display:block;color:var(--muted);font-size:.58rem;font-weight:400}
.size-selector input:checked+span{background:var(--primary-fill,var(--accent));border-color:var(--primary-fill,var(--accent));color:var(--primary-text,#fff)}
.size-selector input:checked+span small{color:rgba(255,255,255,.7)}
.variant-status{min-height:1.2em;margin-top:8px;color:var(--muted);font-size:.7rem}
.message-field{display:grid;gap:7px}
.message-field>span{display:flex;justify-content:space-between;font-size:.78rem;font-weight:800}
.message-field>span small{color:var(--muted);font-weight:400}
.message-field textarea,.review-form textarea,.review-form input{width:100%;padding:13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);resize:vertical}
.message-field>b{justify-self:end;color:var(--muted);font-size:.64rem;font-weight:400}
.purchase-row{display:grid;grid-template-columns:112px 1fr;gap:8px}
.quantity-control{display:grid;grid-template-columns:34px 1fr 34px;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;background:var(--surface)}
.quantity-control button{display:grid;place-items:center;padding:0;border:0;background:transparent}
.quantity-control button .icon{width:.95rem;height:.95rem}
.quantity-control input{min-width:0;width:100%;padding:0;border:0;background:transparent;text-align:center;font-weight:800;-moz-appearance:textfield}
.quantity-control input::-webkit-outer-spin-button,.quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.add-to-cart-main{width:100%}
.product-wishlist{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font-weight:800}
.product-wishlist.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.product-assurances{display:grid;margin-top:26px;border-top:1px solid var(--line)}
.product-assurances>div{display:grid;grid-template-columns:26px 1fr;gap:11px;padding:15px 0;border-bottom:1px solid var(--line)}
.product-assurances>.icon{color:var(--accent)}
.product-assurances strong,.product-assurances small{display:block}
.product-assurances strong{font-size:.78rem}
.product-assurances small{margin-top:2px;color:var(--muted);font-size:.66rem}
.product-editorial{background:var(--surface-alt)}
.product-editorial-grid{display:grid;gap:12px}
.editorial-card{padding:28px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}
.editorial-card h2{font-size:clamp(1.75rem,7vw,3rem)}
.editorial-card>p:not(.eyebrow),.editorial-card>div>p:not(.eyebrow){margin-top:13px;color:var(--muted)}
.product-facts{display:grid;gap:0;margin-top:22px;border-top:1px solid var(--line)}
.product-facts>div{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--line)}
.product-facts dt{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.product-facts dd{font-size:.84rem;font-weight:700}
.care-note{padding:14px;background:var(--paper);border-radius:var(--radius-sm)}
.delivery-list{display:grid;gap:9px;margin:20px 0;list-style:none}
.delivery-list li{display:flex;gap:8px;color:var(--muted);font-size:.8rem}
.delivery-list .icon{width:1rem;height:1rem;color:var(--accent)}
.editorial-card-story{display:grid;gap:25px;overflow:hidden}
.editorial-card-story figure{overflow:hidden;aspect-ratio:4/3;border-radius:var(--radius-sm)}
.editorial-card-story img{width:100%;height:100%;object-fit:cover;transform:scale(1.35)}
.review-empty{display:grid;grid-template-columns:34px 1fr;gap:12px;margin:22px 0;padding:16px;background:var(--paper);border-radius:var(--radius-sm)}
.review-empty>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff}
.review-empty .icon{width:1rem;height:1rem}
.review-empty p{margin-top:2px;color:var(--muted);font-size:.75rem}
.review-form{display:grid;gap:15px;padding-top:20px;border-top:1px solid var(--line)}
.review-form legend,.review-form>label{font-size:.76rem;font-weight:800}
.review-form label span,.review-form legend span{color:var(--accent)}
.rating-input{display:flex;gap:6px;margin-top:8px}
.rating-input input{position:absolute;opacity:0}
.rating-input label span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink)}
.rating-input input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.review-form>label{display:grid;gap:6px}
.review-fields{display:grid;gap:12px}
.consent-field{grid-template-columns:18px 1fr!important;align-items:start}
.consent-field input{width:auto;margin-top:3px;accent-color:var(--accent)}
.consent-field span{color:var(--muted)!important;font-weight:400}
.form-status{min-height:1.2em;color:var(--muted);font-size:.75rem}
.related-section{background:var(--paper)}
.product-sticky-bar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:8px 12px calc(8px + var(--safe-bottom))}
.product-sticky-bar>div{display:grid}
.product-sticky-bar small{color:var(--muted)}
.product-sticky-bar button{min-height:46px;display:flex;align-items:center;gap:7px;padding:0 16px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:800}
.product-sticky-bar button .icon{width:1rem;height:1rem}
/* Legacy stub neutralized — live gallery lightbox lives in product-gallery.css */


@media(max-width:979px){
  .primary-nav{
    position:fixed;z-index:56;left:0;top:0;bottom:0;width:min(88vw,390px);
    display:grid;align-content:start;gap:0;padding:92px 22px 30px;
    background:var(--paper);box-shadow:var(--shadow-lg);
    transform:translateX(-105%);transition:transform .32s cubic-bezier(.22,1,.36,1)
  }
  .primary-nav.is-open{transform:none}
  .primary-nav a{display:flex;align-items:center;min-height:54px;border-bottom:1px solid var(--line);font-size:1.15rem;font-weight:800}
  .menu-toggle{z-index:58}
}
.site-header.is-scrolled{box-shadow:0 8px 30px rgba(20,16,18,.06)}


@media (min-width:700px){
  :root{--gutter:30px;--section:96px}
  .topbar-inner>div{display:flex}
  .search-form>div{grid-template-columns:1fr auto}
  .hero-grid{grid-template-columns:1fr .92fr;align-items:center}
  .hero-art{min-height:610px}
  .trust-grid{grid-template-columns:repeat(3,1fr)}
  .trust-grid article{border-bottom:0;border-right:1px solid var(--line)}
  .trust-grid article:last-child{border-right:0}
  .section-heading:not(.section-heading-center){grid-template-columns:1fr auto;align-items:end}
  .products-grid{gap:36px 18px}
  .product-title-row{grid-template-columns:1fr auto;align-items:start}
  .product-composition{display:block}
  .featured-card{grid-template-columns:.95fr 1.05fr;align-items:stretch;min-height:0}
  .featured-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3.5vw,48px)}
  .featured-media{min-height:0;height:100%;aspect-ratio:auto}
  .why-layout{grid-template-columns:1fr 1.08fr 1fr;grid-template-rows:repeat(3,minmax(150px,auto));gap:12px}
  .why-card{align-items:center}
  .why-card-1{grid-column:1;grid-row:1}.why-card-2{grid-column:1;grid-row:2}.why-card-3{grid-column:1;grid-row:3}
  .why-card-4{grid-column:3;grid-row:1}.why-card-5{grid-column:3;grid-row:2}.why-card-6{grid-column:3;grid-row:3}
  .why-visual{grid-column:2;grid-row:1/4;min-height:100%}
  .mood-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .testimonial-grid{grid-template-columns:.9fr 1.1fr;gap:7vw}
  .locations-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}
  .product-layout{grid-template-columns:1.08fr .92fr;gap:6vw;align-items:start}
  .product-summary{position:sticky;top:112px}
  .product-gallery-main{aspect-ratio:4/5}
  .product-editorial-grid{grid-template-columns:repeat(2,1fr)}
  .editorial-card-intro,.editorial-card-story,.review-card{grid-column:1/-1}
  .editorial-card-story{grid-template-columns:1fr .9fr;align-items:center}
  .review-fields{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:980px){
  :root{--gutter:46px;--section:128px}
  /* Equal side tracks keep primary nav optically centered after search removal. */
  .nav-inner{min-height:80px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .nav-inner>.brand{grid-column:1;justify-self:start;max-width:min(240px,22vw)}
  .brand-logo{max-height:42px}
  .primary-nav{grid-column:2;display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.6vw,38px)}
  .primary-nav a{position:relative;padding:30px 0;font-size:.82rem;font-weight:700}
  .primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:1px;background:var(--accent);transition:right .25s}
  .primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after{right:0}
  .header-actions{grid-column:3;justify-self:end}
  .menu-toggle{display:none}
  .hero-section{padding:72px 0 98px}
  .hero-grid{grid-template-columns:1.04fr .96fr;gap:7vw}
  .hero-copy h1{font-size:clamp(5.4rem,7.7vw,8.1rem)}
  .hero-lead{font-size:1.15rem}
  .hero-art{min-height:760px}
  .trust-section{margin-top:-46px;padding-bottom:0}
  .trust-grid article{padding:24px 30px}
  .products-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 22px}
  .why-layout{gap:18px}
  .why-card{padding:25px}
  .mood-media{min-height:470px}
  .testimonial-art{min-height:650px}
  .location-card .location-map{height:310px}
  .site-footer{padding-bottom:34px}
  .mobile-bottom-nav,.product-sticky-bar{display:none}
  .toast{bottom:24px}
  .product-hero{padding:34px 0 100px}
  .product-layout{grid-template-columns:1.12fr .88fr;gap:8vw}
  .product-summary h1{font-size:clamp(4.4rem,6vw,6.6rem)}
  .editorial-card{padding:46px}
  .editorial-card-intro{padding:60px}
}
@media (min-width:1280px){
  :root{--gutter:64px;--section:150px}
  .product-layout{grid-template-columns:1.18fr .82fr}
}
@media (max-width:390px){
  .nav-inner>.brand{max-width:min(150px,42vw)}
  .brand-logo{max-height:30px}
  .header-actions > .cart-link{display:none}
  .product-title-row h3{overflow-wrap:anywhere}
  .product-actions{grid-template-columns:1fr}
  .quick-cart{justify-content:center}
  .featured-data{grid-template-columns:1fr}
  .purchase-row{grid-template-columns:1fr}
  .quantity-control{min-height:48px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}



:root{
  --paper:#FBF7F0;--surface:#FFFFFF;--surface-alt:#E6D8CC;--ink:#1F1A18;--muted:#6B6560;
  --line:rgba(31,26,24,.14);--line-strong:rgba(31,26,24,.28);
  --topbar-bg:#F1E0D4;--footer-bg:#62483E;
  /* Commerce primary action MUST track design-system accent, not legacy pink fill */
  --primary-fill:var(--accent);--primary-fill-hover:color-mix(in srgb,var(--accent) 82%,#000);--primary-text:#fff;
  --action-primary-bg:var(--accent);
  --action-primary-text:#fff;
  --action-secondary-bg:transparent;
  --action-secondary-text:var(--ink);
  --action-secondary-border:var(--line-strong);
  --action-disabled-bg:color-mix(in srgb,var(--ink) 8%,var(--surface));
  --action-disabled-text:var(--muted);
  --action-height:44px;
  --action-height-mobile:46px;
  --action-gap:10px;
  --radius-sm:14px;--radius-md:24px;--radius-lg:32px;
  /* Semantic surfaces — equivalent components must share these roles */
  --surface-page:var(--paper);
  --surface-card:var(--surface);
  --surface-clay:#F1E0D4;
  --surface-rust-soft:#ECD8D4;
  --surface-warm:#E6D8CC;
  --surface-editorial:var(--surface-warm);
  --surface-muted:#F3E8DC;
  --surface-footer:var(--footer-bg);
  --aqueous:var(--surface-warm);
  --font-product-title:clamp(1.85rem, 3.4vw, 2.65rem);
  --space-page-top:clamp(16px, 2vw, 28px);
  --space-page-top-commerce:clamp(12px, 1.6vw, 24px);
  --space-page-top-utility:clamp(12px, 1.5vw, 22px);
  --space-crumb-block:10px 0 6px;
  --space-section-commerce:clamp(28px, 4vw, 48px);
  --space-section-utility:clamp(24px, 3.5vw, 40px);
}
body{background:var(--paper)}
.site-header{background:color-mix(in srgb,var(--paper) 94%,transparent)}
.hero-section{background:var(--paper)}
.hero-copy{background:transparent;border-radius:0}
.hero-image-frame{box-shadow:0 28px 70px rgba(72,95,87,.13)}
.hero-decoration-one{right:-120px;top:-100px;width:360px;height:360px;background:var(--surface-clay);border-radius:50%;opacity:.86}
.hero-decoration-two{left:-100px;bottom:-120px;width:280px;height:280px;background:var(--surface-clay);border-radius:50%}
.trust-section,.featured-section,.why-section,.testimonial-section,.locations-section,.related-section{background:var(--paper)}
.products-section{background:var(--surface)}
.featured-card{background:var(--surface-clay);color:var(--ink)}
.featured-card .featured-lead,.featured-card .featured-data small{color:var(--muted)}
.featured-card .featured-data span{background:var(--paper);border-color:var(--line)}
.why-section{background:var(--surface-muted)}
.collection-section{background:var(--surface-clay)}
.testimonial-section{background:var(--surface-rust-soft)}
.locations-section{background:var(--paper)}
.product-summary,.editorial-card,.location-card{background:var(--surface)}
.product-editorial{background:var(--surface-warm)}
.related-section{background:var(--surface)}
.product-sticky-bar{background:rgba(255,255,255,.96)}


/* Collection section — refined rhythm and collision-free grid */
.collection-section{
  padding-block:clamp(96px,10vw,156px);
  scroll-margin-top:96px;
}
.collection-section>.container{
  width:min(calc(100% - (var(--gutter)*2)),1320px);
}
.collection-section .section-heading-center{
  max-width:860px;
  margin:0 auto clamp(46px,6vw,78px);
}
.collection-section .section-heading-center .eyebrow{
  margin-bottom:14px;
}
.collection-section .section-heading-center h2{
  max-width:none;
  margin-bottom:14px;
}
.collection-section .section-heading-center>p:last-child{
  max-width:620px;
  margin-inline:auto;
  line-height:1.65;
}
.mood-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  align-items:start;
}
.mood-card{
  min-width:0;
  display:grid;
  gap:0;
  padding:10px;
  background:color-mix(in srgb,var(--surface) 96%,transparent);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:0 16px 44px rgba(85,66,74,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}
.mood-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 58px rgba(85,66,74,.13);
}
.mood-media{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:0;
  aspect-ratio:4/5;
  border-radius:calc(var(--radius-md) - 6px);
  background:var(--surface-alt);
}
.mood-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mood-copy{
  position:relative;
  min-height:94px;
  display:grid;
  align-content:start;
  gap:5px;
  padding:17px 38px 10px 8px;
}
.mood-copy span{
  font-size:1.02rem;
  line-height:1.15;
  font-weight:800;
}
.mood-copy small{
  max-width:18rem;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.45;
}
.mood-copy b{
  position:absolute;
  right:8px;
  top:18px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--surface);
}
@media(min-width:520px){
  .mood-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
}
@media(min-width:980px){
  .collection-section{padding-block:clamp(120px,9vw,170px)}
  .mood-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,1.8vw,28px)}
  .mood-card{padding:10px}
  .mood-copy{min-height:104px;padding-top:19px}
}


/* Rating radio width safeguard */
.review-form .rating-input input[type="radio"]{
  position:absolute;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  margin:0!important;
  opacity:0;
  pointer-events:none;
}


/* =========================================================
   V5 PRODUCTION POLISH — spacing, card safe areas, rhythm
   ========================================================= */
:root{
  --space-1:6px;
  --space-2:10px;
  --space-3:14px;
  --space-4:18px;
  --space-5:24px;
  --space-6:32px;
  --space-7:44px;
  --space-8:64px;
  --card-pad-mobile:16px;
  --card-pad-tablet:20px;
  --card-pad-desktop:24px;
}

/* Global vertical rhythm */
.section{
  padding-block:clamp(88px,8vw,144px);
}
.section-heading{
  gap:clamp(14px,2vw,24px);
  margin-bottom:clamp(38px,5vw,68px);
}
.section-heading-center{
  max-width:920px;
  margin-inline:auto;
}
.section-heading-center>p:last-child{
  margin-top:2px;
  line-height:1.7;
}
.eyebrow{
  margin-bottom:12px;
}
.section-action{
  margin-top:clamp(42px,5vw,68px);
}

/* Header / utility safe areas */
.topbar-inner{
  min-height:38px;
  padding-block:3px;
}
.nav-inner{
  padding-block:2px;
}
.primary-nav a{
  padding-inline:2px;
}
.search-form{
  padding-inline:clamp(0px,2vw,24px);
}

/* Trust strip */
.trust-grid{
  overflow:hidden;
}
.trust-grid article{
  min-height:84px;
  padding:22px clamp(18px,2vw,28px);
  align-items:center;
}
.trust-grid article>div{
  min-width:0;
}
.trust-grid strong{
  line-height:1.25;
}
.trust-grid small{
  margin-top:5px;
  line-height:1.45;
}

/* Catalog cards */
.products-grid{
  align-items:stretch;
}
.product-card{
  height:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:0 12px 34px rgba(75,58,64,.055);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.product-card:hover{
  transform:translateY(-5px);
  border-color:var(--line-strong);
  box-shadow:0 24px 54px rgba(75,58,64,.10);
}
.product-media{
  flex:none;
  aspect-ratio:var(--product-media-ratio,1/1);
  border-radius:0;
  border:0;
}
.product-media>a{
  overflow:hidden;
}
.product-tag{
  left:12px;
  top:12px;
}
.wishlist-button{
  right:12px;
  top:12px;
}
.product-photo-size{
  left:12px;
  right:12px;
  bottom:12px;
  padding:8px 10px;
  line-height:1.35;
}
.product-info{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:var(--card-pad-mobile);
}
.product-title-row{
  gap:8px;
}
.product-title-row h3{
  font-size:1.08rem;
  line-height:1.2;
}
.product-title-row strong{
  font-size:.94rem;
  line-height:1.2;
  white-space:nowrap;
}
.product-composition{
  margin-top:10px;
  line-height:1.55;
}
.product-actions{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.product-details-link,
.quick-cart{
  min-height:38px;
}
.product-details-link{
  padding-block:7px;
}
.quick-cart{
  padding-inline:12px;
}

/* Featured product */
.featured-card{
  overflow:hidden;
}
.featured-copy{
  padding:clamp(30px,5vw,72px);
}
.featured-copy .eyebrow{
  margin-bottom:14px;
}
.featured-lead{
  margin-top:20px;
  line-height:1.65;
}
.featured-data{
  gap:12px;
  margin:30px 0 32px;
}
.featured-data span{
  min-height:78px;
  padding:15px;
}
.featured-data strong{
  margin-top:7px;
  line-height:1.3;
}
.featured-media>span{
  right:16px;
  top:16px;
}

/* Why cards */
.why-layout{
  gap:clamp(12px,1.5vw,20px);
}
.why-card{
  min-height:132px;
  padding:clamp(20px,2.3vw,30px);
  align-items:start;
}
.why-card h3{
  margin-top:1px;
}
.why-card p{
  margin-top:8px;
  line-height:1.55;
}
.why-visual figcaption{
  left:16px;
  right:16px;
  bottom:16px;
  padding:14px 16px;
  line-height:1.45;
}

/* Collection cards */
.collection-section .section-heading-center{
  margin-bottom:clamp(48px,6vw,80px);
}
.mood-grid{
  gap:clamp(18px,2vw,28px);
}
.mood-card{
  height:100%;
  padding:10px;
}
.mood-copy{
  min-height:108px;
  padding:20px 44px 16px 10px;
}
.mood-copy span{
  font-size:1.08rem;
}
.mood-copy small{
  margin-top:2px;
  line-height:1.55;
}
.mood-copy b{
  right:10px;
  top:19px;
}

/* Testimonial */
.testimonial-grid{
  gap:clamp(34px,7vw,96px);
}
.testimonial-copy{
  padding:clamp(4px,2vw,24px);
}
.testimonial-placeholder{
  margin:24px 0 32px;
  line-height:1.7;
}

/* Locations */
.locations-grid{
  gap:clamp(18px,2.5vw,34px);
}
.location-card{
  display:flex;
  flex-direction:column;
}
.location-content{
  flex:1;
  padding:clamp(24px,3vw,38px);
}
.location-content h3{
  margin-top:2px;
  font-size:clamp(1.4rem,2vw,1.8rem);
}
.location-content>p:not(.eyebrow){
  margin-top:8px;
  line-height:1.55;
}
.location-content dl{
  margin-top:22px;
  padding:17px 0;
}
.location-content dl>div{
  padding-block:2px;
}
.location-details{
  gap:10px;
  margin-top:18px;
}
.location-actions{
  gap:10px;
  margin-top:24px;
}

/* Footer */
.site-footer{
  padding-top:clamp(60px,7vw,96px);
}
.footer-grid{
  gap:clamp(34px,5vw,74px);
}
.footer-brand{
  gap:13px;
}
.site-footer nav,
.footer-contact{
  gap:10px;
}
.site-footer h2{
  margin-bottom:9px;
}
.footer-contact p{
  margin-bottom:10px;
  line-height:1.55;
}
.footer-payments{
  margin-top:clamp(28px,4vw,48px);
  padding-top:20px;
}
.footer-bottom{
  margin-top:20px;
  padding-top:24px;
}

/* Product page layout */
.breadcrumbs{
  padding-block:20px;
}
.product-hero{
  padding:clamp(24px,4vw,54px) 0 clamp(84px,8vw,124px);
}
.product-layout{
  gap:clamp(34px,7vw,104px);
}
.product-gallery-main{
  border:1px solid var(--line);
}
.gallery-zoom{
  right:16px;
  top:16px;
}
.gallery-caption{
  left:16px;
  bottom:16px;
  padding:9px 12px;
}
.gallery-thumbnails{
  gap:12px;
  margin-top:12px;
}
.gallery-thumbnails button{
  border:1px solid var(--line);
}
.gallery-thumbnails button.is-active{
  border-color:var(--accent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent);
}

/* Purchase panel */
.product-summary{
  padding:clamp(26px,3.6vw,46px);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:0 18px 50px rgba(75,58,64,.065);
}
.product-summary .eyebrow{
  margin-bottom:14px;
}
.product-summary h1{
  font-size:clamp(3.4rem,5.3vw,6rem);
  line-height:.88;
}
.product-price{
  margin-top:16px;
}
.product-short-description{
  margin-top:20px;
  line-height:1.65;
}
.product-form{
  gap:24px;
  margin-top:32px;
}
.size-selector{
  padding-top:3px;
}
.size-selector legend{
  margin-bottom:12px;
  line-height:1.4;
}
.size-selector>div{
  gap:10px;
}
.size-selector label span{
  min-height:60px;
  padding:9px 8px;
}
.variant-status{
  margin-top:10px;
  line-height:1.45;
}
.message-field{
  gap:9px;
}
.message-field textarea,
.review-form textarea,
.review-form input{
  padding:15px 16px;
  line-height:1.5;
}
.purchase-row{
  gap:10px;
}
.quantity-control{
  min-height:var(--action-height,44px);
  max-width:140px;
}
.add-to-cart-main,
.btn-buy-now{
  min-height:var(--action-height,44px);
}
.product-wishlist{
  min-height:var(--action-height,44px);
}
.product-assurances{
  margin-top:30px;
}
.product-assurances>div{
  min-height:76px;
  padding:17px 0;
  align-items:start;
}
.product-assurances strong{
  line-height:1.35;
}
.product-assurances small{
  margin-top:5px;
  line-height:1.45;
}

/* Product information cards */
.product-editorial{
  padding-block:clamp(88px,8vw,140px);
}
.product-editorial-grid{
  gap:clamp(16px,2vw,26px);
}
.editorial-card{
  padding:clamp(26px,3.6vw,48px);
  border-radius:var(--radius-lg);
}
.editorial-card .eyebrow{
  margin-bottom:13px;
}
.editorial-card>p:not(.eyebrow),
.editorial-card>div>p:not(.eyebrow){
  margin-top:16px;
  line-height:1.72;
}
.product-facts{
  margin-top:26px;
}
.product-facts>div{
  padding:15px 0;
}
.product-facts dt{
  margin-bottom:3px;
}
.care-note{
  margin-top:18px!important;
  padding:16px 18px;
  line-height:1.6!important;
}
.delivery-list{
  gap:11px;
  margin:24px 0;
}
.delivery-list li{
  line-height:1.5;
}
.editorial-card-story{
  gap:clamp(28px,5vw,72px);
}
.review-empty{
  margin:26px 0;
  padding:20px;
}
.review-form{
  gap:18px;
  padding-top:24px;
}
.review-fields{
  gap:16px;
}
.rating-input{
  gap:8px;
  margin-top:10px;
}
.rating-input label span{
  width:42px;
  height:42px;
}
.form-status{
  margin-top:2px;
}

/* Related products */
.related-section .products-grid{
  margin-top:2px;
}

/* Mobile controls */
.product-sticky-bar{
  min-height:68px;
  padding:9px 14px calc(9px + var(--safe-bottom));
}
.product-sticky-bar button{
  min-height:48px;
  padding-inline:18px;
}

@media(min-width:700px){
  :root{
    --card-pad-mobile:20px;
  }
  .product-info{
    padding:var(--card-pad-tablet);
  }
  .product-title-row{
    gap:12px;
  }
  .product-editorial-grid{
    align-items:stretch;
  }
  .editorial-card{
    height:100%;
  }
}

@media(min-width:980px){
  .trust-grid article{
    min-height:96px;
    padding:26px 30px;
  }
  .product-info{
    padding:var(--card-pad-desktop);
  }
  .product-card .product-composition{
    min-height:3.1em;
  }
  .product-actions{
    min-height:54px;
  }
  .location-content{
    padding:38px;
  }
  .product-summary{
    padding:clamp(34px,3vw,48px);
  }
  .product-summary h1{
    font-size:clamp(4.8rem,5.8vw,6.8rem);
  }
  .editorial-card-intro{
    padding:clamp(42px,4vw,64px);
  }
}

@media(max-width:699px){
  .product-title-row{
    min-height:50px;
  }
  .product-actions{
    grid-template-columns:1fr;
  }
  .quick-cart{
    justify-content:center;
  }
  .featured-data{
    grid-template-columns:1fr;
  }
  .mood-copy{
    min-height:96px;
  }
}


/* V5 Commerce details */
.product-card{border-color:transparent;box-shadow:0 16px 42px rgba(72,95,87,.075)}
.product-card:hover{box-shadow:0 26px 60px rgba(72,95,87,.13)}
.featured-card{box-shadow:0 22px 58px rgba(72,95,87,.10)}
.product-summary{box-shadow:0 24px 66px rgba(72,95,87,.09)}
.editorial-card{box-shadow:0 14px 40px rgba(72,95,87,.055)}
.location-card{box-shadow:0 14px 40px rgba(72,95,87,.06)}


/* =========================================================
   V6 — production safe zones and cross-concept QA fixes
   ========================================================= */
:root{
  --content-inset:clamp(18px,2.3vw,32px);
  --panel-inset:clamp(26px,4vw,58px);
  --section-head-gap:clamp(42px,5.4vw,76px);
}
.hero-copy,
.featured-copy,
.product-info,
.location-content,
.product-summary,
.editorial-card,
.testimonial-copy{
  min-width:0;
}
.hero-copy{
  padding:var(--panel-inset);
}
.hero-copy .eyebrow,
.hero-copy h1,
.hero-copy .hero-lead,
.hero-copy .hero-buttons,
.hero-copy .hero-meta{
  position:relative;
  z-index:2;
}
.section-heading{
  margin-bottom:var(--section-head-gap);
}
.product-card{
  isolation:isolate;
}
.product-info{
  padding:clamp(18px,2.1vw,28px);
}
.product-title-row{
  min-height:46px;
}
.product-composition{
  min-height:3.2em;
}
.product-actions{
  margin-top:auto;
}
.featured-copy{
  padding:clamp(34px,5vw,76px);
}
.location-content{
  padding:clamp(28px,3.4vw,44px);
}
.product-summary{
  padding:clamp(30px,4vw,52px);
}
.editorial-card{
  padding:clamp(30px,4vw,56px);
}
.testimonial-copy{
  padding:clamp(10px,3vw,38px);
}
.product-gallery-main,
.product-card,
.featured-card,
.location-card,
.editorial-card,
.product-summary,
.mood-card{
  overflow:hidden;
}
.product-media,
.mood-media,
.featured-media,
.product-gallery-main{
  background:var(--surface-alt);
}
.product-price,
.product-title-row strong{
  font-variant-numeric:tabular-nums;
}
@media(max-width:699px){
  .hero-copy{
    padding:26px 22px 30px;
  }
  .product-info{
    padding:18px;
  }
  .product-summary{
    padding:26px 20px;
  }
  .editorial-card{
    padding:28px 22px;
  }
  .location-content{
    padding:26px 22px;
  }
}


/* =========================================================
   02 — CURATED COMMERCE
   Clear ecommerce hierarchy, dense information, conversion-first
   ========================================================= */
.hero-section{
  background:var(--paper);
  padding-top:34px;
}
.hero-grid{
  gap:20px;
  grid-template-columns:1.06fr .94fr;
}
.hero-copy{
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,4vw,56px) 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.hero-copy::after{
  content:none;
  display:none;
  margin:0;
  padding:0;
  border:0;
}
.hero-copy h1{
  font-size:clamp(4.8rem,7.2vw,7.8rem);
  line-height:.86;
}
.hero-art{
  min-height:710px;
}
.hero-image-frame{
  border-radius:32px;
}
.hero-product-label{
  left:20px;
  right:20px;
  bottom:20px;
  padding:18px 20px;
  border-radius:18px;
}
.trust-section{
  padding-top:22px;
}
.trust-grid{
  border-radius:22px;
}
.products-section{
  background:#FFFFFF;
}
.products-section .section-heading-center{
  max-width:760px;
}
.products-section .products-grid{
  gap:24px;
}
.products-section .product-card{
  border-color:transparent;
  border-radius:20px;
  box-shadow:0 12px 36px rgba(72,95,87,.07);
}
.products-section .product-card:hover{
  box-shadow:0 24px 54px rgba(72,95,87,.12);
}
.products-section .product-media{
  aspect-ratio:var(--product-media-ratio,1/1);
}
.product-info{
  padding:14px 4px 0;
}
.product-card--v2 .product-info,
.product-card--v2 .product-card-body{
  padding:10px 2px 0;
  min-height:0;
}
.products-section .product-actions,
.product-card-actions--v2{
  grid-template-columns:minmax(0,1.55fr) minmax(108px,1fr);
  gap:12px;
}
.featured-section{
  background:var(--paper);
}
.featured-card{
  border:0;
  border-radius:30px;
  background:var(--surface-clay);
  box-shadow:0 24px 70px rgba(72,95,87,.1);
}
.featured-copy{
  padding:clamp(28px,3.6vw,48px);
}
.featured-media{
  min-height:0;
  aspect-ratio:4/5;
  max-height:min(560px,62vh);
}
.why-section{
  background:var(--surface-muted);
}
.why-layout{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto auto;
}
.why-card{
  min-height:188px;
  padding:30px;
  border:0;
  border-radius:20px;
  background:#FFFFFF;
  box-shadow:0 10px 30px rgba(72,95,87,.055);
}
.why-card-1,.why-card-2,.why-card-3,
.why-card-4,.why-card-5,.why-card-6{
  grid-column:auto;
  grid-row:auto;
}
.why-visual{
  display:none;
}
.collection-section{
  background:var(--surface-clay);
}
.mood-grid{
  gap:22px;
}
.mood-card{
  border:0;
  border-radius:22px;
  background:#FFFFFF;
  box-shadow:0 14px 36px rgba(87,67,75,.07);
}
.mood-media{
  border-radius:16px;
}
.testimonial-section{
  background:var(--surface-rust-soft);
}
.testimonial-grid{
  grid-template-columns:.88fr 1.12fr;
}
.testimonial-art{
  border-radius:30px;
}
.testimonial-copy{
  max-width:620px;
}
.locations-section{
  background:var(--paper);
}
.location-card{
  border:0;
  border-radius:24px;
  box-shadow:0 16px 44px rgba(72,95,87,.07);
}
.site-footer{
  background:var(--surface-warm);
}
.product-layout{
  grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);
  gap:clamp(52px,6vw,92px);
}
.product-gallery-main{
  border:0;
  border-radius:26px;
  box-shadow:0 22px 60px rgba(72,95,87,.09);
}
.product-summary{
  border:0;
  border-radius:26px;
  box-shadow:0 24px 68px rgba(72,95,87,.1);
}
.size-selector>div{
  grid-template-columns:repeat(3,1fr);
}
.size-selector label span{
  border-radius:14px;
}
.message-field textarea,
.quantity-control,
.product-wishlist{
  border-radius:14px;
}
.add-to-cart-main,
.btn-buy-now{
  border-radius:14px;
}
.product-assurances{
  margin-inline:-8px;
}
.product-assurances>div{
  padding-inline:8px;
}
.product-editorial{
  background:var(--surface-warm);
}
.product-editorial-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.editorial-card{
  border:0;
  border-radius:24px;
  box-shadow:0 14px 40px rgba(72,95,87,.06);
}
.editorial-card-intro,
.editorial-card-story,
.review-card{
  grid-column:1/-1;
}
.editorial-card-story{
  grid-template-columns:1fr 1fr;
}
.related-section{
  background:#FFFFFF;
}
@media(max-width:979px){
  .hero-grid,
  .product-layout{
    grid-template-columns:1fr;
  }
  .hero-copy{
    min-height:auto;
  }
  .why-layout{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:699px){
  .why-layout,
  .product-editorial-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V7 — VISUAL SAFE ZONE + COMPACT TYPOGRAPHY
   ========================================================= */
:root{
  --container:1320px;
  --gutter:20px;
  --page-safe:clamp(20px,4.4vw,84px);
  --section-safe-y:clamp(92px,9vw,156px);
  --panel-safe:clamp(28px,4vw,54px);
}

/* Wider visual breathing space around every major module */
.container{
  width:min(calc(100% - (var(--gutter) * 2)),var(--container));
}
.section{
  padding-block:var(--section-safe-y);
}
.hero-section{
  padding-block:clamp(66px,8vw,126px);
}
.hero-grid,
.product-layout,
.testimonial-grid,
.featured-card,
.why-layout,
.locations-grid{
  position:relative;
  min-width:0;
}
.products-section>.container,
.collection-section>.container,
.why-section>.container,
.locations-section>.container,
.related-section>.container{
  max-width:1320px;
}
.product-hero>.container,
.product-editorial>.container{
  max-width:1260px;
}
.breadcrumbs{
  max-width:1260px;
}

/* Compact, more professional H1 scale */
.hero-copy h1{
  max-width:10.8ch;
  font-size:clamp(3.65rem,6.4vw,7.1rem);
  line-height:.88;
  letter-spacing:-.052em;
}
.product-summary h1{
  max-width:100%;
  font-size:clamp(3.15rem,4.7vw,5.25rem);
  line-height:.9;
  letter-spacing:-.045em;
}
.hero-copy h1 em{
  line-height:.92;
}
.hero-lead{
  max-width:36rem;
  margin-top:clamp(22px,2.4vw,32px);
  line-height:1.68;
}

/* Outer and inner safe zones must work together */
.hero-copy{
  padding:clamp(32px,4.4vw,66px);
}
.hero-art{
  min-width:0;
}
.trust-section{
  padding-inline:0;
}
.trust-grid{
  margin-inline:auto;
}
.section-heading{
  max-width:980px;
  margin-bottom:clamp(48px,6vw,82px);
}
.section-heading-center{
  padding-inline:clamp(0px,2vw,24px);
}
.product-info{
  padding:clamp(20px,2.3vw,30px);
}
.featured-copy{
  padding:clamp(42px,5.6vw,82px);
}
.why-card{
  padding:clamp(24px,2.7vw,34px);
}
.mood-copy{
  padding:22px 46px 18px 12px;
}
.testimonial-copy{
  padding:clamp(20px,3.5vw,48px);
}
.location-content{
  padding:clamp(32px,4vw,48px);
}
.product-summary{
  padding:clamp(34px,4.3vw,56px);
}
.editorial-card{
  padding:clamp(34px,4.4vw,58px);
}

/* Prevent content from visually sticking to borders */
.product-summary .eyebrow{
  margin-bottom:16px;
}
.product-price{
  margin-top:18px;
}
.product-short-description{
  margin-top:22px;
}
.product-form{
  margin-top:34px;
}
.size-selector{
  padding-top:2px;
}
.size-selector legend{
  margin-bottom:14px;
}
.size-selector>div{
  gap:12px;
}
.size-selector label span{
  min-height:62px;
  padding:10px;
}
.message-field{
  gap:10px;
}
.message-field textarea{
  min-height:118px;
}
.purchase-row{
  gap:12px;
}
.product-assurances{
  margin-top:34px;
}
.product-assurances>div{
  min-height:78px;
  padding-block:18px;
}
.editorial-card .eyebrow{
  margin-bottom:15px;
}
.editorial-card>p:not(.eyebrow),
.editorial-card>div>p:not(.eyebrow){
  margin-top:18px;
}
.product-facts{
  margin-top:28px;
}
.product-facts>div{
  padding-block:16px;
}
.care-note{
  margin-top:20px!important;
  padding:18px 20px;
}
.review-form{
  padding-top:26px;
}

/* Stable card safe zones */
.product-card{
  min-width:0;
}
.product-title-row{
  min-height:48px;
}
.product-composition{
  min-height:3.35em;
  line-height:1.58;
}
.product-actions{
  padding-top:16px;
}
.product-photo-size{
  left:14px;
  right:14px;
  bottom:14px;
}
.product-tag{
  left:14px;
  top:14px;
}
.wishlist-button{
  right:14px;
  top:14px;
}
.location-actions{
  margin-top:26px;
}
.footer-grid{
  gap:clamp(42px,5vw,76px);
}

/* Responsive page gutters */
@media(min-width:700px){
  :root{--gutter:38px}
}
@media(min-width:980px){
  :root{--gutter:64px}
}
@media(min-width:1440px){
  :root{--gutter:78px}
}
@media(max-width:699px){
  :root{--gutter:18px}
  .hero-section{
    padding-block:46px 74px;
  }
  .hero-copy{
    padding:28px 22px 32px;
  }
  .hero-copy h1{
    font-size:clamp(3.25rem,14vw,4.7rem);
    line-height:.9;
  }
  .product-summary h1{
    font-size:clamp(3rem,13vw,4.25rem);
  }
  .section{
    padding-block:82px;
  }
  .section-heading{
    margin-bottom:42px;
  }
  .product-info{
    padding:20px;
  }
  .product-summary{
    padding:28px 22px;
  }
  .editorial-card{
    padding:30px 24px;
  }
  .location-content{
    padding:28px 24px;
  }
}


/* V7 Commerce — balanced conversion panel */
.hero-grid{
  grid-template-columns:1fr 1fr;
  gap:26px;
}
.hero-copy{
  min-height:650px;
  padding:clamp(50px,5.8vw,82px);
}
.hero-copy h1{
  max-width:10.2ch;
  font-size:clamp(4.45rem,6.5vw,6.8rem);
}
.hero-art{
  min-height:650px;
}
.hero-product-label{
  left:24px;
  right:24px;
  bottom:24px;
}
.products-section .products-grid{
  gap:28px 24px;
}
.products-section .product-info{
  padding:24px 24px 28px;
}
.featured-copy{
  padding:clamp(54px,6.5vw,96px);
}
.product-layout{
  grid-template-columns:minmax(0,1fr) minmax(410px,.92fr);
  gap:clamp(56px,6vw,88px);
}
.product-summary{
  padding:clamp(38px,4.2vw,54px);
}
.product-summary h1{
  font-size:clamp(3.4rem,4.55vw,5rem);
}
.editorial-card{
  padding:clamp(38px,4vw,54px);
}


/* =========================================================
   V8 FINAL HANDOFF — compact hero, Corbel, restrained brand pink
   ========================================================= */
:root{
  --font:Corbel,"Trebuchet MS",Arial,sans-serif;
  --accent:#e80752;
  --section-hero-y:clamp(38px,4.8vw,72px);
}
html,body,button,input,textarea,select{
  font-family:Corbel,"Trebuchet MS",Arial,sans-serif;
}
body{
  font-family:Corbel,"Trebuchet MS",Arial,sans-serif;
}
h1,h2,h3,.btn,.primary-nav a{
  font-family:Corbel,"Trebuchet MS",Arial,sans-serif;
}

/* Hero height reduction */
.hero-section{
  padding-block:var(--section-hero-y);
}
.hero-grid{
  align-items:center;
}
.hero-copy{
  min-height:0;
}
.hero-art{
  min-height:0;
}
.hero-image-frame{
  min-height:0;
}
.hero-copy::before{
  margin-bottom:18px;
}
.hero-copy .eyebrow{
  margin-bottom:12px;
}
.hero-lead{
  margin-top:18px;
}
.hero-buttons{
  margin-top:24px;
}
.hero-meta{
  margin-top:24px;
}
.hero-product-label{
  bottom:18px;
}
.trust-section{
  margin-top:0;
  padding-top:18px;
}

/* Restrained use of #e80752 */
.eyebrow,
.product-mood,
.primary-nav a[aria-current="page"],
.primary-nav a:hover,
.text-link:hover,
.product-details-link:hover{
  color:var(--accent);
}
.primary-nav a::after{
  background:var(--accent);
}
.btn-primary,
.product-sticky-bar button{
  background:var(--button-task-bg,var(--ink));
  border-color:var(--button-task-bg,var(--ink));
  color:var(--button-task-text,#fff);
}
.btn-commerce,
.btn-buy-now,
.quick-cart{
  background:var(--button-commerce-bg,var(--accent));
  border-color:var(--button-commerce-bg,var(--accent));
  color:var(--button-commerce-text,#fff);
}
.btn-primary:hover,
.product-sticky-bar button:hover{
  background:var(--button-task-hover,#2a2622);
  border-color:var(--button-task-hover,#2a2622);
}
.btn-commerce:hover,
.btn-buy-now:hover,
.quick-cart:hover{
  background:var(--button-commerce-hover,var(--color-primary-hover,#9a7a2f));
  border-color:var(--button-commerce-hover,var(--color-primary-hover,#9a7a2f));
}
.action-count,
.wishlist-button.is-active,
.product-wishlist.is-active,
.rating-input input:checked+span,
.review-empty>span{
  background:var(--accent);
  color:#fff;
}
.size-selector input:checked+span{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.hero-copy h1 em,
.section-heading h2 em{
  color:var(--accent);
}
.product-tag{
  color:var(--ink);
}
.sparkle{
  color:var(--accent);
}

/* Pink must not become a large-area background */
.products-section,
.featured-section,
.why-section,
.collection-section,
.testimonial-section,
.locations-section,
.product-editorial,
.related-section,
.site-footer{
  --primary-fill:var(--accent);
}

/* Header remains compact */
.topbar-inner{
  min-height:34px;
}
.nav-inner{
  min-height:72px;
}
.primary-nav a{
  padding-block:24px;
}
@media(max-width:699px){
  .hero-section{
    padding-block:34px 58px;
  }
  .hero-lead{
    margin-top:16px;
  }
  .hero-buttons{
    margin-top:20px;
  }
  .hero-meta{
    margin-top:20px;
  }
}


/* V8 Commerce hero compression */
.hero-section{
  padding-top:24px;
  padding-bottom:42px;
}
.hero-grid{
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.hero-copy{
  min-height:0;
  height:auto;
  padding:clamp(12px,2vw,28px) 0;
}
.hero-copy::after{
  content:none;
  display:none;
  margin:0;
  padding:0;
  border:0;
}
.hero-copy h1{
  font-size:clamp(4rem,6vw,6.25rem);
}
.hero-art{
  height:clamp(520px,46vw,610px);
  min-height:0;
}
.hero-image-frame{
  height:100%;
}
.hero-product-label{
  left:20px;
  right:20px;
  bottom:20px;
}
@media(max-width:979px){
  .hero-copy,
  .hero-art{
    height:auto;
  }
  .hero-art{
    min-height:560px;
  }
}
@media(max-width:699px){
  .hero-art{min-height:500px}
}


/* =========================================================
   V9 MOBILE-FIRST PRODUCTION LAYER
   Fixes desktop rules leaking into mobile and creates a
   complete header / drawer / bottom navigation system.
   ========================================================= */

/* Mobile system tokens */
:root{
  --mobile-gutter:18px;
  --mobile-header-h:64px;
  --mobile-bottom-h:72px;
  --mobile-card-radius:18px;
  --mobile-section-y:76px;
}

@media(max-width:979px){
  html{
    scroll-padding-top:calc(var(--mobile-header-h) + 12px);
  }
  body{
    padding-bottom:calc(var(--mobile-bottom-h) + var(--safe-bottom));
  }

  /* Header */
  .topbar{
    display:none;
  }
  .site-header{
    top:0;
    background:color-mix(in srgb,var(--paper) 96%,transparent);
    border-bottom:1px solid var(--line);
    box-shadow:0 8px 30px rgba(54,43,47,.055);
    backdrop-filter:blur(18px);
  }
  .navbar{
    min-height:var(--mobile-header-h);
  }
  .nav-inner{
    min-height:var(--mobile-header-h);
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding-block:6px;
  }
  .nav-inner>.brand{
    grid-column:1;
    justify-self:start;
    max-width:190px;
    gap:8px;
  }
  .brand-logo{
    max-height:34px;
  }
  .header-actions{
    grid-column:2;
    display:flex;
    gap:1px;
  }
  .header-actions .icon-button{
    width:40px;
    height:40px;
  }
  .header-actions > .wishlist-link,
  .header-actions > [data-wishlist-global]{
    display:grid;
  }
  .menu-toggle{
    display:grid;
    order:-1;
  }

  /* Professional off-canvas menu */
  .primary-nav{
    position:fixed;
    z-index:76;
    inset:0 auto 0 0;
    width:min(88vw,360px);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:calc(var(--mobile-header-h) + 34px) 24px 34px;
    background:var(--surface);
    border-right:1px solid var(--line);
    box-shadow:24px 0 70px rgba(45,36,40,.14);
    transform:translateX(-104%);
    transition:transform .32s cubic-bezier(.22,1,.36,1);
    overflow-y:auto;
  }
  .primary-nav::before{
    content:"MENU";
    margin-bottom:22px;
    color:var(--accent);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.18em;
  }
  .primary-nav::after{
    content:"eKrasnale · Wrocław";
    margin-top:auto;
    padding-top:24px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.72rem;
  }
  .primary-nav.is-open{
    transform:none;
  }
  .primary-nav a{
    min-height:58px;
    display:flex;
    align-items:center;
    padding:0;
    border-bottom:1px solid var(--line);
    color:var(--ink);
    font-size:1.12rem;
    font-weight:700;
  }
  .primary-nav a::after{
    display:none;
  }
  .primary-nav a[aria-current="page"]{
    color:var(--accent);
  }
  .menu-toggle{
    position:relative;
    z-index:80;
  }
  .nav-backdrop{
    z-index:72;
    background:rgba(238,228,231,.76);
    backdrop-filter:blur(7px);
  }

  /* Search */
  .search-dialog{
    padding:calc(var(--mobile-header-h) + 28px) var(--mobile-gutter) 30px;
  }
  .search-close{
    top:14px;
    right:var(--mobile-gutter);
  }
  .search-form{
    margin-top:4vh;
    padding:0;
  }
  .search-form>label{
    font-size:clamp(2.7rem,13vw,4.2rem);
  }
  .search-form>div{
    grid-template-columns:1fr;
  }
  .search-form input,
  .search-form .btn{
    width:100%;
  }

  /* Universal mobile page rhythm */
  .container{
    width:calc(100% - (var(--mobile-gutter) * 2));
  }
  .section{
    padding-block:var(--mobile-section-y);
  }
  .section-heading,
  .section-heading-center{
    width:100%;
    max-width:100%;
    margin:0 0 36px;
    padding:0;
    text-align:left;
    justify-items:start;
  }
  .section-heading h2,
  .section-heading-center h2{
    max-width:none;
    width:100%;
    inline-size:100%;
    font-size:clamp(2.45rem,11vw,3.7rem);
    line-height:.98;
  }
  .section-heading>p:not(.eyebrow),
  .section-heading-center>p:last-child{
    max-width:34rem;
    line-height:1.6;
  }

  /* Hero — force one column after all desktop art-direction rules */
  .hero-section{
    padding:28px 0 54px!important;
    min-height:0!important;
  }
  .hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
    align-items:stretch!important;
  }
  .hero-copy{
    order:1!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:28px 22px 30px!important;
    transform:none!important;
  }
  .hero-copy::before{
    margin-bottom:16px!important;
  }
  .hero-copy h1{
    max-width:none!important;
    width:100%!important;
    inline-size:100%!important;
    margin:0!important;
    font-size:clamp(3.15rem,14vw,4.35rem)!important;
    line-height:.9!important;
    letter-spacing:-.05em!important;
    overflow-wrap:normal;
  }
  .hero-copy h1 em{
    display:inline!important;
    margin-left:0!important;
    line-height:.94!important;
  }
  .hero-lead{
    max-width:32rem!important;
    margin-top:18px!important;
    font-size:.98rem;
    line-height:1.62;
  }
  .hero-buttons{
    gap:12px!important;
    margin-top:22px!important;
  }
  .hero-buttons .btn{
    min-height:48px;
  }
  .hero-meta{
    gap:8px!important;
    margin-top:22px!important;
    border:0!important;
  }
  .hero-meta span{
    margin:0!important;
    padding:8px 10px!important;
    border:1px solid var(--line)!important;
    border-radius:999px!important;
    font-size:.64rem;
  }
  .hero-art{
    order:2!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:4/5;
    transform:none!important;
  }
  .hero-image-frame{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border-radius:var(--mobile-card-radius)!important;
    transform:none!important;
  }
  .hero-image-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .hero-product-label{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    min-width:0!important;
    padding:13px 14px!important;
    border-radius:12px!important;
    transform:none!important;
  }
  .hero-decoration{
    display:none!important;
  }
  .sparkle{
    font-size:1rem;
  }

  /* Trust: horizontal snap cards */
  .trust-section{
    margin:0!important;
    padding:0 0 42px!important;
  }
  .trust-grid{
    width:100%!important;
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding:2px 0 12px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .trust-grid::-webkit-scrollbar{
    display:none;
  }
  .trust-grid article{
    flex:0 0 min(86%,330px);
    min-height:82px!important;
    padding:18px!important;
    border:1px solid var(--line)!important;
    border-radius:14px!important;
    background:var(--surface)!important;
    scroll-snap-align:start;
    box-shadow:0 10px 28px rgba(55,43,48,.05);
  }

  /* Catalog */
  .products-section .products-grid,
  .related-section .products-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
  .products-section .product-card,
  .related-section .product-card,
  .related.products .product-card,
  .upsells.products .product-card,
  ul.products .product-card,
  li.product.product-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    margin:0!important;
    transform:none!important;
  }
  .product-card,
  li.product.product-card,
  ul.products li.product{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    min-height:0!important;
    border-radius:var(--mobile-card-radius, var(--mobile-radius, 18px))!important;
  }
  .product-media,
  .product-card-media-wrap{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:var(--product-media-ratio,1/1)!important;
    border-radius:var(--mobile-card-radius, var(--mobile-radius, 18px)) var(--mobile-card-radius, var(--mobile-radius, 18px)) 0 0!important;
  }
  .product-info,
  .product-card-body{
    min-width:0;
    width:100%;
    padding:18px!important;
  }
  .product-title-row{
    min-height:0;
    grid-template-columns:1fr;
    gap:5px;
  }
  .product-title-row h3{
    font-size:1.08rem;
  }
  .product-composition{
    display:-webkit-box!important;
    min-height:0!important;
    margin-top:9px;
    overflow:hidden;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    font-size:.76rem;
  }
  .product-actions{
    grid-template-columns:1fr!important;
    gap:8px;
    min-height:0!important;
    margin-top:auto;
  }
  .quick-cart{
    width:100%;
    justify-content:center;
    min-height:42px;
  }
  .product-details-link{
    min-height:34px;
  }
  .product-photo-size{
    display:none;
  }

  /* Featured */
  .featured-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
    border-radius:var(--mobile-card-radius)!important;
  }
  .featured-copy{
    order:1!important;
    padding:30px 22px!important;
  }
  .featured-media{
    order:2!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/5;
    border-radius:0!important;
    clip-path:none!important;
  }
  .featured-data{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:24px 0!important;
  }
  .featured-data span{
    min-height:0!important;
    padding:12px 14px!important;
  }

  /* Why */
  .why-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:10px!important;
  }
  .why-card{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:0!important;
    padding:20px!important;
    transform:none!important;
  }
  .why-visual{
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:380px!important;
    border-radius:var(--mobile-card-radius)!important;
    transform:none!important;
  }

  /* Collections */
  .collection-section .mood-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  .collection-section .mood-card{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    height:auto!important;
    min-height:140px;
    margin:0!important;
    padding:8px!important;
    border-radius:16px!important;
    transform:none!important;
  }
  .collection-section .mood-media{
    width:112px!important;
    height:100%!important;
    min-height:124px;
    aspect-ratio:auto!important;
    border-radius:12px!important;
  }
  .collection-section .mood-copy{
    min-height:0!important;
    padding:18px 40px 16px 16px!important;
    align-self:center;
  }
  .collection-section .mood-copy b{
    top:17px!important;
    right:8px!important;
  }

  /* Testimonial */
  .testimonial-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  .testimonial-art{
    min-height:0!important;
    aspect-ratio:4/5;
    border-radius:var(--mobile-card-radius)!important;
    transform:none!important;
  }
  .testimonial-copy{
    padding:6px 0 0!important;
  }

  /* Locations */
  .locations-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  .location-card{
    display:block!important;
    grid-template-columns:1fr!important;
    margin:0!important;
    border-radius:var(--mobile-card-radius)!important;
    transform:none!important;
  }
  .location-card .location-map{
    width:100%;
    height:230px!important;
    min-height:230px!important;
  }
  .location-content{
    padding:24px 20px!important;
  }
  .location-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .location-actions .btn{
    width:100%;
  }

  /* Footer */
  .site-footer{
    padding:58px 0 calc(var(--mobile-bottom-h) + 34px + var(--safe-bottom))!important;
  }
  .footer-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
  }
  .footer-payments__inner{
    display:grid;
    justify-items:start;
    gap:12px;
  }
  .footer-payments__list{
    gap:12px 16px;
  }
  .footer-payments__logo{
    height:20px;
  }
  .footer-payments__logo--apple-pay,
  .footer-payments__logo--google-pay{
    height:24px;
  }
  .footer-bottom{
    display:grid;
    justify-content:start;
    gap:5px;
  }

  /* Bottom application navigation */
  .mobile-bottom-nav{
    z-index:90;
    min-height:calc(var(--mobile-bottom-h) + var(--safe-bottom));
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:6px 8px calc(6px + var(--safe-bottom));
    background:color-mix(in srgb,var(--surface) 94%,transparent);
    border-top:1px solid var(--line);
    box-shadow:0 -14px 40px rgba(51,40,45,.10);
    backdrop-filter:blur(20px);
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    min-width:0;
    min-height:58px;
    gap:4px;
    border-radius:12px;
    color:var(--muted);
    font-size:.66rem;
    transition:background .2s,color .2s;
  }
  .mobile-bottom-nav a:active,
  .mobile-bottom-nav button:active{
    background:var(--surface-alt);
  }
  .mobile-bottom-nav span>.icon{
    width:1.25rem;
    height:1.25rem;
  }
  .mobile-bottom-nav b{
    right:calc(50% - 24px);
    top:2px;
  }

  /* Product page */
  .breadcrumbs{
    width:calc(100% - (var(--mobile-gutter) * 2));
    padding-block:14px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .breadcrumbs::-webkit-scrollbar{
    display:none;
  }
  .product-hero{
    padding:10px 0 54px!important;
  }
  .product-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  .product-gallery{
    width:100%;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .product-gallery-main{
    width:100%;
    aspect-ratio:4/5!important;
    border-radius:var(--mobile-card-radius)!important;
  }
  .gallery-thumbnails{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px!important;
  }
  .gallery-thumbnails button{
    border-radius:10px!important;
  }
  .product-summary{
    position:static!important;
    width:100%!important;
    margin:0!important;
    padding:26px 20px 28px!important;
    border:1px solid var(--line)!important;
    border-radius:var(--mobile-card-radius)!important;
    background:var(--surface)!important;
    box-shadow:0 14px 38px rgba(54,43,47,.065)!important;
  }
  .product-summary::before{
    margin-bottom:16px!important;
  }
  .product-summary h1{
    max-width:100%!important;
    font-size:clamp(2.9rem,14vw,4rem)!important;
    line-height:.92!important;
  }
  .product-form{
    gap:20px!important;
    margin-top:26px!important;
    padding-top:0!important;
  }
  .size-selector>div{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .size-selector label span{
    min-height:56px!important;
    padding:7px 4px!important;
  }
  .message-field textarea{
    min-height:112px;
  }
  .purchase-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .quantity-control{
    width:132px;
    min-height:48px;
  }
  .add-to-cart-main,
  .btn-buy-now,
  .product-wishlist{
    min-height:var(--action-height-mobile,46px);
  }
  .product-assurances{
    margin-top:24px!important;
  }
  .product-assurances>div{
    min-height:0!important;
    margin:0 0 8px!important;
    padding:15px!important;
    border:0!important;
    border-radius:12px!important;
    background:var(--paper)!important;
  }

  /* Product details */
  .product-editorial{
    padding-block:72px!important;
  }
  .product-editorial-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .editorial-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    padding:28px 22px!important;
    border-radius:var(--mobile-card-radius)!important;
  }
  .editorial-card-story{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
  }
  .editorial-card-story figure{
    aspect-ratio:4/3;
    border-radius:12px!important;
  }
  .review-fields{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .rating-input{
    flex-wrap:wrap;
  }
  .related-section .product-card{
    display:grid;
  }

  /* Mobile product purchase bar */
  .product-sticky-bar{
    z-index:92;
    min-height:calc(var(--mobile-bottom-h) + var(--safe-bottom));
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:8px 10px calc(8px + var(--safe-bottom));
    background:color-mix(in srgb,var(--surface) 95%,transparent);
    border-top:1px solid var(--line);
    box-shadow:0 -14px 40px rgba(51,40,45,.11);
    backdrop-filter:blur(20px);
  }
  .product-sticky-bar>div{
    min-width:0;
  }
  .product-sticky-bar small,
  .product-sticky-bar strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .product-sticky-bar button{
    min-height:48px;
    padding-inline:15px;
    border-radius:12px;
  }

  /* Legacy .gallery-lightbox stub removed — see .ek-gallery-lightbox in product-gallery.css */
}

/* Compact phones */
@media(max-width:389px){
  :root{
    --mobile-gutter:14px;
  }
  .nav-inner>.brand{
    max-width:118px;
  }
  .brand-logo{
    max-height:28px;
  }
  .header-actions .icon-button{
    width:44px;
    height:44px;
  }
  .hero-copy{
    padding:24px 18px 26px!important;
  }
  .hero-copy h1{
    font-size:clamp(2.9rem,14vw,3.65rem)!important;
  }
  .hero-buttons{
    display:grid!important;
    grid-template-columns:1fr;
  }
  .hero-buttons .btn,
  .hero-buttons .text-link{
    width:100%;
    justify-content:center;
  }
  .product-card{
    grid-template-columns:1fr;
  }
  .product-media{
    min-height:0;
    aspect-ratio:var(--product-media-ratio,1/1)!important;
    border-radius:var(--mobile-card-radius) var(--mobile-card-radius) 0 0!important;
  }
  .collection-section .mood-card{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
  .collection-section .mood-media{
    width:96px!important;
  }
  .location-actions{
    grid-template-columns:1fr;
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    font-size:.61rem;
  }
  .product-sticky-bar button{
    padding-inline:12px;
    font-size:.74rem;
  }
}

/* Small tablets */
@media(min-width:540px) and (max-width:979px){
  .products-section .products-grid,
  .related-section .products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .product-card{
    display:flex;
    min-height:0;
  }
  .product-media{
    min-height:0;
    aspect-ratio:var(--product-media-ratio,1/1)!important;
    border-radius:var(--mobile-card-radius) var(--mobile-card-radius) 0 0!important;
  }
  .product-info{
    min-height:0;
  }
  .collection-section .mood-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .collection-section .mood-card{
    grid-template-columns:1fr!important;
  }
  .collection-section .mood-media{
    width:100%!important;
    aspect-ratio:4/5!important;
  }
  .why-layout{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .why-visual{
    grid-column:1/-1!important;
  }
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


@media(max-width:979px){
  .hero-section{background:var(--paper)!important}
  .hero-copy{
    background:var(--surface-warm)!important;
    border:0!important;
    border-radius:22px!important;
    box-shadow:none!important;
  }
  .hero-copy::after{
    content:none!important;
    display:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .hero-art{
    aspect-ratio:4/5;
  }
  .product-summary{
    border:0!important;
    box-shadow:0 18px 48px rgba(72,95,87,.09)!important;
  }
}

/**
 * Curated Commerce — shared design-system components for WordPress/WooCommerce.
 * Forms, controls, containers, section rhythm, notices, quantity, product grids.
 * Loaded after curated-base; refined further by woocommerce-bridge + mobile-final.
 */

:root {
  --page-max: 1320px;
  --content-max: 1120px;
  --wide-max: 1260px;
  --reading-max: 72ch;
  --product-max: 1260px;
  --page-gutter: var(--gutter, 18px);
  --grid-gap: 22px;
  --control-h: 48px;
  --control-radius: var(--radius-sm, 14px);
  --control-border: 1px solid var(--line-strong, #D7D3CB);
  --control-bg: var(--surface, #fff);
  /* Heading width contract — prefer content-column geometry over stale ch caps. */
  --heading-measure-page: min(32ch, 100%);
  --heading-measure-section: min(28ch, 100%);
  --heading-measure-section-wide: min(36ch, 100%);
  --heading-measure-hero-display: min(12ch, 100%);
  --heading-measure-editorial: min(22ch, 100%);
  --heading-measure-article: min(28ch, 100%);
  --font-display-xl: clamp(2.4rem, 7vw, 4.25rem);
  --font-display-lg: clamp(2.1rem, 5.5vw, 3.4rem);
  /* Homepage Hero H1 source of truth (matches .hero-copy h1 cascade). */
  --font-hero-h1: clamp(4rem, 6vw, 6.25rem);
  /* Marketing/editorial page heroes — large but not overwhelming. */
  --font-editorial-h1: clamp(2.1rem, 3.2vw, 2.95rem);
  --font-h1: clamp(2rem, 5vw, 3.2rem);
  --font-h2: clamp(1.55rem, 3.2vw, 2.25rem);
  --font-h3: clamp(1.2rem, 2.2vw, 1.45rem);
  --section-space-xl: clamp(2.5rem, 4.2vw, 3.75rem);
  --section-space-lg: clamp(1.65rem, 2.8vw, 2.65rem);
  --section-space-md: clamp(1.1rem, 2vw, 1.65rem);
  --section-space-sm: clamp(0.85rem, 1.5vw, 1.25rem);
  --editorial-card-pad: clamp(1.1rem, 2vw, 1.65rem);
  --location-map-aspect: 16 / 10;
  --footer-utility-size: 0.9rem;
  --font-body-lg: 1.125rem;
  --font-body: 1rem;
  --font-small: .875rem;
  --font-eyebrow: .72rem;
  --space-section-sm: clamp(36px, 5vw, 64px);
  --space-section: clamp(48px, 6vw, 96px);
  --space-section-lg: clamp(64px, 8vw, 120px);
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%233C4944' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* —— Containers —— */
.page-shell,
.container--wide {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--page-max));
  margin-inline: auto;
}

/* —— PageShell density —— */
.page--editorial .section {
  padding-block: var(--space-section);
}

.page--commerce .section:not(.product-editorial):not(.related-section) {
  padding-block: var(--space-section-commerce, clamp(28px, 4vw, 48px));
}

.page--utility .section,
.page--utility .wishlist-section,
.page--utility .contact-section {
  padding-block: var(--space-section-utility, clamp(24px, 3.5vw, 40px));
}

.page--commerce .page-hero,
.page--commerce .shop-hero,
.page--commerce .commerce-page-header,
.page--utility .page-hero,
.page--utility .commerce-page-header,
.page--utility .page-entry-header {
  padding: var(--space-page-top-utility, clamp(12px, 1.5vw, 22px)) 0 clamp(10px, 1.4vw, 18px);
}

.page--commerce .page-hero.page-hero--compact,
.page--commerce .shop-hero.page-hero--compact,
.page--utility .page-hero.page-hero--compact {
  padding: clamp(12px, 1.6vw, 20px) 0 clamp(8px, 1.2vw, 14px);
}

.page--commerce .page-hero h1,
.page--commerce .shop-hero h1,
.page--utility .page-hero h1 {
  font-size: var(--font-h1, clamp(1.85rem, 4vw, 2.6rem));
  max-width: none;
}

@media (min-width: 980px) {
  .page--commerce .page-hero h1,
  .page--commerce .shop-hero h1,
  .page--utility .page-hero h1 {
    max-width: var(--heading-measure-page);
  }
}

.page--commerce .woocommerce-breadcrumb,
.page--commerce .breadcrumbs,
.page--utility .woocommerce-breadcrumb,
.page--utility .breadcrumbs {
  margin: 0 auto;
  padding: var(--space-crumb-block, 10px 0 6px);
}

.prose {
  max-width: var(--reading-max, 72ch);
  color: var(--ink);
}

.prose > * + * {
  margin-top: 1.1em;
}

/* Shared long-form / legal / about measure (editorial only — not commerce grids). */
.page--editorial .entry-content,
.page--editorial .brand-story-content,
.page--editorial .order-dwarf-copy,
.page--editorial .legal-content,
.legal-page .entry-content,
.about-page .brand-story-content,
.order-dwarf-page .order-dwarf-copy,
.single-post .entry-content,
.product-full-description__body {
  max-width: min(100%, var(--reading-max, 72ch));
}

.page--editorial .entry-content,
.legal-page .entry-content,
.about-page .brand-story-content,
.order-dwarf-page .order-dwarf-copy,
.single-post .entry-content,
.product-full-description__body {
  font-size: var(--font-body-lg, 1.125rem);
  line-height: 1.65;
}

.page--editorial .entry-content > * + *,
.legal-page .entry-content > * + *,
.about-page .brand-story-content > * + *,
.order-dwarf-page .order-dwarf-copy > * + *,
.single-post .entry-content > * + *,
.product-full-description__body > * + * {
  margin-top: 1em;
}

.page--editorial .entry-content h2,
.legal-page .entry-content h2,
.about-page .brand-story-content h2,
.order-dwarf-page .order-dwarf-copy h2,
.single-post .entry-content h2,
.product-full-description__body h2 {
  font-size: var(--font-h2);
  margin-top: 1.75em;
  margin-bottom: 0.45em;
  letter-spacing: -0.02em;
}

.page--editorial .entry-content h3,
.legal-page .entry-content h3,
.about-page .brand-story-content h3,
.order-dwarf-page .order-dwarf-copy h3,
.single-post .entry-content h3,
.product-full-description__body h3 {
  font-size: var(--font-h3);
  margin-top: 1.4em;
  margin-bottom: 0.35em;
}

.page--editorial .entry-content ul,
.legal-page .entry-content ul,
.about-page .brand-story-content ul,
.order-dwarf-page .order-dwarf-copy ul,
.single-post .entry-content ul,
.product-full-description__body ul {
  padding-left: 1.2em;
}

.page--editorial .entry-content a:not(.btn):not(.button),
.legal-page .entry-content a:not(.btn):not(.button),
.about-page .brand-story-content a:not(.btn):not(.button),
.single-post .entry-content a:not(.btn):not(.button) {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.legal-page .entry-content > h3:first-child,
.legal-page .entry-content > h2:first-child {
  margin-top: 0;
}

/* Demote ALL-CAPS legal shouting without changing copy. */
.legal-page .page-hero h1,
.legal-page .entry-header h1 {
  text-transform: none;
  letter-spacing: -0.02em;
  max-width: none; /* measure controlled in legal-pages.css */
  font-size: var(--legal-font-h1, clamp(1.55rem, 2.8vw, 2.1rem));
  line-height: 1.18;
}

.container--content {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-max));
  margin-inline: auto;
}

.container--reading {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--reading-max));
  margin-inline: auto;
}

.container--product {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--product-max));
  margin-inline: auto;
}

/* —— Typography roles (utility pages) —— */
.page-hero--compact h1,
.shop-hero.page-hero--compact h1,
.commerce-page-header h1,
.search-hero h1 {
  font-size: var(--font-h1);
  line-height: 1.05;
  letter-spacing: -.03em;
  max-width: none;
}

/* Contact H1 must use full container width on desktop (not a prose ch measure). */
.page--utility .contact-page .page-hero h1,
.page--utility .contact-page .page-hero--compact h1,
.contact-page .page-hero h1,
.contact-page .page-hero--compact h1 {
  max-width: none;
  width: auto;
}

.contact-page .page-hero--compact p {
  max-width: 42rem;
}

.contact-page .contact-info-panel h2,
.contact-page .form-heading h2,
.contact-page .contact-success h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 700;
  margin: 6px 0 12px;
  max-width: none;
}

.contact-page .contact-info-panel > p,
.contact-page .form-heading > p {
  max-width: 40rem;
  color: var(--muted);
  font-size: var(--font-body);
  line-height: 1.55;
  margin: 0 0 8px;
}

.field__optional {
  font-weight: 500;
  color: var(--muted);
  text-transform: none;
  letter-spacing: 0;
}

.field .req,
.field__label .req {
  color: var(--accent);
  text-decoration: none;
  border: 0;
  font-weight: 800;
}

.text-input.is-invalid,
.textarea.is-invalid,
.select-control.is-invalid,
.date-picker__input.is-invalid,
.contact-form .is-invalid {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line-strong));
}

.ekrasnale-hp,
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.page-hero--compact {
  padding: clamp(28px, 4vw, 48px) 0 clamp(18px, 2.5vw, 28px);
  min-height: 0;
}

.page-hero--compact p,
.shop-hero.page-hero--compact p {
  margin-top: 12px;
  font-size: var(--font-body);
  line-height: 1.55;
  color: var(--muted);
  max-width: 40rem;
}

.section-heading h2,
.recommendations-section h2,
.related.products > h2 {
  font-size: var(--font-h2);
  line-height: 1.15;
  max-width: none;
  inline-size: 100%;
}

.section-heading-center h2 {
  max-width: none;
  inline-size: 100%;
}

@media (min-width: 980px) {
  .section-heading-center h2 {
    max-width: var(--heading-measure-section-wide);
  }
}

.eyebrow {
  font-size: var(--font-eyebrow);
}

/* —— Form primitives —— */
.field,
.form-row,
.contact-form label:not(.checkbox),
.woocommerce form .form-row,
.woocommerce-account .form-row,
.comment-form > p {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  min-width: 0;
}

.field__label,
.contact-form label:not(.checkbox),
.woocommerce form .form-row > label,
.woocommerce-account label {
  font-size: .9rem;
  font-weight: 700;
  color: var(--ink);
}

.field__hint {
  font-size: var(--font-small);
  color: var(--muted);
}

.field__error,
.filter-error,
.woocommerce-error {
  color: var(--accent);
}

.field__error {
  display: block;
  margin-top: 4px;
  font-size: var(--font-small);
  font-weight: 600;
}

.form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .form-grid .full,
  .form-grid .checkbox {
    grid-column: 1 / -1;
  }
}

.form-group + .form-group {
  margin-top: 18px;
}

.form-actions,
.empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.form-actions .btn,
.empty-actions .btn {
  min-height: var(--control-h);
}

/* Shared control chrome */
.text-input,
.textarea,
.select-control,
.contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.contact-form select,
.contact-form textarea,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce-ordering select,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea,
.search-form input[type="search"],
.searchform input[type="search"],
.filter-panel input[type="number"],
.coupon input,
input[type="date"],
input[type="email"],
input[type="tel"],
input[type="text"],
input[type="number"],
input[type="password"],
input[type="search"],
textarea,
select {
  width: 100%;
  min-height: var(--control-h);
  padding: 12px 16px;
  border: var(--control-border);
  border-radius: var(--control-radius);
  background: var(--control-bg);
  color: var(--ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.35;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

textarea,
.textarea,
.contact-form textarea,
.woocommerce textarea,
.comment-form textarea {
  min-height: 150px;
  max-height: none;
  padding-block: 14px;
  resize: vertical;
}

/* —— DatePicker (theme-owned) —— */
.date-picker {
  position: relative;
  display: grid;
  gap: 8px;
  min-width: 0;
}

.date-picker__input {
  cursor: pointer;
  caret-color: transparent;
}

.date-picker__clear {
  justify-self: start;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  font: inherit;
  font-size: var(--font-small);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.date-picker__clear:hover,
.date-picker__clear:focus-visible {
  color: var(--accent);
}

.date-picker__popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  left: 0;
  width: min(340px, calc(100vw - 32px));
  padding: 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--control-radius);
  background: var(--surface);
  box-shadow: 0 16px 40px rgba(45, 35, 40, .12);
}

.date-picker__popover.is-above {
  top: auto;
  bottom: calc(100% + 8px);
}

.date-picker__popover.is-flush {
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
}

.date-picker__header {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.date-picker__title {
  text-align: center;
  font-size: 1rem;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -.02em;
}

.date-picker__nav {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.date-picker__nav:hover {
  background: var(--surface-alt, var(--paper));
}

.date-picker__nav:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.date-picker__weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  margin-bottom: 6px;
}

.date-picker__weekdays span {
  display: grid;
  place-items: center;
  min-height: 28px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.date-picker__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

.date-picker__day {
  width: 100%;
  aspect-ratio: 1;
  min-height: 38px;
  max-height: 42px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: .92rem;
  font-weight: 650;
  cursor: pointer;
}

.date-picker__day:hover:not(:disabled) {
  background: var(--surface-alt, var(--paper));
}

.date-picker__day:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.date-picker__day.is-today:not(.is-selected) {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  color: var(--accent);
}

.date-picker__day.is-selected {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.date-picker__day.is-outside {
  visibility: hidden;
  pointer-events: none;
}

.date-picker__day.is-disabled,
.date-picker__day:disabled {
  color: color-mix(in srgb, var(--muted) 70%, transparent);
  cursor: not-allowed;
  background: transparent;
}

/* Delivery time slot chips */
.ekrasnale-delivery-slots {
  margin-top: 14px;
}

.ekrasnale-delivery-slots__label {
  margin: 0 0 10px;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink);
}

.ekrasnale-delivery-slots__body {
  display: grid;
  gap: 16px;
}

.ekrasnale-delivery-slots__group {
  display: grid;
  gap: 8px;
}

.ekrasnale-delivery-slots__group-title {
  margin: 0;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--ink);
}

.ekrasnale-delivery-slots__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.ekrasnale-delivery-slot {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}

.ekrasnale-delivery-slot__input {
  position: absolute;
  opacity: 0;
  inset: 0;
  margin: 0;
  cursor: pointer;
}

.ekrasnale-delivery-slot__face {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--line-strong, var(--line));
  border-radius: var(--control-radius, var(--radius-sm));
  background: var(--paper, var(--surface));
  color: var(--ink);
  font-size: .88rem;
  font-weight: 700;
  text-align: center;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.ekrasnale-delivery-slot:hover .ekrasnale-delivery-slot__face {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--paper, var(--surface)));
}

.ekrasnale-delivery-slot.is-selected .ekrasnale-delivery-slot__face,
.ekrasnale-delivery-slot__input:checked + .ekrasnale-delivery-slot__face {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, var(--paper, var(--surface)));
  color: var(--accent);
}

.ekrasnale-delivery-slot__input:focus-visible + .ekrasnale-delivery-slot__face {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.ekrasnale-delivery-nearest {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-alt, var(--paper));
}

.ekrasnale-delivery-nearest__text {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: .95rem;
}

.ekrasnale-delivery-nearest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 639px) {
  .ekrasnale-delivery-slots__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .date-picker__day {
    min-height: 40px;
    max-height: 44px;
  }

  .date-picker__popover {
    width: min(100%, calc(100vw - 24px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ekrasnale-delivery-slot__face {
    transition: none;
  }
}

/* Fulfillment-conditional delivery chrome */
body.checkout-is-pickup [data-delivery-only="1"],
body.checkout-is-pickup #ekrasnale_delivery_date_field,
body.checkout-is-pickup .ekrasnale-delivery-schedule-row,
body.checkout-is-pickup [data-delivery-slots],
body.checkout-is-pickup [data-delivery-nearest] {
  display: none !important;
}

body.checkout-is-pickup .checkout-progressive-panel:has(.ekrasnale-progressive) {
  display: none !important;
}

.contact-success {
  padding: clamp(20px, 3vw, 40px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md, 18px);
}

.contact-success p {
  margin-top: 8px;
  color: var(--muted);
  max-width: 36rem;
}

.contact-form-notice {
  margin-top: 14px;
}

select,
.select-control,
.woocommerce select,
.woocommerce-ordering select,
.contact-form select,
.woocommerce-account select {
  padding-right: 44px;
  background-color: var(--control-bg);
  background-image: var(--select-chevron);
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px;
  cursor: pointer;
}

/* Kill native number spinners */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.text-input:hover,
.textarea:hover,
.select-control:hover,
.contact-form input:hover,
.contact-form select:hover,
.contact-form textarea:hover,
.woocommerce input.input-text:hover,
.woocommerce select:hover,
.woocommerce textarea:hover {
  border-color: color-mix(in srgb, var(--ink) 28%, var(--line-strong));
}

.text-input:focus-visible,
.textarea:focus-visible,
.select-control:focus-visible,
.contact-form input:focus-visible,
.contact-form select:focus-visible,
.contact-form textarea:focus-visible,
.woocommerce input.input-text:focus-visible,
.woocommerce select:focus-visible,
.woocommerce textarea:focus-visible,
.woocommerce-ordering select:focus-visible,
.comment-form input:focus-visible,
.comment-form textarea:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
  border-color: var(--accent);
}

input:disabled,
textarea:disabled,
select:disabled,
.btn:disabled,
button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

input[readonly],
textarea[readonly] {
  background: var(--paper);
}

.is-error input,
.is-error select,
.is-error textarea,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--accent);
}

/* Checkbox / radio — CheckboxRow primitive
   Label owns [control | readable text]. Never apply the control grid to the text span. */
.checkbox,
.contact-form label.checkbox,
.woocommerce-form__label-for-checkbox,
.comment-form-cookies-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 0;
  align-items: start;
  font-weight: 500;
  font-size: var(--font-small);
  line-height: 1.45;
  cursor: pointer;
  min-width: 0;
}

.checkbox input[type="checkbox"],
.contact-form .checkbox input,
.woocommerce-form__label-for-checkbox > input[type="checkbox"],
.comment-form-cookies-consent input[type="checkbox"],
input[type="checkbox"],
input[type="radio"] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin: 2px 0 0;
  padding: 0;
  flex: 0 0 auto;
  accent-color: var(--accent);
  border-radius: 4px;
  cursor: pointer;
}

/* Text content after checkbox must remain inline sentence flow */
.checkbox > span,
.contact-form label.checkbox > span,
.woocommerce-form__label-for-checkbox > span,
.woocommerce form .form-row .input-checkbox + span,
.woocommerce-terms-and-conditions-checkbox-text,
.comment-form-cookies-consent > span,
.comment-form-cookies-consent > label {
  display: block;
  min-width: 0;
  max-width: none;
  width: auto;
  margin: 0;
  padding: 0;
  grid-template-columns: none;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.45;
}

.woocommerce-form__label-for-checkbox > span a,
.woocommerce-terms-and-conditions-checkbox-text a,
.checkbox > span a {
  display: inline;
  white-space: normal;
}

.woocommerce-terms-and-conditions-checkbox-text .required,
.woocommerce-form__label-for-checkbox .required {
  display: inline;
  margin: 0;
  white-space: nowrap;
}

input[type="radio"] {
  border-radius: 50%;
}

/* Quantity stepper — deterministic 3-column geometry.
 * LEFT COLUMN == RIGHT COLUMN. Input fills the middle track.
 * Do not use flex + fixed child widths that can exceed max-width (clips + asymmetrically). */
.quantity,
.quantity-stepper,
.cart-quantity-stepper {
  display: grid;
  grid-template-columns: 48px minmax(52px, 1fr) 48px;
  align-items: stretch;
  justify-content: stretch;
  gap: 0;
  width: min(100%, 168px);
  min-height: var(--control-h);
  padding: 0;
  border: var(--control-border);
  border-radius: 999px;
  background: var(--control-bg);
  overflow: hidden;
  box-sizing: border-box;
}

.quantity .qty,
.quantity-stepper .qty,
.cart-quantity-stepper .qty,
/* Beat shared `.woocommerce input.input-text` (0,2,1) — otherwise padding 12px 16px
   collapses the content box inside the flex stepper and hides the value. */
.woocommerce .quantity input.qty.input-text,
.woocommerce .quantity-stepper input.qty.input-text,
.woocommerce .cart-quantity-stepper input.qty.input-text {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: var(--control-h);
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
  color: var(--ink);
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  opacity: 1;
  -webkit-text-fill-color: var(--ink);
  overflow: visible;
  -moz-appearance: textfield;
  appearance: textfield;
  -webkit-appearance: none;
  box-sizing: border-box;
}

.woocommerce .quantity input.qty.input-text:focus,
.woocommerce .quantity-stepper input.qty.input-text:focus,
.woocommerce .cart-quantity-stepper input.qty.input-text:focus,
.woocommerce .quantity input.qty.input-text:focus-visible,
.woocommerce .quantity-stepper input.qty.input-text:focus-visible,
.woocommerce .cart-quantity-stepper input.qty.input-text:focus-visible {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce .quantity input.qty.input-text:focus-visible,
.woocommerce .quantity-stepper input.qty.input-text:focus-visible,
.woocommerce .cart-quantity-stepper input.qty.input-text:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.woocommerce .quantity input.qty.input-text:hover,
.woocommerce .quantity-stepper input.qty.input-text:hover,
.woocommerce .cart-quantity-stepper input.qty.input-text:hover {
  border: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button,
.quantity-stepper .qty::-webkit-outer-spin-button,
.quantity-stepper .qty::-webkit-inner-spin-button,
.cart-quantity-stepper .qty::-webkit-outer-spin-button,
.cart-quantity-stepper .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-stepper__btn,
.quantity [data-qty-change],
.cart-quantity-stepper [data-qty-change],
.quantity-stepper [data-qty-change],
.quantity-stepper [data-stem-change],
.quantity [data-stem-change] {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
  min-height: var(--control-h);
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

.quantity-stepper__btn:disabled,
.quantity [data-qty-change]:disabled,
.quantity-stepper [data-qty-change]:disabled,
.quantity-stepper [data-stem-change]:disabled,
.quantity [data-stem-change]:disabled {
  opacity: 0.38;
  cursor: not-allowed;
  color: var(--muted);
  /* Keep column geometry identical when disabled. */
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
}

.quantity-stepper__btn:hover:not(:disabled),
.quantity [data-qty-change]:hover:not(:disabled),
.cart-quantity-stepper [data-qty-change]:hover:not(:disabled),
.quantity-stepper [data-stem-change]:hover:not(:disabled) {
  background: var(--paper);
  color: var(--accent);
}

.quantity-stepper__btn:focus-visible,
.quantity [data-qty-change]:focus-visible,
.quantity-stepper [data-stem-change]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.quantity .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* Choice chips */
.choice-chip,
.category-chips label span,
.filter-chip,
.search-chips a,
.quick-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.category-chips input:checked + span,
.choice-chip.is-active,
.filter-chip.is-active,
.search-chips a[aria-current="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* Notices — legacy WC surface chrome (ported notices are visually neutralized) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-NoticeGroup > ul,
.woocommerce-notices-wrapper [role="alert"] {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  font-size: var(--font-body);
  line-height: 1.45;
}

.woocommerce-message {
  border-color: color-mix(in srgb, var(--surface-clay) 70%, var(--line));
  background: var(--surface-muted);
}

.woocommerce-info {
  background: var(--surface-warm);
}

.woocommerce-error {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  background: var(--surface-rust-soft);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  content: none;
}

/* —— Site notification portal (never in document flow) —— */
.site-notifications {
  position: fixed;
  z-index: var(--z-toast, 120);
  top: calc(var(--safe-top, 0px) + var(--notice-offset-top, 72px));
  right: max(var(--gutter, 18px), env(safe-area-inset-right, 0px));
  left: auto;
  display: grid;
  gap: 10px;
  width: min(420px, calc(100vw - (2 * var(--gutter, 18px))));
  max-height: min(70vh, 560px);
  overflow: auto;
  margin: 0;
  padding: 0;
  pointer-events: none;
  background: transparent;
  border: 0;
}

body.admin-bar .site-notifications {
  --notice-offset-top: calc(var(--wp-admin--admin-bar--height, 46px) + var(--mobile-header-height, 64px) + 8px);
}

.site-notification {
  pointer-events: auto;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 44px;
  gap: 10px 8px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 16px 12px 16px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm, 12px);
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow-sm);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .16s ease, transform .16s ease;
}

.site-notification.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.site-notification.is-leaving {
  opacity: 0;
  transform: translateY(-6px);
}

.site-notification--error {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
}

.site-notification--warning {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
}

.site-notification--success {
  border-color: color-mix(in srgb, #7a9a6a 45%, var(--line));
}

.site-notification--info {
  border-color: var(--line);
}

.site-notification__icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-top: 1px;
  border-radius: 999px;
  background: var(--paper);
  color: var(--accent);
  font-size: .85rem;
  font-weight: 800;
  line-height: 1;
}

.site-notification--success .site-notification__icon {
  color: #3f6b3f;
  background: var(--surface-muted);
}

.site-notification--info .site-notification__icon {
  color: var(--ink);
}

.site-notification__body {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.site-notification__title {
  margin: 0;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.site-notification--error .site-notification__title {
  color: var(--accent);
}

.site-notification__message,
.site-notification__list {
  margin: 0;
  padding: 0;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.45;
  overflow-wrap: break-word;
  word-break: normal;
}

.site-notification__list {
  display: grid;
  gap: 4px;
  padding-left: 1.1em;
  list-style: disc;
}

.site-notification__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.site-notification__action {
  font-size: .85rem;
  font-weight: 700;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-notification__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: -8px -4px 0 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm, 12px);
  background: transparent;
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.site-notification__close:hover {
  background: var(--paper);
  color: var(--accent);
}

.site-notification__close:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .site-notification {
    transition: none;
  }
}

/* Empty states */
.empty-state,
.catalog-empty,
.cart-empty,
.wishlist-empty {
  display: grid;
  justify-items: start;
  gap: 14px;
  width: 100%;
  max-width: 40rem;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 40px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  min-height: 0;
}

.empty-state[hidden],
.catalog-empty[hidden],
.cart-empty[hidden],
.wishlist-empty[hidden] {
  display: none !important;
}

.empty-state h1,
.empty-state h2,
.cart-empty h1,
.cart-empty h2,
.wishlist-empty h2 {
  font-size: var(--font-h2);
  line-height: 1.15;
  max-width: var(--heading-measure-page);
}

/* Wishlist empty banner — full content width, compact H2. */
.wishlist-page .wishlist-empty {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(20px, 2.8vw, 36px) clamp(24px, 3vw, 40px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  min-height: 0;
}

.wishlist-page .wishlist-empty h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.25rem);
  line-height: 1.12;
  letter-spacing: -.03em;
  font-weight: 700;
  max-width: none;
  margin: 0;
}

.wishlist-page .wishlist-empty p {
  margin: 0;
  max-width: 40rem;
  color: var(--muted);
  font-size: var(--font-body);
  line-height: 1.55;
}

.wishlist-page .wishlist-empty .brand-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 2px;
}

.wishlist-page .wishlist-empty .btn,
.wishlist-page .wishlist-empty .btn-primary {
  margin-top: 4px;
  min-height: 44px;
  width: auto;
}

.wishlist-page .wishlist-section {
  padding-block: clamp(32px, 4vw, 56px);
}

.wishlist-page .page-hero.page-hero--compact {
  padding: clamp(16px, 2.2vw, 28px) 0 clamp(12px, 1.6vw, 18px);
}

.wishlist-page ul.products.wishlist-grid {
  display: grid;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(auto-fill, minmax(var(--product-card-min, 260px), 1fr));
  gap: 28px 18px;
}

.wishlist-page ul.products.wishlist-grid[hidden] {
  display: none !important;
}

@media (max-width: 639px) {
  .wishlist-page ul.products.wishlist-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (min-width: 640px) and (max-width: 979px) {
  .wishlist-page ul.products.wishlist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .wishlist-page ul.products.wishlist-grid {
    gap: 36px 22px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .wishlist-page .wishlist-empty,
  .wishlist-page ul.products.wishlist-grid {
    transition: opacity .15s ease;
  }
}

.empty-state p,
.cart-empty p {
  font-size: var(--font-body);
  color: var(--muted);
  line-height: 1.55;
}

/* Product grids — count-aware helpers */
ul.products {
  width: 100%;
}

ul.products.columns-1,
.related.products ul.products:has(> li:only-child),
.upsells.products ul.products:has(> li:only-child) {
  grid-template-columns: minmax(0, min(100%, 360px));
  justify-content: start;
}

ul.products.columns-2,
.related.products ul.products:has(> li:nth-child(2):last-child),
.upsells.products ul.products:has(> li:nth-child(2):last-child) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--product-card-min, 260px)), 1fr));
  max-width: none;
  margin-inline: 0;
}

@media (max-width: 639px) {
  ul.products.columns-2,
  .related.products ul.products:has(> li:nth-child(2):last-child),
  .upsells.products ul.products:has(> li:nth-child(2):last-child),
  ul.products.columns-1,
  .related.products ul.products:has(> li:only-child) {
    grid-template-columns: 1fr;
    max-width: none;
  }
}

@media (min-width: 980px) {
  ul.products.columns-3,
  .related.products ul.products:has(> li:nth-child(3):last-child),
  ul.products.columns-4,
  .related.products ul.products {
    grid-template-columns: repeat(auto-fill, minmax(var(--product-card-min, 260px), 1fr));
  }
}

.recommendations-section,
.empty-recommendations {
  padding-block: var(--space-section-sm);
}

.recommendations-section .products,
.empty-recommendations ul.products {
  margin-top: 24px;
}

/* Select2 bridge — closed + OPEN states */
.woocommerce .select2-container {
  width: 100% !important;
}

.woocommerce .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  height: var(--control-h);
  min-height: var(--control-h);
  padding: 0 44px 0 16px;
  border: var(--control-border);
  border-radius: var(--control-radius);
  background-color: var(--control-bg);
  background-image: var(--select-chevron);
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px;
  box-shadow: none;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.35;
  padding: 0;
  color: var(--ink);
  font-size: 16px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--muted);
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  display: none;
}

.woocommerce .select2-container--open .select2-selection--single,
.woocommerce .select2-container--focus .select2-selection--single {
  border-color: var(--accent);
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.select2-dropdown,
.woocommerce .select2-dropdown {
  border: 1px solid var(--line-strong);
  border-radius: var(--control-radius);
  background: var(--surface);
  box-shadow: 0 18px 40px rgba(45, 36, 40, .12);
  overflow: hidden;
  z-index: 100120;
}

.select2-container--open .select2-dropdown {
  margin-top: 4px;
}

.select2-search--dropdown {
  padding: 10px;
}

.select2-search--dropdown .select2-search__field,
.woocommerce .select2-search--dropdown .select2-search__field {
  width: 100% !important;
  min-height: 44px;
  padding: 10px 14px;
  border: var(--control-border);
  border-radius: var(--control-radius);
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  outline: none;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: var(--accent);
  outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent);
  outline-offset: 1px;
}

.select2-results__options {
  max-height: min(280px, 50vh);
  padding: 6px;
}

.select2-results__option {
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--ink);
  font-size: .95rem;
  font-weight: 600;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-results__option--highlighted {
  background: var(--surface-warm) !important;
  color: var(--ink) !important;
}

.select2-container--default .select2-results__option--selected,
.select2-results__option[aria-selected="true"] {
  background: color-mix(in srgb, var(--accent) 12%, #fff) !important;
  color: var(--accent) !important;
}

.select2-container--default .select2-results__option--disabled {
  color: var(--muted);
  opacity: .55;
}

.select2-container--open .select2-dropdown {
  box-sizing: border-box;
  max-width: calc(100vw - 28px);
}

@media (max-width: 639px) {
  .select2-results__options {
    max-height: min(45vh, 320px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .text-input,
  .textarea,
  .select-control,
  input,
  textarea,
  select,
  .btn,
  .quantity-stepper__btn {
    transition: none;
  }
}

/* —— Price component —— */
.price,
.price--featured,
.product-price .price {
  font-weight: 800;
  white-space: nowrap;
}

.price--range {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 6px;
  white-space: normal;
}

.price--range .woocommerce-Price-amount,
.price--range .amount {
  display: inline;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.price__sep {
  color: var(--muted);
  font-weight: 600;
}

/* —— Native select visually replaced —— */
select.ekrasnale-native-select {
  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;
  min-height: 0 !important;
  background: none !important;
  appearance: none !important;
  pointer-events: none !important;
}

/* —— Choice chips (variations) —— */
.choice-chip-group,
.variation-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.choice-chip,
.variation-chips .choice-chip {
  min-width: 48px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid var(--line-strong, #D7D3CB);
  border-radius: var(--control-radius, 14px);
  background: var(--surface, #fff);
  color: var(--ink);
  font-size: .92rem;
  font-weight: 700;
  cursor: pointer;
}

.choice-chip:hover {
  border-color: color-mix(in srgb, var(--ink) 28%, var(--line-strong));
}

.choice-chip.is-selected,
.choice-chip[aria-selected="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.choice-chip:disabled,
.choice-chip.is-disabled {
  opacity: .45;
  cursor: not-allowed;
}

.choice-chip:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

/* —— Custom combobox / listbox —— */
.ekrasnale-combobox {
  position: relative;
  width: 100%;
  min-width: 0;
}

.ekrasnale-combobox__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: var(--control-h, 48px);
  padding: 12px 16px;
  border: var(--control-border, 1px solid var(--line-strong));
  border-radius: var(--control-radius, 14px);
  background: var(--control-bg, #fff);
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  text-align: left;
  cursor: pointer;
}

.ekrasnale-combobox__value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ekrasnale-combobox:not(.has-value) .ekrasnale-combobox__value {
  color: var(--muted);
}

.ekrasnale-combobox__chevron {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: var(--select-chevron) center / 18px no-repeat;
  transition: transform .18s ease;
}

.ekrasnale-combobox[data-open="true"] .ekrasnale-combobox__chevron {
  transform: rotate(180deg);
}

.ekrasnale-combobox__trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
  border-color: var(--accent);
}

.ekrasnale-combobox__list {
  position: absolute;
  z-index: var(--z-combobox, 95);
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  margin: 0;
  padding: 6px;
  list-style: none;
  max-height: 280px;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line-strong, #D7D3CB);
  border-radius: var(--control-radius, 14px);
  background: var(--surface, #fff);
  box-shadow: 0 18px 40px rgba(45, 36, 40, .12);
}

.ekrasnale-combobox__list.is-portal {
  position: fixed;
  right: auto;
  margin: 0;
}

.ekrasnale-combobox__list.is-flip {
  top: auto;
  bottom: calc(100% + 6px);
}

.ekrasnale-combobox__list.is-portal.is-flip {
  /* Flip is applied via inline top/bottom from JS in viewport space. */
  bottom: auto;
}

.ekrasnale-combobox__list [role="option"] {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  border-radius: 10px;
  color: var(--ink);
  cursor: pointer;
  font-size: .95rem;
  font-weight: 600;
}

.ekrasnale-combobox__list [role="option"]:hover,
.ekrasnale-combobox__list [role="option"].is-active {
  background: var(--surface-warm);
}

.ekrasnale-combobox__list [role="option"].is-selected {
  background: color-mix(in srgb, var(--accent) 12%, #fff);
  color: var(--accent);
}

.ekrasnale-combobox__list [role="option"].is-disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 639px) {
  .ekrasnale-combobox__list {
    /* Anchoring is handled by ui-select.js with position:fixed + getBoundingClientRect. */
    z-index: var(--z-combobox, 95);
  }
}

/* ------------------------------------------------------------------ */
/* Modal primitive + Size Guide                                        */
/* ------------------------------------------------------------------ */

.modal {
  position: fixed;
  z-index: 140;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 16px;
  pointer-events: none;
}

.modal[hidden] {
  display: none !important;
  pointer-events: none !important;
}

.modal:not([hidden]) {
  pointer-events: auto;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--ink, #1f2a24) 42%, transparent);
  border: 0;
  padding: 0;
  cursor: pointer;
}

.modal__panel {
  position: relative;
  z-index: 1;
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 28px 32px;
  border: 1px solid var(--line, #e6e1d8);
  border-radius: var(--radius-md, 18px);
  background: var(--surface, #fff);
  box-shadow: 0 18px 48px rgba(31, 42, 36, .16);
  color: var(--ink, #1f2a24);
}

.modal__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink, #1f2a24);
  cursor: pointer;
}

.modal__close:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.modal__close .icon {
  width: 18px;
  height: 18px;
}

.modal__header {
  padding-right: 40px;
  margin-bottom: 16px;
}

.modal__eyebrow {
  margin: 0 0 8px;
}

.modal__title {
  margin: 0;
  max-width: 14ch;
  font-size: clamp(1.875rem, 2.6vw, 2.75rem);
  line-height: 1.08;
  font-weight: 650;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.modal__body {
  display: grid;
  gap: 16px;
}

.modal--size-guide .modal__panel,
.size-guide-dialog__content {
  width: min(520px, calc(100vw - 32px));
  padding: 28px 32px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal--size-guide .modal__body {
  overflow-y: auto;
  min-height: 0;
  overscroll-behavior: contain;
}

.size-guide-intro {
  margin: 0;
  color: var(--ink, #1c1a1c);
  font-size: .95rem;
  line-height: 1.45;
}

.size-guide-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line, #e6e1d8);
}

.size-guide-row {
  display: grid;
  grid-template-columns: 4.4rem minmax(10.5rem, 12rem) minmax(0, 1fr);
  gap: 8px 16px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--line, #e6e1d8);
}

.size-guide-row__code {
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--ink, #1c1a1c);
}

.size-guide-row__diameter {
  font-size: .95rem;
  font-weight: 600;
  color: var(--ink, #1c1a1c);
  line-height: 1.35;
  white-space: nowrap;
}

.size-guide-row__copy {
  color: var(--muted, #6c6669);
  font-size: .92rem;
  font-weight: 400;
  line-height: 1.4;
}

.size-guide-note {
  margin: 0;
  max-width: 42ch;
  color: var(--muted, #6c6669);
  font-size: var(--font-small, .875rem);
  line-height: 1.45;
}

@media (max-width: 639px) {
  .modal {
    padding: 14px;
  }

  .modal__panel,
  .modal--size-guide .modal__panel,
  .size-guide-dialog__content {
    width: calc(100% - 0px);
    max-width: calc(100vw - 28px);
    padding: 22px 20px;
    max-height: calc(100dvh - 28px);
  }

  .modal__header {
    padding-right: 36px;
    margin-bottom: 14px;
  }

  .modal__title {
    max-width: none;
    font-size: clamp(1.75rem, 7.2vw, 2.05rem);
  }

  .size-guide-row {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 2px 12px;
    padding: 10px 0;
  }

  .size-guide-row__code {
    grid-row: 1;
  }

  .size-guide-row__diameter {
    grid-column: 2;
    grid-row: 1;
    white-space: normal;
  }

  .size-guide-row__copy {
    grid-column: 2;
    grid-row: 2;
  }
}

body.size-guide-open {
  overflow: hidden;
}

.home-reviews .home-review__stars {
  margin: 22px 0 12px;
  color: var(--ink, #1f2a24);
  letter-spacing: .08em;
  font-size: 1rem;
  line-height: 1;
}

.home-reviews .home-review__quote {
  margin: 0;
  max-width: 34rem;
}

.home-reviews .home-review__quote p {
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  line-height: 1.55;
  color: var(--ink, #1f2a24);
  font-weight: 500;
}

.home-reviews .home-review__author {
  margin-top: 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.home-reviews .home-review__author strong {
  display: block;
  font-size: .95rem;
  letter-spacing: .01em;
}

.home-reviews .home-review__author small {
  display: block;
  margin-top: 2px;
  color: var(--muted, #6b726c);
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.home-reviews .home-review__product {
  margin-top: 18px;
}

.home-reviews__nav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
}

.home-reviews__nav .icon-button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.home-reviews__counter {
  min-width: 4.5ch;
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--ink, #1f2a24);
}

.home-reviews__cta {
  margin-top: 28px;
}

.trustpilot-summary {
  margin-top: 28px;
  padding: 14px 16px;
  max-width: 34rem;
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--ink, #1f2a24) 12%, transparent);
  border-radius: var(--radius-md, 14px);
  background: color-mix(in srgb, var(--surface, #fff) 72%, transparent);
  display: grid;
  gap: 10px;
}

.trustpilot-summary__label {
  display: inline-block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted, #6b726c);
}

.trustpilot-summary__widget {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.trustpilot-summary .trustpilot-widget,
.trustpilot-summary iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
}

.trustpilot-summary__cta {
  font-size: .86rem;
  font-weight: 700;
}

@media (max-width: 639px) {
  .home-reviews .testimonial-grid {
    display: grid;
  }

  .home-reviews .testimonial-copy {
    order: 1;
  }

  .home-reviews .testimonial-art {
    order: 2;
  }

  .trustpilot-summary {
    max-width: 100%;
  }
}

@media (min-width: 640px) and (max-width: 979px) {
  .home-reviews .testimonial-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .home-reviews .testimonial-art {
    min-height: 420px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-reviews * {
    transition: none !important;
    animation: none !important;
  }
}

/* ------------------------------------------------------------------ */
/* CatalogSeoContent                                                   */
/* ------------------------------------------------------------------ */

.shop-hero__context {
  margin: 10px 0 0;
  color: var(--muted, #6b726c);
  font-size: var(--font-small, .875rem);
}

.catalog-seo {
  --catalog-seo-preview: clamp(11.25rem, 42vw, 15rem); /* ~180–240px mobile */
  --catalog-seo-fade-bg: var(--surface-page, var(--paper, #f7f4ef));
  padding-top: clamp(40px, 4.5vw, 64px);
  padding-bottom: clamp(36px, 5vw, 64px);
  border-top: 1px solid color-mix(in srgb, var(--ink, #1f2a24) 8%, transparent);
  background: transparent;
}

@media (min-width: 768px) {
  .catalog-seo {
    --catalog-seo-preview: clamp(13.75rem, 28vw, 17.5rem); /* ~220–280px tablet */
  }
}

@media (min-width: 1024px) {
  .catalog-seo {
    --catalog-seo-preview: clamp(15rem, 18vw, 20rem); /* ~240–320px desktop */
  }
}

.catalog-seo__measure {
  max-width: 42rem; /* ~65–75ch reading column */
  margin-inline: auto;
}

.catalog-seo__header {
  margin-bottom: 14px;
}

.catalog-seo__heading {
  margin: 0;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--ink, #1f2a24);
}

.catalog-seo__panel {
  position: relative;
}

/* Collapse only when JS has marked the root (progressive enhancement). */
.catalog-seo.is-js .catalog-seo__panel.is-collapsed {
  max-height: var(--catalog-seo-preview);
  overflow: hidden;
}

.catalog-seo.is-js .catalog-seo__panel.is-collapsed .catalog-seo__fade {
  opacity: 1;
}

.catalog-seo__panel .catalog-seo__fade,
.catalog-seo__panel:not(.is-collapsed) .catalog-seo__fade {
  opacity: 0;
}

.catalog-seo__body,
.category-seo-content {
  max-width: 75ch;
  color: var(--ink, #1f2a24);
  line-height: 1.6;
  font-size: 1rem;
}

.catalog-seo__lede,
.catalog-seo__body p,
.category-seo-content p {
  margin: 0 0 0.9em;
  max-width: 75ch;
  color: var(--ink, #1f2a24);
  line-height: 1.6;
  font-size: 1rem;
}

/* Explicit editorial scale — never inherit global display h2. */
.catalog-seo__body h2,
.catalog-seo__body h3,
.catalog-seo__body h4,
.category-seo-content h2,
.category-seo-content h3,
.category-seo-content h4 {
  letter-spacing: -0.02em;
  color: var(--ink, #1f2a24);
  font-weight: 650;
  max-width: 75ch;
}

.catalog-seo__body h2,
.category-seo-content h2 {
  margin: 1.75em 0 0.55em;
  font-size: clamp(1.7rem, 2.4vw, 2.1rem);
  line-height: 1.2;
}

.catalog-seo__body h3,
.category-seo-content h3 {
  margin: 1.35em 0 0.45em;
  font-size: clamp(1.3rem, 1.8vw, 1.55rem);
  line-height: 1.25;
}

.catalog-seo__body h4,
.category-seo-content h4 {
  margin: 1.15em 0 0.4em;
  font-size: clamp(1.05rem, 1.2vw, 1.2rem);
  line-height: 1.3;
  font-weight: 700;
}

.catalog-seo__body h2:first-child,
.catalog-seo__body h3:first-child,
.catalog-seo__body h4:first-child,
.category-seo-content > :first-child {
  margin-top: 0;
}

.catalog-seo__body ul,
.catalog-seo__body ol,
.category-seo-content ul,
.category-seo-content ol {
  margin: 0 0 1em;
  padding-left: 1.35em;
  max-width: 75ch;
}

.catalog-seo__body ul,
.category-seo-content ul {
  list-style: disc;
}

.catalog-seo__body ol,
.category-seo-content ol {
  list-style: decimal;
}

.catalog-seo__body li,
.category-seo-content li {
  margin: 0.35em 0;
  line-height: 1.55;
}

.catalog-seo__body a,
.category-seo-content a {
  color: var(--accent, #c45b6a);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.catalog-seo__body a:hover,
.catalog-seo__body a:focus-visible,
.category-seo-content a:hover,
.category-seo-content a:focus-visible {
  color: var(--ink, #1f2a24);
}

.catalog-seo__body blockquote,
.category-seo-content blockquote {
  margin: 1.1em 0;
  padding: 0.35em 0 0.35em 1em;
  border-left: 3px solid color-mix(in srgb, var(--accent, #c45b6a) 55%, transparent);
  max-width: 75ch;
  color: var(--muted, #6b726c);
}

.catalog-seo__table-wrap,
.catalog-seo__body .wp-block-table,
.category-seo-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.1em 0;
}

.catalog-seo__body table,
.category-seo-content table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.catalog-seo__body th,
.catalog-seo__body td,
.category-seo-content th,
.category-seo-content td {
  padding: 0.55em 0.75em;
  border: 1px solid color-mix(in srgb, var(--ink, #1f2a24) 12%, transparent);
  text-align: left;
  vertical-align: top;
}

.catalog-seo__body img,
.category-seo-content img,
.catalog-seo__body figure,
.category-seo-content figure {
  max-width: 100%;
  height: auto;
}

.catalog-seo__body figure,
.category-seo-content figure {
  margin: 1.2em 0;
}

.catalog-seo__fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3.5rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  background: linear-gradient(to bottom, transparent, var(--catalog-seo-fade-bg));
}

.catalog-seo__toggle {
  margin-top: 14px;
  min-height: 44px;
  padding-inline: 16px;
  font-size: .8125rem;
  font-weight: 700;
  display: none;
  align-items: center;
  gap: 8px;
}

.catalog-seo.is-js .catalog-seo__toggle.is-needed {
  display: inline-flex;
}

.catalog-seo__toggle:focus-visible {
  outline: 2px solid var(--accent, #c45b6a);
  outline-offset: 3px;
}

.catalog-seo__chevron {
  width: 0.55em;
  height: 0.55em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  translate: 0 -0.1em;
  transition: transform 0.2s ease;
}

.catalog-seo__toggle[aria-expanded="true"] .catalog-seo__chevron {
  transform: rotate(-135deg);
  translate: 0 0.15em;
}

.catalog-seo__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 1.1em 0 0;
  padding: 0;
  list-style: none;
}

.catalog-seo__links a {
  color: var(--accent, #c45b6a);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.catalog-seo__facet-note {
  color: var(--muted, #6b726c) !important;
}

@media (prefers-reduced-motion: reduce) {
  .catalog-seo__fade,
  .catalog-seo__chevron {
    transition: none;
  }
}

/* —— Landing page system (Location + Wedding shared primitives) —— */
.location-landing,
.wedding-landing,
.delivery-landing {
  --landing-section-gap: clamp(56px, 7vw, 96px);
  --landing-prose: min(42rem, 100%);
  --landing-faq-max: min(52rem, 100%);
}

.location-landing > .section,
.wedding-landing > .section,
.delivery-landing > .section {
  padding-block: var(--landing-section-gap);
}

.location-landing .prose-measure,
.location-landing .lead,
.wedding-landing .prose-measure,
.wedding-landing .lead,
.delivery-landing .prose-measure,
.delivery-landing .lead {
  max-width: var(--landing-prose);
}

.location-landing .hero-actions,
.location-landing .action-group,
.wedding-landing .hero-actions,
.wedding-landing .action-group,
.delivery-landing .hero-actions,
.delivery-landing .action-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
  justify-content: flex-start;
}

.location-landing .landing-faq .action-group,
.wedding-landing .landing-faq .action-group,
.delivery-landing .landing-faq .action-group,
.location-landing .landing-cta .action-group,
.wedding-landing .landing-cta .action-group,
.delivery-landing .landing-cta .action-group,
.location-landing .section-action,
.wedding-landing .section-action,
.delivery-landing .section-action {
  justify-content: center;
}

.location-landing .section-header,
.wedding-landing .section-header,
.delivery-landing .section-header {
  display: grid;
  gap: clamp(14px, 2vw, 22px);
  margin-bottom: clamp(24px, 3.5vw, 36px);
  max-width: min(48rem, 100%);
}

.location-landing .section-header h2,
.wedding-landing .section-header h2,
.delivery-landing .section-header h2,
.location-landing h2,
.wedding-landing h2,
.delivery-landing h2,
.about-page h2,
.editorial-split h2 {
  margin: 0;
  max-width: none;
  font-size: var(--font-h2);
  line-height: 1.15;
  font-weight: 650;
  letter-spacing: -0.035em;
}

.location-landing .section-heading-center h2,
.wedding-landing .section-heading-center h2,
.delivery-landing .section-header--center h2,
.location-landing .why-section .section-heading h2,
.wedding-landing .why-section .section-heading h2,
.landing-process__header h2 {
  max-width: none;
}

@media (min-width: 980px) {
  .location-landing .section-heading-center h2,
  .wedding-landing .section-heading-center h2,
  .delivery-landing .section-header--center h2,
  .location-landing .why-section .section-heading h2,
  .wedding-landing .why-section .section-heading h2,
  .landing-process__header h2 {
    max-width: var(--heading-measure-section-wide);
  }
}

.location-landing .location-facts .action-group,
.location-landing .location-map .action-group,
.wedding-service .action-group {
  justify-content: flex-start;
}

.location-landing .section-header p,
.wedding-landing .section-header p,
.delivery-landing .section-header p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

/* EditorialHero — split: copy LEFT / photo RIGHT */
.landing-hero,
.location-hero,
.wedding-hero,
.about-hero {
  padding-block: clamp(28px, 4vw, 56px);
  text-align: left;
}

.landing-hero__grid,
.location-hero__grid,
.wedding-hero__grid,
.about-hero .landing-hero__grid {
  display: grid;
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
  justify-items: stretch;
}

.landing-hero__copy,
.location-hero__copy,
.wedding-hero__copy,
.about-hero .landing-hero__copy {
  width: 100%;
  max-width: none;
  display: grid;
  gap: 14px;
  justify-items: start;
  text-align: left;
}

.landing-hero__copy h1,
.location-hero__copy h1,
.wedding-hero__copy h1,
.landing-hero h1,
.location-hero h1,
.wedding-hero h1 {
  margin: 0;
  font-size: var(--font-hero-h1);
  line-height: 0.88;
  letter-spacing: -0.052em;
  font-weight: 700;
  max-width: none;
  text-align: left;
}

@media (min-width: 980px) {
  .landing-hero__copy h1,
  .location-hero__copy h1,
  .wedding-hero__copy h1,
  .landing-hero h1,
  .location-hero h1,
  .wedding-hero h1 {
    max-width: var(--heading-measure-hero-display);
  }
}

/* Editorial marketing heroes (Order / About / Contact) — controlled scale. */
.page--editorial .landing-hero__copy h1,
.page--editorial .landing-hero h1,
.order-hero .landing-hero__copy h1,
.about-hero .landing-hero__copy h1,
.about-hero h1,
.contact-hero h1 {
  font-size: var(--font-editorial-h1);
  line-height: 1.08;
  letter-spacing: -0.035em;
  max-width: none;
  font-weight: 700;
}

@media (min-width: 980px) {
  .page--editorial .landing-hero__copy h1,
  .page--editorial .landing-hero h1,
  .order-hero .landing-hero__copy h1,
  .about-hero .landing-hero__copy h1,
  .about-hero h1,
  .contact-hero h1 {
    max-width: var(--heading-measure-editorial);
  }
}

.landing-hero__lead,
.location-hero__lead,
.wedding-hero__lead,
.landing-hero .lead,
.location-hero .lead,
.wedding-hero .lead,
.about-hero .lead {
  margin: 0;
  max-width: 38rem;
  text-align: left;
}

.landing-hero__lead > *:first-child,
.location-hero__lead > *:first-child {
  margin-top: 0;
}

.landing-hero__lead > *:last-child,
.location-hero__lead > *:last-child {
  margin-bottom: 0;
}

.landing-hero__actions,
.landing-hero .hero-actions,
.location-hero .hero-actions,
.wedding-hero .hero-actions,
.about-hero .hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.landing-hero__media,
.location-hero__media,
.wedding-hero__media,
.about-hero .landing-hero__media {
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--aqueous, var(--surface-warm));
  aspect-ratio: 4 / 5;
  max-height: min(62vh, 560px);
  width: 100%;
  margin-inline: 0;
  align-self: stretch;
}

.landing-hero__image,
.location-hero__image,
.wedding-hero__image,
.about-hero .landing-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}

@media (min-width: 900px) {
  .landing-hero__grid,
  .location-hero__grid,
  .wedding-hero__grid,
  .about-hero .landing-hero__grid {
    grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
    gap: clamp(28px, 4vw, 48px);
  }

  .landing-hero__media,
  .location-hero__media,
  .wedding-hero__media,
  .about-hero .landing-hero__media {
    max-height: min(68vh, 620px);
  }
}

/* LocationFacts — compact identity + info card */
.location-facts__grid {
  display: grid;
  gap: 24px;
  align-items: start;
}

@media (min-width: 900px) {
  .location-facts__grid {
    grid-template-columns: minmax(0, 0.42fr) minmax(280px, 0.58fr);
    gap: 32px 40px;
    align-items: stretch;
  }
}

.location-facts__identity {
  display: grid;
  gap: 14px;
  align-content: start;
}

.location-facts__identity .section-header {
  margin-bottom: 0;
}

.location-facts__address {
  font-style: normal;
  margin: 0;
  line-height: 1.5;
  font-size: 1.05rem;
  color: var(--ink);
}

.location-facts__cta {
  margin: 4px 0 0;
}

.location-facts__meta {
  margin: 0;
  display: grid;
  gap: 0;
  padding: 22px 22px 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  align-content: start;
  height: 100%;
}

.location-facts__meta div {
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.location-facts__meta div:first-child {
  padding-top: 0;
  border-top: 0;
}

.location-facts__meta div:last-child {
  padding-bottom: 0;
}

.location-facts__meta dt {
  margin: 0 0 6px;
  font-size: var(--font-eyebrow);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--muted);
}

.location-facts__meta dd {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.location-facts__meta a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .12em;
}

.location-products__grid,
.wedding-products__grid {
  margin: 0;
  padding: 0;
  list-style: none;
}

.location-products__more,
.wedding-products__more,
.landing-products__more {
  margin-top: 28px;
  text-align: center;
}

.location-products__more .btn,
.wedding-products__more .btn,
.landing-products__more .btn {
  width: auto;
  max-width: 100%;
}

.location-empty,
.wedding-empty {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

/* Legacy location/wedding line grids removed — use shared .why-section */

/* EditorialGallery — 3-cell composition, no masonry orphan */
.editorial-gallery,
.location-editorial__grid,
.wedding-editorial__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .editorial-gallery,
  .location-editorial__grid,
  .wedding-editorial__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    grid-template-rows: 1fr 1fr;
    min-height: min(62vw, 640px);
    max-height: 720px;
  }

  .editorial-gallery__item--1,
  .location-editorial__item--1,
  .wedding-editorial__item--1 {
    grid-row: 1 / span 2;
  }
}

.editorial-gallery__item,
.location-editorial__item,
.wedding-editorial__item {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: var(--celadon, var(--surface-clay));
  min-height: 0;
  height: 100%;
}

.editorial-gallery__item img,
.location-editorial__item img,
.wedding-editorial__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  min-height: 220px;
}

@media (min-width: 768px) {
  .editorial-gallery__item img,
  .location-editorial__item img,
  .wedding-editorial__item img {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  .editorial-gallery__item--1,
  .location-editorial__item--1,
  .wedding-editorial__item--1 {
    aspect-ratio: 4 / 5;
  }

  .editorial-gallery__item--2,
  .editorial-gallery__item--3,
  .location-editorial__item--2,
  .location-editorial__item--3,
  .wedding-editorial__item--2,
  .wedding-editorial__item--3 {
    aspect-ratio: 1 / 1;
  }

  .editorial-gallery,
  .location-editorial__grid,
  .wedding-editorial__grid {
    grid-template-columns: 1fr 1fr;
  }

  .editorial-gallery__item--1,
  .location-editorial__item--1,
  .wedding-editorial__item--1 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 359px) {
  .editorial-gallery,
  .location-editorial__grid,
  .wedding-editorial__grid {
    grid-template-columns: 1fr;
  }
}

/* Process steps — centered heading + horizontal stages */
.landing-process__inner {
  display: grid;
  gap: clamp(28px, 4vw, 40px);
}

.landing-process__header {
  margin: 0 auto;
  text-align: center;
  justify-items: center;
  max-width: min(42rem, 100%);
}

.landing-process__header h2 {
  margin: 0;
  text-align: center;
}

.landing-process__lead,
.landing-process__header p {
  margin: clamp(10px, 1.5vw, 16px) 0 0;
  color: var(--muted);
  text-align: center;
  max-width: 36rem;
  line-height: 1.6;
}

.landing-process__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 22px;
  counter-reset: landing-step;
  position: relative;
}

.landing-process__step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 4px;
  align-items: start;
  position: relative;
  counter-increment: landing-step;
  text-align: left;
}

.landing-process__marker {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

.landing-process__marker::before {
  content: counter(landing-step, decimal-leading-zero);
}

.landing-process__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.landing-process__text {
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .landing-process__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 28px;
  }

  .landing-process__list[data-process-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .landing-process__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 24px;
  }

  .landing-process__list[data-process-count="5"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .landing-process__step {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}

@media (min-width: 1280px) {
  .landing-process__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px 18px;
  }

  .landing-process__list[data-process-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 960px;
    margin-inline: auto;
  }

  .landing-process__list[data-process-count="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .landing-process__step {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 12px;
  }

  .landing-process__list::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 4%;
    right: 4%;
    height: 1px;
    background: var(--line);
    z-index: 0;
    pointer-events: none;
  }

  .landing-process__list[data-process-count="3"]::before,
  .landing-process__list[data-process-count="4"]::before {
    left: 8%;
    right: 8%;
  }

  .landing-process__marker {
    position: relative;
    z-index: 1;
  }
}

/* Legacy location-pickup layout hooks → process system */
.location-pickup__layout {
  display: contents;
}

.location-pickup__intro {
  display: none;
}

/* LandingMap — NEVER fixed 240px height on the section */
.landing-map.location-map,
section.location-map.landing-map,
.location-landing .location-map.landing-map {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: transparent;
  overflow: visible;
}

.location-map__panel,
.landing-map__panel {
  display: grid;
  gap: 16px;
}

@media (min-width: 900px) {
  .location-map__panel,
  .landing-map__panel {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.7fr);
    align-items: stretch;
  }
}

.location-map__iframe,
.landing-map__iframe {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  max-height: none;
  min-height: 280px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--aqueous, var(--surface-warm));
  display: block;
}

.location-map__aside,
.landing-map__aside {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  display: grid;
  align-content: start;
  gap: 14px;
}

.location-map__aside address,
.landing-map__aside address {
  font-style: normal;
  margin: 0;
  line-height: 1.45;
}

/* LandingFAQ — independent, centered readable measure */
.landing-faq__inner,
.location-faq .landing-faq__inner,
.wedding-faq .landing-faq__inner {
  width: min(100%, var(--landing-faq-max));
  max-width: 52rem;
  margin-inline: auto;
  text-align: center;
}

.landing-faq h2,
.location-faq h2,
.wedding-faq h2,
.delivery-faq h2 {
  margin: 0 auto;
  max-width: none;
  text-align: center;
}

@media (min-width: 980px) {
  .landing-faq h2,
  .location-faq h2,
  .wedding-faq h2,
  .delivery-faq h2 {
    max-width: var(--heading-measure-section-wide);
  }
}

.landing-faq__list,
.location-faq__list,
.wedding-faq__list,
.delivery-faq__list {
  display: grid;
  gap: 10px;
  margin-top: clamp(24px, 3.5vw, 36px);
  text-align: left;
}

.landing-faq__item,
.location-faq__item,
.wedding-faq__item {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  padding: 0;
  transition:
    border-color 150ms ease,
    background-color 150ms ease;
}

.landing-faq__item:hover,
.location-faq__item:hover,
.wedding-faq__item:hover {
  border-color: color-mix(in srgb, var(--accent) 32%, var(--line));
  background: color-mix(in srgb, var(--surface) 96%, var(--accent) 4%);
}

.landing-faq__item[open],
.location-faq__item[open],
.wedding-faq__item[open] {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  background: color-mix(in srgb, var(--surface) 94%, var(--accent) 6%);
}

.landing-faq__item summary,
.location-faq__item summary,
.wedding-faq__item summary,
.landing-faq__trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-weight: 800;
  min-height: 44px;
  color: var(--ink);
  text-align: left;
}

.landing-faq__item summary::-webkit-details-marker,
.location-faq__item summary::-webkit-details-marker,
.wedding-faq__item summary::-webkit-details-marker,
.landing-faq__trigger::-webkit-details-marker {
  display: none;
}

.landing-faq__item summary::marker,
.location-faq__item summary::marker,
.wedding-faq__item summary::marker,
.landing-faq__trigger::marker {
  content: "";
}

.landing-faq__q {
  min-width: 0;
  text-wrap: pretty;
}

/* Decorative +/− — state from [open] / aria-expanded (synced in JS). */
.landing-faq__item summary::after,
.location-faq__item summary::after,
.wedding-faq__item summary::after,
.landing-faq__trigger::after {
  content: "+";
  grid-column: 2;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1;
  color: var(--muted);
  transition: color 150ms ease;
  pointer-events: none;
  user-select: none;
}

/* Visual indicator follows native <details open> — not a second boolean. */
.landing-faq__item[open] summary::after,
.location-faq__item[open] summary::after,
.wedding-faq__item[open] summary::after {
  content: "\2212";
}

.landing-faq__item:hover summary::after,
.location-faq__item:hover summary::after,
.wedding-faq__item:hover summary::after,
.landing-faq__item[open] summary::after,
.location-faq__item[open] summary::after,
.wedding-faq__item[open] summary::after {
  color: var(--accent);
}

.landing-faq__item summary:focus-visible,
.location-faq__item summary:focus-visible,
.wedding-faq__item summary:focus-visible,
.landing-faq__trigger:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: calc(var(--radius-sm) - 2px);
}

.landing-faq__a {
  padding: 0;
}

.landing-faq__item p,
.location-faq__item p,
.wedding-faq__item p,
.landing-faq__a p {
  margin: 0;
  padding: 0 16px 16px;
  color: var(--muted);
  text-align: left;
}

@media (prefers-reduced-motion: reduce) {
  .landing-faq__item,
  .location-faq__item,
  .wedding-faq__item,
  .landing-faq__item summary::after,
  .location-faq__item summary::after,
  .wedding-faq__item summary::after,
  .landing-faq__trigger::after {
    transition: none;
  }
}

/* LandingCTA — centered aqueous banner (approved composition) */
.landing-cta .cta-banner,
.location-cta .cta-banner,
.wedding-cta .cta-banner,
.landing-cta__banner {
  display: grid;
  gap: 14px;
  justify-items: center;
  text-align: center;
  padding: clamp(28px, 3.5vw, 44px);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--aqueous, var(--surface-warm));
}

.landing-cta .eyebrow,
.location-cta .eyebrow,
.wedding-cta .eyebrow {
  display: block;
  margin: 0 0 2px;
}

.landing-cta h2,
.location-cta h2,
.wedding-cta h2 {
  margin: 0;
  max-width: none;
  text-align: center;
}

@media (min-width: 980px) {
  .landing-cta h2,
  .location-cta h2,
  .wedding-cta h2 {
    max-width: var(--heading-measure-section-wide);
  }
}

.landing-cta p,
.location-cta p,
.wedding-cta p {
  margin: 0;
  max-width: 36rem;
  color: var(--muted);
  text-align: center;
}

.landing-cta__actions,
.landing-cta .action-group,
.location-cta .action-group,
.wedding-cta .action-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}

.landing-cta .btn,
.location-cta .btn,
.wedding-cta .btn {
  width: auto;
  max-width: 100%;
}

.footer-contact a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .12em;
}

.footer-contact strong a {
  font-weight: 800;
  text-decoration: none;
}

.footer-contact strong a:hover,
.footer-contact strong a:focus-visible {
  color: var(--accent);
  text-decoration: underline;
}

/* ------------------------------------------------------------------ */
/* Production UI final � ActionGroup, surfaces, commerce density       */
/* ------------------------------------------------------------------ */

.action-group {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--action-gap, 10px);
}

.action-group > .btn,
.action-group > .button,
.action-group > a.button {
  margin: 0;
}

.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  min-height: var(--action-height, 44px);
  padding-inline: 16px;
}

.btn-commerce,
.btn-buy-now,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.checkout-button,
.single_add_to_cart_button,
a.ajax_add_to_cart.btn-add-to-cart,
.product-card-actions--v2 a.ajax_add_to_cart,
.product-card-actions--v2 .button.btn-add-to-cart,
#place_order {
  background: var(--button-commerce-bg, var(--action-primary-bg, var(--accent))) !important;
  border-color: var(--button-commerce-bg, var(--action-primary-bg, var(--accent))) !important;
  color: var(--button-commerce-text, var(--action-primary-text, #fff)) !important;
}

.btn-commerce:hover,
.btn-buy-now:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.checkout-button:hover,
.single_add_to_cart_button:hover,
a.ajax_add_to_cart.btn-add-to-cart:hover,
.product-card-actions--v2 a.ajax_add_to_cart:hover,
#place_order:hover {
  background: var(--button-commerce-hover, var(--primary-fill-hover)) !important;
  border-color: var(--button-commerce-hover, var(--primary-fill-hover)) !important;
  color: var(--button-commerce-text, #fff) !important;
}

.btn-primary {
  background: var(--button-task-bg, var(--ink)) !important;
  border-color: var(--button-task-bg, var(--ink)) !important;
  color: var(--button-task-text, #fff) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--button-task-hover, #2a2622) !important;
  border-color: var(--button-task-hover, #2a2622) !important;
  color: var(--button-task-text, #fff) !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--ink) 14%, transparent);
}

.btn-outline,
.btn-secondary,
.btn-ghost,
.product-details-link:not(.product-details-link--text),
.woocommerce button.button:not(.alt):not(.checkout-button):not(.ekrasnale-buy-now):not(.btn-buy-now):not(.single_add_to_cart_button),
.woocommerce a.button:not(.alt):not(.checkout-button):not(.btn-buy-now):not(.add_to_cart_button):not(.checkout-button) {
  background: var(--button-secondary-bg, var(--action-secondary-bg, transparent)) !important;
  border: 1px solid var(--button-secondary-border, var(--action-secondary-border, var(--line-strong))) !important;
  color: var(--button-secondary-text, var(--action-secondary-text, var(--ink))) !important;
  box-shadow: none !important;
}

.btn-secondary {
  background: var(--button-secondary-strong-bg, var(--surface)) !important;
}

.btn-outline:hover,
.btn-secondary:hover,
.btn-ghost:hover,
.btn-outline:focus-visible,
.btn-secondary:focus-visible,
.btn-ghost:focus-visible {
  background: var(--button-secondary-hover-bg, var(--surface-alt)) !important;
  border-color: var(--ink) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.product-details-link:not(.product-details-link--text) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--action-height, 44px);
  padding: 0 14px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
}

.product-details-link--text {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 36px !important;
  height: auto !important;
  padding: 4px 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--button-tertiary-text, var(--muted)) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  width: auto !important;
}

.product-details-link--text:hover,
.product-details-link--text:focus-visible {
  color: var(--button-tertiary-hover, var(--ink)) !important;
  background: transparent !important;
}

.btn:disabled,
button:disabled,
.woocommerce .button:disabled,
.woocommerce button.button:disabled,
.woocommerce a.button.disabled,
.ekrasnale-buy-now:disabled,
.single_add_to_cart_button:disabled {
  background: var(--action-disabled-bg) !important;
  border-color: transparent !important;
  color: var(--action-disabled-text) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none !important;
}

form.cart .purchase-actions,
form.cart .action-group {
  width: 100%;
  margin-bottom: 10px;
}

.single-product form.cart .purchase-actions.action-group {
  width: min(100%, 360px);
  margin-bottom: 0;
}

form.cart .ekrasnale-buy-now,
form.cart .single_add_to_cart_button {
  width: 100%;
  min-height: var(--action-height, 44px);
}

.single-product form.cart .purchase-actions .ekrasnale-buy-now,
.single-product form.cart .purchase-actions .single_add_to_cart_button {
  width: 100%;
  min-height: 44px;
}

form.cart .single_add_to_cart_button.add-to-cart-main {
  background: var(--button-commerce-bg, var(--accent-commerce, var(--accent))) !important;
  border: 1px solid var(--button-commerce-bg, var(--accent-commerce, var(--accent))) !important;
  color: var(--button-commerce-text, #fff) !important;
}

form.cart .single_add_to_cart_button.add-to-cart-main:disabled {
  background: var(--action-disabled-bg) !important;
  border-color: transparent !important;
  color: var(--action-disabled-text) !important;
}

form.cart .quantity-stepper,
form.cart .quantity {
  width: min(100%, 168px);
  max-width: 168px;
}

.variation-guidance {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: .9rem;
}

.buy-now-quick {
  position: relative;
  width: 100%;
}

.buy-now-quick__panel {
  position: absolute;
  z-index: var(--z-product-card-popover, 2);
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm, 14px);
  background: var(--surface);
  box-shadow: 0 12px 28px rgba(31, 42, 36, .12);
}

.product-card {
  overflow: visible;
}

/* Elevate only the card whose Buy Now size panel is open (sibling stacking contexts). */
.product-card.is-buy-now-open,
li.product.product-card.is-buy-now-open {
  position: relative;
  z-index: var(--z-product-card-active, 6);
}

.product-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--action-gap, 8px);
  max-width: 280px;
}

.related.products ul.products,
.upsells.products ul.products,
ul.products.products--recommend {
  grid-template-columns: repeat(auto-fill, minmax(max(var(--product-card-min, 260px), 240px), 1fr)) !important;
}

@media (max-width: 560px) {
  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 561px) and (max-width: 839px) {
  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.product-details-link,
.product-card-actions a,
.product-card-actions .button,
.product-card-actions .btn-buy-now,
.checkout-button,
.cart-update-fallback,
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart button[name="apply_coupon"] {
  text-decoration: none;
}

.btn:hover,
.btn:focus,
.btn:focus-visible,
.btn:active,
.btn:visited,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce a.button:focus-visible,
.woocommerce a.button:active,
.woocommerce a.button:visited,
.woocommerce button.button:hover,
.woocommerce button.button:focus-visible,
.woocommerce button.button:active,
.product-details-link:hover,
.product-details-link:focus,
.product-details-link:focus-visible,
.product-details-link:active,
.product-details-link:visited,
.product-card-actions a:hover,
.product-card-actions a:focus-visible,
.product-card-actions a:active,
.product-card-actions a:visited,
.checkout-button:hover,
.checkout-button:focus-visible,
.checkout-button:active,
.checkout-button:visited {
  text-decoration: none;
}

.cart-empty {
  max-width: 34rem;
  margin: 0 auto;
  text-align: center;
}

.empty-recommendations {
  margin-top: clamp(20px, 3vw, 36px);
}

.woocommerce-cart .cross-sells {
  margin-top: 28px;
}

.cart-upsell-lead {
  margin: 0 0 14px;
  color: var(--muted);
}

.woocommerce table.cart .product-thumbnail {
  vertical-align: middle;
}

.woocommerce table.cart .product-thumbnail a {
  display: block;
  width: 88px;
  max-width: 100%;
}

.woocommerce table.cart .product-thumbnail img {
  display: block;
  width: 88px;
  height: 88px;
  max-width: 88px;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

@media (max-width: 979px) {
  .woocommerce table.cart .product-thumbnail a,
  .woocommerce table.cart .product-thumbnail img {
    width: 72px;
    height: 72px;
    max-width: 72px;
  }
}

.woocommerce-cart .quantity-stepper,
.woocommerce-cart .quantity,
.woocommerce-cart .cart-quantity-stepper {
  width: min(100%, 144px);
  max-width: 144px;
}

@media (max-width: 1024px) {
  .woocommerce-cart .quantity-stepper,
  .woocommerce-cart .quantity,
  .woocommerce-cart .cart-quantity-stepper {
    width: 144px;
    max-width: 144px;
    min-height: 44px;
    grid-template-columns: 44px minmax(40px, 1fr) 44px;
  }

  .woocommerce-cart .quantity .qty,
  .woocommerce-cart .quantity-stepper .qty,
  .woocommerce-cart .cart-quantity-stepper .qty,
  .woocommerce-cart .quantity input.qty.input-text {
    min-height: 44px;
    font-size: 0.9375rem;
    font-weight: 700;
  }
}

.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="update_cart"] {
  background: transparent !important;
  border: 1px solid var(--line-strong) !important;
  color: var(--ink) !important;
}

.woocommerce-cart .checkout-button {
  min-height: var(--action-height, 44px);
}

body.cart-upsell-open {
  overflow: hidden;
}

.modal--cart-upsell .modal__panel {
  width: min(440px, calc(100vw - 32px));
  padding: 24px;
}

.cart-upsell__body {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.5;
}

.cart-upsell__actions {
  display: grid;
  gap: 10px;
}

.cart-upsell__actions .btn {
  width: 100%;
}

form.woocommerce-checkout,
form.checkout.woocommerce-checkout {
  display: block;
  width: min(100%, var(--container-commerce, 1260px));
  max-width: var(--container-commerce, 1260px);
  margin-inline: auto;
}

form.checkout.checkout-shell {
  display: grid;
  gap: 24px;
  align-items: start;
}

.checkout-main,
.checkout-summary {
  min-width: 0;
}

.checkout-customer,
.checkout-customer.col2-set,
#customer_details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--checkout-section-gap, var(--space-4, 18px));
  width: 100%;
  float: none;
}

.checkout-customer .col-1,
.checkout-customer .col-2,
#customer_details .col-1,
#customer_details .col-2 {
  width: 100% !important;
  float: none !important;
  max-width: none !important;
}

@media (min-width: 980px) {
  form.checkout.checkout-shell {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 400px);
    gap: 28px 32px;
  }

  .checkout-summary {
    position: sticky;
    top: 96px;
  }

  body.admin-bar .checkout-summary {
    top: calc(96px + var(--wp-admin--admin-bar--height, 32px));
  }
}

.checkout-page-header {
  width: min(100%, var(--container-commerce, 1260px));
  max-width: var(--container-commerce, 1260px);
  margin: 0 auto 20px;
  padding: 0;
}

.checkout-page-title {
  margin: 0;
  font-size: clamp(1.85rem, 3vw, 2.4rem);
  line-height: 1.1;
}

.checkout-fulfillment,
.checkout-coupon-disclosure {
  width: 100%;
  max-width: none;
  margin: 0 0 16px;
}

.checkout-fulfillment__title {
  margin: 0 0 12px;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.shipping-method-description {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--color-muted, #5c5348);
  font-weight: 400;
}

.checkout-coupon-disclosure {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--paper);
}

.checkout-coupon-disclosure__trigger {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  font: inherit;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}

.checkout-coupon-disclosure__trigger span {
  color: var(--accent);
  font-weight: 800;
}

.checkout-coupon-disclosure__trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 3px;
}

.checkout-coupon-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 12px;
  align-items: center;
}

.checkout-coupon-panel[hidden] {
  display: none !important;
}

.checkout-coupon-panel .input-text {
  width: 100%;
  min-width: 0;
}

.checkout-coupon-panel .coupon-error-notice {
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
  border-radius: var(--control-radius);
  background: var(--surface-rust-soft);
  color: var(--ink);
  font-size: .92rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.checkout-coupon-panel.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

.checkout-coupon-panel [data-checkout-coupon-apply] {
  min-height: 44px;
  min-width: 44px;
  white-space: nowrap;
}

.checkout-coupon-applied {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.checkout-coupon-applied[hidden] {
  display: none !important;
}

.checkout-coupon-applied__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  min-width: 0;
}

.checkout-coupon-applied__label {
  min-width: 0;
  color: var(--ink);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.checkout-coupon-applied__remove {
  margin: 0;
  padding: 8px 12px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: color-mix(in srgb, var(--paper) 88%, #fff);
  color: var(--ink);
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
}

.checkout-coupon-applied__remove:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.checkout-coupon-applied.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

.checkout-billing-lead {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
}

.checkout-order-requests {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.checkout-order-requests .form-row {
  margin: 0;
}

.checkout-order-requests__nip[hidden] {
  display: none;
}

.checkout-order-requests [data-photo-request-field][hidden],
.checkout-is-pickup [data-photo-request-field] {
  display: none !important;
}

.checkout-order-requests__nip label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}

.why-section .section-heading-center h2 {
  max-width: none;
}

@media (min-width: 980px) {
  .why-section .section-heading-center h2 {
    max-width: var(--heading-measure-section-wide);
  }
}

.why-section .section-action {
  margin-top: 28px;
}

.checkout-optional-section {
  display: grid;
  gap: 10px;
  margin-top: 0;
}

.checkout-optional-section__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.checkout-progressive-toggle {
  display: inline-flex;
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink);
  font-size: .92rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.checkout-progressive-toggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 3px;
}

.checkout-progressive-panel {
  display: grid;
  gap: 12px;
}

.checkout-progressive-panel[hidden] {
  display: none !important;
}

@media (max-width: 639px) {
  .checkout-coupon-panel {
    grid-template-columns: 1fr;
  }
}

.checkout-fulfillment__hint {
  margin: 0 0 10px;
  color: var(--muted);
  max-width: 40rem;
}

.checkout-pickup-location {
  margin: 18px 0 8px;
}

.checkout-pickup-location fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}

.checkout-pickup-location legend {
  margin: 0 0 10px;
  padding: 0;
  font-weight: 800;
  font-size: 1.05rem;
}

.choice-card-group--pickup,
.ekrasnale-pickup-choices .woocommerce-input-wrapper,
.ekrasnale-pickup-choices .choice-card-group {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {
  .choice-card-group--pickup {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.choice-card--pickup {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  cursor: pointer;
  color: var(--ink);
}

.choice-card--pickup input {
  margin: 3px 0 0;
  accent-color: var(--accent);
  width: 1.05rem;
  height: 1.05rem;
}

.choice-card--pickup.is-selected,
.choice-card--pickup:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}

.choice-card__body {
  display: grid;
  gap: 2px;
}

.choice-card__title {
  font-weight: 800;
}

.choice-card__line,
.choice-card__meta {
  color: var(--muted);
  font-size: .9rem;
}

.checkout-field-error {
  margin: 8px 0 0;
  color: var(--accent);
  font-size: .92rem;
  font-weight: 700;
}

.checkout-field-error[hidden] {
  display: none !important;
}

#ekrasnale_pickup_location_field.woocommerce-invalid {
  outline: none;
}

#ekrasnale_pickup_location_field.woocommerce-invalid .choice-card--pickup {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
}

#place_order {
  width: 100%;
  min-height: var(--action-height, 44px);
  background: var(--button-commerce-bg, var(--action-primary-bg, var(--accent))) !important;
  border-color: var(--button-commerce-bg, var(--action-primary-bg, var(--accent))) !important;
  color: var(--button-commerce-text, #fff) !important;
}

.thankyou-page {
  max-width: 44rem;
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.thankyou-hero h1 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.thankyou-lead {
  color: var(--muted);
}

.thankyou-card {
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.thankyou-card h2 {
  margin: 0 0 12px;
  font-size: 1.15rem;
}

.thankyou-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 0;
}

.thankyou-meta dt {
  color: var(--muted);
  font-size: .8rem;
}

.thankyou-meta dd {
  margin: 2px 0 0;
  font-weight: 700;
}

.thankyou-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.thankyou-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.thankyou-item__media img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
}

.thankyou-actions {
  margin-top: 8px;
}

@media (max-width: 639px) {
  .btn,
  .woocommerce a.button,
  .woocommerce button.button {
    min-height: var(--action-height-mobile, 46px);
  }

  .thankyou-meta {
    grid-template-columns: 1fr;
  }

  .thankyou-item {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .thankyou-item__total {
    grid-column: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .button {
    transition: none !important;
  }
}

/* ==========================================================================
   Editorial marketing pages — refined rhythm / type / maps / footer
   ========================================================================== */
:root {
  --editorial-gap: clamp(1rem, 2vw, 1.75rem);
  --editorial-section-y: var(--section-space-lg);
  --editorial-measure: 62ch;
  --editorial-media-aspect: 4 / 3;
  --map-aspect: 2 / 1;
}

.page--editorial .section {
  padding-block: var(--section-space-lg);
}

.page--editorial .section.landing-hero,
.page--editorial .section.about-hero,
.page--editorial .section.order-hero,
.page--editorial .section.editorial-split--compact,
.page--editorial .section.contact-hero {
  padding-block: var(--section-space-md) var(--section-space-sm);
}

.page--editorial .section.landing-process,
.page--editorial .section.order-process {
  padding-block: var(--section-space-md);
}

.page--editorial .section.editorial-form-section {
  padding-block: var(--section-space-md) var(--section-space-lg);
}

.page--editorial .section.order-narrative,
.page--editorial .section.about-history,
.page--editorial .section.about-craft,
.page--editorial .section.about-extra,
.page--editorial .section.about-closing {
  padding-block: var(--section-space-md);
}

.page--editorial .section.editorial-values,
.page--editorial .section.about-values {
  padding-block: var(--section-space-sm) var(--section-space-md);
}

.page--editorial .section.landing-cta,
.page--editorial .section.order-final-cta,
.page--editorial .section.about-final-cta {
  padding-block: var(--section-space-md);
}

.page--editorial .landing-process__header {
  margin-bottom: 0;
}

.page--editorial .landing-process__inner {
  gap: var(--section-space-md);
}

.page--editorial .landing-process__lead {
  margin-top: 0.5rem;
}

.editorial-split__grid {
  display: grid;
  gap: var(--editorial-gap);
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}

.editorial-split__copy {
  min-width: 0;
}

.editorial-split__copy > h1,
.editorial-split__copy > h2,
.editorial-split__copy > h3 {
  margin: 0 0 0.55rem;
  line-height: 1.18;
}

.editorial-split__copy > h1 {
  max-width: min(18ch, 100%);
  font-size: var(--font-editorial-h1);
  letter-spacing: -0.035em;
}

.editorial-split__copy > h2,
.editorial-split__copy > h3 {
  max-width: var(--editorial-measure);
  font-size: var(--font-h2);
}

.editorial-split__lead,
.editorial-split__body {
  max-width: var(--editorial-measure);
}

.editorial-split__body {
  margin-top: 0.5rem;
}

.editorial-split__body > *:first-child {
  margin-top: 0;
}

.editorial-split__body p {
  margin: 0 0 0.75rem;
  line-height: 1.55;
}

.editorial-split__body p:last-child {
  margin-bottom: 0;
}

.editorial-split__actions {
  margin-top: 1rem;
}

/* Open editorial media — not card chrome */
.editorial-media,
.editorial-split__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface-alt);
  aspect-ratio: var(--editorial-media-aspect, 4 / 3);
  max-height: min(44vh, 380px);
  border: 0;
  box-shadow: none;
}

.editorial-media__picture {
  display: block;
  width: 100%;
  height: 100%;
}

.editorial-media__img,
.editorial-split__media img,
.editorial-values__media img,
.landing-hero__image.editorial-media__img,
.editorial-media__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--editorial-media-position, center 28%);
  display: block;
}

.editorial-media--portrait,
.editorial-split__media.is-portrait {
  aspect-ratio: 3 / 4;
  max-height: min(48vh, 420px);
}

.page--editorial .landing-hero__media {
  max-height: min(48vh, 420px);
}

.page--editorial .landing-hero__media img {
  object-fit: cover;
  object-position: center 30%;
}

/* About page — approved photography sequence 01–05 (theme assets). */
.about-page.page--editorial .about-hero .landing-hero__media,
.about-page .about-hero .landing-hero__media {
  aspect-ratio: 3 / 2;
  max-height: min(48vh, 420px);
  width: 100%;
  margin-inline: 0;
  justify-self: stretch;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.about-page .about-hero .landing-hero__image,
.about-page .about-hero .editorial-media__picture img {
  object-fit: cover;
  object-position: center 45%;
}

.about-page .about-history .editorial-split__media {
  aspect-ratio: 4 / 5;
  max-height: min(52vh, 460px);
}

.about-page .about-craft .editorial-split__media,
.about-page .about-closing .editorial-split__media {
  aspect-ratio: 4 / 5;
  max-height: min(52vh, 480px);
}

/*
 * Shared: text-left / image-right with media pinned to the container right edge.
 * Portrait aspect-ratio + max-height shrink the figure below a wide 7fr track;
 * without end alignment the box sits at the start of that track and reads centered.
 */
@media (min-width: 900px) {
  .editorial-split--media-end .editorial-split__grid.editorial-split__grid--5-7 {
    grid-template-columns: minmax(0, 1fr) minmax(0, min(48%, 30rem));
    column-gap: clamp(1.5rem, 3vw, 2.5rem);
  }

  .editorial-split--media-end .editorial-split__media {
    justify-self: end;
    width: 100%;
    max-height: min(62vh, 560px);
  }
}

/* Keep copy first / media second — never flip with order. */
.editorial-split--media-end:not(.editorial-split--media-first) .editorial-split__media,
.editorial-split--media-end:not(.editorial-split--media-first) .editorial-split__copy {
  order: 0;
}

@media (min-width: 900px) {
  .about-page.page--editorial .about-hero .landing-hero__media,
  .about-page .about-hero .landing-hero__media {
    aspect-ratio: 4 / 3;
    max-height: min(62vh, 560px);
  }

  .about-page .about-hero .landing-hero__image,
  .about-page .about-hero .editorial-media__picture img {
    object-position: center 42%;
  }

  .about-page .about-history .editorial-split__media {
    max-height: min(58vh, 520px);
  }

  .editorial-split--media-end .editorial-split__media {
    max-height: min(62vh, 560px);
  }
}

@media (max-width: 639px) {
  .about-page .about-hero .landing-hero__image,
  .about-page .about-hero .editorial-media__picture img {
    object-position: center 48%;
  }

  .about-page .about-history .editorial-split__media,
  .about-page .about-craft .editorial-split__media,
  .about-page .about-closing .editorial-split__media {
    max-height: min(48vh, 380px);
  }
}

/* About values — photo-free editorial row */
.about-page .about-values .editorial-values__header {
  margin-bottom: var(--section-space-sm);
  text-align: left;
}

.about-page .about-values .editorial-values__header h2 {
  max-width: var(--heading-measure-editorial, min(18ch, 100%));
}

.about-page .about-values .editorial-values__lead {
  max-width: var(--editorial-measure, 42ch);
}

@media (min-width: 900px) {
  .about-page .about-values .editorial-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-block: 1px solid var(--line);
    padding-block: 0.95rem;
  }

  .about-page .about-values .editorial-values__item {
    padding: 0.2rem 1.15rem;
    border-left: 1px solid var(--line);
  }

  .about-page .about-values .editorial-values__item:first-child {
    border-left: 0;
    padding-left: 0;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .about-page .about-values .editorial-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }

  .about-page .about-values .editorial-values__item {
    padding: 0.2rem 0.85rem;
    border-left: 1px solid var(--line);
  }

  .about-page .about-values .editorial-values__item:first-child {
    border-left: 0;
    padding-left: 0;
  }

  .about-page .about-values .editorial-values__text {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .about-page .about-values .editorial-values__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-block: 0;
    border-top: 1px solid var(--line);
    padding: 0;
  }

  .about-page .about-values .editorial-values__item {
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--line);
  }

  .about-page .about-values .editorial-values__item:last-child {
    border-bottom: 0;
  }
}

@media (min-width: 900px) {
  .editorial-split__grid--4-8 {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  }
  .editorial-split__grid--5-7 {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }
  .editorial-split__grid--6-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .editorial-split__grid--7-5 {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }
  .editorial-split__grid--8-4 {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  }

  .editorial-split--media-first .editorial-split__media {
    order: -1;
  }

  .editorial-split__media {
    max-height: min(50vh, 400px);
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .editorial-split__grid--4-8,
  .editorial-split__grid--5-7,
  .editorial-split__grid--6-6,
  .editorial-split__grid--7-5,
  .editorial-split__grid--8-4 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Form + support — cards only for functional grouping */
.editorial-form-layout {
  display: grid;
  gap: var(--editorial-gap);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.editorial-form-panel,
.editorial-support-panel,
.editorial-contact-direct {
  padding: var(--editorial-card-pad);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.editorial-form-panel .form-heading {
  margin-bottom: 1rem;
}

.editorial-form-panel .form-heading h2 {
  margin: 0.25rem 0 0.4rem;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.editorial-form-panel .form-heading p {
  margin: 0;
  color: var(--muted);
  max-width: 48ch;
}

.editorial-form-panel .textarea {
  min-height: 7.5rem;
}

.editorial-support-panel__title {
  margin: 0.2rem 0 0.55rem;
  font-size: clamp(1.1rem, 1.8vw, 1.28rem);
}

.editorial-support-panel__lead {
  margin: 0 0 0.85rem;
  color: var(--muted);
  max-width: 38ch;
  font-size: 0.95rem;
}

.editorial-support-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.editorial-support-panel__list li {
  display: grid;
  gap: 0.12rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--line);
}

.editorial-support-panel__list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.editorial-support-panel__list strong {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}

.editorial-support-panel__media {
  margin-top: 1rem;
  max-height: 140px;
}

.editorial-support-panel__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.1rem;
  margin: 1rem 0 0;
}

/* Contact page — centered intro (no top direct-contact card) */
.contact-page .contact-hero--centered {
  padding-block: var(--section-space-md) var(--section-space-sm);
}

.contact-page .contact-hero__inner {
  display: grid;
  gap: 0.55rem;
  justify-items: center;
  text-align: center;
  max-width: min(720px, 100%);
  margin-inline: auto;
}

.contact-page .contact-hero__inner .eyebrow {
  margin: 0;
}

.contact-page .contact-hero__inner h1 {
  margin: 0;
  max-width: min(20ch, 100%);
  text-align: center;
}

.contact-page .contact-hero__inner .lead {
  margin: 0.15rem 0 0;
  max-width: 40rem;
  color: var(--muted);
  line-height: 1.55;
  text-align: center;
}

.editorial-support-panel__list--contact {
  margin-bottom: 0.85rem;
}

.editorial-support-panel__list--contact + .editorial-support-panel__list {
  padding-top: 0.15rem;
}

.editorial-support-panel__list--contact + .editorial-support-panel__list > li:first-child {
  border-top: 1px solid var(--line);
  padding-top: 0.65rem;
}

.editorial-support-panel__action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--ink);
  text-decoration: none;
  line-height: 1.3;
}

.editorial-support-panel__action:hover,
.editorial-support-panel__action:focus-visible {
  color: var(--accent, #6f5218);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.editorial-support-panel__action:focus-visible {
  outline: 2px solid var(--accent, #6f5218);
  outline-offset: 3px;
  border-radius: 4px;
}

.editorial-contact-direct {
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.editorial-contact-direct .eyebrow {
  display: block;
  margin-bottom: 0.15rem;
}

.editorial-contact-direct a {
  font-weight: 700;
  font-size: 1.02rem;
}

@media (min-width: 900px) {
  .editorial-form-layout {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }
}

.form-grid--order {
  display: grid;
  gap: 0.9rem;
}

.form-grid--order > .field {
  margin-bottom: 0;
  align-content: start;
}

.form-grid--order .field__hint {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: 0.875rem;
  line-height: 1.35;
}

@media (min-width: 640px) {
  .form-grid--order {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  .form-grid--order .full {
    grid-column: 1 / -1;
  }
}

/* Centered text-only custom-order hero */
.order-hero.order-hero--text {
  padding-block: var(--section-space-sm) var(--section-space-md);
  text-align: center;
}

.order-hero.order-hero--text .landing-hero__grid {
  display: block;
  max-width: 720px;
  margin-inline: auto;
}

.order-hero.order-hero--text .landing-hero__copy {
  max-width: 720px;
  margin-inline: auto;
  justify-items: center;
  text-align: center;
}

.order-hero.order-hero--text .landing-hero__copy h1,
.order-hero.order-hero--text .landing-hero__lead,
.order-hero.order-hero--text .lead {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}

.order-dwarf-page > .catalog-seo {
  padding-block: var(--section-space-md) var(--section-space-lg);
}

.order-dwarf-page .catalog-seo__measure {
  max-width: min(72ch, 100%);
}

.order-dwarf-page .catalog-seo__body,
.order-dwarf-page .category-seo-content {
  max-width: 72ch;
}


/* Values — compact band */
.editorial-values__header {
  margin-bottom: var(--section-space-sm);
}

.editorial-values__header h2 {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.editorial-values__lead {
  margin: 0.55rem 0 0;
  max-width: var(--editorial-measure, 38ch);
  color: var(--muted);
  line-height: 1.5;
  font-size: 0.98rem;
}

.editorial-values__layout {
  display: grid;
  gap: var(--editorial-gap, 1.5rem);
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}

.editorial-values__copy {
  min-width: 0;
}

.editorial-values__grid {
  list-style: none;
  margin: 0;
  padding: 0.85rem 0;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: minmax(0, 1fr);
  border-block: 1px solid var(--line);
}

.editorial-values__item {
  padding: 0.15rem 0;
  background: transparent;
  border: 0;
}

.editorial-values__marker {
  display: inline-block;
  margin-bottom: 0.35rem;
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.editorial-values__title {
  margin: 0 0 0.3rem;
  font-size: 1rem;
}

.editorial-values__text {
  margin: 0;
  color: var(--muted);
  max-width: 34ch;
  line-height: 1.45;
  font-size: 0.95rem;
}

@media (min-width: 768px) {
  .editorial-values:not(.editorial-values--with-media) .editorial-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }
  .editorial-values:not(.editorial-values--with-media) .editorial-values__item {
    padding: 0.15rem 1.1rem;
    border-left: 1px solid var(--line);
  }
  .editorial-values:not(.editorial-values--with-media) .editorial-values__item:first-child {
    border-left: 0;
    padding-left: 0;
  }
}

@media (min-width: 900px) {
  .editorial-values--with-media .editorial-values__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.75rem);
  }

  .editorial-values--media-first .editorial-values__media {
    order: -1;
  }

  .editorial-values--with-media .editorial-values__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-block: 0;
    border-top: 1px solid var(--line);
    padding-top: 0.85rem;
  }

  .editorial-values--with-media .editorial-values__item {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--line);
  }

  .editorial-values--with-media .editorial-values__item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
}

@media (max-width: 899px) {
  .editorial-values--with-media .editorial-values__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .editorial-values--with-media .editorial-values__header {
    text-align: left;
  }

  /* Mobile: heading → image → values */
  .editorial-values--with-media .editorial-values__copy {
    display: contents;
  }

  .editorial-values--with-media .editorial-values__header {
    order: 1;
  }

  .editorial-values--with-media .editorial-values__media {
    order: 2;
  }

  .editorial-values--with-media .editorial-values__grid {
    order: 3;
  }
}

/* Map frame states */
.ekrasnale-map-frame {
  width: 100%;
}

.ekrasnale-map-frame__slot {
  position: relative;
  width: 100%;
  aspect-ratio: var(--map-aspect, 16 / 10);
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 42%),
    radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--ink) 6%, transparent), transparent 40%),
    linear-gradient(160deg, var(--surface-alt), color-mix(in srgb, var(--surface-alt) 70%, var(--line)));
}

.ekrasnale-map-frame__placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 0.28rem;
  padding: 0.65rem 0.75rem;
  text-align: center;
}

.ekrasnale-map-frame__icon {
  width: 26px;
  height: 26px;
  margin: 0 auto 0.05rem;
  color: var(--accent);
}

.ekrasnale-map-frame__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.ekrasnale-map-frame__name {
  font-size: 0.92rem;
  line-height: 1.25;
  font-weight: 700;
}

.ekrasnale-map-frame__address {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  max-width: 26ch;
  justify-self: center;
  line-height: 1.35;
}

.ekrasnale-map-frame__hint {
  margin: 0.15rem 0 0;
  color: var(--muted);
  font-size: 0.7rem;
  max-width: 28ch;
  justify-self: center;
  line-height: 1.3;
  opacity: 0.85;
}

.ekrasnale-map-frame__reveal {
  margin-top: 0.25rem;
  min-height: 40px;
  padding-inline: 1rem;
}

.ekrasnale-map-frame__iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.ekrasnale-map-frame.is-loading .ekrasnale-map-frame__placeholder::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  margin: 0.35rem auto 0;
  border: 2px solid var(--line);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: ekrasnale-map-spin 0.7s linear infinite;
}

@keyframes ekrasnale-map-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .ekrasnale-map-frame.is-loading .ekrasnale-map-frame__placeholder::after {
    animation: none;
  }
}

.location-card--editorial {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.location-card--editorial .location-map {
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
}

.location-card--editorial .location-content {
  padding: 0.95rem 1rem 1.05rem;
  display: grid;
  gap: 0.35rem;
  flex: 1;
}

.location-card--editorial .location-content h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.location-card--editorial .location-content p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.4;
}

.location-card--editorial .location-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  margin-top: 0.55rem;
}

.location-card--editorial .location-card__actions .btn {
  min-height: 40px;
  padding: 0.45rem 0.9rem;
}

.locations-grid--editorial {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) and (max-width: 1099px) {
  .locations-grid--editorial[data-location-count="3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .locations-grid--editorial[data-location-count="3"] > :last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 0.5rem);
    justify-self: center;
  }
}

@media (min-width: 1100px) {
  .locations-grid--editorial,
  .locations-grid--editorial[data-location-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
  }
  .locations-grid--editorial[data-location-count="3"] > :last-child {
    grid-column: auto;
    max-width: none;
    justify-self: stretch;
  }
}

.page--editorial .locations-section {
  padding-block: var(--section-space-lg);
}

.page--editorial .locations-section .section-heading {
  margin-bottom: var(--section-space-sm);
}

.page--editorial .cta-banner,
.page--editorial .landing-cta__banner {
  padding: clamp(1.35rem, 2.5vw, 2rem);
}

.page--editorial .cta-banner h2,
.page--editorial .landing-cta__banner h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  max-width: 28ch;
  margin-inline: auto;
}

/* Footer polish */
.site-footer nav ul,
.site-footer .footer-links,
.site-footer .menu,
.site-footer .menu ul {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
}

.site-footer nav li,
.site-footer .footer-links li,
.site-footer .menu li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding-left: 0 !important;
}

.site-footer nav li::before,
.site-footer .footer-links li::before,
.site-footer .menu li::before {
  content: none !important;
  display: none !important;
}

.site-footer nav li::marker,
.site-footer .footer-links li::marker,
.site-footer .menu li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.site-footer nav,
.site-footer .footer-links {
  display: grid;
  gap: 0.55rem;
  align-content: start;
}

.site-footer .footer-grid,
.site-footer .footer-main {
  align-items: start;
}

.site-footer .footer-brand,
.site-footer nav,
.site-footer .footer-contact {
  min-width: 0;
}

.site-footer .footer-brand p {
  margin: 0.55rem 0 0;
  max-width: 34ch;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--muted);
}

.site-footer .footer-payments {
  margin-top: var(--section-space-md);
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.site-footer .footer-payments__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem 1rem;
  width: fit-content;
  max-width: 100%;
}

.site-footer .footer-payments__title {
  flex: 0 0 auto;
  margin: 0;
  white-space: nowrap;
}

.site-footer .footer-payments__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
}

.site-footer .footer-bottom {
  align-items: center;
  gap: 0.65rem 1.25rem;
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  font-size: var(--footer-utility-size);
  line-height: 1.45;
}

.site-footer .footer-bottom a,
.site-footer .footer-bottom .button-link {
  font-size: inherit;
}

.site-footer {
  padding-top: clamp(40px, 5vw, 64px);
}

.site-footer .footer-grid {
  gap: clamp(22px, 3.5vw, 40px);
  align-items: start;
}

.site-footer .footer-brand {
  gap: 0.65rem;
}

.site-footer .footer-brand p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
}

.site-footer nav a,
.site-footer .footer-contact p,
.site-footer .footer-contact > a {
  font-size: 0.9rem;
  line-height: 1.45;
}

.site-footer .footer-payments {
  margin-top: clamp(20px, 3vw, 32px);
  padding-top: 1rem;
}

/* Compact payment strip — fit content, don't span full footer rhythm */
.site-footer .footer-payments > .container.footer-payments__inner {
  width: fit-content;
  max-width: 100%;
}

@media (max-width: 639px) {
  .page--editorial .section {
    padding-block: var(--section-space-md);
  }
  .page--editorial .section.landing-hero,
  .page--editorial .section.about-hero,
  .page--editorial .section.order-hero,
  .page--editorial .section.contact-hero {
    padding-block: var(--section-space-sm);
  }
  .page--editorial .landing-hero__media,
  .editorial-split__media {
    max-height: min(38vh, 280px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-media__img,
  .landing-hero__image {
    transition: none !important;
  }
}

/* —— Responsive heading width contract (must stay last in components.css) —— */
@media (max-width: 979px) {
  .section-heading h2,
  .section-heading-center h2,
  .why-section .section-heading-center h2,
  .location-landing .section-heading-center h2,
  .wedding-landing .section-heading-center h2,
  .delivery-landing .section-header--center h2,
  .location-landing .why-section .section-heading h2,
  .wedding-landing .why-section .section-heading h2,
  .landing-process__header h2,
  .landing-faq h2,
  .location-faq h2,
  .wedding-faq h2,
  .delivery-faq h2,
  .landing-cta h2,
  .location-cta h2,
  .wedding-cta h2,
  .cta-banner h2,
  .page--commerce .page-hero h1,
  .page--commerce .shop-hero h1,
  .page--utility .page-hero h1,
  .page-hero h1,
  .shop-hero h1,
  .commerce-page-header h1,
  .page-entry-header h1,
  .blog-archive__header h1,
  .article-header__title,
  .empty-state h1,
  .empty-state h2,
  .cart-empty h1,
  .cart-empty h2,
  .wishlist-empty h2,
  .single-product .product_title,
  .locations-section--siblings .section-heading h2,
  .locations-section--compact .section-heading h2,
  .location-page--v2 .location-hero__copy h1,
  .location-page--v2 .location-hero h1,
  .page--editorial .landing-hero__copy h1,
  .page--editorial .landing-hero h1,
  .order-hero .landing-hero__copy h1,
  .about-hero .landing-hero__copy h1,
  .about-hero h1,
  .contact-hero h1,
  .contact-page .page-hero h1,
  .legal-page .page-hero h1,
  .legal-page .entry-header h1,
  .hero-copy h1,
  body.home .hero-copy h1,
  .home .hero-copy h1,
  .landing-hero__copy h1,
  .location-hero__copy h1,
  .wedding-hero__copy h1,
  .landing-hero h1,
  .location-hero h1,
  .wedding-hero h1 {
    max-width: none !important;
    width: 100%;
    inline-size: 100%;
  }
}

/* —— Primary nav / header chrome (must ship in theme-core; was wrongly Woo-only) —— */
/* â€”â€” WP nav menu inside primary drawer/nav â€”â€” */
.primary-nav .primary-menu,
.primary-nav > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2vw, 32px);
  width: 100%;
}

.primary-nav .primary-menu > li {
  position: relative;
  display: block;
  flex: 0 0 auto;
}

.primary-nav .primary-menu > li > a {
  white-space: nowrap;
}

@media (min-width: 980px) and (max-width: 1279px) {
  .primary-nav .primary-menu,
  .primary-nav > ul {
    gap: clamp(6px, 0.9vw, 14px);
  }
}

.primary-nav .menu-item a,
.primary-nav a {
  position: relative;
}

.primary-nav .current-menu-item > a,
.primary-nav a[aria-current="page"] {
  color: var(--accent);
}

.primary-nav .sub-menu {
  list-style: none;
  margin: 0;
  padding: 10px;
  min-width: 240px;
  background: var(--surface-card, var(--surface));
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  z-index: 90;
}

.primary-nav .menu-item-has-children {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.primary-nav .primary-nav__row {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.primary-nav .nav-submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: 2px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  border-radius: 8px;
}

.primary-nav .nav-submenu-toggle span {
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-1px, -1px);
}

.primary-nav .nav-submenu-toggle:focus-visible,
.primary-nav .menu-item-has-children > a:focus-visible,
.primary-nav .sub-menu a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (min-width: 980px) {
  /* Closed submenu must leave the accessibility tree (not opacity-only). */
  .primary-nav .sub-menu {
    display: none;
    position: absolute;
    top: calc(100% - 10px);
    left: 50%;
    transform: translateX(-50%) translateY(0);
    pointer-events: none;
  }

  .primary-nav .sub-menu--columns {
    grid-template-columns: 1fr 1fr;
    min-width: min(420px, 72vw);
    padding: 12px;
    gap: 2px 8px;
  }

  .primary-nav .menu-item-has-children.is-open > .sub-menu,
  .primary-nav .menu-item-has-children:focus-within > .sub-menu {
    display: grid;
    pointer-events: auto;
    z-index: 100;
  }

  .primary-nav .menu-item-has-children.is-open > .nav-submenu-toggle span {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .primary-nav .sub-menu a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 700;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }

  .primary-nav .sub-menu a::after {
    display: none;
  }

  .primary-nav .sub-menu a:hover,
  .primary-nav .sub-menu a:focus-visible {
    background: color-mix(in srgb, var(--accent) 10%, #fff);
    color: var(--accent);
  }
}

@media (max-width: 979px) {
  .primary-nav .primary-menu,
  .primary-nav > ul {
    display: block;
    width: 100%;
  }

  .primary-nav .primary-nav__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2, 10px);
    min-height: 48px;
    border-bottom: 1px solid var(--line);
  }

  .primary-nav .menu-item-has-children > .primary-nav__row > a {
    flex: 1 1 auto;
    min-width: 0;
    border-bottom: 0 !important;
  }

  .primary-nav .menu-item-has-children > .primary-nav__row > .nav-submenu-toggle {
    position: static;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin: 0;
  }

  .primary-nav .nav-submenu-toggle span {
    display: block;
  }

  .primary-nav .sub-menu {
    display: none;
    position: static;
    margin: 0 0 8px;
    padding: 0 0 0 12px;
    border: 0;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
  }

  .primary-nav .menu-item-has-children.is-open > .sub-menu {
    display: block;
  }

  .primary-nav .menu-item-has-children.is-open > .nav-submenu-toggle span {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .primary-nav .sub-menu a {
    min-height: 46px;
    font-size: 1rem;
    font-weight: 650;
    color: var(--muted);
    border-bottom: 1px solid var(--line);
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
    padding-block: 10px;
  }

  .primary-nav .sub-menu a::after {
    display: none;
  }
}

.wishlist-count,
.cart-count,
.action-count {
  position: absolute;
  right: 0;
  top: 0;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  padding-inline: 3px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: .58rem;
  font-weight: 800;
}

.nav-backdrop:not(.is-visible):not([hidden]) {
  opacity: 0;
  pointer-events: none;
}

.nav-backdrop.is-visible,
.nav-backdrop:not([hidden]) {
  opacity: 1;
}

.menu-icon,
.close-icon,
.menu-open-icon,
.menu-close-icon {
  display: grid;
  place-items: center;
}

.menu-toggle .close-icon,
.menu-toggle .menu-close-icon {
  display: none;
}

.menu-toggle[aria-expanded="true"] .menu-icon,
.menu-toggle[aria-expanded="true"] .menu-open-icon {
  display: none;
}

.menu-toggle[aria-expanded="true"] .close-icon,
.menu-toggle[aria-expanded="true"] .menu-close-icon {
  display: grid;
}

.icon-button svg,
.btn svg,
.quick-cart svg,
.product-details-link svg,
.wishlist-button svg,
.product-wishlist svg,
.single-wishlist svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ------------------------------------------------------------------ */
/* 404 error state — typography-first, shared header/footer/actions   */
/* ------------------------------------------------------------------ */

.error-404-main {
  display: block;
}

.error-404 {
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

.error-404__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 40rem;
  margin-inline: auto;
  text-align: left;
}

.error-404__code {
  margin: 0 0 0.35rem;
  font-family: var(--font-display, inherit);
  font-size: clamp(3.25rem, 12vw, 5.5rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.04em;
  color: var(--color-accent-decorative, var(--accent, #b8953d));
  opacity: 0.42;
  user-select: none;
  pointer-events: none;
}

.error-404__title {
  margin: 0 0 0.75rem;
  max-inline-size: none;
  width: 100%;
  color: var(--ink, var(--color-text));
  font-size: clamp(1.65rem, 4.2vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  .error-404__title {
    max-inline-size: 18ch;
  }

  .error-404__inner {
    align-items: center;
    text-align: center;
  }

  .error-404__actions {
    justify-content: center;
  }

  .error-404__tertiary {
    text-align: center;
    width: 100%;
  }
}

.error-404__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  color: var(--muted, var(--color-text-muted));
  font-size: 1.05rem;
  line-height: 1.55;
}

.error-404__actions {
  margin: 0;
  width: 100%;
}

.error-404__actions .btn {
  min-height: var(--action-height, 44px);
  min-width: 9.5rem;
  justify-content: center;
}

.error-404__tertiary {
  margin: 1.15rem 0 0;
}

.error-404__contact {
  color: var(--button-tertiary-text, var(--muted));
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.error-404__contact:hover,
.error-404__contact:focus-visible {
  color: var(--button-tertiary-hover, var(--ink));
}

@media (max-width: 479px) {
  .error-404__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .error-404__actions .btn {
    width: 100%;
  }
}


/* =========================================================
   V10 FINAL MOBILE / TABLET LAYER
   Loaded after styles.css so no legacy rule can override it.
   ========================================================= */

:root{
  /* Aliases kept for existing selectors; values owned by curated-base tokens */
  --v10-mobile-gutter:var(--mobile-gutter,16px);
  --v10-header-height:var(--mobile-header-height,64px);
  --v10-bottom-height:var(--mobile-bottom-nav-height,72px);
  --v10-radius:var(--mobile-radius,18px);
  --v10-control-height:var(--mobile-control-height,46px);
  /* Shared mobile content clearance under fixed bottom nav */
  --mobile-content-pad-bottom:calc(
    var(--mobile-bottom-nav-height, 72px)
    + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))
    + 28px
  );
}

html{
  overflow-x:clip;
}

body,
main,
section,
header,
footer{
  min-width:0;
  max-width:100%;
}

img,
input,
textarea,
select,
button{
  max-width:100%;
}

@media(max-width:979px){
  html{
    scroll-padding-top:calc(var(--v10-header-height) + 12px);
    scroll-padding-bottom:var(--mobile-content-pad-bottom);
  }

  body{
    overflow-x:clip;
    /* ONE authoritative bottom-nav reserve (height + safe-area + breathing room). */
    padding-bottom:var(--mobile-content-pad-bottom) !important;
  }

  body.single-product{
    /* PDP keeps bottom nav; sticky Kup teraz removed — no dual chrome reserve */
    padding-bottom:var(--mobile-content-pad-bottom) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received){
    --checkout-section-gap:var(--space-3,14px);
    padding-bottom:calc(24px + var(--mobile-safe-bottom)) !important;
  }

  /* Cart mirrors checkout: no bottom-nav reserve once nav is suppressed. */
  body.woocommerce-cart{
    padding-bottom:calc(24px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))) !important;
  }

  body.woocommerce-cart .woocommerce-cart-form__cart-item,
  body.woocommerce-cart .quantity-stepper,
  body.woocommerce-cart .quantity,
  body.woocommerce-cart a.remove,
  body.woocommerce-cart .checkout-button{
    scroll-margin-bottom:calc(24px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)));
  }

  /* Footer uses body pad for nav clearance — avoid double giant bottom void */
  .site-footer{
    padding-bottom:var(--section-space-md, 1.25rem) !important;
  }

  .site-footer .footer-bottom{
    padding-bottom:0.5rem;
    /* Keep legal/copyright above fixed nav interaction band */
    margin-bottom:0;
  }

  .site-footer .footer-bottom a,
  .site-footer .footer-bottom .button-link{
    display:inline-block;
    min-height:44px;
    padding-block:12px;
    line-height:1.2;
  }

  /* Column footer links (M3): meet ≥24 / prefer ~44 row height */
  .site-footer .footer-links a,
  .site-footer .footer-main nav > a,
  .site-footer .footer-contact a,
  .site-footer .footer-contact__global a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding-block:10px;
    line-height:1.25;
    box-sizing:border-box;
  }

  .site-footer .footer-contact p strong a{
    min-height:44px;
  }

  .site-footer .footer-contact__global{
    display:grid;
    gap:2px;
    margin:10px 0 0;
  }

  .site-footer .footer-contact__global-label{
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted,#6c6669);
  }

  .site-notifications{
    top:calc(var(--safe-top,0px) + var(--v10-header-height,64px) + 10px);
    right:var(--v10-mobile-gutter,16px);
    left:var(--v10-mobile-gutter,16px);
    width:auto;
    max-width:none;
    transform:none;
  }

  body.admin-bar .site-notifications{
    top:calc(var(--wp-admin--admin-bar--height, 46px) + var(--safe-top,0px) + var(--v10-header-height,64px) + 10px);
  }

  .site-notification{
    width:100%;
  }

  body.admin-bar .site-header{
    top: 0;
  }

  body.admin-bar .primary-nav{
    padding-top:calc(var(--wp-admin--admin-bar--height, 46px) + var(--v10-header-height) + var(--safe-top,0px) + 28px)!important;
  }

  @media (prefers-reduced-motion: reduce) {
    .primary-nav{
      transition:none!important;
    }
  }

  /*
   * Scroll lock: freeze body in place without scrolling to top.
   * Drawer lives in [data-nav-overlay-host] (outside .site-header), so
   * position:fixed on body does not trap the drawer under backdrop-filter.
   */
	/* Cancel mid-flight smooth scrolls so lock captures the real offset. */
	html.is-locked{
		overflow:hidden;
		overscroll-behavior:none;
		scroll-behavior:auto!important;
	}

  body.is-locked{
    position:fixed;
    left:0;
    right:0;
    width:100%;
    overflow:hidden;
    overscroll-behavior:none;
    touch-action:none;
  }

  .container,
  .breadcrumbs{
    width:calc(100% - (var(--v10-mobile-gutter) * 2))!important;
    max-width:760px!important;
    margin-inline:auto!important;
  }

  /* Header */
  .topbar{
    display:none!important;
  }

  .site-header{
    position:sticky;
    top:0;
    z-index:var(--z-header,40);
    min-height:var(--v10-header-height);
    background:color-mix(in srgb,var(--paper) 96%,transparent)!important;
    border-bottom:1px solid var(--line);
    box-shadow:0 8px 28px rgba(45,35,40,.055);
    backdrop-filter:blur(18px);
  }

  /*
   * Drawer mounts into [data-nav-overlay-host] on mobile (see global.js).
   * Viewport-fixed panel — never a sticky-header descendant.
   * While open: raise header above drawer chrome; drop backdrop-filter so
   * it cannot recreate a fixed containing block for any leftovers.
   */
  body.menu-open .site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:calc(var(--z-drawer,90) + 1);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.admin-bar.menu-open .site-header{
    top: 0;
  }

  .nav-overlay-host{
    display:contents;
  }

  .navbar,
  .nav-inner{
    min-height:var(--v10-header-height)!important;
  }

  .nav-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    padding-block:6px!important;
  }

  .nav-inner>.brand{
    grid-column:1!important;
    justify-self:start!important;
    max-width:190px;
    gap:8px;
  }

  .brand-logo{
    max-height:34px;
  }

  .header-actions{
    grid-column:2!important;
    display:flex!important;
    align-items:center;
    gap:0!important;
  }

  .header-actions .icon-button{
    width:44px!important;
    height:44px!important;
    min-width:44px;
    min-height:44px;
  }

  /* Cart + wishlist live in bottom nav on mobile */
  .header-actions > .cart-link,
  .header-actions > [data-cart-global],
  .header-actions > .wishlist-link,
  .header-actions > [data-wishlist-global]{
    display:none!important;
  }

  .menu-toggle{
    display:grid!important;
    order:-1;
    position:relative;
    z-index:2;
  }

  /* Drawer — full viewport panel */
  .primary-nav{
    position:fixed!important;
    z-index:var(--z-drawer,90)!important;
    inset:0 auto 0 0!important;
    width:min(88vw,360px)!important;
    height:100dvh;
    height:100svh;
    max-height:100dvh;
    display:flex!important;
    flex-direction:column;
    align-items:stretch!important;
    gap:0!important;
    padding:calc(var(--v10-header-height) + var(--safe-top,0px) + 28px) 24px calc(32px + var(--mobile-safe-bottom))!important;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    background:var(--surface)!important;
    border-right:1px solid var(--line);
    box-shadow:24px 0 70px rgba(45,35,40,.14);
    transform:translateX(-105%)!important;
    transition:transform .16s ease;
    opacity:1;
    pointer-events:none;
    visibility:hidden;
  }

  .primary-nav.is-open{
    transform:translateX(0)!important;
    pointer-events:auto;
    visibility:visible;
  }

  .primary-nav::before{
    content:"MENU";
    margin-bottom:20px;
    color:var(--accent);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.18em;
  }

  .primary-nav::after{
    content:"eKrasnale · Wrocław";
    margin-top:auto;
    padding-top:24px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.72rem;
  }

  .primary-nav a{
    min-height:48px!important;
    display:flex!important;
    align-items:center;
    padding:0!important;
    border-bottom:1px solid var(--line)!important;
    color:var(--ink);
    font-size:1.05rem;
    font-weight:700;
  }

  .primary-nav a::after{
    display:none!important;
  }

  .primary-nav a[aria-current="page"]{
    color:var(--accent);
  }

  .nav-backdrop{
    position:fixed;
    z-index:var(--z-drawer-backdrop,80);
    inset:0;
    background:rgba(28,26,28,.42)!important;
    backdrop-filter:none;
    opacity:1;
  }

  /* Search dialog */
  .search-dialog{
    z-index:var(--z-modal,100);
    padding:calc(var(--v10-header-height) + 24px) var(--v10-mobile-gutter) 28px!important;
  }

  .search-form{
    width:100%!important;
    margin-top:3vh!important;
    padding:0!important;
  }

  .search-form>label{
    font-size:clamp(2.6rem,12vw,4rem)!important;
  }

  .search-form>div{
    grid-template-columns:1fr!important;
  }

  .search-form input,
  .search-form .btn{
    width:100%;
    min-height:48px;
    font-size:16px;
  }

  /* General mobile rhythm */
  .section{
    padding-block:72px!important;
  }

  .section-heading,
  .section-heading-center{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 34px!important;
    padding:0!important;
    text-align:left!important;
    justify-items:start!important;
  }

  .section-heading h2,
  .section-heading-center h2{
    max-width:none!important;
    width:100%!important;
    inline-size:100%!important;
    font-size:clamp(2.35rem,10.5vw,3.55rem)!important;
    line-height:.98!important;
  }

  .section-heading>p:not(.eyebrow),
  .section-heading-center>p:last-child{
    max-width:36rem!important;
    line-height:1.62;
  }

  /* Hero */
  .hero-section{
    min-height:0!important;
    padding:28px 0 52px!important;
  }

  .hero-grid{
    width:calc(100% - (var(--v10-mobile-gutter) * 2))!important;
    max-width:760px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
    align-items:stretch!important;
    margin-inline:auto!important;
  }

  .hero-copy{
    order:1!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:26px 20px 28px!important;
    transform:none!important;
  }

  .hero-copy::before{
    margin-bottom:15px!important;
  }

  .hero-copy h1{
    max-width:none!important;
    width:100%!important;
    inline-size:100%!important;
    margin:0!important;
    font-size:clamp(3rem,13.5vw,4.15rem)!important;
    line-height:.91!important;
    letter-spacing:-.05em!important;
    overflow-wrap:normal;
    word-break:normal;
  }

  .hero-copy h1 em{
    display:inline!important;
    margin:0!important;
    line-height:.95!important;
  }

  .hero-lead{
    max-width:34rem!important;
    margin-top:17px!important;
    font-size:.97rem;
    line-height:1.62;
  }

  .hero-buttons{
    gap:10px!important;
    margin-top:21px!important;
  }

  .hero-buttons .btn{
    min-height:var(--v10-control-height);
  }

  .hero-meta{
    gap:7px!important;
    margin-top:20px!important;
    border:0!important;
  }

  .hero-meta span{
    margin:0!important;
    padding:7px 9px!important;
    border:1px solid var(--line)!important;
    border-radius:999px!important;
    font-size:.62rem;
  }

  .hero-art{
    order:2!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:4/5!important;
    transform:none!important;
  }

  .hero-image-frame{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border-radius:var(--v10-radius)!important;
    transform:none!important;
  }

  .hero-image-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .hero-product-label{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    min-width:0!important;
    padding:13px 14px!important;
    border-radius:12px!important;
    transform:none!important;
  }

  .hero-decoration{
    display:none!important;
  }

  /* Trust strip */
  .trust-section{
    margin:0!important;
    padding:0 0 40px!important;
  }

  .trust-grid{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding:2px var(--v10-mobile-gutter) 12px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .trust-grid::-webkit-scrollbar{
    display:none;
  }

  .trust-grid article{
    flex:0 0 min(86%,330px)!important;
    min-height:82px!important;
    padding:18px!important;
    border:1px solid var(--line)!important;
    border-radius:14px!important;
    background:var(--surface)!important;
    scroll-snap-align:start;
    box-shadow:0 10px 28px rgba(55,43,48,.05);
  }

  /* Product cards: vertical on phones */
  .products-section .products-grid,
  .related-section .products-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }

  .products-section .product-card,
  .related-section .product-card,
  .related.products .product-card,
  .upsells.products .product-card,
  ul.products .product-card,
  li.product.product-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    margin:0!important;
    transform:none!important;
    border-radius:var(--v10-radius)!important;
  }

  .product-media,
  .product-card-media-wrap{
    width:100%!important;
    min-height:0!important;
    aspect-ratio:var(--product-media-ratio,1/1)!important;
    border-radius:var(--v10-radius) var(--v10-radius) 0 0!important;
  }

  .product-info,
  .product-card-body{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:20px!important;
  }

  .product-title-row{
    min-width:0;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:6px!important;
    align-items:start;
  }

  .product-title-row h3,
  .product-title-row a{
    min-width:0;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .product-title-row h3{
    font-size:1.08rem;
  }

  .product-title-row strong{
    white-space:nowrap;
    justify-self:start;
    max-width:100%;
    overflow-wrap:normal;
  }

  .product-composition{
    display:-webkit-box!important;
    min-height:0!important;
    margin-top:9px!important;
    overflow:hidden;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    font-size:.78rem;
    line-height:1.5;
  }

  .product-actions{
    min-height:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    margin-top:17px!important;
    padding-top:14px!important;
  }

  .product-details-link{
    min-width:0;
    min-height:42px!important;
    padding-block:8px;
  }

  .quick-cart{
    min-width:104px;
    min-height:42px!important;
    justify-content:center;
    padding-inline:14px!important;
  }

  .product-photo-size{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
  }

  /* Featured */
  .featured-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
    border-radius:var(--v10-radius)!important;
  }

  .featured-copy{
    order:1!important;
    padding:28px 20px!important;
  }

  .featured-media{
    order:2!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/5!important;
    border-radius:0!important;
    clip-path:none!important;
  }

  .featured-data{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:22px 0!important;
  }

  .featured-data span{
    min-height:0!important;
    padding:12px 14px!important;
  }

  /* Why */
  .why-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:10px!important;
  }

  .why-card{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:0!important;
    padding:20px!important;
    transform:none!important;
  }

  .why-visual{
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:360px!important;
    border-radius:var(--v10-radius)!important;
    transform:none!important;
  }

  /* Collections */
  .collection-section .mood-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }

  .collection-section .mood-card{
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    min-width:0!important;
    min-height:132px!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    border-radius:16px!important;
    transform:none!important;
  }

  .collection-section .mood-media{
    width:104px!important;
    height:100%!important;
    min-height:116px!important;
    aspect-ratio:auto!important;
    border-radius:12px!important;
  }

  .collection-section .mood-copy{
    min-width:0!important;
    min-height:0!important;
    align-self:center;
    padding:16px 38px 14px 14px!important;
  }

  .collection-section .mood-copy small{
    overflow-wrap:break-word;
    word-break:normal;
  }

  .collection-section .mood-copy b{
    top:15px!important;
    right:7px!important;
  }

  /* Testimonial */
  .testimonial-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
  }

  .testimonial-art{
    min-height:0!important;
    aspect-ratio:4/5;
    border-radius:var(--v10-radius)!important;
    transform:none!important;
  }

  .testimonial-copy{
    padding:4px 0 0!important;
  }

  /* Locations */
  .locations-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }

  .location-card{
    display:block!important;
    grid-template-columns:1fr!important;
    margin:0!important;
    border-radius:var(--v10-radius)!important;
    transform:none!important;
  }

  .location-card .location-map{
    width:100%;
    height:226px!important;
    min-height:226px!important;
  }

  .location-content{
    padding:24px 20px!important;
  }

  .location-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .location-actions .btn{
    width:100%;
  }

  /* Footer — content padding only; bottom-nav reserve lives on body once. */
  .site-footer{
    padding:56px 0 var(--space-6, 32px)!important;
  }

  .footer-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
  }

  .footer-bottom{
    display:grid!important;
    justify-content:start!important;
    gap:5px!important;
  }

  /* Homepage bottom navigation — 3 destinations */
  .mobile-bottom-nav{
    z-index:var(--z-bottom-nav,50)!important;
    min-height:calc(var(--mobile-bottom-nav-height) + var(--mobile-safe-bottom));
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:6px 4px calc(6px + var(--mobile-safe-bottom))!important;
    background:color-mix(in srgb,var(--surface) 95%,transparent)!important;
    border-top:1px solid var(--line)!important;
    box-shadow:0 -14px 38px rgba(51,40,45,.09);
    backdrop-filter:blur(20px);
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .mobile-bottom-nav{
    display:none!important;
  }

  body.woocommerce-cart .mobile-bottom-nav{
    display:none!important;
  }

  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    min-width:0!important;
    min-height:58px!important;
    gap:4px!important;
    border-radius:10px!important;
    color:var(--muted)!important;
    font-size:.65rem!important;
  }

  .mobile-bottom-nav a[aria-current="page"]{
    position:relative;
    color:var(--accent)!important;
    background:transparent!important;
  }

  .mobile-bottom-nav a[aria-current="page"]::before{
    content:"";
    position:absolute;
    left:50%;
    top:1px;
    width:20px;
    height:2px;
    border-radius:999px;
    background:var(--accent);
    transform:translateX(-50%);
  }

  .mobile-bottom-nav span>.icon{
    width:1.22rem!important;
    height:1.22rem!important;
  }

  /* Product page */
  .breadcrumbs{
    padding-block:14px!important;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .breadcrumbs::-webkit-scrollbar{
    display:none;
  }

  .product-hero{
    padding:8px 0 50px!important;
  }

  .product-layout{
    width:calc(100% - (var(--v10-mobile-gutter) * 2))!important;
    max-width:760px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
    margin-inline:auto!important;
  }

  .product-gallery{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .product-gallery-main{
    width:100%!important;
    min-width:0!important;
    aspect-ratio:4/5!important;
    border-radius:var(--v10-radius)!important;
  }

  .gallery-thumbnails{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .gallery-thumbnails button{
    min-width:0!important;
    border-radius:10px!important;
  }

  .product-summary{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:25px 18px 27px!important;
    /* Keep title clear of the absolute wishlist control. */
    padding-right:calc(14px + 44px + 10px)!important;
    border:1px solid var(--line)!important;
    border-radius:var(--v10-radius)!important;
    background:var(--surface)!important;
    box-shadow:0 14px 38px rgba(54,43,47,.065)!important;
    overflow:visible!important;
  }

  .product-summary::before{
    margin-bottom:14px!important;
  }

  .product-summary .eyebrow{
    max-width:100%;
    margin-bottom:12px!important;
    font-size:.61rem!important;
    letter-spacing:.12em!important;
    line-height:1.5;
    overflow-wrap:break-word;
  }

  .product-summary h1{
    max-width:100%!important;
    font-size:clamp(2rem,9vw,2.85rem)!important;
    line-height:1.05!important;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .product-price{
    margin-top:12px!important;
    font-size:1.35rem!important;
  }

  .product-short-description{
    max-width:100%;
    margin-top:17px!important;
    font-size:.93rem;
    line-height:1.62;
    overflow-wrap:break-word;
  }

  .product-form{
    width:100%;
    min-width:0;
    gap:18px!important;
    margin-top:24px!important;
    padding-top:0!important;
  }

  .product-form fieldset,
  .message-field{
    min-width:0;
    width:100%;
  }

  .size-selector legend{
    align-items:flex-start;
    gap:8px;
    font-size:.74rem!important;
  }

  .size-selector legend span{
    max-width:48%;
    text-align:right;
  }

  .size-selector>div{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .size-selector label{
    min-width:0;
  }

  .size-selector label span{
    min-width:0!important;
    min-height:54px!important;
    padding:7px 3px!important;
  }

  .message-field textarea,
  .review-form textarea,
  .review-form input{
    width:100%!important;
    min-width:0!important;
    font-size:16px!important;
  }

  .message-field textarea{
    min-height:108px!important;
  }

  /* Purchase actions row (CTAs only; qty + price sit above) */
  .purchase-row[data-purchase-row],
  .single-product form.cart .purchase-row{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }

  .purchase-row .purchase-actions.action-group,
  .single-product form.cart .purchase-row .purchase-actions.action-group{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;
    gap:var(--mobile-action-gap,8px)!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }

  .single-product form.cart .quantity,
  .single-product form.cart .quantity-stepper,
  .single-product form.cart [data-quantity-stepper]{
    width:144px!important;
    max-width:144px;
    grid-template-columns:44px minmax(48px, 1fr) 44px;
    min-height:var(--mobile-control-height)!important;
  }

  .purchase-price{
    width:100%;
    margin:2px 0 6px!important;
  }

  .purchase-row .ekrasnale-buy-now,
  .purchase-row .btn-buy-now,
  .purchase-row .single_add_to_cart_button,
  .purchase-row .add-to-cart-main,
  .single-product form.cart .purchase-row .ekrasnale-buy-now,
  .single-product form.cart .purchase-row .single_add_to_cart_button{
    width:100%!important;
    min-width:0!important;
    min-height:var(--mobile-control-height)!important;
    height:var(--mobile-control-height)!important;
    padding-inline:8px!important;
    border-radius:var(--action-radius,999px)!important;
    font-size:.76rem!important;
    white-space:nowrap;
    line-height:1.1;
  }

  .single-product .summary .product-wishlist,
  .single-product .single-wishlist,
  .single-product .product-summary-wishlist{
    top:14px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }

  .products .product-card-actions .btn-buy-now,
  .products .product-card-actions .buy-now-form,
  .products .product-card-actions .buy-now-form .button,
  .products .buy-now-quick .btn-buy-now,
  .products .product-card-actions .product-details-link{
    width:100%!important;
    flex:none!important;
    max-width:100%!important;
  }

  .wishlist-product-card .product-wishlist,
  .product-card-media-wrap .product-wishlist,
  .product-card .product-wishlist{
    position:absolute!important;
    right:8px!important;
    top:8px!important;
    width:38px!important;
    height:38px!important;
    min-height:0!important;
    border-radius:50%!important;
  }

  .product-assurances{
    margin-top:22px!important;
  }

  .product-assurances>div{
    min-height:0!important;
    margin:0 0 8px!important;
    padding:15px!important;
    border:0!important;
    border-radius:12px!important;
    background:var(--paper)!important;
  }

  .product-assurances strong{
    line-height:1.35;
  }

  .product-assurances small{
    line-height:1.48;
  }

  /* Product details */
  .product-editorial{
    padding-block:48px!important;
  }

  .product-editorial-stack,
  .product-editorial-grid{
    width:calc(100% - (var(--v10-mobile-gutter) * 2))!important;
    max-width:760px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
    margin-inline:auto!important;
  }

  .editorial-card{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:27px 20px!important;
    border-radius:var(--v10-radius)!important;
  }

  .editorial-card-story{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
  }

  .editorial-card-story figure{
    aspect-ratio:4/3!important;
    border-radius:12px!important;
  }

  .review-fields{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .rating-input{
    flex-wrap:wrap;
  }

  /* Product sticky CTA DISABLED on mobile (MOB-PDP-CHROME-STACK-01).
   * Model: in-flow ATC primary + Kup teraz secondary + bottom nav.
   * No second fixed purchase bar competing with bottom nav.
   */
  .product-sticky-bar,
  .product-sticky-bar.is-visible,
  .product-sticky-bar.is-suppressed{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
    transform:none!important;
  }

  /* Purchase hierarchy: ATC = primary, Kup teraz = secondary outline */
  .purchase-row .single_add_to_cart_button,
  .purchase-row .add-to-cart-main,
  .single-product form.cart .purchase-row .single_add_to_cart_button{
    order:2;
    background:var(--action-primary-bg,var(--accent))!important;
    border-color:var(--action-primary-bg,var(--accent))!important;
    color:var(--action-primary-text,#fff)!important;
    font-weight:800!important;
  }

  .purchase-row .ekrasnale-buy-now,
  .purchase-row .btn-buy-now,
  .single-product form.cart .purchase-row .ekrasnale-buy-now{
    order:1;
    background:transparent!important;
    border:1px solid var(--line-strong)!important;
    color:var(--ink)!important;
    font-weight:700!important;
  }

  /* Compact catalog hero — products sooner */
  .page--commerce .shop-hero.page-hero--compact,
  .shop-hero.page-hero--compact{
    padding:10px 0 12px!important;
  }

  .page--commerce .shop-hero h1,
  .shop-hero h1{
    font-size:clamp(1.35rem,5.2vw,1.7rem)!important;
    line-height:1.15!important;
  }

  .page--commerce .shop-hero .eyebrow,
  .shop-hero .eyebrow{
    margin-bottom:4px!important;
  }

  .shop-hero__context,
  .shop-hero [data-catalog-subtitle]{
    margin:6px 0 0!important;
    font-size:.9rem!important;
    line-height:1.35!important;
  }

  .shop-section{
    padding-top:0!important;
  }

  .shop-container{
    gap:10px!important;
  }

  .breadcrumbs{
    margin-bottom:4px!important;
  }

  .site-footer a,
  .site-footer .footer-bottom{
    scroll-margin-bottom:calc(12px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)));
  }

  /* Hide fixed navigation while the mobile keyboard is open */
  html.is-mobile-keyboard-open .mobile-bottom-nav,
  html.is-mobile-keyboard-open .product-sticky-bar{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(110%)!important;
  }

  /* Legacy .gallery-lightbox stub removed — see .ek-gallery-lightbox in product-gallery.css */
}

/* Narrow phones */
@media(max-width:374px){
  :root{
    --v10-mobile-gutter:14px;
    --mobile-gutter:14px;
  }

  .nav-inner>.brand{
    max-width:116px;
  }

  .brand-logo{
    max-height:28px;
  }

  /* 320: CTAs stay side-by-side; qty + price remain stacked above */
  .purchase-row[data-purchase-row],
  .single-product form.cart .purchase-row{
    display:block!important;
  }

  .purchase-row .purchase-actions.action-group,
  .single-product form.cart .purchase-row .purchase-actions.action-group{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }

  .hero-copy{
    padding:23px 17px 25px!important;
  }

  .hero-copy h1{
    font-size:clamp(2.8rem,13.5vw,3.5rem)!important;
  }

  .hero-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .hero-buttons .btn,
  .hero-buttons .text-link{
    width:100%!important;
    justify-content:center;
  }

  .product-info{
    padding:17px!important;
  }

  .product-title-row{
    grid-template-columns:1fr!important;
  }

  .product-actions,
  .product-card-actions:not(.product-card-actions--v2){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    max-width:280px;
  }

  .product-card-actions--v2{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(108px,1fr)!important;
    gap:12px!important;
    max-width:none!important;
  }

  .product-card-actions--v2:has(> :only-child),
  .product-card-actions--v2:has(.product-details-link--solo){
    grid-template-columns:1fr!important;
  }

  .product-card-actions .btn-buy-now,
  .product-card-actions .buy-now-form .button,
  .product-card-actions .buy-now-form,
  .product-card-actions .buy-now-quick,
  .product-card-actions .product-details-link{
    width:100%!important;
    flex:none!important;
  }

  .product-card-actions .product-details-link,
  .product-card-actions .product-details-link--text{
    width:100%!important;
    min-height:44px!important;
    height:44px!important;
    padding:0 10px!important;
    border:1px solid var(--button-secondary-border, var(--ink))!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--ink)!important;
    text-decoration:none!important;
    font-size:.78rem!important;
    font-weight:700!important;
  }

  @media (max-width:359px){
    .product-card-actions--v2{
      grid-template-columns:1fr!important;
    }
  }

  @media (max-width:379px){
    .product-card-actions:not(.product-card-actions--v2){
      grid-template-columns:1fr!important;
      max-width:none;
    }
  }

  .quick-cart{
    width:auto!important;
  }

  .collection-section .mood-card{
    grid-template-columns:92px minmax(0,1fr)!important;
  }

  .collection-section .mood-media{
    width:92px!important;
  }

  .location-actions{
    grid-template-columns:1fr!important;
  }

  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    font-size:.6rem!important;
  }

  .product-sticky-bar button{
    padding-inline:12px!important;
    font-size:.74rem;
  }
}

/* Tablets */
@media(min-width:640px) and (max-width:979px){
  :root{
    --v10-mobile-gutter:28px;
  }

  .product-title-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  .product-title-row strong{
    justify-self:end;
    text-align:right;
    white-space:normal;
  }

  .products-section .products-grid,
  .related-section .products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px!important;
  }

  .product-card{
    display:flex!important;
    flex-direction:column!important;
  }

  .product-info{
    min-height:250px!important;
  }

  .collection-section .mood-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .collection-section .mood-card{
    grid-template-columns:1fr!important;
  }

  .collection-section .mood-media{
    width:100%!important;
    min-height:0!important;
    aspect-ratio:4/5!important;
  }

  .why-layout{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .why-visual{
    grid-column:1/-1!important;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .product-layout,
  .product-editorial-grid{
    max-width:720px!important;
  }

  .product-summary{
    padding:32px 28px!important;
  }

  .editorial-card{
    padding:32px 28px!important;
  }
}

/* Wide tablet: professional two-column hero without crowding */
@media(min-width:840px) and (max-width:979px){
  .hero-grid{
    max-width:900px!important;
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
    gap:22px!important;
    align-items:center!important;
  }

  .hero-copy,
  .hero-art{
    order:initial!important;
  }

  .hero-copy h1{
    font-size:clamp(3.35rem,6vw,4.35rem)!important;
  }

  .hero-art{
    aspect-ratio:4/5!important;
  }
}

/* Touch devices: remove hover motion */
@media(hover:none){
  .product-card:hover,
  .mood-card:hover,
  .btn:hover{
    transform:none!important;
  }
}


@media(max-width:979px){
  .hero-section{background:var(--paper,#F7F6F1)!important}
  .hero-copy{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .product-summary{
    border:0!important;
    border-radius:22px!important;
    box-shadow:0 16px 44px rgba(72,95,87,.09)!important;
  }
}


@media(max-width:979px){
  body.is-locked .mobile-bottom-nav,
  body.is-locked .product-sticky-bar{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(110%)!important;
  }
}

/* Contact page — functional density on small screens */
@media (max-width: 639px) {
  .contact-page .contact-info-panel,
  .contact-page .contact-form-panel {
    padding: 20px;
  }

  .contact-page .contact-info-panel h2,
  .contact-page .form-heading h2,
  .contact-page .contact-success h2 {
    font-size: clamp(1.7rem, 7vw, 2.05rem);
    line-height: 1.1;
  }

  .contact-form .btn {
    width: 100%;
  }

  .date-picker__popover {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 899px) {
  :root {
    --font-hero-h1: clamp(3.15rem, 14vw, 4.35rem);
    --font-editorial-h1: clamp(2rem, 7.5vw, 2.65rem);
  }

  .landing-hero h1,
  .location-hero h1,
  .wedding-hero h1,
  .wedding-hero__copy h1 {
    max-width: min(12ch, 100%);
    font-size: clamp(3.15rem, 14vw, 4.35rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
    text-align: left;
  }

  .page--editorial .landing-hero h1,
  .page--editorial .landing-hero__copy h1,
  .order-hero .landing-hero__copy h1,
  .about-hero h1,
  .about-hero .landing-hero__copy h1,
  .contact-hero h1 {
    max-width: min(18ch, 100%);
    font-size: var(--font-editorial-h1);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .landing-hero__media,
  .location-hero__media,
  .wedding-hero__media,
  .about-hero .landing-hero__media {
    max-height: min(52vh, 420px);
    width: 100%;
    aspect-ratio: 4 / 5;
  }

  .landing-hero__actions,
  .location-hero .hero-actions,
  .wedding-hero .hero-actions,
  .about-hero .hero-actions {
    justify-content: flex-start;
  }
}

@media (max-height: 480px) and (orientation: landscape) {
  .landing-hero__media,
  .location-hero__media,
  .wedding-hero__media {
    max-height: min(52vh, 280px);
    aspect-ratio: 4 / 3;
    width: min(100%, 360px);
  }
}

@media (max-width: 979px) {
  .wishlist-page .wishlist-empty h2 {
    font-size: clamp(1.55rem, 6.5vw, 1.9rem);
  }

  .wishlist-page .wishlist-section {
    padding-block: clamp(28px, 7vw, 40px);
  }

  .article-header__title {
    max-width: none;
  }

  .article-card__meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .blog-archive__header {
    padding-block: 24px 28px;
  }

  /* Contact privacy — full-row tap target */
  .contact-form label.checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 44px;
    padding: 8px 0;
    font-size: 1rem;
    line-height: 1.45;
  }

  .contact-form label.checkbox input {
    width: 22px;
    height: 22px;
    margin-top: 2px;
    flex: none;
  }

  /* Cart / checkout titles — avoid false overflow from collapsed measure */
  .woocommerce-cart .entry-title,
  .woocommerce-checkout .entry-title,
  .woocommerce-cart h1,
  .woocommerce-checkout h1,
  .cart-empty h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  /* ========== M2 HOME DENSITY (MOB-HOME-LENGTH-01) ========== */
  body.home .hero-section,
  .home .hero-section{
    padding:18px 0 28px!important;
  }

  body.home .hero-grid,
  .home .hero-grid{
    gap:14px!important;
  }

  body.home .hero-copy,
  .home .hero-copy{
    padding:18px 16px 16px!important;
  }

  body.home .hero-copy h1,
  .home .hero-copy h1{
    max-width:none!important;
    width:100%!important;
    inline-size:100%!important;
    font-size:clamp(2.35rem,11vw,3.1rem)!important;
    line-height:.94!important;
  }

  body.home .hero-lead,
  .home .hero-lead{
    margin-top:10px!important;
    font-size:.92rem!important;
    line-height:1.45!important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  body.home .hero-buttons,
  .home .hero-buttons{
    margin-top:14px!important;
  }

  body.home .hero-meta,
  .home .hero-meta{
    display:none!important;
    margin:0!important;
  }

  body.home .hero-decoration,
  .home .hero-decoration,
  body.home .hero-art .sparkle,
  .home .hero-art .sparkle{
    display:none!important;
  }

  body.home .hero-copy::after,
  .home .hero-copy::after{
    content:none!important;
    display:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  body.home .hero-buttons,
  .home .hero-buttons{
    margin-top:22px!important;
  }

  body.home .hero-art,
  .home .hero-art{
    aspect-ratio:1/1!important;
    max-height:min(42vh,320px)!important;
  }

  body.home .products-section,
  .home .products-section,
  body.home .why-section,
  .home .why-section,
  body.home .collection-section,
  .home .collection-section,
  body.home .cta-band,
  .home .cta-band,
  body.home .locations-section,
  .home .locations-section{
    padding-block:28px!important;
  }

  body.home .products-section .section-heading,
  .home .products-section .section-heading,
  body.home .why-section .section-heading,
  .home .why-section .section-heading,
  body.home .collection-section .section-heading,
  .home .collection-section .section-heading{
    margin-bottom:14px!important;
    gap:6px!important;
  }

  body.home .products-section .section-heading p:not(.eyebrow),
  .home .products-section .section-heading p:not(.eyebrow){
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:.9rem!important;
  }

  /* Mobile preview: 4 of 8 popular cards; desktop unchanged */
  body.home .products-section ul.products > li.product:nth-child(n+5),
  .home .products-section ul.products > li.product:nth-child(n+5){
    display:none!important;
  }

  body.home .products-section ul.products,
  .home .products-section ul.products{
    gap:14px!important;
  }

  body.home .products-section .product-card-media-wrap,
  .home .products-section .product-card-media-wrap,
  body.home .products-section .product-media,
  .home .products-section .product-media{
    aspect-ratio:1/1!important;
    max-height:none;
  }

  body.home .products-section .product-card,
  .home .products-section .product-card{
    gap:10px!important;
  }

  body.home .section-action,
  .home .section-action{
    margin-top:16px!important;
  }

  /* Why: keep strongest 3 benefit cards on mobile */
  body.home .why-section .why-card:nth-child(n+4),
  .home .why-section .why-card:nth-child(n+4){
    display:none!important;
  }

  body.home .why-layout,
  .home .why-layout{
    gap:10px!important;
  }

  body.home .why-card,
  .home .why-card{
    padding:14px 16px!important;
  }

  body.home .why-card p,
  .home .why-card p{
    font-size:.88rem!important;
    line-height:1.4!important;
  }

  body.home .why-visual,
  .home .why-visual{
    display:none!important;
  }

  body.home .collection-section .mood-card,
  .home .collection-section .mood-card{
    min-height:108px!important;
    grid-template-columns:88px minmax(0,1fr)!important;
  }

  body.home .collection-section .mood-media,
  .home .collection-section .mood-media{
    width:88px!important;
    min-height:92px!important;
  }

  body.home .collection-section .mood-copy,
  .home .collection-section .mood-copy{
    padding:10px 28px 10px 12px!important;
  }

  body.home .locations-section,
  .home .locations-section{
    padding-block:24px!important;
  }

  body.home .locations-section .location-card,
  .home .locations-section .locations-grid--v2 > *,
  .home .locations-grid--v2{
    gap:10px!important;
  }

  body.home .cta-band--compact,
  .home .cta-band--compact{
    padding-block:22px!important;
  }
}

/* Short phones: keep primary CTA in the first fold without a multi-screen hero */
@media (max-width: 979px) and (max-height: 740px) {
  .hero-section {
    padding: 18px 0 28px !important;
  }

  .hero-grid {
    gap: 14px !important;
  }

  .hero-copy {
    padding: 20px 16px 18px !important;
  }

  .hero-copy h1 {
    font-size: clamp(2.55rem, 11.5vw, 3.35rem) !important;
  }

  .hero-lead {
    margin-top: 10px !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
  }

  .hero-buttons {
    margin-top: 14px !important;
  }

  .hero-meta {
    margin-top: 12px !important;
  }

  .hero-meta span {
    padding: 6px 9px !important;
  }

  .hero-art {
    aspect-ratio: 1 / 1;
    max-height: min(46vh, 360px);
    width: 100%;
    justify-self: center;
  }
}

@media (max-width: 979px) and (max-height: 600px) {
  .hero-lead {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .hero-meta {
    display: none !important;
  }

  .hero-art {
    max-height: min(38vh, 280px);
  }
}

/* —— M3 final: article pacing + card meta targets —— */
@media (max-width: 839px) {
  .article-content img,
  .article-content .wp-block-image img {
    max-height: min(62vh, 420px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
  }

  .product-kicker a {
    display: inline-block;
    min-height: 24px;
    padding: 6px 0;
    line-height: 1.35;
    box-sizing: border-box;
  }
}

.ekrasnale-toc {
  margin: 0 0 1.5rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--ink, #1c1a1c) 12%, transparent);
  border-radius: var(--radius-sm, 12px);
  background: color-mix(in srgb, var(--surface-alt, #f2ece5) 55%, var(--paper, #fbf8f3));
}

.ekrasnale-toc__summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  font-size: 1rem;
  padding: 14px 16px;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.ekrasnale-toc__summary::-webkit-details-marker {
  display: none;
}

.ekrasnale-toc__nav {
  padding: 0 8px 12px;
}

.ekrasnale-toc__nav ul,
.ekrasnale-toc__nav ol {
  margin: 0;
  padding-left: 1.15rem;
}

.ekrasnale-toc__nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding-block: 6px;
}

.ekrasnale-article-mid-cta {
  margin: 1.75rem 0;
  padding: 1.1rem 1.15rem;
  border-radius: var(--radius-sm, 12px);
  background: color-mix(in srgb, var(--gold, #c4a35a) 12%, var(--paper, #fbf8f3));
  border: 1px solid color-mix(in srgb, var(--gold, #c4a35a) 28%, transparent);
}

.ekrasnale-article-mid-cta__lead {
  margin: 0 0 0.75rem;
  font-size: 0.98rem;
  line-height: 1.45;
}

.ekrasnale-article-mid-cta__actions {
  margin: 0;
}

.ekrasnale-article-mid-cta .btn {
  min-height: 44px;
}

@media (min-width: 840px) {
  .ekrasnale-toc[open],
  .ekrasnale-toc {
    /* Desktop: prefer open — set via progressive enhancement in template */
  }
}

