/* ============================================================
   TREE ART — public mode
   Customer-facing layouts and branded components.
   Shared tokens and base components live in design-system.css.
   ============================================================ */

h1,h2,h3{line-height:1.04}
.eyebrow{letter-spacing:.22em}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:50px;padding:0 26px;border-radius:var(--r-btn);
  font-family:var(--sans);font-weight:800;font-size:14.5px;letter-spacing:.01em;
  border:1px solid transparent;transition:.22s ease;white-space:nowrap;
}
.btn.primary{background:var(--green);color:#fff;box-shadow:0 12px 26px rgba(75,87,69,.22)}
.btn.primary:hover{background:var(--green2);transform:translateY(-1px)}
.btn.secondary{background:var(--card);color:var(--text);border-color:var(--border)}
.btn.secondary:hover{border-color:var(--green);color:var(--green)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn.ghost:hover{background:var(--soft)}
.btn.block{width:100%}
.btn.lg{min-height:56px;padding:0 32px;font-size:15.5px}

/* ============================================================
   HEADER
   ============================================================ */
.top{
  position:sticky;top:0;z-index:40;
  background:rgba(247,244,239,.82);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid rgba(230,222,210,.7);
}
.navrow{display:flex;align-items:center;gap:32px;height:78px}
.brand{display:flex;align-items:center;gap:13px}
.logo-badge{
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  flex-shrink:0;
  border-radius:50%;
}
.logo-badge img{
  width:82%;
  height:82%;
  object-fit:contain;
  display:block;
}
.logo-badge--on-light{
  background:var(--text);
}
.logo-badge--on-light img{
  filter:invert(1);
}
.logo-badge--on-dark{
  background:var(--paper);
}
.logo-badge--on-dark img{
  filter:none;
}
.logo-badge--header{
  width:52px;
  height:52px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.logo-badge--header img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}
.logo-badge--large{
  width:96px;
  height:96px;
  position:relative;
  margin-bottom:auto;
}
.brand-name{display:flex;flex-direction:column;line-height:1.05}
.brand-name b{font-family:var(--sans);font-weight:800;font-size:17px;letter-spacing:.28em}
.brand-name span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav a,.nav-link{
  font-size:14.5px;font-weight:600;color:var(--text);position:relative;padding:4px 0;
  transition:.2s;white-space:nowrap;
}
.nav-link{border:0;background:transparent;font-family:var(--sans);cursor:pointer}
.nav a::after,.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--green);transition:right .25s ease}
.nav a:hover,.nav-link:hover{color:var(--green)}
.nav a:hover::after,.nav a.active::after,.nav-link:hover::after,.nav-link.active::after{right:0}
.nav a.active,.nav-link.active{color:var(--green)}
.nav-item{position:relative}
.nav-mega-toggle{display:inline-flex;align-items:center;gap:6px}
.nav-mega-toggle::before{content:"";position:absolute;inset:-16px -10px}
.nav-mega-toggle::after{bottom:-2px}
.nav-mega-toggle[aria-expanded="true"]{color:var(--green)}
.mega-menu{
  position:fixed;top:78px;left:50%;width:min(780px,calc(100vw - 32px));
  max-height:calc(100dvh - 96px);overflow:auto;
  transform:translateX(-50%);z-index:60;background:linear-gradient(135deg,rgba(255,254,251,.99),rgba(244,239,231,.97));
  border:1px solid rgba(215,207,195,.9);border-radius:24px;box-shadow:0 28px 90px rgba(45,45,42,.18),inset 0 1px 0 rgba(255,255,255,.72);
  padding:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.mega-menu[hidden]{display:none}
.mega-menu::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.mega-showcase{display:grid;gap:18px}
.mega-showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.mega-showcase-head h3{font-size:30px;line-height:1;margin:0}
.mega-kicker{
  display:block;margin-bottom:12px;color:var(--green);font-size:11px;font-weight:900;
  letter-spacing:.16em;text-transform:uppercase;
}
.mega-tabs{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px;
  border:1px solid rgba(215,207,195,.82);
  border-radius:var(--r-pill);
  background:rgba(255,254,251,.72);
  flex-shrink:0;
  box-shadow:0 10px 26px rgba(45,45,42,.06);
}
.mega-tab{
  height:38px;
  padding:0 16px 0 13px;
  border:1px solid transparent;
  border-radius:var(--r-pill);
  background:transparent;
  color:var(--green);
  font:inherit;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.mega-tab::before{
  content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.72;
}
.mega-tab[data-mega-tab="rooms"]{color:#8a553d}
.mega-tab:hover{background:rgba(255,254,251,.8);border-color:rgba(101,113,95,.24)}
.mega-tab[data-mega-tab="rooms"]:hover{border-color:rgba(138,85,61,.26)}
.mega-tab.active{background:rgba(101,113,95,.12);border-color:rgba(101,113,95,.28);color:var(--green2);box-shadow:0 8px 18px rgba(75,87,69,.1)}
.mega-tab[data-mega-tab="rooms"].active{background:rgba(138,85,61,.13);border-color:rgba(138,85,61,.28);color:#7c4934;box-shadow:0 8px 18px rgba(138,85,61,.1)}
.mega-panel[hidden]{display:none}
/* Локальний guard [hidden] (2026-07-27) — той самий патерн, що вже діє для
   .mega-menu / .mega-panel / #product .product-detail. Без нього display:flex
   із .mega-tabs перебиває правило UA-стилів, і перемикач вкладок лишався б на
   екрані вже без другої вкладки. Ховаємо саме контейнер, а не кнопку кімнат:
   tablist із однією вкладкою — це не перемикач. */
.mega-tabs[hidden]{display:none}
.mega-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mega-list--showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
.mega-list a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:54px;
  padding:12px 14px;border-radius:16px;color:var(--text);font-size:14px;font-weight:850;
  background:var(--card);border:1px solid var(--border);transition:.2s;
}
.mega-list a::after{display:none}
.mega-list a:hover,.mega-list a.active{background:var(--soft);border-color:rgba(101,113,95,.4);color:var(--green);transform:translateY(-1px)}
.mega-list a span{color:var(--muted);font-size:12px;font-weight:800}
.mega-showcase-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:16px;
  border-top:1px solid var(--border);
}
.mega-showcase-foot p{color:var(--muted);font-size:14px;line-height:1.45}
.mega-showcase-foot .btn{min-height:46px;padding:0 20px}
.mega-showcase-foot .btn.primary,
.mega-showcase-foot .btn.primary:hover,
.mega-showcase-foot .btn.primary.active{
  color:#fff;
}
.mega-showcase-foot .btn.primary::after{display:none}
.cart-link{display:inline-flex;align-items:center;gap:7px}
.cart-ico{
  width:20px;height:20px;border:1.8px solid currentColor;border-radius:5px 5px 7px 7px;
  display:inline-flex;align-items:center;justify-content:center;font-size:0;position:relative;
}
.cart-ico::before{content:"";position:absolute;width:9px;height:5px;border:1.8px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0;top:-7px;left:50%;transform:translateX(-50%)}
.nav-actions{display:flex;align-items:center;gap:14px}
.icon{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--border);
  display:grid;place-items:center;font-size:19px;color:var(--text);background:var(--card);transition:.2s;
}
.icon:hover{border-color:var(--green);color:var(--green)}
.search-toggle[aria-expanded="true"]{border-color:var(--green);color:var(--green)}
.nav-search-panel{
  border-top:1px solid rgba(230,222,210,.7);background:rgba(255,254,251,.96);
  box-shadow:0 18px 40px rgba(45,45,42,.08);
}
.nav-search-panel[hidden]{display:none}
.nav-search-inner{display:flex;align-items:flex-end;gap:14px;padding-top:16px;padding-bottom:16px}
.nav-search-field{display:grid;gap:6px;flex:1}
.nav-search-field span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:800}
.nav-search-field input,.mobile-search input{
  width:100%;height:48px;border:1px solid var(--border);border-radius:14px;background:var(--card);
  color:var(--text);font:inherit;font-size:14px;padding:0 15px;outline:none;
}
.nav-search-field input:focus,.mobile-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(101,113,95,.12)}
.nav-search-field{position:relative}
.mobile-search{position:relative}
.smart-search-suggestions{
  position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:130;
  display:grid;gap:6px;padding:8px;border:1px solid var(--border);border-radius:18px;
  background:var(--card);box-shadow:0 22px 60px rgba(45,45,42,.14);
}
.smart-search-suggestions[hidden]{display:none}
.mobile-search .smart-search-suggestions{grid-column:1/-1;top:calc(100% + 8px)}
.filters{position:relative}
.filters .smart-search-suggestions{position:relative;top:auto;margin-top:-6px;box-shadow:var(--soft-shadow)}
.smart-search-item{
  border:1px solid transparent;background:transparent;border-radius:14px;padding:11px 12px;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;text-align:left;color:var(--text);cursor:pointer;
}
.smart-search-item:hover,.smart-search-item:focus{outline:none;background:var(--soft);border-color:rgba(101,113,95,.24)}
.smart-search-kind{
  grid-row:1/3;align-self:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--green);
  background:rgba(101,113,95,.09);border-radius:999px;padding:6px 8px;
}
.smart-search-item strong{min-width:0;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smart-search-item small{min-width:0;color:var(--muted);font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-menu-toggle{display:none}
.mobile-menu{position:fixed;inset:0;z-index:90}
.mobile-menu[hidden]{display:none}
.mobile-menu-backdrop{position:absolute;inset:0;background:rgba(45,45,42,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.mobile-menu-panel{
  position:absolute;top:0;right:0;width:min(420px,92vw);height:100%;background:var(--paper);
  box-shadow:-28px 0 80px rgba(45,45,42,.22);padding:18px;display:flex;flex-direction:column;gap:18px;
  overflow:auto;
}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.mobile-menu-close{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--card);
  color:var(--text);font-size:28px;line-height:1;
}
.mobile-search{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}
.mobile-search button{
  border:1px solid var(--border);border-radius:14px;background:var(--green);color:#fff;font-size:18px;
}
.mobile-menu-links{display:grid;gap:4px}
.mobile-menu-links a,.mobile-menu-links summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px;
  color:var(--text);font-size:15px;font-weight:800;border-bottom:1px solid rgba(230,222,210,.75);
}
.mobile-menu-links a.active{color:var(--green)}
.mobile-menu-links details{border-bottom:1px solid rgba(230,222,210,.75)}
.mobile-menu-links details > summary{border-bottom:0;cursor:pointer;list-style:none}
.mobile-menu-links details > summary::-webkit-details-marker{display:none}
.mobile-menu-links details > summary::after{content:"+";color:var(--green);font-size:20px}
.mobile-menu-links details[open] > summary::after{content:"−"}
.mobile-menu-group{display:grid;gap:4px;padding:0 0 12px 12px}
.mobile-menu-group a{padding:9px 0;border-bottom:0;color:var(--muted);font-size:14px}
.mobile-auth-slot{margin-top:auto}
.mobile-auth-slot .auth-slot{display:flex}

/* ============================================================
   PAGES / SECTIONS
   ============================================================ */
.page{display:none;padding:54px 0 90px}
.page.active{display:block;animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes taSoftRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes taHeroSettle{from{transform:scale(1.018)}to{transform:scale(1)}}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}
.section-head h1,.section-head h2{margin-bottom:10px}


/* Legal pages */
.legal-page .section-head{
  max-width:920px;
}
.legal-page .section-head h1{
  font-size:clamp(42px,4.8vw,60px);
  line-height:1.06;
}
.legal-page .section-head .subtle{
  max-width:760px;
}
.legal-card{
  padding:34px 40px;
}
.legal-card h2{
  font-size:clamp(28px,3vw,40px);
  line-height:1.08;
  margin:0 0 10px;
}
.legal-card p{
  font-size:18px;
  line-height:1.58;
  color:var(--muted);
  margin:0 0 24px;
}
.legal-card p:last-child{margin-bottom:0}
.legal-card h2:not(:first-child){margin-top:26px}


@media(max-width:680px){
  .legal-page .section-head h1{font-size:clamp(36px,10vw,44px)}
  .legal-card{padding:24px 18px}
  .legal-card h2{font-size:clamp(25px,7vw,32px);line-height:1.1}
  .legal-card p{font-size:16px;line-height:1.52;margin-bottom:20px}
  .legal-card h2:not(:first-child){margin-top:22px}
}

/* ============================================================
   HERO  (3 variants via [data-hero])
   ============================================================ */
.hero{padding-top:34px}
.banner{position:relative;overflow:hidden;border-radius:var(--r-banner);box-shadow:var(--shadow)}
.banner img{width:100%;height:auto;display:block}
.banner picture{display:block}
.banner .mobile-banner{display:none}
#home.active .banner{animation:taSoftRise .7s ease both}
#home.active .banner img{animation:taHeroSettle 1.2s ease both}

/* ---- Hero callout: single positioned box + a virtual %/cqw grid ----
   (owner spec, 2026-07-22). One element (.hero-callout) is placed with
   absolute left/top/width in % of .banner (which is aspect-ratio-locked
   below, so top/height math can be expressed in cqw too — see the
   0.5625 = 900/1600 conversion factor in each top/margin value's
   comment). Everything INSIDE it is a normal flex-column flow (icon-
   note stays where the owner placed it: after the button, not before
   H1 — confirmed explicitly, not the generic icon-first template).
   Sizes use cqw (of .hero-inner, container-type:inline-size below) so
   the whole block scales 1:1 with the photo at any width — never a
   fixed px offset fighting a %-based parent. Desktop-only
   (min-width:761px); mobile (<=760px) keeps its own block further down,
   unchanged in appearance from before this rework. */
@media(min-width:761px){
  .hero-inner{position:relative;container-type:inline-size}

  .banner{aspect-ratio:1600/900}
  .banner picture .desktop-banner{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  }

  /* Contrast scrim over the wall (left) side of the photo — a soft
     fade in the page's own cream tone, no card/plate behind the text
     (owner point 8). */
  .banner::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,
      rgba(247,244,239,.88) 0%, rgba(247,244,239,.55) 32%, rgba(247,244,239,0) 58%);
  }

  .hero-callout{
    position:absolute;z-index:2;
    left:2%;
    /* Clamped, not bare cqw: near 761px a narrower column forces the
       lead paragraph to wrap an extra line — a lower floor here (plus
       the tighter gaps/note below) keeps the whole column inside a
       short (aspect-locked) banner instead of overflowing past its
       bottom edge, where overflow:hidden would silently clip the note
       (confirmed live at exactly 761px before this fix). */
    top:clamp(48px,13.1cqw,130px);
    width:clamp(300px,44cqw,620px);
    padding-left:5cqw; /* = 7% of banner width, matches the note's own offset below */
    display:flex;flex-direction:column;align-items:flex-start;
  }
  #home.active .hero-callout{animation:taSoftRise .6s ease .12s both}

  .hero-callout h1{
    font-size:clamp(26px,3.55cqw,50px);
    line-height:1.18;
    margin-bottom:clamp(12px,2.7cqw,26px);
  }
  .hero-callout-lead{
    color:var(--text);opacity:.78;
    font-size:clamp(14px,1.25cqw,17px);
    line-height:1.6;
    margin-bottom:clamp(12px,2.7cqw,26px);
    max-width:44ch;
  }
  .hero-callout-actions{
    display:flex;flex-direction:column;align-items:stretch;gap:14px;
    width:clamp(200px,25.7cqw,320px);
    margin-left:2cqw;
  }
  .hero-callout-actions .btn{justify-content:space-between;min-height:52px;padding:0 22px;font-size:15px}
  .hero-callout-actions .btn .btn-arrow{font-size:18px;line-height:1}
  .hero-callout-actions .btn.secondary{
    background:rgba(255,255,255,.22);border-color:rgba(45,45,42,.25);
  }
  .hero-callout-actions .btn.secondary:hover{
    background:rgba(255,255,255,.5);border-color:var(--green);color:var(--green);
  }

  .hero-callout-note{
    display:flex;align-items:center;gap:12px;
    margin-top:clamp(14px,3.7cqw,36px);
    margin-left:-5cqw; /* cancels the callout's own padding-left, flush with its box edge */
  }
  .hero-callout-note-icon{
    display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:999px;
    border:1.5px solid var(--border);color:var(--muted);
  }
  .hero-callout-note-text{display:flex;flex-direction:column;gap:0}
  .hero-callout-note-text b{font-size:15px;font-weight:600;color:var(--text);opacity:.85;line-height:1.3}
  .hero-callout-note-text small{color:var(--text);opacity:.65;font-size:14px}
}

/* Narrow-desktop tuning (761-1060px): the aspect-ratio-locked banner is
   short enough here that the approved wide-desktop rhythm (top offset,
   gaps) plus an extra wrapped lead-paragraph line together overflow the
   banner's bottom edge — confirmed live at exactly 761px (the note
   silently clipped by .banner's overflow:hidden). A wider column
   (fewer lead line-wraps) and a tighter vertical rhythm fix it without
   touching the already-approved layout from 921px up. */
@media(min-width:761px) and (max-width:1060px){
  .hero-callout{top:56px;width:min(50cqw,380px)}
  .hero-callout h1{margin-bottom:14px}
  .hero-callout-lead{margin-bottom:14px}
  .hero-callout-note{margin-top:14px}
}

/* Shelf-niche backlight ignite (owner request 2026-07-22): a warm LED
   strip along the seam where the open shelf meets the wardrobe.
   Two-layer core+bloom build (owner correction, same day: a single
   wide/blurred 5%-wide box read as a blurry blob, "not premium" — real
   LED strips are a thin bright line with a soft spill around it, not
   one fat smear). .banner-shelf-glow itself IS the thin core box now
   (was the full 5% box); ::before renders that core crisp, ::after
   widens far past it (negative left/right %, relative to the core
   box's own width since it's the containing block) for the ambient
   spill, blurred much more and dimmer so it reads as bounce light
   rather than a second copy of the line. Positioned as a % box over
   the desktop crop; repositioned for the mobile crop below (different
   aspect/composition). */
/* Owner requests, 2026-07-22, applied against the 1108×623px desktop
   banner at the time: right +7px,+7px,+15px, then left -7px
   (+0.63%,+0.63%,+1.35%,-0.63%) → 59%→59.6%→60.2%→61.55%→60.92%;
   down +10px,+10px (+1.6% each) → 15%→16.6%→18.2%; core line width
   halved 1.2%→0.6%. */
.banner-shelf-glow{
  position:absolute;z-index:1;pointer-events:none;
  left:60.92%;top:18.2%;width:.6%;height:68%;
  mix-blend-mode:screen;
}
.banner-shelf-glow::before,
.banner-shelf-glow::after{
  content:"";position:absolute;top:0;bottom:0;
  background:linear-gradient(180deg,
    rgba(255,197,130,.62) 0%, rgba(255,197,130,.12) 14%,
    rgba(255,197,130,.12) 24%, rgba(255,197,130,.58) 32%,
    rgba(255,197,130,.12) 40%, rgba(255,197,130,.12) 50%,
    rgba(255,197,130,.58) 58%, rgba(255,197,130,.12) 66%,
    rgba(255,197,130,.12) 76%, rgba(255,197,130,.58) 84%, rgba(255,197,130,.12) 96%);
  opacity:0;
}
.banner-shelf-glow::before{left:0;right:0;filter:blur(1.5px)}
.banner-shelf-glow::after{left:-340%;right:-340%;filter:blur(22px)}
/* Fully off at the bottom of every cycle, looping forever (owner
   correction 2026-07-22: the earlier two-layer version never fully
   went dark — this does). Core/bloom peaks tuned down twice more the
   same day (.55→.85→.68 desktop, then "ще на 20%" plus the
   line/blob rework above) — bloom stays well under the core's peak
   throughout so it reads as spill, not a second light source. */
#home.active .banner-shelf-glow::before{animation:taShelfPulseCore 1.8s ease-in-out .7s infinite}
#home.active .banner-shelf-glow::after{animation:taShelfPulseBloom 1.8s ease-in-out .7s infinite}
@keyframes taShelfPulseCore{
  0%{opacity:0}
  50%{opacity:.85}
  100%{opacity:0}
}
@keyframes taShelfPulseBloom{
  0%{opacity:0}
  50%{opacity:.38}
  100%{opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .banner-shelf-glow::before,
  .banner-shelf-glow::after{animation:none!important;opacity:.4}
}
/* Desktop-only, dimmed twice (owner requests, 2026-07-22: -20%, then
   "ще на 20%" — .85×.8×.8 = .544, rounded; bloom scaled the same
   proportion). Mobile keeps the .85/.38 peaks above. */
@media(min-width:761px){
  #home.active .banner-shelf-glow::before{animation-name:taShelfPulseCoreDesktop}
  #home.active .banner-shelf-glow::after{animation-name:taShelfPulseBloomDesktop}
}
/* Core line +20% (owner request, 2026-07-22): .54×1.2=.648, rounded
   .65 — bloom (::after) left untouched, request was for the line only. */
@keyframes taShelfPulseCoreDesktop{
  0%{opacity:0}
  50%{opacity:.65}
  100%{opacity:0}
}
@keyframes taShelfPulseBloomDesktop{
  0%{opacity:0}
  50%{opacity:.24}
  100%{opacity:0}
}

/* ---- Benefits ---- */
/* repeat(2,1fr): only 2 cards left after removing the "Готові моделі" /
   "10–20 робочих днів" tiles (owner request, 2026-07-22 — both
   duplicated info now already in the hero banner text). Was
   repeat(4,1fr) for 4 cards; 2 cards in a 4-column grid would sit
   pinned left with an empty gap on the right. */
.benefits{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:56px;
}
.benefit{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  min-height:172px;padding:22px 24px 24px;box-shadow:var(--soft-shadow);transition:.25s;
  display:flex;flex-direction:column;align-items:flex-start;
}
.benefit:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.benefit-icon{
  width:36px;height:36px;border-radius:13px;background:#eef1ea;color:var(--green);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:26px;flex:0 0 auto;transition:transform .25s ease,background .25s ease;
}
.benefit:hover .benefit-icon{background:#e6ebdf;transform:translateY(-2px) rotate(-2deg)}
.benefit-icon svg{width:18px;height:18px}
.benefit strong{display:block;font-size:17px;font-weight:800;margin-bottom:12px;line-height:1.22}
.benefit span:not(.benefit-icon){color:var(--muted);font-size:14.5px;line-height:1.55}
#home.active .benefit{animation:taSoftRise .55s ease both}
#home.active .benefit:nth-child(1){animation-delay:.18s}
#home.active .benefit:nth-child(2){animation-delay:.24s}
#home.active .benefit:nth-child(3){animation-delay:.3s}
#home.active .benefit:nth-child(4){animation-delay:.36s}

/* ---- section blocks on home ---- */
.home-block{margin-top:78px}
.catalog-start-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}
.catalog-start-head .subtle{font-size:16px}

/* category tiles */
.category-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.category-tiles a{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--green),var(--green2));
  color:#fff;border-radius:var(--r-card);padding:26px 24px 24px;min-height:128px;
  display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:var(--soft-shadow);transition:.25s;
}
.category-tiles a::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.16),transparent 60%);
}
.category-tiles a:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(75,87,69,.28)}
.category-tiles strong{font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:0;position:relative}
.category-tiles span{font-size:13px;color:rgba(255,255,255,.78);margin-top:4px;position:relative}
.category-tiles .arrow{position:absolute;top:22px;right:22px;opacity:.6;font-size:18px;transition:transform .25s ease,opacity .25s ease}
.category-tiles a:hover .arrow{opacity:1;transform:translateX(4px)}
#home.active .category-tiles a{animation:taSoftRise .55s ease both}
#home.active .category-tiles a:nth-child(1){animation-delay:.08s}
#home.active .category-tiles a:nth-child(2){animation-delay:.14s}
#home.active .category-tiles a:nth-child(3){animation-delay:.2s}
#home.active .category-tiles a:nth-child(4){animation-delay:.26s}

/* photo customization story */
.home-photo-custom{
  display:grid;grid-template-columns:minmax(360px,.95fr) minmax(0,1.25fr);overflow:hidden;
  border-radius:var(--r-banner);background:#282925;box-shadow:var(--shadow);
}
#home.active .home-photo-custom{animation:taSoftRise .65s ease .08s both}
.home-photo-custom-copy{
  display:grid;align-content:center;gap:22px;padding:58px 52px;color:#fff;
}
.home-photo-custom-copy .eyebrow{color:rgba(232,223,210,.78)}
.home-photo-custom-copy h2{color:#fff;font-size:clamp(38px,4vw,58px);line-height:1.08;max-width:10ch}
.home-photo-custom-copy p{margin:0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65;max-width:45ch}
.home-photo-custom-copy ul{display:grid;gap:13px;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.78)}
.home-photo-custom-copy li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.45}
.home-photo-custom-copy li::before{content:"✓";color:var(--beige);font-weight:900;line-height:1.35}
/* fit-content + перенос (не max-content/nowrap): на 901–~1113px цей
   довгий лейбл (≈370px однорядково) був ширшим за копі-колонку
   (minmax 360px), а width:max-content живить grid-трек саме
   однорядковою шириною навіть із дозволеним переносом — кнопка й
   параграф з'їжджали під фото сусідньої media-колонки. */
.home-photo-custom-copy .btn{width:fit-content;max-width:100%;white-space:normal;text-align:center;background:#fff;color:var(--text);border-color:#fff}
.home-photo-custom-copy .btn:hover{background:var(--soft)}
.home-photo-custom-media{position:relative;min-height:460px;background:var(--soft);overflow:hidden}
.home-photo-custom-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.photo-note{
  position:absolute;z-index:2;display:inline-flex;align-items:center;min-height:34px;padding:0 14px;
  border-radius:12px;background:rgba(138,85,61,.94);color:#fff;font-size:13px;font-weight:900;
  box-shadow:0 14px 32px rgba(64,42,32,.18);opacity:0;animation:photoNoteReveal 6.2s ease-in-out infinite;
}
.photo-note-main{top:45%;left:55%}
.photo-note-main::before{content:"";width:13px;height:13px;margin-right:7px;background:currentColor;clip-path:polygon(0 15%,100% 50%,0 85%,25% 50%)}
.photo-note-text{
  display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;
  animation:photoNoteTyping 6.2s steps(24,end) infinite;
}
.photo-mark{
  position:absolute;z-index:1;border:2px dashed rgba(158,91,63,.82);border-radius:22px;
  background:rgba(158,91,63,.05);opacity:0;clip-path:inset(0 100% 100% 0);
  animation:photoMarkDrawLeft 6.2s cubic-bezier(.42,0,.18,1) infinite;
}
.photo-mark-left{left:48%;top:50%;width:30%;height:24%}
.photo-mark-right{right:6%;top:23%;width:17%;height:32%;border-color:rgba(255,255,255,.56);background:rgba(255,255,255,.08);animation-name:photoMarkDrawRight}
.photo-cursor{
  position:absolute;z-index:3;left:14%;top:25%;width:18px;height:18px;color:#fff;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));opacity:0;animation:photoCursorTrace 6.2s cubic-bezier(.42,0,.18,1) infinite;
}
.photo-cursor::before{
  content:"";position:absolute;inset:0;background:currentColor;
  clip-path:polygon(0 0,0 100%,32% 72%,50% 100%,64% 92%,47% 66%,82% 66%);
}
@keyframes photoCursorTrace{
  0%,7%{opacity:0;left:43%;top:47%;transform:translate(0,0) rotate(-8deg)}
  10%{opacity:1;left:48%;top:50%;transform:translate(0,0) rotate(-8deg)}
  26%{opacity:1;left:78%;top:74%;transform:translate(0,0) rotate(-8deg)}
  31%{opacity:1;left:77%;top:23%;transform:translate(0,0) rotate(-8deg)}
  47%{opacity:1;left:94%;top:55%;transform:translate(0,0) rotate(-8deg)}
  56%{opacity:1;left:55%;top:45%;transform:translate(0,0) rotate(-8deg)}
  62%,100%{opacity:0;left:55%;top:45%;transform:translate(0,0) rotate(-8deg)}
}
@keyframes photoMarkDrawLeft{
  0%,9%{opacity:0;clip-path:inset(0 100% 100% 0);transform:scale(.985)}
  10%{opacity:.92;clip-path:inset(0 100% 100% 0);transform:scale(.985)}
  26%,78%{opacity:.92;clip-path:inset(0 0 0 0);transform:scale(1)}
  88%,100%{opacity:0;clip-path:inset(0 0 0 0);transform:scale(1.012)}
}
@keyframes photoMarkDrawRight{
  0%,30%{opacity:0;clip-path:inset(0 100% 100% 0);transform:scale(.985)}
  31%{opacity:.88;clip-path:inset(0 100% 100% 0);transform:scale(.985)}
  47%,78%{opacity:.88;clip-path:inset(0 0 0 0);transform:scale(1)}
  88%,100%{opacity:0;clip-path:inset(0 0 0 0);transform:scale(1.012)}
}
@keyframes photoNoteReveal{
  0%,53%{opacity:0;transform:translateY(6px)}
  59%,82%{opacity:1;transform:translateY(0)}
  90%,100%{opacity:0;transform:translateY(-3px)}
}
@keyframes photoNoteTyping{
  0%,59%{max-width:0}
  76%,84%{max-width:190px}
  92%,100%{max-width:0}
}
@media(prefers-reduced-motion:reduce){
  .photo-note,.photo-mark,.photo-note-text,.photo-cursor{animation:none}
  .photo-note{opacity:1}
  .photo-note-text{max-width:none}
  .photo-mark{opacity:.9;clip-path:inset(0 0 0 0)}
  .photo-cursor{display:none}
  #home.active .banner,
  #home.active .banner img,
  #home.active .hero-callout,
  #home.active .hero-callout-actions .btn,
  #home.active .benefit,
  #home.active .category-tiles a,
  #home.active .home-photo-custom,
  #home.active .home-route,
  #home.active #popularGrid .product-card{
    animation:none;
  }
}

/* home route banner */
.home-route{
  margin-top:78px;display:flex;justify-content:space-between;align-items:center;gap:36px;
  background:var(--text);color:#fff;border-radius:var(--r-banner);padding:44px 48px;
}
.home-route h2{color:#fff;margin-bottom:10px;font-size:clamp(26px,3vw,38px)}
.home-route p{color:rgba(255,255,255,.72);max-width:54ch;font-size:16px}
.home-route .btn.primary{background:#fff;color:var(--text)}
.home-route .btn.primary:hover{background:var(--soft)}
#home.active .home-route{animation:taSoftRise .6s ease .08s both}

/* ============================================================
   PRODUCT GRID + CARDS
   ============================================================ */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid.three{grid-template-columns:repeat(3,1fr)}

.product-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  overflow:hidden;display:flex;flex-direction:column;transition:.28s;box-shadow:var(--soft-shadow);
}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--beige)}
.product-image-wrap{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--soft)}
.product-image{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:var(--soft)}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.product-card:hover .product-image img{transform:scale(1.045)}
.product-wishlist-heart{
  position:absolute;right:13px;bottom:13px;z-index:4;
  width:40px;height:40px;border-radius:999px;border:1px solid rgba(62,73,56,.16);
  background:rgba(255,254,251,.9);color:var(--green);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:22px;line-height:1;font-weight:800;
  box-shadow:0 14px 32px rgba(45,40,31,.16);
  backdrop-filter:blur(7px);cursor:pointer;transition:.22s ease;
}
.product-wishlist-heart:hover,.product-wishlist-heart:focus-visible{
  transform:translateY(-2px) scale(1.04);
  background:#fff;border-color:rgba(62,73,56,.3);
  box-shadow:0 18px 38px rgba(45,40,31,.22);outline:none;
}
.product-wishlist-heart.is-active{
  background:var(--green);color:#fff;border-color:var(--green);
}
.product-wishlist-heart:disabled{opacity:.58;cursor:wait;transform:none}
.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}
#home.active #popularGrid .product-card{animation:taSoftRise .55s ease both}
#home.active #popularGrid .product-card:nth-child(1){animation-delay:.08s}
#home.active #popularGrid .product-card:nth-child(2){animation-delay:.14s}
#home.active #popularGrid .product-card:nth-child(3){animation-delay:.2s}
#home.active #popularGrid .product-card:nth-child(4){animation-delay:.26s}
.badge{
  position:absolute;top:14px;left:14px;z-index:2;
  background:rgba(255,254,251,.92);backdrop-filter:blur(4px);
  color:var(--text);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 13px;border-radius:var(--r-pill);box-shadow:var(--soft-shadow);
}
.product-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.product-body>small{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:700}
.product-body .name{font-family:var(--serif);font-size:23px;font-weight:600;margin:9px 0 8px;line-height:1.12;letter-spacing:0}
.product-body p{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:14px;flex:1}
.product-card-summary{
  display:-webkit-box;
  min-height:63px;
  max-height:63px;
  overflow:hidden;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}
.change-chip{
  align-self:flex-start;font-size:11.5px;color:var(--muted);
  background:var(--soft);border:1px solid var(--border);border-radius:var(--r-pill);
  padding:5px 12px;margin-bottom:15px;
}
.price-line{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}
.price-line .old{color:var(--muted);text-decoration:line-through;font-size:14px}
.price-line strong{font-size:19px;font-weight:800}
.product-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.product-actions .btn{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:0 10px;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.product-actions .cart-card-btn{grid-column:1/-1;justify-self:center;width:min(160px,100%)}

/* ============================================================
   CATALOG FILTERS
   ============================================================ */
.filters{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.search{
  width:100%;height:56px;border:1px solid var(--border);border-radius:var(--r-sm);
  background:var(--card);padding:0 22px;font-family:var(--sans);font-size:15px;color:var(--text);
  box-shadow:var(--soft-shadow);transition:.2s;
}
.search::placeholder{color:var(--muted)}
.search:focus{outline:none;border-color:var(--green)}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
/* Локальний guard [hidden] (2026-07-27): display:flex вище перебиває правило
   UA-стилів, тож без цього рядка прихований ряд пігулок кімнат лишався б на
   екрані. Медіазапит нижче чіпає лише flex-wrap/overflow, тому специфічності
   (0,2,0) досить. */
.pill-row[hidden]{display:none}
.pill{
  height:42px;padding:0 18px;border-radius:var(--r-pill);
  border:1px solid var(--border);background:var(--card);color:var(--muted);
  font-weight:700;font-size:13.5px;transition:.2s;
}
.pill:hover{border-color:var(--green);color:var(--green)}
.pill.active{background:var(--green);border-color:var(--green);color:#fff}
.catalog-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13.5px;margin-bottom:24px}
.catalog-meta #catalogCount{font-weight:700;color:var(--text)}
.empty{grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--card);border-radius:var(--r-card);border:1px solid var(--border)}
.empty h3{margin-bottom:8px}
/* PR 1B: дії порожнього каталогу — центрований ряд, на вузьких екранах
   кнопки стають колонкою на всю ширину. Правила лежать поруч із базовим
   .empty — це всередині catalogCss-зони catalog lock-а, його хеш оновлено
   тим самим комітом (погоджений обсяг 1B: до 3 хешів). */
.catalog-empty-state .subtle{max-width:44ch;margin:0 auto}
.catalog-empty-actions{display:flex;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.catalog-empty-actions .btn{min-width:190px}
@media(max-width:560px){
  .catalog-empty-actions{flex-direction:column;align-items:stretch}
  .catalog-empty-actions .btn{min-width:0}
}

/* ============================================================
   ABOUT
   ============================================================ */
.about-page{padding-top:0}
.about-hero{
  position:relative;
  min-height:calc(100svh - 78px);
  display:flex;
  align-items:center;
  overflow:hidden;
  margin-top:-54px;
  isolation:isolate;
}
.about-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  transform:scale(1.02);
}
.about-hero-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(34,36,31,.82),rgba(34,36,31,.45) 46%,rgba(34,36,31,.08));
}
.about-hero-inner{
  color:#fff;
  display:grid;
  gap:18px;
  align-content:center;
  padding-top:60px;
  padding-bottom:60px;
}
.about-hero .eyebrow{color:rgba(255,255,255,.72)}
.about-hero h1{
  max-width:760px;
  color:#fff;
  font-size:clamp(42px,6.4vw,82px);
  line-height:.92;
  margin:0;
  animation:aboutRise .7s ease both;
}
.about-hero p{
  max-width:620px;
  color:rgba(255,255,255,.82);
  font-size:clamp(17px,1.7vw,22px);
  line-height:1.5;
  margin:0;
  animation:aboutRise .7s ease .08s both;
}
.about-hero-actions{display:flex;gap:12px;flex-wrap:wrap;animation:aboutRise .7s ease .16s both}
.about-hero .btn.secondary{background:rgba(255,254,251,.92);color:var(--text);border-color:rgba(255,255,255,.4)}
@keyframes aboutRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.about-intro{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:48px;
  align-items:start;
  padding:74px 0 40px;
}
.about-intro h2,.about-craft-copy h2,.about-service h2,.about-faq h2,.about-contact h2{
  font-size:clamp(34px,4.2vw,58px);
  line-height:.98;
  margin:0;
}
.about-copy{display:grid;gap:16px;color:var(--muted);font-size:16px;line-height:1.7}
.about-copy p{margin:0}
.about-proof{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  margin:20px 0 74px;
}
.about-proof-item{
  min-height:188px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:9px;
  padding:22px;
  border-left:1px solid var(--border);
  transition:.22s ease;
}
.about-proof-item:first-child{border-left:0}
.about-proof-item:hover{background:var(--soft);transform:translateY(-2px)}
.about-proof-item span{font-family:var(--serif);font-size:42px;line-height:1;color:var(--green2)}
.about-proof-item strong{font-size:15px;font-weight:900;line-height:1.25;color:var(--text);text-transform:uppercase}
.about-proof-item p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45}
.about-material-strip{display:none}
.about-material-copy{
  display:grid;
  gap:14px;
}
.about-material-copy h2{
  margin:0;
  font-size:clamp(34px,3vw,46px);
  line-height:1.02;
}
.about-material-copy p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
.about-material-media{
  overflow:hidden;
  background:var(--soft);
}
.about-material-picture{
  display:block;
}
.about-material-media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
}
.about-craft{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  gap:46px;
  align-items:center;
  padding-bottom:74px;
}
.about-craft-media{
  position:sticky;
  top:102px;
  align-self:start;
  overflow:hidden;
  border-radius:var(--r-banner);
  background:var(--soft);
  box-shadow:var(--shadow);
}
.about-craft-media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.about-craft-media:hover img{transform:none}
.about-craft-copy{display:grid;gap:18px}
.about-craft-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.about-feature-list{
  display:grid;
  gap:12px;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.about-feature-list li{
  position:relative;
  padding-left:28px;
  color:var(--text);
  font-weight:700;
  line-height:1.45;
}
.about-feature-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(101,113,95,.12);
}
.about-service{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  padding:48px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.about-service>div{display:grid;gap:14px;align-content:start}
.about-service p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.about-service dl{display:grid;gap:0;margin:10px 0 0;border-top:1px solid var(--border)}
.about-service dl div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--border)}
.about-service dt{font-weight:900;color:var(--text)}
.about-service dd{margin:0;color:var(--muted);text-align:right;overflow-wrap:anywhere}
.about-faq{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:44px;
  padding:74px 0;
}
.about-faq-list{display:grid;gap:10px}
.about-faq-list details{
  border-bottom:1px solid var(--border);
  padding:0 0 16px;
}
.about-faq-list summary{
  cursor:pointer;
  color:var(--text);
  font-size:18px;
  font-weight:900;
  line-height:1.35;
  list-style:none;
}
.about-faq-list summary::-webkit-details-marker{display:none}
.about-faq-list summary::after{content:"+";float:right;color:var(--green);font-size:24px;line-height:1}
.about-faq-list details[open] summary::after{content:"-"}
.about-faq-list p{margin:10px 0 0;color:var(--muted);line-height:1.65}
.about-contact{
  margin-bottom:20px;
  padding:38px 0 74px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.about-contact p{margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.6;max-width:52ch}
.about-contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.about-contact-content{display:grid;gap:10px;min-width:0}
.about-contact-media{display:none}
.about-contact-media img{width:100%;height:100%;object-fit:cover;display:block}

.faq-page{padding:46px 0 86px;background:linear-gradient(180deg,#fbfaf7 0%,#f4f0e9 100%)}
.faq-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:30px;
  align-items:end;
  padding:52px 0 34px;
  border-bottom:1px solid rgba(44,61,48,.14);
}
.faq-hero-copy{display:grid;gap:14px;max-width:780px}
.faq-hero h1{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(46px,6vw,82px);
  line-height:.94;
  letter-spacing:0;
  color:var(--text);
  animation:aboutRise .7s ease both;
}
.faq-hero p{
  margin:0;
  max-width:60ch;
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
  animation:aboutRise .7s ease .08s both;
}
.faq-hero-aside{
  display:grid;
  gap:9px;
  padding:18px 0 18px 22px;
  border-left:1px solid rgba(44,61,48,.24);
  color:var(--muted);
  animation:aboutRise .7s ease .14s both;
}
.faq-hero-aside span{
  color:var(--green);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.faq-hero-aside strong{color:var(--text);font-size:16px;line-height:1.45}
.faq-prep-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:22px 0 10px;
  border:1px solid rgba(44,61,48,.13);
  border-radius:8px;
  overflow:hidden;
  background:rgba(44,61,48,.10);
}
.faq-prep-row>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 12px;
  align-items:center;
  padding:16px 18px;
  background:rgba(255,254,251,.68);
}
.faq-prep-row strong{color:var(--text);font-size:15px;font-weight:950;line-height:1.2}
.faq-prep-row small{grid-column:2;color:var(--muted);font-size:12.5px;line-height:1.35}
.faq-picto{
  position:relative;
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:inline-grid;
  place-items:center;
  color:var(--green);
  border:1px solid rgba(44,91,64,.22);
  border-radius:50%;
  background:rgba(44,91,64,.07);
}
.faq-picto::before,.faq-picto::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  box-sizing:border-box;
  transform:translate(-50%,-50%);
}
.faq-picto--photo::before{width:16px;height:12px;border:2px solid currentColor;border-radius:3px}
.faq-picto--photo::after{width:5px;height:5px;border:2px solid currentColor;border-radius:50%;background:rgba(255,254,251,.85);transform:translate(1px,-4px)}
.faq-picto--measure::before{width:17px;height:7px;border:2px solid currentColor;border-radius:2px;transform:translate(-50%,-50%) rotate(-18deg)}
.faq-picto--measure::after{width:2px;height:5px;background:currentColor;box-shadow:5px -2px 0 currentColor,10px -3px 0 currentColor;transform:translate(-7px,-2px) rotate(-18deg)}
.faq-picto--model::before,.faq-picto--sets::before{width:15px;height:15px;border:2px solid currentColor;border-radius:3px;box-shadow:6px 6px 0 -2px rgba(44,91,64,.18)}
.faq-picto--order::before{width:14px;height:17px;border:2px solid currentColor;border-radius:3px}
.faq-picto--order::after{width:8px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor;transform:translate(-50%,-6px)}
.faq-picto--quality::before{width:15px;height:15px;border:2px solid currentColor;border-radius:50%}
.faq-picto--quality::after{width:5px;height:5px;background:currentColor;border-radius:50%;box-shadow:0 -8px 0 -1px currentColor,0 8px 0 -1px currentColor,8px 0 0 -1px currentColor,-8px 0 0 -1px currentColor}
.faq-picto--payment::before{width:17px;height:12px;border:2px solid currentColor;border-radius:3px}
.faq-picto--payment::after{width:11px;height:2px;background:currentColor;box-shadow:0 5px 0 rgba(44,91,64,.32);transform:translate(-50%,-3px)}
.faq-picto--delivery::before{width:17px;height:13px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20'%3E%3Cpath d='M2 5.2C2 4.54 2.54 4 3.2 4h12.1c.66 0 1.2.54 1.2 1.2v8.2h-2.15a3.35 3.35 0 0 0-6.5 0H3.2A1.2 1.2 0 0 1 2 12.2v-7zM17.8 7.2h3.25c.4 0 .78.18 1.03.49l3.02 3.74c.2.24.3.55.3.86v1.11h-1.55a3.35 3.35 0 0 0-6.05 0v-6.2zM21.05 8.9H19.4v2.45h3.55L21.05 8.9zM7.6 16.45a2.15 2.15 0 1 1 4.3 0 2.15 2.15 0 0 1-4.3 0zM18.95 16.45a2.15 2.15 0 1 1 4.3 0 2.15 2.15 0 0 1-4.3 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20'%3E%3Cpath d='M2 5.2C2 4.54 2.54 4 3.2 4h12.1c.66 0 1.2.54 1.2 1.2v8.2h-2.15a3.35 3.35 0 0 0-6.5 0H3.2A1.2 1.2 0 0 1 2 12.2v-7zM17.8 7.2h3.25c.4 0 .78.18 1.03.49l3.02 3.74c.2.24.3.55.3.86v1.11h-1.55a3.35 3.35 0 0 0-6.05 0v-6.2zM21.05 8.9H19.4v2.45h3.55L21.05 8.9zM7.6 16.45a2.15 2.15 0 1 1 4.3 0 2.15 2.15 0 0 1-4.3 0zM18.95 16.45a2.15 2.15 0 1 1 4.3 0 2.15 2.15 0 0 1-4.3 0z'/%3E%3C/svg%3E") center/contain no-repeat;transform:translate(-50%,-50%)}
.faq-picto--delivery::after{display:none}
.faq-picto--after::before{width:17px;height:13px;border:2px solid currentColor;border-radius:7px;transform:translate(-50%,-58%)}
.faq-picto--after::after{width:6px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-6px,5px) skewX(-18deg)}
.faq-layout{
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:44px;
  padding:34px 0 0;
}
.faq-topics{
  position:sticky;
  top:96px;
  align-self:start;
  display:grid;
  gap:8px;
  padding:12px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,254,251,.45);
}
.faq-topics a{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
  font-weight:850;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:999px;
  transition:color .18s ease,transform .18s ease,background .18s ease,border-color .18s ease;
}
.faq-topics .faq-picto{width:24px;height:24px;flex-basis:24px}
.faq-topics a:hover,
.faq-topics a.is-active{
  color:var(--green);
  transform:translateX(4px);
  background:rgba(44,91,64,.07);
  border-color:rgba(44,91,64,.12);
}
.faq-groups{display:grid;gap:42px}
.faq-group{
  scroll-margin-top:96px;
  display:grid;
  grid-template-columns:minmax(210px,300px) minmax(0,1fr);
  gap:30px;
  padding:24px 24px 36px;
  border-bottom:1px solid rgba(44,61,48,.12);
  border-radius:8px;
  background:linear-gradient(90deg,rgba(255,254,251,.52),rgba(255,254,251,.18));
}
.faq-group:last-child{border-bottom:0}
.faq-group-head{display:grid;gap:12px;align-content:start}
.faq-group-num{
  width:max-content;
  color:var(--green);
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
}
.faq-group-title{
  display:grid;
  gap:14px;
  align-content:start;
}
.faq-group-title .faq-picto{
  width:46px;
  height:46px;
  border-color:rgba(44,91,64,.24);
  background:rgba(44,91,64,.08);
}
.faq-group-title h2{
  margin:0;
  max-width:12.5ch;
  font-family:var(--serif);
  color:var(--text);
  font-size:32px;
  line-height:1.02;
  letter-spacing:0;
}
.faq-list{display:grid;gap:10px}
.faq-list details{
  border-top:1px solid rgba(44,61,48,.16);
  padding:0;
  background:transparent;
}
.faq-list details:last-child{border-bottom:1px solid rgba(44,61,48,.16)}
.faq-list summary{
  position:relative;
  display:block;
  cursor:pointer;
  padding:18px 38px 18px 0;
  color:var(--text);
  font-weight:900;
  line-height:1.35;
  list-style:none;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  top:15px;
  right:0;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(44,91,64,.09);
  color:var(--green);
  font-size:21px;
  line-height:1;
  transition:transform .2s ease,background .2s ease;
}
.faq-list details[open] summary::after{content:"-";background:var(--green);color:#fff;transform:rotate(180deg)}
.faq-list p{
  margin:0;
  padding:0 42px 19px 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
  max-width:72ch;
}
.faq-list details[open] p{animation:aboutRise .32s ease both}
.faq-cta{
  margin-top:54px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:30px 0 0;
  border-top:1px solid rgba(44,61,48,.16);
}
.faq-cta h2{
  margin:6px 0 0;
  font-family:var(--serif);
  font-size:36px;
  line-height:1.05;
  color:var(--text);
}
.faq-cta p{margin:9px 0 0;color:var(--muted);line-height:1.6;max-width:54ch}
.faq-cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.contacts-page{padding:30px 0 76px;background:linear-gradient(180deg,#fbfaf7 0%,#f5f1ea 100%)}
.contacts-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,460px);
  gap:30px;
  align-items:end;
  padding:36px 0 24px;
  border-bottom:1px solid rgba(44,61,48,.14);
}
.contacts-hero-copy{display:grid;gap:14px;max-width:760px}
.contacts-hero h1{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(48px,6.5vw,88px);
  line-height:.94;
  letter-spacing:0;
  color:var(--text);
  animation:aboutRise .7s ease both;
}
.contacts-hero p{
  margin:0;
  max-width:54ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.5;
  animation:aboutRise .7s ease .08s both;
}
.contacts-main-card{
  display:grid;
  gap:9px;
  padding:18px 0 18px 24px;
  border-left:1px solid rgba(44,61,48,.22);
  animation:aboutRise .7s ease .14s both;
}
.contacts-main-link{
  color:var(--text);
  font-size:20px;
  font-weight:950;
  line-height:1.18;
  text-decoration:none;
}
.contacts-main-link--phone{font-family:var(--serif);font-size:34px;font-weight:700}
.contacts-main-link:hover{color:var(--green)}
.contacts-main-card span{color:var(--muted);font-size:13.5px;line-height:1.45}
.contacts-main-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:7px;
}
.contacts-main-actions a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(44,91,64,.18);
  border-radius:999px;
  background:rgba(44,91,64,.07);
  color:var(--green);
  font-size:13px;
  font-weight:900;
  text-decoration:none;
}
.contacts-main-actions a:hover{background:rgba(44,91,64,.12)}
.contacts-scenarios{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:18px 0 34px;
  border:1px solid rgba(44,61,48,.13);
  border-radius:8px;
  overflow:hidden;
  background:rgba(44,61,48,.11);
}
.contacts-scenarios a{
  display:grid;
  gap:10px;
  align-content:start;
  min-height:132px;
  padding:18px 20px;
  color:var(--text);
  text-decoration:none;
  background:rgba(255,254,251,.72);
  transition:background .18s ease,transform .18s ease;
}
.contacts-scenarios a:hover{background:#fffefb;transform:translateY(-2px)}
.contacts-scenarios span{color:var(--green);font-size:12px;font-weight:950;letter-spacing:.16em}
.contacts-scenarios strong{font-size:19px;line-height:1.2}
.contacts-scenarios small{color:var(--muted);font-size:13.5px;line-height:1.45}
.contacts-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:20px;
}
.contacts-panel{
  display:grid;
  gap:14px;
  align-content:start;
  padding:22px 24px;
  border:1px solid rgba(44,61,48,.14);
  border-radius:8px;
  background:rgba(255,254,251,.62);
}
.contacts-panel--service{grid-column:1/-1}
.contacts-channel-list,.contacts-social-list{display:grid;gap:10px}
.contacts-channel-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
  color:var(--text);
  text-decoration:none;
  border-bottom:1px solid rgba(44,61,48,.12);
}
.contacts-channel-list a:first-child{border-top:1px solid rgba(44,61,48,.12)}
.contacts-channel-list strong{font-size:15px}
.contacts-channel-list span{color:var(--muted);text-align:right;overflow-wrap:anywhere}
.contacts-channel-list a:hover strong,.contacts-channel-list a:hover span{color:var(--green)}
.contacts-social-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.contacts-social-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:0 14px;
  color:var(--text);
  font-weight:900;
  text-decoration:none;
  border:1px solid rgba(44,61,48,.13);
  border-radius:999px;
  background:rgba(44,91,64,.05);
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.contacts-social-list a::after{content:"↗";color:var(--green);font-weight:900}
.contacts-social-list a:hover{background:rgba(44,91,64,.10);color:var(--green);transform:translateY(-1px)}
.contacts-panel dl{display:grid;gap:0;margin:0;border-top:1px solid rgba(44,61,48,.12)}
.contacts-panel dl div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:12px 0;
  border-bottom:1px solid rgba(44,61,48,.12);
}
.contacts-panel dt{font-weight:950;color:var(--text)}
.contacts-panel dd{margin:0;color:var(--muted);text-align:right;max-width:58ch}
.contacts-cta{
  margin-top:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:26px 0 0;
  border-top:1px solid rgba(44,61,48,.16);
}
.contacts-cta h2{
  margin:6px 0 0;
  font-family:var(--serif);
  font-size:38px;
  line-height:1.05;
  color:var(--text);
}
.contacts-cta p{margin:9px 0 0;color:var(--muted);line-height:1.6;max-width:56ch}
.contacts-cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.about-hero-meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
  animation:aboutRise .7s ease .24s both;
}
.about-hero-meta span{
  position:relative;
  padding-left:16px;
}
.about-hero-meta span::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green2);
}

@media(min-width:901px){
  .about-page{
    background:linear-gradient(180deg,var(--paper) 0%,#f5f2ec 46%,var(--paper) 100%);
  }
  .about-page>.wrap{
    max-width:1180px;
  }
  .about-hero{
    width:min(1180px,calc(100% - 2 * var(--pad)));
    min-height:auto;
    display:grid;
    grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
    gap:44px;
    align-items:center;
    margin:34px auto 0;
    padding:62px 0 74px;
    background:transparent;
    overflow:visible;
  }
  .about-hero img{
    position:relative;
    inset:auto;
    z-index:0;
    width:100%;
    height:auto;
    aspect-ratio:16/11;
    border-radius:8px;
    object-fit:cover;
    object-position:center;
    transform:scale(1);
    filter:saturate(.94) contrast(.98);
  }
  .about-hero-shade{
    display:none;
  }
  .about-hero-inner{
    order:1;
    width:auto;
    max-width:none;
    margin:0;
    gap:20px;
    min-height:0;
    padding:0;
    color:var(--text);
  }
  .about-hero .eyebrow{
    color:var(--green);
  }
  .about-hero h1{
    max-width:540px;
    color:var(--text);
    font-size:clamp(48px,4.6vw,70px);
    line-height:.95;
  }
  .about-hero p{
    max-width:500px;
    color:var(--muted);
    font-size:clamp(18px,1.45vw,22px);
  }
  .about-hero-actions{
    margin-top:4px;
  }
  .about-hero .btn.secondary{
    background:#fffefb;
    color:var(--text);
    border-color:var(--border);
  }
  .about-hero-meta{
    width:min(640px,100%);
    margin-top:10px;
    padding-top:20px;
    border-top:1px solid rgba(58,58,52,.14);
    color:var(--muted);
  }
  .about-intro{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:64px;
    padding:78px 0 30px;
  }
  .about-intro h2,
  .about-craft-copy h2,
  .about-service h2,
  .about-faq h2,
  .about-contact h2{
    font-size:clamp(36px,3.5vw,54px);
    line-height:1.02;
  }
  .about-intro h2{
    max-width:560px;
  }
  .about-copy{
    gap:18px;
    font-size:17px;
    line-height:1.72;
  }
  .about-proof{
    margin:24px 0 42px;
    background:rgba(255,254,251,.62);
    border-color:rgba(58,58,52,.16);
  }
  .about-proof-item{
    min-height:158px;
    justify-content:flex-start;
    padding:26px 28px;
  }
  .about-proof-item span{
    font-size:38px;
  }
  .about-proof-item:hover{
    background:#fffefb;
  }
  .about-material-strip{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);
    gap:58px;
    align-items:center;
    margin:0 0 52px;
    padding:44px 0 48px;
    border-top:1px solid rgba(58,58,52,.14);
    border-bottom:1px solid rgba(58,58,52,.14);
  }
  .about-material-copy{
    max-width:800px;
  }
  .about-material-copy h2{
    max-width:660px;
  }
  .about-material-copy p{
    max-width:70ch;
    font-size:16.5px;
    line-height:1.74;
  }
  .about-material-media{
    justify-self:end;
    width:min(380px,100%);
    overflow:hidden;
    border-radius:8px;
    background:var(--soft);
  }
  .about-material-media img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center;
    filter:saturate(.96) contrast(.98);
  }
  .about-craft{
    grid-template-columns:minmax(440px,.96fr) minmax(0,1.04fr);
    gap:60px;
    align-items:center;
    padding:42px 0 86px;
    border-top:0;
  }
  .about-craft-media{
    position:relative;
    top:auto;
    border-radius:8px;
    box-shadow:none;
  }
  .about-craft-media img{
    aspect-ratio:16/11;
    max-height:560px;
  }
  .about-craft-copy{
    gap:14px;
    max-width:650px;
  }
  .about-craft-copy p{
    font-size:16.5px;
    line-height:1.66;
    max-width:66ch;
  }
  .about-feature-list{
    grid-template-columns:1fr 1fr;
    gap:13px 22px;
    margin-top:14px;
    padding-top:20px;
    border-top:1px solid rgba(58,58,52,.14);
  }
  .about-feature-list li{
    font-size:14px;
  }
  .about-service{
    gap:52px;
    margin:0 0 2px;
    padding:54px 52px;
    border:0;
    border-radius:8px;
    background:var(--text);
    color:#fff;
  }
  .about-service .eyebrow{
    color:rgba(255,255,255,.62);
  }
  .about-service h2{
    color:#fff;
  }
  .about-service p{
    color:rgba(255,255,255,.73);
    font-size:15.5px;
  }
  .about-service dl{
    border-top:1px solid rgba(255,255,255,.16);
  }
  .about-service dl div{
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .about-service dt{
    color:#fff;
  }
  .about-service dd{
    color:rgba(255,255,255,.74);
  }
  .about-faq{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:68px;
    padding:82px 0 66px;
  }
  .about-faq-list{
    gap:0;
  }
  .about-faq-list details{
    padding:18px 0;
  }
  .about-faq-list summary{
    font-size:19px;
  }
  .about-contact{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(360px,.82fr);
    align-items:stretch;
    gap:34px;
    margin:0 0 72px;
    padding:0;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    overflow:hidden;
  }
  .about-contact-content{
    align-content:center;
    padding:48px 0 48px 48px;
  }
  .about-contact .eyebrow,
  .about-contact p{
    color:rgba(255,255,255,.76);
  }
  .about-contact h2{
    color:#fff;
  }
  .about-contact p{
    max-width:46ch;
  }
  .about-contact-actions{
    justify-content:flex-start;
    gap:12px;
    margin-top:14px;
  }
  .about-contact-actions .btn.primary{
    background:#fff;
    color:var(--green2);
    border-color:#fff;
    box-shadow:0 16px 30px rgba(0,0,0,.14);
  }
  .about-contact-actions .btn.secondary{
    background:rgba(255,255,255,.94);
    color:var(--text);
    border-color:rgba(255,255,255,.94);
  }
  .about-contact-media{
    display:block;
    min-height:360px;
    overflow:hidden;
  }
  .about-contact-media img{
    object-position:center;
  }
}

/* ============================================================
   PRODUCT DETAIL
   ============================================================ */
.product-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:start}
/* Локальний guard [hidden] (2026-07-27) — той самий патерн, що вже діє для
   .mega-menu / .mega-panel / .nav-search-panel. Без нього `display:grid` вище
   перебиває атрибут hidden, і renderProduct() під час збою /products ховав
   layout лише формально: елемент звітував hidden===true, але лишався на екрані
   з даними попереднього рендера — прямо над явним станом «недоступно».
   Селектор навмисно повний, а не `.product-detail[hidden]`: нижче в цьому файлі
   є `#product .product-detail.product-layout{display:grid}` одразу у ДВОХ
   медіазапитах, які разом покривають усі ширини, і їхня специфічність (1,2,0)
   перебила б коротке правило (0,2,0). Тут (1,3,0) — виграє скрізь. */
#product .product-detail.product-layout[hidden]{display:none}
.product-main{position:relative;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow);background:var(--soft);aspect-ratio:1/1}
.product-main .product-wishlist-heart{right:16px;bottom:16px;width:46px;height:46px;font-size:24px}
.product-main img,.product-main video{width:100%;height:100%;object-fit:cover;display:block}
.product-main-video{background:#000}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.gallery button{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;padding:0;background:var(--soft);aspect-ratio:1/1;transition:.2s;position:relative}
.gallery button:hover{border-color:var(--green)}
.gallery img,.gallery video{width:100%;height:100%;object-fit:cover;display:block}
.gallery-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(37,37,34,.22);color:#fff;font-size:24px;font-weight:800;z-index:2}
.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--soft-shadow)}
.product-info{padding:34px 36px}
.product-info h1{font-size:clamp(32px,3.6vw,44px);margin:6px 0 14px}
.back-to-catalog{display:inline-flex;margin:0 0 16px;color:var(--green);font-size:14px;font-weight:800;text-decoration:none}
.back-to-catalog:hover{text-decoration:underline}
.product-desc{max-width:none;white-space:pre-line;overflow:visible;display:block;margin-bottom:16px;line-height:1.58}
.product-info .price{font-family:var(--sans);font-size:30px;color:var(--green2);margin:18px 0;font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.product-info .price span{font-size:16px;color:var(--muted);font-weight:700;margin-right:8px}
.product-info .price strong{font-size:30px;font-weight:850;font-variant-numeric:tabular-nums lining-nums}
.product-info .specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  background:linear-gradient(135deg,rgba(107,122,94,.09),rgba(235,224,207,.24));
  border:1px solid rgba(107,122,94,.16);
  border-radius:var(--r-sm);
  overflow:hidden;
  margin:18px 0;
  padding:8px;
  box-shadow:0 12px 28px rgba(63,55,45,.045);
}
.product-info .spec{
  position:relative;
  background:rgba(255,254,251,.92);
  padding:13px 14px 13px 52px;
  border:1px solid rgba(219,211,199,.54);
  border-radius:14px;
  overflow:hidden;
  min-height:86px;
}
.product-info .spec::before{content:none}
.product-info .spec-icon{
  position:absolute;
  left:15px;
  top:17px;
  width:24px;
  height:24px;
  border:1px solid rgba(107,122,94,.18);
  border-radius:9px;
  background:rgba(246,242,233,.72);
  color:var(--green);
  display:grid;
  place-items:center;
}
.product-info .spec-icon::before{
  content:"";
  width:16px;
  height:16px;
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.product-info .spec-icon::after{content:none}
.product-info .spec[data-spec-icon="size"] .spec-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365715f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.8' width='10' height='18.4' rx='2.2' transform='rotate(45 12 12)'/%3E%3Cpath d='M8.2 15.8l2-2M10.8 18.4l1.2-1.2M5.6 13.2l1.2-1.2M13.2 10.8l2-2M15.8 8.2l1.2-1.2'/%3E%3C/svg%3E")}
.product-info .spec[data-spec-icon="term"] .spec-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365715f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.2'/%3E%3Cpath d='M12 7.2V12l3.5 2.1'/%3E%3C/svg%3E")}
.product-info .spec[data-spec-icon="hardware"] .spec-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365715f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.8 3.8l1.7 1.7-3.7 3.7 2 2L11.2 15l-2-2-4.5 4.5a2 2 0 0 0 2.8 2.8L12 15.8l-2-2 3.8-3.8 2 2 3.7-3.7 1.7 1.7'/%3E%3Cpath d='M5.4 18.6l2 2'/%3E%3C/svg%3E")}
.product-info .spec[data-spec-icon="edge"] .spec-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365715f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16.5h12.8L19 7.5H6.2L5 16.5z'/%3E%3Cpath d='M17.8 16.5l1.2-9'/%3E%3C/svg%3E")}
.product-info .spec[data-spec-icon="opening"] .spec-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365715f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 4.5h8.5a2.5 2.5 0 0 1 2.5 2.5v10a2.5 2.5 0 0 1-2.5 2.5H6.5z'/%3E%3Cpath d='M14.2 12h.1'/%3E%3Cpath d='M6.5 4.5l-2 1.2v12.6l2 1.2'/%3E%3Cpath d='M9 9.2c1.5-1.5 4.5-1.5 6 0M9 14.8c1.5 1.5 4.5 1.5 6 0'/%3E%3C/svg%3E")}
.product-info .spec[data-spec-icon="delivery"] .spec-icon{border-color:rgba(107,122,94,.18);background:rgba(246,242,233,.72);color:var(--green);overflow:hidden}
.product-info .spec[data-spec-icon="delivery"] .spec-icon::before{width:17px;height:17px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24' fill='none' stroke='%2365715f' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5h12.2v9.2H3z'/%3E%3Cpath d='M15.2 10h4.5l3.3 3.5v3.2h-7.8z'/%3E%3Cpath d='M19.7 10v3.5H23'/%3E%3Ccircle cx='8' cy='18.5' r='2.1'/%3E%3Ccircle cx='19.5' cy='18.5' r='2.1'/%3E%3Cpath d='M3 18.5h2.9M10.1 18.5h7.3M21.6 18.5H24'/%3E%3C/svg%3E")}
.product-info .spec[data-spec-icon="delivery"] .spec-icon span{display:none}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;margin:18px 0}
.spec{background:var(--card);padding:15px 18px}
.spec small{display:block;color:var(--muted);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.spec b{font-size:15px;font-weight:700}
.mini-list{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
.decor-pill{font-size:13px;background:var(--soft);border:1px solid var(--border);border-radius:var(--r-pill);padding:7px 14px;color:var(--text)}
.product-colors-title{display:block;color:var(--muted);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.product-colors-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin-bottom:12px}
.product-colors-title-row>span{min-width:0}
.product-info>#productColors{display:block;margin:14px 0 0}
.product-color-group{display:block;margin-top:12px}
.product-color-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.product-color-group-head small{color:var(--green2);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.product-color-more{border:0;background:transparent;color:var(--green);font:inherit;font-size:13px;font-weight:800;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:nowrap}
.product-color-more:hover{color:var(--green2)}
.product-color-empty{color:var(--muted);font-size:13px;line-height:1.45;background:rgba(255,254,251,.78);border:1px dashed rgba(219,211,199,.72);border-radius:14px;padding:10px 12px}
.product-color-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.product-color-swatch{display:flex;align-items:center;gap:6px;min-height:34px;width:100%;min-width:0;border:1px solid var(--border);background:var(--card);border-radius:var(--r-pill);padding:5px 9px 5px 5px;font-family:var(--sans);font-size:12px;line-height:1.1;font-weight:750;color:var(--text);cursor:pointer;transition:.2s}
.product-color-swatch span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-color-swatch:hover,.product-color-swatch.active{border-color:var(--green);box-shadow:inset 0 0 0 1px rgba(102,116,95,.28)}
.product-swatch-visual{width:19px;height:19px;flex:0 0 19px;border-radius:6px;border:1px solid rgba(0,0,0,.12);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.product-selected-color{width:100%;font-size:12px;color:var(--muted);font-weight:600;margin-top:0}

.product-colors-config-link{
  position:relative;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  margin-top:0;
  padding:0 13px;
  border:1px solid rgba(107,122,94,.24);
  border-radius:var(--r-pill);
  background:rgba(246,242,233,.48);
  color:var(--green);
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.product-color-group-actions{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}
.product-colors-config-link::after{content:"→";font-size:14px;line-height:1;display:inline-block;animation:productColorsArrowNudge 7.6s ease-in-out infinite;transition:transform .22s ease}
.product-colors-config-link:hover{border-color:rgba(107,122,94,.44);background:rgba(246,242,233,.78);color:var(--green2);transform:translateY(-2px);box-shadow:0 10px 22px rgba(63,55,45,.08)}
.product-colors-config-link:hover::after{transform:translateX(3px)}

@media(max-width:520px){
  .product-color-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-info .spec{padding-left:46px}
  .product-info .spec-icon{left:13px;width:22px;height:22px}
}

@keyframes productColorsArrowNudge{
  0%,72%,88%,100%{transform:translateX(0)}
  78%,83%{transform:translateX(3px)}
}
@media (prefers-reduced-motion: reduce){
  .product-colors-config-link::after{animation:none}
}
.detail-actions .product-request-link{background:transparent;box-shadow:none;color:var(--green);border-color:transparent;text-decoration:underline;text-underline-offset:4px}
.detail-actions .product-request-link:hover{background:var(--soft);border-color:var(--border);text-decoration:none}
.detail-actions .product-request-link{grid-column:1/-1;justify-self:start;margin-top:-2px;padding:0;min-height:auto}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:14px}
.product-reviews-section{margin-top:54px}
.product-reviews-head{align-items:end}
.product-reviews-count{display:inline-flex;align-items:center;justify-self:start;align-self:start;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:13px;font-weight:700;background:var(--card)}
.product-reviews-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.product-review-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--soft-shadow);transition:border-color .2s,transform .2s,box-shadow .2s}
.product-review-card:hover,.product-review-card:focus-visible{border-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow);outline:none}
.product-review-media{position:relative;width:100%;aspect-ratio:4/5;background:var(--soft);overflow:hidden}
.product-review-media img{width:100%;height:100%;object-fit:cover;display:block}
.product-review-meta{position:relative;min-height:92px;padding:13px 14px 14px}
.product-review-index{display:block;margin-bottom:7px;color:var(--muted);font-size:11px;font-weight:800;line-height:1;letter-spacing:.08em}
.product-review-meta strong{display:block;font-size:14px;margin-bottom:5px;line-height:1.25}
.product-review-meta span:not(.product-review-index){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.45}

/* ============================================================
   CONFIGURATOR
   ============================================================ */
.config-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}
.config-preview{position:sticky;top:104px}
.config-preview>img{width:100%;border-radius:var(--r-card);box-shadow:var(--shadow);aspect-ratio:16/10;max-height:300px;object-fit:cover;background:var(--soft)}
.summary-box{
  margin-top:18px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  padding:24px 26px;box-shadow:var(--soft-shadow);
}
.summary-box>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px dashed var(--border);font-size:14.5px}
.summary-box>div:last-child{border-bottom:none}
.summary-box span{color:var(--muted)}
.summary-box b{font-weight:700;text-align:right}
.summary-box .summary-total{margin-top:8px;padding-top:18px;border-top:2px solid var(--text);border-bottom:none}
.summary-box .summary-total span{color:var(--text);font-weight:700}
.summary-box .summary-total b{font-family:var(--serif);font-size:26px;color:var(--green2)}

.form-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:32px 34px;box-shadow:var(--soft-shadow)}
.form-panel h2{margin:4px 0 8px}
.field{margin-top:20px}
.field>label{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:14px;margin-bottom:9px}
.field>label span{font-weight:500;font-size:12px;color:var(--muted);letter-spacing:.02em}
select,input[type=number],input[type=text],input[type=email],input[type=password],input[type=tel],input:not([type]),textarea{
  width:100%;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--soft);
  padding:14px 16px;font-family:var(--sans);font-size:15px;color:var(--text);transition:.2s;
}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--green);background:var(--card)}
.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.swatches{display:flex;flex-wrap:wrap;gap:10px}
.swatch{
  display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 9px;border-radius:var(--r-pill);
  border:1px solid var(--border);background:var(--card);font-size:13.5px;font-weight:600;color:var(--text);transition:.2s;
}
.swatch:hover{border-color:var(--green)}
.swatch.active{border-color:var(--green);background:var(--soft);box-shadow:inset 0 0 0 1px var(--green)}
.swatch .dot{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);background-size:cover;background-position:center}
.options{display:grid;gap:10px}
.config-opening-tech-field{margin-top:22px}
.option{
  display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:var(--r-sm);
  border:1px solid var(--border);background:var(--card);transition:.2s;cursor:pointer;
}
.option:hover{border-color:var(--green)}
.option.active{border-color:var(--green);background:var(--soft)}
.option input{width:auto;accent-color:var(--green)}
.option span{display:flex;justify-content:space-between;flex:1;align-items:center}
.option b{font-weight:700;font-size:14.5px}
.option small{color:var(--muted);font-size:13px}

/* ============================================================
   SETS
   ============================================================ */
.set-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--soft-shadow);transition:.28s}
.set-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.set-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.set-image{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:var(--soft)}
.set-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.set-card:hover .set-image img{transform:scale(1.045)}
.set-image span{position:absolute;top:14px;left:14px;background:rgba(45,45,42,.82);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:var(--r-pill)}
.set-body{padding:22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.set-body .name{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:0;line-height:1.1}
.set-body p{color:var(--muted);font-size:14px;flex:1}
.set-body .items{font-size:12.5px;color:var(--green);font-weight:700;letter-spacing:.04em}
.set-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 3px}
.set-card-meta span{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-pill);padding:5px 10px;background:rgba(255,255,255,.55)}
.set-body .price{font-size:19px;font-weight:800;margin:2px 0 6px}
#sets .section-head .subtle{white-space:nowrap;max-width:none}
.sets-intro{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:24px;align-items:stretch;
  margin:-8px 0 28px;padding:24px;border:1px solid rgba(215,207,195,.82);border-radius:var(--r-card);
  background:linear-gradient(135deg,rgba(255,254,251,.96),rgba(242,237,229,.78));box-shadow:var(--soft-shadow);
}
.sets-intro-copy{
  display:grid;align-content:center;gap:14px;padding:18px 22px 18px 0;align-self:stretch;
}
.sets-intro-copy .eyebrow{color:var(--green)}
.sets-intro-copy h2{max-width:13ch;font-size:clamp(34px,3.7vw,50px);line-height:1.02}
.sets-intro-copy p{max-width:58ch;margin:0;color:var(--muted);font-size:15.5px;line-height:1.6}
.sets-intro-media{display:grid;gap:10px;min-height:360px}
.sets-intro-media img{width:100%;min-height:310px;height:100%;object-fit:cover;display:block;border-radius:18px;background:var(--soft);filter:saturate(.96) contrast(.98)}
.sets-intro-points{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;color:var(--text);
}
.sets-intro-points span{
  display:flex;align-items:center;justify-content:center;text-align:center;min-height:58px;padding:12px 14px;
  border:0;border-radius:14px;
  background:var(--green);color:#fffdf8;font-size:13px;line-height:1.35;font-weight:850;
  box-shadow:0 10px 20px rgba(45,64,39,.12);
}
.set-detail[hidden]{display:none}
.set-detail{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:30px;padding:26px;margin-bottom:30px;align-items:start}
.set-detail-media{position:sticky;top:96px;align-self:start;border-radius:var(--r-card);overflow:hidden;background:var(--soft)}
.set-detail-media img{width:100%;height:auto;max-height:520px;border-radius:var(--r-card);aspect-ratio:4/3;object-fit:cover;display:block}
.set-detail-content{min-width:0;display:flex;flex-direction:column;gap:18px}
.set-detail-content h2{margin:3px 0 0}
.set-detail-lead{max-width:720px}
.set-price-card{border:1px solid var(--border);border-radius:var(--r-sm);padding:16px 18px;background:linear-gradient(135deg, rgba(107,122,94,.1), rgba(255,255,255,.72));display:flex;flex-direction:column;gap:5px}
.set-price-card span,.set-price-card small{color:var(--muted)}
.set-price-card strong{font-family:var(--serif);font-size:30px;color:var(--green2);line-height:1.05}
.set-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.set-spec-grid div{border:1px solid var(--border);border-radius:var(--r-sm);padding:13px 14px;background:rgba(255,255,255,.72);min-width:0}
.set-spec-grid small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;margin-bottom:6px}
.set-spec-grid b{font-size:14.5px;line-height:1.25;display:block}
.set-change-note{border:1px dashed rgba(107,122,94,.38);border-radius:var(--r-sm);padding:14px 16px;background:rgba(107,122,94,.07);display:flex;flex-direction:column;gap:5px}
.set-change-note b{color:var(--green2)}
.set-change-note span{color:var(--muted);line-height:1.5}
.set-components{border-top:1px solid var(--border);padding-top:18px}
.set-components-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}
.set-components-head strong{font-size:14px;color:var(--green2)}
.set-components-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.set-component-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--r-sm);padding:10px;background:rgba(255,255,255,.74);min-width:0}
.set-component-card img{width:92px;height:74px;border-radius:14px;object-fit:cover;background:var(--soft)}
.set-component-card span{display:block;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.set-component-card strong{display:block;font-size:14px;line-height:1.2;margin-bottom:4px}
.set-component-card small{display:block;color:var(--muted);font-size:12px;line-height:1.3}
.set-empty-composition{grid-column:1/-1;border:1px dashed var(--border);border-radius:var(--r-sm);padding:16px;color:var(--muted);background:rgba(255,255,255,.55)}
.set-detail .detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:2px}

/* ============================================================
   REQUEST FORM
   ============================================================ */
.request-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:38px 40px;box-shadow:var(--soft-shadow);max-width:880px}
.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.request-grid .wide{grid-column:1/-1}
.success{margin-top:20px;background:var(--soft);border:1px solid var(--green);border-radius:var(--r-sm);padding:18px 22px;color:var(--green2);font-size:14.5px}
.lead-error{margin-top:20px;background:#fff5f2;border:1px solid #C7836F;border-radius:var(--r-sm);padding:18px 22px;color:#8B3D2E;font-size:14.5px}

/* ============================================================
   FAST CONTACT
   ============================================================ */
.fast-contact-fab{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:180;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(75,87,69,.28);
  border-radius:var(--r-pill);
  background:var(--green);
  color:#fff;
  padding:0 22px 0 14px;
  font-weight:900;
  font-size:14px;
  box-shadow:0 22px 60px rgba(45,45,42,.22);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.fast-contact-fab:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 26px 70px rgba(45,45,42,.26)}
.fast-contact-fab-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  font-size:17px;
  flex-shrink:0;
}
.fast-contact-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:18px;
}
.fast-contact-modal[hidden]{display:none}
.fast-contact-backdrop{position:absolute;inset:0;background:rgba(45,45,42,.46);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.fast-contact-card{
  position:relative;
  width:min(480px,100%);
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  padding:26px;
}
.fast-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.fast-contact-head h2{font-size:clamp(30px,3.2vw,38px)}
.fast-contact-close{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--muted);
  font-size:28px;
  line-height:1;
  flex-shrink:0;
}
.fast-contact-close:hover{border-color:var(--clay);color:var(--clay)}
.fast-contact-copy{color:var(--muted);font-size:15px;line-height:1.5;margin-bottom:20px}
.fast-contact-fields{display:grid;gap:14px}
.fast-contact-error,.fast-contact-success{margin-top:14px;padding:13px 15px}
.fast-contact-card .btn.block{width:100%;margin-top:16px}
body.fast-contact-open{overflow:hidden}

/* ============================================================
   FOOTER + BOTTOM NAV
   ============================================================ */
.footer{
  background:linear-gradient(135deg,#4b5745,#2f3b32);color:rgba(255,255,255,.76);
  padding:34px 0 22px;font-size:13.5px;
}
.footer-grid{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.95fr) minmax(260px,.78fr);
  gap:28px;align-items:start;
}
.footer-brand-block,.footer-info-card,.footer-contact-block{min-width:0}
.footer-brand-block{display:grid;gap:14px;align-content:start}
.footer-logo{
  display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;width:max-content;max-width:100%;
}
.footer-logo img{width:42px;height:42px;object-fit:contain;border-radius:50%;background:rgba(255,254,251,.92)}
.footer-logo span{font-family:var(--serif);font-size:27px;line-height:1;color:#fff}
.footer-brand-block p{
  margin:0;max-width:56ch;color:rgba(255,255,255,.76);font-size:14.5px;line-height:1.45;
}
.footer-payments,.footer-badges,.footer-socials{display:flex;gap:8px;flex-wrap:wrap}
.footer-socials{align-items:center;max-width:330px}
.footer-payments span,.footer-badges span,.footer-socials span,.footer-socials a{
  display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid rgba(255,255,255,.15);
  border-radius:999px;background:rgba(255,254,251,.08);color:#fff;padding:0 12px;font-weight:800;
  text-decoration:none;line-height:1;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,color .22s ease;
}
.footer-payments span:hover,.footer-badges span:hover,.footer-socials span:hover,.footer-socials a:hover{
  background:rgba(255,254,251,.13);border-color:rgba(255,255,255,.26);transform:translateY(-1px);color:#fff;text-decoration:none;
}
.footer-chip-icon,.footer-contact-icon{
  width:15px;height:15px;flex:0 0 auto;color:rgba(255,255,255,.76);
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.footer-chip-icon{margin-left:-2px}
.footer-info-card{
  display:grid;gap:9px;align-content:start;border-left:1px solid rgba(255,255,255,.16);
  background:transparent;padding:4px 0 4px 24px;box-shadow:none;border-radius:0;
}
.footer-kicker{
  color:rgba(255,255,255,.66);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
}
.footer-info-card strong{display:block;color:#fff;font-size:17px;line-height:1.25}
.footer-info-card p{margin:0;color:rgba(255,255,255,.74);font-size:13.5px;line-height:1.45;max-width:42ch}
.footer-contact-block{display:grid;gap:10px;align-content:start}
.footer-contact-block>a{
  color:#fff;text-decoration:none;font-size:17px;line-height:1.25;font-weight:800;width:max-content;max-width:100%;
  display:inline-flex;align-items:center;gap:8px;transition:color .2s ease,transform .2s ease;
}
.footer-contact-block>a:hover{color:var(--beige);transform:translateX(2px);text-decoration:none}
.footer-socials{padding-top:2px}
.footer-socials span,.footer-socials a{min-height:30px;font-size:12px;padding:0 11px}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.68);text-align:left;
}
.bottom-nav{display:none}

/* ============================================================
   BLOG
   ============================================================ */
.blog-page,.blog-article-page{background:linear-gradient(180deg,var(--paper),#f3eee6 54%,var(--paper))}
.blog-hero{
  display:grid;
  justify-items:center;
  gap:18px;
  margin-bottom:24px;
  padding:34px 0 20px;
  border-bottom:1px solid var(--border);
  text-align:center;
}
.blog-hero-copy{display:grid;justify-items:center;gap:12px;max-width:900px;margin-inline:auto}
.blog-hero-copy h1{font-size:clamp(44px,5.4vw,76px);line-height:.96;margin:0;letter-spacing:0}
.blog-hero-copy p{max-width:64ch;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.blog-hero-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.blog-hero-meta span,.blog-category-chip,.blog-card-tags span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,254,251,.72);
  color:var(--green2);
  font-size:12px;
  font-weight:850;
}
.blog-category-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.blog-category-chip{
  min-height:38px;
  color:var(--text);
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.blog-category-chip:hover,.blog-category-chip.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
  transform:translateY(-1px);
}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.blog-card{
  display:grid;
  grid-template-columns:minmax(210px,.82fr) minmax(0,1fr);
  gap:0;
  min-height:300px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--r-card);
  background:rgba(255,254,251,.82);
  box-shadow:var(--soft-shadow);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(101,113,95,.32)}
.blog-card-media{display:block;min-height:100%;background:var(--soft);overflow:hidden}
.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(.98);transition:transform .55s ease}
.blog-card:hover .blog-card-media img{transform:scale(1.045)}
.blog-card-body{display:grid;gap:12px;align-content:center;padding:24px}
.blog-card-tags{display:flex;gap:7px;flex-wrap:wrap}
.blog-card-tags span{min-height:28px;padding:0 10px;font-size:11px;color:var(--green2);background:rgba(101,113,95,.1);border-color:rgba(101,113,95,.18)}
.blog-card-title{
  font-family:var(--serif);
  color:var(--text);
  font-size:clamp(25px,2.25vw,34px);
  line-height:1.02;
  font-weight:650;
  text-decoration:none;
}
.blog-card-title:hover{color:var(--green2)}
.blog-card-body p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.58}
.blog-card-link{color:var(--green2);font-size:13px;font-weight:900;text-decoration:none;width:max-content}
.blog-card-link:hover{text-decoration:underline;text-underline-offset:4px}
.blog-back{margin-bottom:18px}
.blog-article{
  display:grid;
  gap:28px;
}
.blog-article-hero{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:26px;
  align-items:stretch;
  padding-bottom:30px;
  border-bottom:1px solid var(--border);
}
.blog-article-title{display:grid;gap:15px;align-content:center}
.blog-article-title h1{font-size:clamp(42px,5vw,70px);line-height:.96;margin:0}
.blog-article-title p{margin:0;color:var(--muted);font-size:16px;line-height:1.65;max-width:64ch}
.blog-article-hero img{
  width:100%;
  height:100%;
  min-height:420px;
  max-height:560px;
  object-fit:cover;
  border-radius:var(--r-card);
  box-shadow:var(--soft-shadow);
  background:var(--soft);
}
.blog-article-layout{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:34px;align-items:start}
.blog-article-aside{
  position:sticky;
  top:104px;
  display:grid;
  gap:8px;
  padding:18px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.blog-article-aside span{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.blog-article-aside p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}
.blog-article-content{max-width:820px}
.blog-article-content p,.blog-article-content li{color:var(--text);font-size:17px;line-height:1.78}
.blog-article-content p{margin:0 0 18px}
.blog-lead{font-size:18px!important;color:var(--text)!important}
.blog-article-visual{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);
  gap:0;
  margin:30px 0 40px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--r-card);
  background:rgba(255,254,251,.82);
  box-shadow:var(--soft-shadow);
}
.blog-article-visual img{
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  display:block;
  background:var(--soft);
}
.blog-article-visual figcaption{
  display:grid;
  align-content:center;
  gap:12px;
  padding:26px;
}
.blog-article-visual strong{
  color:var(--green2);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.blog-article-visual p{margin:0;color:var(--text);font-size:15.5px;line-height:1.62}
.blog-article-visual ul{
  display:grid;
  gap:8px;
  margin:4px 0 0;
  padding:0;
  list-style:none;
}
.blog-article-visual li{
  position:relative;
  padding-left:17px;
  color:var(--muted)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}
.blog-article-visual li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}
.blog-article-section{margin-top:34px}
.blog-article-section h2{font-size:clamp(29px,3vw,42px);line-height:1.05;margin:0 0 14px}
.blog-article-section ul{display:grid;gap:9px;margin:10px 0 18px;padding-left:22px}
.blog-note{
  margin:20px 0;
  padding:18px 20px;
  border-left:4px solid var(--green);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  background:rgba(101,113,95,.09);
}
.blog-note strong{display:block;margin-bottom:6px;color:var(--green2);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.blog-note p{margin:0;color:var(--text);font-size:15.5px;line-height:1.62}
.blog-article-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:16px;
  padding:28px;
  border-radius:var(--r-card);
  background:linear-gradient(135deg,#4b5745,#2f3b32);
  color:#fff;
}
.blog-article-cta h2{font-size:clamp(30px,3vw,42px);margin:5px 0 8px;color:#fff}
.blog-article-cta p{max-width:58ch;margin:0;color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.55}
.blog-article-cta .eyebrow{color:var(--beige)}
.blog-article-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.blog-article-actions .btn.secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.blog-article-actions .btn.secondary:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34)}

/* ============================================================
   RESPONSIVE / MOBILE
   ============================================================ */
.desktop-only{display:inline-flex}

@media(max-width:1040px){
  .grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:1180px){
  .nav{gap:14px}
  .nav a,.nav-link{font-size:13.5px}
  .brand-name span{display:none}
}

@media(max-width:1080px){
  .nav,.nav-actions .btn{display:none}
  .navrow{height:64px;gap:14px}
  .nav-actions{margin-left:auto}
  .nav-actions .auth-slot{display:none}
  .mobile-menu-toggle{
    width:46px;height:46px;border-radius:50%;border:1px solid var(--border);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    background:var(--card);padding:0;
  }
  .mobile-menu-toggle span{display:block;width:18px;height:1.7px;background:var(--text);border-radius:999px}
  .mobile-menu-toggle[aria-expanded="true"] span{background:var(--green)}
  .nav-search-panel[hidden]{display:none}
}

/* Hero mobile treatment — owner spec 2026-07-22 point 1: paired with
   the desktop block's min-width:761px so the two ranges partition the
   viewport with no gap and no overlap. Untouched in appearance from
   before this rework ("мобільну версію поки не рухаємо") — this is the
   same visual result as the old .banner-overlay mobile rules, just
   renamed to .hero-callout and moved to its own boundary so it can
   never collide with the new desktop positioning rules above. */
@media(max-width:760px){
  .banner picture .desktop-banner{display:none}
  .banner .mobile-banner{display:block}

  /* Card style, restored (owner correction, 2026-07-22): full-bleed
     edge-to-edge, then full-screen under the header/bottom-nav, were
     both tried this session and read badly live — back to a normal
     rounded card like every other visual block on the site (border-
     radius/box-shadow/margin now just come from the base .banner rule
     a few lines up, unmodified here). The cream-gradient/dark-text/
     bigger-type work from the same session stays — only the
     full-bleed/full-screen *structure* is reverted. min-height keeps
     the card generously tall without forcing it to the viewport
     edges. */
  /* vh-based sizing REVERTED (owner-reported live bug, 2026-07-22,
     second report same day): the max(60vh,430px) card above was itself
     the root cause of the crop bug it was patched in to fix. .banner's
     height was viewport-driven while the mobile-banner photo (a fixed
     941×1672 portrait) fills it via object-fit:cover — on short
     viewports the card came out shorter than the photo's native aspect
     ratio, so cover scaled the image up and clipped its top/bottom,
     visibly pushing the furniture up under the text. Locking the card
     to the photo's own aspect-ratio instead makes the container's
     height a pure function of its width, so cover never has to crop —
     the empty ceiling zone at the top stays put on every viewport
     height. */
  .banner{width:100%;height:auto;min-height:0;aspect-ratio:941/1672}
  .banner .mobile-banner{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    object-position:center top;
    /* No CSS filter here on purpose: brightness/contrast on this
       element (large source, object-fit:cover, absolutely positioned)
       made Chromium rasterize it through a low-res filter pass —
       the whole photo came out visibly soft/hazy, furniture barely
       readable (confirmed live, reverted same session). All of the
       "darker + more contrast" grading happens below via the scrim's
       alpha instead — plain compositing, no filter pipeline, stays
       pixel-sharp at any crop/scale. */
  }

  /* Re-calibrated against the current card crop (owner request,
     2026-07-22: "підсвітка лівої частини відкритої секції стелажа" —
     the left LED edge of the open shelf niche, not the wardrobe door
     it was drifted onto by earlier crop/height changes this session).
     Found live by overlaying a solid marker box and nudging it onto
     the shelf's left inner edge — the old 30%/49%/9%/37% box (tuned
     for a since-reverted crop) was sitting over the plain wardrobe
     door, well left of the actual shelf. */
  /* +20px right, then -10px left (owner requests, 2026-07-22), each
     ~3-6% of the 339px-wide mobile card: 38%→44%→41%. Width narrowed
     5%→1.8% in the thin-line/bloom rework above (::before/::after now
     do the line vs. spread — this box is just the thin core's slot). */
  /* +5px right, +50px up (owner request, 2026-07-22, after the
     viewport-height-independent aspect-ratio fix above): converted
     against the same 339px-wide/602.3px-tall mobile card reference
     (339 = 375px viewport − 2×18px --pad; 602.3 = 339×1672/941, now
     exact and stable at any viewport height since .banner is
     aspect-ratio-locked instead of vh-sized) — 5/339=1.47%,
     50/602.3=8.30%. left 41%→42.47%, top 49%→40.70% (up = smaller
     top). width/height unchanged. */
  /* Re-verified against the now-uncropped photo (owner request,
     2026-07-22): owner drew the target strip directly on a live
     screenshot with a temporary 10%/20% gridline overlay burned onto
     the actual .banner (debug aid only, not shipped — injected via
     devtools, never committed) — the strip covers the open shelf's
     full visible height, top≈40% to bottom≈80% (height 38%→40%).
     left/width unchanged, already aligned with the drawn strip. */
  /* Trimmed 40px off the top, bottom edge held fixed (owner request,
     2026-07-22, after seeing it live): 40/602.94=6.63%. top
     40%→46.63%, height 40%→33.37% (40+33.37=80%, same bottom edge
     as before). left/width unchanged. */
  /* +15px longer at the top, bottom edge held fixed again (owner
     request, 2026-07-22): 15/602.94=2.49%. top 46.63%→44.14%, height
     33.37%→35.86% (44.14+35.86=80%, same bottom edge). left/width
     unchanged. */
  .banner-shelf-glow{left:42.47%;top:44.14%;width:1.8%;height:35.86%}

  /* Cream scrim over the photo (owner reference, 2026-07-22, replaces
     the earlier dark-scrim/white-text pass): same paper tone as the
     desktop gradient (rgba(247,244,239,...)). Owner correction, same
     session: a full-width 180deg band was darkening/lightening the
     photo evenly across every row, including the right side where the
     wardrobe sits and there's no text to back — too big. Switched to
     a radial ellipse anchored at the top-left corner (where the text
     actually lives) so it tapers away both rightward and downward,
     fading out before it reaches the wardrobe instead of washing the
     whole top band. */
  /* Doubled, dialed back 40%, then up 15% (owner requests, 2026-07-22):
     78%/52% → 156%/104% → 94%/62% → 108%/71%. Height bumped again,
     71%→90% (same session, owner-reported live bug): the fade-to-0
     point was 0.8×71%=56.8% of the card — measured live, the lead
     paragraph's bottom sits at ~59.4% on a real short viewport, i.e.
     past full fade already, with several lines above that in the
     36%→0% taper reading poorly over the busy photo. 90% moves
     fade-to-0 to 72%, clearing the text with margin instead of
     matching it exactly (device heights vary; exact-match has no
     safety margin against the next slightly-shorter phone). */
  .banner::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(ellipse 108% 90% at 0% 0%,
      rgba(247,244,239,.94) 0%,
      rgba(247,244,239,.72) 32%,
      rgba(247,244,239,.36) 58%,
      rgba(247,244,239,0) 80%);
  }

  /* Text rides the empty ceiling zone at the top of the portrait
     banner; the CTA column is pushed to the light floor zone at the
     bottom so nothing sits on the furniture itself. The delivery note
     is hidden — the same "10–20 робочих днів" fact is the third
     benefits card right below the banner on mobile. */
  /* Back to inset:0 (card style, see .banner above) — no header/nav to
     dodge anymore since the card sits in normal flow below the header
     with its own margin, well clear of the bottom-nav too. */
  .hero-callout{
    position:absolute;inset:0;z-index:2;
    display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
    width:100%;
    padding:24px 20px;
  }
  /* Sized off the owner's reference crop (2026-07-22): the H1 there
     wraps to 3 tight lines at a noticeably bigger size than our first
     pass (which was sitting near its 22px floor at this viewport
     width) and the lead paragraph reads bigger/looser too — bumped
     both, plus tightened the H1 line-height to match the display-serif
     stack feel in the reference instead of the looser 1.18. */
  .hero-callout h1{color:var(--text);font-size:clamp(28px,8vw,36px);line-height:1.08;margin-bottom:14px}
  .hero-callout-lead{color:var(--text);opacity:.78;font-size:13px;line-height:1.5;margin-bottom:18px;max-width:none}
  /* Owner-drawn line breaks (2026-07-22): the h1/lead markup wraps each
     line in a .hero-line span so these exact breaks are explicit
     instead of riding on whatever the font/viewport happens to wrap
     to. Mobile-only — the spans stay inline (default) above 760px, so
     desktop keeps flowing/wrapping the same text naturally on its own
     much wider column. */
  .hero-callout h1 .hero-line,
  .hero-callout-lead .hero-line{display:block}
  /* Centered, content-sized button (owner request, 2026-07-22) instead
     of the full-width stretch — align-items:center on the row sizes
     the .btn to its own text/arrow instead of stretching, and centers
     it horizontally. No FAB-clearance padding needed anymore: a
     content-width centered button doesn't reach the right edge where
     .ta-chat/#fastContactFab float. */
  /* margin-top:auto restored (owner correction, 2026-07-22): removing
     it to match desktop's text-to-image relationship was tried and
     reverted the same day — the approved state has the button pinned
     to the card's bottom edge, not clustered right under the lead
     paragraph. Back to the confirmed layout. */
  .hero-callout-actions{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:auto}
  /* Narrower/shorter, arrow tighter to the text (owner request,
     2026-07-22, live on a real phone: "перекриває занадто багато
     зображення" — the button was tall/padded enough to hide a
     noticeable slice of the photo). gap 10px→6px, padding 24px→16px,
     min-height 46px→40px, font-size 14.5px→13.5px. */
  .hero-callout-actions .btn{justify-content:center;gap:6px;min-height:40px;padding:0 16px;font-size:13.5px}
  .hero-callout-actions .btn .btn-arrow{font-size:16px;line-height:1}
  .hero-callout-note{display:none}
  #home.active .hero-callout{animation:taSoftRise .6s ease .12s both}
}

@media(max-width:900px){
  :root{--pad:18px;--r-banner:24px}
  .desktop-only{display:none}
  .page{padding:26px 0 168px}
  [data-hero="2"] .banner{margin:0 calc(-1 * var(--pad))}

  .benefits{grid-template-columns:1fr 1fr;gap:12px;margin-top:36px}
  .benefit{min-height:176px;padding:20px 18px}
  .benefit-icon{margin-bottom:22px}
  .home-block{margin-top:52px}
  .catalog-start-head{flex-direction:column;align-items:stretch}
  .catalog-start-head .btn{display:none}
  .home-catalog-head .btn{display:inline-flex;width:100%;justify-content:center}
  .category-tiles{grid-template-columns:1fr 1fr;gap:12px}
  .category-tiles a{min-height:104px;padding:18px}
  .category-tiles strong{font-size:20px}
  /* Одноколонковий режим цього блоку переїхав у власний @media(max-width:760px)
     нижче: мобільний поліш секції (центрування 82.1, пропорції фото 82) діє
     лише з ≤760, і смуга 761–900 отримувала «половинчастий» вигляд —
     одноколонкова панель на всю ширину без мобільного оформлення. */
  @keyframes photoCursorTrace{
    0%,7%{opacity:0;left:31%;top:48%;transform:translate(0,0) rotate(-8deg)}
    10%{opacity:1;left:38%;top:51%;transform:translate(0,0) rotate(-8deg)}
    26%{opacity:1;left:74%;top:73%;transform:translate(0,0) rotate(-8deg)}
    31%{opacity:1;left:74%;top:25%;transform:translate(0,0) rotate(-8deg)}
    47%{opacity:1;left:93%;top:55%;transform:translate(0,0) rotate(-8deg)}
    56%{opacity:1;left:44%;top:46%;transform:translate(0,0) rotate(-8deg)}
    62%,100%{opacity:0;left:44%;top:46%;transform:translate(0,0) rotate(-8deg)}
  }

  .grid,.grid.three{grid-template-columns:1fr 1fr;gap:14px}
  .product-image{aspect-ratio:4/3}
  .product-body{padding:15px 15px 17px}
  .product-body .name{font-size:18px}
  .product-body p{display:none}
  .change-chip{display:none}
  .product-actions{grid-template-columns:1fr}

  .section-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:20px}
  .section-head h1,.section-head h2{margin-bottom:5px;font-size:clamp(30px,7.6vw,38px);line-height:1.03}
  .section-head .subtle{max-width:38em;font-size:14.5px;line-height:1.42}

  .home-route{flex-direction:column;align-items:stretch;text-align:left;padding:30px 24px}
  .home-route .btn{width:100%}

  .about-page{padding-bottom:128px}
  .about-hero{
    min-height:auto;
    display:grid;
    gap:0;
    align-items:start;
    margin:18px 0 0;
    padding:0 var(--pad);
    overflow:visible;
  }
  .about-hero img{
    position:relative;
    inset:auto;
    z-index:0;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    border-radius:18px;
    object-fit:cover;
    object-position:center;
    transform:none;
    filter:saturate(.96) contrast(.98);
  }
  .about-hero-shade{display:none}
  .about-hero-inner{
    width:100%;
    max-width:none;
    padding:22px 0 0;
    gap:12px;
    color:var(--text);
    justify-items:center;
    text-align:center;
  }
  .about-hero .eyebrow{color:var(--green)}
  .about-hero h1{
    max-width:360px;
    color:var(--text);
    font-size:clamp(32px,8.7vw,40px);
    line-height:1.03;
  }
  .about-hero p{
    max-width:360px;
    color:var(--muted);
    font-size:15.5px;
    line-height:1.5;
  }
  .about-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:4px;
  }
  .about-hero-actions .btn{width:100%}
  .about-hero-actions .btn.lg{
    min-height:48px;
    padding:0 10px;
    font-size:13px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
  }
  .about-hero .btn.secondary{
    background:#fffefb;
    color:var(--text);
    border-color:var(--border);
  }
  .about-hero-meta{
    justify-content:center;
    gap:7px 12px;
    margin-top:4px;
    padding-top:14px;
    border-top:1px solid var(--border);
    color:var(--muted);
    font-size:11px;
    line-height:1.3;
  }
  .about-hero-meta span{padding-left:12px}
  .about-hero-meta span::before{top:.5em;width:5px;height:5px;background:var(--green)}
  .about-intro,.about-craft,.about-service,.about-faq{
    grid-template-columns:1fr;
    gap:24px;
  }
  .about-intro{padding:46px 0 28px}
  .about-proof{grid-template-columns:1fr 1fr;margin-bottom:46px}
  .about-proof-item{border-left:0;border-top:1px solid var(--border);min-height:150px;padding:18px}
  .about-proof-item:nth-child(-n+2){border-top:0}
  .about-material-strip{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    margin:0 0 38px;
    padding:26px 0 32px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .about-material-media{
    order:-1;
    border-radius:18px;
  }
  .about-material-media img{
    aspect-ratio:16/10;
  }
  .about-material-copy{
    gap:10px;
  }
  .about-material-copy h2{
    font-size:clamp(30px,8vw,38px);
  }
  .about-material-copy p{
    font-size:14.5px;
    line-height:1.62;
  }
  .about-craft{gap:18px;padding-bottom:48px}
  .about-craft-media{position:static;border-radius:18px;box-shadow:none}
  .about-craft-media img{aspect-ratio:16/11}
  .about-craft-copy{gap:12px}
  .about-craft-copy p{font-size:14.5px;line-height:1.62}
  .about-feature-list{
    gap:10px;
    margin-top:4px;
    padding-top:14px;
    border-top:1px solid var(--border);
  }
  .about-feature-list li{font-size:13.5px;line-height:1.4}
  .about-service{padding:34px 0}
  .about-service dl div{align-items:flex-start;flex-direction:column;gap:5px}
  .about-service dd{text-align:left}
  .about-faq{padding:46px 0}
  .about-contact{align-items:stretch;flex-direction:column;padding:28px 0 46px}
  .about-contact-actions{justify-content:stretch}
  .about-contact-actions .btn{width:100%}

  /* filters horizontal scroll */
  .pill-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pill-row::-webkit-scrollbar{display:none}
  .pill{flex:0 0 auto}

  /* product detail stack */
  .product-detail{grid-template-columns:1fr;gap:22px}
  .product-info{padding:24px 22px}
  .specs{grid-template-columns:1fr 1fr}
  .detail-actions{grid-template-columns:1fr}
  .product-reviews-head{align-items:flex-start}
  .product-reviews-grid{grid-template-columns:1fr 1fr;gap:12px}
  .product-review-meta{min-height:86px;padding:10px 11px 12px}

  /* configurator stack */
  .config-layout{grid-template-columns:1fr;gap:20px}
  .config-preview{position:static}
  .form-panel{padding:24px 20px}

  .set-detail{grid-template-columns:1fr;gap:18px;padding:18px}
  #sets .section-head .subtle{white-space:normal}
  .sets-intro{grid-template-columns:1fr;gap:14px;margin:-6px 0 22px;padding:18px;border-radius:20px}
  .sets-intro-copy{padding:0;gap:10px;text-align:center;justify-items:center}
  .sets-intro-copy h2{max-width:11em;font-size:clamp(28px,7.2vw,36px);line-height:1.04}
  .sets-intro-copy p{max-width:31em;font-size:14.5px}
  .sets-intro-media{min-height:0}
  .sets-intro-media img{min-height:240px}
  .sets-intro-points{grid-template-columns:1fr}
  .sets-intro-points span{min-height:0;font-size:13px;line-height:1.25;padding:10px 18px;border-radius:12px}
  .set-detail-media{position:static}
  .set-detail-media img{max-height:420px}
  .set-spec-grid,.set-components-grid{grid-template-columns:1fr}
  .set-components-head{align-items:flex-start;flex-direction:column}
  .blog-hero{grid-template-columns:1fr;gap:14px;padding:18px 0 16px;margin-bottom:18px;text-align:center}
  .blog-hero-copy{justify-items:center;margin-inline:auto}
  .blog-hero-copy h1{max-width:11em;font-size:clamp(34px,9vw,46px);line-height:1.02}
  .blog-hero-copy p{max-width:34em;font-size:14.5px;line-height:1.48}
  .blog-hero-meta,.blog-category-row{justify-content:center}
  .blog-category-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-bottom:18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .blog-category-row::-webkit-scrollbar{display:none}
  .blog-category-chip{flex:0 0 auto;min-height:36px}
  .blog-grid{grid-template-columns:1fr;gap:16px}
  .blog-card{grid-template-columns:150px minmax(0,1fr);min-height:210px;border-radius:20px}
  .blog-card-body{padding:18px;gap:9px}
  .blog-card-title{font-size:24px;line-height:1.05}
  .blog-card-body p{font-size:13.5px;line-height:1.45}
  .blog-article-hero{grid-template-columns:1fr;gap:16px;padding-bottom:20px;text-align:center}
  .blog-article-title{justify-items:center}
  .blog-article-title h1{max-width:12em;font-size:clamp(34px,8.8vw,46px);line-height:1.03}
  .blog-article-title p{max-width:34em;font-size:14.5px;line-height:1.48}
  .blog-article-hero img{min-height:220px;max-height:340px;border-radius:20px;order:-1}
  .blog-article-layout{grid-template-columns:1fr;gap:16px}
  .blog-article-aside{position:static;text-align:center;padding:14px 0}
  .blog-article-content{max-width:none}
  .blog-article-content p,.blog-article-content li{font-size:15.5px;line-height:1.68}
  .blog-lead{font-size:16.5px!important}
  .blog-article-visual{grid-template-columns:1fr;margin:24px 0 30px;border-radius:20px}
  .blog-article-visual img{min-height:220px;aspect-ratio:16/10}
  .blog-article-visual figcaption{padding:20px;text-align:left}
  .blog-article-visual p{font-size:14.5px;line-height:1.55}
  .blog-article-section{margin-top:26px}
  .blog-article-section h2{font-size:29px}
  .blog-article-cta{flex-direction:column;text-align:center;padding:24px 20px;border-radius:20px}
  .blog-article-actions{justify-content:center;width:100%}
  .blog-article-actions .btn{width:100%}
  .request-grid{grid-template-columns:1fr}
  .request-card{padding:24px 20px}

  /* bottom nav */
  .bottom-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;
    background:rgba(255,254,251,.94);backdrop-filter:blur(12px);
    border-top:1px solid var(--border);padding:9px 6px calc(9px + env(safe-area-inset-bottom));
    justify-content:space-around;
  }
  .bottom-nav a{
    display:flex;flex-direction:column;align-items:center;gap:3px;
    font-size:10.5px;font-weight:700;color:var(--muted);flex:1;padding:5px 2px;letter-spacing:.02em;
  }
  .bottom-nav a .bn-ico{width:22px;height:22px;display:grid;place-items:center}
  .bottom-nav a.active{color:var(--green)}
  .footer{margin-bottom:64px}
  /* 761–900: right-aligned pill UNDER the chat pill (owner, 2026-07-25) —
     the old left:14/right:14 stretch spanned the viewport and ran straight
     through «Чат з нами». ≤760 keeps its own circle override (Patch
     82.9.88.6.*, further down, !important). */
  .fast-contact-fab{
    left:auto;
    right:22px;
    bottom:calc(78px + env(safe-area-inset-bottom));
  }
  .fast-contact-card{border-radius:20px;padding:22px 18px}
}

/* home-photo-custom: одноколонковий режим і мобільні позиції позначок —
   перенесено з @media(max-width:900px): мобільний поліш секції (патчі
   82/82.1) стартує з ≤760, і смуга 761–900 показувала «половинчастий»
   вигляд (одноколонкова панель без центрування). 761–900 тепер лишається
   на базовій двоколонковій розкладці (кнопка після fit-content-фіксу
   вміщається), а ≤760 поводиться байт-у-байт як раніше. */
@media(max-width:760px){
  .home-photo-custom{grid-template-columns:1fr;border-radius:var(--r-card)}
  .home-photo-custom-copy{padding:34px 24px 28px;gap:17px}
  .home-photo-custom-copy h2{font-size:clamp(34px,9vw,46px);max-width:11ch}
  .home-photo-custom-copy p{font-size:14.5px}
  .home-photo-custom-copy .btn{width:100%;justify-content:center}
  .home-photo-custom-media{min-height:360px;order:-1}
  .photo-note-main{top:46%;left:44%}
  .photo-mark-left{left:38%;top:51%;width:36%;height:22%}
  .photo-mark-right{right:7%;top:25%;width:19%;height:30%}
  .photo-cursor{left:10%;top:24%}
}

@media(max-width:860px){
  .footer{padding:30px 0 22px}
  .footer-grid{grid-template-columns:1fr;gap:18px}
  .footer-grid,.footer-brand-block,.footer-info-card,.footer-contact-block{text-align:center}
  .footer-brand-block{gap:12px;justify-items:center}
  .footer-brand-block p{font-size:14px;max-width:34em}
  .footer-payments,.footer-badges,.footer-socials{justify-content:center}
  .footer-socials{max-width:none}
  .footer-info-card{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:16px 0 0}
  .footer-info-card p{margin-inline:auto}
  .footer-contact-block{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px 10px}
  .footer-contact-block .footer-kicker,.footer-contact-block .footer-socials{width:100%}
  .footer-contact-block>a{font-size:13.5px;white-space:nowrap;gap:5px}
  .footer-contact-icon{width:13px;height:13px}
  .footer-socials{padding-top:0}
  .footer-bottom{align-items:center;justify-content:center;flex-direction:column;gap:8px;margin-top:22px;padding-top:14px;text-align:center}
  .footer-links{justify-content:center;gap:12px}
}

@media(max-width:560px){
  h1{font-size:34px}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .fast-contact-fab{font-size:13.5px;min-height:52px}
  .grid,.grid.three{grid-template-columns:1fr;gap:18px}
  .product-image{aspect-ratio:16/11}
  .blog-card{grid-template-columns:1fr}
  .blog-card-media{aspect-ratio:16/9;min-height:0}
  .blog-card-title{font-size:25px}
  .about-proof{grid-template-columns:1fr}
  .about-proof-item,.about-proof-item:nth-child(-n+2){border-top:1px solid var(--border)}
  .about-proof-item:first-child{border-top:0}
  .about-intro h2,.about-craft-copy h2,.about-service h2,.about-faq h2,.about-contact h2{font-size:32px}
}

/* ============================================================
   VISUAL NOTES  ("Покажіть, що хочете змінити")
   ============================================================ */
.ta-vn{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.ta-vn-card{
  background:linear-gradient(150deg,var(--soft),#F4EFE6);
  border:1px solid var(--border);border-radius:var(--r-sm);padding:20px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.ta-vn-copy{flex:1;min-width:200px}
.ta-vn-kicker{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:7px}
.ta-vn-copy h4{font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:0;margin:0 0 6px;line-height:1.08}
.ta-vn-copy p{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0}
.ta-vn-actions{display:flex;gap:10px;flex-wrap:wrap}
.ta-vn-actions .btn{min-height:46px;padding:0 18px;font-size:13.5px}
.ta-vn-open{position:relative}
.ta-vn-open::before{content:"✎";margin-right:8px;font-size:15px}
.ta-vn-ref-label{cursor:pointer}

.ta-vn-result{
  display:flex;align-items:center;gap:16px;
  background:var(--card);border:1px solid var(--clay);border-radius:var(--r-sm);padding:14px 16px;
}
.ta-vn-result-copy{flex:1;display:flex;flex-direction:column;gap:3px}
.ta-vn-result-copy span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);font-weight:800}
.ta-vn-result-copy strong{font-size:14px;font-weight:700;color:var(--text)}
.ta-vn-thumb{width:124px;height:88px;object-fit:cover;object-position:center;border-radius:14px;border:1px solid var(--border);background:var(--soft);flex-shrink:0;display:block}
.ta-vn-result-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.ta-vn-result-actions button{
  border:1px solid var(--border);background:var(--card);border-radius:var(--r-pill);
  font-family:var(--sans);font-weight:700;font-size:12px;padding:7px 14px;color:var(--text);transition:.2s;
}
.ta-vn-result-actions button:hover{border-color:var(--clay);color:var(--clay)}

.ta-vn-reference-result{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--soft);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 16px;font-size:13.5px;
}
.ta-vn-reference-result strong{font-weight:700}
.ta-vn-reference-remove{
  border:none;background:transparent;color:var(--muted);font-family:var(--sans);font-weight:700;font-size:13px;cursor:pointer;
}
.ta-vn-reference-remove:hover{color:var(--clay)}
.ta-vn-comment-label{display:flex;flex-direction:column;gap:9px;font-weight:700;font-size:14px}

/* modal */
.ta-vn-modal{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(28,28,26,.62);backdrop-filter:blur(6px);padding:24px;
  animation:fade .25s ease;
}
.ta-vn-modal[hidden]{display:none}
body.ta-vn-modal-open{overflow:hidden}
.ta-vn-modal-inner{
  background:var(--paper);border-radius:var(--r-card);box-shadow:0 40px 100px rgba(0,0,0,.4);
  width:min(760px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;
}
.ta-vn-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}
.ta-vn-modal-head small{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:3px}
.ta-vn-modal-head strong{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:0}
.ta-vn-close{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--card);
  font-size:22px;line-height:1;color:var(--muted);cursor:pointer;transition:.2s;flex-shrink:0;
}
.ta-vn-close:hover{border-color:var(--clay);color:var(--clay)}
.ta-vn-workspace{
  position:relative;flex:1;overflow:auto;background:var(--soft);
  display:flex;align-items:center;justify-content:center;padding:18px;
}
.ta-vn-base-image{display:block;max-width:100%;max-height:60vh;border-radius:12px;-webkit-user-drag:none;user-select:none;position:relative;z-index:1}
.ta-vn-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:12px;cursor:crosshair;touch-action:none;z-index:2}
.ta-vn-toolbar{display:flex;gap:8px;padding:16px 22px;border-top:1px solid var(--border);flex-wrap:wrap;position:relative;z-index:10;background:var(--paper)}
.ta-vn-tool{
  position:relative;z-index:11;pointer-events:auto;
  height:44px;padding:0 18px;border-radius:var(--r-btn);border:1px solid var(--border);
  background:var(--card);font-family:var(--sans);font-weight:700;font-size:13.5px;color:var(--text);cursor:pointer;transition:.2s;
}
.ta-vn-tool:hover{border-color:var(--clay);color:var(--clay)}
.ta-vn-tool.is-active{background:var(--clay);border-color:var(--clay);color:#fff}
.ta-vn-done{margin-left:auto;background:var(--green);border-color:var(--green);color:#fff;position:relative;z-index:12;pointer-events:auto}
.ta-vn-done:hover{background:var(--green2);border-color:var(--green2);color:#fff}
.ta-vn-done.is-active,.ta-vn-done{color:#fff}

/* request form preview */
.request-visual{
  grid-column:1/-1;display:flex;gap:16px;align-items:flex-start;
  background:var(--soft);border:1px solid var(--clay);border-radius:var(--r-sm);padding:16px 18px;
}
.request-visual img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid var(--border);flex-shrink:0}
.request-visual .rv-body{flex:1;display:flex;flex-direction:column;gap:5px}
.request-visual .rv-body span{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);font-weight:800}
.request-visual .rv-body strong{font-size:15px}
.request-visual .rv-body small{color:var(--muted);font-size:13px;line-height:1.45}

@media(max-width:900px){
  .ta-vn-card{flex-direction:column;align-items:stretch}
  .ta-vn-actions .btn{width:100%}
  .ta-vn-toolbar{position:sticky;bottom:0;background:var(--paper)}
  .ta-vn-done{margin-left:0;flex:1 0 100%;order:5}
  .ta-vn-base-image{max-height:52vh}
}

/* ============================================================
   AUTH — header chip + login page
   ============================================================ */
.auth-slot{display:flex;align-items:center;gap:8px}
.auth-chip{
  display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 16px 0 13px;
  border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);
  color:var(--text);font-weight:700;font-size:13.5px;transition:.2s;
}
.auth-chip:hover{border-color:var(--green);color:var(--green)}
.auth-chip .auth-ic{display:grid;place-items:center}
.auth-chip.in{padding-left:7px}
.auth-av{
  width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;
  display:grid;place-items:center;font-size:12.5px;font-weight:800;letter-spacing:.02em;flex-shrink:0;
}
.auth-meta{display:flex;flex-direction:column;line-height:1.1}
.auth-meta b{font-size:13.5px;font-weight:800}
.auth-meta small{font-size:11px;color:var(--muted);font-weight:600}
.auth-chip.in:hover .auth-meta small{color:var(--green)}
.auth-out{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:var(--card);
  color:var(--muted);font-size:17px;line-height:1;transition:.2s;
}
.auth-out:hover{border-color:var(--clay);color:var(--clay)}

/* login page */
.login-layout{
  display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch;
  max-width:980px;margin:14px auto 0;
}
.login-layout--single{grid-template-columns:minmax(0,640px);justify-content:center;max-width:720px}
.login-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  padding:40px 42px;box-shadow:var(--soft-shadow);
}
.login-card h1{font-size:clamp(30px,3.4vw,40px);margin:2px 0 12px}
.login-card .subtle{font-size:15.5px;margin-bottom:8px}
.login-active{
  background:var(--soft);border:1px solid var(--green);border-radius:var(--r-sm);
  padding:13px 16px;font-size:14px;color:var(--green2);margin:18px 0 4px;
}
.login-active a{color:var(--green2);font-weight:800;text-decoration:underline}
.login-form{margin-top:8px}
.login-error{
  background:#FBEDE9;border:1px solid var(--clay);border-radius:var(--r-sm);
  padding:12px 15px;font-size:13.5px;color:var(--clay);font-weight:600;margin-top:16px;
}
.login-error.is-success{background:var(--soft);border-color:rgba(76,88,70,.28);color:var(--green2)}
.login-note{
  margin:4px 0 8px;
  padding:12px 14px;
  border:1px solid rgba(76,88,70,.22);
  border-radius:var(--r-sm);
  background:var(--soft);
  color:var(--muted);
  font-size:13.5px;
  line-height:1.45;
}
.login-form .btn.block{margin-top:22px}
.login-link-row{margin-top:16px;text-align:center;font-size:14px}
.login-link-row a{color:var(--green2);font-weight:800;text-decoration:none}
.login-link-row a:hover{text-decoration:underline}

.login-aside{
  background:linear-gradient(155deg,var(--green),var(--green2));color:#fff;
  border-radius:var(--r-card);padding:40px 38px;display:flex;flex-direction:column;
  box-shadow:var(--soft-shadow);position:relative;overflow:hidden;
}
.login-aside::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 100% 0%,rgba(255,255,255,.16),transparent 58%)}
.login-aside h2{color:#fff;font-size:clamp(26px,2.7vw,32px);margin:26px 0 12px;position:relative}
.login-aside p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.55;position:relative;margin-bottom:22px}
.login-aside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;position:relative}
.login-aside-list li{position:relative;padding-left:26px;font-size:14.5px;color:rgba(255,255,255,.92)}
.login-aside-list li::before{content:"✓";position:absolute;left:0;top:0;font-weight:800;color:#fff;opacity:.85}

@media(max-width:900px){
  .auth-chip .auth-label,.auth-chip .auth-meta{display:none}
  .auth-chip{padding:0;width:46px;justify-content:center}
  .auth-chip.in{padding:0;width:46px}
  .login-layout{grid-template-columns:1fr;gap:18px}
  .login-layout--single{grid-template-columns:1fr}
  .login-aside{order:-1;padding:28px 24px}
  .logo-badge--large{margin-bottom:14px}
  .login-card{padding:26px 22px}
}


/* Patch 50.1 — Cart UI polish + counter */
.cart-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;margin-left:5px;
  border-radius:999px;background:var(--green);color:#fff;
  font-family:var(--sans);font-size:11px;font-weight:800;line-height:1;
  box-shadow:0 8px 18px rgba(75,87,69,.18);
}
.cart-count[hidden]{display:none}
.cart-count.bottom{position:relative;top:-1px;margin-left:2px;min-width:18px;height:18px;font-size:10px}
.cart-card-btn{position:relative}

.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:24px;align-items:start}
.cart-list{display:grid;gap:16px}
.cart-item{
  display:grid;grid-template-columns:132px minmax(0,1fr) 132px;gap:20px;align-items:start;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  padding:16px;box-shadow:var(--soft-shadow);
}
.cart-item.is-unavailable{border-color:rgba(168,95,74,.42);background:#fffaf6}
.cart-item-media{display:block;border-radius:20px;overflow:hidden;background:var(--soft);border:1px solid var(--border)}
.cart-item-media img{width:132px;height:118px;object-fit:cover;transition:.3s}
.cart-item-media:hover img{transform:scale(1.035)}
.cart-item-body{display:grid;gap:10px;min-width:0}
.cart-item-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}
.cart-item-head strong{display:block;font-size:18px;color:var(--text);font-weight:800;line-height:1.2;margin-bottom:4px}
.cart-item-head span{display:block;font-size:11.5px;color:var(--muted);font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.cart-remove{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--paper);
  color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center;flex-shrink:0;transition:.2s;
}
.cart-remove:hover{border-color:var(--clay);color:var(--clay);background:#fff7f3}
.cart-config-title{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:800}
.cart-item pre{margin:0;white-space:pre-wrap;font-family:var(--sans);font-size:13px;line-height:1.48;color:var(--muted);background:var(--soft);border:1px solid rgba(230,222,210,.7);border-radius:16px;padding:11px 12px}
.cart-item-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:2px}
.qty-control{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--paper);overflow:hidden;height:42px}
.qty-control button{width:38px;height:40px;border:0;background:transparent;color:var(--text);font-size:18px;font-weight:800;transition:.2s}
.qty-control button:hover{background:var(--soft);color:var(--green)}
.qty-control input{width:56px;height:40px;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--card);text-align:center;font:inherit;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:40px;appearance:textfield;-moz-appearance:textfield;padding:0 6px}
.qty-control input::-webkit-outer-spin-button,.qty-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-price-note{display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--muted)}
.cart-price-note span,.cart-line-total span{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.cart-price-note b{font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}
.cart-line-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap;text-align:right}
.cart-line-total b{font-size:20px;font-weight:900;color:var(--green2);font-variant-numeric:tabular-nums}
.cart-summary{position:sticky;top:96px;display:grid;gap:14px;padding:24px;min-width:0;overflow:hidden}
.cart-total{font-size:32px;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}
.cart-summary-lines{display:grid;gap:8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}
.cart-summary-lines div{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;font-size:13px;color:var(--muted);min-width:0}
.cart-summary-lines span{min-width:0}
.cart-summary-lines b{color:var(--text);font-size:13px;text-align:right;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.cart-status{display:grid;gap:8px}
.cart-warning{border-radius:14px;background:#fff2e8;color:#8a3f16;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}
.cart-ok{border-radius:14px;background:#eef7ef;color:var(--green2);padding:10px 12px;font-size:13px;font-weight:800;line-height:1.45}
.cart-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px}
.cart-actions .btn{width:100%;min-width:0;white-space:normal}
.cart-note{font-size:12.5px;margin:0;line-height:1.5}

.cart-checkout-links-note{display:grid;gap:7px;color:var(--muted)}
.cart-checkout-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:800;color:var(--green)}
.cart-checkout-links a{color:var(--green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cart-checkout-links a:hover{color:var(--green2)}
.cart-empty-state{
  display:grid;justify-items:center;text-align:center;gap:12px;background:var(--card);
  border:1px dashed var(--border);border-radius:var(--r-card);padding:46px 28px;box-shadow:var(--soft-shadow);
}
.cart-empty-state .subtle{max-width:52ch;font-size:15px}
.cart-empty-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--border);font-size:26px}
.cart-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:4px}

/* .btn sets display:flex, which beats the UA [hidden] rule — without this
   the restore button stays visible on carts where restoreAvailable is false */
#cartRestoreBtn[hidden]{display:none!important}

.cart-toast{position:fixed;right:24px;bottom:24px;z-index:220;width:min(560px,calc(100vw - 32px));animation:fade .2s ease}
.cart-toast[hidden]{display:none}
.cart-toast-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;background:rgba(255,254,251,.98);border:1px solid var(--border);border-radius:22px;padding:14px 15px;box-shadow:0 26px 80px rgba(45,45,42,.18);backdrop-filter:blur(12px)}
.cart-toast-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;font-size:18px;box-shadow:0 12px 24px rgba(75,87,69,.22)}
.cart-toast-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.cart-toast-copy strong{font-size:15px;color:var(--text)}
.cart-toast-copy span{font-size:13px;color:var(--muted);line-height:1.35}
.cart-toast-actions{display:flex;gap:8px;align-items:center}
.cart-toast-actions .btn{min-height:42px;padding:0 16px;font-size:13px}

@media(max-width:900px){
  .cart-layout{grid-template-columns:1fr}
  .cart-summary{position:static}
  .cart-item{grid-template-columns:96px minmax(0,1fr);gap:14px;border-radius:20px;padding:12px}
  .cart-item-media img{width:96px;height:92px}
  .cart-line-total{grid-column:2;align-items:flex-start;text-align:left;border-top:1px solid var(--border);padding-top:10px;width:100%}
  .cart-item-head{display:grid;grid-template-columns:1fr auto;gap:8px}
  .cart-item-head strong{font-size:16px}
  .cart-item-controls{align-items:flex-start}
  .cart-toast{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto}
  .cart-toast-card{grid-template-columns:38px minmax(0,1fr);border-radius:20px}
  .cart-toast-icon{width:38px;height:38px;font-size:16px}
  .cart-toast-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cart-toast-actions .btn{width:100%;padding:0 10px}
}
@media(max-width:560px){
  .product-actions{grid-template-columns:1fr}
  .product-actions .cart-card-btn{width:100%}
  .cart-item{grid-template-columns:84px minmax(0,1fr)}
  .cart-item-media img{width:84px;height:84px}
  .qty-control{height:40px}
  .qty-control button{width:34px;height:38px}
  .qty-control input{width:50px;height:38px;line-height:38px}
  .cart-summary{padding:20px}
}


/* Patch 51 — Checkout Foundation */
.cart-checkout-form{
  display:grid;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid var(--border);
}
.cart-checkout-form[hidden]{display:none}
.cart-checkout-title{display:grid;gap:4px;margin-bottom:2px}
.cart-checkout-title strong{font-size:15px;color:var(--text);font-weight:900}
.cart-checkout-title span{font-size:12.5px;color:var(--muted);line-height:1.45}
.cart-checkout-form .field{display:grid;gap:6px;margin:0}
.cart-checkout-form .field label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:800}
.cart-checkout-form input,.cart-checkout-form select,.cart-checkout-form textarea{width:100%}
.cart-checkout-form textarea{resize:vertical;min-height:88px}
.cart-checkout-form .btn.block{width:100%;justify-content:center;margin-top:2px}
.cart-checkout-done{border-style:solid;background:#fbfff9}

/* Patch 51.1 — Nova Poshta checkout delivery */
.np-city-field{position:relative}
.np-suggestions{
  position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:60;
  display:grid;gap:4px;max-height:260px;overflow:auto;padding:8px;
  background:rgba(255,254,251,.98);border:1px solid var(--border);border-radius:16px;
  box-shadow:0 18px 50px rgba(45,45,42,.14);backdrop-filter:blur(10px)
}
.np-suggestions[hidden]{display:none}
.np-suggestion{
  width:100%;border:0;background:transparent;text-align:left;border-radius:12px;
  padding:10px 11px;display:grid;gap:2px;cursor:pointer;color:var(--text)
}
.np-suggestion:hover,.np-suggestion:focus-visible{background:var(--soft);outline:none}
.np-suggestion b{font-size:14px;font-weight:900}
.np-suggestion span{font-size:12.5px;color:var(--muted);line-height:1.35}
.np-helper{font-size:12.5px;color:var(--muted);line-height:1.4}
.np-helper.is-ok{color:#4b5745;font-weight:800}
.np-helper.is-error{color:#a14c42;font-weight:800}
.np-warehouse-field[hidden]{display:none}
.np-warehouse-field select:disabled{opacity:.68;cursor:not-allowed}

/* Patch 51.3 — Checkout validation and UX hardening */
.cart-checkout-form.is-submitting{opacity:.82;pointer-events:none}
.cart-checkout-form .is-invalid{border-color:#b85a4b!important;box-shadow:0 0 0 3px rgba(184,90,75,.12)!important;background:#fffaf8}
.checkout-field-error{font-size:12.5px;color:#a14c42;font-weight:800;line-height:1.35}
.cart-lead-number{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:var(--soft);padding:8px 14px;margin:0;color:var(--green2);font-weight:900;letter-spacing:.02em}

/* Patch 51.5.1 — Nova Poshta warehouse delivery fix */
.cart-checkout-form .field[hidden]{display:none}
.np-address-field[hidden]{display:none}

/* Patch 51.6 — Checkout final review step */
.cart-checkout-review{
  display:grid;gap:12px;border:1px solid var(--border);border-radius:18px;background:var(--soft);padding:14px;margin-top:2px;
}
.cart-checkout-review[hidden]{display:none}
.checkout-review-head{display:grid;gap:4px}
.checkout-review-head strong{font-size:16px;font-weight:900;color:var(--text);line-height:1.25}
.checkout-review-head p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}
.checkout-review-grid{display:grid;gap:10px}
.checkout-review-card{display:grid;gap:10px;background:rgba(255,254,251,.78);border:1px solid rgba(215,207,195,.72);border-radius:16px;padding:12px}
.checkout-review-card h4{margin:0;font-size:13px;font-weight:900;color:var(--text)}
.checkout-review-rows{display:grid;gap:8px}
.checkout-review-rows div,.checkout-review-total{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.35}
.checkout-review-rows span,.checkout-review-total span{color:var(--muted);min-width:0}
.checkout-review-rows b,.checkout-review-total b{color:var(--text);font-weight:900;text-align:right;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.checkout-review-items{display:grid;gap:8px;min-width:0}
.checkout-review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid var(--border);padding-top:9px;min-width:0}
.checkout-review-item:first-child{border-top:0;padding-top:0}
.checkout-review-item div{display:grid;gap:3px;min-width:0}
.checkout-review-item strong{font-size:13.5px;color:var(--text);font-weight:900;min-width:0;overflow-wrap:anywhere}
.checkout-review-item span,.checkout-review-item small{font-size:12px;color:var(--muted);line-height:1.35;white-space:pre-wrap;min-width:0;overflow-wrap:anywhere}
.checkout-review-item b{font-size:13px;color:var(--green2);font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.checkout-review-total{border-top:1px solid var(--border);padding-top:10px;font-size:14px}
.checkout-review-total b{font-size:18px;color:var(--green2);font-variant-numeric:tabular-nums}
.checkout-review-comment{margin:0;color:var(--text);font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.checkout-review-empty{border:1px dashed var(--border);border-radius:14px;padding:10px;color:var(--muted);font-size:12.5px;line-height:1.4;background:rgba(255,255,255,.55)}
@media(min-width:700px){.cart-list .checkout-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  .checkout-review-card{padding:10px;border-radius:14px}
  .checkout-review-rows div,.checkout-review-total{grid-template-columns:1fr;gap:3px}
  .checkout-review-rows b,.checkout-review-total b{text-align:left}
  .checkout-review-item{grid-template-columns:1fr;gap:5px}
  .checkout-review-item b{white-space:normal}
}


/* Patch 54 — Cookie Consent Foundation */
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-links{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-links a,.footer-cookie-link{font:inherit;color:rgba(255,255,255,.78);background:transparent;border:0;padding:0;text-decoration:none;cursor:pointer}
.footer-links a:hover,.footer-cookie-link:hover{color:#fff;text-decoration:underline}
.cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:1000;padding:18px;background:linear-gradient(180deg,rgba(45,45,42,0),rgba(45,45,42,.14))}
.cookie-consent[hidden],.cookie-modal[hidden]{display:none!important}
.cookie-consent-card{max-width:1120px;margin:0 auto;background:rgba(255,254,251,.98);border:1px solid var(--border);border-radius:24px;box-shadow:0 24px 70px rgba(45,45,42,.18);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cookie-consent-copy{display:grid;gap:4px;min-width:0}.cookie-consent-copy .eyebrow{margin-bottom:4px}.cookie-consent-copy strong{font-size:18px;color:var(--text);font-weight:900}.cookie-consent-copy p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;max-width:74ch}.cookie-consent-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.cookie-consent-actions .btn{min-height:44px;padding:0 18px}
.cookie-modal{position:fixed;inset:0;z-index:1010;display:grid;place-items:center;padding:18px}.cookie-modal-backdrop{position:absolute;inset:0;background:rgba(45,45,42,.48);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.cookie-modal-card{position:relative;width:min(720px,100%);max-height:min(760px,calc(100vh - 36px));background:var(--paper);border:1px solid var(--border);border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.cookie-modal-head{padding:22px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cookie-modal-head h2{font-size:clamp(28px,3.2vw,38px)}.cookie-modal-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--card);font-size:28px;line-height:1;color:var(--text)}.cookie-modal-body{padding:20px 24px;overflow:auto;display:grid;gap:18px}.cookie-category-list{display:grid;gap:12px}.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:18px;background:var(--card);padding:16px}.cookie-category.is-required{background:var(--soft)}.cookie-category span{display:grid;gap:4px}.cookie-category strong{font-size:15px;font-weight:900;color:var(--text)}.cookie-category small{font-size:12.5px;line-height:1.45;color:var(--muted)}.cookie-category input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}.cookie-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:rgba(255,254,251,.95);position:sticky;bottom:0}.cookie-modal-open{overflow:hidden}.cookie-policy-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:22px;align-items:start}.cookie-policy-card{display:grid;gap:18px}.cookie-policy-card h2,.cookie-policy-card h3{margin:0}.cookie-policy-list{display:grid;gap:14px}.cookie-policy-list div{border-top:1px solid var(--border);padding-top:14px;display:grid;gap:4px}.cookie-policy-list div:first-child{border-top:0;padding-top:0}.cookie-policy-list strong{font-weight:900;color:var(--text)}.cookie-policy-list p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.cookie-policy-actions .btn{width:100%}
@media(max-width:820px){.cookie-consent-card{align-items:stretch;flex-direction:column}.cookie-consent-actions{justify-content:stretch}.cookie-consent-actions .btn{width:100%}.cookie-modal-footer{display:grid;grid-template-columns:1fr}.cookie-policy-layout{grid-template-columns:1fr}.footer-row{align-items:flex-start;flex-direction:column}.footer-links{gap:10px}.cookie-modal-card{border-radius:20px}.cookie-modal-head,.cookie-modal-body,.cookie-modal-footer{padding-left:18px;padding-right:18px}}

/* Patch 58: SEO content blocks */
.category-seo-panel{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);
  gap:18px;
  margin-top:30px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:var(--r-card);
  background:linear-gradient(135deg,rgba(255,254,251,.88),rgba(245,241,234,.72));
  box-shadow:0 18px 60px rgba(55,48,39,.06);
}
.category-seo-copy{display:grid;gap:10px;align-content:start}
.category-seo-copy h2{font-size:clamp(30px,3.2vw,46px);line-height:.98;margin:0;color:var(--text)}
.category-seo-copy p{margin:0;color:var(--muted);font-size:15px;line-height:1.65;max-width:76ch}
.category-seo-copy ul{margin:4px 0 0;padding-left:20px;color:var(--text);display:grid;gap:6px;font-size:14.5px;line-height:1.45}
.category-seo-faq{display:grid;gap:10px;align-content:start}
.category-seo-faq h3{font-size:20px;margin:0;color:var(--text)}
.category-seo-faq details{border:1px solid var(--border);border-radius:16px;background:rgba(255,254,251,.74);padding:12px 14px}
.category-seo-faq summary{cursor:pointer;font-weight:800;color:var(--text);line-height:1.35}
.category-seo-faq p{margin:8px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
@media(max-width:820px){.category-seo-panel{grid-template-columns:1fr;padding:18px;margin-top:22px}.category-seo-copy h2{font-size:30px}}

/* Patch 59.2 — Ready set per-item configurator flow */
.set-composition-panel{
  display:grid;
  gap:14px;
  overflow:visible;
  background:transparent;
  border-radius:0;
}
.set-cover-card{
  display:grid;
  gap:9px;
  border:1px solid var(--border);
  border-radius:var(--r-card);
  padding:10px;
  background:rgba(255,254,251,.82);
  box-shadow:var(--soft-shadow);
}
.set-cover-image-wrap{position:relative}
.set-cover-card img{
  width:100%;
  max-height:260px;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:calc(var(--r-card) - 10px);
  display:block;
}
.set-cover-card span{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.45;
}
.set-composition-panel-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:2px 2px 0;
}
.set-composition-panel-head strong{font-size:13px;color:var(--green2);white-space:nowrap}
.set-composition-list{display:grid;gap:10px}
.set-composition-choice{
  display:grid;
  grid-template-columns:auto 74px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,254,251,.82);
  padding:9px;
  min-width:0;
}
.set-composition-num{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--soft);border:1px solid var(--border);color:var(--green);font-size:11px;font-weight:900;
}
.set-composition-choice img{width:74px;height:58px;object-fit:cover;border-radius:12px;background:var(--soft)}
.set-composition-choice div{min-width:0;display:grid;gap:2px}
.set-composition-choice small{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--green);font-weight:900}
.set-composition-choice strong{font-size:13.5px;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.set-composition-choice em{font-style:normal;color:var(--muted);font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn.mini{min-height:34px;padding:0 12px;font-size:12px;border-radius:999px;white-space:nowrap}
.set-configurator-head{
  display:grid;
  gap:5px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--soft);
  padding:14px;
  margin-bottom:12px;
}
.set-configurator-head strong{font-size:16px;color:var(--text);font-weight:900}
.set-configurator-head small{font-size:12.5px;color:var(--muted);line-height:1.45}
.set-configurator-products{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.set-configurator-product{
  display:grid;
  grid-template-columns:auto 56px minmax(0,1fr);
  gap:9px;
  align-items:center;
  text-align:left;
  border:1px solid var(--border);
  background:rgba(255,254,251,.78);
  border-radius:16px;
  padding:9px;
  color:var(--text);
  transition:.18s;
}
.set-configurator-product:hover,.set-configurator-product.active{
  border-color:rgba(75,87,69,.44);
  box-shadow:0 12px 28px rgba(75,87,69,.10);
  background:#fffefb;
}
.set-configurator-product.active{outline:2px solid rgba(75,87,69,.16)}
.set-configurator-product span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:10.5px;font-weight:900}
.set-configurator-product img{width:56px;height:48px;border-radius:10px;object-fit:cover;background:var(--soft)}
.set-configurator-product b{font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.set-configurator-product small{grid-column:3;color:var(--muted);font-size:11.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){
  .set-composition-choice{grid-template-columns:auto 68px minmax(0,1fr)}
  .set-composition-choice .btn{grid-column:2/-1;width:100%}
  .set-configurator-products{grid-template-columns:1fr}
}
@media(max-width:560px){
  .set-cover-card img{max-height:220px}
  .set-composition-panel-head{align-items:flex-start;flex-direction:column}
  .set-composition-choice{grid-template-columns:56px minmax(0,1fr)}
  .set-composition-num{display:none}
  .set-composition-choice img{width:56px;height:52px}
  .set-composition-choice .btn{grid-column:1/-1}
}

/* Patch 59.2.4 — ready set configurator return/navigation UX */
.set-configurator-head-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.set-configurator-head-row>div{display:grid;gap:5px;min-width:0}
.set-configurator-back{flex:0 0 auto}
.set-configurator-return{
  margin-top:14px;
  padding:14px;
  border:1px dashed var(--border);
  border-radius:18px;
  background:rgba(245,241,234,.58);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.set-configurator-return span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
@media(max-width:720px){
  .set-configurator-head-row,
  .set-configurator-return{align-items:stretch;flex-direction:column}
  .set-configurator-back,
  .set-configurator-return .btn{width:100%}
}

@media(max-width:900px){
  .faq-page{padding:22px 0 72px}
  .faq-hero{
    grid-template-columns:1fr;
    gap:18px;
    text-align:center;
    padding:28px 0 24px;
  }
  .faq-hero-copy{justify-items:center;margin:0 auto}
  .faq-hero h1{font-size:clamp(38px,10vw,54px);line-height:1;max-width:11ch}
  .faq-hero p{font-size:15px;line-height:1.55;max-width:36rem}
  .faq-hero-aside{
    justify-items:center;
    text-align:center;
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid rgba(44,61,48,.18);
  }
  .faq-hero-aside strong{max-width:34rem;font-size:14.5px}
  .faq-prep-row{
    grid-template-columns:1fr;
    gap:1px;
    margin:16px 0 6px;
  }
  .faq-prep-row>div{
    grid-template-columns:auto minmax(0,1fr);
    padding:13px 14px;
    text-align:left;
  }
  .faq-prep-row strong{font-size:14px}
  .faq-prep-row small{font-size:12px}
  .faq-layout{
    grid-template-columns:1fr;
    gap:24px;
    padding-top:22px;
  }
  .faq-topics{
    position:static;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    overflow:visible;
    padding:0 0 8px;
    border:0;
  }
  .faq-topics a{
    flex:1 1 calc(50% - 8px);
    max-width:calc(50% - 4px);
    justify-content:center;
    align-items:center;
    gap:7px;
    padding:9px 10px;
    border:1px solid rgba(44,61,48,.14);
    border-radius:999px;
    background:rgba(255,254,251,.72);
    font-size:12.5px;
    white-space:nowrap;
  }
  .faq-topics .faq-picto{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .faq-topics a:hover{transform:none}
  .faq-groups{gap:28px}
  .faq-group{
  scroll-margin-top:96px;
    grid-template-columns:1fr;
    gap:14px;
    padding-bottom:30px;
  }
  .faq-group-head{
    display:grid;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-align:center;
  }
  .faq-group-num{margin:0 auto}
  .faq-group-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
  }
  .faq-group-title .faq-picto{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
  .faq-group-head h2{max-width:18ch;font-size:28px}
  .faq-list summary{padding:15px 38px 15px 0;font-size:15px}
  .faq-list p{padding:0 34px 16px 0;font-size:14px;line-height:1.6}
  .faq-cta{
    align-items:stretch;
    flex-direction:column;
    text-align:center;
    margin-top:34px;
  }
  .faq-cta h2{font-size:31px}
  .faq-cta p{margin-left:auto;margin-right:auto}
  .faq-cta-actions{justify-content:center}
  .faq-cta-actions .btn{flex:1 1 160px}
  .contacts-page{padding:18px 0 72px}
  .contacts-hero{
    grid-template-columns:1fr;
    gap:16px;
    text-align:center;
    padding:24px 0 20px;
  }
  .contacts-hero-copy{justify-items:center;margin:0 auto}
  .contacts-hero h1{font-size:clamp(40px,10vw,56px);line-height:1;max-width:11ch}
  .contacts-hero p{font-size:15px;line-height:1.55;max-width:34rem}
  .contacts-main-card{
    justify-items:center;
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid rgba(44,61,48,.18);
  }
  .contacts-main-link--phone{font-size:30px}
  .contacts-main-link{font-size:17px}
  .contacts-main-card span{font-size:12.5px}
  .contacts-main-actions{justify-content:center;margin-top:4px}
  .contacts-main-actions a{min-height:34px;font-size:12.5px}
  .contacts-scenarios{
    grid-template-columns:1fr;
    margin:14px 0 24px;
  }
  .contacts-scenarios a{
    min-height:auto;
    padding:16px;
    text-align:center;
  }
  .contacts-scenarios strong{font-size:16px}
  .contacts-grid{grid-template-columns:1fr;gap:16px}
  .contacts-panel{padding:20px 16px;text-align:center}
  .contacts-channel-list a{
    align-items:center;
    flex-direction:column;
    gap:5px;
    padding:13px 0;
  }
  .contacts-channel-list span{text-align:center}
  .contacts-social-list{grid-template-columns:1fr 1fr}
  .contacts-social-list a{
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:0 10px;
    font-size:13.5px;
  }
  .contacts-panel dl div{
    align-items:center;
    flex-direction:column;
    gap:5px;
    padding:13px 0;
  }
  .contacts-panel dd{text-align:center}
  .contacts-cta{
    align-items:stretch;
    flex-direction:column;
    text-align:center;
    margin-top:34px;
  }
  .contacts-cta h2{font-size:31px}
  .contacts-cta p{margin-left:auto;margin-right:auto}
  .contacts-cta-actions{justify-content:center}
  .contacts-cta-actions .btn{flex:1 1 160px}
}

/* Patch 82.9.23: admin product media layout polish */
.admin-product-media-box{
  background:linear-gradient(135deg, rgba(255,254,251,.98), rgba(247,245,239,.72));
  border:1px solid rgba(222,213,199,.88);
  box-shadow:0 18px 44px rgba(52,48,43,.06);
}
.admin-product-media-title{
  margin-bottom:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--green);
}
.admin-product-media-url-grid{margin-bottom:14px}
.admin-media-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
  align-items:stretch;
}
.admin-media-upload-card,
.admin-media-alt-card{
  border:1px solid rgba(222,213,199,.95);
  border-radius:18px;
  background:rgba(255,254,251,.96);
  padding:16px;
  box-shadow:0 10px 24px rgba(52,48,43,.055), inset 0 1px 0 rgba(255,255,255,.72);
}
.admin-media-upload-head{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}
.admin-media-upload-head b{display:block;font-size:15px;color:var(--text);line-height:1.2}
.admin-media-upload-head small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.admin-media-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-grid;
  place-items:center;
  color:var(--green);
  background:linear-gradient(180deg,#fffefb,#f2efe7);
  border:1px solid rgba(222,213,199,.95);
  box-shadow:0 7px 16px rgba(52,48,43,.06), inset 0 1px 0 rgba(255,255,255,.85);
  font-size:17px;
  flex:0 0 auto;
}
.admin-file-input{
  min-height:52px;
  background:#fffefb;
  border-color:rgba(222,213,199,.95);
}
.admin-file-input::file-selector-button{
  margin-right:12px;
  border:1px solid rgba(222,213,199,.95);
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f1ede5);
  color:var(--text);
  padding:9px 14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(52,48,43,.07), inset 0 1px 0 rgba(255,255,255,.9);
}
.admin-media-btn{
  margin-top:12px;
  min-height:48px;
  width:100%;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(180deg,#fffefb,#f1ede5)!important;
  border-color:rgba(222,213,199,.98)!important;
  color:var(--text)!important;
  box-shadow:0 12px 26px rgba(52,48,43,.08), inset 0 1px 0 rgba(255,255,255,.9);
}
.admin-media-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(101,113,95,.55)!important;
  color:var(--green)!important;
  box-shadow:0 16px 32px rgba(52,48,43,.11), inset 0 1px 0 rgba(255,255,255,.95);
}
.admin-media-alt-card{display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--text)}
.admin-media-gallery-card{min-height:100%}
@media (max-width: 760px){
  .admin-media-upload-grid{grid-template-columns:1fr}
}

/* Patch 82.9.25: admin product categories 2 columns and compact media upload */
#apiProductCategories.set-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
#apiProductCategories .pick-row{
  min-height:82px;
  margin:0;
  padding:13px 16px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
}
#apiProductCategories .pick-name{
  min-width:0;
}
#apiProductCategories .pick-name small{
  margin-top:4px;
}

.admin-product-media-box{
  padding:16px!important;
}
.admin-product-media-title{
  margin-bottom:10px;
}
.admin-product-media-url-grid{
  margin-bottom:10px;
}
.admin-media-upload-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.admin-media-upload-card,
.admin-media-alt-card{
  padding:12px;
  border-radius:16px;
}
.admin-media-upload-head{
  gap:9px;
  margin-bottom:9px;
}
.admin-media-upload-head b{
  font-size:14px;
}
.admin-media-upload-head small{
  font-size:11.5px;
  line-height:1.3;
}
.admin-media-icon{
  width:32px;
  height:32px;
  border-radius:12px;
  font-size:15px;
}
.admin-file-input{
  min-height:44px;
  font-size:13px;
}
.admin-file-input::file-selector-button{
  padding:7px 10px;
  border-radius:10px;
  margin-right:8px;
}
.admin-media-btn{
  min-height:42px;
  margin-top:9px;
  border-radius:14px;
  padding-left:10px;
  padding-right:10px;
  font-size:13.5px;
}
.admin-media-alt-card input.input{
  min-height:44px;
}
@media (max-width: 1100px){
  .admin-media-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 760px){
  #apiProductCategories.set-picker{grid-template-columns:1fr;}
  .admin-media-upload-grid{grid-template-columns:1fr;}
}

/* ============================================================
   ABOUT PAGE LAYOUT POLISH — PATCH 82.9.44
   Scope: only the "Про нас" page layout. Locked Home, Catalog,
   Ready Sets, FAQ, Contacts and Footer sections are not changed.
   ============================================================ */
.about-page{
  background:linear-gradient(180deg,#fbfaf7 0%,#f6f1e8 100%);
}
.about-page .wrap{
  max-width:1280px;
}
.about-intro{
  grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
  column-gap:clamp(56px,7vw,118px);
  row-gap:28px;
  padding:clamp(72px,7.2vw,112px) 0 clamp(44px,5vw,76px);
  align-items:start;
}
.about-intro .eyebrow{
  display:block;
  margin-bottom:24px;
}
.about-intro h2{
  max-width:720px;
  font-size:clamp(54px,5.15vw,82px);
  line-height:.93;
  letter-spacing:-.025em;
}
.about-copy{
  max-width:760px;
  gap:clamp(20px,2.2vw,32px);
  color:rgba(58,58,52,.72);
  font-size:clamp(18px,1.36vw,22px);
  line-height:1.72;
}
.about-proof{
  margin:0 0 clamp(56px,6vw,92px);
  border-color:rgba(58,58,52,.16);
  background:rgba(255,254,251,.5);
}
.about-proof-item{
  min-height:170px;
  padding:28px;
}
.about-material-strip{
  margin-bottom:clamp(54px,6vw,86px);
  padding:clamp(42px,5vw,70px) 0;
}
.about-material-copy h2{
  font-size:clamp(42px,3.6vw,58px);
  line-height:.98;
}
.about-material-copy p,
.about-craft-copy p{
  color:rgba(58,58,52,.72);
}
.about-craft{
  grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);
  gap:clamp(46px,6vw,90px);
  padding:clamp(42px,5vw,72px) 0 clamp(72px,7vw,108px);
}
.about-craft-copy{
  max-width:700px;
}
.about-craft-media,
.about-material-media{
  border-radius:22px;
  overflow:hidden;
}
.about-craft-media img,
.about-material-media img,
.about-contact-media img{
  transform:none!important;
  transition:none!important;
}
.about-service{
  border-radius:30px;
  padding:clamp(38px,4.8vw,64px);
}
.about-faq{
  padding:clamp(62px,7vw,96px) 0 clamp(54px,6vw,82px);
}
.about-contact{
  border-radius:30px;
}

@media(max-width:900px){
  .about-page .wrap{
    width:min(100% - 36px,1280px);
  }
  .about-intro{
    grid-template-columns:1fr;
    gap:22px;
    padding:54px 0 34px;
  }
  .about-intro .eyebrow{
    margin-bottom:18px;
  }
  .about-intro h2{
    max-width:760px;
    font-size:clamp(42px,9.2vw,58px);
    line-height:.98;
    letter-spacing:-.02em;
  }
  .about-copy{
    max-width:760px;
    gap:20px;
    font-size:18px;
    line-height:1.68;
  }
  .about-proof{
    grid-template-columns:1fr 1fr;
    margin-bottom:44px;
    border-radius:22px;
    overflow:hidden;
  }
  .about-proof-item{
    min-height:150px;
    padding:22px;
  }
  .about-material-strip{
    gap:22px;
    margin-bottom:42px;
    padding:32px 0 38px;
  }
  .about-craft{
    grid-template-columns:1fr;
    gap:26px;
    padding:32px 0 52px;
  }
  .about-craft-media,
  .about-material-media{
    border-radius:22px;
  }
  .about-craft-media img,
  .about-material-media img{
    aspect-ratio:16/10;
  }
  .about-feature-list{
    grid-template-columns:1fr;
  }
  .about-service{
    grid-template-columns:1fr;
    gap:32px;
    padding:32px 24px;
    border-radius:24px;
  }
  .about-faq{
    grid-template-columns:1fr;
    gap:26px;
    padding:52px 0;
  }
  .about-contact{
    grid-template-columns:1fr;
    border-radius:24px;
  }
  .about-contact-content{
    padding:34px 24px 28px;
  }
  .about-contact-media{
    display:block;
    min-height:260px;
    order:-1;
  }
}

@media(max-width:560px){
  .about-page .wrap{
    width:min(100% - 28px,1280px);
  }
  .about-intro{
    padding:42px 0 28px;
  }
  .about-intro h2{
    font-size:clamp(34px,11vw,46px);
    line-height:1.02;
  }
  .about-copy{
    font-size:16.5px;
    line-height:1.64;
  }
  .about-proof{
    grid-template-columns:1fr;
    margin-bottom:36px;
  }
  .about-proof-item,
  .about-proof-item:nth-child(-n+2){
    border-top:1px solid var(--border);
  }
  .about-proof-item:first-child{
    border-top:0;
  }
  .about-service{
    padding:28px 20px;
  }
  .about-service dl div{
    gap:6px;
  }
  .about-contact-actions .btn{
    width:100%;
  }
}

/* ============================================================
   ABOUT PAGE FULL TYPOGRAPHY AND RESPONSIVE POLISH — PATCH 82.9.45
   Scope: only #about / about-page. Locked sections are untouched.
   ============================================================ */
#about.about-page{
  overflow-x:hidden;
  background:linear-gradient(180deg,#fbfaf7 0%,#f6f1e8 42%,#fbfaf7 100%);
}
#about.about-page .wrap{
  width:min(100% - 72px,1320px);
}
#about .about-hero{
  min-height:min(760px,calc(100svh - 78px));
  border-bottom:1px solid rgba(58,58,52,.12);
}
#about .about-hero-inner{
  max-width:920px;
  padding-top:clamp(92px,10vw,148px);
  padding-bottom:clamp(72px,9vw,124px);
}
#about .about-hero h1{
  max-width:13ch;
  font-size:clamp(58px,7vw,108px);
  line-height:.9;
  letter-spacing:-.035em;
  text-wrap:balance;
}
#about .about-hero p{
  max-width:54ch;
  font-size:clamp(17px,1.25vw,20px);
  line-height:1.6;
}
#about .about-hero-meta{
  max-width:760px;
}
#about .about-intro{
  display:grid;
  grid-template-columns:minmax(390px,.92fr) minmax(460px,1.08fr);
  gap:clamp(54px,7vw,112px);
  padding:clamp(82px,8vw,128px) 0 clamp(54px,5.2vw,84px);
  align-items:start;
}
#about .about-intro h2,
#about .about-craft-copy h2,
#about .about-material-copy h2,
#about .about-service h2,
#about .about-faq h2,
#about .about-contact h2{
  margin:0;
  color:var(--text);
  letter-spacing:-.026em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
#about .about-intro h2{
  max-width:740px;
  font-size:clamp(56px,5.35vw,84px);
  line-height:.95;
}
#about .about-copy{
  max-width:760px;
  gap:clamp(18px,2.1vw,30px);
  font-size:clamp(16px,1.18vw,18px);
  line-height:1.72;
  color:rgba(58,58,52,.74);
}
#about .about-copy p,
#about .about-craft-copy p,
#about .about-material-copy p,
#about .about-service p,
#about .about-faq-list p,
#about .about-contact p{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
#about .about-proof{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0 0 clamp(62px,6.4vw,98px);
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,254,251,.58);
  box-shadow:0 24px 70px rgba(44,61,48,.055);
}
#about .about-proof-item{
  min-height:184px;
  padding:clamp(24px,2.4vw,32px);
  align-content:start;
}
#about .about-proof-item span{
  font-size:clamp(38px,3.5vw,52px);
  letter-spacing:-.03em;
}
#about .about-proof-item strong{
  max-width:24ch;
  font-size:14px;
  letter-spacing:.015em;
}
#about .about-proof-item p{
  max-width:29ch;
}
#about .about-material-strip{
  display:grid;
  grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr);
  gap:clamp(38px,5.8vw,82px);
  align-items:center;
  margin:0 0 clamp(64px,6.2vw,96px);
  padding:clamp(42px,5vw,68px) 0;
  border-top:1px solid rgba(58,58,52,.12);
  border-bottom:1px solid rgba(58,58,52,.12);
}
#about .about-material-copy{
  max-width:600px;
}
#about .about-material-copy h2,
#about .about-craft-copy h2,
#about .about-service h2,
#about .about-faq h2,
#about .about-contact h2{
  font-size:clamp(38px,3.45vw,56px);
  line-height:1;
}
#about .about-material-copy p,
#about .about-craft-copy p{
  font-size:clamp(16px,1.12vw,18px);
  line-height:1.7;
  color:rgba(58,58,52,.74);
}
#about .about-material-media,
#about .about-craft-media{
  border-radius:28px;
  box-shadow:0 28px 78px rgba(44,61,48,.10);
  background:var(--soft);
}
#about .about-material-media img{
  aspect-ratio:16/11;
  width:100%;
  height:auto;
  object-fit:cover;
  display:block;
}
#about .about-craft{
  grid-template-columns:minmax(430px,.95fr) minmax(440px,1.05fr);
  gap:clamp(50px,6.4vw,94px);
  align-items:start;
  padding:clamp(46px,5.4vw,78px) 0 clamp(76px,7vw,112px);
}
#about .about-craft-media{
  top:104px;
}
#about .about-craft-media img{
  aspect-ratio:5/4;
  width:100%;
  height:auto;
  object-fit:cover;
  display:block;
}
#about .about-craft-copy{
  max-width:700px;
  gap:18px;
}
#about .about-feature-list{
  grid-template-columns:1fr;
  gap:13px;
  margin-top:10px;
}
#about .about-feature-list li{
  font-size:15.5px;
  line-height:1.48;
  padding-left:26px;
}
#about .about-service{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,52px);
  padding:clamp(34px,4.5vw,58px);
  border:1px solid rgba(58,58,52,.12);
  border-radius:30px;
  background:rgba(255,254,251,.62);
  box-shadow:0 24px 70px rgba(44,61,48,.055);
}
#about .about-service p{
  max-width:64ch;
  font-size:15.5px;
  line-height:1.68;
}
#about .about-service dl div{
  align-items:flex-start;
}
#about .about-service dt{
  min-width:max-content;
}
#about .about-service dd{
  max-width:42ch;
}
#about .about-faq{
  grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr);
  gap:clamp(38px,5vw,72px);
  padding:clamp(70px,7vw,104px) 0 clamp(56px,5.8vw,86px);
}
#about .about-faq-list summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  font-size:clamp(17px,1.25vw,20px);
  line-height:1.34;
  text-wrap:balance;
}
#about .about-faq-list summary::after{
  float:none;
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(44,91,64,.08);
  font-size:20px;
}
#about .about-faq-list details{
  padding:0 0 18px;
}
#about .about-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin:0 0 24px;
  padding:clamp(38px,4.5vw,58px);
  border:1px solid rgba(58,58,52,.12);
  border-radius:30px;
  background:rgba(255,254,251,.68);
  box-shadow:0 24px 70px rgba(44,61,48,.055);
}
#about .about-contact p{
  max-width:58ch;
}
#about .about-contact-actions{
  justify-content:flex-end;
  min-width:max-content;
}

@media(max-width:1080px){
  #about.about-page .wrap{
    width:min(100% - 48px,1320px);
  }
  #about .about-intro,
  #about .about-material-strip,
  #about .about-craft,
  #about .about-faq{
    grid-template-columns:1fr;
    gap:30px;
  }
  #about .about-intro h2{
    max-width:850px;
    font-size:clamp(48px,7.2vw,70px);
    line-height:.98;
  }
  #about .about-copy{
    max-width:820px;
  }
  #about .about-proof{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #about .about-craft-media{
    position:static;
  }
  #about .about-craft-media img,
  #about .about-material-media img{
    aspect-ratio:16/10;
  }
}

@media(max-width:760px){
  #about.about-page .wrap{
    width:min(100% - 32px,1320px);
  }
  #about .about-hero{
    min-height:auto;
    padding:0;
  }
  #about .about-hero-inner{
    padding-top:46px;
    padding-bottom:42px;
  }
  #about .about-hero h1{
    max-width:11ch;
    font-size:clamp(42px,13vw,62px);
    line-height:.96;
  }
  #about .about-hero p{
    font-size:16px;
    line-height:1.55;
  }
  #about .about-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  #about .about-hero-actions .btn{
    width:100%;
  }
  #about .about-intro{
    padding:44px 0 30px;
  }
  #about .about-intro .eyebrow{
    margin-bottom:14px;
  }
  #about .about-intro h2{
    font-size:clamp(34px,10.8vw,48px);
    line-height:1.04;
    letter-spacing:-.02em;
  }
  #about .about-copy{
    gap:16px;
    font-size:16px;
    line-height:1.62;
  }
  #about .about-proof{
    grid-template-columns:1fr;
    margin-bottom:38px;
    border-radius:22px;
  }
  #about .about-proof-item{
    min-height:auto;
    padding:22px;
    border-left:0;
    border-top:1px solid var(--border);
  }
  #about .about-proof-item:first-child{
    border-top:0;
  }
  #about .about-proof-item span{
    font-size:38px;
  }
  #about .about-material-strip{
    margin-bottom:38px;
    padding:30px 0 36px;
  }
  #about .about-material-copy h2,
  #about .about-craft-copy h2,
  #about .about-service h2,
  #about .about-faq h2,
  #about .about-contact h2{
    font-size:clamp(30px,9vw,40px);
    line-height:1.04;
  }
  #about .about-material-copy p,
  #about .about-craft-copy p,
  #about .about-service p,
  #about .about-faq-list p,
  #about .about-contact p{
    font-size:15.5px;
    line-height:1.62;
  }
  #about .about-material-media,
  #about .about-craft-media{
    border-radius:20px;
    box-shadow:none;
  }
  #about .about-material-media img,
  #about .about-craft-media img{
    aspect-ratio:4/3;
  }
  #about .about-craft{
    padding:30px 0 46px;
  }
  #about .about-feature-list li{
    font-size:14px;
    line-height:1.44;
  }
  #about .about-service{
    grid-template-columns:1fr;
    padding:26px 20px;
    border-radius:22px;
  }
  #about .about-service dl div{
    flex-direction:column;
    gap:5px;
  }
  #about .about-service dd{
    text-align:left;
    max-width:100%;
  }
  #about .about-faq{
    padding:46px 0 42px;
  }
  #about .about-faq-list summary{
    font-size:16px;
  }
  #about .about-contact{
    grid-template-columns:1fr;
    padding:28px 20px;
    border-radius:22px;
  }
  #about .about-contact-actions{
    min-width:0;
    justify-content:stretch;
  }
  #about .about-contact-actions .btn{
    width:100%;
  }
}

@media(max-width:420px){
  #about.about-page .wrap{
    width:min(100% - 24px,1320px);
  }
  #about .about-intro h2{
    font-size:34px;
  }
  #about .about-hero h1{
    font-size:40px;
  }
  #about .about-copy,
  #about .about-material-copy p,
  #about .about-craft-copy p,
  #about .about-service p,
  #about .about-faq-list p,
  #about .about-contact p{
    font-size:15px;
  }
}


/* ============================================================
   ABOUT PAGE SCREENSHOT MATCH - PATCH 82.9.47.1
   Source: user screenshots. No extra blocks.
   ============================================================ */
.about-page{
  padding-top:0;
  overflow:visible;
}
.about-hero{
  position:relative;
  min-height:calc(100svh - 78px);
  display:flex;
  align-items:center;
  overflow:hidden;
  margin-top:-54px;
  isolation:isolate;
}
.about-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  transform:scale(1.02);
}
.about-hero-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(34,36,31,.82),rgba(34,36,31,.45) 46%,rgba(34,36,31,.08));
}
.about-hero-inner{
  color:#fff;
  display:grid;
  gap:18px;
  align-content:center;
  padding-top:60px;
  padding-bottom:60px;
}
.about-hero .eyebrow{color:rgba(255,255,255,.72)}
.about-hero h1{
  max-width:760px;
  color:#fff;
  font-size:clamp(42px,6.4vw,82px);
  line-height:.92;
  margin:0;
  letter-spacing:normal;
  text-wrap:balance;
  animation:aboutRise .7s ease both;
}
.about-hero p{
  max-width:620px;
  color:rgba(255,255,255,.82);
  font-size:clamp(17px,1.7vw,22px);
  line-height:1.5;
  margin:0;
  text-wrap:pretty;
  animation:aboutRise .7s ease .08s both;
}
.about-hero-actions{display:flex;gap:12px;flex-wrap:wrap;animation:aboutRise .7s ease .16s both}
.about-hero .btn.secondary{background:rgba(255,254,251,.92);color:var(--text);border-color:rgba(255,255,255,.4)}
.about-hero-meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
  animation:aboutRise .7s ease .24s both;
}
.about-hero-meta span{position:relative;padding-left:16px}
.about-hero-meta span::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green2);
}
.about-intro{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:48px;
  align-items:start;
  padding:74px 0 40px;
}
.about-intro h2,
.about-craft-copy h2,
.about-service h2,
.about-faq h2,
.about-contact h2{
  font-size:clamp(34px,4.2vw,58px);
  line-height:.98;
  margin:0;
  letter-spacing:normal;
  text-wrap:balance;
}
.about-copy{display:grid;gap:16px;color:var(--muted);font-size:16px;line-height:1.7}
.about-copy p{margin:0;text-wrap:pretty}
.about-proof{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  border-left:0;
  border-right:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  background:transparent;
  margin:20px 0 74px;
}
.about-proof-item{
  min-height:188px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:9px;
  padding:22px;
  border-left:1px solid var(--border);
  border-top:0;
  border-right:0;
  border-bottom:0;
  border-radius:0;
  background:transparent;
  transition:.22s ease;
}
.about-proof-item:first-child{border-left:0}
.about-proof-item:hover{background:var(--soft);transform:translateY(-2px)}
.about-proof-item span{font-family:var(--serif);font-size:42px;line-height:1;color:var(--green2);letter-spacing:normal}
.about-proof-item strong{font-size:15px;font-weight:900;line-height:1.25;color:var(--text);text-transform:uppercase;text-wrap:balance}
.about-proof-item p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;text-wrap:pretty}
.about-material-strip{
  display:none;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.about-material-copy{display:grid;gap:14px}
.about-material-copy h2{
  margin:0;
  font-size:clamp(34px,3vw,46px);
  line-height:1.02;
  letter-spacing:normal;
  text-wrap:balance;
}
.about-material-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.7;text-wrap:pretty}
.about-material-media{overflow:hidden;background:var(--soft);box-shadow:none}
.about-material-picture{display:block}
.about-material-media img{display:block;width:100%;height:auto;object-fit:cover;object-position:center}
.about-craft{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  gap:46px;
  align-items:center;
  padding-bottom:74px;
}
.about-craft-media{
  position:sticky;
  top:102px;
  align-self:start;
  overflow:hidden;
  border-radius:var(--r-banner);
  background:var(--soft);
  box-shadow:var(--shadow);
}
.about-craft-media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.about-craft-media:hover img{transform:none}
.about-craft-copy{display:grid;gap:18px}
.about-craft-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.7;text-wrap:pretty}
.about-feature-list{display:grid;gap:12px;margin:8px 0 0;padding:0;list-style:none;border-top:0}
.about-feature-list li{
  position:relative;
  min-height:0;
  padding:0 0 0 28px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text);
  font-weight:700;
  line-height:1.45;
  text-wrap:balance;
}
.about-feature-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(101,113,95,.12);
}
.about-service{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  padding:48px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  border-radius:0;
  background:transparent;
  color:var(--text);
  box-shadow:none;
}
.about-service>div{display:grid;gap:14px;align-content:start;padding:0;border:0;border-radius:0;background:transparent}
.about-service .eyebrow{color:var(--green)}
.about-service h2{color:var(--text)}
.about-service p{margin:0;color:var(--muted);font-size:15px;line-height:1.65;text-wrap:pretty}
.about-service dl{display:grid;gap:0;margin:10px 0 0;border-top:1px solid var(--border)}
.about-service dl div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--border)}
.about-service dt{font-weight:900;color:var(--text)}
.about-service dd{margin:0;color:var(--muted);text-align:right;overflow-wrap:anywhere}
.about-faq{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:44px;
  padding:74px 0;
}
.about-faq-list{display:grid;gap:10px}
.about-faq-list details{border-bottom:1px solid var(--border);padding:0 0 16px}
.about-faq-list summary{
  display:block;
  cursor:pointer;
  color:var(--text);
  font-size:18px;
  font-weight:900;
  line-height:1.35;
  list-style:none;
  text-wrap:balance;
}
.about-faq-list summary::-webkit-details-marker{display:none}
.about-faq-list summary::after{content:"+";float:right;color:var(--green);font-size:24px;line-height:1;margin:0}
.about-faq-list details[open] summary::after{content:"-"}
.about-faq-list p{margin:10px 0 0;color:var(--muted);line-height:1.65;text-wrap:pretty}
.about-contact{
  margin-bottom:20px;
  padding:38px 0 74px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  border-radius:0;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  overflow:visible;
}
.about-contact p{margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.6;max-width:52ch;text-wrap:pretty}
.about-contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.about-contact-content{display:grid;gap:10px;min-width:0;padding:0}
.about-contact-media{display:none}
.about-contact-media img{width:100%;height:100%;object-fit:cover;display:block}

@media(min-width:901px){
  .about-page{background:linear-gradient(180deg,var(--paper) 0%,#f5f2ec 46%,var(--paper) 100%)}
  .about-page>.wrap{max-width:1180px}
  .about-hero{
    width:min(1180px,calc(100% - 2 * var(--pad)));
    min-height:auto;
    display:grid;
    grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
    gap:44px;
    align-items:center;
    margin:34px auto 0;
    padding:62px 0 74px;
    background:transparent;
    overflow:visible;
  }
  .about-hero img{
    position:relative;
    inset:auto;
    z-index:0;
    width:100%;
    height:auto;
    aspect-ratio:16/11;
    border-radius:8px;
    object-fit:cover;
    object-position:center;
    transform:scale(1);
    filter:saturate(.94) contrast(.98);
    box-shadow:none;
  }
  .about-hero-shade{display:none}
  .about-hero-inner{order:1;width:auto;max-width:none;margin:0;gap:20px;min-height:0;padding:0;color:var(--text)}
  .about-hero .eyebrow{color:var(--green)}
  .about-hero h1{max-width:540px;color:var(--text);font-size:clamp(48px,4.6vw,70px);line-height:.95;letter-spacing:normal}
  .about-hero p{max-width:500px;color:var(--muted);font-size:clamp(18px,1.45vw,22px)}
  .about-hero-actions{margin-top:4px}
  .about-hero .btn.secondary{background:#fffefb;color:var(--text);border-color:var(--border)}
  .about-hero-meta{width:min(640px,100%);margin-top:10px;padding-top:20px;border-top:1px solid rgba(58,58,52,.14);color:var(--muted)}
  .about-intro{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;padding:78px 0 30px}
  .about-intro h2,
  .about-craft-copy h2,
  .about-service h2,
  .about-faq h2,
  .about-contact h2{font-size:clamp(36px,3.5vw,54px);line-height:1.02;letter-spacing:normal}
  .about-intro h2{max-width:560px}
  .about-copy{gap:18px;font-size:17px;line-height:1.72;max-width:none}
  .about-proof{margin:24px 0 42px;background:rgba(255,254,251,.62);border-color:rgba(58,58,52,.16);border-radius:0;box-shadow:none;overflow:visible}
  .about-proof-item{min-height:158px;justify-content:flex-start;padding:26px 28px;border-radius:0;border-top:0;background:transparent}
  .about-proof-item span{font-size:38px;letter-spacing:normal}
  .about-proof-item:hover{background:#fffefb}
  .about-material-strip{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);
    gap:58px;
    align-items:center;
    margin:0 0 52px;
    padding:44px 0 48px;
    border-top:1px solid rgba(58,58,52,.14);
    border-bottom:1px solid rgba(58,58,52,.14);
    border-left:0;
    border-right:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .about-material-copy{max-width:800px}
  .about-material-copy h2{max-width:660px}
  .about-material-copy p{max-width:70ch;font-size:16.5px;line-height:1.74}
  .about-material-media{justify-self:end;width:min(380px,100%);overflow:hidden;border-radius:8px;background:var(--soft);box-shadow:none}
  .about-material-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;filter:saturate(.96) contrast(.98)}
  .about-craft{grid-template-columns:minmax(440px,.96fr) minmax(0,1.04fr);gap:60px;align-items:center;padding:42px 0 86px;border-top:0}
  .about-craft-media{position:relative;top:auto;border-radius:8px;box-shadow:none}
  .about-craft-media img{aspect-ratio:16/11;max-height:560px}
  .about-craft-copy{gap:14px;max-width:650px}
  .about-craft-copy p{font-size:16.5px;line-height:1.66;max-width:66ch}
  .about-feature-list{grid-template-columns:1fr 1fr;gap:13px 22px;margin-top:14px;padding-top:20px;border-top:1px solid rgba(58,58,52,.14)}
  .about-feature-list li{font-size:14px;min-height:0;padding:0 0 0 28px;border:0;border-radius:0;background:transparent}
  .about-feature-list li::before{left:0;top:.55em;width:12px;height:12px;box-shadow:0 0 0 5px rgba(101,113,95,.12)}
  .about-service{gap:52px;margin:0 0 2px;padding:54px 52px;border:0;border-radius:8px;background:var(--text);color:#fff;box-shadow:none}
  .about-service>div{padding:0;border:0;border-radius:0;background:transparent}
  .about-service .eyebrow{color:rgba(255,255,255,.62)}
  .about-service h2{color:#fff}
  .about-service p{color:rgba(255,255,255,.73);font-size:15.5px}
  .about-service dl{border-top:1px solid rgba(255,255,255,.16)}
  .about-service dl div{border-bottom:1px solid rgba(255,255,255,.16)}
  .about-service dt{color:#fff}
  .about-service dd{color:rgba(255,255,255,.74)}
  .about-faq{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:68px;padding:82px 0 66px}
  .about-faq-list{gap:0}
  .about-faq-list details{padding:18px 0}
  .about-faq-list summary{display:block;font-size:19px}
  .about-contact{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(360px,.82fr);
    align-items:stretch;
    gap:34px;
    margin:0 0 72px;
    padding:0;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    overflow:hidden;
    box-shadow:none;
  }
  .about-contact-content{align-content:center;padding:48px 0 48px 48px}
  .about-contact .eyebrow,
  .about-contact p{color:rgba(255,255,255,.76)}
  .about-contact h2{color:#fff}
  .about-contact p{max-width:46ch}
  .about-contact-actions{justify-content:flex-start;gap:12px;margin-top:14px}
  .about-contact-actions .btn.primary{background:#fff;color:var(--green2);border-color:#fff;box-shadow:0 16px 30px rgba(0,0,0,.14)}
  .about-contact-actions .btn.secondary{background:rgba(255,255,255,.94);color:var(--text);border-color:rgba(255,255,255,.94)}
  .about-contact-media{display:block;min-height:360px;overflow:hidden}
  .about-contact-media img{object-position:center}
}

@media(max-width:900px){
  .about-page{padding-bottom:128px}
  .about-hero{min-height:auto;display:grid;gap:0;align-items:start;margin:18px 0 0;padding:0 var(--pad);overflow:visible}
  .about-hero img{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:4/3;border-radius:18px;object-fit:cover;object-position:center;transform:none;filter:saturate(.96) contrast(.98)}
  .about-hero-shade{display:none}
  .about-hero-inner{width:100%;max-width:none;padding:22px 0 0;gap:12px;color:var(--text);justify-items:center;text-align:center}
  .about-hero .eyebrow{color:var(--green)}
  .about-hero h1{max-width:360px;color:var(--text);font-size:clamp(32px,8.7vw,40px);line-height:1.03;letter-spacing:normal}
  .about-hero p{max-width:360px;color:var(--muted);font-size:15.5px;line-height:1.5}
  .about-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;width:auto;max-width:none}
  .about-hero-actions .btn{width:100%}
  .about-hero-actions .btn.lg{min-height:48px;padding:0 10px;font-size:13px;line-height:1.15;text-align:center;white-space:normal}
  .about-hero .btn.secondary{background:#fffefb;color:var(--text);border-color:var(--border)}
  .about-hero-meta{justify-content:center;gap:7px 12px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.3}
  .about-hero-meta span{padding-left:12px}
  .about-hero-meta span::before{top:.5em;width:5px;height:5px;background:var(--green)}
  .about-intro,
  .about-craft,
  .about-service,
  .about-faq{grid-template-columns:1fr;gap:24px}
  .about-intro{padding:46px 0 28px}
  .about-proof{grid-template-columns:1fr 1fr;margin-bottom:46px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fffefb;box-shadow:none}
  .about-proof-item{border-left:0;border-top:1px solid var(--border);min-height:150px;padding:18px;justify-content:flex-start;background:transparent}
  .about-proof-item:nth-child(-n+2){border-top:0}
  .about-proof-item:first-child{border-top:0}
  .about-proof-item span{font-size:clamp(30px,9vw,38px);letter-spacing:normal}
  .about-material-strip{display:grid;grid-template-columns:1fr;gap:18px;margin:0 0 38px;padding:26px 0 32px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}
  .about-material-media{order:-1;border-radius:18px;box-shadow:none}
  .about-material-media img{aspect-ratio:16/10}
  .about-material-copy{gap:10px}
  .about-material-copy h2{font-size:clamp(30px,8vw,38px)}
  .about-material-copy p{font-size:14.5px;line-height:1.62}
  .about-craft{gap:18px;padding-bottom:48px}
  .about-craft-media{position:static;border-radius:18px;box-shadow:none}
  .about-craft-media img{aspect-ratio:16/11}
  .about-craft-copy{gap:12px}
  .about-craft-copy p{font-size:14.5px;line-height:1.62}
  .about-feature-list{gap:10px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}
  .about-feature-list li{font-size:13.5px;line-height:1.4;padding-left:28px;border:0;background:transparent}
  .about-service{padding:34px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text)}
  .about-service>div{padding:0;border:0;background:transparent}
  .about-service .eyebrow{color:var(--green)}
  .about-service h2{color:var(--text)}
  .about-service p{color:var(--muted)}
  .about-service dl{border-top:1px solid var(--border)}
  .about-service dl div{align-items:flex-start;flex-direction:column;gap:5px;border-bottom:1px solid var(--border)}
  .about-service dt{color:var(--text)}
  .about-service dd{color:var(--muted);text-align:left}
  .about-faq{padding:46px 0}
  .about-faq-list details{padding:16px 0}
  .about-contact{align-items:stretch;flex-direction:column;margin:0 0 16px;padding:28px 0 46px;border-radius:0;background:transparent;color:var(--text)}
  .about-contact .eyebrow{color:var(--green)}
  .about-contact h2{color:var(--text)}
  .about-contact p{color:var(--muted)}
  .about-contact-actions{justify-content:stretch}
  .about-contact-actions .btn{width:100%}
}

@media(max-width:520px){
  .about-hero-actions{grid-template-columns:1fr;width:100%;max-width:390px}
  .about-proof{grid-template-columns:1fr}
  .about-proof-item:nth-child(-n+2){border-top:1px solid var(--border)}
  .about-proof-item:first-child{border-top:0}
  .about-feature-list li{padding-left:26px}
}


/* ============================================================
   ABOUT PAGE SCREENSHOT MATCH FIX — PATCH 82.9.47.2
   Reason: previous override used class-only selectors, while older
   #about rules had higher specificity. This block uses #about scope.
   Scope: about page only.
   ============================================================ */
#about.about-page{
  padding-top:0;
  overflow-x:hidden;
  background:linear-gradient(180deg,#fffcf7 0%,#f6f2eb 48%,#fffcf7 100%);
}
#about.about-page > .wrap{
  width:min(100% - 140px,1280px);
  max-width:1280px;
  padding-left:0;
  padding-right:0;
}
#about .about-hero-shade{display:none;}

@media(min-width:901px){
  #about .about-hero{
    width:min(100% - 140px,1280px);
    max-width:1280px;
    min-height:auto;
    display:grid;
    grid-template-columns:minmax(450px,.9fr) minmax(520px,1.1fr);
    gap:58px;
    align-items:center;
    margin:92px auto 0;
    padding:0 0 86px;
    border:0;
    background:transparent;
    overflow:visible;
  }
  #about .about-hero img{
    position:relative;
    inset:auto;
    z-index:0;
    width:100%;
    height:auto;
    aspect-ratio:16/10.4;
    border-radius:8px;
    object-fit:cover;
    object-position:center;
    transform:none;
    filter:saturate(.94) contrast(.98);
    box-shadow:none;
  }
  #about .about-hero-inner{
    order:1;
    width:auto;
    max-width:none;
    min-height:0;
    margin:0;
    padding:0;
    display:grid;
    gap:20px;
    align-content:center;
    justify-items:start;
    color:var(--text);
    text-align:left;
  }
  #about .about-hero .eyebrow{color:var(--green);margin-bottom:4px;}
  #about .about-hero h1{
    max-width:610px;
    color:var(--text);
    font-size:clamp(60px,5.15vw,84px);
    line-height:.94;
    letter-spacing:-.018em;
    text-wrap:balance;
  }
  #about .about-hero p{
    max-width:560px;
    color:var(--muted);
    font-size:clamp(16px,1.18vw,18px);
    line-height:1.48;
  }
  #about .about-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:4px;
  }
  #about .about-hero-actions .btn{min-width:220px;}
  #about .about-hero .btn.secondary{background:#fffefb;color:var(--text);border-color:var(--border);box-shadow:none;}
  #about .about-hero-meta{
    width:100%;
    margin-top:10px;
    padding-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:16px 26px;
    border-top:1px solid rgba(58,58,52,.14);
    color:var(--muted);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
  }
  #about .about-hero-meta span{padding-left:18px;}
  #about .about-hero-meta span::before{background:var(--green);}

  #about .about-intro{
    display:grid;
    grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr);
    gap:clamp(72px,7vw,116px);
    align-items:start;
    padding:clamp(88px,8vw,120px) 0 clamp(54px,5vw,72px);
    border-top:1px solid rgba(58,58,52,.14);
  }
  #about .about-intro .eyebrow{margin-bottom:26px;}
  #about .about-intro h2{
    max-width:560px;
    font-size:clamp(50px,4.5vw,72px);
    line-height:.96;
    letter-spacing:-.018em;
    color:var(--text);
  }
  #about .about-copy{
    max-width:640px;
    display:grid;
    gap:22px;
    color:rgba(58,58,52,.72);
    font-size:clamp(16px,1.18vw,18px);
    line-height:1.72;
  }

  #about .about-proof{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin:0 0 clamp(58px,6vw,84px);
    border-top:1px solid rgba(58,58,52,.16);
    border-bottom:1px solid rgba(58,58,52,.16);
    border-left:0;
    border-right:0;
    border-radius:0;
    overflow:visible;
    background:transparent;
    box-shadow:none;
  }
  #about .about-proof-item{
    min-height:170px;
    padding:30px 28px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:9px;
    border-left:1px solid rgba(58,58,52,.14);
    border-top:0;
    border-right:0;
    border-bottom:0;
    border-radius:0;
    background:transparent;
  }
  #about .about-proof-item:first-child{border-left:0;}
  #about .about-proof-item span{
    font-size:clamp(36px,3.2vw,48px);
    line-height:1;
    letter-spacing:-.018em;
    color:var(--green2);
  }
  #about .about-proof-item strong{
    max-width:24ch;
    color:var(--text);
    font-size:14px;
    font-weight:900;
    line-height:1.22;
    text-transform:uppercase;
  }
  #about .about-proof-item p{
    max-width:29ch;
    color:var(--muted);
    font-size:13.5px;
    line-height:1.45;
  }

  #about .about-material-strip{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.46fr);
    gap:clamp(56px,7vw,104px);
    align-items:center;
    margin:0 0 clamp(60px,6vw,84px);
    padding:clamp(48px,5vw,72px) 0;
    border-top:1px solid rgba(58,58,52,.14);
    border-bottom:1px solid rgba(58,58,52,.14);
    border-left:0;
    border-right:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  #about .about-material-copy{max-width:760px;display:grid;gap:16px;}
  #about .about-material-copy h2{
    max-width:650px;
    color:var(--text);
    font-size:clamp(42px,3.6vw,58px);
    line-height:1;
    letter-spacing:-.012em;
  }
  #about .about-material-copy p{
    max-width:72ch;
    color:rgba(58,58,52,.72);
    font-size:clamp(16px,1.18vw,18px);
    line-height:1.74;
  }
  #about .about-material-media{
    justify-self:end;
    width:min(390px,100%);
    overflow:hidden;
    border-radius:8px;
    background:var(--soft);
    box-shadow:none;
  }
  #about .about-material-media img{
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center;
    filter:saturate(.96) contrast(.98);
  }

  #about .about-craft{
    display:grid;
    grid-template-columns:minmax(440px,.96fr) minmax(0,1.04fr);
    gap:clamp(58px,7vw,104px);
    align-items:center;
    padding:clamp(48px,5vw,72px) 0 clamp(82px,7vw,110px);
    border-top:0;
  }
  #about .about-craft-media{
    position:relative;
    top:auto;
    align-self:center;
    overflow:hidden;
    border-radius:8px;
    background:var(--soft);
    box-shadow:none;
  }
  #about .about-craft-media img{
    width:100%;
    height:auto;
    aspect-ratio:16/11;
    max-height:560px;
    object-fit:cover;
  }
  #about .about-craft-copy{max-width:680px;display:grid;gap:16px;}
  #about .about-craft-copy h2{
    max-width:620px;
    color:var(--text);
    font-size:clamp(44px,3.95vw,64px);
    line-height:1;
    letter-spacing:-.012em;
  }
  #about .about-craft-copy p{
    max-width:66ch;
    color:rgba(58,58,52,.72);
    font-size:clamp(16px,1.18vw,18px);
    line-height:1.66;
  }
  #about .about-feature-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px 26px;
    margin:12px 0 0;
    padding:22px 0 0;
    border-top:1px solid rgba(58,58,52,.14);
    list-style:none;
  }
  #about .about-feature-list li{
    min-height:0;
    padding:0 0 0 28px;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--text);
    font-size:14px;
    font-weight:800;
    line-height:1.45;
  }
  #about .about-feature-list li::before{
    left:0;
    top:.55em;
    width:12px;
    height:12px;
    background:var(--green);
    box-shadow:0 0 0 5px rgba(101,113,95,.12);
  }

  #about .about-service{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(42px,5vw,66px);
    margin:0 0 6px;
    padding:clamp(48px,5vw,64px) clamp(48px,5vw,64px);
    border:0;
    border-radius:8px;
    background:var(--text);
    color:#fff;
    box-shadow:none;
  }
  #about .about-service > div{padding:0;border:0;border-radius:0;background:transparent;}
  #about .about-service .eyebrow{color:rgba(255,255,255,.62);}
  #about .about-service h2{color:#fff;font-size:clamp(42px,3.6vw,58px);line-height:1;}
  #about .about-service p{color:rgba(255,255,255,.74);font-size:15.5px;line-height:1.66;}
  #about .about-service dl{border-top:1px solid rgba(255,255,255,.16);}
  #about .about-service dl div{border-bottom:1px solid rgba(255,255,255,.16);}
  #about .about-service dt{color:#fff;}
  #about .about-service dd{color:rgba(255,255,255,.76);}

  #about .about-faq{
    display:grid;
    grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);
    gap:clamp(58px,7vw,96px);
    padding:clamp(78px,7vw,104px) 0 clamp(60px,6vw,82px);
  }
  #about .about-faq h2{
    max-width:560px;
    font-size:clamp(42px,3.8vw,60px);
    line-height:1;
    color:var(--text);
  }
  #about .about-faq-list{display:grid;gap:0;}
  #about .about-faq-list details{padding:18px 0;border-bottom:1px solid rgba(58,58,52,.14);}
  #about .about-faq-list summary{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    color:var(--text);
    font-size:19px;
    font-weight:900;
    line-height:1.34;
  }
  #about .about-faq-list summary::after{
    float:none;
    flex:0 0 28px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(44,91,64,.08);
    color:var(--green);
    font-size:20px;
  }
  #about .about-faq-list p{color:var(--muted);font-size:15.5px;line-height:1.65;}

  #about .about-contact{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
    align-items:stretch;
    gap:0;
    margin:0 0 72px;
    padding:0;
    border:0;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    overflow:hidden;
    box-shadow:none;
  }
  #about .about-contact-content{
    display:grid;
    align-content:center;
    gap:10px;
    min-width:0;
    padding:clamp(48px,5vw,66px) 56px;
  }
  #about .about-contact .eyebrow,
  #about .about-contact p{color:rgba(255,255,255,.76);}
  #about .about-contact h2{color:#fff;font-size:clamp(42px,3.8vw,60px);line-height:1;}
  #about .about-contact p{max-width:46ch;font-size:16px;line-height:1.6;}
  #about .about-contact-actions{display:flex;justify-content:flex-start;gap:12px;margin-top:14px;}
  #about .about-contact-actions .btn.primary{background:#fff;color:var(--green2);border-color:#fff;box-shadow:0 16px 30px rgba(0,0,0,.14);}
  #about .about-contact-actions .btn.secondary{background:rgba(255,255,255,.94);color:var(--text);border-color:rgba(255,255,255,.94);}
  #about .about-contact-media{display:block;min-height:420px;overflow:hidden;background:var(--soft);}
  #about .about-contact-media img{width:100%;height:100%;object-fit:cover;object-position:center;}
}

@media(max-width:900px){
  #about.about-page > .wrap{width:min(100% - 32px,1280px);padding-left:0;padding-right:0;}
  #about .about-hero{min-height:auto;display:grid;gap:0;align-items:start;margin:18px 0 0;padding:0 var(--pad);overflow:visible;border:0;}
  #about .about-hero img{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:4/3;border-radius:18px;object-fit:cover;object-position:center;transform:none;}
  #about .about-hero-inner{width:100%;max-width:none;padding:22px 0 0;gap:12px;color:var(--text);justify-items:center;text-align:center;}
  #about .about-hero .eyebrow{color:var(--green);}
  #about .about-hero h1{max-width:390px;color:var(--text);font-size:clamp(34px,9vw,46px);line-height:1.02;letter-spacing:-.01em;}
  #about .about-hero p{max-width:390px;color:var(--muted);font-size:15.5px;line-height:1.5;}
  #about .about-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;width:auto;}
  #about .about-hero-actions .btn{width:100%;min-height:48px;padding:0 12px;font-size:13px;white-space:normal;}
  #about .about-hero .btn.secondary{background:#fffefb;color:var(--text);border-color:var(--border);}
  #about .about-hero-meta{justify-content:center;gap:7px 12px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.3;}
  #about .about-intro,#about .about-material-strip,#about .about-craft,#about .about-service,#about .about-faq{grid-template-columns:1fr;gap:24px;}
  #about .about-intro{padding:46px 0 28px;border-top:0;}
  #about .about-intro h2{font-size:clamp(34px,10vw,48px);line-height:1.04;}
  #about .about-copy{font-size:16px;line-height:1.62;}
  #about .about-proof{grid-template-columns:1fr 1fr;margin-bottom:46px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fffefb;box-shadow:none;}
  #about .about-proof-item{border-left:0;border-top:1px solid var(--border);min-height:150px;padding:18px;background:transparent;}
  #about .about-proof-item:nth-child(-n+2){border-top:0;}
  #about .about-material-strip{display:grid;margin:0 0 38px;padding:26px 0 32px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  #about .about-material-media{order:-1;border-radius:18px;box-shadow:none;}
  #about .about-material-media img{aspect-ratio:16/10;}
  #about .about-craft{padding-bottom:48px;}
  #about .about-craft-media{position:static;border-radius:18px;box-shadow:none;}
  #about .about-craft-media img{aspect-ratio:16/11;}
  #about .about-feature-list{grid-template-columns:1fr;gap:10px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border);}
  #about .about-service{padding:30px 24px;border:0;border-radius:18px;background:var(--text);color:#fff;}
  #about .about-service .eyebrow{color:rgba(255,255,255,.62);}
  #about .about-service h2{color:#fff;}
  #about .about-service p{color:rgba(255,255,255,.74);}
  #about .about-service dl{border-top:1px solid rgba(255,255,255,.16);}
  #about .about-service dl div{flex-direction:column;gap:5px;border-bottom:1px solid rgba(255,255,255,.16);}
  #about .about-service dt{color:#fff;}
  #about .about-service dd{color:rgba(255,255,255,.76);text-align:left;}
  #about .about-faq{padding:46px 0;}
  #about .about-contact{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 16px;padding:0;border-radius:18px;background:var(--green);color:#fff;overflow:hidden;}
  #about .about-contact-content{padding:30px 24px;}
  #about .about-contact .eyebrow,#about .about-contact p{color:rgba(255,255,255,.76);}
  #about .about-contact h2{color:#fff;}
  #about .about-contact-actions{justify-content:stretch;}
  #about .about-contact-actions .btn{width:100%;}
  #about .about-contact-actions .btn.primary{background:#fff;color:var(--green2);border-color:#fff;}
  #about .about-contact-actions .btn.secondary{background:rgba(255,255,255,.94);color:var(--text);border-color:rgba(255,255,255,.94);}
  #about .about-contact-media{display:block;min-height:260px;order:-1;}
}

@media(max-width:520px){
  #about .about-hero-actions{grid-template-columns:1fr;width:100%;max-width:390px;}
  #about .about-proof{grid-template-columns:1fr;}
  #about .about-proof-item:nth-child(-n+2){border-top:1px solid var(--border);}
  #about .about-proof-item:first-child{border-top:0;}
}

/* Patch 82.9.47.6 — About intro heading scale fix */
@media(min-width:901px){
  #about .about-intro h2{
    max-width:720px;
    font-size:clamp(42px,3.25vw,58px);
    line-height:1.04;
    letter-spacing:-.012em;
  }
}


/* Patch 82.9.47.8 — About hero subtitle smaller font */

/* Patch 82.9.47.9 — About page reduced vertical spacing between sections */
@media(min-width:901px){
  #about .about-hero{
    padding-bottom:58px;
  }

  #about .about-intro{
    padding-top:clamp(62px,6vw,82px);
    padding-bottom:clamp(32px,3.2vw,46px);
  }

  #about .about-proof{
    margin-bottom:clamp(36px,4.2vw,56px);
  }

  #about .about-material-strip{
    margin-bottom:clamp(36px,4.4vw,58px);
    padding-top:clamp(30px,3.8vw,48px);
    padding-bottom:clamp(30px,3.8vw,48px);
  }

  #about .about-craft{
    padding-top:clamp(30px,3.8vw,48px);
    padding-bottom:clamp(52px,5.2vw,74px);
  }

  #about .about-service{
    margin-bottom:0;
  }

  #about .about-faq{
    padding-top:clamp(52px,5vw,72px);
    padding-bottom:clamp(38px,4.2vw,56px);
  }

  #about .about-contact{
    margin-bottom:48px;
  }
}

@media(max-width:900px){
  #about .about-intro{
    padding-top:34px;
    padding-bottom:22px;
  }

  #about .about-proof{
    margin-bottom:32px;
  }

  #about .about-material-strip{
    margin-bottom:28px;
    padding-top:22px;
    padding-bottom:26px;
  }

  #about .about-craft{
    padding-bottom:34px;
  }

  #about .about-faq{
    padding-top:34px;
    padding-bottom:34px;
  }

  #about .about-contact{
    margin-bottom:10px;
  }
}

/* Patch 82.9.47.10 — About contact CTA overflow fix */
@media(min-width:901px){
  #about .about-contact{
    grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  }

  #about .about-contact-content{
    padding:clamp(44px,4.6vw,60px) clamp(42px,4.2vw,56px);
    overflow:hidden;
  }

  #about .about-contact h2{
    max-width:11ch;
    font-size:clamp(36px,3.15vw,50px);
    line-height:1.04;
    text-wrap:balance;
  }

  #about .about-contact p{
    max-width:40ch;
  }

  #about .about-contact-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,220px));
    justify-content:start;
    align-items:center;
    gap:12px;
    margin-top:16px;
    max-width:100%;
  }

  #about .about-contact-actions .btn{
    width:100%;
    min-width:0;
    padding-left:18px;
    padding-right:18px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  #about .about-contact-actions a[href^="mailto:"]{
    grid-column:1 / -1;
    width:min(100%,320px);
  }
}

@media(min-width:901px) and (max-width:1180px){
  #about .about-contact{
    grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  }

  #about .about-contact-content{
    padding:40px 34px;
  }

  #about .about-contact h2{
    font-size:clamp(34px,3vw,44px);
  }

  #about .about-contact-actions{
    grid-template-columns:1fr;
    width:min(100%,320px);
  }

  #about .about-contact-actions a[href^="mailto:"]{
    grid-column:auto;
    width:100%;
  }
}


/* Patch 82.9.47.11 — About intro heading mobile center alignment */
@media(max-width:900px){
  #about .about-intro > div:first-child{
    text-align:center;
  }

  #about .about-intro .eyebrow{
    text-align:center;
  }

  #about .about-intro h2{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
}

/* Patch 82.9.47.12 — About material and craft headings mobile center alignment */
@media(max-width:900px){
  #about .about-material-copy,
  #about .about-craft-copy{
    text-align:center;
  }

  #about .about-material-copy .eyebrow,
  #about .about-craft-copy .eyebrow{
    text-align:center;
  }

  #about .about-material-copy h2,
  #about .about-craft-copy h2{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
}

/* Patch 82.9.48 — Configurator UX Polish */
#configurator.configurator-page{
  padding-top:42px;
  background:linear-gradient(180deg,#fbfaf7 0%,#f4f0e9 48%,#fbfaf7 100%);
}
#configurator .config-head{
  align-items:flex-start;
  margin-bottom:28px;
}
#configurator .config-head h1{
  max-width:760px;
  font-size:clamp(44px,5vw,74px);
  line-height:.96;
}
#configurator .config-head .subtle{
  max-width:760px;
  font-size:17px;
  line-height:1.62;
}
#configurator .config-layout{
  grid-template-columns:minmax(0,.96fr) minmax(420px,.94fr);
  gap:28px;
  align-items:start;
}
#configurator .config-preview{
  position:sticky;
  top:96px;
  display:grid;
  gap:16px;
}
#configurator .config-media-card{
  overflow:hidden;
  border:1px solid rgba(215,207,195,.86);
  border-radius:24px;
  background:var(--soft);
  box-shadow:var(--shadow);
}
#configurator .config-media-card img{
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
  object-position:center;
  display:block;
  background:var(--soft);
}
#configurator .config-spec-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(44,61,48,.13);
  border-radius:18px;
  background:rgba(44,61,48,.12);
}
#configurator .config-spec-strip div{
  min-height:76px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:13px 14px;
  background:rgba(255,254,251,.74);
}
#configurator .config-spec-strip span{
  color:var(--green);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
#configurator .config-spec-strip strong{
  color:var(--text);
  font-size:13px;
  line-height:1.22;
  font-weight:900;
}
#configurator .config-photo-step .ta-vn-card,
#configurator .config-photo-step .ta-vn-result,
#configurator .config-photo-step .ta-vn-reference-result,
#configurator .config-photo-step .ta-vn-comment-label{
  border-radius:18px;
}
#configurator .summary-box{
  margin-top:0;
  padding:0;
  overflow:hidden;
  border-radius:22px;
  background:var(--card);
  border:1px solid rgba(215,207,195,.86);
  box-shadow:var(--soft-shadow);
}
#configurator .config-summary-head{
  display:grid;
  gap:7px;
  padding:22px 24px 20px;
  background:linear-gradient(135deg,rgba(101,113,95,.12),rgba(216,203,184,.18));
  border-bottom:1px solid rgba(215,207,195,.8);
}
#configurator .config-summary-head span{
  color:var(--green);
  font-size:11px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
#configurator .config-summary-head strong{
  color:var(--green2);
  font-family:var(--serif);
  font-size:32px;
  line-height:1;
  font-weight:700;
}
#configurator .config-summary-head p{
  color:var(--muted);
  font-size:13.5px;
  line-height:1.5;
  max-width:42ch;
}
#configurator .config-summary-rows{
  display:grid;
  padding:8px 24px 12px;
}
#configurator .config-summary-rows div,
#configurator .config-summary-total{
  display:grid;
  grid-template-columns:minmax(120px,.72fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px dashed var(--border);
  font-size:14px;
}
#configurator .config-summary-rows div:last-child{border-bottom:0}
#configurator .config-summary-rows span,
#configurator .config-summary-total span{color:var(--muted)}
#configurator .config-summary-rows b,
#configurator .config-summary-total b{text-align:right;color:var(--text);font-weight:850;overflow-wrap:anywhere}
#configurator .config-summary-total{
  margin:0 24px 18px;
  border-top:1px solid rgba(44,61,48,.16);
  border-bottom:0;
}
#configurator .config-form-panel{
  padding:0;
  overflow:hidden;
  border-radius:24px;
  background:rgba(255,254,251,.86);
  border:1px solid rgba(215,207,195,.88);
  box-shadow:var(--soft-shadow);
}
#configurator .config-form-intro{
  display:grid;
  gap:8px;
  padding:28px 30px 22px;
  border-bottom:1px solid rgba(215,207,195,.8);
  background:linear-gradient(135deg,rgba(255,254,251,.96),rgba(246,242,233,.72));
}
#configurator .config-form-intro h2{
  margin:0;
  font-size:clamp(28px,2.8vw,42px);
}
#configurator .config-form-intro .subtle{
  margin:0;
  max-width:56ch;
  font-size:14.5px;
  line-height:1.58;
}
#configurator .config-steps{
  display:grid;
  gap:14px;
  padding:18px;
}
#configurator .config-step{
  position:relative;
  display:grid;
  gap:16px;
  padding:20px;
  border:1px solid rgba(215,207,195,.82);
  border-radius:20px;
  background:rgba(255,254,251,.72);
}
#configurator .config-step-head{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:13px;
  align-items:start;
}
#configurator .config-step-head>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:11px;
  font-weight:950;
}
#configurator .config-step-head h3{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  font-weight:950;
  line-height:1.2;
}
#configurator .config-step-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.45;
}
#configurator .config-step .field{
  margin-top:0;
}
#configurator .config-step .field+ .field{
  margin-top:2px;
}
#configurator .config-step .field>label{
  gap:12px;
  margin-bottom:10px;
}
#configurator .config-dim-status{
  margin:0;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(101,113,95,.08);
  color:var(--green2);
  font-size:13px;
  line-height:1.45;
  font-weight:750;
}
#configurator .config-material-swatches{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#configurator .material-swatch-card{
  width:100%;
  min-height:70px;
  justify-content:flex-start;
  gap:12px;
  padding:10px;
  border-radius:18px;
  background:rgba(255,254,251,.88);
  border-color:rgba(215,207,195,.92);
  text-align:left;
}
#configurator .material-swatch-card:hover{
  transform:translateY(-1px);
  border-color:rgba(101,113,95,.42);
  box-shadow:0 12px 26px rgba(45,45,42,.07);
}
#configurator .material-swatch-card.active{
  background:rgba(101,113,95,.08);
  border-color:rgba(101,113,95,.52);
  box-shadow:inset 0 0 0 1px rgba(101,113,95,.16);
}
#configurator .material-dot{
  width:46px;
  height:46px;
  border-radius:14px;
  flex:0 0 46px;
  background-size:cover;
  background-position:center;
}
#configurator .material-swatch-text{
  min-width:0;
  display:grid;
  gap:3px;
}
#configurator .material-swatch-text b{
  color:var(--text);
  font-size:13.5px;
  line-height:1.18;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#configurator .material-swatch-text small{
  color:var(--muted);
  font-size:11.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#configurator .option{
  border-radius:16px;
  background:rgba(255,254,251,.84);
}
#configurator .option.active{
  background:rgba(101,113,95,.08);
  box-shadow:inset 0 0 0 1px rgba(101,113,95,.12);
}
#configurator .config-opening-tech-field{
  margin-top:16px;
}
#configurator .config-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:0 18px 22px;
  margin-top:0;
}
#configurator .config-actions .btn{
  width:100%;
}
#configurator .set-configurator-head{
  margin:18px 18px 0;
  border-radius:18px;
}
#configurator .set-configurator-products{
  margin:12px 18px 0;
}
#configurator .config-mobile-bar{
  display:none;
}
/* [hidden]-оверрайди: базові display:grid/flex цих контейнерів перекривають
   UA-правило [hidden], тому entry-guard ховає їх явно. */
#configurator .config-layout[hidden],
#configurator .config-mobile-bar[hidden]{
  display:none !important;
}
#configurator .config-empty-state{
  margin-top:6px;
}
#configurator .config-empty-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-card);
  box-shadow:var(--soft-shadow);
  padding:34px 30px;
  max-width:560px;
  display:grid;
  gap:12px;
  justify-items:start;
}
#configurator .config-empty-card h2{
  margin:0;
}
#configurator .config-empty-card .subtle{
  margin:0;
}
#configurator .config-empty-actions{
  margin-top:8px;
}

@media(max-width:1100px){
  #configurator .config-layout{
    grid-template-columns:1fr;
  }
  #configurator .config-preview{
    position:static;
  }
}

@media(max-width:760px){
  #configurator.configurator-page{
    padding-top:28px;
    padding-bottom:136px;
  }
  #configurator .config-head{
    text-align:center;
    justify-content:center;
    margin-bottom:20px;
  }
  #configurator .config-head h1,
  #configurator .config-head .subtle{
    margin-left:auto;
    margin-right:auto;
  }
  #configurator .config-layout{
    gap:18px;
  }
  #configurator .config-media-card,
  #configurator .summary-box,
  #configurator .config-form-panel{
    border-radius:20px;
  }
  #configurator .config-spec-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-radius:16px;
  }
  #configurator .config-spec-strip div{
    min-height:70px;
    padding:11px 12px;
  }
  #configurator .config-form-intro{
    padding:22px 20px 18px;
    text-align:center;
  }
  #configurator .config-form-intro .eyebrow,
  #configurator .config-form-intro .subtle,
  #configurator .config-form-intro h2{
    margin-left:auto;
    margin-right:auto;
  }
  #configurator .config-steps{
    padding:14px;
    gap:12px;
  }
  #configurator .config-step{
    padding:16px;
    border-radius:18px;
  }
  #configurator .config-step-head{
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
  }
  #configurator .config-step-head>span{
    width:34px;
    height:34px;
  }
  #configurator .dims{
    gap:8px;
  }
  #configurator .config-material-swatches{
    grid-template-columns:1fr;
  }
  #configurator .summary-box{
    order:4;
  }
  #configurator .config-summary-head,
  #configurator .config-summary-rows{
    padding-left:18px;
    padding-right:18px;
  }
  #configurator .config-summary-rows div,
  #configurator .config-summary-total{
    grid-template-columns:1fr;
    gap:4px;
  }
  #configurator .config-summary-rows b,
  #configurator .config-summary-total b{
    text-align:left;
  }
  #configurator .config-mobile-bar{
    position:fixed;
    left:14px;
    right:14px;
    bottom:78px;
    z-index:70;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px;
    border:1px solid rgba(215,207,195,.9);
    border-radius:18px;
    background:rgba(255,254,251,.96);
    box-shadow:0 18px 48px rgba(45,45,42,.18);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  #configurator .config-mobile-bar span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  #configurator .config-mobile-bar strong{
    display:block;
    color:var(--green2);
    font-size:17px;
    line-height:1.15;
    font-weight:950;
  }
  #configurator .config-mobile-bar .btn{
    min-height:44px;
    padding:0 16px;
    flex:0 0 auto;
  }
}

@media(max-width:420px){
  #configurator .config-spec-strip{
    grid-template-columns:1fr;
  }
  #configurator .dims{
    grid-template-columns:1fr;
  }
  #configurator .config-mobile-bar{
    bottom:74px;
  }
}

/* Patch 82.9.49 — Configurator Business Logic */
#configurator .config-dim-status{
  display:grid;
  gap:3px;
  border:1px solid transparent;
}
#configurator .config-dim-status strong{
  display:block;
  font-size:13px;
  line-height:1.25;
  font-weight:950;
}
#configurator .config-dim-status span{
  display:block;
  font-size:12.5px;
  line-height:1.45;
  font-weight:650;
}
#configurator .config-dim-status--success{
  background:rgba(101,113,95,.08);
  border-color:rgba(101,113,95,.18);
  color:var(--green2);
}
#configurator .config-dim-status--warning{
  background:rgba(255,247,236,.9);
  border-color:rgba(138,95,34,.24);
  color:#8A5F22;
}
#configurator .config-dim-status--danger{
  background:rgba(255,243,240,.92);
  border-color:rgba(168,95,74,.28);
  color:var(--clay);
}
#configurator .summary-status b{
  display:inline-flex;
  justify-self:end;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12.5px;
  text-align:center;
}
#configurator .summary-status--success b{
  background:rgba(101,113,95,.10);
  color:var(--green2);
}
#configurator .summary-status--warning b{
  background:rgba(255,247,236,.96);
  color:#8A5F22;
}
#configurator .summary-status--danger b{
  background:rgba(255,243,240,.96);
  color:var(--clay);
}
#configurator .set-configurator-progress{
  position:relative;
  height:6px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(44,61,48,.12);
}
#configurator .set-configurator-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--green);
  transition:width .28s ease;
}
#configurator .set-configurator-product em{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(116,110,101,.08);
  color:var(--muted);
  font-style:normal;
  font-size:10.5px;
  font-weight:950;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#configurator .set-configurator-product.active em{
  background:rgba(101,113,95,.13);
  color:var(--green2);
}
#configurator .set-configurator-product.is-configured em{
  background:rgba(101,113,95,.12);
  color:var(--green2);
}
@media(max-width:760px){
  #configurator .summary-status b{
    justify-self:start;
  }
}


/* Patch 82.9.50 — Configurator compact swatches and manager-only pricing */
#configurator .config-material-swatches{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-height:292px;
  overflow:auto;
  padding-right:4px;
  scrollbar-width:thin;
}
#configurator .config-material-swatches::-webkit-scrollbar{width:6px}
#configurator .config-material-swatches::-webkit-scrollbar-thumb{background:rgba(116,110,101,.24);border-radius:999px}
#configurator .material-swatch-card{
  min-height:48px;
  gap:8px;
  padding:7px 8px;
  border-radius:14px;
}
#configurator .material-dot{
  width:30px;
  height:30px;
  flex-basis:30px;
  border-radius:10px;
}
#configurator .material-swatch-text{gap:1px}
#configurator .material-swatch-text b{font-size:12.2px;line-height:1.12}
#configurator .material-swatch-text small{font-size:9.5px;letter-spacing:.06em}
#configurator .config-step[data-step="02"]{gap:13px}
#configurator .config-step[data-step="02"] .field>label{margin-bottom:7px}
#configurator #hardwareList,
#configurator #openingTechList{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
#configurator #openingTechList{grid-template-columns:repeat(3,minmax(0,1fr))}
#configurator #hardwareList .option,
#configurator #openingTechList .option,
#configurator #optionList .option{
  min-height:50px;
  padding:10px 12px;
  border-radius:14px;
}
#configurator #hardwareList .option span,
#configurator #openingTechList .option span,
#configurator #optionList .option span{
  gap:8px;
}
#configurator #hardwareList .option b,
#configurator #openingTechList .option b,
#configurator #optionList .option b{
  font-size:13.5px;
  line-height:1.18;
}
#configurator #hardwareList .option small,
#configurator #openingTechList .option small,
#configurator #optionList .option small{
  font-size:11px;
  white-space:nowrap;
}
#configurator .config-summary-head strong,
#configurator .config-mobile-bar strong{
  font-family:var(--sans);
  font-size:18px;
  line-height:1.18;
  font-weight:950;
  color:var(--green2);
}
#configurator .config-summary-total{display:none}
#configurator .ta-vn-thumb{
  background:linear-gradient(135deg,var(--soft),#f0e8dc);
  object-fit:cover;
  object-position:center;
}
#configurator .config-photo-step .ta-vn-result{
  align-items:center;
}
@media(max-width:760px){
  #configurator .ta-vn-thumb{width:112px;height:80px}
}

@media(max-width:760px){
  #configurator .config-material-swatches{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:248px;
  }
  #configurator .material-swatch-card{min-height:46px}
  #configurator #hardwareList,
  #configurator #openingTechList,
  #configurator #optionList{
    grid-template-columns:1fr;
  }
  #configurator .config-mobile-bar strong{font-size:15px}
}
@media(max-width:420px){
  #configurator .config-material-swatches{grid-template-columns:1fr 1fr}
  #configurator .material-dot{width:26px;height:26px;flex-basis:26px}
  #configurator .material-swatch-text b{font-size:11.6px}
}


/* Patch 82.9.53 — Configurator mobile result summary last */
@media(max-width:760px){
  #configurator .config-layout{
    display:flex;
    flex-direction:column;
  }

  #configurator .config-preview{
    display:contents;
  }

  #configurator .config-media-card{order:1;}
  #configurator .config-spec-strip{order:2;}
  #configurator .config-form-panel{order:3;}
  #configurator .config-photo-step{order:4;}
  #configurator .summary-box{order:5;}
}

/* Patch 82.9.54 — Configurator decor modal and full-size preview */
body.config-decor-modal-open{overflow:hidden}
#configurator .config-decor-all-btn{
  width:100%;
  min-height:42px;
  margin-top:10px;
  border:1px dashed rgba(101,113,95,.38);
  border-radius:14px;
  background:rgba(101,113,95,.06);
  color:var(--green2);
  font:inherit;
  font-size:12.5px;
  font-weight:950;
  letter-spacing:.02em;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
#configurator .config-decor-all-btn:hover{
  background:rgba(101,113,95,.10);
  border-color:rgba(101,113,95,.58);
  transform:translateY(-1px);
}
#configurator .material-swatch-card{
  cursor:zoom-in;
}
.config-decor-modal{
  position:fixed;
  inset:0;
  z-index:220;
  display:grid;
  place-items:center;
  padding:24px;
}
.config-decor-modal[hidden]{display:none}
.config-decor-backdrop{
  position:absolute;
  inset:0;
  background:rgba(37,37,34,.48);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.config-decor-card{
  position:relative;
  z-index:1;
  width:min(1060px,100%);
  max-height:min(820px,92dvh);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(215,207,195,.88);
  border-radius:26px;
  background:linear-gradient(180deg,#fffefb 0%,#f7f4ef 100%);
  box-shadow:0 34px 110px rgba(20,20,18,.34);
}
.config-decor-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:24px 26px 20px;
  border-bottom:1px solid rgba(215,207,195,.86);
}
.config-decor-head h2{
  margin:0;
  font-size:clamp(30px,3vw,46px);
  line-height:.98;
}
.config-decor-head p{
  margin:8px 0 0;
  max-width:62ch;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.5;
}
.config-decor-close{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid var(--border);
  border-radius:50%;
  background:#fffefb;
  color:var(--text);
  font-size:28px;
  line-height:1;
}
.config-decor-close:hover{border-color:var(--green);color:var(--green)}
.config-decor-body{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.82fr);
  gap:0;
}
.config-decor-list-wrap{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:14px;
  padding:22px;
  border-right:1px solid rgba(215,207,195,.82);
}
.config-decor-search{
  display:grid;
  gap:7px;
}
.config-decor-search span{
  color:var(--green);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.config-decor-search input{
  height:48px;
  border-radius:14px;
  background:#fffefb;
}
.config-decor-list{
  min-height:0;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding-right:4px;
  scrollbar-width:thin;
}
.config-decor-list::-webkit-scrollbar{width:6px}
.config-decor-list::-webkit-scrollbar-thumb{background:rgba(116,110,101,.24);border-radius:999px}
.config-decor-item{
  min-width:0;
  min-height:66px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:9px 10px;
  border:1px solid rgba(215,207,195,.9);
  border-radius:16px;
  background:rgba(255,254,251,.84);
  color:var(--text);
  text-align:left;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.config-decor-item:hover,
.config-decor-item.is-preview{
  transform:translateY(-1px);
  border-color:rgba(101,113,95,.52);
  box-shadow:0 12px 24px rgba(45,45,42,.07);
}
.config-decor-item.active{
  background:rgba(101,113,95,.08);
  border-color:rgba(101,113,95,.58);
}
.config-decor-item-visual{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
  background-size:cover;
  background-position:center;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}
.config-decor-item-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.config-decor-item-copy b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
  font-size:13px;
  line-height:1.14;
  font-weight:950;
}
.config-decor-item-copy small{
  color:var(--muted);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.config-decor-empty{
  grid-column:1/-1;
  padding:24px;
  border:1px dashed var(--border);
  border-radius:16px;
  color:var(--muted);
  text-align:center;
}
.config-decor-preview{
  min-width:0;
  display:grid;
  grid-template-rows:minmax(280px,1fr) auto auto;
  gap:18px;
  align-content:start;
  padding:22px;
}
.config-decor-preview-surface{
  min-height:300px;
  border:1px solid rgba(215,207,195,.9);
  border-radius:22px;
  background-size:cover;
  background-position:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 18px 44px rgba(45,45,42,.10);
}
.config-decor-preview-surface.is-color-only{
  background-size:auto;
}
.config-decor-preview-copy{
  display:grid;
  gap:7px;
}
.config-decor-preview-copy span{
  color:var(--green);
  font-size:11px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.config-decor-preview-copy strong{
  color:var(--text);
  font-size:24px;
  line-height:1.1;
  font-weight:950;
}
.config-decor-preview-copy p{
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
@media(max-width:820px){
  .config-decor-modal{padding:12px}
  .config-decor-card{max-height:94dvh;border-radius:22px}
  .config-decor-head{padding:20px 18px 16px}
  .config-decor-body{
    grid-template-columns:1fr;
    overflow:auto;
  }
  .config-decor-list-wrap{
    border-right:0;
    border-bottom:1px solid rgba(215,207,195,.82);
    padding:16px;
  }
  .config-decor-list{
    max-height:310px;
    grid-template-columns:1fr;
  }
  .config-decor-preview{
    padding:16px;
    grid-template-rows:auto auto auto;
  }
  .config-decor-preview-surface{
    min-height:240px;
  }
}


/* Patch 82.9.55 — Configurator mobile order: step 6, summary, actions */
#configurator .config-actions-mobile{display:none;}
@media(max-width:760px){
  #configurator .config-form-panel > .config-actions{display:none;}
  #configurator .config-photo-step{order:4;}
  #configurator .summary-box{order:5;}
  #configurator .config-actions-mobile{
    display:grid;
    order:6;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    padding:0;
    margin:0;
  }
  #configurator .config-actions-mobile .btn{width:100%;}
}


/* Patch 82.9.81 — Customer Registration Basic */
.customer-auth-layout{align-items:stretch}
.customer-auth-card{display:grid;gap:14px}
.customer-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 2px;padding:6px;border:1px solid var(--border);border-radius:18px;background:var(--soft)}
.customer-auth-tabs button{border:0;border-radius:14px;background:transparent;padding:12px 14px;font-family:var(--sans);font-weight:900;color:var(--muted);cursor:pointer}
.customer-auth-tabs button.is-active{background:var(--card);color:var(--text);box-shadow:0 10px 24px rgba(76,88,70,.1)}
.customer-auth-form[hidden],.customer-register-choice[hidden]{display:none!important}
.customer-register-choice{display:grid;gap:14px;margin-top:8px}
.customer-register-choice-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;text-align:center}
.customer-social-btn,.customer-email-register-btn{width:100%;min-height:58px;border:1px solid var(--border);border-radius:0;background:#fff;color:var(--text);font-family:var(--sans);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:18px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.customer-social-btn:hover,.customer-email-register-btn:hover{transform:translateY(-1px);border-color:rgba(76,88,70,.32);box-shadow:0 14px 34px rgba(76,88,70,.12)}
.customer-social-btn--facebook{background:#2478ea;border-color:#2478ea;color:#fff}
.customer-social-btn--facebook:hover{background:#1f6fda;border-color:#1f6fda}
.customer-social-icon{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-weight:900;flex:0 0 auto;font-size:22px}
.customer-social-icon--google{font-family:Arial,sans-serif;color:#4285f4;background:transparent;font-weight:900}
.customer-social-icon--facebook{font-family:Arial,sans-serif;background:#fff;color:#2478ea;font-size:28px;line-height:1}
.customer-auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;color:var(--muted);font-family:var(--sans);font-size:20px}
.customer-auth-divider::before,.customer-auth-divider::after{content:"";height:1px;background:var(--border)}
.customer-email-register-btn{background:var(--soft);border-color:rgba(76,88,70,.28);font-size:17px}
.customer-register-choice .login-error{margin-top:0;text-align:center}
.customer-auth-aside p{max-width:420px}
.link-button{border:0;background:transparent;color:var(--green2);font:inherit;font-weight:900;text-decoration:underline;cursor:pointer;padding:0;margin-left:6px}
@media(max-width:680px){.customer-auth-tabs{grid-template-columns:1fr}.customer-social-btn,.customer-email-register-btn{min-height:54px;font-size:16px}.customer-auth-divider{font-size:17px}}


/* Patch 82.9.85 — Login Form Styled Inputs Fix */
.login-card .login-form .field input[type="text"],
.login-card .login-form .field input[type="email"],
.login-card .login-form .field input[type="password"],
.login-card .login-form .field input[type="tel"]{
  min-height:58px;
  border-radius:var(--r-sm);
  background:var(--soft);
  border:1px solid var(--border);
  padding:15px 18px;
  font-size:16px;
  box-shadow:none;
}
.login-card .login-form .field input:focus{
  border-color:var(--green);
  background:var(--card);
  box-shadow:0 0 0 3px rgba(101,113,95,.12);
}


/* Patch 82.9.86 — Login Password Visibility Fix */
.login-card .password-field{position:relative;display:block}
.login-card .password-field input{width:100%;padding-right:112px!important}
.login-card .password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  min-width:86px;
  height:40px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--green2);
  font-family:var(--sans);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.login-card .password-toggle:hover{border-color:var(--green);background:#fff}
@media(max-width:520px){
  .login-card .password-field input{padding-right:96px!important}
  .login-card .password-toggle{min-width:76px;font-size:12px}
}

/* Patch 82.9.88.6.5: block duplicate configurator quote submits */
.btn.is-submitted,
.btn[aria-disabled="true"].is-submitted{
  pointer-events:none;
  opacity:.72;
  cursor:not-allowed;
}


.checkout-payment-choice label{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--ink)}
.checkout-payment-choice input{width:18px;height:18px;accent-color:var(--green)}
.checkout-payment-choice p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.cart-payment-warning{margin:10px auto 0;max-width:560px;color:#7a3b20;font-weight:800;line-height:1.45}

/* Patch 82.9.67 — Quote Modal UX Polish */
body.quote-modal-open{overflow:hidden}
.quote-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}
.quote-modal[hidden]{display:none!important}
.quote-modal-backdrop{position:absolute;inset:0;background:rgba(45,45,42,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.quote-modal-card{position:relative;width:min(860px,100%);max-height:min(820px,calc(100vh - 40px));background:var(--paper);border:1px solid var(--border);border-radius:28px;box-shadow:0 34px 110px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.quote-modal-head{padding:24px 28px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(180deg,#fffefb,var(--paper))}
.quote-modal-titlebox{max-width:650px}.quote-modal-head h2{font-size:clamp(30px,3.6vw,44px);line-height:.98;margin:4px 0 9px}.quote-modal-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.quote-modal-close{width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--card);font-size:30px;line-height:1;color:var(--text);flex-shrink:0;cursor:pointer;transition:.18s}.quote-modal-close:hover{border-color:var(--green);color:var(--green)}
.quote-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 28px;background:rgba(255,254,251,.82);border-bottom:1px solid var(--border)}
.quote-progress button{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:12px 14px;display:flex;align-items:center;gap:10px;color:var(--muted);font-family:var(--sans);font-weight:850;cursor:pointer;text-align:left;transition:.18s}.quote-progress button span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted);font-size:13px;font-weight:900}.quote-progress button b{font-size:13px}.quote-progress button.is-active{border-color:var(--green);box-shadow:0 12px 30px rgba(76,88,70,.12);color:var(--text)}.quote-progress button.is-active span{background:var(--green);color:#fff}.quote-progress button.is-done span{background:#E6ECE3;color:var(--green)}
.quote-modal-body{padding:24px 28px;overflow:auto;display:grid;gap:20px}.quote-step{display:none}.quote-step.is-active{display:grid;gap:18px}.quote-step-head{display:grid;gap:6px}.quote-step-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--green)}.quote-step-head h3{font-size:clamp(24px,2.6vw,34px);line-height:1.08;margin:0}.quote-step-head p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}
.quote-start-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-start-card{position:relative;display:flex;gap:14px;align-items:flex-start;border:1px solid var(--border);border-radius:22px;background:var(--card);padding:20px;cursor:pointer;transition:.18s}.quote-start-card:hover{border-color:var(--green);transform:translateY(-1px)}.quote-start-card input{width:21px;height:21px;accent-color:var(--green);margin-top:2px;flex-shrink:0}.quote-start-card:has(input:checked){border-color:var(--green);box-shadow:0 16px 36px rgba(76,88,70,.13);background:linear-gradient(145deg,#fffefb,#f7f4ef)}.quote-start-card span{display:grid;gap:6px}.quote-start-card strong{font-size:18px;line-height:1.22;color:var(--text)}.quote-start-card small{font-size:14px;line-height:1.48;color:var(--muted)}
.quote-catalog-card{border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,var(--soft),#fffefb);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.quote-catalog-card div{display:grid;gap:5px}.quote-catalog-card strong{font-size:20px;color:var(--text)}.quote-catalog-card small{font-size:14px;line-height:1.5;color:var(--muted)}
.quote-detail-grid,.quote-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-note-hint{display:block;margin-top:9px;color:var(--muted);font-size:13px;line-height:1.45}.quote-photo-box{border:1px solid var(--border);border-radius:22px;background:var(--card);padding:16px}.quote-photo-empty{display:flex;align-items:center;justify-content:space-between;gap:16px}.quote-photo-empty strong{font-size:17px;color:var(--text)}.quote-photo-empty p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.quote-photo-preview{display:flex;gap:16px;align-items:center}.quote-photo-preview img{width:112px;height:84px;border-radius:16px;border:1px solid var(--border);object-fit:cover;background:var(--soft);flex-shrink:0}.quote-photo-preview strong{display:block;font-size:16px;margin-bottom:5px;color:var(--text)}.quote-photo-preview p{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.45}.quote-photo-actions{display:flex;flex-wrap:wrap;gap:8px}.quote-field-label{display:block;font-weight:850;color:var(--text);margin:0 0 10px}.quote-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quote-channel-grid label{border:1px solid var(--border);border-radius:16px;background:var(--card);padding:12px 14px;display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:850}.quote-channel-grid input{accent-color:var(--green)}.quote-channel-grid label:has(input:checked){border-color:var(--green);box-shadow:0 10px 26px rgba(76,88,70,.11)}
.quote-success[hidden]{display:none!important}#quoteSubmit[hidden]{display:none!important}.quote-modal-footer{display:flex;justify-content:space-between;gap:10px;padding:18px 28px;border-top:1px solid var(--border);background:rgba(255,254,251,.96)}.quote-modal-footer .btn{min-width:150px}.quote-error{margin:0 28px 18px}.quote-success{display:grid;text-align:center;place-items:center;gap:12px;padding:22px 10px}.quote-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:28px;font-weight:900}.quote-success h3{font-size:34px;margin:0}.quote-success p{margin:0;color:var(--muted);max-width:520px;line-height:1.55}.quote-success-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.quote-draw-modal{position:fixed;inset:0;z-index:1230;display:grid;place-items:center;background:rgba(45,45,42,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:18px}.quote-draw-modal[hidden]{display:none!important}.quote-draw-card{width:min(960px,100%);max-height:calc(100vh - 36px);background:var(--paper);border:1px solid var(--border);border-radius:26px;box-shadow:0 30px 100px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column}.quote-draw-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.quote-draw-head small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--muted);margin-bottom:3px}.quote-draw-head strong{font-family:var(--serif);font-size:24px}.quote-draw-head button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--card);font-size:28px}.quote-draw-stage{position:relative;margin:18px;border-radius:18px;overflow:hidden;background:var(--soft);display:grid;place-items:center;min-height:320px}.quote-draw-stage img{display:block;max-width:100%;max-height:calc(100vh - 230px);object-fit:contain}.quote-draw-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.quote-draw-tools{display:flex;gap:10px;flex-wrap:wrap;padding:16px 18px;border-top:1px solid var(--border);background:rgba(255,254,251,.96)}.quote-draw-tools button{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:11px 17px;font-family:var(--sans);font-weight:850}.quote-draw-tools button.is-active{border-color:var(--green);color:var(--green)}.quote-draw-tools button.primary{margin-left:auto;background:var(--green);border-color:var(--green);color:#fff}
@media(max-width:760px){.quote-modal{padding:10px;align-items:end}.quote-modal-card{max-height:calc(100vh - 20px);border-radius:22px}.quote-modal-head{padding:20px 18px 14px}.quote-modal-close{width:44px;height:44px}.quote-progress{padding:12px 18px;gap:7px}.quote-progress button{padding:9px 8px;border-radius:14px;justify-content:center}.quote-progress button b{display:none}.quote-progress button span{width:28px;height:28px}.quote-modal-body{padding:20px 18px}.quote-start-options,.quote-detail-grid,.quote-contact-grid,.quote-channel-grid{grid-template-columns:1fr}.quote-start-card{padding:17px}.quote-catalog-card,.quote-photo-empty,.quote-photo-preview{align-items:stretch;flex-direction:column}.quote-photo-preview img{width:100%;height:180px}.quote-modal-footer{padding:14px 18px;display:grid;grid-template-columns:1fr 1fr}.quote-modal-footer .btn{min-width:0;width:100%}.quote-error{margin:0 18px 14px}.quote-draw-modal{padding:8px}.quote-draw-card{border-radius:20px}.quote-draw-stage{margin:12px;min-height:280px}.quote-draw-tools button.primary{margin-left:0;width:100%}}


/* Patch 82.9.88.6.21 — Customer OAuth Registration Premium Polish */
#login .login-layout--single{
  max-width: 860px;
  margin-top: 28px;
}
#login .login-card{
  position: relative;
  overflow: hidden;
  padding: clamp(34px, 4vw, 58px) clamp(26px, 5vw, 64px);
  border-radius: 34px;
  border-color: rgba(128, 112, 89, .2);
  background:
    radial-gradient(circle at 92% 8%, rgba(241, 235, 223, .95), transparent 28%),
    linear-gradient(145deg, rgba(255, 253, 248, .98), rgba(250, 247, 239, .94));
  box-shadow: 0 30px 80px rgba(45, 39, 30, .11), 0 1px 0 rgba(255, 255, 255, .7) inset;
}
#login .login-card::before{
  content:"";
  position:absolute;
  width: 252px;
  height: 252px;
  right: -62px;
  top: -54px;
  border-radius: 50%;
  opacity: .35;
  pointer-events:none;
  background:
    repeating-radial-gradient(circle, transparent 0 11px, rgba(160, 143, 111, .22) 12px 13px),
    radial-gradient(circle, transparent 0 42%, rgba(160, 143, 111, .2) 43% 44%, transparent 45%);
  filter: blur(.1px);
}
#login .login-card::after{
  content:"";
  position:absolute;
  width: 12px;
  height: 12px;
  left: clamp(27px, 5vw, 64px);
  top: clamp(37px, 4.3vw, 61px);
  border-radius: 999px 999px 999px 0;
  border: 1.7px solid var(--green2);
  transform: rotate(-35deg);
  opacity: .9;
  pointer-events:none;
}
#login .login-card>.eyebrow{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding-left: 34px;
  color: var(--green2);
  letter-spacing: .2em;
  font-size: 13px;
}
#login .login-card h1{
  position: relative;
  z-index: 1;
  margin: 12px 0 18px;
  font-size: clamp(46px, 6.5vw, 72px);
  line-height: .95;
  letter-spacing: -.045em;
  color: #2e2c28;
}
#login .login-card .subtle{
  position: relative;
  z-index: 1;
  max-width: 610px;
  margin-bottom: 22px;
  color: rgba(48, 45, 39, .68);
  font-size: clamp(17px, 2.1vw, 21px);
  line-height: 1.5;
}
#login .customer-auth-tabs{
  position:relative;
  z-index:1;
  gap: 8px;
  margin: 12px 0 22px;
  padding: 7px;
  border-radius: 26px;
  border-color: rgba(128, 112, 89, .25);
  background: rgba(246, 241, 232, .62);
  box-shadow: 0 1px 0 rgba(255,255,255,.82) inset;
}
#login .customer-auth-tabs button{
  min-height: 52px;
  border-radius: 20px;
  color: rgba(54, 50, 44, .62);
  font-size: 16px;
  font-weight: 900;
}
#login .customer-auth-tabs button.is-active{
  color: #fff;
  background: linear-gradient(145deg, var(--green2), var(--green));
  box-shadow: 0 18px 36px rgba(75, 87, 69, .26), 0 1px 0 rgba(255,255,255,.32) inset;
}
#login .customer-register-choice{
  position:relative;
  z-index:1;
  gap: 16px;
  margin-top: 2px;
}
#login .customer-register-choice-head p{
  color: rgba(48, 45, 39, .62);
  font-size: 17px;
  line-height: 1.45;
}
#login .customer-social-btn,
#login .customer-email-register-btn{
  min-height: 72px;
  padding: 0 28px;
  border-radius: 18px;
  border-color: rgba(128, 112, 89, .28);
  background: rgba(255, 253, 248, .78);
  color: #302d27;
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 850;
  justify-content: center;
  box-shadow: 0 1px 0 rgba(255,255,255,.78) inset;
}
#login .customer-social-btn:hover,
#login .customer-email-register-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(75, 87, 69, .46);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 20px 45px rgba(45, 39, 30, .1);
}
#login .customer-social-btn--facebook{
  background: rgba(255, 253, 248, .78);
  border-color: rgba(128, 112, 89, .28);
  color: #302d27;
}
#login .customer-social-btn--facebook:hover{
  background: rgba(255,255,255,.92);
  border-color: rgba(75, 87, 69, .46);
}
#login .customer-social-icon{
  width: 46px;
  height: 46px;
  border: 1px solid rgba(128, 112, 89, .25);
  border-radius: 50%;
  background: rgba(247, 243, 235, .82);
  box-shadow: 0 1px 0 rgba(255,255,255,.86) inset;
}
#login .customer-social-icon svg{
  display:block;
  width: 23px;
  height: 23px;
}
#login .customer-social-icon--google{
  color: inherit;
  background: rgba(252, 250, 245, .94);
}
#login .customer-social-icon--facebook{
  color: #2f5488;
  background: rgba(252, 250, 245, .94);
  font-size: inherit;
}
#login .customer-social-icon--facebook svg{width: 22px;height: 22px;}
#login .customer-auth-divider{
  gap: 18px;
  margin: 2px 0;
  color: rgba(48, 45, 39, .58);
  font-size: 21px;
}
#login .customer-auth-divider span{
  min-width: 48px;
  height: 48px;
  display:grid;
  place-items:center;
  border-radius: 50%;
  background: rgba(246, 241, 232, .78);
  box-shadow: 0 1px 0 rgba(255,255,255,.84) inset;
}
#login .customer-auth-divider::before,
#login .customer-auth-divider::after{
  background: rgba(128, 112, 89, .28);
}
#login .customer-email-register-btn{
  border-color: rgba(75, 87, 69, .48);
  background: linear-gradient(180deg, rgba(246, 248, 238, .96), rgba(241, 244, 231, .86));
  color: var(--green2);
}
#login .customer-social-icon--email{
  color: var(--green2);
  border-color: rgba(75, 87, 69, .38);
  background: rgba(248, 248, 239, .92);
}
#login .login-link-row{
  margin-top: 22px;
  font-size: 16px;
}
#login .login-link-row a{
  color: var(--green2);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 8px;
}
#login .login-form{
  position:relative;
  z-index:1;
}
@media(max-width:680px){
  #login .login-layout--single{margin-top: 10px;}
  #login .login-card{padding: 30px 18px;border-radius: 26px;}
  #login .login-card::before{width: 174px;height: 174px;right:-70px;top:-50px;}
  #login .login-card>.eyebrow{padding-left: 28px;font-size: 11px;letter-spacing:.17em;}
  #login .login-card h1{font-size: clamp(40px, 13vw, 54px);}
  #login .login-card .subtle{font-size: 16px;}
  #login .customer-auth-tabs{grid-template-columns:1fr 1fr;border-radius: 22px;}
  #login .customer-auth-tabs button{min-height: 48px;font-size: 14px;padding: 10px 8px;}
  #login .customer-social-btn,
  #login .customer-email-register-btn{min-height: 62px;padding: 0 16px;font-size: 16px;gap: 12px;}
  #login .customer-social-icon{width: 40px;height: 40px;}
  #login .customer-auth-divider span{min-width: 42px;height: 42px;}
}

/* ============================================================
   ABOUT DESKTOP VISUAL BALANCE — PATCH 82.9.88.6.38.8
   Desktop only: larger imagery, lighter/smaller text rhythm.
   Mobile layout is intentionally unchanged.
   ============================================================ */
@media(min-width:901px){
  .about-hero{
    grid-template-columns:minmax(560px,1.26fr) minmax(340px,.74fr);
    gap:clamp(34px,4vw,58px);
    align-items:center;
  }
  .about-hero img{
    aspect-ratio:4/3;
    min-height:520px;
    object-fit:cover;
  }
  .about-hero-inner{
    max-width:470px;
    gap:16px;
  }
  .about-hero h1{
    max-width:460px;
    font-size:clamp(42px,3.55vw,58px);
    line-height:.98;
    letter-spacing:-.018em;
  }
  .about-hero p{
    max-width:430px;
    font-size:clamp(16px,1.12vw,18px);
    line-height:1.58;
  }
  .about-hero-meta{
    width:min(460px,100%);
    font-size:14px;
  }

  .about-intro{
    grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);
    column-gap:clamp(54px,6vw,104px);
  }
  .about-intro h2,
  .about-craft-copy h2,
  .about-service h2,
  .about-faq h2,
  .about-contact h2{
    font-size:clamp(38px,3.15vw,56px);
    line-height:1.02;
    letter-spacing:-.018em;
  }
  .about-copy{
    max-width:680px;
    gap:20px;
    font-size:clamp(16px,1.08vw,18px);
    line-height:1.68;
  }

  .about-material-strip{
    grid-template-columns:minmax(0,.88fr) minmax(420px,.62fr);
    gap:clamp(44px,5vw,76px);
  }
  .about-material-copy{
    max-width:680px;
  }
  .about-material-copy h2{
    max-width:560px;
    font-size:clamp(36px,2.8vw,48px);
  }
  .about-material-copy p{
    max-width:62ch;
    font-size:15.8px;
    line-height:1.66;
  }
  .about-material-media{
    width:min(500px,100%);
  }

  .about-craft{
    grid-template-columns:minmax(520px,1.18fr) minmax(340px,.82fr);
    gap:clamp(40px,4.6vw,72px);
    align-items:center;
  }
  .about-craft-media img{
    aspect-ratio:4/3;
    max-height:none;
  }
  .about-craft-copy{
    max-width:560px;
    gap:13px;
  }
  .about-craft-copy p{
    max-width:56ch;
    font-size:15.6px;
    line-height:1.62;
  }
  .about-feature-list{
    gap:11px 18px;
    margin-top:10px;
    padding-top:16px;
  }
  .about-feature-list li{
    font-size:13.5px;
    line-height:1.42;
  }

  .about-contact{
    grid-template-columns:minmax(0,.82fr) minmax(420px,.98fr);
  }
  .about-contact-content{
    padding:44px 0 44px 44px;
  }
  .about-contact p{
    max-width:42ch;
    font-size:15.5px;
  }
}

/* Patch 82.9.88.6.79 - mobile home category tiles polish */
@media (max-width: 760px){
  #home .home-block{
    overflow: visible;
  }

  #home .home-catalog-head{
    gap: 22px;
  }

  #home .home-catalog-head .btn{
    width: 100%;
    min-height: 58px;
    border-radius: 22px;
    font-size: 16px;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
    padding: 14px 18px;
  }

  #home .category-tiles{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
  }

  #home .category-tiles a{
    position: relative;
    min-height: 116px;
    padding: 18px 16px 16px;
    border-radius: 24px;
    background: linear-gradient(145deg, #6f7d67 0%, #4f5f4b 100%);
    color: #fff;
    box-shadow: 0 16px 34px rgba(49, 59, 43, .18);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    text-decoration: none;
  }

  #home .category-tiles a::before{
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 18% 8%, rgba(255,255,255,.12), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.07), rgba(0,0,0,.03));
    pointer-events: none;
  }

  #home .category-tiles a strong,
  #home .category-tiles a span{
    position: relative;
    z-index: 1;
  }

  #home .category-tiles a strong{
    display: block;
    max-width: calc(100% - 34px);
    font-size: 25px;
    line-height: 1.04;
    font-weight: 700;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  #home .category-tiles a > span:not(.arrow){
    display: block;
    font-size: 15px;
    line-height: 1.25;
    color: rgba(255,255,255,.78);
    overflow-wrap: anywhere;
  }

  #home .category-tiles .arrow{
    position: absolute;
    top: 16px;
    right: 16px;
    width: 30px;
    height: 30px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    font-size: 16px;
    line-height: 1;
    color: #52624f;
    background: rgba(255,255,255,.84);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), 0 8px 18px rgba(24,31,22,.12);
  }
}

@media (max-width: 390px){
  #home .category-tiles{
    gap: 10px;
  }

  #home .category-tiles a{
    min-height: 108px;
    padding: 16px 14px 14px;
    border-radius: 22px;
  }

  #home .category-tiles a strong{
    font-size: 23px;
  }

  #home .category-tiles a > span:not(.arrow){
    font-size: 14px;
  }
}

/* Patch 82.9.88.6.79.1 - mobile category tiles compact override */
@media (max-width: 760px){
  #home .category-tiles{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  #home .category-tiles a{
    min-height: 84px !important;
    padding: 13px 40px 13px 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.9) !important;
    color: #2f372d !important;
    border: 1px solid rgba(101,116,95,.24) !important;
    box-shadow: 0 10px 24px rgba(45,37,28,.07) !important;
    justify-content: center !important;
    gap: 5px !important;
  }

  #home .category-tiles a::before{
    content: '' !important;
    position: absolute !important;
    inset: 0 0 0 auto !important;
    width: 5px !important;
    background: #65745f !important;
    opacity: .95 !important;
  }

  #home .category-tiles a strong{
    max-width: 100% !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
    color: #2f372d !important;
    letter-spacing: 0 !important;
  }

  #home .category-tiles a > span:not(.arrow){
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    color: rgba(47,55,45,.68) !important;
  }

  #home .category-tiles .arrow{
    top: 12px !important;
    right: 12px !important;
    width: 25px !important;
    height: 25px !important;
    border-radius: 999px !important;
    background: #65745f !important;
    color: #fff !important;
    font-size: 13px !important;
    box-shadow: none !important;
  }
}

@media (max-width: 390px){
  #home .category-tiles a{
    min-height: 80px !important;
    padding: 12px 38px 12px 13px !important;
  }

  #home .category-tiles a strong{
    font-size: 20px !important;
  }
}

/* Patch 82.9.88.6.79.2 - hide mobile category subtitles */
@media (max-width: 760px){
  #home .category-tiles a > span:not(.arrow){
    display: none !important;
  }

  #home .category-tiles a{
    min-height: 74px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  #home .category-tiles a strong{
    font-size: 22px !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 390px){
  #home .category-tiles a{
    min-height: 70px !important;
  }

  #home .category-tiles a strong{
    font-size: 21px !important;
  }
}

/* Patch 82.9.88.6.79.3 - mobile phone floating button */
@media (max-width: 760px){
  .fast-contact-fab{
    position: fixed !important;
    right: 18px !important;
    left: auto !important;
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    background: #65745f !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow: 0 14px 30px rgba(41,48,37,.26) !important;
    z-index: 80 !important;
    transform: none !important;
  }

  .fast-contact-fab span:not(.fast-contact-fab-icon){
    display: none !important;
  }

  .fast-contact-fab-icon{
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 25px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 390px){
  .fast-contact-fab{
    right: 14px !important;
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
  }

  .fast-contact-fab-icon{
    width: 54px !important;
    height: 54px !important;
    font-size: 23px !important;
  }
}

/* Patch 82.9.88.6.80 - mobile product cards two columns */
@media (max-width: 760px){
  #homeProducts.grid,
  #catalogGrid.grid,
  #relatedProducts.grid{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  #homeProducts .product-card,
  #catalogGrid .product-card,
  #relatedProducts .product-card{
    min-width: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 28px rgba(45,37,28,.08) !important;
  }

  #homeProducts .product-card img,
  #catalogGrid .product-card img,
  #relatedProducts .product-card img{
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  #homeProducts .product-card .product-wishlist-heart,
  #catalogGrid .product-card .product-wishlist-heart,
  #relatedProducts .product-card .product-wishlist-heart{
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    right: 10px !important;
    top: 10px !important;
    font-size: 17px !important;
  }

  #homeProducts .product-card > div,
  #catalogGrid .product-card > div,
  #relatedProducts .product-card > div{
    padding: 12px !important;
  }

  #homeProducts .product-card .muted,
  #catalogGrid .product-card .muted,
  #relatedProducts .product-card .muted{
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    margin-bottom: 5px !important;
  }

  #homeProducts .product-card h3,
  #catalogGrid .product-card h3,
  #relatedProducts .product-card h3{
    font-size: 17px !important;
    line-height: 1.08 !important;
    margin: 0 0 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  #homeProducts .product-card-summary,
  #catalogGrid .product-card-summary,
  #relatedProducts .product-card-summary{
    display: none !important;
  }

  #homeProducts .product-card .price,
  #catalogGrid .product-card .price,
  #relatedProducts .product-card .price{
    font-size: 19px !important;
    line-height: 1.1 !important;
    margin: 8px 0 10px !important;
    white-space: nowrap !important;
  }

  #homeProducts .product-actions,
  #catalogGrid .product-actions,
  #relatedProducts .product-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #homeProducts .product-actions .btn,
  #catalogGrid .product-actions .btn,
  #relatedProducts .product-actions .btn{
    width: 100% !important;
    min-height: 38px !important;
    padding: 9px 8px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

@media (max-width: 390px){
  #homeProducts.grid,
  #catalogGrid.grid,
  #relatedProducts.grid{
    gap: 10px !important;
  }

  #homeProducts .product-card > div,
  #catalogGrid .product-card > div,
  #relatedProducts .product-card > div{
    padding: 10px !important;
  }

  #homeProducts .product-card h3,
  #catalogGrid .product-card h3,
  #relatedProducts .product-card h3{
    font-size: 16px !important;
  }

  #homeProducts .product-card .price,
  #catalogGrid .product-card .price,
  #relatedProducts .product-card .price{
    font-size: 18px !important;
  }

  #homeProducts .product-actions .btn,
  #catalogGrid .product-actions .btn,
  #relatedProducts .product-actions .btn{
    min-height: 36px !important;
    font-size: 12.5px !important;
  }
}

/* Patch 82.9.88.6.81 - mobile hero callout centered copy */
@media (max-width: 760px){
  #home .hero-callout-text{
    text-align: center !important;
  }

  #home .hero-callout-text .eyebrow,
  #home .hero-callout-text h2,
  #home .hero-callout-text p{
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #home .hero-callout-text h2{
    max-width: 11.5em !important;
  }

  #home .hero-callout-text p{
    max-width: 24em !important;
  }
}

/* PATCH 82.9.88.6.79: mobile benefits watermark cards */
@media (max-width: 760px) {
  #home .benefits {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 9px;
    margin: 14px 0 18px;
  }

  #home .benefit {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    width: fit-content;
    min-width: min(300px, calc(100vw - 48px));
    max-width: calc(100vw - 40px);
    min-height: 76px;
    padding: 13px 46px 13px 18px;
    border: 1px solid rgba(103, 89, 73, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 7px 20px rgba(45, 37, 29, 0.06);
    display: block;
    text-align: center;
  }

  #home .benefit .benefit-icon {
    position: absolute;
    right: -16px;
    bottom: -22px;
    width: 76px;
    height: 76px;
    margin: 0;
    color: #66735f;
    opacity: 0.075;
    pointer-events: none;
    z-index: 0;
  }

  #home .benefit .benefit-icon svg {
    width: 100%;
    height: 100%;
    stroke-width: 1.35;
  }

  #home .benefit strong,
  #home .benefit > span:not(.benefit-icon) {
    position: relative;
    z-index: 1;
  }

  #home .benefit strong {
    display: block;
    color: var(--text);
    font-family: var(--serif);
    font-size: clamp(20px, 5.1vw, 23px);
    line-height: 1.04;
    font-weight: 600;
    letter-spacing: 0;
    white-space: nowrap;
  }

  #home .benefit > span:not(.benefit-icon) {
    display: block;
    max-width: 360px;
    margin: 7px auto 0;
    color: rgba(31, 31, 31, 0.62);
    font-family: var(--sans);
    font-size: 13px;
    line-height: 1.38;
    font-weight: 400;
    text-align: center;
  }
}

@media (max-width: 380px) {
  #home .benefits {
    gap: 8px;
    margin: 12px 0 16px;
  }

  #home .benefit {
    min-width: min(280px, calc(100vw - 38px));
    max-width: calc(100vw - 32px);
    min-height: 72px;
    padding: 12px 42px 12px 16px;
    border-radius: 15px;
  }

  #home .benefit .benefit-icon {
    right: -18px;
    bottom: -22px;
    width: 70px;
    height: 70px;
  }

  #home .benefit strong {
    font-size: clamp(18px, 5vw, 20px);
  }

  #home .benefit > span:not(.benefit-icon) {
    max-width: 300px;
    margin-top: 6px;
    font-size: 12.4px;
    line-height: 1.36;
  }
}
/* END PATCH 82.9.88.6.79 */

/* PATCH 82.9.88.6.80.4: mobile category tiles expanded */
@media (max-width: 1024px) {
  #home .home-catalog-head {
    display: block;
    margin-bottom: 16px;
  }

  #home .home-catalog-head .btn {
    display: none !important;
  }

  #home .category-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  #home .category-tiles a {
    min-height: 86px;
    padding: 14px 12px;
    border-radius: 18px;
  }

  #home .category-tiles a strong {
    max-width: calc(100% - 28px);
    font-size: clamp(15px, 2.35vw, 19px);
    line-height: 1.08;
  }

  #home .category-tiles a > span:not(.arrow) {
    display: none;
  }

  #home .category-tiles .arrow {
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    font-size: 15px;
  }
}

@media (max-width: 560px) {
  #home .category-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #home .category-tiles a {
    min-height: 92px;
  }
}
/* END PATCH 82.9.88.6.80.4 */

/* PATCH 82.9.88.6.82: mobile photo customization media fit */
@media (max-width: 760px) {
  #home .home-photo-custom {
    width: min(100%, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
  }

  #home .home-photo-custom-media {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 0.9;
    overflow: hidden;
    order: -1;
    border-radius: var(--r-card) var(--r-card) 0 0;
  }

  #home .home-photo-custom-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 62% center;
    transform: scale(1.04);
    transform-origin: center center;
  }

  #home .photo-note-main {
    top: 43%;
    left: 48%;
  }

  #home .photo-mark-left {
    left: 35%;
    top: 50%;
    width: 38%;
    height: 23%;
  }

  #home .photo-mark-right {
    right: 4%;
    top: 22%;
    width: 20%;
    height: 32%;
  }

  #home .photo-cursor {
    left: 12%;
    top: 24%;
  }
}

@media (max-width: 420px) {
  #home .home-photo-custom {
    width: min(100%, calc(100vw - 28px));
    max-width: calc(100vw - 28px);
  }

  #home .home-photo-custom-media {
    aspect-ratio: 1 / 0.88;
  }

  #home .home-photo-custom-media img {
    object-position: 64% center;
    transform: scale(1.055);
  }

  #home .photo-note-main {
    top: 42%;
    left: 47%;
  }

  #home .photo-mark-left {
    left: 32%;
    top: 51%;
    width: 40%;
    height: 22%;
  }

  #home .photo-mark-right {
    right: 3%;
    top: 23%;
    width: 21%;
    height: 31%;
  }
}
/* END PATCH 82.9.88.6.82 */

/* PATCH 82.9.88.6.82.1: mobile photo custom copy centered */
@media (max-width: 760px) {
  #home .home-photo-custom-copy,
  #home .home-photo-custom-content,
  #home .home-photo-custom-text {
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  #home .home-photo-custom-copy .eyebrow,
  #home .home-photo-custom-content .eyebrow,
  #home .home-photo-custom-text .eyebrow {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-wrap: balance;
    font-size: clamp(42px, 11.2vw, 58px);
    line-height: 1.08;
  }

  #home .home-photo-custom-copy p,
  #home .home-photo-custom-content p,
  #home .home-photo-custom-text p {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #home .home-photo-custom-copy ul,
  #home .home-photo-custom-content ul,
  #home .home-photo-custom-text ul {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  #home .home-photo-custom-copy .btn,
  #home .home-photo-custom-content .btn,
  #home .home-photo-custom-text .btn {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 420px) {
  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 340px;
    font-size: clamp(38px, 11vw, 46px);
    line-height: 1.08;
  }

  #home .home-photo-custom-copy p,
  #home .home-photo-custom-content p,
  #home .home-photo-custom-text p {
    max-width: 330px;
  }
}
/* END PATCH 82.9.88.6.82.1 */

/* PATCH 82.9.88.6.82.2: real phone photo custom fit */
@media (max-width: 760px) {
  #home .home-photo-custom {
    width: min(100%, calc(100vw - 28px));
    max-width: calc(100vw - 28px);
    margin-left: auto;
    margin-right: auto;
  }

  #home .home-photo-custom-media {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  #home .home-photo-custom-media img {
    object-fit: cover;
    object-position: 58% center;
    transform: scale(1.02);
  }

  #home .photo-note-main {
    left: 50%;
    right: auto;
    top: 43%;
    max-width: calc(100% - 32px);
    transform: translateX(-50%);
    white-space: nowrap;
  }

  #home .home-photo-custom-copy,
  #home .home-photo-custom-content,
  #home .home-photo-custom-text {
    text-align: center;
    align-items: center;
  }

  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-wrap: balance;
    font-size: clamp(34px, 8.8vw, 42px);
    line-height: 1.1;
  }

  #home .home-photo-custom-copy p,
  #home .home-photo-custom-content p,
  #home .home-photo-custom-text p {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

@media (max-width: 430px) {
  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 348px;
    font-size: clamp(31px, 8.4vw, 36px);
    line-height: 1.12;
  }

  #home .photo-note-main {
    top: 43%;
    max-width: calc(100% - 26px);
    font-size: 14px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 380px) {
  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 320px;
    font-size: clamp(28px, 8.1vw, 32px);
    line-height: 1.14;
  }

  #home .photo-note-main {
    font-size: 13px;
    padding-left: 14px;
    padding-right: 14px;
  }
}
/* END PATCH 82.9.88.6.82.2 */

/* PATCH 82.9.88.6.82.3: real phone black card overflow containment */
@media (max-width: 760px) {
  #home .home-photo-custom {
    overflow: hidden;
  }

  #home .home-photo-custom-copy,
  #home .home-photo-custom-content,
  #home .home-photo-custom-text {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-left: 22px;
    padding-right: 22px;
    text-align: center;
  }

  #home .home-photo-custom-copy .eyebrow,
  #home .home-photo-custom-content .eyebrow,
  #home .home-photo-custom-text .eyebrow {
    display: block;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    box-sizing: border-box;
    width: 100%;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    font-size: clamp(30px, 8vw, 36px);
    line-height: 1.12;
  }

  #home .home-photo-custom-copy p,
  #home .home-photo-custom-content p,
  #home .home-photo-custom-text p {
    box-sizing: border-box;
    width: 100%;
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    overflow-wrap: break-word;
    word-break: normal;
    font-size: clamp(15px, 4vw, 18px);
    line-height: 1.46;
  }

  #home .home-photo-custom-copy ul,
  #home .home-photo-custom-content ul,
  #home .home-photo-custom-text ul {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    text-align: left;
  }

  #home .home-photo-custom-copy li,
  #home .home-photo-custom-content li,
  #home .home-photo-custom-text li {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  #home .home-photo-custom-copy .btn,
  #home .home-photo-custom-content .btn,
  #home .home-photo-custom-text .btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 18px;
    padding-right: 18px;
    white-space: normal;
    text-align: center;
    overflow: hidden;
  }
}

@media (max-width: 430px) {
  #home .home-photo-custom-copy,
  #home .home-photo-custom-content,
  #home .home-photo-custom-text {
    padding-left: 18px;
    padding-right: 18px;
  }

  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 318px;
    font-size: clamp(28px, 7.7vw, 32px);
    line-height: 1.14;
  }

  #home .home-photo-custom-copy p,
  #home .home-photo-custom-content p,
  #home .home-photo-custom-text p {
    max-width: 310px;
    font-size: clamp(14px, 3.85vw, 16px);
    line-height: 1.44;
  }

  #home .home-photo-custom-copy .btn,
  #home .home-photo-custom-content .btn,
  #home .home-photo-custom-text .btn {
    max-width: 310px;
    font-size: 15px;
    line-height: 1.22;
  }
}

@media (max-width: 380px) {
  #home .home-photo-custom-copy h2,
  #home .home-photo-custom-content h2,
  #home .home-photo-custom-text h2 {
    max-width: 292px;
    font-size: clamp(26px, 7.5vw, 29px);
  }

  #home .home-photo-custom-copy p,
  #home .home-photo-custom-content p,
  #home .home-photo-custom-text p {
    max-width: 286px;
  }

  #home .home-photo-custom-copy .btn,
  #home .home-photo-custom-content .btn,
  #home .home-photo-custom-text .btn {
    max-width: 286px;
    font-size: 14px;
  }
}
/* END PATCH 82.9.88.6.82.3 */

/* PATCH 82.9.88.6.82.5: mobile photo label shifted left only */
@media (max-width: 760px) {
  #home .photo-note-main {
    left: 43%;
    right: auto;
    transform: translateX(-50%);
    max-width: min(292px, calc(100% - 24px));
    white-space: nowrap;
  }
}

@media (max-width: 430px) {
  #home .photo-note-main {
    left: 41%;
    max-width: min(286px, calc(100% - 20px));
  }
}

@media (max-width: 380px) {
  #home .photo-note-main {
    left: 40%;
    max-width: min(274px, calc(100% - 18px));
  }
}
/* END PATCH 82.9.88.6.82.5 */

/* PATCH 82.9.88.6.82.6: mobile photo label moved more left */
@media (max-width: 760px) {
  #home .photo-note-main {
    left: 39%;
  }
}

@media (max-width: 430px) {
  #home .photo-note-main {
    left: 37%;
  }
}

@media (max-width: 380px) {
  #home .photo-note-main {
    left: 36%;
  }
}
/* END PATCH 82.9.88.6.82.6 */

/* PATCH 82.9.88.6.83.1: home popular cart button green */
#homeProducts .product-actions .btn:last-child {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  box-shadow: 0 10px 24px rgba(96, 112, 88, 0.18);
}

#homeProducts .product-actions .btn:last-child:hover,
#homeProducts .product-actions .btn:last-child:focus-visible {
  background: #596a53;
  border-color: #596a53;
  color: #fff;
}

#homeProducts .product-actions .btn:last-child:active {
  transform: translateY(1px);
}
/* END PATCH 82.9.88.6.83.1 */

/* PATCH 82.9.88.6.84.1: mobile home-route centered compact */
@media (max-width: 760px) {
  #home .home-route.home-how-compact-mobile {
    box-sizing: border-box;
    width: min(100%, calc(100vw - 28px));
    max-width: calc(100vw - 28px);
    margin-left: auto;
    margin-right: auto;
    padding: 26px 22px;
    text-align: center;
    justify-items: center;
    gap: 18px;
    overflow: hidden;
  }

  #home .home-route.home-how-compact-mobile > div {
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #home .home-route.home-how-compact-mobile .eyebrow {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #home .home-route.home-how-compact-mobile h2 {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-wrap: balance;
    font-size: clamp(24px, 5.7vw, 34px);
    line-height: 1.16;
  }

  #home .home-route.home-how-compact-mobile p {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: clamp(14px, 3.55vw, 16px);
    line-height: 1.5;
  }

  #home .home-route.home-how-compact-mobile .btn {
    width: 100%;
    max-width: 310px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    white-space: normal;
  }
}

@media (max-width: 430px) {
  #home .home-route.home-how-compact-mobile {
    padding: 24px 18px;
  }

  #home .home-route.home-how-compact-mobile h2 {
    max-width: 360px;
    font-size: 23px;
    line-height: 1.18;
  }

  #home .home-route.home-how-compact-mobile p {
    max-width: 342px;
    font-size: 14.5px;
    line-height: 1.48;
  }

  #home .home-route.home-how-compact-mobile .btn {
    max-width: 292px;
    font-size: 14.5px;
  }
}

@media (max-width: 380px) {
  #home .home-route.home-how-compact-mobile h2 {
    max-width: 320px;
    font-size: 21px;
  }

  #home .home-route.home-how-compact-mobile p {
    max-width: 300px;
    font-size: 14px;
  }

  #home .home-route.home-how-compact-mobile .btn {
    max-width: 276px;
    font-size: 14px;
  }
}
/* END PATCH 82.9.88.6.84.1 */

/* PATCH 82.9.88.6.86.1: balance home route spacing */
#home.page.active {
  padding-bottom: 42px;
}

#home .home-route.home-how-compact-mobile {
  margin-top: 42px;
  margin-bottom: 42px;
}

@media (max-width: 760px) {
  #home.page.active {
    padding-bottom: 30px;
  }

  #home .home-route.home-how-compact-mobile {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 430px) {
  #home.page.active {
    padding-bottom: 26px;
  }

  #home .home-route.home-how-compact-mobile {
    margin-top: 26px;
    margin-bottom: 26px;
  }
}
/* END PATCH 82.9.88.6.86.1 */

/* PATCH 82.9.88.6.80 - POPULAR MODELS CARD BUTTONS ALIGNMENT */
@media (min-width: 1024px) {
  .product-card,
  .catalog-card,
  .model-card {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .product-card-body,
  .product-card__body,
  .product-card-content,
  .product-info,
  .catalog-card-body,
  .catalog-card__body,
  .catalog-card-content,
  .model-card-body,
  .model-card__body,
  .model-card-content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .product-card-title,
  .product-card__title,
  .catalog-card-title,
  .catalog-card__title,
  .model-card-title,
  .model-card__title {
    min-height: 2.35em;
  }

  .product-card-description,
  .product-card__description,
  .product-card-excerpt,
  .product-card__excerpt,
  .catalog-card-description,
  .catalog-card__description,
  .catalog-card-excerpt,
  .catalog-card__excerpt,
  .model-card-description,
  .model-card__description,
  .model-card-excerpt,
  .model-card__excerpt {
    min-height: 4.8em;
  }

  .product-price,
  .product-card-price,
  .product-card__price,
  .catalog-card-price,
  .catalog-card__price,
  .model-card-price,
  .model-card__price {
    margin-top: auto;
  }

  .product-card-actions,
  .product-card__actions,
  .product-actions,
  .catalog-card-actions,
  .catalog-card__actions,
  .catalog-actions,
  .model-card-actions,
  .model-card__actions,
  .model-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-top: 22px;
  }
}
/* END PATCH 82.9.88.6.80 - POPULAR MODELS CARD BUTTONS ALIGNMENT */

/* PATCH 82.9.88.6.82 - POPULAR MODELS CENTER CTA ELEMENTS */
@media (min-width: 1024px) {
  .product-card-body > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .product-card__body > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .product-card-content > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .product-info > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .catalog-card-body > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .catalog-card__body > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .model-card-body > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )),
  .model-card__body > :has(+ :is(
    .product-price,
    .product-card-price,
    .product-card__price,
    .catalog-card-price,
    .catalog-card__price,
    .model-card-price,
    .model-card__price
  )) {
    align-self: center;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .product-card-actions,
  .product-card__actions,
  .product-actions,
  .catalog-card-actions,
  .catalog-card__actions,
  .catalog-actions,
  .model-card-actions,
  .model-card__actions,
  .model-actions {
    align-items: center;
  }

  .product-card-actions :is(button, a),
  .product-card__actions :is(button, a),
  .product-actions :is(button, a),
  .catalog-card-actions :is(button, a),
  .catalog-card__actions :is(button, a),
  .catalog-actions :is(button, a),
  .model-card-actions :is(button, a),
  .model-card__actions :is(button, a),
  .model-actions :is(button, a) {
    margin-left: auto;
    margin-right: auto;
  }
}
/* END PATCH 82.9.88.6.82 - POPULAR MODELS CENTER CTA ELEMENTS */

/* PATCH 82.9.88.6.84 - POPULAR MODELS PILL CENTER PRICE GAP FIX */
@media (min-width: 1024px) {
  .treeart-popular-models-card .treeart-popular-models-change-pill {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    align-self: center !important;
    width: fit-content;
    max-width: calc(100% - 24px);
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
  }

  .treeart-popular-models-card .treeart-popular-models-price {
    margin-bottom: 14px !important;
  }

  .treeart-popular-models-card .treeart-popular-models-details-action-wrap {
    margin-top: 10px !important;
    padding-top: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }

  .treeart-popular-models-card .treeart-popular-models-details-btn {
    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .treeart-popular-models-card .treeart-popular-models-details-action-wrap :is(a, button) {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* END PATCH 82.9.88.6.84 - POPULAR MODELS PILL CENTER PRICE GAP FIX */

/* PATCH 82.9.88.6.85 - POPULAR MODELS PRICE CENTER */
.treeart-popular-models-card .treeart-popular-models-price,
.treeart-popular-models-card .product-price,
.treeart-popular-models-card .product-card-price,
.treeart-popular-models-card .product-card__price,
.treeart-popular-models-card .catalog-card-price,
.treeart-popular-models-card .catalog-card__price,
.treeart-popular-models-card .model-card-price,
.treeart-popular-models-card .model-card__price {
  display: block;
  width: 100%;
  text-align: center !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* END PATCH 82.9.88.6.85 - POPULAR MODELS PRICE CENTER */

/* PATCH 82.9.88.6.86 - POPULAR MODELS EQUAL CTA SPACING */
.treeart-popular-models-card {
  --treeart-popular-card-cta-gap: 20px;
}

.treeart-popular-models-card .treeart-popular-models-change-pill {
  margin-top: 0 !important;
  margin-bottom: var(--treeart-popular-card-cta-gap) !important;
}

.treeart-popular-models-card .treeart-popular-models-price,
.treeart-popular-models-card .product-price,
.treeart-popular-models-card .product-card-price,
.treeart-popular-models-card .product-card__price,
.treeart-popular-models-card .catalog-card-price,
.treeart-popular-models-card .catalog-card__price,
.treeart-popular-models-card .model-card-price,
.treeart-popular-models-card .model-card__price {
  margin-top: 0 !important;
  margin-bottom: var(--treeart-popular-card-cta-gap) !important;
}

.treeart-popular-models-card .treeart-popular-models-details-action-wrap,
.treeart-popular-models-card .product-card-actions,
.treeart-popular-models-card .product-card__actions,
.treeart-popular-models-card .product-actions,
.treeart-popular-models-card .catalog-card-actions,
.treeart-popular-models-card .catalog-card__actions,
.treeart-popular-models-card .catalog-actions,
.treeart-popular-models-card .model-card-actions,
.treeart-popular-models-card .model-card__actions,
.treeart-popular-models-card .model-actions {
  margin-top: 0 !important;
  padding-top: 0 !important;
  gap: var(--treeart-popular-card-cta-gap) !important;
}

.treeart-popular-models-card .treeart-popular-models-details-btn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.treeart-popular-models-card .treeart-popular-models-details-action-wrap :is(a, button),
.treeart-popular-models-card .product-card-actions :is(a, button),
.treeart-popular-models-card .product-card__actions :is(a, button),
.treeart-popular-models-card .product-actions :is(a, button),
.treeart-popular-models-card .catalog-card-actions :is(a, button),
.treeart-popular-models-card .catalog-card__actions :is(a, button),
.treeart-popular-models-card .catalog-actions :is(a, button),
.treeart-popular-models-card .model-card-actions :is(a, button),
.treeart-popular-models-card .model-card__actions :is(a, button),
.treeart-popular-models-card .model-actions :is(a, button) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* END PATCH 82.9.88.6.86 - POPULAR MODELS EQUAL CTA SPACING */

/* PATCH 82.9.88.6.92 - CATALOG CARDS ADD TO CART GREEN BUTTON */
#catalog .treeart-catalog-card-add-to-cart-btn {
  background: #66745f !important;
  border-color: #66745f !important;
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(78, 91, 71, 0.22) !important;
}

#catalog .treeart-catalog-card-add-to-cart-btn:hover,
#catalog .treeart-catalog-card-add-to-cart-btn:focus-visible {
  background: #596652 !important;
  border-color: #596652 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

#catalog .treeart-catalog-card-add-to-cart-btn:active {
  transform: translateY(0);
}
/* END PATCH 82.9.88.6.92 - CATALOG CARDS ADD TO CART GREEN BUTTON */

/* PATCH 82.9.88.6.93 - COMPACT CATALOG PRODUCT CARDS */
#catalog .treeart-catalog-compact-card {
  overflow: hidden;
}

#catalog .treeart-catalog-compact-card :is(
  .product-card-body,
  .product-card__body,
  .product-card-content,
  .product-info,
  .catalog-card-body,
  .catalog-card__body,
  .catalog-card-content,
  .model-card-body,
  .model-card__body,
  .model-card-content
) {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  gap: 12px !important;
}

#catalog .treeart-catalog-compact-card .treeart-catalog-card-title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.12 !important;
}

#catalog .treeart-catalog-compact-card .treeart-catalog-card-description {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  line-height: 1.42 !important;
}

#catalog .treeart-catalog-compact-card .treeart-catalog-card-pill {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

#catalog .treeart-catalog-compact-card .treeart-catalog-card-price {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  text-align: center !important;
}

#catalog .treeart-catalog-compact-card .treeart-catalog-card-details-btn {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

#catalog .treeart-catalog-compact-card .treeart-catalog-card-add-to-cart-btn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#catalog .treeart-catalog-compact-card :is(
  .product-card-actions,
  .product-card__actions,
  .product-actions,
  .catalog-card-actions,
  .catalog-card__actions,
  .catalog-actions,
  .model-card-actions,
  .model-card__actions,
  .model-actions
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  gap: 14px !important;
}

@media (min-width: 1024px) {
  #catalog .treeart-catalog-compact-card :is(
    .product-card-body,
    .product-card__body,
    .product-card-content,
    .product-info,
    .catalog-card-body,
    .catalog-card__body,
    .catalog-card-content,
    .model-card-body,
    .model-card__body,
    .model-card-content
  ) {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  #catalog .treeart-catalog-compact-card .treeart-catalog-card-title {
    font-size: clamp(26px, 1.85vw, 32px) !important;
  }

  #catalog .treeart-catalog-compact-card .treeart-catalog-card-description {
    min-height: 0 !important;
  }

  #catalog .treeart-catalog-compact-card .treeart-catalog-card-details-btn,
  #catalog .treeart-catalog-compact-card .treeart-catalog-card-add-to-cart-btn {
    min-height: 54px !important;
  }
}
/* END PATCH 82.9.88.6.93 - COMPACT CATALOG PRODUCT CARDS */

/* PATCH 82.9.88.6.97 - MOBILE CATALOG FILTERS WRAP FIX */
@media (max-width: 767px) {
  #catalog {
    overflow-x: hidden;
  }

  #catalog .treeart-catalog-mobile-search-box,
  #catalog .treeart-catalog-mobile-search-box * {
    box-sizing: border-box;
  }

  #catalog .treeart-catalog-mobile-search-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  #catalog .treeart-catalog-mobile-search-input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  #catalog .treeart-catalog-mobile-filter-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px 8px !important;
    overflow: visible !important;
    overflow-x: visible !important;
    white-space: normal !important;
  }

  #catalog .treeart-catalog-mobile-filter-row > * {
    flex: 0 1 auto !important;
    max-width: 100% !important;
  }

  #catalog .treeart-catalog-mobile-filter-chip {
    white-space: nowrap !important;
  }

  #catalog .treeart-mobile-catalog-filter-wrap,
  #catalog .treeart-mobile-catalog-filter-scroll-lock {
    overflow: visible !important;
    overflow-x: visible !important;
    white-space: normal !important;
    transform: none !important;
  }
}
/* END PATCH 82.9.88.6.97 - MOBILE CATALOG FILTERS WRAP FIX */

/* PATCH 82.9.88.6.98 - MOBILE CATALOG SEARCH AND FILTERS LAYOUT */
@media (max-width: 767px) {
  #catalog {
    overflow-x: hidden !important;
  }

  #catalog .treeart-catalog-mobile-search-box {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    clear: both !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  #catalog .treeart-catalog-mobile-search-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  #catalog .treeart-catalog-mobile-filter-row {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    clear: both !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px 8px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    white-space: normal !important;
    transform: none !important;
  }

  #catalog .treeart-catalog-mobile-filter-row:first-of-type {
    margin-top: 0 !important;
  }

  #catalog .treeart-catalog-mobile-filter-row > * {
    flex: 0 1 auto !important;
    max-width: 100% !important;
  }

  #catalog .treeart-catalog-mobile-filter-chip {
    white-space: nowrap !important;
  }

  #catalog .treeart-catalog-mobile-search-box ~ .treeart-catalog-mobile-filter-row {
    margin-top: 0 !important;
  }
}
/* END PATCH 82.9.88.6.98 - MOBILE CATALOG SEARCH AND FILTERS LAYOUT */

/* PATCH 82.9.88.6.99 - MOBILE CATALOG SEARCH FILTERS GAP ENFORCEMENT */
@media (max-width: 767px) {
  #catalog {
    overflow-x: hidden !important;
  }

  #catalog .treeart-mobile-catalog-search-gap-lock {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-bottom: 28px !important;
    position: relative !important;
    z-index: 3 !important;
    transform: none !important;
  }

  #catalog .treeart-mobile-catalog-search-gap-lock input,
  #catalog input.treeart-mobile-catalog-search-input-gap-lock {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transform: none !important;
  }

  #catalog .treeart-mobile-catalog-filter-gap-lock {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 10px 8px !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    white-space: normal !important;
    transform: none !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #catalog .treeart-mobile-catalog-filter-gap-lock.treeart-mobile-catalog-filter-needs-gap {
    margin-top: 22px !important;
  }

  #catalog .treeart-mobile-catalog-filter-gap-lock > * {
    flex: 0 1 auto !important;
    max-width: 100% !important;
  }

  #catalog .treeart-mobile-catalog-chip-gap-lock {
    white-space: nowrap !important;
  }
}
/* END PATCH 82.9.88.6.99 - MOBILE CATALOG SEARCH FILTERS GAP ENFORCEMENT */


/* PATCH 82.9.88.6.101 - MOBILE CATALOG REAL SVG ICONS */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-chip-b::before {
    content: none !important;
    display: none !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    margin: 0 auto 2px auto !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b * {
    vector-effect: non-scaling-stroke;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    gap: 7px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: #ffffff !important;
    stroke: #ffffff !important;
  }
}
/* END PATCH 82.9.88.6.101 - MOBILE CATALOG REAL SVG ICONS */

/* PATCH 82.9.88.6.102 - MOBILE CATALOG VARIANT B DESKTOP SCOPE FIX */
@media (min-width: 768px) {
  #catalog .treeart-mobile-catalog-filter-groups-b {
    display: none !important;
  }

  #catalog .treeart-mobile-catalog-legacy-filter-hidden-b {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    width: auto !important;
    height: auto !important;
    min-height: unset !important;
    padding: inherit;
    border-radius: inherit;
    box-shadow: inherit;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    display: none !important;
  }

  #catalog .treeart-mobile-catalog-chip-b::before {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-filter-groups-b {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    display: block !important;
  }

  #catalog .treeart-mobile-catalog-filter-group-b {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
  }

  #catalog .treeart-mobile-catalog-filter-title-b {
    margin: 0 0 12px 0 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #2d2d2b !important;
    letter-spacing: 0.01em !important;
  }

  #catalog .treeart-mobile-catalog-filter-row-b {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    white-space: normal !important;
    transform: none !important;
  }

  #catalog .treeart-mobile-catalog-filter-row-b > * {
    min-width: 0 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    min-width: 0 !important;
    width: 100% !important;
    height: 74px !important;
    padding: 10px 7px 9px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(118, 100, 78, 0.18) !important;
    background: rgba(255, 255, 255, 0.76) !important;
    color: #696660 !important;
    box-shadow: 0 10px 26px rgba(40, 34, 28, 0.06) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.1 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"],
  #catalog .treeart-mobile-catalog-chip-b.active,
  #catalog .treeart-mobile-catalog-chip-b.is-active,
  #catalog .treeart-mobile-catalog-chip-b.selected,
  #catalog .treeart-mobile-catalog-chip-b:first-child {
    background: #66745f !important;
    border-color: #66745f !important;
    color: #ffffff !important;
    box-shadow: 0 16px 30px rgba(77, 91, 70, 0.22) !important;
  }

  #catalog .treeart-mobile-catalog-legacy-filter-hidden-b {
    display: none !important;
  }
}

@media (max-width: 380px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 72px !important;
  }
}
/* END PATCH 82.9.88.6.102 - MOBILE CATALOG VARIANT B DESKTOP SCOPE FIX */

/* PATCH 82.9.88.6.104 - MOBILE CATALOG COMPACT WATERMARK STYLE */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-filter-groups-b {
    margin-top: 14px !important;
  }

  #catalog .treeart-mobile-catalog-filter-group-b {
    margin: 0 0 16px 0 !important;
  }

  #catalog .treeart-mobile-catalog-filter-title-b {
    margin: 0 0 8px 0 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  #catalog .treeart-mobile-catalog-filter-row-b {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    position: relative !important;
    overflow: hidden !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 6px 8px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(118, 100, 78, 0.14) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #66635e !important;
    box-shadow: 0 6px 18px rgba(40, 34, 28, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"],
  #catalog .treeart-mobile-catalog-chip-b.active,
  #catalog .treeart-mobile-catalog-chip-b.is-active,
  #catalog .treeart-mobile-catalog-chip-b.selected,
  #catalog .treeart-mobile-catalog-chip-b:first-child {
    background: #66745f !important;
    border-color: #66745f !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(77, 91, 70, 0.16) !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    max-width: 100% !important;
    padding: 0 4px !important;
    font-size: 11px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    z-index: 1 !important;
    color: rgba(103, 100, 94, 0.14) !important;
    stroke: rgba(103, 100, 94, 0.14) !important;
    fill: none !important;
    stroke-width: 1.6 !important;
    pointer-events: none !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.18) !important;
    stroke: rgba(255, 255, 255, 0.18) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b .treeart-mobile-catalog-svg-icon-b * {
    vector-effect: non-scaling-stroke;
  }
}

@media (max-width: 420px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 58px !important;
    min-height: 58px !important;
    padding: 5px 7px !important;
    border-radius: 16px !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    font-size: 10px !important;
    line-height: 1.08 !important;
    padding: 0 2px !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    width: 26px !important;
    height: 26px !important;
  }
}
/* END PATCH 82.9.88.6.104 - MOBILE CATALOG COMPACT WATERMARK STYLE */

/* PATCH 82.9.88.6.105 - MOBILE CATALOG WATERMARK ICONS BIGGER CHIPS SMALLER */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    gap: 7px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 56px !important;
    min-height: 56px !important;
    padding: 4px 7px !important;
    border-radius: 16px !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 7px !important;
    z-index: 2 !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 0 !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    width: 36px !important;
    height: 36px !important;
    top: 36% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: rgba(103, 100, 94, 0.22) !important;
    stroke: rgba(103, 100, 94, 0.22) !important;
    stroke-width: 1.8 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.28) !important;
    stroke: rgba(255, 255, 255, 0.28) !important;
  }
}

@media (max-width: 420px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    gap: 6px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 52px !important;
    min-height: 52px !important;
    padding: 4px 6px !important;
    border-radius: 15px !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    left: 5px !important;
    right: 5px !important;
    bottom: 6px !important;
    font-size: 9px !important;
    line-height: 1.02 !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    width: 32px !important;
    height: 32px !important;
    top: 35% !important;
    color: rgba(103, 100, 94, 0.24) !important;
    stroke: rgba(103, 100, 94, 0.24) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.3) !important;
    stroke: rgba(255, 255, 255, 0.3) !important;
  }
}
/* END PATCH 82.9.88.6.105 - MOBILE CATALOG WATERMARK ICONS BIGGER CHIPS SMALLER */

/* PATCH 82.9.88.6.108 - MOBILE CATALOG ACTIVE FILTER HIGHLIGHT */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-chip-b:first-child:not(.treeart-mobile-catalog-chip-active-b):not([aria-pressed="true"]):not(.active):not(.is-active):not(.selected) {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(118, 100, 78, 0.14) !important;
    color: #66635e !important;
    box-shadow: 0 6px 18px rgba(40, 34, 28, 0.04) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b.treeart-mobile-catalog-chip-active-b,
  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"],
  #catalog .treeart-mobile-catalog-chip-b.active,
  #catalog .treeart-mobile-catalog-chip-b.is-active,
  #catalog .treeart-mobile-catalog-chip-b.selected {
    background: #66745f !important;
    border-color: #66745f !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(77, 91, 70, 0.16) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b.treeart-mobile-catalog-chip-active-b .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.3) !important;
    stroke: rgba(255, 255, 255, 0.3) !important;
  }
}
/* END PATCH 82.9.88.6.108 - MOBILE CATALOG ACTIVE FILTER HIGHLIGHT */

/* PATCH 82.9.88.6.111 - MOBILE CATALOG ALL ICON STATE DEPENDENCY FIX */
@media (max-width: 767px) {
  /*
    Fix only the state dependency for the "Усі" icon.
    Do not change SVG path, icon size, chip size, or stroke width.
  */

  #catalog .treeart-mobile-catalog-all-chip-state-b:not(.treeart-mobile-catalog-chip-active-b):not([aria-pressed="true"]):not(.active):not(.is-active):not(.selected) .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child:not(.treeart-mobile-catalog-chip-active-b):not([aria-pressed="true"]):not(.active):not(.is-active):not(.selected) .treeart-mobile-catalog-svg-icon-b {
    color: rgba(103, 100, 94, 0.22) !important;
    stroke: rgba(103, 100, 94, 0.22) !important;
    opacity: 1 !important;
  }

  #catalog .treeart-mobile-catalog-all-chip-state-b.treeart-mobile-catalog-chip-active-b .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b.selected .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.3) !important;
    stroke: rgba(255, 255, 255, 0.3) !important;
    opacity: 1 !important;
  }
}
/* END PATCH 82.9.88.6.111 - MOBILE CATALOG ALL ICON STATE DEPENDENCY FIX */

/* PATCH 82.9.88.6.112 - CATALOG MOBILE BOTTOM SPACE REDUCE */
@media (max-width: 767px) {
  #catalog.treeart-catalog-mobile-bottom-tight-b {
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
  }

  #catalog.treeart-catalog-mobile-bottom-tight-b .treeart-catalog-last-block-b {
    margin-bottom: 12px !important;
    padding-bottom: 0 !important;
  }

  #catalog.treeart-catalog-mobile-bottom-tight-b .treeart-catalog-last-block-b > *:last-child {
    margin-bottom: 0 !important;
  }

  #catalog.treeart-catalog-mobile-bottom-tight-b + footer,
  #catalog.treeart-catalog-mobile-bottom-tight-b + .site-footer,
  #catalog.treeart-catalog-mobile-bottom-tight-b ~ footer:last-of-type {
    margin-top: 0 !important;
  }
}
/* END PATCH 82.9.88.6.112 - CATALOG MOBILE BOTTOM SPACE REDUCE */

/* PATCH 82.9.88.6.115 - PRODUCT REVIEWS UNDER GALLERY ROBUST FIX */
@media (min-width: 1024px) {
  #product .treeart-product-gallery-review-slot {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 36px !important;
    display: block !important;
  }

  #product .treeart-product-gallery-review-slot .treeart-product-reviews-in-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #product .treeart-product-gallery-review-slot .treeart-product-reviews-in-gallery h2,
  #product .treeart-product-gallery-review-slot .treeart-product-reviews-in-gallery .section-title {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    max-width: 100% !important;
    font-size: clamp(34px, 3vw, 52px) !important;
    line-height: 1.05 !important;
  }

  #product .treeart-product-gallery-review-slot .treeart-product-reviews-in-gallery :is(.section-kicker, .eyebrow, .section-eyebrow) {
    margin-bottom: 12px !important;
  }

  #product .treeart-product-gallery-review-slot .treeart-product-reviews-in-gallery :is(.review-card, .reviews-card, .client-review-card, .photo-review-card, article) {
    max-width: 100% !important;
  }

  #product .treeart-product-gallery-review-slot .treeart-product-reviews-in-gallery img {
    max-width: 100% !important;
    object-fit: cover !important;
  }

  .treeart-product-review-original-placeholder {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  #product .treeart-product-gallery-review-slot {
    display: none !important;
  }

  .treeart-product-reviews-in-gallery {
    margin-top: revert;
    padding-top: revert;
  }
}
/* END PATCH 82.9.88.6.115 - PRODUCT REVIEWS UNDER GALLERY ROBUST FIX */

/* PATCH 82.9.88.6.116 - PRODUCT REVIEWS GALLERY SLOT FIX */
@media (min-width: 1024px) {
  #product .treeart-product-gallery-review-slot-v116 {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 28px !important;
    display: block !important;
  }

  #product .treeart-product-gallery-review-slot-v116 #productReviewsSection,
  #product .treeart-product-reviews-in-gallery-v116 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #product .treeart-product-reviews-in-gallery-v116 .product-reviews-head {
    margin-bottom: 14px !important;
  }

  #product .treeart-product-reviews-in-gallery-v116 .product-reviews-head h2 {
    margin: 0 !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.12 !important;
  }

  #product .treeart-product-reviews-in-gallery-v116 .product-reviews-head .eyebrow {
    margin-bottom: 8px !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
  }

  #product .treeart-product-reviews-in-gallery-v116 #productReviews,
  #product .treeart-product-reviews-in-gallery-v116 .product-reviews-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  #product .treeart-product-reviews-in-gallery-v116 :is(.review-card, .reviews-card, .client-review-card, .photo-review-card, .product-review-card, article) {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #product .treeart-product-reviews-in-gallery-v116 img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    object-fit: cover !important;
  }

  .treeart-product-review-original-placeholder-v116 {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  #product .treeart-product-gallery-review-slot-v116 {
    display: none !important;
  }

  .treeart-product-reviews-in-gallery-v116 {
    margin-top: revert;
    padding-top: revert;
  }
}
/* END PATCH 82.9.88.6.116 - PRODUCT REVIEWS GALLERY SLOT FIX */



/* PATCH 82.9.88.6.125 - COMPATIBLE PRODUCTS FOUR CARDS */
@media (min-width: 1024px) {
  #relatedProducts.grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 761px) and (max-width: 1023px) {
  #relatedProducts.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* END PATCH 82.9.88.6.125 - COMPATIBLE PRODUCTS FOUR CARDS */

/* Patch 82.9.88.6.114: product media gallery stays one-row and slides after 4 items. */
:root{
  --product-gallery-thumb-size:86px;
  --product-gallery-thumb-gap:10px;
}
.gallery-carousel{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  max-width:calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3) + 80px);
}
.gallery-viewport{
  flex:0 0 calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3));
  max-width:calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3));
  overflow:hidden;
}
.gallery-track{
  display:flex;
  flex-wrap:nowrap;
  gap:var(--product-gallery-thumb-gap);
  transition:transform .24s ease;
  will-change:transform;
}
.gallery-carousel .gallery-thumb{
  flex:0 0 var(--product-gallery-thumb-size);
  width:var(--product-gallery-thumb-size);
  height:var(--product-gallery-thumb-size);
  border:1px solid rgba(102,115,95,.22);
  border-radius:10px;
  padding:0;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
}
.gallery-carousel .gallery-thumb.active{
  border-color:var(--olive, #66735f);
  box-shadow:0 0 0 2px rgba(102,115,95,.16);
}
.gallery-carousel .gallery-thumb img,
.gallery-carousel .gallery-thumb video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.gallery-nav{
  flex:0 0 32px;
  width:32px;
  height:32px;
  border:1px solid rgba(102,115,95,.24);
  border-radius:999px;
  background:#fff;
  color:var(--olive, #66735f);
  font-size:24px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.gallery-nav:disabled{
  opacity:.35;
  cursor:default;
}
.gallery-nav[hidden]{
  display:none;
}
@media (max-width: 620px){
  :root{
    --product-gallery-thumb-size:72px;
    --product-gallery-thumb-gap:8px;
  }
  .gallery-carousel{
    max-width:100%;
  }
  .gallery-viewport{
    flex:1 1 auto;
    max-width:calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3));
  }
  .gallery-nav{
    flex-basis:30px;
    width:30px;
    height:30px;
  }
}

/* PATCH 82.9.88.6.126 - PRODUCT GALLERY CAROUSEL THUMB SIZE RESTORE */
@media (min-width: 621px) {
  :root {
    --product-gallery-thumb-size: 112px;
    --product-gallery-thumb-gap: 12px;
  }

  .gallery-carousel {
    gap: 10px !important;
    max-width: calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3) + 92px) !important;
  }

  .gallery-viewport {
    flex: 0 0 calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3)) !important;
    max-width: calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3)) !important;
  }

  .gallery-nav {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
  }
}

@media (max-width: 620px) {
  :root {
    --product-gallery-thumb-size: 76px;
    --product-gallery-thumb-gap: 8px;
  }

  .gallery-carousel {
    max-width: 100% !important;
  }

  .gallery-viewport {
    max-width: calc((var(--product-gallery-thumb-size) * 4) + (var(--product-gallery-thumb-gap) * 3)) !important;
  }
}
/* END PATCH 82.9.88.6.126 - PRODUCT GALLERY CAROUSEL THUMB SIZE RESTORE */

/* PATCH 82.9.88.6.127 - RELATED PRODUCTS CTA SIMPLIFY */
#relatedProducts .product-actions > a.btn.primary[href="#configurator"] {
  display: none !important;
}

#relatedProducts .product-actions > a.btn.secondary:first-child {
  background: #65745d !important;
  border-color: #65745d !important;
  color: #fffaf0 !important;
  box-shadow: 0 14px 28px rgba(36, 43, 34, .16) !important;
}

#relatedProducts .product-actions > a.btn.secondary:first-child:hover,
#relatedProducts .product-actions > a.btn.secondary:first-child:focus-visible {
  background: #596852 !important;
  border-color: #596852 !important;
  color: #fffaf0 !important;
  transform: translateY(-1px);
}

#relatedProducts .product-actions {
  gap: 10px !important;
}

#relatedProducts .cart-card-btn {
  background: #fffefb !important;
  border-color: rgba(101, 116, 93, .18) !important;
  color: #2f342f !important;
}
/* END PATCH 82.9.88.6.127 - RELATED PRODUCTS CTA SIMPLIFY */



/* PATCH 82.9.88.6.128 - PRODUCT REVIEW PHOTOS CAROUSEL */
.product-review-carousel {
  --product-review-card-width: 280px;
  display: grid;
  grid-template-columns: 36px minmax(0, calc((var(--product-review-card-width) * 2) + 16px)) 36px;
  align-items: center;
  gap: 8px;
  max-width: calc((var(--product-review-card-width) * 2) + 88px);
}

.product-review-carousel-viewport {
  width: calc((var(--product-review-card-width) * 2) + 16px);
  max-width: 100%;
  overflow: hidden;
}

.product-review-carousel-track {
  display: flex;
  gap: 16px;
  transition: transform .24s ease;
  will-change: transform;
}

.product-review-carousel .product-review-card {
  flex: 0 0 var(--product-review-card-width);
  width: var(--product-review-card-width);
}

.product-review-carousel-nav {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.product-review-carousel-nav:disabled {
  opacity: .35;
  cursor: default;
}

@media (max-width: 760px) {
  .product-review-carousel {
    --product-review-card-width: min(280px, calc(100vw - 94px));
    grid-template-columns: 32px minmax(0, var(--product-review-card-width)) 32px;
    max-width: 100%;
  }

  .product-review-carousel-viewport {
    width: var(--product-review-card-width);
  }
}
/* END PATCH 82.9.88.6.128 - PRODUCT REVIEW PHOTOS CAROUSEL */

/* PATCH 82.9.88.6.87 - EARLY ROUTE PAINT GUARD FIX */
html.treeart-route-preinit body[data-treeart-initial-route="home"] #home.page,
html.treeart-route-preinit body[data-treeart-initial-route="about"] #about.page,
html.treeart-route-preinit body[data-treeart-initial-route="faq"] #faq.page,
html.treeart-route-preinit body[data-treeart-initial-route="contacts"] #contacts.page,
html.treeart-route-preinit body[data-treeart-initial-route="catalog"] #catalog.page,
html.treeart-route-preinit body[data-treeart-initial-route="product"] #product.page,
html.treeart-route-preinit body[data-treeart-initial-route="sets"] #sets.page,
html.treeart-route-preinit body[data-treeart-initial-route="blog"] #blog.page,
html.treeart-route-preinit body[data-treeart-initial-route="blog-article"] #blog-article.page,
html.treeart-route-preinit body[data-treeart-initial-route="configurator"] #configurator.page,
html.treeart-route-preinit body[data-treeart-initial-route="cart"] #cart.page,
html.treeart-route-preinit body[data-treeart-initial-route="request"] #request.page,
html.treeart-route-preinit body[data-treeart-initial-route="login"] #login.page,
html.treeart-route-preinit body[data-treeart-initial-route="forgot-password"] #forgot-password.page,
html.treeart-route-preinit body[data-treeart-initial-route="customer-magic-login"] #customer-magic-login.page,
html.treeart-route-preinit body[data-treeart-initial-route="set-password"] #set-password.page,
html.treeart-route-preinit body[data-treeart-initial-route="reset-password"] #reset-password.page,
html.treeart-route-preinit body[data-treeart-initial-route="cookies"] #cookies.page,
html.treeart-route-preinit body[data-treeart-initial-route="privacy"] #privacy.page,
html.treeart-route-preinit body[data-treeart-initial-route="data-deletion"] #data-deletion.page,
html.treeart-route-preinit body[data-treeart-initial-route="terms"] #terms.page,
html.treeart-route-preinit body[data-treeart-initial-route="returns"] #returns.page{
  display:block;
}
/* END PATCH 82.9.88.6.87 */

/* PATCH 82.9.88.6.118 - MOBILE CATALOG INLINE SEARCH HIDE */
@media (max-width: 760px){
  #catalog .filters > #searchInput.search{
    display:none !important;
  }
}
/* END PATCH 82.9.88.6.118 */

/* PATCH 82.9.88.6.122 - PRODUCT REVIEW CARD INNER PHOTO CAROUSEL */
.product-review-media-card-carousel{
  position:relative;
}

.product-review-media-viewport{
  width:100%;
  height:100%;
  overflow:hidden;
}

.product-review-media-track{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .24s ease;
  will-change:transform;
}

.product-review-media-page{
  flex:0 0 100%;
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:6px;
}

.product-review-media-page:has(img:only-child){
  grid-template-columns:1fr;
}

.product-review-media-page img{
  width:100%;
  height:100%;
  min-height:0;
  border-radius:10px;
  object-fit:cover;
  display:block;
}

.product-review-card-nav{
  position:absolute;
  top:50%;
  z-index:3;
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(25,23,20,.56);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
  backdrop-filter:blur(8px);
}

.product-review-card-nav.prev{
  left:10px;
}

.product-review-card-nav.next{
  right:10px;
}

.product-review-card-nav:disabled{
  opacity:.35;
  cursor:default;
}

.product-review-photo-count{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(25,23,20,.62);
  color:#fff;
  font-size:12px;
  font-weight:800;
  backdrop-filter:blur(8px);
}
/* END PATCH 82.9.88.6.122 - PRODUCT REVIEW CARD INNER PHOTO CAROUSEL */


/* Patch 82.9.88.6.150 product review photo layout */
.product-reviews-section--under-gallery{margin-top:28px;}
.product-reviews-section--under-gallery .product-reviews-head{margin-bottom:16px;}
.product-reviews-section--under-gallery .product-reviews-head h2{font-size:clamp(28px, 4vw, 44px);line-height:1;}
.product-reviews-section--under-gallery .product-reviews-grid{display:block;position:relative;}
.product-reviews-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.product-reviews-primary .product-review-card:only-child{grid-column:1 / -1;max-width:280px;}
.product-reviews-section--under-gallery .product-review-card{display:block;overflow:hidden;border:1px solid rgba(105,92,76,.18);border-radius:8px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 14px 34px rgba(42,35,26,.08);}
.product-reviews-section--under-gallery .product-review-media{aspect-ratio:1 / 1;overflow:hidden;background:#f4f0ea;}
.product-reviews-section--under-gallery .product-review-media img,.product-review-carousel-card img{width:100%;height:100%;display:block;object-fit:cover;}
.product-reviews-section--under-gallery .product-review-meta{display:grid;gap:4px;padding:12px;font-size:13px;}
.product-reviews-section--under-gallery .product-review-meta span:last-child{color:var(--muted);}
.product-reviews-section--under-gallery .product-review-index{font-size:11px;font-weight:800;color:var(--accent);}
.product-reviews-carousel{display:flex;gap:12px;overflow-x:auto;padding:14px 2px 4px;scroll-snap-type:x proximity;}
.product-review-carousel-card{flex:0 0 132px;width:132px;aspect-ratio:1 / 1;border:1px solid rgba(105,92,76,.18);border-radius:8px;background:#fff;overflow:hidden;padding:0;scroll-snap-align:start;cursor:pointer;}
.product-reviews-section--under-gallery .product-reviews-count{display:inline-flex;margin-top:12px;padding:7px 12px;border:1px solid rgba(105,92,76,.18);border-radius:999px;background:#fff;font-size:12px;font-weight:700;color:var(--accent);}
@media (max-width:760px){.product-reviews-primary{grid-template-columns:1fr;}.product-reviews-primary .product-review-card:only-child{max-width:none;}.product-review-carousel-card{flex-basis:118px;width:118px;}}


/* Patch 82.9.88.6.152 product review carousel paging */
.product-reviews-section--under-gallery .product-reviews-carousel{
  display:none;
}
.product-reviews-carousel-shell{
  display:grid;
  gap:12px;
}
.product-reviews-carousel-controls{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:2px;
}
.product-review-carousel-nav{
  width:38px;
  height:38px;
  border:1px solid rgba(105,92,76,.2);
  border-radius:999px;
  background:#fff;
  color:var(--accent);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(42,35,26,.08);
}
.product-review-carousel-nav:hover{
  background:rgba(102,115,95,.08);
}
.product-review-carousel-status{
  min-width:54px;
  text-align:center;
  padding:7px 12px;
  border:1px solid rgba(105,92,76,.18);
  border-radius:999px;
  background:#fff;
  color:var(--accent);
  font-size:12px;
  font-weight:800;
}


/* Patch 82.9.88.6.153 product review carousel side nav */
.product-reviews-carousel-shell{
  position:relative;
}
.product-reviews-carousel-shell .product-reviews-primary{
  position:relative;
}
.product-reviews-carousel-controls{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  margin:0;
  padding:0;
  pointer-events:none;
  transform:translateY(-50%);
}
.product-review-carousel-nav{
  pointer-events:auto;
}
.product-review-carousel-nav:first-child{
  transform:translateX(-50%);
}
.product-review-carousel-nav:last-child{
  transform:translateX(50%);
}
.product-review-carousel-status{
  position:absolute;
  left:50%;
  top:calc(100% + 14px);
  transform:translateX(-50%);
  pointer-events:auto;
}
.product-reviews-carousel-shell .product-reviews-count{
  margin-top:56px;
}
@media (max-width:760px){
  .product-review-carousel-nav:first-child{
    transform:translateX(-20%);
  }
  .product-review-carousel-nav:last-child{
    transform:translateX(20%);
  }
}


/* Patch 82.9.88.6.154 product review carousel polish */
.product-reviews-section--under-gallery{
  max-width:100%;
}
.product-reviews-section--under-gallery .product-reviews-grid{
  max-width:620px;
}
.product-reviews-section--under-gallery .product-reviews-head h2{
  max-width:620px;
}
.product-reviews-section--under-gallery .product-reviews-primary{
  max-width:620px;
  gap:12px;
}
.product-reviews-section--under-gallery .product-review-card{
  max-width:304px;
}
.product-reviews-section--under-gallery .product-review-media{
  aspect-ratio:1.02 / 1;
}
.product-reviews-carousel-controls{
  top:calc((100% - 104px) / 2);
  max-width:620px;
}
.product-review-carousel-nav{
  width:34px;
  height:34px;
  font-size:22px;
}
.product-review-carousel-nav:first-child{
  transform:translateX(-34%);
}
.product-review-carousel-nav:last-child{
  transform:translateX(34%);
}
.product-review-carousel-status{
  top:calc(100% + 8px);
}
.product-reviews-carousel-shell .product-reviews-count{
  margin-top:22px;
}
@media (max-width:760px){
  .product-reviews-section--under-gallery .product-reviews-grid,
  .product-reviews-section--under-gallery .product-reviews-head h2,
  .product-reviews-section--under-gallery .product-reviews-primary,
  .product-reviews-carousel-controls{
    max-width:100%;
  }
  .product-reviews-section--under-gallery .product-review-card{
    max-width:none;
  }
  .product-reviews-carousel-controls{
    top:calc((100% - 96px) / 2);
  }
  .product-review-carousel-nav:first-child{
    transform:translateX(-12%);
  }
  .product-review-carousel-nav:last-child{
    transform:translateX(12%);
  }
}


/* Patch 82.9.88.6.155 product review premium polish */
.product-reviews-section--under-gallery .product-review-meta{
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:10px;
  row-gap:2px;
  min-height:72px;
  padding:10px 12px 12px;
}
.product-reviews-section--under-gallery .product-review-meta strong{
  font-size:14px;
  line-height:1.25;
}
.product-reviews-section--under-gallery .product-review-meta span:last-child{
  grid-column:1 / -1;
  font-size:12px;
  line-height:1.35;
}
.product-reviews-section--under-gallery .product-review-index{
  align-self:center;
}
.product-reviews-carousel-controls{
  top:calc((100% - 72px) / 2);
}
.product-review-carousel-nav:first-child{
  transform:translateX(-62%);
}
.product-review-carousel-nav:last-child{
  transform:translateX(62%);
}
.product-review-carousel-status{
  position:static;
  transform:none;
  order:2;
}
.product-reviews-carousel-controls .product-review-carousel-status{
  display:none;
}
.product-reviews-carousel-shell .product-reviews-count{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
}
.product-reviews-carousel-shell .product-reviews-count::after{
  content:attr(data-product-review-carousel-page);
}
.product-reviews-carousel-shell:has(.product-review-carousel-status) .product-reviews-count::after{
  content:'';
}
.product-reviews-carousel-shell .product-review-carousel-status{
  display:inline-flex;
  margin-left:10px;
  vertical-align:middle;
}
.product-reviews-carousel-shell > .product-review-carousel-status{
  display:inline-flex;
}
@supports selector(:has(*)){
  .product-reviews-carousel-shell .product-reviews-count{
    position:relative;
  }
}


/* Patch 82.9.88.6.155 product review status placement fallback */
.product-reviews-carousel-shell .product-reviews-count + .product-review-carousel-status{
  margin-left:10px;
}


/* Patch 82.9.88.6.156 product review carousel no status */
.product-reviews-carousel-shell .product-review-carousel-status,
.product-reviews-carousel-shell .product-review-carousel-status--inline,
.product-reviews-carousel-controls .product-review-carousel-status{
  display:none !important;
}
.product-reviews-carousel-shell{
  max-width:620px;
}
.product-reviews-carousel-controls{
  left:0;
  right:0;
  width:100%;
  max-width:620px;
  top:calc((100% - 72px) / 2);
  justify-content:space-between;
}
.product-review-carousel-nav:first-child{
  transform:translateX(-72%);
}
.product-review-carousel-nav:last-child{
  transform:translateX(72%);
}
.product-reviews-carousel-shell .product-reviews-count{
  margin-top:14px;
}
@media (max-width:760px){
  .product-reviews-carousel-shell,
  .product-reviews-carousel-controls{
    max-width:100%;
  }
  .product-review-carousel-nav:first-child{
    transform:translateX(-8%);
  }
  .product-review-carousel-nav:last-child{
    transform:translateX(8%);
  }
}


/* Patch 82.9.88.6.158 product review mobile carousel */
@media (max-width:760px){
  .product-reviews-section--under-gallery{
    margin-top:22px;
  }
  .product-reviews-section--under-gallery .product-reviews-head{
    margin-bottom:12px;
  }
  .product-reviews-section--under-gallery .product-reviews-head h2{
    font-size:32px;
    line-height:.98;
  }
  .product-reviews-section--under-gallery .product-reviews-grid,
  .product-reviews-carousel-shell,
  .product-reviews-section--under-gallery .product-reviews-primary,
  .product-reviews-carousel-controls{
    max-width:100%;
  }
  .product-reviews-section--under-gallery .product-reviews-primary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px;
  }
  .product-reviews-section--under-gallery .product-review-card{
    min-width:0;
    max-width:none;
    border-radius:8px;
  }
  .product-reviews-section--under-gallery .product-review-media{
    aspect-ratio:1 / 1;
  }
  .product-reviews-section--under-gallery .product-review-meta{
    min-height:42px;
    padding:8px 9px;
    grid-template-columns:auto 1fr;
    column-gap:7px;
    row-gap:0;
  }
  .product-reviews-section--under-gallery .product-review-index{
    font-size:10px;
  }
  .product-reviews-section--under-gallery .product-review-meta strong{
    font-size:12px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .product-reviews-section--under-gallery .product-review-meta span:last-child{
    display:none;
  }
  .product-reviews-carousel-controls{
    top:calc((100% - 42px) / 2);
    left:0;
    right:0;
    width:100%;
  }
  .product-review-carousel-nav{
    width:32px;
    height:32px;
    font-size:20px;
    box-shadow:0 8px 18px rgba(42,35,26,.12);
  }
  .product-review-carousel-nav:first-child{
    transform:translateX(-10%);
  }
  .product-review-carousel-nav:last-child{
    transform:translateX(10%);
  }
  .product-reviews-carousel-shell .product-reviews-count{
    margin-top:10px;
    padding:6px 10px;
    font-size:11px;
  }
}
@media (max-width:390px){
  .product-reviews-section--under-gallery .product-reviews-head h2{
    font-size:29px;
  }
  .product-reviews-section--under-gallery .product-reviews-primary{
    gap:7px;
  }
  .product-reviews-section--under-gallery .product-review-meta strong{
    font-size:11.5px;
  }
}

/* Patch 82.9.88.6.163 product gallery final cleanup */
@keyframes treeartGalleryFadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
#productGallery.gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
#productGallery.gallery.product-gallery-carousel{
  position:relative;
  overflow:visible;
}
#productGallery.gallery > button:not(.product-gallery-carousel-nav){
  min-width:0;
  animation:treeartGalleryFadeIn .18s ease both;
}
#productGallery.gallery > .product-gallery-carousel-nav{
  position:absolute !important;
  top:50% !important;
  z-index:5 !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  aspect-ratio:auto !important;
  padding:0 !important;
  border:1px solid rgba(105,92,76,.22) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--accent) !important;
  font-size:20px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  box-shadow:0 8px 18px rgba(42,35,26,.12) !important;
  transform:translateY(-50%) !important;
}
#productGallery.gallery > .product-gallery-carousel-nav--prev{left:-15px !important;}
#productGallery.gallery > .product-gallery-carousel-nav--next{right:-15px !important;}
#productGallery.gallery.is-switching > button:not(.product-gallery-carousel-nav),
.product-reviews-primary.is-switching .product-review-card{
  animation:treeartGalleryFadeIn .18s ease both;
}
.product-reviews-primary.is-switching{
  opacity:1;
  transform:none;
}
@media (max-width:760px){
  #productGallery.gallery{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
  }
  #productGallery.gallery > .product-gallery-carousel-nav{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    font-size:18px !important;
  }
  #productGallery.gallery > .product-gallery-carousel-nav--prev{left:-10px !important;}
  #productGallery.gallery > .product-gallery-carousel-nav--next{right:-10px !important;}
}


/* Patch 82.9.88.6.162 reviews immediately under gallery */
.product-detail > div:first-child{
  align-self:start;
}
.product-reviews-section--under-gallery{
  width:100%;
  margin-top:22px !important;
  padding-top:0 !important;
}
.product-reviews-section--under-gallery .product-reviews-head{
  margin-top:0 !important;
}
.product-reviews-section--under-gallery .product-reviews-grid{
  margin-top:0 !important;
}
@media (max-width:760px){
  .product-reviews-section--under-gallery{
    margin-top:18px !important;
  }
}

/* Patch 82.9.88.6.165 — Product Layout Refactor */
@media (min-width: 921px){
  #product .product-detail.product-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap:48px;
    align-items:stretch;
  }

  #product .product-media{
    min-width:0;
    display:flex;
    flex-direction:column;
  }

  #product .product-info{
    align-self:stretch;
    height:100%;
    min-height:100%;
    display:flex;
    flex-direction:column;
  }

  #product .product-info .detail-actions{
    margin-top:auto;
  }

  #product .product-reviews-section{
    margin-top:28px;
  }
}

@media (max-width: 920px){
  #product .product-detail.product-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
  }

  #product .product-info{
    height:auto;
    min-height:0;
  }
}
/* End Patch 82.9.88.6.165 */

/* Patch 82.9.88.6.168 — Product Spec Text Center */
#product .product-info .spec{
  text-align:center;
}

#product .product-info .spec small,
#product .product-info .spec b{
  display:block;
  width:100%;
  text-align:center;
}
/* End Patch 82.9.88.6.168 */

/* Patch 82.9.88.6.169 — Product Spec Watermark Icons */
#product .product-info .spec{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

#product .product-info .spec::after{
  content:"";
  position:absolute;
  right:14px;
  bottom:-18px;
  width:92px;
  height:92px;
  background:rgba(101, 113, 95, .16);
  pointer-events:none;
  z-index:-1;
  -webkit-mask:var(--ta-spec-watermark-icon) center / contain no-repeat;
  mask:var(--ta-spec-watermark-icon) center / contain no-repeat;
}

#product .product-info .spec > *{
  position:relative;
  z-index:1;
}

#product .product-info .spec:nth-child(1){ --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h10v8H4z'/%3E%3Cpath d='M14 10h6v4h-6'/%3E%3Cpath d='M7 6v12'/%3E%3C/svg%3E"); }
#product .product-info .spec:nth-child(2){ --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
#product .product-info .spec:nth-child(3){ --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6l4 4'/%3E%3Cpath d='M16 4l4 4-9 9-4 1 1-4z'/%3E%3Cpath d='M5 19l4-4'/%3E%3C/svg%3E"); }
#product .product-info .spec:nth-child(4){ --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-2 8H3z'/%3E%3Cpath d='M7 8l-1 8'/%3E%3C/svg%3E"); }
#product .product-info .spec:nth-child(5){ --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3z'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E"); }
#product .product-info .spec:nth-child(6){ --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h10v16H7z'/%3E%3Cpath d='M10 8h4'/%3E%3Cpath d='M10 12h4'/%3E%3Cpath d='M10 16h2'/%3E%3C/svg%3E"); }
/* End Patch 82.9.88.6.169 */

/* Patch 82.9.88.6.170 — Product Spec Icon Polish */
#product .product-info .spec::before{
  content:none !important;
  display:none !important;
}

#product .product-info .spec > svg,
#product .product-info .spec > i,
#product .product-info .spec > .spec-icon,
#product .product-info .spec > .icon{
  display:none !important;
}

#product .product-info .spec:nth-child(3){
  --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 12h15c7 0 12 5 12 12v16c0 7-5 12-12 12H13z'/%3E%3Cpath d='M28 12v40'/%3E%3Cpath d='M40 20h10c5 0 9 4 9 9v6c0 5-4 9-9 9H40'/%3E%3Ccircle cx='20' cy='22' r='3'/%3E%3Ccircle cx='20' cy='42' r='3'/%3E%3Cpath d='M47 28v8'/%3E%3C/svg%3E");
}

#product .product-info .spec:nth-child(6){
  --ta-spec-watermark-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 42c6-6 13-7 20-3l6 4'/%3E%3Cpath d='M25 38V18c0-4 6-4 6 0v15'/%3E%3Cpath d='M31 33v-7c0-4 6-4 6 0v9'/%3E%3Cpath d='M37 35v-6c0-4 6-4 6 0v9'/%3E%3Cpath d='M43 38v-4c0-4 6-4 6 0v11c0 8-6 14-15 14h-5c-7 0-12-4-17-10'/%3E%3Crect x='45' y='13' width='12' height='12' rx='3'/%3E%3Cpath d='M49 19h4'/%3E%3C/svg%3E");
}

#productSize{
  white-space:nowrap;
  font-size:clamp(19px, 1.55vw, 24px);
  line-height:1.18;
}
/* End Patch 82.9.88.6.170 */

/* Patch 82.9.88.6.171 — Product Spec Compact Watermarks */
#product .product-info .specs{
  gap:12px;
}

#product .product-info .spec{
  min-height:112px;
  padding:18px 22px;
}

#product .product-info .spec::after{
  background:rgba(101, 113, 95, .075) !important;
  width:82px;
  height:82px;
  right:18px;
  bottom:-16px;
}

#product .product-info .spec span,
#product .product-info .spec .label{
  line-height:1.15;
}

#product .product-info .spec b,
#product .product-info .spec strong{
  line-height:1.18;
}

#productSize{
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  font-size:clamp(17px, 1.32vw, 22px);
  line-height:1.12;
  letter-spacing:-.035em;
}

@media (max-width: 760px){
  #product .product-info .specs{
    gap:10px;
  }

  #product .product-info .spec{
    min-height:104px;
    padding:16px 18px;
  }

  #product .product-info .spec::after{
    width:72px;
    height:72px;
    right:12px;
    bottom:-14px;
  }

  #productSize{
    font-size:clamp(15px, 4.25vw, 20px);
    letter-spacing:-.045em;
  }
}
/* End Patch 82.9.88.6.171 */

/* Patch 82.9.88.6.172 — Product Spec Final Compact */
#product .product-info .specs{
  gap:10px;
}

#product .product-info .spec{
  min-height:96px;
  padding:14px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}

#product .product-info .spec span,
#product .product-info .spec .label,
#product .product-info .spec b,
#product .product-info .spec strong{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  text-align:center;
}

#product .product-info .spec span,
#product .product-info .spec .label{
  margin:0 0 8px;
  line-height:1.12;
}

#product .product-info .spec b,
#product .product-info .spec strong{
  margin:0;
  line-height:1.12;
}

#product .product-info .spec::after{
  opacity:.55;
  width:78px;
  height:78px;
  right:18px;
  bottom:-12px;
  transform:none;
  pointer-events:none;
}

#productSize{
  display:block;
  width:100%;
  max-width:100%;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  font-size:clamp(16px, 1.14vw, 20px);
  line-height:1.08;
  letter-spacing:-.045em;
}

@media (max-width: 760px){
  #product .product-info .specs{
    gap:9px;
  }

  #product .product-info .spec{
    min-height:88px;
    padding:13px 14px;
  }

  #product .product-info .spec::after{
    width:66px;
    height:66px;
    right:12px;
    bottom:-10px;
  }

  #productSize{
    font-size:clamp(13px, 3.85vw, 18px);
    letter-spacing:-.055em;
  }
}
/* End Patch 82.9.88.6.172 */

/* Patch 82.9.88.6.173 — Product Spec Size Fit */
#productSize{
  font-size:clamp(14px, .92vw, 17px);
  line-height:1.06;
  letter-spacing:-.06em;
  white-space:nowrap;
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
}

@media (max-width: 760px){
  #productSize{
    font-size:clamp(12px, 3.35vw, 15px);
    letter-spacing:-.065em;
  }
}
/* End Patch 82.9.88.6.173 */

/* PATCH 82.9.88.6.174 - SAFE MOBILE CATALOG SVG ICONS BACKPORT CSS START */
/* PATCH 82.9.88.6.101 - MOBILE CATALOG REAL SVG ICONS */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-chip-b::before {
    content: none !important;
    display: none !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    margin: 0 auto 2px auto !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b * {
    vector-effect: non-scaling-stroke;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    gap: 7px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: #ffffff !important;
    stroke: #ffffff !important;
  }
}
/* END PATCH 82.9.88.6.101 - MOBILE CATALOG REAL SVG ICONS */

/* PATCH 82.9.88.6.102 - MOBILE CATALOG VARIANT B DESKTOP SCOPE FIX */
@media (min-width: 768px) {
  #catalog .treeart-mobile-catalog-filter-groups-b {
    display: none !important;
  }

  #catalog .treeart-mobile-catalog-legacy-filter-hidden-b {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    width: auto !important;
    height: auto !important;
    min-height: unset !important;
    padding: inherit;
    border-radius: inherit;
    box-shadow: inherit;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    display: none !important;
  }

  #catalog .treeart-mobile-catalog-chip-b::before {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-filter-groups-b {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    display: block !important;
  }

  #catalog .treeart-mobile-catalog-filter-group-b {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
  }

  #catalog .treeart-mobile-catalog-filter-title-b {
    margin: 0 0 12px 0 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #2d2d2b !important;
    letter-spacing: 0.01em !important;
  }

  #catalog .treeart-mobile-catalog-filter-row-b {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    white-space: normal !important;
    transform: none !important;
  }

  #catalog .treeart-mobile-catalog-filter-row-b > * {
    min-width: 0 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    min-width: 0 !important;
    width: 100% !important;
    height: 74px !important;
    padding: 10px 7px 9px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(118, 100, 78, 0.18) !important;
    background: rgba(255, 255, 255, 0.76) !important;
    color: #696660 !important;
    box-shadow: 0 10px 26px rgba(40, 34, 28, 0.06) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.1 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"],
  #catalog .treeart-mobile-catalog-chip-b.active,
  #catalog .treeart-mobile-catalog-chip-b.is-active,
  #catalog .treeart-mobile-catalog-chip-b.selected,
  #catalog .treeart-mobile-catalog-chip-b:first-child {
    background: #66745f !important;
    border-color: #66745f !important;
    color: #ffffff !important;
    box-shadow: 0 16px 30px rgba(77, 91, 70, 0.22) !important;
  }

  #catalog .treeart-mobile-catalog-legacy-filter-hidden-b {
    display: none !important;
  }
}

@media (max-width: 380px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 72px !important;
  }
}
/* END PATCH 82.9.88.6.102 - MOBILE CATALOG VARIANT B DESKTOP SCOPE FIX */

/* PATCH 82.9.88.6.104 - MOBILE CATALOG COMPACT WATERMARK STYLE */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-filter-groups-b {
    margin-top: 14px !important;
  }

  #catalog .treeart-mobile-catalog-filter-group-b {
    margin: 0 0 16px 0 !important;
  }

  #catalog .treeart-mobile-catalog-filter-title-b {
    margin: 0 0 8px 0 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  #catalog .treeart-mobile-catalog-filter-row-b {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    position: relative !important;
    overflow: hidden !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 6px 8px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(118, 100, 78, 0.14) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #66635e !important;
    box-shadow: 0 6px 18px rgba(40, 34, 28, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"],
  #catalog .treeart-mobile-catalog-chip-b.active,
  #catalog .treeart-mobile-catalog-chip-b.is-active,
  #catalog .treeart-mobile-catalog-chip-b.selected,
  #catalog .treeart-mobile-catalog-chip-b:first-child {
    background: #66745f !important;
    border-color: #66745f !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(77, 91, 70, 0.16) !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    max-width: 100% !important;
    padding: 0 4px !important;
    font-size: 11px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    z-index: 1 !important;
    color: rgba(103, 100, 94, 0.14) !important;
    stroke: rgba(103, 100, 94, 0.14) !important;
    fill: none !important;
    stroke-width: 1.6 !important;
    pointer-events: none !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.18) !important;
    stroke: rgba(255, 255, 255, 0.18) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b .treeart-mobile-catalog-svg-icon-b * {
    vector-effect: non-scaling-stroke;
  }
}

@media (max-width: 420px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 58px !important;
    min-height: 58px !important;
    padding: 5px 7px !important;
    border-radius: 16px !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    font-size: 10px !important;
    line-height: 1.08 !important;
    padding: 0 2px !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    width: 26px !important;
    height: 26px !important;
  }
}
/* END PATCH 82.9.88.6.104 - MOBILE CATALOG COMPACT WATERMARK STYLE */

/* PATCH 82.9.88.6.105 - MOBILE CATALOG WATERMARK ICONS BIGGER CHIPS SMALLER */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    gap: 7px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 56px !important;
    min-height: 56px !important;
    padding: 4px 7px !important;
    border-radius: 16px !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 7px !important;
    z-index: 2 !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 0 !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    width: 36px !important;
    height: 36px !important;
    top: 36% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: rgba(103, 100, 94, 0.22) !important;
    stroke: rgba(103, 100, 94, 0.22) !important;
    stroke-width: 1.8 !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.28) !important;
    stroke: rgba(255, 255, 255, 0.28) !important;
  }
}

@media (max-width: 420px) {
  #catalog .treeart-mobile-catalog-filter-row-b {
    gap: 6px !important;
  }

  #catalog .treeart-mobile-catalog-chip-b {
    height: 52px !important;
    min-height: 52px !important;
    padding: 4px 6px !important;
    border-radius: 15px !important;
  }

  #catalog .treeart-mobile-catalog-chip-label-b {
    left: 5px !important;
    right: 5px !important;
    bottom: 6px !important;
    font-size: 9px !important;
    line-height: 1.02 !important;
  }

  #catalog .treeart-mobile-catalog-svg-icon-b {
    width: 32px !important;
    height: 32px !important;
    top: 35% !important;
    color: rgba(103, 100, 94, 0.24) !important;
    stroke: rgba(103, 100, 94, 0.24) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.3) !important;
    stroke: rgba(255, 255, 255, 0.3) !important;
  }
}
/* END PATCH 82.9.88.6.105 - MOBILE CATALOG WATERMARK ICONS BIGGER CHIPS SMALLER */

/* PATCH 82.9.88.6.108 - MOBILE CATALOG ACTIVE FILTER HIGHLIGHT */
@media (max-width: 767px) {
  #catalog .treeart-mobile-catalog-chip-b:first-child:not(.treeart-mobile-catalog-chip-active-b):not([aria-pressed="true"]):not(.active):not(.is-active):not(.selected) {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(118, 100, 78, 0.14) !important;
    color: #66635e !important;
    box-shadow: 0 6px 18px rgba(40, 34, 28, 0.04) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b.treeart-mobile-catalog-chip-active-b,
  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"],
  #catalog .treeart-mobile-catalog-chip-b.active,
  #catalog .treeart-mobile-catalog-chip-b.is-active,
  #catalog .treeart-mobile-catalog-chip-b.selected {
    background: #66745f !important;
    border-color: #66745f !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(77, 91, 70, 0.16) !important;
  }

  #catalog .treeart-mobile-catalog-chip-b.treeart-mobile-catalog-chip-active-b .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b.selected .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.3) !important;
    stroke: rgba(255, 255, 255, 0.3) !important;
  }
}
/* END PATCH 82.9.88.6.108 - MOBILE CATALOG ACTIVE FILTER HIGHLIGHT */

/* PATCH 82.9.88.6.111 - MOBILE CATALOG ALL ICON STATE DEPENDENCY FIX */
@media (max-width: 767px) {
  /*
    Fix only the state dependency for the "Усі" icon.
    Do not change SVG path, icon size, chip size, or stroke width.
  */

  #catalog .treeart-mobile-catalog-all-chip-state-b:not(.treeart-mobile-catalog-chip-active-b):not([aria-pressed="true"]):not(.active):not(.is-active):not(.selected) .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-chip-b:first-child:not(.treeart-mobile-catalog-chip-active-b):not([aria-pressed="true"]):not(.active):not(.is-active):not(.selected) .treeart-mobile-catalog-svg-icon-b {
    color: rgba(103, 100, 94, 0.22) !important;
    stroke: rgba(103, 100, 94, 0.22) !important;
    opacity: 1 !important;
  }

  #catalog .treeart-mobile-catalog-all-chip-state-b.treeart-mobile-catalog-chip-active-b .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b[aria-pressed="true"] .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b.active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b.is-active .treeart-mobile-catalog-svg-icon-b,
  #catalog .treeart-mobile-catalog-all-chip-state-b.selected .treeart-mobile-catalog-svg-icon-b {
    color: rgba(255, 255, 255, 0.3) !important;
    stroke: rgba(255, 255, 255, 0.3) !important;
    opacity: 1 !important;
  }
}
/* END PATCH 82.9.88.6.111 - MOBILE CATALOG ALL ICON STATE DEPENDENCY FIX */

/* END PATCH 82.9.88.6.174 - SAFE MOBILE CATALOG SVG ICONS BACKPORT CSS */

/* Patch 82.9.88.6.176 - Catalog card spacing alignment
   Aligns catalog product-card actions after removing the Configure button.
   Scope: catalog/product cards only. No cart, checkout, DB, env, or secrets changes.
*/
.product-card .product-body{
  padding:22px 24px 28px;
}

.product-card .product-body .name{
  margin:8px 0 10px;
}

.product-card .product-card-summary{
  flex:0 0 auto;
  min-height:0;
  max-height:72px;
  margin-bottom:14px;
}

.product-card .change-chip{
  align-self:center;
  max-width:100%;
  margin:0 auto 18px;
}

.product-card .price-line{
  justify-content:center;
  margin:0 0 24px;
}

.product-card .price-line strong{
  font-size:20px;
  line-height:1.1;
}

.product-card .product-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  margin-top:0;
}

.product-card .product-actions .btn{
  min-height:56px;
  border-radius:18px;
  font-size:14.5px;
}

.product-card .product-actions .btn.secondary{
  width:100%;
}

.product-card .product-actions .cart-card-btn{
  width:min(180px,72%);
  grid-column:auto;
  justify-self:auto;
  box-shadow:0 18px 38px rgba(75,87,69,.22);
}

@media(max-width:560px){
  .product-card .product-body{
    padding:20px 22px 28px;
  }

  .product-card .product-actions{
    gap:20px;
  }

  .product-card .product-actions .cart-card-btn{
    width:min(176px,76%);
  }
}

/* Patch 82.9.88.6.176.1 - Catalog card tighter vertical rhythm
   Tightens vertical spacing after Patch 82.9.88.6.176.
   Scope: catalog cards only. No JS, cart, checkout, DB, env, or secrets changes.
*/
#catalogGrid .product-card .product-body{
  padding:22px 24px 28px!important;
}

#catalogGrid .product-card .product-body .name{
  margin:8px 0 10px!important;
}

#catalogGrid .product-card .product-card-summary{
  min-height:63px!important;
  max-height:63px!important;
  margin:0 0 14px!important;
}

#catalogGrid .product-card .change-chip{
  align-self:center!important;
  margin:0 auto 16px!important;
}

#catalogGrid .product-card .price-line{
  width:100%!important;
  justify-content:center!important;
  margin:0 0 14px!important;
}

#catalogGrid .product-card .price-line strong{
  font-size:20px!important;
  line-height:1.12!important;
}

#catalogGrid .product-card .product-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  margin-top:0!important;
  padding-top:0!important;
}

#catalogGrid .product-card .product-actions .btn{
  margin-left:auto!important;
  margin-right:auto!important;
}

#catalogGrid .product-card .product-actions .btn.secondary{
  width:100%!important;
  min-height:54px!important;
  border-radius:18px!important;
}

#catalogGrid .product-card .product-actions .cart-card-btn{
  width:min(176px,68%)!important;
  min-height:54px!important;
  border-radius:16px!important;
  margin:0 auto!important;
}

@media(max-width:560px){
  #catalogGrid .product-card .product-body{
    padding:20px 22px 28px!important;
  }

  #catalogGrid .product-card .product-card-summary{
    margin-bottom:13px!important;
  }

  #catalogGrid .product-card .change-chip{
    margin-bottom:15px!important;
  }

  #catalogGrid .product-card .price-line{
    margin-bottom:13px!important;
  }

  #catalogGrid .product-card .product-actions{
    gap:15px!important;
  }

  #catalogGrid .product-card .product-actions .cart-card-btn{
    width:min(176px,72%)!important;
  }
}


/* Patch 82.9.88.6.177 - Related products card spacing aligned with catalog
   Scope: #relatedProducts only.
   Matches catalog card rhythm after Patch 82.9.88.6.176.1.
   No JS, cart, checkout, DB, env, or secrets changes.
*/
#relatedProducts .product-card .product-body{
  padding:22px 24px 28px!important;
}

#relatedProducts .product-card .product-body .name{
  margin:8px 0 10px!important;
}

#relatedProducts .product-card .product-card-summary{
  min-height:63px!important;
  max-height:63px!important;
  margin:0 0 14px!important;
}

#relatedProducts .product-card .change-chip{
  align-self:center!important;
  margin:0 auto 16px!important;
}

#relatedProducts .product-card .price-line{
  width:100%!important;
  justify-content:center!important;
  margin:0 0 14px!important;
}

#relatedProducts .product-card .price-line strong{
  font-size:20px!important;
  line-height:1.12!important;
}

#relatedProducts .product-card .product-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  margin-top:0!important;
  padding-top:0!important;
}

#relatedProducts .product-card .product-actions .btn{
  margin-left:auto!important;
  margin-right:auto!important;
}

#relatedProducts .product-actions > a.btn.secondary:first-child,
#relatedProducts .product-card .product-actions .btn.secondary{
  width:100%!important;
  min-height:54px!important;
  border-radius:18px!important;
  background:var(--card)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}

#relatedProducts .product-actions > a.btn.secondary:first-child:hover,
#relatedProducts .product-actions > a.btn.secondary:first-child:focus-visible,
#relatedProducts .product-card .product-actions .btn.secondary:hover,
#relatedProducts .product-card .product-actions .btn.secondary:focus-visible{
  background:var(--card)!important;
  border-color:var(--green)!important;
  color:var(--green)!important;
  transform:translateY(-1px);
}

#relatedProducts .product-actions .cart-card-btn,
#relatedProducts .product-card .product-actions .cart-card-btn{
  width:min(176px,68%)!important;
  min-height:54px!important;
  border-radius:16px!important;
  margin:0 auto!important;
  background:var(--green)!important;
  border-color:var(--green)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(75,87,69,.22)!important;
}

#relatedProducts .product-actions .cart-card-btn:hover,
#relatedProducts .product-actions .cart-card-btn:focus-visible,
#relatedProducts .product-card .product-actions .cart-card-btn:hover,
#relatedProducts .product-card .product-actions .cart-card-btn:focus-visible{
  background:var(--green2)!important;
  border-color:var(--green2)!important;
  color:#fff!important;
  transform:translateY(-1px);
}

@media(max-width:560px){
  #relatedProducts .product-card .product-body{
    padding:20px 22px 28px!important;
  }

  #relatedProducts .product-card .product-card-summary{
    margin-bottom:13px!important;
  }

  #relatedProducts .product-card .change-chip{
    margin-bottom:15px!important;
  }

  #relatedProducts .product-card .price-line{
    margin-bottom:13px!important;
  }

  #relatedProducts .product-card .product-actions{
    gap:15px!important;
  }

  #relatedProducts .product-card .product-actions .cart-card-btn{
    width:min(176px,72%)!important;
  }
}
/* End Patch 82.9.88.6.177 */


/* Patch 82.9.88.6.178 - Home popular product-card spacing aligned with catalog
   Scope: #homeProducts only.
   Goal: match catalog card rhythm after Patch 82.9.88.6.176.1.
   No JS, cart, checkout, DB, env, or secrets changes.
*/
#homeProducts .product-card .product-body{
  padding:22px 24px 28px!important;
}

#homeProducts .product-card .product-body .name{
  margin:8px 0 10px!important;
}

#homeProducts .product-card .product-card-summary{
  min-height:63px!important;
  max-height:63px!important;
  margin:0 0 14px!important;
}

#homeProducts .product-card .change-chip{
  align-self:center!important;
  margin:0 auto 16px!important;
}

#homeProducts .product-card .price-line{
  width:100%!important;
  justify-content:center!important;
  margin:0 0 14px!important;
}

#homeProducts .product-card .price-line strong{
  font-size:20px!important;
  line-height:1.12!important;
}

#homeProducts .product-card .product-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  margin-top:0!important;
  padding-top:0!important;
}

#homeProducts .product-card .product-actions .btn{
  margin-left:auto!important;
  margin-right:auto!important;
}

#homeProducts .product-card .product-actions .btn.secondary{
  width:100%!important;
  min-height:54px!important;
  border-radius:18px!important;
  background:var(--card)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}

#homeProducts .product-card .product-actions .btn.secondary:hover,
#homeProducts .product-card .product-actions .btn.secondary:focus-visible{
  background:var(--card)!important;
  border-color:var(--green)!important;
  color:var(--green)!important;
  transform:translateY(-1px);
}

#homeProducts .product-card .product-actions .cart-card-btn{
  width:min(176px,68%)!important;
  min-height:54px!important;
  border-radius:16px!important;
  margin:0 auto!important;
  background:var(--green)!important;
  border-color:var(--green)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(75,87,69,.22)!important;
}

#homeProducts .product-card .product-actions .cart-card-btn:hover,
#homeProducts .product-card .product-actions .cart-card-btn:focus-visible{
  background:var(--green2)!important;
  border-color:var(--green2)!important;
  color:#fff!important;
  transform:translateY(-1px);
}

@media(max-width:560px){
  #homeProducts .product-card .product-body{
    padding:20px 22px 28px!important;
  }

  #homeProducts .product-card .product-card-summary{
    margin-bottom:13px!important;
  }

  #homeProducts .product-card .change-chip{
    margin-bottom:15px!important;
  }

  #homeProducts .product-card .price-line{
    margin-bottom:13px!important;
  }

  #homeProducts .product-card .product-actions{
    gap:15px!important;
  }

  #homeProducts .product-card .product-actions .cart-card-btn{
    width:min(176px,72%)!important;
  }
}
/* End Patch 82.9.88.6.178 */

/* TREEART_FOOTER_FLASH_RUNTIME_FIX_PATCH_82_9_88_6_197_3: start
   Prevent static footer from flashing before the first runtime route is ready. */
body.treeart-footer-booting .footer,
body.treeart-footer-transitioning .footer{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.treeart-footer-ready .footer{
  visibility:visible;
  opacity:1;
}
/* TREEART_FOOTER_FLASH_RUNTIME_FIX_PATCH_82_9_88_6_197_3: end */

/* TREEART_PRODUCT_HELP_CTA_CARD_PATCH_82_9_88_6_198_2: start
   Product detail manager help CTA card. Keeps .product-request-link for JS modal behavior. */
#product .detail-actions .product-request-link.product-help-card,
#product .detail-actions a.product-request-link.product-help-card{
  grid-column:1/-1;
  justify-self:stretch;
  width:100%;
  min-height:76px;
  margin-top:8px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  border:1px solid var(--border) !important;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,254,251,.96),rgba(246,242,233,.82)) !important;
  box-shadow:0 18px 44px rgba(63,55,45,.08);
  color:var(--text) !important;
  text-decoration:none !important;
}

#product .detail-actions .product-request-link.product-help-card:hover,
#product .detail-actions a.product-request-link.product-help-card:hover{
  border-color:rgba(107,122,94,.36) !important;
  background:linear-gradient(135deg,rgba(255,254,251,.99),rgba(246,242,233,.92)) !important;
  transform:translateY(-1px);
  box-shadow:0 22px 50px rgba(63,55,45,.11);
}

#product .product-help-card-copy{
  min-width:0;
  display:flex;
  align-items:center;
  color:var(--muted);
  font-size:15px;
  line-height:1.22;
  font-weight:800;
}

#product .product-help-card-copy span{
  max-width:220px;
}

#product .product-help-card-button{
  min-height:46px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,254,251,.94);
  color:var(--green);
  font-size:14px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(63,55,45,.06);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

#product .product-help-card-button span[aria-hidden="true"]{
  font-size:17px;
  line-height:1;
  transform:translateY(-1px);
}

#product .detail-actions .product-request-link.product-help-card:hover .product-help-card-button{
  border-color:rgba(107,122,94,.38);
  box-shadow:0 12px 28px rgba(63,55,45,.09);
  transform:translateX(2px);
}

@media(max-width:680px){
  #product .detail-actions .product-request-link.product-help-card,
  #product .detail-actions a.product-request-link.product-help-card{
    grid-template-columns:1fr;
    align-items:start;
    gap:12px;
    padding:16px;
    border-radius:20px;
  }

  #product .product-help-card-copy span{
    max-width:none;
  }

  #product .product-help-card-button{
    width:100%;
    justify-content:space-between;
  }
}
/* TREEART_PRODUCT_HELP_CTA_CARD_PATCH_82_9_88_6_198_2: end */

/* TREEART_PRODUCT_HELP_CTA_CARD_PATCH_82_9_88_6_198_3: start
   Active root index product help CTA card. Stronger than legacy .detail-actions .product-request-link rules. */
#product .detail-actions > a.product-request-link.product-help-card,
#product .detail-actions .product-request-link.product-help-card{
  grid-column:1/-1 !important;
  justify-self:stretch !important;
  width:100% !important;
  min-height:76px !important;
  margin-top:8px !important;
  padding:16px 18px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  border:1px solid var(--border) !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,rgba(255,254,251,.96),rgba(246,242,233,.82)) !important;
  box-shadow:0 18px 44px rgba(63,55,45,.08) !important;
  color:var(--text) !important;
  text-decoration:none !important;
}

#product .detail-actions > a.product-request-link.product-help-card:hover,
#product .detail-actions .product-request-link.product-help-card:hover{
  border-color:rgba(107,122,94,.36) !important;
  background:linear-gradient(135deg,rgba(255,254,251,.99),rgba(246,242,233,.92)) !important;
  transform:translateY(-1px);
  box-shadow:0 22px 50px rgba(63,55,45,.11) !important;
}

#product .detail-actions .product-help-card-copy{
  min-width:0;
  display:flex;
  align-items:center;
  color:var(--muted);
  font-size:15px;
  line-height:1.22;
  font-weight:800;
}

#product .detail-actions .product-help-card-copy span{
  max-width:220px;
}

#product .detail-actions .product-help-card-button{
  min-height:46px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,254,251,.94);
  color:var(--green);
  font-size:14px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(63,55,45,.06);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

#product .detail-actions .product-help-card-button span[aria-hidden="true"]{
  font-size:17px;
  line-height:1;
  transform:translateY(-1px);
}

#product .detail-actions .product-request-link.product-help-card:hover .product-help-card-button{
  border-color:rgba(107,122,94,.38);
  box-shadow:0 12px 28px rgba(63,55,45,.09);
  transform:translateX(2px);
}

@media(max-width:680px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:12px !important;
    padding:16px !important;
    border-radius:20px !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:none;
  }

  #product .detail-actions .product-help-card-button{
    width:100%;
    justify-content:space-between;
  }
}
/* TREEART_PRODUCT_HELP_CTA_CARD_PATCH_82_9_88_6_198_3: end */

/* TREEART_PRODUCT_HELP_CTA_VISUAL_TUNING_PATCH_82_9_88_6_198_4: start
   Visual tuning to match approved product CTA reference. */
#product .detail-actions > a.product-request-link.product-help-card,
#product .detail-actions .product-request-link.product-help-card{
  min-height:120px !important;
  margin-top:26px !important;
  padding:26px 26px !important;
  grid-template-columns:minmax(168px,.82fr) minmax(360px,1.18fr) !important;
  gap:28px !important;
  align-items:center !important;
  border-radius:28px !important;
  box-shadow:0 22px 54px rgba(63,55,45,.10) !important;
}

#product .detail-actions .product-help-card-copy{
  font-size:21px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  color:rgba(74,76,66,.76) !important;
}

#product .detail-actions .product-help-card-copy span{
  max-width:176px !important;
}

#product .detail-actions .product-help-card-button{
  min-height:68px !important;
  min-width:360px !important;
  padding:0 30px !important;
  justify-content:space-between !important;
  gap:28px !important;
  border-radius:999px !important;
  font-size:19px !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  box-shadow:0 14px 34px rgba(63,55,45,.08) !important;
}

#product .detail-actions .product-help-card-button span[aria-hidden="true"]{
  font-size:22px !important;
  transform:translateY(-1px) !important;
}

@media(max-width:760px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    min-height:112px !important;
    margin-top:22px !important;
    padding:22px !important;
    grid-template-columns:minmax(142px,.78fr) minmax(250px,1.22fr) !important;
    gap:18px !important;
    border-radius:26px !important;
  }

  #product .detail-actions .product-help-card-copy{
    font-size:19px !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:150px !important;
  }

  #product .detail-actions .product-help-card-button{
    min-width:250px !important;
    min-height:62px !important;
    padding:0 24px !important;
    font-size:17px !important;
  }
}

@media(max-width:560px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:none !important;
  }

  #product .detail-actions .product-help-card-button{
    width:100% !important;
    min-width:0 !important;
  }
}
/* TREEART_PRODUCT_HELP_CTA_VISUAL_TUNING_PATCH_82_9_88_6_198_4: end */

/* TREEART_PRODUCT_HELP_CTA_CONTAINED_LAYOUT_PATCH_82_9_88_6_198_5: start
   Keep product help CTA pill inside the card on the active product layout. */
#product .detail-actions > a.product-request-link.product-help-card,
#product .detail-actions .product-request-link.product-help-card{
  box-sizing:border-box !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:100% !important;
  min-height:120px !important;
  padding:26px 26px !important;
  grid-template-columns:minmax(132px,.72fr) minmax(0,1.28fr) !important;
  gap:24px !important;
}

#product .detail-actions .product-help-card-copy{
  min-width:0 !important;
}

#product .detail-actions .product-help-card-copy span{
  max-width:150px !important;
}

#product .detail-actions .product-help-card-button{
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:66px !important;
  padding:0 28px !important;
  justify-content:space-between !important;
  overflow:hidden !important;
}

#product .detail-actions .product-help-card-button{
  white-space:nowrap !important;
}

@media(max-width:760px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    grid-template-columns:minmax(126px,.7fr) minmax(0,1.3fr) !important;
    gap:18px !important;
    padding:22px !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:138px !important;
  }

  #product .detail-actions .product-help-card-button{
    min-height:62px !important;
    padding:0 24px !important;
    font-size:17px !important;
  }
}

@media(max-width:560px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    grid-template-columns:1fr !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:none !important;
  }
}
/* TREEART_PRODUCT_HELP_CTA_CONTAINED_LAYOUT_PATCH_82_9_88_6_198_5: end */

/* TREEART_PRODUCT_HELP_CTA_BUTTON_MATCH_PATCH_82_9_88_6_198_6: start
   Match CTA right button to the upper product action buttons and prevent text clipping. */
#product .detail-actions > a.product-request-link.product-help-card,
#product .detail-actions .product-request-link.product-help-card{
  box-sizing:border-box !important;
  overflow:visible !important;
  max-width:100% !important;
  min-height:104px !important;
  margin-top:24px !important;
  padding:22px 24px !important;
  display:grid !important;
  grid-template-columns:minmax(150px,180px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:22px !important;
  border-radius:28px !important;
}

#product .detail-actions .product-help-card-copy{
  min-width:0 !important;
  font-size:20px !important;
  line-height:1.16 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

#product .detail-actions .product-help-card-copy span{
  display:block !important;
  max-width:154px !important;
}

#product .detail-actions .product-help-card-button{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:60px !important;
  padding:0 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:20px !important;
  overflow:visible !important;
  white-space:nowrap !important;
  border-radius:999px !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

#product .detail-actions .product-help-card-button span[aria-hidden="true"]{
  flex:0 0 auto !important;
  font-size:18px !important;
  line-height:1 !important;
  transform:translateY(-1px) !important;
}

@media(max-width:760px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    grid-template-columns:minmax(136px,160px) minmax(0,1fr) !important;
    min-height:102px !important;
    padding:20px !important;
    gap:16px !important;
  }

  #product .detail-actions .product-help-card-copy{
    font-size:18px !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:138px !important;
  }

  #product .detail-actions .product-help-card-button{
    min-height:58px !important;
    padding:0 18px !important;
    gap:16px !important;
    font-size:15px !important;
  }
}

@media(max-width:560px){
  #product .detail-actions > a.product-request-link.product-help-card,
  #product .detail-actions .product-request-link.product-help-card{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #product .detail-actions .product-help-card-copy span{
    max-width:none !important;
  }

  #product .detail-actions .product-help-card-button{
    width:100% !important;
    justify-content:space-between !important;
  }
}
/* TREEART_PRODUCT_HELP_CTA_BUTTON_MATCH_PATCH_82_9_88_6_198_6: end */

/* Patch 82.9.88.6.175 — Configurator spec strip stays two columns on narrow mobile */
@media(max-width:420px){
  #configurator .config-spec-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
  }

  #configurator .config-spec-strip div{
    min-height:64px;
    padding:10px 11px;
  }

  #configurator .config-spec-strip span{
    font-size:9.8px;
    line-height:1.1;
  }

  #configurator .config-spec-strip strong{
    font-size:12.5px;
    line-height:1.16;
  }
}
/* End Patch 82.9.88.6.175 */

/* Patch 82.9.88.6.176 — Mobile configurator size step layout */
@media(max-width:720px){
  #configurator .config-step[data-step="01"] .field{
    max-width:100%;
  }

  #configurator .config-step[data-step="01"] .field > label{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:6px !important;
    max-width:100% !important;
    margin:0 auto 14px !important;
    text-align:center !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  #configurator .config-step[data-step="01"] #configBaseSizeNotice{
    display:block !important;
    margin:0 !important;
    max-width:100% !important;
    color:var(--muted) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  #configurator .config-step[data-step="01"] .dims{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #configurator .config-step[data-step="01"] .dims input{
    width:100% !important;
    min-width:0 !important;
    height:56px !important;
    padding:0 8px !important;
    text-align:center !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  #configurator .config-step[data-step="01"] .config-dim-status{
    margin-top:14px !important;
  }
}

@media(max-width:380px){
  #configurator .config-step[data-step="01"] .field > label{
    font-size:14px !important;
  }

  #configurator .config-step[data-step="01"] #configBaseSizeNotice{
    font-size:12.5px !important;
  }

  #configurator .config-step[data-step="01"] .dims{
    gap:8px !important;
  }

  #configurator .config-step[data-step="01"] .dims input{
    height:52px !important;
    font-size:18px !important;
  }
}
/* End Patch 82.9.88.6.176 */

/* Patch 82.9.88.6.173 — Mobile decor modal as selectable list menu */
@media(max-width:820px){
  .config-decor-card{
    width:calc(100vw - 20px);
    max-height:94dvh;
    overflow:hidden;
  }

  .config-decor-body{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    overflow:hidden;
  }

  .config-decor-list-wrap{
    min-height:0;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:10px;
    padding:12px;
    border-right:0;
    border-bottom:1px solid rgba(215,207,195,.82);
  }

  .config-decor-search{
    gap:5px;
  }

  .config-decor-search input{
    height:42px;
    border-radius:13px;
    font-size:14px;
  }

  .config-decor-list{
    max-height:none !important;
    height:min(52dvh, 430px);
    overflow-y:auto !important;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding-right:2px;
  }

  .config-decor-item{
    min-height:58px;
    padding:7px 8px;
    gap:8px;
    border-radius:14px;
  }

  .config-decor-item-visual{
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:10px;
  }

  .config-decor-item-copy b{
    font-size:12.5px;
    line-height:1.12;
  }

  .config-decor-item-copy small{
    font-size:9.5px;
    line-height:1.05;
  }

  .config-decor-preview{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    grid-template-rows:auto;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    background:#fffefb;
    border-top:1px solid rgba(215,207,195,.82);
  }

  .config-decor-preview-surface{
    width:46px;
    height:46px;
    min-height:46px;
    border-radius:13px;
  }

  .config-decor-preview-copy{
    min-width:0;
    gap:2px;
  }

  .config-decor-preview-copy span{
    font-size:9px;
    line-height:1;
  }

  .config-decor-preview-copy strong{
    font-size:14px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .config-decor-preview-copy p{
    display:none;
  }

  #configDecorChoose{
    min-height:42px;
    padding:0 14px;
    border-radius:14px;
    font-size:13px;
    white-space:nowrap;
  }
}

@media(max-width:380px){
  .config-decor-list{
    grid-template-columns:1fr;
    height:min(54dvh, 440px);
  }

  .config-decor-preview{
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:8px;
  }

  .config-decor-preview-surface{
    width:42px;
    height:42px;
    min-height:42px;
  }

  #configDecorChoose{
    padding:0 10px;
    font-size:12.5px;
  }
}
/* End Patch 82.9.88.6.173 */





/* Patch 82.9.88.6.183 — Configurator option hints final */
#configurator .options .option{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:14px!important;
  row-gap:3px!important;
  min-height:76px!important;
  padding:14px 18px!important;
}

#configurator .options .option > input{
  grid-column:1!important;
  grid-row:1!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  align-self:center!important;
  justify-self:center!important;
  transform:none!important;
  position:static!important;
}

#configurator .options .option .config-option-copy{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
  align-self:center!important;
}

#configurator .options .option .config-option-copy b{
  display:block!important;
  color:var(--text)!important;
  font-size:16px!important;
  line-height:1.18!important;
  font-weight:900!important;
  white-space:normal!important;
}

#configurator .options .option .config-option-hint{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal!important;
}

#configurator .options .option .config-option-state{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:center!important;
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:850!important;
  white-space:nowrap!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

#configurator .options .option.active .config-option-state{
  color:var(--green2)!important;
}

@media(max-width:520px){
  #configurator .options .option{
    grid-template-columns:20px minmax(0,1fr) auto!important;
    column-gap:12px!important;
    min-height:72px!important;
    padding:13px 16px!important;
  }

  #configurator .options .option .config-option-copy b{
    font-size:15.5px!important;
  }

  #configurator .options .option .config-option-hint{
    font-size:11.5px!important;
  }

  #configurator .options .option .config-option-state{
    font-size:12.5px!important;
  }
}
/* End Patch 82.9.88.6.183 */

/* Patch 82.9.88.6.184 — Premium compact configurator option hints */
#configurator .options .option{
  min-height:66px!important;
  padding:12px 16px!important;
  grid-template-columns:20px minmax(0,1fr) auto!important;
  column-gap:13px!important;
  row-gap:2px!important;
}

#configurator .options .option > input{
  width:17px!important;
  height:17px!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}

#configurator .options .option .config-option-copy{
  text-align:left!important;
  gap:2px!important;
  align-self:center!important;
}

#configurator .options .option .config-option-copy b{
  font-size:14.5px!important;
  line-height:1.18!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
}

#configurator .options .option .config-option-hint{
  font-size:11px!important;
  line-height:1.22!important;
  font-weight:550!important;
  color:rgba(116,110,101,.82)!important;
  letter-spacing:-.005em!important;
}

#configurator .options .option .config-option-state{
  font-size:11.8px!important;
  line-height:1.15!important;
  font-weight:750!important;
  color:rgba(116,110,101,.86)!important;
}

#configurator .options .option.active .config-option-state{
  color:rgba(76,88,70,.92)!important;
}

@media(max-width:520px){
  #configurator .options .option{
    min-height:64px!important;
    padding:11px 14px!important;
    grid-template-columns:20px minmax(0,1fr) auto!important;
    column-gap:12px!important;
  }

  #configurator .options .option .config-option-copy b{
    font-size:14px!important;
    line-height:1.16!important;
  }

  #configurator .options .option .config-option-hint{
    font-size:10.6px!important;
    line-height:1.2!important;
  }

  #configurator .options .option .config-option-state{
    font-size:11.4px!important;
  }
}
/* End Patch 82.9.88.6.184 */

/* Patch 82.9.88.6.186 — Premium minimal desktop block 04 layout */
@media(min-width:721px){
  #configurator #hardwareList,
  #configurator #openingTechList{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:620px!important;
  }

  #configurator #hardwareList .option,
  #configurator #openingTechList .option{
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:14px!important;
    min-height:58px!important;
    padding:10px 16px!important;
    border-radius:16px!important;
    background:rgba(255,254,251,.58)!important;
    border:1px solid rgba(215,207,195,.72)!important;
    box-shadow:none!important;
  }

  #configurator #hardwareList .option.active,
  #configurator #openingTechList .option.active{
    background:rgba(101,113,95,.055)!important;
    border-color:rgba(101,113,95,.42)!important;
    box-shadow:inset 0 0 0 1px rgba(101,113,95,.08)!important;
  }

  #configurator #hardwareList .option > input,
  #configurator #openingTechList .option > input{
    grid-column:1!important;
    grid-row:1!important;
    width:16px!important;
    height:16px!important;
    margin:0!important;
    align-self:center!important;
    justify-self:center!important;
    position:static!important;
    transform:none!important;
  }

  #configurator #hardwareList .option .config-option-copy,
  #configurator #openingTechList .option .config-option-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    gap:1px!important;
    min-width:0!important;
    text-align:left!important;
    align-self:center!important;
  }

  #configurator #hardwareList .option .config-option-copy b,
  #configurator #openingTechList .option .config-option-copy b{
    font-size:14.2px!important;
    line-height:1.16!important;
    font-weight:820!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:left!important;
  }

  #configurator #hardwareList .option .config-option-hint,
  #configurator #openingTechList .option .config-option-hint{
    display:block!important;
    max-width:none!important;
    font-size:10.8px!important;
    line-height:1.18!important;
    font-weight:500!important;
    color:rgba(116,110,101,.74)!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:left!important;
  }

  #configurator #hardwareList .option .config-option-state,
  #configurator #openingTechList .option .config-option-state{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    transform:none!important;
    justify-self:end!important;
    align-self:center!important;
    padding:0!important;
    font-size:10.4px!important;
    line-height:1!important;
    font-weight:760!important;
    color:rgba(116,110,101,.68)!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    text-align:right!important;
  }

  #configurator #hardwareList .option.active .config-option-state,
  #configurator #openingTechList .option.active .config-option-state{
    color:rgba(76,88,70,.9)!important;
  }

  #configurator .config-opening-tech-field{
    margin-top:18px!important;
  }
}
/* End Patch 82.9.88.6.186 */

/* Patch 82.9.88.6.187.3 — Decor Full Preview Hard Fix */
#configDecorZoomOpen,
.config-decor-zoom-open-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:52px!important;
  margin:0 0 10px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  grid-column:1 / -1!important;
  flex:1 1 100%!important;
  order:-1!important;
  cursor:pointer!important;
}

#configDecorZoomOpen[hidden],
.config-decor-zoom-open-btn[hidden]{
  display:none!important;
}

.config-decor-zoom[hidden]{
  display:none!important;
}

.config-decor-zoom{
  position:fixed;
  inset:0;
  z-index:5200;
  display:grid;
  place-items:center;
  padding:28px;
}

.config-decor-zoom-backdrop{
  position:absolute;
  inset:0;
  background:rgba(31,35,28,.56);
  backdrop-filter:blur(10px);
}

.config-decor-zoom-dialog{
  position:relative;
  z-index:1;
  /* Claim the full height and let the width follow the texture's own
     proportions. Previously the dialog was a fixed wide box whose 1fr row
     collapsed to the stage min-height, so a portrait texture rendered as a
     narrow strip — the opposite of "повний розмір". */
  width:fit-content;
  max-width:calc(100vw - 48px);
  height:calc(100vh - 48px);
  max-height:calc(100vh - 48px);
  display:grid;
  grid-template-rows:auto minmax(280px,1fr) auto;
  gap:16px;
  padding:22px;
  border-radius:30px;
  background:rgba(250,247,241,.96);
  border:1px solid rgba(231,224,213,.9);
  box-shadow:0 34px 110px rgba(23,22,18,.34);
  overflow:hidden;
}

.config-decor-zoom-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(101,113,95,.22);
  border-radius:999px;
  background:rgba(255,254,251,.86);
  color:var(--green2);
  font-size:24px;
  line-height:1;
  font-weight:500;
  cursor:pointer;
}

.config-decor-zoom-head{
  display:grid;
  gap:4px;
  padding-right:56px;
}

.config-decor-zoom-head span{
  color:var(--green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.config-decor-zoom-head strong{
  color:var(--text);
  font-family:var(--serif);
  font-size:30px;
  line-height:1.04;
  font-weight:700;
}

.config-decor-zoom-head small{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.3;
  font-weight:650;
}

.config-decor-zoom-stage{
  /* Let the grid row drive the height; a floor here would cap the stage.
     The aspect ratio is replaced at runtime with the texture's real one
     (openConfigDecorZoom); this value only covers colour-only decors. */
  min-height:0;
  height:100%;
  max-width:100%;
  justify-self:center;
  aspect-ratio:16 / 10;
  border-radius:24px;
  background-color:var(--soft);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  border:1px solid rgba(215,207,195,.82);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
}

.config-decor-zoom-stage.is-color-only{
  background-size:cover!important;
}

.config-decor-zoom-stage.is-color-only::after{
  content:'Фото текстури не додано';
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 1px 10px rgba(0,0,0,.22);
}

.config-decor-zoom-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
}

body.config-decor-zoom-open{
  overflow:hidden;
}

@media(max-width:720px){
  .config-decor-zoom{
    padding:10px;
    align-items:end;
  }

  .config-decor-zoom-dialog{
    width:100%;
    /* Sheet-style on phones: keep the height content-driven, so the desktop
       full-height rule above does not stretch it past the stage. */
    height:auto;
    max-height:calc(100vh - 20px);
    grid-template-rows:auto minmax(300px,1fr) auto;
    gap:12px;
    padding:18px;
    border-radius:26px;
  }

  .config-decor-zoom-head strong{
    font-size:24px;
  }

  .config-decor-zoom-stage{
    /* Sheet layout: the stage sizes itself, so drop the desktop height/ratio.
       justify-self must go back to stretch — a background-image has no
       intrinsic width, so a centred stage with no ratio collapses to 0. */
    height:auto;
    aspect-ratio:auto;
    justify-self:stretch;
    min-height:360px;
    max-height:62vh;
  }

  .config-decor-zoom-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .config-decor-zoom-actions .btn{
    width:100%;
    min-height:48px;
  }
}
/* End Patch 82.9.88.6.187.3 */

/* Patch 82.9.88.6.187.5 — Desktop Decor Zoom Premium Fix */
/* Desktop only: remove oversized zoom button from decor modal and use preview overlay instead. */
@media(min-width:721px){
  #configDecorZoomOpen,
  .config-decor-zoom-open-btn{
    display:none!important;
  }

  .config-decor-preview-zoomable{
    cursor:zoom-in!important;
    position:relative!important;
  }

  .config-decor-preview-zoomable::after{
    content:'Роздивитись';
    position:absolute;
    right:18px;
    bottom:18px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,254,251,.84);
    border:1px solid rgba(101,113,95,.18);
    color:rgba(76,88,70,.94);
    box-shadow:0 12px 30px rgba(35,32,24,.12);
    backdrop-filter:blur(8px);
    font-size:10.5px;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    pointer-events:none;
  }

  .config-decor-preview-zoomable:hover::after{
    background:rgba(255,254,251,.94);
    border-color:rgba(101,113,95,.28);
  }
}
/* End Patch 82.9.88.6.187.5 */

/* Patch 82.9.88.6.188 — Mobile callback FAB lift above configurator actions */
/* Mobile only. Keeps the phone/callback floating button away from the configurator sticky action bar. */
@media(max-width:720px){
  body:has(#configurator.page.active) #productConsultFloating,
  body:has(#configurator.page.active) #productConsultOpen,
  body:has(#configurator.page.active) #productConsultFab,
  body:has(#configurator.page.active) .product-consult-floating,
  body:has(#configurator.page.active) .product-consult-fab,
  body:has(#configurator.page.active) .product-consult-open,
  body:has(#configurator.page.active) .callback-floating,
  body:has(#configurator.page.active) .callback-fab,
  body:has(#configurator.page.active) .floating-call,
  body:has(#configurator.page.active) .call-floating,
  body:has(#configurator.page.active) [data-product-consult-open],
  body:has(#configurator.page.active) [data-callback-open]{
    bottom:calc(178px + env(safe-area-inset-bottom, 0px))!important;
    right:18px!important;
    z-index:95!important;
  }
}

@media(max-width:420px){
  body:has(#configurator.page.active) #productConsultFloating,
  body:has(#configurator.page.active) #productConsultOpen,
  body:has(#configurator.page.active) #productConsultFab,
  body:has(#configurator.page.active) .product-consult-floating,
  body:has(#configurator.page.active) .product-consult-fab,
  body:has(#configurator.page.active) .product-consult-open,
  body:has(#configurator.page.active) .callback-floating,
  body:has(#configurator.page.active) .callback-fab,
  body:has(#configurator.page.active) .floating-call,
  body:has(#configurator.page.active) .call-floating,
  body:has(#configurator.page.active) [data-product-consult-open],
  body:has(#configurator.page.active) [data-callback-open]{
    bottom:calc(184px + env(safe-area-inset-bottom, 0px))!important;
    right:16px!important;
  }
}
/* End Patch 82.9.88.6.188 */

/* Patch 82.9.88.6.188.1 — Real fastContactFab selector lift */
/* Correct target: index.html uses #fastContactFab / .fast-contact-fab. */
@media(max-width:720px){
  body:has(#configurator.page.active) #fastContactFab,
  body:has(#configurator.active) #fastContactFab,
  body:has(#configurator.page.active) .fast-contact-fab,
  body:has(#configurator.active) .fast-contact-fab{
    position:fixed!important;
    right:18px!important;
    bottom:calc(202px + env(safe-area-inset-bottom, 0px))!important;
    z-index:96!important;
  }
}

@media(max-width:420px){
  body:has(#configurator.page.active) #fastContactFab,
  body:has(#configurator.active) #fastContactFab,
  body:has(#configurator.page.active) .fast-contact-fab,
  body:has(#configurator.active) .fast-contact-fab{
    right:16px!important;
    bottom:calc(208px + env(safe-area-inset-bottom, 0px))!important;
  }
}
/* End Patch 82.9.88.6.188.1 */

/* Patch 82.9.88.6.188.2 — FastContactFab balanced mobile position */
/* Mobile configurator only: lower the callback FAB so it does not float too high, but still avoids Save. */
/* 720→760 (owner-approved, 2026-07-25): the config-mobile-bar itself is
   display:flex at max-width:760px, so the 721–760 window had the bar
   WITHOUT this lift — the callback circle sat inside the bar area. */
@media(max-width:760px){
  body:has(#configurator.page.active) #fastContactFab,
  body:has(#configurator.active) #fastContactFab,
  body:has(#configurator.page.active) .fast-contact-fab,
  body:has(#configurator.active) .fast-contact-fab{
    position:fixed!important;
    right:18px!important;
    bottom:calc(152px + env(safe-area-inset-bottom, 0px))!important;
    z-index:96!important;
  }
}

@media(max-width:420px){
  body:has(#configurator.page.active) #fastContactFab,
  body:has(#configurator.active) #fastContactFab,
  body:has(#configurator.page.active) .fast-contact-fab,
  body:has(#configurator.active) .fast-contact-fab{
    right:16px!important;
    bottom:calc(156px + env(safe-area-inset-bottom, 0px))!important;
  }
}
/* End Patch 82.9.88.6.188.2 */

/* Patch 82.9.88.6.84 - Ready Sets Final Proportions */
.sets-room-hero{
  display:grid !important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important;
  gap:48px !important;
  align-items:center !important;
  margin:0 0 52px !important;
  padding:30px 0 38px !important;
  overflow:visible !important;
}

.sets-room-hero::before{
  display:none !important;
}

.sets-room-hero-copy{
  display:grid !important;
  align-content:center !important;
  gap:18px !important;
  min-width:0 !important;
}

.sets-room-hero-copy .eyebrow{
  color:var(--green) !important;
}

.sets-room-hero-copy h1{
  max-width:620px !important;
  margin:0 !important;
  font-size:clamp(42px,4.15vw,64px) !important;
  line-height:1.02 !important;
  letter-spacing:0 !important;
}

.sets-room-hero-copy p{
  max-width:560px !important;
  margin:0 !important;
  color:var(--muted) !important;
  font-size:16px !important;
  line-height:1.62 !important;
}

.sets-room-hero-benefits{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  max-width:620px !important;
  margin-top:16px !important;
  padding-top:20px !important;
  border-top:1px solid rgba(76,86,69,.14) !important;
}

.sets-room-hero-benefits div{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  gap:6px 10px !important;
  align-items:start !important;
  padding:0 16px !important;
  border:0 !important;
  border-left:1px solid rgba(76,86,69,.14) !important;
}

.sets-room-hero-benefits div:first-child{
  padding-left:0 !important;
  border-left:0 !important;
}

.sets-room-hero-benefits span{
  grid-row:1 / 3 !important;
  width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:var(--green) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  margin-top:1px !important;
}

.sets-room-hero-benefits strong{
  color:var(--text) !important;
  font-size:13.5px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

.sets-room-hero-benefits small{
  color:var(--muted) !important;
  font-size:12px !important;
  line-height:1.38 !important;
}

.sets-room-hero-media{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:var(--soft) !important;
  box-shadow:none !important;
  transform:none !important;
  isolation:isolate !important;
}

.sets-room-hero-media img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9.4 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:26px !important;
}

.sets-list-head{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  gap:12px !important;
  width:100% !important;
  margin:0 auto 34px !important;
  padding-top:34px !important;
  border-top:1px solid rgba(76,86,69,.14) !important;
}

.sets-list-head .eyebrow{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin:0 auto !important;
}

.sets-list-head h2{
  display:block !important;
  width:100% !important;
  max-width:860px !important;
  margin:0 auto !important;
  text-align:center !important;
  font-size:clamp(34px,3.6vw,50px) !important;
  line-height:1.02 !important;
}

@media (max-width:1080px){
  .sets-room-hero{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap:32px !important;
  }

  .sets-room-hero-copy h1{
    font-size:clamp(38px,4.6vw,54px) !important;
  }

  .sets-room-hero-benefits{
    grid-template-columns:1fr !important;
  }

  .sets-room-hero-benefits div{
    padding:9px 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(76,86,69,.14) !important;
  }

  .sets-room-hero-benefits div:first-child{
    border-top:0 !important;
  }
}

@media (max-width:900px){
  .sets-room-hero{
    grid-template-columns:1fr !important;
    gap:26px !important;
    padding:18px 0 34px !important;
  }

  .sets-room-hero-copy{
    text-align:center !important;
    justify-items:center !important;
  }

  .sets-room-hero-copy h1,
  .sets-room-hero-copy p,
  .sets-room-hero-benefits{
    max-width:720px !important;
  }

  .sets-room-hero-benefits{
    text-align:left !important;
  }

  .sets-room-hero-media img{
    aspect-ratio:4 / 3 !important;
  }
}

@media (max-width:560px){
  .sets-room-hero-copy h1{
    font-size:clamp(36px,10vw,46px) !important;
  }

  .sets-room-hero-copy p{
    font-size:15px !important;
  }
}
/* End Patch 82.9.88.6.84 */

/* Patch 82.9.88.6.86 - Ready Sets Premium Overlap Hero */
.sets-room-hero{
  display:grid !important;
  grid-template-columns:minmax(420px,.62fr) minmax(0,1.38fr) !important;
  gap:28px !important;
  align-items:center !important;
  margin:0 0 54px !important;
  padding:34px 0 38px !important;
  overflow:visible !important;
}

.sets-room-hero::before{
  display:none !important;
}

.sets-room-hero-copy{
  display:grid !important;
  align-content:center !important;
  gap:22px !important;
  min-width:0 !important;
  position:relative !important;
  z-index:2 !important;
}

.sets-room-hero-copy .eyebrow{
  color:var(--green) !important;
}

.sets-room-hero-copy h1{
  max-width:760px !important;
  margin:0 !important;
  font-size:clamp(44px,4vw,66px) !important;
  line-height:1.08 !important;
  letter-spacing:-.015em !important;
}

.sets-room-hero-line{
  display:block !important;
  width:72px !important;
  height:2px !important;
  background:var(--green) !important;
  margin:2px 0 8px !important;
}

.sets-room-hero-copy p{
  max-width:520px !important;
  margin:0 !important;
  color:var(--muted) !important;
  font-size:16px !important;
  line-height:1.65 !important;
}

.sets-room-hero-visual{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-rows:auto auto !important;
  align-items:start !important;
  min-width:0 !important;
  margin-left:-64px !important;
}

.sets-room-hero-media{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:24px 24px 10px 10px !important;
  background:var(--soft) !important;
  box-shadow:none !important;
  transform:none !important;
  isolation:isolate !important;
}

.sets-room-hero-media img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9.1 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:24px 24px 10px 10px !important;
}

.sets-room-hero-benefits{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  width:calc(100% - 36px) !important;
  max-width:100% !important;
  margin:-2px 18px 0 !important;
  padding:24px 26px !important;
  border:1px solid rgba(230,222,210,.72) !important;
  border-top:0 !important;
  border-radius:0 0 20px 20px !important;
  background:rgba(255,254,251,.86) !important;
  box-shadow:0 22px 54px rgba(45,45,42,.10) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

.sets-room-hero-benefits div{
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) !important;
  gap:6px 14px !important;
  align-items:start !important;
  padding:0 26px !important;
  border:0 !important;
  border-left:1px solid rgba(76,86,69,.14) !important;
}

.sets-room-hero-benefits div:first-child{
  padding-left:0 !important;
  border-left:0 !important;
}

.sets-room-hero-benefits span{
  grid-row:1 / 3 !important;
  width:26px !important;
  height:26px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:var(--green) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.sets-room-hero-benefits strong{
  color:var(--text) !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

.sets-room-hero-benefits small{
  color:var(--muted) !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

.sets-list-head{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  gap:12px !important;
  width:100% !important;
  margin:0 auto 34px !important;
  padding-top:34px !important;
  border-top:1px solid rgba(76,86,69,.14) !important;
}

.sets-list-head h2{
  margin:0 auto !important;
  max-width:860px !important;
  text-align:center !important;
  font-size:clamp(34px,3.6vw,50px) !important;
  line-height:1.02 !important;
}

@media (max-width:1180px){
  .sets-room-hero{
    grid-template-columns:minmax(360px,.66fr) minmax(0,1.34fr) !important;
  }

  .sets-room-hero-visual{
    margin-left:-34px !important;
  }

  .sets-room-hero-copy h1{
    font-size:clamp(40px,4.1vw,58px) !important;
  }

  .sets-room-hero-benefits{
    width:100% !important;
    margin:0 !important;
    padding:20px 18px !important;
  }

  .sets-room-hero-benefits div{
    padding:0 16px !important;
  }
}

@media (max-width:900px){
  .sets-room-hero{
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:18px 0 34px !important;
  }

  .sets-room-hero-copy{
    text-align:center !important;
    justify-items:center !important;
  }

  .sets-room-hero-copy h1,
  .sets-room-hero-copy p{
    max-width:720px !important;
  }

  .sets-room-hero-line{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .sets-room-hero-visual{
    margin-left:0 !important;
  }

  .sets-room-hero-media img{
    aspect-ratio:4 / 3 !important;
  }

  .sets-room-hero-benefits{
    grid-template-columns:1fr !important;
    text-align:left !important;
    border-radius:0 0 18px 18px !important;
  }

  .sets-room-hero-benefits div{
    padding:12px 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(76,86,69,.14) !important;
  }

  .sets-room-hero-benefits div:first-child{
    border-top:0 !important;
  }
}
/* End Patch 82.9.88.6.86 */

/* Patch 82.9.88.6.87 - Ready Sets Wide Image Hero */
#sets.page{
  padding-top:0 !important;
}

.sets-wide-hero{
  position:relative;
  min-height:640px;
  display:grid;
  align-items:stretch;
  overflow:hidden;
  margin-top:-54px;
  background:#1f211d;
  isolation:isolate;
}

.sets-wide-hero > img{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) contrast(.98);
}

.sets-wide-hero-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(19,21,18,.78) 0%, rgba(19,21,18,.62) 26%, rgba(19,21,18,.25) 56%, rgba(19,21,18,.08) 100%),
    linear-gradient(0deg, rgba(19,21,18,.62) 0%, rgba(19,21,18,.14) 42%, rgba(19,21,18,.08) 100%);
}

.sets-wide-hero-inner{
  position:relative;
  display:grid;
  align-content:center;
  min-height:640px;
  padding-top:72px;
  padding-bottom:54px;
}

.sets-wide-hero-copy{
  max-width:620px;
  display:grid;
  gap:22px;
  color:#fff;
}

.sets-wide-hero-copy .eyebrow{
  color:rgba(143,171,139,.96);
}

.sets-wide-hero-copy h1{
  margin:0;
  color:#fff;
  font-size:clamp(46px,4.8vw,76px);
  line-height:1.02;
  letter-spacing:-.015em;
  text-shadow:0 14px 38px rgba(0,0,0,.24);
}

.sets-wide-hero-line{
  display:block;
  width:82px;
  height:2px;
  background:var(--green);
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
}

.sets-wide-hero-copy p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.62;
}

.sets-wide-benefits{
  position:absolute;
  left:var(--pad);
  right:var(--pad);
  bottom:46px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:1040px;
  color:#fff;
}

.sets-wide-benefits div{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:6px 18px;
  align-items:start;
  padding:0 34px;
  border-left:1px solid rgba(255,255,255,.34);
}

.sets-wide-benefits div:first-child{
  border-left:0;
  padding-left:0;
}

.sets-wide-benefits span{
  grid-row:1 / 3;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:20px;
  font-weight:900;
  line-height:1;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.sets-wide-benefits strong{
  color:#fff;
  font-size:18px;
  line-height:1.22;
  font-weight:900;
}

.sets-wide-benefits small{
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.45;
}

.sets-list-head{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  gap:12px !important;
  margin:0 auto 34px !important;
  padding-top:42px !important;
  border-top:0 !important;
}

.sets-list-head h2{
  margin:0 auto !important;
  max-width:860px !important;
  text-align:center !important;
  font-size:clamp(34px,3.6vw,50px) !important;
  line-height:1.02 !important;
}

@media (max-width:900px){
  .sets-wide-hero{
    min-height:auto;
    margin-top:-26px;
  }

  .sets-wide-hero-inner{
    min-height:620px;
    padding-top:70px;
    padding-bottom:190px;
  }

  .sets-wide-hero-copy{
    max-width:520px;
  }

  .sets-wide-hero-copy h1{
    font-size:clamp(40px,10vw,56px);
  }

  .sets-wide-benefits{
    grid-template-columns:1fr;
    bottom:28px;
    gap:12px;
    max-width:none;
  }

  .sets-wide-benefits div{
    padding:0;
    border-left:0;
  }
}

@media (max-width:560px){
  .sets-wide-hero-inner{
    min-height:660px;
    padding-bottom:230px;
  }

  .sets-wide-hero-copy p{
    font-size:15px;
  }

  .sets-wide-benefits small{
    font-size:13.5px;
  }
}
/* End Patch 82.9.88.6.87 */

/* Patch 82.9.88.6.88 - Ready Sets Container Premium Hero */
#sets.page{
  padding-top:54px !important;
}

.sets-container-hero{
  display:grid !important;
  grid-template-columns:minmax(330px,.48fr) minmax(0,1.12fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  width:100% !important;
  margin:0 0 34px !important;
  overflow:hidden !important;
  border-radius:28px !important;
  background:rgba(255,254,251,.82) !important;
  border:1px solid rgba(230,222,210,.72) !important;
  box-shadow:0 22px 60px rgba(45,45,42,.08) !important;
}

.sets-container-hero-copy{
  display:grid !important;
  align-content:center !important;
  gap:22px !important;
  padding:58px 44px !important;
  min-width:0 !important;
  background:linear-gradient(135deg,rgba(255,254,251,.96),rgba(247,244,239,.78)) !important;
}

.sets-container-hero-copy .eyebrow{
  color:var(--green) !important;
}

.sets-container-hero-copy h1{
  margin:0 !important;
  max-width:520px !important;
  color:var(--text) !important;
  font-size:clamp(38px,3.25vw,54px) !important;
  line-height:1.08 !important;
  letter-spacing:-.012em !important;
}

.sets-container-hero-line{
  display:block !important;
  width:72px !important;
  height:2px !important;
  background:var(--green) !important;
}

.sets-container-hero-copy p{
  margin:0 !important;
  max-width:420px !important;
  color:var(--muted) !important;
  font-size:15.5px !important;
  line-height:1.62 !important;
}

.sets-container-hero-visual{
  position:relative !important;
  min-width:0 !important;
  min-height:460px !important;
  overflow:hidden !important;
  background:#26251f !important;
}

.sets-container-hero-visual > img{
  width:100% !important;
  height:100% !important;
  min-height:460px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:saturate(.96) contrast(.98) !important;
}

.sets-container-benefits{
  position:absolute !important;
  left:32px !important;
  right:32px !important;
  bottom:28px !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  padding:20px 24px !important;
  border-radius:18px !important;
  color:#fff !important;
  background:rgba(40,38,32,.78) !important;
  box-shadow:0 22px 54px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

.sets-container-benefits div{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  gap:5px 14px !important;
  align-items:start !important;
  padding:0 22px !important;
  border-left:1px solid rgba(255,255,255,.24) !important;
}

.sets-container-benefits div:first-child{
  border-left:0 !important;
  padding-left:0 !important;
}

.sets-container-benefits span{
  grid-row:1 / 3 !important;
  width:30px !important;
  height:30px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:var(--green) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.sets-container-benefits strong{
  color:#fff !important;
  font-size:15px !important;
  line-height:1.22 !important;
  font-weight:900 !important;
}

.sets-container-benefits small{
  color:rgba(255,255,255,.78) !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.sets-list-head{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  gap:12px !important;
  margin:0 auto 34px !important;
  padding-top:18px !important;
  border-top:0 !important;
}

.sets-list-head h2{
  margin:0 auto !important;
  max-width:860px !important;
  text-align:center !important;
  font-size:clamp(34px,3.6vw,50px) !important;
  line-height:1.02 !important;
}

@media (max-width:1080px){
  .sets-container-hero{
    grid-template-columns:1fr !important;
  }

  .sets-container-hero-copy{
    text-align:center !important;
    justify-items:center !important;
    padding:42px 28px 30px !important;
  }

  .sets-container-hero-copy p{
    max-width:620px !important;
  }

  .sets-container-hero-visual,
  .sets-container-hero-visual > img{
    min-height:460px !important;
  }
}

@media (max-width:760px){
  #sets.page{
    padding-top:26px !important;
  }

  .sets-container-hero{
    border-radius:22px !important;
  }

  .sets-container-hero-copy h1{
    font-size:clamp(34px,9vw,44px) !important;
  }

  .sets-container-hero-visual,
  .sets-container-hero-visual > img{
    min-height:560px !important;
  }

  .sets-container-benefits{
    left:16px !important;
    right:16px !important;
    bottom:18px !important;
    grid-template-columns:1fr !important;
    padding:16px 18px !important;
  }

  .sets-container-benefits div{
    padding:12px 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.18) !important;
  }

  .sets-container-benefits div:first-child{
    border-top:0 !important;
  }
}
/* End Patch 82.9.88.6.88 */

/* Patch 82.9.88.6.89 - Ready Sets Final Hero Polish */
.sets-container-hero{
  grid-template-columns:minmax(390px,.52fr) minmax(0,1.08fr) !important;
}

.sets-container-hero-copy{
  padding:56px 38px 56px 42px !important;
}

.sets-container-hero-copy h1{
  max-width:560px !important;
  font-size:clamp(34px,2.55vw,46px) !important;
  line-height:1.18 !important;
  letter-spacing:-.01em !important;
}

.sets-container-hero-copy p{
  max-width:440px !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

.sets-container-hero-visual{
  min-height:470px !important;
}

.sets-container-hero-visual > img{
  min-height:470px !important;
  object-position:center center !important;
}

.sets-container-benefits{
  left:34px !important;
  right:34px !important;
  bottom:30px !important;
  padding:18px 22px !important;
  border-radius:18px !important;
  background:rgba(76,70,58,.54) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.14) !important;
  backdrop-filter:blur(12px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(125%) !important;
}

.sets-container-benefits div{
  grid-template-columns:32px minmax(0,1fr) !important;
  gap:5px 13px !important;
  padding:0 20px !important;
  border-left:1px solid rgba(255,255,255,.22) !important;
}

.sets-container-benefits div:first-child{
  padding-left:0 !important;
}

.sets-container-benefits span{
  width:30px !important;
  height:30px !important;
  background:rgba(101,113,95,.92) !important;
}

.sets-container-benefits strong{
  font-size:14.5px !important;
}

.sets-container-benefits small{
  font-size:12.8px !important;
  color:rgba(255,255,255,.82) !important;
}

@media (max-width:1080px){
  .sets-container-hero{
    grid-template-columns:1fr !important;
  }

  .sets-container-hero-copy{
    padding:42px 28px 30px !important;
  }

  .sets-container-hero-copy h1{
    max-width:640px !important;
  }
}

@media (max-width:760px){
  .sets-container-hero-copy h1{
    font-size:clamp(32px,8.4vw,42px) !important;
  }

  .sets-container-benefits{
    background:rgba(76,70,58,.62) !important;
  }
}
/* End Patch 82.9.88.6.89 */

/* Patch 82.9.88.6.90 - Ready Sets Two Line Heading Fix */
.sets-container-hero{
  grid-template-columns:minmax(420px,.58fr) minmax(0,1.02fr) !important;
}

.sets-container-hero-copy{
  padding:56px 34px 56px 36px !important;
}

.sets-container-hero-copy h1{
  max-width:620px !important;
  width:620px !important;
  font-size:clamp(34px,2.35vw,42px) !important;
  line-height:1.22 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
  text-wrap:normal !important;
}

.sets-container-hero-copy h1 br{
  display:block !important;
}

.sets-container-hero-copy p{
  max-width:430px !important;
}

@media (max-width:1080px){
  .sets-container-hero-copy h1{
    width:auto !important;
    max-width:680px !important;
  }
}

@media (max-width:760px){
  .sets-container-hero-copy h1{
    font-size:clamp(31px,8vw,40px) !important;
  }
}
/* End Patch 82.9.88.6.90 */

/* Patch 82.9.88.6.91 - Ready Sets Compact Benefits */
.sets-container-benefits{
  left:54px !important;
  right:54px !important;
  bottom:24px !important;
  padding:14px 18px !important;
  border-radius:16px !important;
  background:rgba(76,70,58,.48) !important;
}

.sets-container-benefits div{
  grid-template-columns:28px minmax(0,1fr) !important;
  gap:4px 10px !important;
  padding:0 16px !important;
}

.sets-container-benefits span{
  width:26px !important;
  height:26px !important;
  font-size:14px !important;
}

.sets-container-benefits strong{
  font-size:13.5px !important;
  line-height:1.18 !important;
}

.sets-container-benefits small{
  font-size:11.8px !important;
  line-height:1.32 !important;
}

@media (max-width:760px){
  .sets-container-benefits{
    left:16px !important;
    right:16px !important;
    bottom:18px !important;
    padding:14px 16px !important;
  }
}
/* End Patch 82.9.88.6.91 */

/* Patch 82.9.88.6.92 - Ready Sets Benefits Small Overlay */
.sets-container-benefits{
  left:40px !important;
  right:40px !important;
  bottom:22px !important;
  padding:10px 14px !important;
  border-radius:14px !important;
  background:rgba(76,70,58,.42) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.10) !important;
  backdrop-filter:blur(12px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(120%) !important;
}

.sets-container-benefits div{
  grid-template-columns:24px minmax(0,1fr) !important;
  gap:3px 9px !important;
  padding:0 13px !important;
  border-left:1px solid rgba(255,255,255,.18) !important;
}

.sets-container-benefits div:first-child{
  padding-left:0 !important;
  border-left:0 !important;
}

.sets-container-benefits span{
  width:22px !important;
  height:22px !important;
  font-size:12px !important;
  background:rgba(101,113,95,.88) !important;
}

.sets-container-benefits strong{
  font-size:12.6px !important;
  line-height:1.12 !important;
}

.sets-container-benefits small{
  font-size:10.8px !important;
  line-height:1.25 !important;
  color:rgba(255,255,255,.78) !important;
}

@media (max-width:760px){
  .sets-container-benefits{
    left:14px !important;
    right:14px !important;
    bottom:14px !important;
    padding:12px 14px !important;
  }

  .sets-container-benefits div{
    padding:10px 0 !important;
  }
}
/* End Patch 82.9.88.6.92 */

/* Patch 82.9.88.6.93 - Ready Sets Mobile Stack Fix */
@media (max-width:760px){
  .sets-container-hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }

  .sets-container-hero-copy{
    order:1 !important;
    text-align:center !important;
    justify-items:center !important;
    padding:30px 18px 22px !important;
  }

  .sets-container-hero-copy h1{
    max-width:360px !important;
    width:auto !important;
    font-size:clamp(30px,8.2vw,40px) !important;
    line-height:1.14 !important;
  }

  .sets-container-hero-copy p{
    max-width:340px !important;
    font-size:14.5px !important;
    line-height:1.55 !important;
  }

  .sets-container-hero-visual{
    order:2 !important;
    display:grid !important;
    grid-template-rows:auto auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:transparent !important;
  }

  .sets-container-hero-visual > img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 !important;
  }

  .sets-container-benefits{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:14px 18px 16px !important;
    border-radius:0 !important;
    background:rgba(255,254,251,.92) !important;
    color:var(--text) !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .sets-container-benefits div{
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:4px 10px !important;
    padding:11px 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(76,86,69,.14) !important;
  }

  .sets-container-benefits div:first-child{
    border-top:0 !important;
  }

  .sets-container-benefits span{
    width:24px !important;
    height:24px !important;
    background:var(--green) !important;
    color:#fff !important;
    font-size:13px !important;
  }

  .sets-container-benefits strong{
    color:var(--text) !important;
    font-size:13.5px !important;
    line-height:1.2 !important;
  }

  .sets-container-benefits small{
    color:var(--muted) !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }
}
/* End Patch 82.9.88.6.93 */

/* Patch 82.9.88.6.94.1 - Ready Set Detail Story Layout */
#setDetail.set-detail--story{
  display:block !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.set-story{
  display:grid !important;
  gap:28px !important;
}

.set-story-head{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  gap:12px !important;
  max-width:820px !important;
  margin:0 auto !important;
}

.set-back-link{
  justify-self:start !important;
  color:var(--green) !important;
  font-weight:800 !important;
  font-size:13px !important;
}

.set-story-head h2{
  font-size:clamp(34px,4.2vw,56px) !important;
  line-height:1.02 !important;
}

.set-story-head p{
  max-width:720px !important;
  color:var(--muted) !important;
  font-size:16px !important;
  line-height:1.6 !important;
}

.set-story-cover{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  background:var(--soft) !important;
  box-shadow:var(--shadow) !important;
}

.set-story-cover img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 8.2 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.set-story-cover .wishlist-btn,
.set-story-cover [data-ready-set-wishlist]{
  position:absolute !important;
  right:18px !important;
  top:18px !important;
  z-index:3 !important;
}

.set-story-summary{
  display:grid !important;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.set-story-summary .set-price-card,
.set-story-summary .set-spec-grid{
  height:100% !important;
}

.set-story-products{
  display:grid !important;
  gap:18px !important;
  margin-top:8px !important;
}

.set-story-section-head{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  gap:8px !important;
}

.set-story-section-head h3{
  font-size:clamp(28px,3vw,40px) !important;
}

.set-story-section-head p{
  max-width:760px !important;
  color:var(--muted) !important;
  font-size:15px !important;
  line-height:1.58 !important;
}

.set-composition-list--story{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

.set-composition-list--story .set-composition-choice{
  background:var(--card) !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  box-shadow:var(--soft-shadow) !important;
}

.set-story-actions{
  justify-content:center !important;
  margin-top:4px !important;
}

@media (max-width:900px){
  .set-story-summary{
    grid-template-columns:1fr !important;
  }

  .set-composition-list--story{
    grid-template-columns:1fr !important;
  }

  .set-story-cover img{
    aspect-ratio:4 / 3 !important;
  }

  .set-story-head{
    text-align:left !important;
    justify-items:start !important;
  }

  .set-story-actions{
    display:grid !important;
  }
}
/* End Patch 82.9.88.6.94.1 */

/* Patch 82.9.88.6.94.2 - Ready Set Detail Hide Hero */
#sets .sets-container-hero[hidden],
#sets .sets-list-head[hidden],
#sets #setsGrid[hidden]{
  display:none !important;
}

#setDetail.set-detail--story{
  margin-top:0 !important;
}

.set-story-head{
  padding-top:8px !important;
}
/* End Patch 82.9.88.6.94.2 */

/* Patch 82.9.88.6.94.3 - Ready Set Compact Price Card */
.set-story-summary{
  align-items:start !important;
}

.set-story-summary .set-price-card{
  position:relative !important;
  min-height:0 !important;
  height:auto !important;
  padding:28px 112px 28px 28px !important;
  align-self:start !important;
  overflow:hidden !important;
}

.set-story-summary .set-price-card::after{
  content:"₴" !important;
  position:absolute !important;
  right:28px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:rgba(101,113,95,.12) !important;
  color:var(--green) !important;
  font-family:var(--serif) !important;
  font-size:30px !important;
  line-height:1 !important;
}

.set-story-summary .set-price-card span{
  display:block !important;
  margin-bottom:10px !important;
  color:var(--muted) !important;
  font-size:15px !important;
  line-height:1.25 !important;
}

.set-story-summary .set-price-card strong{
  display:block !important;
  margin-bottom:10px !important;
  color:var(--green) !important;
  font-size:clamp(34px,3.2vw,48px) !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
}

.set-story-summary .set-price-card small{
  display:block !important;
  max-width:420px !important;
  color:var(--muted) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

.set-story-summary .set-spec-grid{
  height:auto !important;
}

@media (max-width:900px){
  .set-story-summary .set-price-card{
    padding:24px 86px 24px 22px !important;
  }

  .set-story-summary .set-price-card::after{
    right:22px !important;
    width:46px !important;
    height:46px !important;
    font-size:26px !important;
  }
}

@media (max-width:560px){
  .set-story-summary .set-price-card{
    padding:22px !important;
  }

  .set-story-summary .set-price-card::after{
    position:static !important;
    transform:none !important;
    margin-top:16px !important;
  }
}
/* End Patch 82.9.88.6.94.3 */

/* Patch 82.9.88.6.94.4 - Ready Set Detail Wrapping Polish */
#setDetail .set-price-card{
  min-height:0;
  padding:clamp(24px, 3vw, 38px);
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  grid-template-areas:
    "label label"
    "price icon"
    "note note";
  align-content:center;
  gap:16px 22px;
}

#setDetail .set-price-card > span{
  grid-area:label;
}

#setDetail .set-price-card strong{
  grid-area:price;
  white-space:nowrap;
  font-size:clamp(40px, 4.2vw, 58px);
  line-height:.96;
  letter-spacing:0;
}

#setDetail .set-price-card small{
  grid-area:note;
  max-width:34rem;
  line-height:1.5;
}

#setDetail .set-price-card::after{
  grid-area:icon;
  align-self:center;
  justify-self:end;
  width:64px;
  height:64px;
  font-size:30px;
  line-height:64px;
}

#setDetail .set-spec-grid{
  align-items:stretch;
  gap:16px;
}

#setDetail .set-spec-grid > div{
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

#setDetail .set-spec-grid small{
  letter-spacing:.08em;
  line-height:1.15;
}

#setDetail .set-spec-grid b{
  line-height:1.32;
  text-wrap:balance;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}

#setDetail .set-spec-grid > div:nth-child(4) b,
#setDetail .set-spec-grid > div:nth-child(6) b{
  font-size:clamp(15px, 1.05vw, 17px);
}

@media (max-width:760px){
  #setDetail .set-price-card{
    grid-template-columns:minmax(0, 1fr) auto;
    padding:24px;
  }

  #setDetail .set-price-card strong{
    font-size:clamp(34px, 10vw, 44px);
  }

  #setDetail .set-price-card::after{
    width:52px;
    height:52px;
    font-size:24px;
    line-height:52px;
  }

  #setDetail .set-spec-grid > div{
    min-height:88px;
  }
}
/* End Patch 82.9.88.6.94.4 */

/* Patch 82.9.88.6.94.5 - Ready Set Price No Background Icon */
#setDetail .set-price-card::after{
  content:none !important;
  display:none !important;
}
/* End Patch 82.9.88.6.94.5 */

/* Patch 82.9.88.6.94.6 - Ready Set Detail Tight Spacing */
#sets #setDetail{
  padding-top:clamp(28px, 3.2vw, 52px);
}

#sets .set-story,
#sets .set-detail-story{
  gap:clamp(24px, 3vw, 42px);
}

#sets .set-story-head,
#sets .set-detail-head{
  margin-bottom:clamp(24px, 3vw, 38px);
  padding-top:clamp(10px, 1.4vw, 18px);
}

#sets .set-story-head .eyebrow,
#sets .set-detail-head .eyebrow{
  margin-bottom:10px;
}

#sets .set-story-head h1,
#sets .set-story-head h2,
#sets .set-detail-head h1,
#sets .set-detail-head h2{
  margin-bottom:clamp(12px, 1.4vw, 18px);
  line-height:1.02;
}

#sets .set-detail-lead,
#sets .set-story-lead{
  margin-top:0;
  margin-bottom:0;
  line-height:1.45;
}

#sets .set-story-cover,
#sets .set-story-hero,
#sets .set-detail-hero,
#sets .set-detail-media,
#sets .set-cover-card{
  margin-top:0;
}

#sets .set-cover-image-wrap{
  margin-top:0;
}

#sets .set-story-cover img,
#sets .set-story-hero img,
#sets .set-detail-hero img,
#sets .set-cover-card img{
  display:block;
}

#setDetail .set-price-card{
  padding:clamp(22px, 2.4vw, 32px);
  gap:12px 18px;
}

#setDetail .set-price-card small{
  line-height:1.42;
}

#setDetail .set-spec-grid{
  gap:14px;
}

#setDetail .set-spec-grid > div{
  min-height:92px;
  padding:20px 22px;
  gap:6px;
}

@media (max-width:760px){
  #sets #setDetail{
    padding-top:22px;
  }

  #sets .set-story,
  #sets .set-detail-story{
    gap:22px;
  }

  #sets .set-story-head,
  #sets .set-detail-head{
    margin-bottom:22px;
    padding-top:8px;
  }

  #setDetail .set-price-card{
    padding:22px;
  }

  #setDetail .set-spec-grid > div{
    min-height:82px;
    padding:18px 20px;
  }
}
/* End Patch 82.9.88.6.94.6 */

/* Patch 82.9.88.6.94.7 - Ready Set Mobile Spec Grid */
@media (max-width:760px){
  #setDetail .set-spec-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }

  #setDetail .set-spec-grid > div{
    min-height:92px;
    padding:18px;
    border-radius:18px;
    justify-content:flex-start;
  }

  #setDetail .set-spec-grid small{
    font-size:12px;
    line-height:1.1;
  }

  #setDetail .set-spec-grid b{
    font-size:15px;
    line-height:1.25;
  }

  #setDetail .set-spec-grid > div:nth-child(4),
  #setDetail .set-spec-grid > div:nth-child(6){
    grid-column:1 / -1;
    min-height:88px;
  }

  #setDetail .set-spec-grid > div:nth-child(4) b,
  #setDetail .set-spec-grid > div:nth-child(6) b{
    font-size:15px;
  }
}

@media (max-width:380px){
  #setDetail .set-spec-grid{
    gap:10px;
  }

  #setDetail .set-spec-grid > div{
    padding:16px;
    min-height:86px;
  }

  #setDetail .set-spec-grid b{
    font-size:14px;
  }
}
/* End Patch 82.9.88.6.94.7 */

/* Patch 82.9.88.6.94.8 - Ready Set Mobile All Spec Cards Two Columns */
@media (max-width:760px){
  #setDetail .set-spec-grid > div:nth-child(4),
  #setDetail .set-spec-grid > div:nth-child(6){
    grid-column:auto !important;
    min-height:92px;
  }

  #setDetail .set-spec-grid > div:nth-child(4) b,
  #setDetail .set-spec-grid > div:nth-child(6) b{
    font-size:13px;
    line-height:1.22;
  }
}

@media (max-width:380px){
  #setDetail .set-spec-grid > div:nth-child(4) b,
  #setDetail .set-spec-grid > div:nth-child(6) b{
    font-size:12px;
  }
}
/* End Patch 82.9.88.6.94.8 */

/* Patch 82.9.88.6.94.9 - Ready Set Mobile Cover Contain */
@media (max-width:760px){
  #setDetail .set-cover-card,
  #setDetail .set-cover-image-wrap{
    overflow:visible;
  }

  #setDetail .set-cover-image-wrap{
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    background:#f7f3ec;
  }

  #setDetail .set-cover-image-wrap img{
    display:block;
    width:100%;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}
/* End Patch 82.9.88.6.94.9 */

/* Patch 82.9.88.6.94.10 - Ready Set No Duplicate Composition Spec */
@media (max-width:760px){
  #setDetail .set-spec-grid > div:nth-child(3),
  #setDetail .set-spec-grid > div:nth-child(5){
    grid-column:auto !important;
    min-height:92px;
  }

  #setDetail .set-spec-grid > div:nth-child(3) b,
  #setDetail .set-spec-grid > div:nth-child(5) b{
    font-size:13px;
    line-height:1.22;
  }
}

@media (max-width:380px){
  #setDetail .set-spec-grid > div:nth-child(3) b,
  #setDetail .set-spec-grid > div:nth-child(5) b{
    font-size:12px;
  }
}
/* End Patch 82.9.88.6.94.10 */


/* Patch 82.9.88.6.194 - Ready Set Card Single Details CTA */
.set-card .set-card-actions--single{
  grid-template-columns:1fr;
}
.set-card .set-card-details-btn{
  width:100%;
  background:#65715f;
  border-color:#65715f;
  color:#fff;
}
.set-card .set-card-details-btn:hover{
  background:#566350;
  border-color:#566350;
  color:#fff;
}

/* Patch About Typography Full Page */
/*
  About page typography scale.
  Keeps the approved hero intact and normalizes all lower About sections
  to the calmer scale accepted in the first intro block.
*/
@media(min-width:901px){
  .about-intro{
    gap:58px !important;
    padding:64px 0 26px !important;
  }

  .about-intro h2{
    max-width:500px !important;
    font-size:clamp(32px,2.85vw,44px) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
  }

  .about-copy{
    max-width:64ch !important;
    gap:15px !important;
    font-size:15.5px !important;
    line-height:1.64 !important;
  }

  .about-proof{
    margin:20px 0 40px !important;
  }

  .about-proof-item{
    min-height:138px !important;
    padding:23px 24px !important;
  }

  .about-proof-item span{
    font-size:32px !important;
    line-height:1 !important;
    letter-spacing:.03em !important;
  }

  .about-proof-item strong{
    margin-top:9px !important;
    max-width:22ch !important;
    font-size:13px !important;
    line-height:1.18 !important;
    letter-spacing:.02em !important;
  }

  .about-proof-item p{
    max-width:24ch !important;
    margin-top:8px !important;
    font-size:12.5px !important;
    line-height:1.38 !important;
  }

  .about-material-strip{
    gap:50px !important;
    margin:0 0 44px !important;
    padding:38px 0 44px !important;
  }

  .about-material-copy h2,
  .about-craft-copy h2,
  .about-service h2,
  .about-faq h2,
  .about-contact h2{
    font-size:clamp(32px,2.85vw,44px) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
  }

  .about-material-copy h2{
    max-width:560px !important;
  }

  .about-material-copy p,
  .about-craft-copy p,
  .about-service p,
  .about-contact p,
  .about-faq p,
  .about-faq-list p{
    font-size:15.5px !important;
    line-height:1.62 !important;
  }

  .about-material-copy p{
    max-width:66ch !important;
  }

  .about-material-media{
    width:min(350px,100%) !important;
  }

  .about-craft{
    gap:52px !important;
    padding:38px 0 72px !important;
  }

  .about-craft-copy{
    max-width:610px !important;
    gap:13px !important;
  }

  .about-craft-copy p{
    max-width:62ch !important;
  }

  .about-feature-list{
    gap:12px 20px !important;
    margin-top:12px !important;
    padding-top:18px !important;
  }

  .about-feature-list li{
    font-size:13px !important;
    line-height:1.38 !important;
  }

  .about-service{
    gap:44px !important;
    padding:44px 46px !important;
  }

  .about-service p{
    max-width:62ch !important;
  }

  .about-service dt,
  .about-service dd{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  .about-faq{
    gap:58px !important;
    padding:68px 0 58px !important;
  }

  .about-faq-list details{
    padding:15px 0 !important;
  }

  .about-faq-list summary{
    font-size:17px !important;
    line-height:1.32 !important;
  }

  .about-contact{
    margin-bottom:62px !important;
  }

  .about-contact-content{
    padding:42px 0 42px 44px !important;
  }

  .about-contact p{
    max-width:44ch !important;
  }
}

@media(max-width:900px){
  .about-intro h2,
  .about-material-copy h2,
  .about-craft-copy h2,
  .about-service h2,
  .about-faq h2,
  .about-contact h2{
    font-size:clamp(30px,8vw,40px) !important;
    line-height:1.08 !important;
    letter-spacing:-.02em !important;
  }

  .about-copy,
  .about-material-copy p,
  .about-craft-copy p,
  .about-service p,
  .about-contact p,
  .about-faq p,
  .about-faq-list p{
    font-size:15.5px !important;
    line-height:1.62 !important;
  }

  .about-proof-item span{
    font-size:31px !important;
  }

  .about-proof-item strong{
    font-size:13px !important;
    line-height:1.2 !important;
  }

  .about-proof-item p,
  .about-feature-list li,
  .about-service dt,
  .about-service dd,
  .about-faq-list summary{
    font-size:13px !important;
    line-height:1.38 !important;
  }
}

@media(max-width:560px){
  .about-intro{
    padding-top:40px !important;
  }

  .about-intro h2,
  .about-material-copy h2,
  .about-craft-copy h2,
  .about-service h2,
  .about-faq h2,
  .about-contact h2{
    font-size:clamp(29px,9vw,36px) !important;
  }

  .about-copy,
  .about-material-copy p,
  .about-craft-copy p,
  .about-service p,
  .about-contact p,
  .about-faq p,
  .about-faq-list p{
    font-size:15px !important;
    line-height:1.58 !important;
  }
}
/* End Patch About Typography Full Page */

/* Patch About Material Image Horizontal */
@media(min-width:901px){
  .about-material-strip{
    grid-template-columns:minmax(0,.92fr) minmax(430px,.78fr) !important;
    gap:52px !important;
    align-items:center !important;
  }

  .about-material-media{
    width:min(560px,100%) !important;
    max-width:560px !important;
    justify-self:end !important;
    border-radius:8px !important;
    overflow:hidden !important;
  }

  .about-material-picture{
    display:block !important;
    width:100% !important;
  }

  .about-material-media img,
  .about-material-picture img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}

@media(max-width:900px){
  .about-material-strip{
    gap:26px !important;
  }

  .about-material-media{
    width:100% !important;
    max-width:100% !important;
  }

  .about-material-picture{
    display:block !important;
    width:100% !important;
  }

  .about-material-media img,
  .about-material-picture img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

@media(max-width:560px){
  .about-material-media img,
  .about-material-picture img{
    aspect-ratio:4 / 3 !important;
  }
}
/* End Patch About Material Image Horizontal */

/* Patch About Width Like Home Final */
/*
  Final About width fix.
  Match the About page rail to the same .wrap behavior used on Home:
  max-width: var(--wrap), centered, with var(--pad) side padding.
  The previous fixes changed the outer wrapper, but the inner ready-set-style
  hero could still keep its own max-width and the old About page could keep
  narrower local layout rules.
*/

/* Page rail: same as Home .wrap, but stronger than the old About override. */
#about.about-page > .wrap,
#about.about-page .about-ready-hero-wrap.wrap{
  width:100% !important;
  max-width:var(--wrap) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--pad) !important;
  padding-right:var(--pad) !important;
  box-sizing:border-box !important;
}

/* The hero itself must not keep a separate narrower max-width. */
#about.about-page .about-ready-hero{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Lower About sections use the same rail width, not their own narrower cap. */
#about.about-page .about-intro,
#about.about-page .about-proof,
#about.about-page .about-material-strip,
#about.about-page .about-craft,
#about.about-page .about-service,
#about.about-page .about-faq,
#about.about-page .about-contact{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

@media(min-width:901px){
  #about.about-page > .wrap,
  #about.about-page .about-ready-hero-wrap.wrap{
    max-width:var(--wrap) !important;
    padding-left:var(--pad) !important;
    padding-right:var(--pad) !important;
  }

  #about.about-page .about-ready-hero{
    max-width:none !important;
  }
}

@media(max-width:760px){
  #about.about-page > .wrap,
  #about.about-page .about-ready-hero-wrap.wrap{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
/* End Patch About Width Like Home Final */

/* Patch About Hero Copy Fit */
/*
  Fit About hero copy after widening the page rail.
  The card is wider now, but the left text column still uses a large headline
  and CTA pair, so the headline and second button can hit the image boundary.
*/
@media(min-width:901px){
  #about.about-page .about-ready-hero{
    grid-template-columns:minmax(360px,.42fr) minmax(0,.58fr) !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy,
  #about.about-page .about-ready-hero-copy{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    padding-right:clamp(22px,2.4vw,34px) !important;
    box-sizing:border-box !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    max-width:8.6em !important;
    font-size:clamp(38px,3.35vw,52px) !important;
    line-height:1.02 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:34ch !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }

  #about.about-page .about-ready-hero-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr) !important;
    width:min(100%, 352px) !important;
    max-width:352px !important;
    gap:8px !important;
    margin-top:20px !important;
    align-items:center !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 11px !important;
    border-radius:11px !important;
    font-size:11.8px !important;
    font-weight:850 !important;
    line-height:1.05 !important;
    letter-spacing:-.01em !important;
    white-space:nowrap !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  #about.about-page .about-ready-hero{
    grid-template-columns:minmax(330px,.43fr) minmax(0,.57fr) !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    max-width:8.2em !important;
    font-size:clamp(34px,3.1vw,44px) !important;
  }

  #about.about-page .about-ready-hero-actions{
    width:min(100%, 326px) !important;
    max-width:326px !important;
    gap:7px !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    height:38px !important;
    min-height:38px !important;
    padding:0 9px !important;
    font-size:11.2px !important;
  }
}

@media(max-width:900px){
  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    max-width:100% !important;
  }

  #about.about-page .about-ready-hero-actions{
    width:100% !important;
    max-width:430px !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    min-height:46px !important;
    height:46px !important;
    font-size:12.8px !important;
    padding:0 14px !important;
  }
}

@media(max-width:560px){
  #about.about-page .about-ready-hero-actions{
    max-width:100% !important;
    grid-template-columns:1fr !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    height:48px !important;
    min-height:48px !important;
    font-size:13px !important;
  }
}
/* End Patch About Hero Copy Fit */

/* Patch About Hero Benefits Compact */
/*
  Compact About hero benefits overlay.
  The About hero now uses the wider home rail, so the benefits bar must be
  scaled down and kept readable without wrapping important labels.
*/
@media(min-width:901px){
  #about.about-page .about-ready-hero-benefits{
    left:auto !important;
    right:clamp(18px,2.4vw,30px) !important;
    bottom:clamp(18px,2.6vw,28px) !important;
    width:min(760px, calc(100% - 56px)) !important;
    max-width:760px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    padding:11px 14px !important;
    border-radius:17px !important;
    box-sizing:border-box !important;
  }

  #about.about-page .about-ready-hero-benefits > div{
    display:grid !important;
    grid-template-columns:26px minmax(0,1fr) !important;
    grid-template-areas:
      "icon title"
      "icon text" !important;
    column-gap:9px !important;
    row-gap:2px !important;
    align-items:start !important;
    min-width:0 !important;
    padding:0 14px !important;
  }

  #about.about-page .about-ready-hero-benefits > div:first-child{
    padding-left:0 !important;
  }

  #about.about-page .about-ready-hero-benefits > div:last-child{
    padding-right:0 !important;
  }

  #about.about-page .about-ready-hero-benefits span{
    grid-area:icon !important;
    width:25px !important;
    height:25px !important;
    min-width:25px !important;
    font-size:13px !important;
    line-height:25px !important;
  }

  #about.about-page .about-ready-hero-benefits strong{
    grid-area:title !important;
    display:block !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:12.6px !important;
    font-weight:850 !important;
    line-height:1.08 !important;
    letter-spacing:-.01em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #about.about-page .about-ready-hero-benefits small{
    grid-area:text !important;
    display:block !important;
    max-width:100% !important;
    margin:2px 0 0 !important;
    font-size:10.6px !important;
    font-weight:600 !important;
    line-height:1.22 !important;
    letter-spacing:-.005em !important;
  }

  #about.about-page .about-ready-hero-benefits > div + div{
    border-left:1px solid rgba(255,255,255,.22) !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  #about.about-page .about-ready-hero-benefits{
    width:min(690px, calc(100% - 44px)) !important;
    max-width:690px !important;
    padding:10px 12px !important;
  }

  #about.about-page .about-ready-hero-benefits > div{
    grid-template-columns:24px minmax(0,1fr) !important;
    column-gap:8px !important;
    padding:0 10px !important;
  }

  #about.about-page .about-ready-hero-benefits span{
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    font-size:12px !important;
    line-height:23px !important;
  }

  #about.about-page .about-ready-hero-benefits strong{
    font-size:11.6px !important;
  }

  #about.about-page .about-ready-hero-benefits small{
    font-size:9.8px !important;
    line-height:1.18 !important;
  }
}

@media(max-width:900px){
  #about.about-page .about-ready-hero-benefits strong{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}
/* End Patch About Hero Benefits Compact */

/* Patch Public Hero Responsive Scale V1 */
/*
  Public hero responsive scale — pilot.
  Applies only to:
  - #sets ready-sets hero
  - #about ready-style hero

  Do not force typography separately from layout. The hero height, copy padding,
  title, body text, image and benefits overlay all read from the same scale.
*/
@media(min-width:901px){
  #sets .sets-container-hero,
  #about.about-page .about-ready-hero{
    --ta-hero-h:clamp(450px,36vw,520px);
    --ta-hero-pad-x:clamp(38px,3.4vw,58px);
    --ta-hero-pad-y:clamp(38px,3.6vw,58px);
    --ta-hero-title:clamp(34px,3.05vw,48px);
    --ta-hero-text:clamp(14px,.95vw,15.5px);
    --ta-hero-line-w:clamp(52px,5.2vw,76px);
    --ta-hero-line-gap:clamp(20px,2.2vw,28px);
    --ta-hero-benefit-title:clamp(11px,.82vw,12.4px);
    --ta-hero-benefit-text:clamp(9.4px,.72vw,10.6px);
    --ta-hero-benefit-icon:clamp(22px,1.8vw,25px);

    height:var(--ta-hero-h) !important;
    min-height:450px !important;
    max-height:520px !important;
    display:grid !important;
    grid-template-columns:minmax(340px,.42fr) minmax(0,.58fr) !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }

  #sets .sets-container-hero-copy,
  #about.about-page .about-ready-hero .sets-container-hero-copy,
  #about.about-page .about-ready-hero-copy{
    min-width:0 !important;
    max-width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    padding:var(--ta-hero-pad-y) var(--ta-hero-pad-x) !important;
  }

  #sets .sets-container-hero-copy .eyebrow,
  #about.about-page .about-ready-hero .sets-container-hero-copy .eyebrow,
  #about.about-page .about-ready-hero-copy .eyebrow{
    margin:0 0 clamp(24px,2.6vw,34px) !important;
    font-size:11px !important;
    line-height:1.1 !important;
    letter-spacing:.22em !important;
  }

  #sets .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    margin:0 !important;
    font-size:var(--ta-hero-title) !important;
    line-height:1.06 !important;
    letter-spacing:-.028em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  #sets .sets-container-hero-copy h1{
    max-width:9.1em !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    max-width:9.2em !important;
  }

  #sets .sets-container-hero-line,
  #about.about-page .about-ready-hero .sets-container-hero-line{
    width:var(--ta-hero-line-w) !important;
    margin:var(--ta-hero-line-gap) 0 !important;
  }

  #sets .sets-container-hero-copy p,
  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:34ch !important;
    margin:0 !important;
    font-size:var(--ta-hero-text) !important;
    line-height:1.52 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  #sets .sets-container-hero-visual,
  #about.about-page .about-ready-hero-visual{
    min-width:0 !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
  }

  #sets .sets-container-hero-visual img,
  #about.about-page .about-ready-hero-visual img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  #sets .sets-container-benefits,
  #about.about-page .about-ready-hero-benefits{
    left:auto !important;
    right:clamp(18px,2.2vw,30px) !important;
    bottom:clamp(18px,2.4vw,28px) !important;
    width:min(760px, calc(100% - 56px)) !important;
    max-width:760px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    padding:clamp(9px,1vw,11px) clamp(12px,1.2vw,14px) !important;
    border-radius:clamp(15px,1.4vw,17px) !important;
    box-sizing:border-box !important;
  }

  #sets .sets-container-benefits > div,
  #about.about-page .about-ready-hero-benefits > div{
    display:grid !important;
    grid-template-columns:var(--ta-hero-benefit-icon) minmax(0,1fr) !important;
    grid-template-areas:"icon title" "icon text" !important;
    column-gap:8px !important;
    row-gap:2px !important;
    align-items:start !important;
    min-width:0 !important;
    padding:0 clamp(9px,1vw,13px) !important;
  }

  #sets .sets-container-benefits > div:first-child,
  #about.about-page .about-ready-hero-benefits > div:first-child{
    padding-left:0 !important;
  }

  #sets .sets-container-benefits > div:last-child,
  #about.about-page .about-ready-hero-benefits > div:last-child{
    padding-right:0 !important;
  }

  #sets .sets-container-benefits span,
  #about.about-page .about-ready-hero-benefits span{
    grid-area:icon !important;
    width:var(--ta-hero-benefit-icon) !important;
    height:var(--ta-hero-benefit-icon) !important;
    min-width:var(--ta-hero-benefit-icon) !important;
    font-size:calc(var(--ta-hero-benefit-icon) * .5) !important;
    line-height:var(--ta-hero-benefit-icon) !important;
  }

  #sets .sets-container-benefits strong,
  #about.about-page .about-ready-hero-benefits strong{
    grid-area:title !important;
    display:block !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:var(--ta-hero-benefit-title) !important;
    font-weight:850 !important;
    line-height:1.08 !important;
    letter-spacing:-.01em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #sets .sets-container-benefits small,
  #about.about-page .about-ready-hero-benefits small{
    grid-area:text !important;
    display:block !important;
    max-width:100% !important;
    margin:2px 0 0 !important;
    font-size:var(--ta-hero-benefit-text) !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:-.005em !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  #sets .sets-container-hero,
  #about.about-page .about-ready-hero{
    --ta-hero-h:clamp(430px,39vw,500px);
    --ta-hero-title:clamp(32px,3.1vw,43px);
    --ta-hero-text:14px;
    --ta-hero-pad-x:clamp(30px,3vw,44px);
    grid-template-columns:minmax(310px,.43fr) minmax(0,.57fr) !important;
  }

  #sets .sets-container-hero-copy p,
  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:31ch !important;
  }

  #sets .sets-container-benefits,
  #about.about-page .about-ready-hero-benefits{
    width:min(690px, calc(100% - 44px)) !important;
    max-width:690px !important;
  }
}

@media(max-width:900px){
  #sets .sets-container-hero,
  #about.about-page .about-ready-hero{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    grid-template-columns:1fr !important;
  }

  #sets .sets-container-hero-copy,
  #about.about-page .about-ready-hero .sets-container-hero-copy,
  #about.about-page .about-ready-hero-copy{
    height:auto !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  #sets .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1,
  #sets .sets-container-hero-copy p,
  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:100% !important;
  }

  #sets .sets-container-benefits strong,
  #about.about-page .about-ready-hero-benefits strong{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}
/* End Patch Public Hero Responsive Scale V1 */

/* Patch About Hero Scale After Pilot */
/*
  About-only correction after the responsive hero scale pilot.
  /sets is already visually approved, so this block does not touch it.
  About title is longer and needs its own copy scale to stay inside the left
  column without crossing into the image area.
*/
@media(min-width:901px){
  #about.about-page .about-ready-hero{
    grid-template-columns:minmax(360px,.42fr) minmax(0,.58fr) !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy,
  #about.about-page .about-ready-hero-copy{
    padding-left:clamp(42px,3.6vw,60px) !important;
    padding-right:clamp(28px,2.9vw,44px) !important;
    overflow:hidden !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    max-width:7.7em !important;
    font-size:clamp(34px,2.85vw,44px) !important;
    line-height:1.07 !important;
    letter-spacing:-.03em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:32ch !important;
    font-size:14.5px !important;
    line-height:1.52 !important;
  }

  #about.about-page .about-ready-hero-actions{
    width:min(100%, 342px) !important;
    max-width:342px !important;
    gap:8px !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    font-size:11.8px !important;
    border-radius:11px !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  #about.about-page .about-ready-hero{
    grid-template-columns:minmax(320px,.43fr) minmax(0,.57fr) !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy,
  #about.about-page .about-ready-hero-copy{
    padding-left:clamp(32px,3vw,44px) !important;
    padding-right:clamp(22px,2.6vw,34px) !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1{
    max-width:7.25em !important;
    font-size:clamp(31px,2.75vw,39px) !important;
  }

  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:30ch !important;
    font-size:14px !important;
  }

  #about.about-page .about-ready-hero-actions{
    width:min(100%, 318px) !important;
    max-width:318px !important;
    gap:7px !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    height:38px !important;
    min-height:38px !important;
    padding:0 9px !important;
    font-size:11.2px !important;
  }
}

@media(max-width:900px){
  #about.about-page .about-ready-hero .sets-container-hero-copy h1,
  #about.about-page .about-ready-hero-copy h1,
  #about.about-page .about-ready-hero .sets-container-hero-copy p,
  #about.about-page .about-ready-hero-copy p{
    max-width:100% !important;
  }
}
/* End Patch About Hero Scale After Pilot */

/* Patch About Mobile Proof Center */
@media(max-width:640px){
  #about.about-page .about-proof{
    text-align:center !important;
  }

  #about.about-page .about-proof-item{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:0 !important;
    padding:26px 28px !important;
    box-sizing:border-box !important;
  }

  #about.about-page .about-proof-item span,
  #about.about-page .about-proof-item strong,
  #about.about-page .about-proof-item p{
    display:block !important;
    width:100% !important;
    max-width:280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  #about.about-page .about-proof-item span{
    margin-bottom:10px !important;
  }

  #about.about-page .about-proof-item strong{
    margin-top:0 !important;
    margin-bottom:10px !important;
  }

  #about.about-page .about-proof-item p{
    margin-top:0 !important;
  }
}

@media(max-width:390px){
  #about.about-page .about-proof-item{
    padding:24px 22px !important;
  }

  #about.about-page .about-proof-item span,
  #about.about-page .about-proof-item strong,
  #about.about-page .about-proof-item p{
    max-width:250px !important;
  }
}
/* End Patch About Mobile Proof Center */

/* Patch About Mobile Hero Buttons Center */
@media(max-width:640px){
  #about.about-page .about-ready-hero-actions{
    width:min(100%, 430px) !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-items:center !important;
    align-items:center !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    width:100% !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

@media(max-width:390px){
  #about.about-page .about-ready-hero-actions{
    width:100% !important;
    max-width:100% !important;
  }

  #about.about-page .about-ready-hero-actions .btn{
    max-width:100% !important;
  }
}
/* End Patch About Mobile Hero Buttons Center */

/* Patch About Mobile Hero Flow Fix V2 */
/*
  Mobile-only safe correction for About hero.
  This replaces the too-aggressive Flow Fix v1. It does not make buttons tall
  cards; it only centers and sizes them as regular CTA buttons. Benefits stay
  as a normal block below the image and do not overlap the image.
*/
@media(max-width:640px){
  #about.about-page .about-ready-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:24px auto 0 !important;
    gap:12px !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #about.about-page .about-ready-hero-actions .btn,
  #about.about-page .about-ready-hero-actions .btn.primary,
  #about.about-page .about-ready-hero-actions .btn.secondary,
  #about.about-page .about-ready-hero-actions a.btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    inline-size:min(86%, 420px) !important;
    width:min(86%, 420px) !important;
    max-width:420px !important;
    block-size:52px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    flex:0 0 52px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 20px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    text-align:center !important;
    font-size:14.5px !important;
    font-weight:850 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }

  #about.about-page .about-ready-hero-visual{
    position:relative !important;
    overflow:hidden !important;
    margin-top:22px !important;
    border-radius:0 0 28px 28px !important;
  }

  #about.about-page .about-ready-hero-visual img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  #about.about-page .about-ready-hero-benefits,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    translate:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:16px 26px 22px !important;
    border-radius:0 0 28px 28px !important;
    background:#fffdf8 !important;
    color:#2f2e2a !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    border-top:1px solid rgba(76,69,59,.12) !important;
    box-sizing:border-box !important;
  }

  #about.about-page .about-ready-hero-benefits > div,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits > div{
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) !important;
    grid-template-areas:"icon title" "icon text" !important;
    column-gap:13px !important;
    row-gap:3px !important;
    align-items:start !important;
    min-width:0 !important;
    padding:13px 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(76,69,59,.13) !important;
    text-align:left !important;
  }

  #about.about-page .about-ready-hero-benefits > div:first-child,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits > div:first-child{
    border-top:0 !important;
    padding-top:0 !important;
  }

  #about.about-page .about-ready-hero-benefits > div:last-child,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits > div:last-child{
    padding-bottom:0 !important;
  }

  #about.about-page .about-ready-hero-benefits span,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits span{
    grid-area:icon !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:50% !important;
    background:#66745f !important;
    color:#fffdf8 !important;
    font-size:17px !important;
    line-height:1 !important;
  }

  #about.about-page .about-ready-hero-benefits strong,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits strong{
    grid-area:title !important;
    display:block !important;
    margin:0 !important;
    color:#2f2e2a !important;
    font-family:var(--font-sans, Inter, Arial, sans-serif) !important;
    font-size:16px !important;
    font-weight:850 !important;
    line-height:1.18 !important;
    letter-spacing:-.02em !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    text-align:left !important;
  }

  #about.about-page .about-ready-hero-benefits small,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits small{
    grid-area:text !important;
    display:block !important;
    margin:0 !important;
    color:rgba(47,46,42,.62) !important;
    font-family:var(--font-sans, Inter, Arial, sans-serif) !important;
    font-size:14.5px !important;
    font-weight:500 !important;
    line-height:1.35 !important;
    letter-spacing:-.01em !important;
    text-align:left !important;
  }
}

@media(max-width:390px){
  #about.about-page .about-ready-hero-actions .btn,
  #about.about-page .about-ready-hero-actions .btn.primary,
  #about.about-page .about-ready-hero-actions .btn.secondary,
  #about.about-page .about-ready-hero-actions a.btn{
    inline-size:min(90%, 360px) !important;
    width:min(90%, 360px) !important;
    block-size:50px !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    flex-basis:50px !important;
    font-size:14px !important;
  }

  #about.about-page .about-ready-hero-benefits,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits{
    padding:15px 22px 20px !important;
  }

  #about.about-page .about-ready-hero-benefits strong,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits strong{
    font-size:15.5px !important;
  }

  #about.about-page .about-ready-hero-benefits small,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits small{
    font-size:14px !important;
  }
}
/* End Patch About Mobile Hero Flow Fix V2 */

/* Patch About Mobile Benefits Weight */
@media(max-width:640px){
  #about.about-page .about-ready-hero-benefits strong,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits strong{
    font-weight:760 !important;
    font-size:15.6px !important;
    line-height:1.22 !important;
    letter-spacing:-.018em !important;
  }

  #about.about-page .about-ready-hero-benefits small,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits small{
    font-weight:420 !important;
    font-size:14.2px !important;
    line-height:1.38 !important;
    color:rgba(47,46,42,.58) !important;
  }
}

@media(max-width:390px){
  #about.about-page .about-ready-hero-benefits strong,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits strong{
    font-size:15.2px !important;
    font-weight:740 !important;
  }

  #about.about-page .about-ready-hero-benefits small,
  #about.about-page .sets-container-benefits.about-ready-hero-benefits small{
    font-size:13.8px !important;
    font-weight:400 !important;
  }
}
/* End Patch About Mobile Benefits Weight */

/* Patch About Spacing Compact V2 */
/*
  Compact vertical rhythm for the whole About page.
  Keeps the approved hero/mobile fixes and only reduces excessive section gaps.
*/
#about.about-page{
  --about-gap-xs:8px;
  --about-gap-sm:12px;
  --about-gap-md:20px;
  --about-gap-lg:28px;
  --about-gap-section:36px;
  --about-gap-major:44px;
}

#about.about-page .about-ready-hero-wrap{
  margin-bottom:var(--about-gap-section) !important;
}

#about.about-page .about-intro{
  gap:var(--about-gap-lg) !important;
  padding:var(--about-gap-section) 0 var(--about-gap-sm) !important;
}

#about.about-page .about-copy{
  gap:var(--about-gap-sm) !important;
}

#about.about-page .about-proof{
  margin:var(--about-gap-xs) 0 var(--about-gap-section) !important;
}

#about.about-page .about-proof-item{
  min-height:118px !important;
  padding:18px 20px !important;
}

#about.about-page .about-material-strip{
  gap:var(--about-gap-lg) !important;
  margin:0 0 var(--about-gap-section) !important;
  padding:var(--about-gap-lg) 0 var(--about-gap-section) !important;
}

#about.about-page .about-material-copy{
  gap:var(--about-gap-sm) !important;
}

#about.about-page .about-craft{
  gap:var(--about-gap-lg) !important;
  padding:var(--about-gap-lg) 0 var(--about-gap-major) !important;
}

#about.about-page .about-craft-copy{
  gap:var(--about-gap-sm) !important;
}

#about.about-page .about-feature-list{
  gap:10px 18px !important;
  margin-top:var(--about-gap-sm) !important;
  padding-top:var(--about-gap-sm) !important;
}

#about.about-page .about-service{
  gap:var(--about-gap-lg) !important;
  margin:0 0 var(--about-gap-section) !important;
  padding:34px 38px !important;
}

#about.about-page .about-service > div{
  gap:var(--about-gap-sm) !important;
}

#about.about-page .about-service dl{
  margin-top:var(--about-gap-xs) !important;
}

#about.about-page .about-service dl div{
  padding:10px 0 !important;
}

#about.about-page .about-faq{
  gap:var(--about-gap-lg) !important;
  padding:var(--about-gap-major) 0 var(--about-gap-section) !important;
}

#about.about-page .about-faq-list details{
  padding:12px 0 !important;
}

#about.about-page .about-faq-list p{
  margin-top:7px !important;
}

#about.about-page .about-contact{
  gap:var(--about-gap-md) !important;
  margin:0 0 var(--about-gap-section) !important;
}

#about.about-page .about-contact-content{
  gap:var(--about-gap-xs) !important;
  padding-top:34px !important;
  padding-bottom:34px !important;
}

#about.about-page .about-contact-actions{
  gap:var(--about-gap-xs) !important;
}

/* Normalize separators so they do not create large visual pauses. */
#about.about-page .about-intro + .about-proof,
#about.about-page .about-proof + .about-material-strip,
#about.about-page .about-material-strip + .about-craft,
#about.about-page .about-craft + .about-service,
#about.about-page .about-service + .about-faq,
#about.about-page .about-faq + .about-contact{
  margin-top:0 !important;
}

@media(max-width:900px){
  #about.about-page{
    --about-gap-lg:24px;
    --about-gap-section:32px;
    --about-gap-major:38px;
  }

  #about.about-page .about-ready-hero-wrap{
    margin-bottom:var(--about-gap-section) !important;
  }

  #about.about-page .about-intro{
    padding:var(--about-gap-section) 0 var(--about-gap-sm) !important;
  }

  #about.about-page .about-proof{
    margin:10px 0 var(--about-gap-section) !important;
  }

  #about.about-page .about-material-strip{
    padding:var(--about-gap-lg) 0 var(--about-gap-section) !important;
  }

  #about.about-page .about-craft{
    padding:var(--about-gap-lg) 0 var(--about-gap-major) !important;
  }

  #about.about-page .about-service{
    padding:28px 24px !important;
  }

  #about.about-page .about-faq{
    padding:var(--about-gap-major) 0 var(--about-gap-section) !important;
  }
}

@media(max-width:560px){
  #about.about-page{
    --about-gap-lg:20px;
    --about-gap-section:28px;
    --about-gap-major:34px;
  }

  #about.about-page .about-intro{
    padding-top:var(--about-gap-section) !important;
  }

  #about.about-page .about-proof-item{
    padding:22px 20px !important;
  }

  #about.about-page .about-material-strip{
    padding-top:var(--about-gap-lg) !important;
  }

  #about.about-page .about-service{
    padding:24px 18px !important;
  }

  #about.about-page .about-contact-content{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
}
/* End Patch About Spacing Compact V2 */
/* TreeArt home spacing system v2: start */
#home {
  --ta-space-1: 8px;
  --ta-space-2: 12px;
  --ta-space-3: 16px;
  --ta-space-4: 24px;
  --ta-space-5: 32px;
  --ta-space-6: 48px;
  --ta-space-7: 64px;
  --ta-space-8: 96px;
  --ta-space-9: 128px;
}

/* Hero and first content transition */
#home .benefits {
  margin-top: var(--ta-space-6);
}

/* Default home section rhythm */
#home .home-block {
  margin-top: var(--ta-space-7);
}

/* Large image-led section */
#home .home-photo-custom.home-block {
  margin-top: var(--ta-space-8);
}

/* Product section after the image-led section */
#home .home-photo-custom + .home-block {
  margin-top: var(--ta-space-7);
}

/* Internal rhythm of the image-led section */
#home .home-photo-custom-copy {
  gap: var(--ta-space-4);
  padding: var(--ta-space-7) var(--ta-space-6);
}

/* Product section heading and cards */
#home .catalog-start-head {
  margin-bottom: var(--ta-space-4);
}

#home .catalog-start-head h2 {
  margin-bottom: 0;
}

#home #homeProducts {
  gap: var(--ta-space-4);
}

@media (max-width: 820px) {
  #home .benefits {
    margin-top: var(--ta-space-5);
  }

  #home .home-block {
    margin-top: var(--ta-space-7);
  }

  #home .home-photo-custom.home-block {
    margin-top: var(--ta-space-7);
  }

  #home .home-photo-custom + .home-block {
    margin-top: var(--ta-space-7);
  }

  #home .home-photo-custom-copy {
    gap: var(--ta-space-3);
    padding: var(--ta-space-5) var(--ta-space-4);
  }

  #home .catalog-start-head {
    gap: var(--ta-space-3);
    margin-bottom: var(--ta-space-4);
  }

  #home #homeProducts {
    gap: var(--ta-space-4);
  }
}
/* TreeArt home spacing system v2: end */
/* PR 2 (Frontend UX, 2026-07-25): SLA-рядок біля лід-форм і альтернатива
   в каталог-гілці quote-модалки (розмітка реюзає .quote-catalog-card). */
.form-sla{margin:12px 0 0}
.quote-catalog-card--alt{margin-top:12px}
/* «Назад» на кроці 1: quoteShowStep ставить hidden, але display:flex
   кнопки перебивав UA-правило [hidden] — кнопка була видима й мертва.
   Той самий клас бага, що й запінений #quoteSubmit[hidden]-guard. */
#quotePrev[hidden]{display:none!important}
/* Mobile swipe для галереї товару (2026-07-30, site-gallery.js):
   pan-y лишає нативний вертикальний скрол сторінки, а горизонтальний
   жест по головному фото/стрічці мініатюр віддає JS-обробнику свайпу. */
#product .product-main,
#productGallery.gallery{touch-action:pan-y}
/* Ghost-шар преміального переходу свайпу (2026-07-31, site-gallery.js):
   клон старого фото відпливає над новим (z:1), але під серцем вішліста
   (z:4). Анімація — через Web Animations API, клас лише позиціонує. */
.product-main .product-main-swap-ghost{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  pointer-events:none;z-index:1;will-change:opacity,transform;
}
/* Розширений опис моделі (2026-07-31, запит власника). Десктоп показує текст
   цілком; на мобільному він обрізається по висоті і розкривається кнопкою.
   Обрізаємо саме ВИСОТУ, а не display — вміст лишається в DOM і в потоці
   доступності, тож індексується і читається скрінрідером у будь-якому стані. */
.product-longread{margin-top:64px}
.product-longread .section-head{margin-bottom:22px}
.product-longread-grid{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:34px;align-items:start;
}
.product-longread-body p{
  margin:0 0 16px;max-width:68ch;
  font-size:16.5px;line-height:1.75;color:var(--text);
}
.product-longread-body p:last-child{margin-bottom:0}
/* Лід-абзац більшим кеглем — редакційний прийом: дає «вхід» у текст
   і ієрархію читання замість рівного полотна. */
.product-longread-body p:first-child{font-size:18px;line-height:1.7}
.product-longread-aside{
  background:var(--soft);border:1px solid rgba(62,73,56,.1);
  border-radius:var(--r-card);padding:22px 24px;
}
.product-longread-aside h3,
.product-longread-advantages h3{
  margin:0 0 14px;font-size:13px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--green);
}
.product-longread-aside ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.product-longread-aside li{
  position:relative;padding-left:18px;font-size:15px;line-height:1.5;
}
/* Універсальний маркер (рішення власника 2026-07-31): текст пунктів у кожного
   товару свій, тож підбирати піктограму за словами не можна — частина рядків
   лишалася б без неї. Ромб працює для будь-якого формулювання і візуально не
   конфліктує з галочками в «Перевагах», де ✓ означає підтвердження. */
.product-longread-aside li::before{
  content:'';position:absolute;left:1px;top:8px;width:6px;height:6px;
  background:var(--green);opacity:.62;transform:rotate(45deg);
}
.product-longread-advantages{margin-top:34px}
.product-longread-advantages ul{
  margin:0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;
}
.product-longread-advantages li{
  display:flex;align-items:flex-start;gap:10px;
  background:#fff;border:1px solid rgba(62,73,56,.1);
  border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.45;
}
.product-longread-tick{
  flex:0 0 18px;width:18px;height:18px;margin-top:1px;border-radius:50%;
  background:var(--green);position:relative;
}
/* Центруємо трансформом, а не піксельними зсувами. Симетричний -50% тут НЕ
   центрує: видима галочка — лише права й нижня сторони рамки, тож її центр
   маси лежить не в центрі бокса, а після rotate(45deg) зміщується ще й вниз
   приблизно на 1.7px. Зсуви нижче компенсують саме це, тому вони асиметричні. */
.product-longread-tick::after{
  content:'';position:absolute;left:50%;top:50%;width:4px;height:7.5px;
  border:2px solid #fff;border-left:0;border-top:0;
  transform:translate(-53%,-67%) rotate(45deg);
}
/* Кнопки в CTA немає (рішення власника): заявку збирає конфігуратор. Тому це
   просто текстова смуга — без flex, який лишав би праворуч порожнє місце. */
/* Блок стискається до ВМІСТУ і центрується: на всю ширину він лишав праворуч
   велику порожнечу, бо текст обмежений 72ch і ніколи її не заповнював. */
.product-longread-cta{
  margin:34px auto 0;width:fit-content;max-width:100%;
  position:relative;overflow:hidden;
  background:#F2EFE6;border-radius:var(--r-card);padding:22px 30px 22px 32px;
}
/* Акцентна смужка саме ::before, а не border-left: одностороння рамка на
   заокругленому блоці дає зріз на кутах. overflow:hidden обрізає смужку по
   радіусу. Без неї CTA зливався з фоном сторінки — різниця була в один
   пункт яскравості. */
.product-longread-cta::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green);
}
.product-longread-cta p{margin:0;font-size:16px;line-height:1.6;max-width:72ch}
.product-longread-toggle{display:none}
@media (max-width:900px){
  .product-longread-grid{grid-template-columns:1fr;gap:22px}
}
@media (max-width:767px){
  .product-longread{margin-top:44px}
  /* Згорнутий стан: показуємо приблизно перші два абзаци, решту ховаємо під
     градієнтом. `max-height` на .product-longread-grid, а не на секції —
     кнопка й CTA мусять лишатися видимими та клікабельними. */
  .product-longread:not(.is-expanded) .product-longread-grid{
    max-height:190px;overflow:hidden;position:relative;
  }
  .product-longread:not(.is-expanded) .product-longread-grid::after{
    content:'';position:absolute;left:0;right:0;bottom:0;height:88px;
    background:linear-gradient(to bottom,rgba(250,249,246,0),var(--bg,#faf9f6));
    pointer-events:none;
  }
  .product-longread:not(.is-expanded) .product-longread-advantages,
  .product-longread:not(.is-expanded) .product-longread-cta{display:none}
  .product-longread-toggle{
    display:inline-flex;align-items:center;gap:8px;margin-top:16px;
    background:none;border:0;padding:0;cursor:pointer;
    font:inherit;font-size:15px;font-weight:800;color:var(--green);
    text-decoration:underline;text-underline-offset:4px;
  }
  .product-longread-body p{font-size:15.5px}
  .product-longread-advantages ul{grid-template-columns:1fr}
  .product-longread-cta{width:auto;padding:20px 20px 20px 24px}
}
