/* ============================================================
   YEZIRA VA'ETZ — PREVIEW v2
   Same palette and type as the live facelift; new structure,
   motion and interaction. Scoped to .yzp.
   ============================================================ */
.yzp{
  --ink:#0D0C0A; --ink2:#191714; --ink3:#242019;
  --bone:#F7F4EE; --bone2:#EBE6DC; --white:#fff;
  --green:#A1CB3D; --green2:#B4E046; --ongreen:#121607;
  --soft:#BDB6AC; --mute:#8A8278; --text:#3A342D;
  --line:rgba(255,255,255,.12); --linel:rgba(13,12,10,.12);
  --ease:cubic-bezier(.2,.8,.3,1); --ease-out:cubic-bezier(.16,.84,.26,1);
  --gut:clamp(18px,4vw,56px);
  font-family:'Rubik',system-ui,sans-serif; color:var(--text); background:var(--bone);
  overflow-x:clip;
}
.yzp *,.yzp *::before,.yzp *::after{ box-sizing:border-box; }
.yzp img{ max-width:100%; display:block; }
.yzp a{ text-decoration:none; color:inherit; }
.yzp button{ font:inherit; cursor:pointer; }
.yzp-wrap{ max-width:1320px; margin-inline:auto; padding-inline:var(--gut); }
.yzp-sec{ padding-block:clamp(56px,7vw,110px); }
.yzp-sec--ink{ background:var(--ink); color:var(--soft); }
.yzp-sec--bone{ background:var(--bone); }
.yzp-sec--white{ background:#fff; }
.yzp h1,.yzp h2,.yzp h3{ font-family:'Rubik',sans-serif; font-weight:900; letter-spacing:-.035em; line-height:1.05; margin:0; color:var(--ink); }
.yzp-sec--ink h1,.yzp-sec--ink h2,.yzp-sec--ink h3{ color:#fff; }
.yzp-h1{ font-size:clamp(40px,6vw,88px); }
.yzp-h2{ font-size:clamp(28px,3.8vw,52px); margin-bottom:clamp(24px,3vw,44px)!important; }
.yzp-kick{ display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.08em; color:var(--green); }
.yzp-kick::before{ content:''; width:32px; height:2px; background:currentColor; }
.yzp-headrow{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.yzp-headrow .yzp-h2{ margin-bottom:clamp(24px,3vw,44px)!important; }

/* ---------- buttons ---------- */
.yzp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 26px; font-weight:700; font-size:15.5px; border:1.5px solid transparent; transition:background .2s,color .2s,border-color .2s,transform .25s var(--ease); white-space:nowrap; }
.yzp-btn:active{ transform:scale(.97); }
.yzp-btn--sm{ padding:10px 16px; font-size:14px; }
.yzp-btn--lg{ padding:18px 30px; font-size:17px; }
.yzp-btn--green{ background:var(--green); color:var(--ongreen)!important; border-color:var(--green); }
.yzp-btn--green:hover{ background:var(--green2); border-color:var(--green2); }
.yzp-btn--ink{ background:var(--ink); color:#fff!important; border-color:var(--ink); }
.yzp-btn--ink:hover{ background:var(--green); border-color:var(--green); color:var(--ongreen)!important; }
.yzp-btn--ghost{ color:#fff!important; border-color:rgba(255,255,255,.35); }
.yzp-btn--ghost:hover{ border-color:var(--green); color:var(--green)!important; }
.yzp-btn--ghost-dark{ color:var(--ink)!important; border-color:rgba(13,12,10,.3); }
.yzp-btn--ghost-dark:hover{ background:var(--ink); color:#fff!important; border-color:var(--ink); }
.yzp-icon-btn{ width:40px; height:40px; display:grid; place-items:center; border:1.5px solid var(--linel); color:var(--ink); transition:all .2s; flex:0 0 auto; }
.yzp-icon-btn:hover{ background:#25D366; border-color:#25D366; color:#fff; }
.yzp-link{ font-weight:700; color:#5E8C1E; }
.yzp-magnet{ will-change:transform; }

/* ---------- reveal motion ---------- */
.yzp-reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); }
.yzp-reveal.is-in{ opacity:1; transform:none; }
[data-yzp-split] .w{ display:inline-block; opacity:0; transform:translateY(.55em) rotate(2deg); transition:opacity .7s var(--ease-out),transform .8s var(--ease-out); transition-delay:calc(var(--d)*55ms); }
[data-yzp-split].is-in .w{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .yzp-reveal,[data-yzp-split] .w{ opacity:1!important; transform:none!important; transition:none!important; }
  .yzp-tick__t{ animation:none!important; }
}

/* ============================================================
   HOME — hero
   ============================================================ */
.yzp-hero{ position:relative; min-height:clamp(560px,92vh,940px); display:flex; align-items:flex-end; overflow:hidden; background:var(--ink); }
.yzp-hero__media{ position:absolute; inset:0; }
.yzp-hero__poster,.yzp-hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.yzp-hero__poster{ transform:scale(1.08); animation:yzpKen 22s ease-out forwards; }
.yzp-hero__video{ opacity:0; transition:opacity 1.2s ease; }
.yzp-hero__video.is-on{ opacity:1; }
@keyframes yzpKen{ to{ transform:scale(1); } }
.yzp-hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(to left,rgba(13,12,10,.92) 0%,rgba(13,12,10,.6) 48%,rgba(13,12,10,.15) 100%),linear-gradient(to top,rgba(13,12,10,.95) 0%,transparent 55%); }
.yzp-hero__in{ position:relative; z-index:2; width:100%; padding-block:140px clamp(64px,8vw,110px); }
.yzp-hero__title{ color:#fff!important; font-size:clamp(36px,5.6vw,84px)!important; max-width:16ch; margin-top:18px!important; line-height:1.02!important; }
.yzp-hero__sub{ margin:22px 0 0; font-size:clamp(16px,1.6vw,21px); font-weight:300; color:var(--soft); }
.yzp-search{ margin-top:34px; display:flex; max-width:560px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); transition:border-color .25s,background .25s; }
.yzp-search:focus-within{ border-color:var(--green); background:rgba(255,255,255,.12); }
.yzp-search input{ flex:1; background:transparent; border:0; outline:0; color:#fff; font:inherit; font-size:17px; padding:18px 20px; }
.yzp-search input::placeholder{ color:rgba(255,255,255,.55); }
.yzp-search button{ border:0; background:var(--green); color:var(--ongreen); width:60px; display:grid; place-items:center; }
.yzp-hero__acts{ margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
.yzp-hero__scroll{ position:absolute; z-index:3; inset-inline-start:50%; bottom:22px; width:26px; height:42px; border:2px solid rgba(255,255,255,.4); border-radius:14px; transform:translateX(50%); }
.yzp-hero__scroll span{ position:absolute; left:50%; top:8px; width:4px; height:8px; margin-left:-2px; border-radius:2px; background:var(--green); animation:yzpScroll 1.8s ease-in-out infinite; }
@keyframes yzpScroll{ 0%{ transform:translateY(0); opacity:1; } 80%{ transform:translateY(16px); opacity:0; } 100%{ opacity:0; } }

/* ticker */
.yzp-tick{ background:var(--green); overflow:hidden; padding:15px 0; }
.yzp-tick__t{ display:flex; width:max-content; animation:yzpTick 50s linear infinite; }
.yzp-tick:hover .yzp-tick__t{ animation-play-state:paused; }
.yzp-tick span{ font-weight:700; color:var(--ongreen); padding:0 22px; white-space:nowrap; }
.yzp-tick span::after{ content:''; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--ongreen); opacity:.45; margin-inline-start:22px; vertical-align:3px; }
@keyframes yzpTick{ to{ transform:translateX(-50%); } }

/* counters */
.yzp-stats{ background:var(--ink2); border-bottom:1px solid var(--line); }
.yzp-stats__in{ display:grid; grid-template-columns:repeat(4,1fr); }
.yzp-stats__in div{ padding:30px 0; text-align:center; border-inline-start:1px solid var(--line); }
.yzp-stats__in div:first-child{ border:0; }
.yzp-stats b{ display:block; font-size:clamp(30px,3.6vw,48px); font-weight:900; color:#fff; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.yzp-stats span{ display:block; margin-top:4px; color:var(--mute); font-size:14px; font-weight:500; }

/* ---------- category explorer (expanding panels) ---------- */
.yzp-explore{ display:flex; gap:6px; height:clamp(420px,62vh,620px); padding-inline:var(--gut); }
.yzp-panel{ position:relative; flex:1; min-width:0; overflow:hidden; transition:flex .7s var(--ease); background:var(--ink2); }
.yzp-panel.is-open{ flex:4.2; }
.yzp-panel img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-out),filter .6s; filter:grayscale(.35) brightness(.75); }
.yzp-panel.is-open img{ transform:scale(1.04); filter:none; }
.yzp-panel__shade{ position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,8,.92) 0%,rgba(10,9,8,.2) 55%,transparent 80%); }
.yzp-panel__label{ position:absolute; z-index:2; bottom:26px; inset-inline-start:50%; transform:translateX(50%) rotate(180deg); writing-mode:vertical-rl; color:#fff; font-weight:800; font-size:19px; letter-spacing:-.01em; white-space:nowrap; transition:opacity .35s; }
.yzp-panel.is-open .yzp-panel__label{ opacity:0; }
.yzp-panel__body{ position:absolute; z-index:2; inset-inline:0; bottom:0; padding:clamp(22px,2.6vw,38px); display:flex; flex-direction:column; gap:12px; opacity:0; transform:translateY(20px); transition:opacity .45s .1s,transform .55s .1s var(--ease-out); pointer-events:none; }
.yzp-panel.is-open .yzp-panel__body{ opacity:1; transform:none; }
.yzp-panel__name{ font-size:clamp(28px,3.2vw,46px); font-weight:900; color:#fff; letter-spacing:-.04em; }
.yzp-panel__count{ color:var(--soft); font-size:15px; } .yzp-panel__count b{ color:var(--green); font-size:20px; }
.yzp-panel__kids{ display:flex; flex-wrap:wrap; gap:8px; max-width:560px; }
.yzp-panel__kids span{ font-size:13.5px; font-weight:600; color:#fff; padding:7px 12px; border:1px solid rgba(255,255,255,.28); background:rgba(13,12,10,.35); backdrop-filter:blur(6px); }
.yzp-panel__go{ align-self:flex-start; width:52px; height:52px; display:grid; place-items:center; background:var(--green); color:var(--ongreen); font-size:22px; font-weight:900; }

/* ---------- rails (horizontal drag carousels) ---------- */
.yzp-rail{ display:grid; grid-auto-flow:column; grid-auto-columns:clamp(250px,24vw,320px); gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px var(--gut) 24px; scrollbar-width:none; cursor:grab; overscroll-behavior-x:contain; }
.yzp-rail::-webkit-scrollbar{ display:none; }
.yzp-rail.is-drag{ cursor:grabbing; scroll-snap-type:none; }
.yzp-rail.is-drag *{ pointer-events:none; }
.yzp-rail > *{ scroll-snap-align:start; }
.yzp-rail--cats{ grid-auto-columns:clamp(240px,22vw,300px); }
.yzp-rail-nav{ display:flex; gap:8px; }
.yzp-rail-nav button{ width:48px; height:48px; border:1.5px solid var(--linel); background:transparent; font-size:20px; color:var(--ink); transition:all .2s; }
.yzp-rail-nav button:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.yzp-rail-progress{ height:3px; background:var(--linel); position:relative; overflow:hidden; }
.yzp-rail-progress span{ position:absolute; inset-block:0; inset-inline-start:0; width:20%; background:var(--green); transition:width .2s linear; }

/* ---------- product card ---------- */
.yzp-card{ position:relative; background:#fff; display:flex; flex-direction:column; transition:transform .35s var(--ease),box-shadow .35s var(--ease); }
.yzp-card:hover{ transform:translateY(-8px); box-shadow:0 28px 46px -30px rgba(13,12,10,.55); }
.yzp-card__media{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; background:#fff; }
.yzp-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:14px; transition:opacity .5s,transform .8s var(--ease-out); }
.yzp-card__media img.is-b{ opacity:0; object-fit:cover; padding:0; }
.yzp-card:hover .yzp-card__media img.is-a{ transform:scale(1.06); }
.yzp-card:hover .yzp-card__media img.is-b{ opacity:1; }
.yzp-card:hover .yzp-card__media:has(.is-b) img.is-a{ opacity:0; }
.yzp-card__quick{ position:absolute; top:12px; inset-inline-start:12px; z-index:3; width:40px; height:40px; display:grid; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:var(--ink); box-shadow:0 4px 14px rgba(13,12,10,.18); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); opacity:0; transform:translateY(-6px); transition:all .25s var(--ease); }
.yzp-card:hover .yzp-card__quick,.yzp-card:focus-within .yzp-card__quick{ opacity:1; transform:none; }
.yzp-card__quick:hover{ background:var(--green); color:var(--ongreen); }
.yzp-card__body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1; border-top:1px solid var(--linel); }
.yzp-card__cat{ font-size:12px; font-weight:700; color:#6E8F22; letter-spacing:.02em; }
.yzp-card__title{ font-size:17px!important; letter-spacing:-.02em!important; line-height:1.25!important; }
.yzp-card__sd{ margin:0; font-size:14px; line-height:1.55; color:#6B645A; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.yzp-card__acts{ margin-top:auto; padding-top:8px; display:flex; gap:8px; align-items:center; }
.yzp-card__acts .yzp-btn{ flex:1; }
.yzp-noimg{ position:absolute; inset:0; background:repeating-linear-gradient(45deg,var(--bone2) 0 10px,var(--bone) 10px 20px); }

/* ---------- branches ---------- */
.yzp-branches__grid{ display:grid; grid-template-columns:minmax(300px,.85fr) 1.4fr; gap:clamp(16px,2vw,28px); align-items:stretch; }
.yzp-branches__list{ display:grid; gap:10px; align-content:start; }
.yzp-branch{ text-align:start; display:grid; gap:6px; padding:20px 22px; border:1px solid var(--line); background:transparent; color:var(--soft); transition:border-color .25s,background .25s; position:relative; }
.yzp-branch::before{ content:''; position:absolute; inset-block:0; inset-inline-start:0; width:3px; background:var(--green); transform:scaleY(0); transition:transform .35s var(--ease); }
.yzp-branch.is-on{ border-color:rgba(161,203,61,.6); background:var(--ink2); }
.yzp-branch.is-on::before{ transform:scaleY(1); }
.yzp-branch__name{ color:#fff; font-weight:800; font-size:19px; }
.yzp-branch__hours{ font-size:13.5px; }
.yzp-branch__status{ font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:7px; }
.yzp-branch__status::before{ content:''; width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 0 currentColor; animation:yzpPulse 2s infinite; }
.yzp-branch__status.is-open{ color:var(--green); } .yzp-branch__status.is-closed{ color:#E0765F; }
@keyframes yzpPulse{ 0%{ box-shadow:0 0 0 0 rgba(161,203,61,.6); } 70%{ box-shadow:0 0 0 8px rgba(161,203,61,0); } 100%{ box-shadow:0 0 0 0 rgba(161,203,61,0); } }
.yzp-branch__acts{ display:none; gap:8px; margin-top:8px; }
.yzp-branch.is-on .yzp-branch__acts{ display:flex; }
.yzp-branches__map{ min-height:420px; border:1px solid var(--line); overflow:hidden; }
.yzp-branches__map iframe{ width:100%; height:100%; min-height:420px; border:0; filter:grayscale(.25) contrast(1.05); transition:opacity .4s; }
.yzp-branches__map.is-loading iframe{ opacity:.25; }

/* ---------- shop icons ---------- */
.yzp-shop{ display:grid; grid-template-columns:repeat(8,1fr); gap:14px; }
.yzp-shop__item{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:22px 6px; background:#fff; transition:transform .3s var(--ease),box-shadow .3s; }
.yzp-shop__item:hover{ transform:translateY(-6px); box-shadow:0 20px 34px -24px rgba(13,12,10,.5); }
.yzp-shop__ic{ width:64px; height:64px; border-radius:50%; background:var(--green); display:grid; place-items:center; transition:background .25s,transform .4s var(--ease); }
.yzp-shop__item:hover .yzp-shop__ic{ background:var(--ink); transform:rotate(-8deg) scale(1.06); }
.yzp-shop__item:hover .yzp-shop__ic img{ filter:invert(1); }
.yzp-shop__ic img{ width:46%; height:46%; object-fit:contain; transition:filter .25s; }
.yzp-shop__t{ font-weight:700; color:var(--ink); font-size:15px; }

/* ============================================================
   CATEGORY
   ============================================================ */
.yzp-cathero{ background:var(--ink); color:var(--soft); padding-block:clamp(56px,7vw,110px) clamp(48px,6vw,90px); overflow:hidden; }
.yzp-cathero__in{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,72px); align-items:center; }
.yzp-crumbs{ font-size:13.5px; color:var(--mute); }
.yzp-crumbs a{ color:var(--green); }
.yzp-cathero__title{ color:#fff!important; font-size:clamp(44px,7vw,104px)!important; margin:14px 0 0!important; }
.yzp-cathero__lead{ margin:22px 0 0; font-size:clamp(16px,1.3vw,19px); line-height:1.75; font-weight:300; max-width:58ch; }
.yzp-cathero__meta{ margin-top:28px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.yzp-pill{ display:inline-flex; gap:6px; align-items:baseline; padding:10px 16px; border:1px solid var(--line); color:var(--soft); font-size:14px; }
.yzp-pill b{ color:var(--green); font-size:20px; font-weight:900; }
.yzp-cathero__collage{ position:relative; height:clamp(300px,36vw,500px); }
.yzp-collage__f{ position:absolute; margin:0; overflow:hidden; background:#fff; box-shadow:0 30px 60px -30px rgba(0,0,0,.8); transition:transform .2s linear; }
.yzp-collage__f img{ width:100%; height:100%; object-fit:cover; }
.yzp-collage__f--0{ inset-inline-end:0; top:0; width:68%; height:72%; z-index:1; }
.yzp-collage__f--1{ inset-inline-start:0; bottom:0; width:48%; height:52%; z-index:2; border:6px solid var(--ink); }
.yzp-collage__f--2{ inset-inline-end:8%; bottom:4%; width:30%; height:34%; z-index:3; border:6px solid var(--ink); }
.yzp-cathero__collage:has(.yzp-collage__f--0:only-child) .yzp-collage__f--0{ width:100%; height:100%; }

.yzp-subcats{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; padding-block:28px 6px; }
.yzp-subcat{ display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:12px; padding:10px 14px 10px 10px; background:#fff; border:1px solid var(--linel); transition:border-color .2s,transform .25s var(--ease); }
.yzp-subcat:hover{ border-color:var(--green); transform:translateY(-3px); }
.yzp-subcat__img{ position:relative; width:56px; height:56px; overflow:hidden; background:var(--bone2); }
.yzp-subcat__img img{ width:100%; height:100%; object-fit:cover; }
.yzp-subcat__name{ font-weight:700; color:var(--ink); font-size:14.5px; line-height:1.3; }
.yzp-subcat__count{ font-size:12px; font-weight:800; color:var(--ongreen); background:var(--green); padding:3px 8px; }

.yzp-catalog{ padding-bottom:clamp(56px,7vw,110px); }
.yzp-toolbar{ position:sticky; top:0; z-index:30; background:rgba(247,244,238,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--linel); margin-bottom:28px; }
.yzp-toolbar__in{ display:flex; gap:16px; align-items:center; justify-content:space-between; padding-block:14px; flex-wrap:wrap; }
.yzp-chips{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; flex:1 1 420px; }
.yzp-chips::-webkit-scrollbar{ display:none; }
.yzp-chip{ white-space:nowrap; padding:9px 14px; border:1.5px solid var(--linel); background:#fff; color:var(--ink); font-weight:600; font-size:14px; transition:all .2s; }
.yzp-chip i{ font-style:normal; font-size:12px; color:var(--mute); margin-inline-start:4px; }
.yzp-chip:hover{ border-color:var(--ink); }
.yzp-chip.is-on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.yzp-chip.is-on i{ color:var(--green); }
.yzp-toolbar__tools{ display:flex; gap:10px; align-items:center; }
.yzp-find{ display:flex; align-items:center; gap:8px; padding:0 12px; background:#fff; border:1.5px solid var(--linel); height:42px; color:var(--mute); }
.yzp-find:focus-within{ border-color:var(--green); }
.yzp-find input{ border:0; outline:0; background:transparent; font:inherit; width:170px; color:var(--ink); }
.yzp-seg{ display:flex; border:1.5px solid var(--linel); background:#fff; height:42px; }
.yzp-seg button{ border:0; background:transparent; padding:0 12px; color:var(--mute); font-weight:700; display:grid; place-items:center; }
.yzp-seg button.is-on{ background:var(--ink); color:#fff; }
.yzp-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.4vw,20px); }
.yzp-grid .yzp-card{ animation:yzpIn .6s var(--ease-out) both; animation-delay:calc(var(--n,0)*40ms); }
@keyframes yzpIn{ from{ opacity:0; transform:translateY(24px); } }
.yzp-grid.is-list{ grid-template-columns:1fr; }
.yzp-grid.is-list .yzp-card{ flex-direction:row; align-items:stretch; }
.yzp-grid.is-list .yzp-card__media{ width:200px; flex:0 0 200px; }
.yzp-grid.is-list .yzp-card__body{ border-top:0; border-inline-start:1px solid var(--linel); justify-content:center; }
.yzp-grid.is-list .yzp-card__sd{ -webkit-line-clamp:3; }
.yzp-grid.is-list .yzp-card__acts{ margin-top:6px; max-width:360px; }
.yzp-card.is-hidden{ display:none; }
.yzp-empty{ text-align:center; padding:60px 0; font-weight:700; color:var(--mute); }
.yzp-prose-wrap{ max-width:900px; }
.yzp-more summary{ cursor:pointer; list-style:none; font-size:clamp(22px,2.4vw,32px); font-weight:900; color:var(--ink); letter-spacing:-.03em; display:flex; justify-content:space-between; align-items:center; padding-bottom:16px; border-bottom:2px solid var(--ink); }
.yzp-more summary::after{ content:'+'; font-size:28px; color:#6E8F22; transition:transform .3s; }
.yzp-more[open] summary::after{ transform:rotate(45deg); }
.yzp-prose{ padding-top:22px; font-size:16.5px; line-height:1.85; font-weight:300; color:var(--text); }
.yzp-prose h2,.yzp-prose h3{ margin:1.4em 0 .5em!important; font-size:clamp(20px,2vw,26px)!important; }
.yzp-prose a{ color:#5E8C1E; text-decoration:underline; }

.yzp-catcard{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:var(--ink2); }
.yzp-catcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease-out); }
.yzp-catcard:hover img{ transform:scale(1.07); }
.yzp-catcard__shade{ position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,8,.9),transparent 60%); }
.yzp-catcard__name{ position:absolute; z-index:2; inset-inline:20px; bottom:46px; color:#fff; font-weight:900; font-size:22px; letter-spacing:-.03em; line-height:1.15; }
.yzp-catcard__count{ position:absolute; z-index:2; inset-inline:20px; bottom:20px; color:var(--green); font-weight:700; font-size:14px; }

/* ============================================================
   PRODUCT
   ============================================================ */
.yzp-pd{ background:#fff; padding-block:clamp(36px,5vw,80px); border-bottom:1px solid var(--linel); }
.yzp-pd__in{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4.5vw,80px); align-items:start; }
.yzp-gallery{ position:sticky; top:20px; }
.yzp-gallery__stage{ position:relative; aspect-ratio:1/1; overflow:hidden; background:#fff; cursor:zoom-in; border:1px solid var(--linel); }
.yzp-gallery__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity .45s,transform .15s linear; }
.yzp-gallery__img.is-on{ opacity:1; }
.yzp-gallery__stage.is-zoom .yzp-gallery__img.is-on{ transform:scale(2); }
.yzp-gallery__full{ position:absolute; top:14px; inset-inline-end:14px; z-index:2; width:42px; height:42px; display:grid; place-items:center; border:0; background:var(--green); color:var(--ongreen); }
.yzp-gallery__n{ position:absolute; bottom:14px; inset-inline-end:14px; z-index:2; background:rgba(13,12,10,.75); color:#fff; font-size:13px; padding:5px 10px; }
.yzp-gallery__thumbs{ margin-top:10px; display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:8px; }
.yzp-gallery__thumbs button{ padding:0; border:1.5px solid var(--linel); background:#fff; aspect-ratio:1/1; overflow:hidden; opacity:.6; transition:opacity .2s,border-color .2s; }
.yzp-gallery__thumbs button img{ width:100%; height:100%; object-fit:cover; }
.yzp-gallery__thumbs button.is-on,.yzp-gallery__thumbs button:hover{ opacity:1; border-color:var(--green); }
.yzp-chiplinks{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; }
.yzp-chiplinks a{ font-size:13px; font-weight:700; padding:6px 12px; background:var(--bone); color:var(--ink); transition:background .2s; }
.yzp-chiplinks a:hover{ background:var(--green); }
.yzp-pd__title{ font-size:clamp(34px,4.6vw,64px)!important; margin:14px 0 0!important; }
.yzp-pd__sd{ margin-top:18px; font-size:17px; line-height:1.75; font-weight:300; color:#5B5349; }
.yzp-pd__sd p{ margin:0 0 .6em; }
.yzp-specs{ margin:22px 0 0; border-top:1px solid var(--linel); }
.yzp-specs div{ display:grid; grid-template-columns:140px 1fr; gap:14px; padding:12px 0; border-bottom:1px solid var(--linel); font-size:15px; }
.yzp-specs dt{ font-weight:700; color:var(--ink); } .yzp-specs dd{ margin:0; color:#5B5349; }
.yzp-pd__ctas{ margin-top:28px; display:grid; gap:10px; }
.yzp-note{ margin:10px 0 0; font-size:13px; color:var(--mute); }
.yzp-facts{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:10px; }
.yzp-facts li{ display:flex; gap:12px; align-items:center; padding:14px 16px; background:var(--bone); font-weight:600; color:var(--ink); font-size:14.5px; }
.yzp-facts svg{ flex:0 0 auto; color:#6E8F22; }
.yzp-tags{ margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.yzp-tags span{ font-size:13px; color:var(--mute); }
.yzp-tabs__head{ display:flex; gap:4px; border-bottom:2px solid var(--linel); margin-bottom:26px; overflow-x:auto; }
.yzp-tabs__head button{ border:0; background:transparent; padding:16px 22px; font-size:17px; font-weight:800; color:var(--mute); position:relative; white-space:nowrap; }
.yzp-tabs__head button::after{ content:''; position:absolute; inset-inline:0; bottom:-2px; height:3px; background:var(--green); transform:scaleX(0); transition:transform .35s var(--ease); }
.yzp-tabs__head button.is-on{ color:var(--ink); } .yzp-tabs__head button.is-on::after{ transform:scaleX(1); }
.yzp-tabs__panel{ display:none; max-width:900px; } .yzp-tabs__panel.is-on{ display:block; animation:yzpIn .45s var(--ease-out); }
.yzp-blist{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.yzp-blist li{ display:grid; grid-template-columns:1fr auto; gap:4px 16px; align-items:center; padding:16px 18px; background:var(--bone); }
.yzp-blist b{ color:var(--ink); font-size:17px; } .yzp-blist span{ grid-column:1; font-size:14px; color:var(--mute); } .yzp-blist .yzp-btn{ grid-row:1/3; grid-column:2; }
.yzp-sticky{ position:fixed; z-index:90; inset-inline:0; bottom:0; background:rgba(13,12,10,.96); backdrop-filter:blur(10px); border-top:1px solid var(--line); transform:translateY(110%); transition:transform .45s var(--ease); }
.yzp-sticky.is-on{ transform:none; }
.yzp-sticky__in{ display:flex; align-items:center; gap:14px; padding-block:12px; }
.yzp-sticky__img{ width:48px; height:48px; object-fit:cover; background:#fff; }
.yzp-sticky__name{ color:#fff; font-size:16px; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yzp-lightbox{ position:fixed; inset:0; z-index:200; background:rgba(13,12,10,.96); display:grid; place-items:center; }
.yzp-lightbox[hidden]{ display:none; }
.yzp-lightbox img{ max-width:88vw; max-height:86vh; object-fit:contain; animation:yzpIn .35s var(--ease-out); }
.yzp-lightbox__x{ position:absolute; top:18px; inset-inline-end:22px; border:0; background:none; color:#fff; font-size:44px; line-height:1; }
.yzp-lightbox__nav{ position:absolute; top:50%; width:56px; height:56px; margin-top:-28px; border:1.5px solid rgba(255,255,255,.3); background:transparent; color:#fff; font-size:24px; }
.yzp-lightbox__nav.is-prev{ inset-inline-start:22px; } .yzp-lightbox__nav.is-next{ inset-inline-end:22px; }

/* quick-view modal */
.yzp-modal{ position:fixed; inset:0; z-index:150; display:grid; place-items:center; padding:20px; }
.yzp-modal[hidden]{ display:none; }
.yzp-modal__scrim{ position:absolute; inset:0; background:rgba(13,12,10,.75); backdrop-filter:blur(4px); animation:yzpFade .3s; }
@keyframes yzpFade{ from{ opacity:0; } }
.yzp-modal__box{ position:relative; width:min(980px,100%); max-height:90vh; overflow:auto; background:#fff; display:grid; grid-template-columns:1fr 1fr; animation:yzpPop .45s var(--ease-out); }
@keyframes yzpPop{ from{ opacity:0; transform:translateY(30px) scale(.97); } }
.yzp-modal__x{ position:absolute; top:10px; inset-inline-end:14px; z-index:2; border:0; background:none; font-size:36px; line-height:1; color:var(--ink); }
.yzp-modal__media{ background:#fff; padding:24px; border-inline-end:1px solid var(--linel); }
.yzp-modal__media > img{ width:100%; aspect-ratio:1/1; object-fit:contain; }
.yzp-modal__thumbs{ display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.yzp-modal__thumbs img{ width:58px; height:58px; object-fit:cover; border:1.5px solid var(--linel); cursor:pointer; opacity:.6; }
.yzp-modal__thumbs img.is-on,.yzp-modal__thumbs img:hover{ opacity:1; border-color:var(--green); }
.yzp-modal__info{ padding:clamp(24px,3vw,40px); display:flex; flex-direction:column; gap:16px; }
.yzp-modal__title{ font-size:clamp(24px,2.6vw,34px)!important; }
.yzp-modal__sd{ margin:0; font-size:15.5px; line-height:1.75; color:#5B5349; font-weight:300; }
.yzp-modal__acts{ display:grid; gap:10px; margin-top:auto; }

/* hub */
.yzp-hub-head{ padding-block:clamp(56px,7vw,100px); }
.yzp-hub-head .yzp-h1{ color:#fff; margin-top:14px; }
.yzp-hub-links{ margin-top:28px; display:flex; gap:12px; flex-wrap:wrap; }
.yzp-hub{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.yzp-hub__kids{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.yzp-hub__kids a{ font-size:13px; padding:5px 10px; background:#fff; border:1px solid var(--linel); color:var(--ink); }
.yzp-hub__kids a:hover{ border-color:var(--green); }
.yzp-hub__flag{ position:absolute; z-index:3; top:12px; inset-inline-start:12px; font-size:11px; font-weight:700; padding:4px 8px; background:var(--green); color:var(--ongreen); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .yzp-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .yzp-shop{ grid-template-columns:repeat(4,1fr); }
  .yzp-cathero__in,.yzp-pd__in,.yzp-branches__grid{ grid-template-columns:1fr; }
  .yzp-gallery{ position:static; }
  .yzp-explore{ height:auto; display:grid; grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .yzp-explore::-webkit-scrollbar{ display:none; }
  .yzp-panel,.yzp-panel.is-open{ flex:none; aspect-ratio:3/4; scroll-snap-align:center; }
  .yzp-panel img{ filter:none; }
  .yzp-panel__label{ display:none; }
  .yzp-panel__body{ opacity:1; transform:none; }
}
@media (max-width:767px){
  .yzp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yzp-grid.is-list .yzp-card__media{ width:120px; flex-basis:120px; }
  .yzp-stats__in{ grid-template-columns:repeat(2,1fr); }
  .yzp-stats__in div:nth-child(3){ border:0; }
  .yzp-stats__in div{ border-top:1px solid var(--line); }
  .yzp-card__sd{ display:none; }
  .yzp-card__body{ padding:12px; }
  .yzp-card__title{ font-size:15px!important; }
  .yzp-card__quick{ opacity:1; transform:none; width:32px; height:32px; top:8px; inset-inline-start:8px; }
  .yzp-card__quick svg{ width:16px; height:16px; }
  .yzp-toolbar__tools{ width:100%; }
  .yzp-find{ flex:1; } .yzp-find input{ width:100%; }
  .yzp-modal__box{ grid-template-columns:1fr; }
  .yzp-modal__media{ border:0; border-bottom:1px solid var(--linel); }
  .yzp-sticky__img,.yzp-sticky__name{ display:none; }
  .yzp-sticky__in .yzp-btn{ flex:1; }
  .yzp-hero__acts .yzp-btn{ flex:1 1 100%; }
  .yzp-rail{ grid-auto-columns:72%; }
  .yzp-branches__map,.yzp-branches__map iframe{ min-height:300px; }
}

/* ---------- fixes ---------- */
/* The site-wide rule sets phone links in monospace, which has no Hebrew. */
.yzp a[href^="tel:"]{ font-family:'Rubik',sans-serif!important; letter-spacing:0!important; }
.yzp a[href^="tel:"][dir="ltr"]{ font-variant-numeric:tabular-nums; }

/* Collapsed explorer panels: horizontal label at the bottom instead of
   rotated vertical text, which clipped. */
.yzp-panel__label{
  writing-mode:horizontal-tb; transform:none; inset-inline:10px; inset-inline-start:10px;
  bottom:22px; text-align:center; white-space:normal; font-size:15px; line-height:1.25;
}

/* Imagify's WebP <picture> mode moves the img's class onto <picture>.
   Every rule that keyed on img.<class> is restated to work whichever
   element carries the class. */
.yzp picture{ display:block; }
.yzp-gallery__stage > .yzp-gallery__img{ position:absolute; inset:0; width:100%; height:100%; }
.yzp-gallery__stage > .yzp-gallery__img img{ width:100%; height:100%; object-fit:contain; }
.yzp-card__media > .is-a,.yzp-card__media > .is-b{ position:absolute; inset:0; width:100%; height:100%; transition:opacity .5s,transform .8s var(--ease-out); }
.yzp-card__media > picture img{ position:static!important; width:100%; height:100%; padding:14px; object-fit:contain; }
.yzp-card__media > picture.is-b img{ object-fit:cover; padding:0; }
.yzp-card__media > .is-b{ opacity:0; }
.yzp-card:hover .yzp-card__media > .is-b{ opacity:1; }
.yzp-card:hover .yzp-card__media > .is-a{ transform:scale(1.06); }
.yzp-card:hover .yzp-card__media:has(> .is-b) > .is-a{ opacity:0; }
.yzp-catcard > picture,.yzp-panel > picture{ position:absolute; inset:0; }
.yzp-catcard > picture img,.yzp-panel > picture img{ width:100%; height:100%; object-fit:cover; }
.yzp-collage__f picture,.yzp-subcat__img picture{ width:100%; height:100%; }
.yzp-collage__f picture img,.yzp-subcat__img picture img{ width:100%; height:100%; object-fit:cover; }

/* Product photos are mostly landscape on white: fill the stage. */
.yzp-gallery__stage{ aspect-ratio:4/3; }
.yzp-gallery__stage > .yzp-gallery__img img{ object-fit:cover; }
/* Description: images and any legacy markup stay inside the column. */
.yzp-prose img{ height:auto; margin:1em 0; }
.yzp-prose table{ width:100%; border-collapse:collapse; }
.yzp-prose td,.yzp-prose th{ border:1px solid var(--linel); padding:8px 12px; }
.yzp-prose .elementor-section,.yzp-prose .elementor-container,.yzp-prose .elementor-column{ display:block!important; width:auto!important; }

/* Mobile: hero photo stays behind the text (parallax transform made the
   media box drift out from under it), and long galleries swipe in one row. */
@media (max-width:1024px){
  .yzp-hero__media{ transform:none!important; }
  .yzp-hero__in{ padding-top:clamp(120px,30vh,220px); }
  .yzp-gallery__thumbs{ display:flex; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
  .yzp-gallery__thumbs::-webkit-scrollbar{ display:none; }
  .yzp-gallery__thumbs button{ flex:0 0 72px; scroll-snap-align:start; }
}

/* ============================================================
   CATEGORY SCENE — products in use, hotspots open quick view.
   Desktop: tilts gently in 3D with the pointer, dots float
   above the photo. Touch: the photo is wider than the screen
   and swipes sideways; labels always shown.
   ============================================================ */
.yzp-scene{ background:var(--ink); padding-block:clamp(36px,5vw,72px); overflow:hidden; }
.yzp-scene .yzp-kick{ margin-bottom:18px; }
.yzp-scene__view{ perspective:1800px; padding-inline:var(--gut); }
.yzp-scene__stage{
  position:relative; max-width:1500px; margin-inline:auto; aspect-ratio:2752/1536;
  transform-style:preserve-3d;
  transform:rotateX(calc(var(--ry,0) * 1deg)) rotateY(calc(var(--rx,0) * 1deg)) scale(var(--sc,.94));
  opacity:var(--op,0); transition:transform .9s var(--ease-out),opacity .9s var(--ease-out);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.8);
}
.yzp-scene.is-in .yzp-scene__stage{ --sc:1; --op:1; }
.yzp-scene.is-tilting .yzp-scene__stage{ transition:transform .25s ease-out,opacity .9s var(--ease-out); }
.yzp-scene__stage img{ width:100%; height:100%; object-fit:cover; }
.yzp-spot{
  position:absolute; border:0; background:none; padding:0;
  transform:translate(-50%,-50%) translateZ(60px) scale(.3); opacity:0;
  transition:opacity .5s calc(.5s + var(--i) * .09s) var(--ease-out),transform .6s calc(.5s + var(--i) * .09s) var(--ease-out);
}
.yzp-scene.is-in .yzp-spot{ opacity:1; transform:translate(-50%,-50%) translateZ(60px) scale(1); }
.yzp-spot__dot{ display:block; width:22px; height:22px; border-radius:50%; background:var(--green); box-shadow:0 0 0 6px rgba(161,203,61,.28),0 6px 18px rgba(0,0,0,.45); position:relative; transition:transform .2s; }
.yzp-spot__dot::before,.yzp-spot__dot::after{ content:''; position:absolute; inset:0; border-radius:50%; border:2px solid var(--green); animation:yzpRing 2.4s ease-out infinite; animation-play-state:paused; }
.yzp-spot__dot::after{ animation-delay:1.2s; }
.yzp-scene.is-in .yzp-spot__dot::before,.yzp-scene.is-in .yzp-spot__dot::after{ animation-play-state:running; }
@keyframes yzpRing{ from{ transform:scale(1); opacity:.9; } to{ transform:scale(2.6); opacity:0; } }
.yzp-spot:hover .yzp-spot__dot,.yzp-spot:focus-visible .yzp-spot__dot{ transform:scale(1.2); }
.yzp-spot__tag{ position:absolute; top:50%; left:34px; transform:translateY(-50%); white-space:nowrap; background:rgba(13,12,10,.88); color:#fff; font-weight:700; font-size:14px; padding:7px 12px; opacity:0; transition:opacity .25s; pointer-events:none; }
.yzp-spot:hover .yzp-spot__tag,.yzp-spot:focus-visible .yzp-spot__tag{ opacity:1; }
.yzp-spot--flip .yzp-spot__tag{ left:auto; right:34px; }
@media (max-width:767px), (hover:none){
  .yzp-scene__view{ overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding-inline:0; perspective:none; }
  .yzp-scene__view::-webkit-scrollbar{ display:none; }
  .yzp-scene__stage{ height:min(68svh,560px); width:auto; max-width:none; margin:0; transform:none; opacity:1; box-shadow:none; }
  .yzp-spot{ transform:translate(-50%,-50%) scale(.3); }
  .yzp-scene.is-in .yzp-spot{ transform:translate(-50%,-50%); }
  .yzp-spot__tag{ opacity:1; font-size:13px; padding:6px 10px; }
}
.yzp-scene__frame{ position:relative; }
.yzp-scene__hint{ display:none; }
@media (max-width:767px), (hover:none){
  .yzp-scene__hint{
    display:inline-flex; align-items:center; gap:8px; position:absolute; left:50%; bottom:16px; z-index:5;
    transform:translateX(-50%); padding:9px 16px; border-radius:999px; pointer-events:none;
    background:rgba(13,12,10,.82); color:#fff; font-size:13px; font-weight:700; white-space:nowrap;
    -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:opacity .4s, transform .4s;
  }
  .yzp-scene__hint svg{ color:var(--green); animation:yzpSwipe 1.6s ease-in-out infinite; }
  .yzp-scene.is-swiped .yzp-scene__hint{ opacity:0; transform:translateX(-50%) translateY(8px); }
}
@keyframes yzpSwipe{ 0%,100%{ transform:translateX(-4px); } 50%{ transform:translateX(4px); } }
@media (prefers-reduced-motion:reduce){
  .yzp-scene__hint svg{ animation:none; }
  .yzp-scene__stage,.yzp-spot{ transition:none; }
  .yzp-spot__dot::before,.yzp-spot__dot::after{ animation:none; }
}

/* ============================================================
   CATEGORY HERO — full-bleed photo, revealed plank by plank
   ============================================================ */
.yzp-cathero--full{ position:relative; min-height:min(82svh,760px); display:flex; align-items:flex-end; padding-block:clamp(120px,14vw,200px) clamp(48px,6vw,84px); isolation:isolate; }
.yzp-cathero__bg{ position:absolute; inset:-6% 0; z-index:-2; }
.yzp-cathero__bg img{ width:100%; height:100%; object-fit:cover; animation:yzpHeroZoom 2.4s var(--ease-out) both; }
@keyframes yzpHeroZoom{ from{ transform:scale(1.12); } to{ transform:none; } }
.yzp-cathero--full::before{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top,rgba(10,9,8,.94) 0%,rgba(10,9,8,.62) 42%,rgba(10,9,8,.18) 75%,rgba(10,9,8,.35) 100%),linear-gradient(to left,rgba(10,9,8,.55),transparent 60%); }
.yzp-cathero__planks{ position:absolute; inset:0; z-index:0; display:flex; flex-direction:column; pointer-events:none; }
.yzp-cathero__planks i{ flex:1; background:linear-gradient(180deg,#3a2414,#26170d); border-bottom:1px solid rgba(0,0,0,.45); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); transform-origin:left; animation:yzpPlank .9s calc(.15s + var(--k) * .08s) cubic-bezier(.7,0,.2,1) both; }
.yzp-cathero__planks i:nth-child(even){ background:linear-gradient(180deg,#43291a,#2c1b10); animation-delay:calc(.2s + var(--k) * .08s); }
.yzp-cathero__planks i::after{ content:''; display:block; height:100%; width:3px; margin-inline-start:auto; background:var(--green); opacity:.9; }
@keyframes yzpPlank{ from{ transform:translateX(0); } to{ transform:translateX(-105%); } }
.yzp-cathero--full .yzp-cathero__in{ display:block; position:relative; z-index:1; }
.yzp-cathero--full .yzp-cathero__text{ max-width:760px; }
.yzp-cathero--full .yzp-cathero__title{ font-size:clamp(56px,9vw,148px)!important; line-height:.92!important; }
.yzp-cathero--full .yzp-cathero__lead{ color:#E6E0D6; }
.yzp-cathero--full .yzp-pill{ background:rgba(13,12,10,.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.yzp-cathero__down{ position:absolute; z-index:2; left:var(--gut); bottom:clamp(40px,5vw,72px); width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); color:#fff!important; font-size:22px; animation:yzpBob 2.2s ease-in-out infinite; }
.yzp-cathero__down:hover{ background:var(--green); color:var(--ongreen)!important; border-color:var(--green); }
@keyframes yzpBob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } }

/* ============================================================
   PRODUCT — description as cards, focused scene, pairs rail
   ============================================================ */
.yzp-pdesc__intro{ max-width:72ch; margin-bottom:34px; }
.yzp-pdesc{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; }
.yzp-pdesc__card{ position:relative; background:var(--bone); padding:clamp(24px,2.6vw,36px); border-top:4px solid var(--green); }
.yzp-pdesc__card:nth-child(2n){ background:var(--ink); color:var(--soft); border-top-color:var(--wood,#985C28); }
.yzp-pdesc__card:nth-child(2n) h3{ color:#fff!important; }
.yzp-pdesc__card h3{ font-size:clamp(20px,1.8vw,26px)!important; margin:0 0 18px!important; }
.yzp-pdesc__card ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.yzp-pdesc__card li{ position:relative; padding-inline-start:30px; font-size:16.5px; line-height:1.5; }
.yzp-pdesc__card li::before{ content:''; position:absolute; inset-inline-start:0; top:.2em; width:20px; height:20px; border-radius:50%; background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121607' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat; }

.yzp-scene--focus .yzp-spot:not(.is-active){ opacity:.55; }
.yzp-scene--focus.is-in .yzp-spot:not(.is-active){ opacity:.55; }
.yzp-scene--focus .yzp-spot:not(.is-active) .yzp-spot__dot{ background:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.25),0 6px 18px rgba(0,0,0,.45); }
.yzp-scene--focus .yzp-spot:not(.is-active) .yzp-spot__dot::before,.yzp-scene--focus .yzp-spot:not(.is-active) .yzp-spot__dot::after{ display:none; }
.yzp-scene--focus .yzp-spot:hover{ opacity:1!important; }
.yzp-scene--focus .yzp-spot.is-active .yzp-spot__dot{ width:30px; height:30px; }
.yzp-scene--focus .yzp-spot.is-active .yzp-spot__tag{ opacity:1; background:var(--green); color:var(--ongreen); }
.yzp-scene--focus a.yzp-spot{ color:inherit; }

.yzp-pairs .yzp-h2{ color:#fff!important; }
.yzp-pairs .yzp-card{ background:#fff; }

/* product hero entrance */
.yzp-pd .yzp-gallery__stage{ animation:yzpClipIn 1.1s cubic-bezier(.7,0,.2,1) both; }
@keyframes yzpClipIn{ from{ clip-path:inset(0 0 0 100%); } to{ clip-path:inset(0); } }
.yzp-pd__info > *{ animation:yzpRise .7s var(--ease-out) both; }
.yzp-pd__info > *:nth-child(2){ animation-delay:.08s; } .yzp-pd__info > *:nth-child(3){ animation-delay:.16s; }
.yzp-pd__info > *:nth-child(4){ animation-delay:.24s; } .yzp-pd__info > *:nth-child(5){ animation-delay:.32s; }
.yzp-pd__info > *:nth-child(n+6){ animation-delay:.4s; }
@keyframes yzpRise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }

@media (max-width:767px){
  .yzp-cathero--full{ min-height:78svh; padding-top:120px; }
  .yzp-cathero__down{ display:none; }
  .yzp-pdesc{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .yzp-cathero__planks{ display:none; }
  .yzp-cathero__bg img,.yzp-pd .yzp-gallery__stage,.yzp-pd__info > *{ animation:none; }
}

/* ============================================================
   CATEGORY SCENE HERO — pinned full-width photo:
   name/intro first, then the dots, then ~2 screens of hold.
   ============================================================ */
.yzp-schero{ position:relative; height:calc(100svh + 240vh); background:var(--ink); }
.yzp-schero__pin{ position:sticky; top:var(--hdr,0px); height:calc(100svh - var(--hdr,0px)); overflow:hidden; isolation:isolate; }
.yzp-schero__view{ position:absolute; inset:0; overflow:hidden; }
.yzp-schero__stage{ position:absolute; left:50%; top:50%; width:max(100%, calc((100svh - var(--hdr,0px)) * 1.7917)); aspect-ratio:2752/1536; transform:translate(-50%,-50%) scale(calc(1 + .08 * (1 - var(--sp,0)))); }
.yzp-schero__stage img{ width:100%; height:100%; display:block; }
.yzp-schero__shade{ position:absolute; inset:0; pointer-events:none; opacity:calc(1 - var(--sp,0) * .85); background:linear-gradient(to top,rgba(10,9,8,.94) 0%,rgba(10,9,8,.6) 45%,rgba(10,9,8,.2) 80%),linear-gradient(to left,rgba(10,9,8,.55),transparent 60%); }
.yzp-schero__planks{ position:absolute; inset:0; display:flex; flex-direction:column; pointer-events:none; z-index:3; }
.yzp-schero__planks i{ flex:1; background:linear-gradient(180deg,#3a2414,#26170d); border-bottom:1px solid rgba(0,0,0,.45); animation:yzpPlank .9s calc(.15s + var(--k) * .08s) cubic-bezier(.7,0,.2,1) both; }
.yzp-schero__planks i:nth-child(even){ background:linear-gradient(180deg,#43291a,#2c1b10); }
.yzp-schero__planks i::after{ content:''; display:block; height:100%; width:3px; margin-inline-start:auto; background:var(--green); }
.yzp-schero__text{ position:absolute; inset-inline:0; bottom:clamp(40px,7vh,90px); z-index:2; color:var(--soft); opacity:calc(1 - var(--tx,0)); transform:translateY(calc(var(--tx,0) * -40px)); }
.yzp-schero__text .yzp-cathero__text{ max-width:760px; }
.yzp-schero__text .yzp-cathero__title{ color:#fff!important; font-size:clamp(56px,9vw,148px)!important; line-height:.92!important; margin:14px 0 0!important; }
.yzp-schero__text .yzp-cathero__lead{ margin:22px 0 0; color:#E6E0D6; font-size:clamp(16px,1.3vw,19px); line-height:1.7; max-width:58ch; }
.yzp-schero__text .yzp-cathero__meta{ margin-top:26px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.yzp-schero__text .yzp-pill{ background:rgba(13,12,10,.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.yzp-schero.is-dots .yzp-schero__text{ pointer-events:none; visibility:hidden; }
.yzp-schero__kick{ position:absolute; z-index:2; top:22px; right:var(--gut); padding:8px 14px; background:rgba(13,12,10,.78); color:#fff; font-weight:700; font-size:14px; opacity:0; transform:translateY(-8px); transition:opacity .4s,transform .4s; }
.yzp-schero.is-dots .yzp-schero__kick{ opacity:1; transform:none; }
.yzp-schero .yzp-spot{ transform:translate(-50%,-50%) scale(.3); opacity:0; pointer-events:none; transition:opacity .45s calc(var(--i) * .07s) var(--ease-out),transform .55s calc(var(--i) * .07s) var(--ease-out); }
.yzp-schero.is-dots .yzp-spot{ opacity:1; transform:translate(-50%,-50%); pointer-events:auto; }
.yzp-schero .yzp-spot__dot::before,.yzp-schero .yzp-spot__dot::after{ animation-play-state:paused; }
.yzp-schero.is-dots .yzp-spot__dot::before,.yzp-schero.is-dots .yzp-spot__dot::after{ animation-play-state:running; }
.yzp-schero__bar{ position:absolute; z-index:2; inset-inline:0; bottom:0; height:4px; background:rgba(255,255,255,.15); }
.yzp-schero__bar span{ display:block; height:100%; background:var(--green); transform:scaleX(0); transform-origin:right; }
.yzp-schero__hint{ display:none!important; }

@media (max-width:767px), (hover:none){
  .yzp-schero__view{ overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; pointer-events:none; }
  .yzp-schero.is-dots .yzp-schero__view{ pointer-events:auto; }
  .yzp-schero__view::-webkit-scrollbar{ display:none; }
  .yzp-schero__stage{ position:relative; left:auto; top:auto; height:100%; width:auto; transform:none; }
  .yzp-schero .yzp-spot__tag{ opacity:1; font-size:13px; padding:6px 10px; }
  .yzp-schero.is-dots .yzp-schero__hint{ display:inline-flex!important; }
  .yzp-schero.is-swiped .yzp-schero__hint{ opacity:0; }
  .yzp-schero__text .yzp-cathero__title{ font-size:clamp(48px,14vw,72px)!important; }
}
@media (prefers-reduced-motion:reduce){ .yzp-schero__planks{ display:none; } }

html.yzp-pin, html.yzp-pin body{ overflow:visible!important; }
/* product page: the product's place in the scene, pinned for ~2 screens */
.yzp-schero--focus{ height:calc(100svh + 160vh); }
.yzp-schero--focus .yzp-schero__shade{ opacity:0; }
.yzp-schero--focus .yzp-schero__stage{ transform:translate(-50%,-50%); }
.yzp-schero--focus .yzp-spot:not(.is-active){ opacity:.6!important; }
.yzp-schero--focus .yzp-spot:not(.is-active) .yzp-spot__dot{ background:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.25),0 6px 18px rgba(0,0,0,.45); }
.yzp-schero--focus .yzp-spot:not(.is-active) .yzp-spot__dot::before,.yzp-schero--focus .yzp-spot:not(.is-active) .yzp-spot__dot::after{ display:none; }
.yzp-schero--focus .yzp-spot:hover{ opacity:1!important; }
.yzp-schero--focus .yzp-spot.is-active .yzp-spot__dot{ width:32px; height:32px; }
.yzp-schero--focus .yzp-spot.is-active .yzp-spot__tag{ opacity:1; background:var(--green); color:var(--ongreen); font-size:16px; }
.yzp-schero--focus a.yzp-spot{ color:inherit; }
.yzp-schero--focus .yzp-schero__kick{ font-size:16px; padding:10px 16px; }
@media (max-width:767px), (hover:none){ .yzp-schero--focus .yzp-schero__stage{ transform:none; } }
html.yzp-scene-pinned .yzp-sticky{ transform:translateY(110%)!important; }
.yzp-schero__kick{ right:auto; left:calc(var(--gut) + 110px); }
@media (max-width:1024px){ .yzp-schero__kick{ left:var(--gut); top:16px; } }

/* live-template content: photo strips + video */
.yzp-strip .yzp-h2{ margin-bottom:22px!important; }
.yzp-strip__rail{ grid-auto-columns:clamp(240px,26vw,380px); }
.yzp-strip__i{ display:block; aspect-ratio:4/3; overflow:hidden; background:var(--bone); }
.yzp-strip__i img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.yzp-strip__i:hover img{ transform:scale(1.05); }
.yzp-video__box{ position:relative; aspect-ratio:16/9; max-width:1100px; margin-inline:auto; background:#000; box-shadow:0 30px 70px -30px rgba(0,0,0,.5); }
.yzp-video__box iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
@media (max-width:767px){ .yzp-strip__rail{ grid-auto-columns:78%; } }

/* product page — category photo pinned with the product on it (non-scene products) */
.yzp-schero--banner{ height:calc(100svh + 120vh); }
.yzp-schero__stage--fill{ position:absolute!important; inset:0; width:100%!important; height:100%!important; left:0!important; top:0!important; transform:none!important; aspect-ratio:auto!important; }
.yzp-schero__stage--fill img{ object-fit:cover; }
.yzp-schero--banner .yzp-schero__view{ overflow:hidden!important; }
.yzp-schero--banner .yzp-schero__view::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,8,.55),transparent 50%); }
.yzp-schero__prod{ position:absolute; z-index:2; right:var(--gut); bottom:clamp(30px,6vh,70px); display:flex; align-items:center; gap:16px; padding:14px 18px 14px 14px; background:rgba(255,255,255,.95); box-shadow:0 30px 60px -20px rgba(0,0,0,.5); max-width:min(560px,calc(100% - 2 * var(--gut))); animation:yzpRise .7s var(--ease-out) both; }
.yzp-schero__prod img{ width:84px; height:84px; object-fit:contain; flex:none; background:#fff; }
.yzp-schero__prod b{ font-size:clamp(18px,1.6vw,24px); font-weight:900; color:var(--ink); line-height:1.15; flex:1; }
@media (max-width:767px){
  .yzp-schero__prod{ left:var(--gut); right:var(--gut); flex-wrap:wrap; padding:12px; gap:12px; }
  .yzp-schero__prod img{ width:64px; height:64px; }
  .yzp-schero__prod .yzp-btn{ width:100%; justify-content:center; }
}
.yzp-pdesc__card .yzp-prose p:last-child{ margin-bottom:0; }

.yzp-schero__pin{ -webkit-transform:translateZ(0); transform:translateZ(0); -webkit-backface-visibility:hidden; backface-visibility:hidden; }

/* touch: text/shade switch with a transition instead of following the finger */
html.yz-touch .yzp-schero__text{ transition:opacity .6s ease,transform .6s ease; }
html.yz-touch .yzp-schero__shade{ transition:opacity .6s ease; }
html.yz-touch .yzp-schero__bar{ display:none; }

/* iPhone trembling: Safari positions a sticky section on its fast scrolling
   path only when NO ancestor clips overflow. So nothing above the pinned
   sections clips (html, body, main); every OTHER section clips itself so the
   page still cannot scroll sideways. */
html.yz3-page main.yzp, html.yzp-pin main.yzp{ overflow:visible!important; }
html.yz3-page main.yzp > :not(.yz3-hero):not(.yz3-mani):not(.yz3-jrny):not(.yz3-stage),
html.yzp-pin main.yzp > :not(.yzp-schero){ overflow-x:clip; }
html.yz3-page .yz3-hero,html.yz3-page .yz3-mani,html.yz3-page .yz3-jrny,html.yz3-page .yz3-stage,.yzp-schero{ overflow:visible; }

/* touch: snap stops inside pinned sections (see addSnaps) */
html.yz-touch{ scroll-snap-type:y proximity; scroll-behavior:auto!important; }
.yz-snap{ position:absolute; left:0; width:1px; height:1px; pointer-events:none; visibility:hidden;
  scroll-snap-align:start; scroll-snap-stop:always; scroll-margin-top:var(--hdr,0px); }

/* Popups must sit above the pinned site header (z-index 999) and the floating
   buttons; the close button stays visible at the top of the box while it scrolls. */
.yzp-modal,.yzp-lightbox{ z-index:100000; }
.yzp-modal{ padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
.yzp-modal__box{ max-height:calc(100svh - 32px); }
.yzp-modal__x{ position:sticky; top:10px; float:inline-end; margin:10px 10px -54px auto; width:44px; height:44px; display:grid; place-items:center;
  border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(13,12,10,.25); font-size:30px; grid-column:1/-1; z-index:3; }
@media (max-width:767px){ .yzp-modal__box{ display:block; } }
html.yzp-modal-open .elementor-element-34952d5{ visibility:hidden; }
/* theme button padding pushed the eye off-centre */
.yzp .yzp-card__quick{ padding:0!important; display:grid!important; place-items:center; line-height:1; min-width:0; min-height:0; }
.yzp .yzp-card__quick svg{ margin:0; }
