/* YourFlowers theme — storefront skin built to the owner's mockup (19 Oct 2026).
   Loaded after store.css and the brand colours; html:root outranks both.
   Palette: cream page, warm paper, ink, muted taupe, blush band, deep green for the footer. */

/* ── VARIABLES ── */
html:root{
  --zy-cream:#F7F3EE;
  --zy-paper:#FFFDFA;
  --zy-ink:#2B2824;
  --zy-muted:#7E7368;
  --zy-line:#E4DBD1;
  --zy-blush:#EFDFD4;
  --zy-blush-2:#DFC3B2;
  --zy-green:#343A2E;
  --zy-green-2:#2B3027;
  --zy-serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --zy-sans:"Albert Sans","Helvetica Neue",Arial,sans-serif;
  --zy-gutter:clamp(18px,3.4vw,44px);

  /* template tokens */
  --bar-bg:rgba(255,253,250,.96);
  --sheet-bg:#FFFDFA;
  --ink:#2B2824;--ink-soft:rgba(43,40,36,.82);--ink-big:#2B2824;--ink-dim:#7E7368;
  --curtain:rgba(43,40,36,.22);
  --hairline:#E4DBD1;--frame:#E4DBD1;
  --focus:rgba(52,58,46,.7);
  --accent:#2B2824;--accent-hover:#46413B;--accent-deep:#2B2824;--accent-tint:#EFDFD4;--accent-ink:#2B2824;
  color-scheme:light;
}

/* ── BASE ── */
html body{font-family:var(--zy-sans);background:var(--zy-cream);color:var(--zy-ink);-webkit-font-smoothing:antialiased}
html body :focus-visible{outline:2px solid var(--zy-green);outline-offset:3px;border-radius:2px}
html body :is(.gn-big a,.gn-searchbar input,.gn-bag-title,.gn-chip-title,.gn-m-list a,.gn-m-groups .big a,.ct-head h1,.ct-h2,.ct-usp-item h3,.c2-head h1,.c2-name,.pd h1,.bg h1,.hero h1){
  font-family:var(--zy-serif);font-weight:500;letter-spacing:0
}
html body :is(.gn-link,.gn-mini a,.gn-col h3,.c2-chip,.ct-chip,.gn-chip,.pd-opt select,.pd-opt input,.c2-sort select,.bg-qty,.bg-email){font-family:var(--zy-sans)}
.zy-ico{width:28px;height:28px;flex:none;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}

/* ── NAVBAR ── */
.gn-theme{display:none!important}
html body .gn-bar{border-bottom:1px solid var(--zy-line)}
html body .gn-link{color:var(--zy-ink);opacity:.82;font-size:12.5px;letter-spacing:.01em}
html body .gn-link:hover{opacity:1}
.zy-wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:1;color:var(--zy-ink);white-space:nowrap}
.zy-wordmark b{font-family:var(--zy-serif);font-weight:600;font-size:18px;letter-spacing:.16em;text-transform:uppercase}
.zy-wordmark small{margin-top:3px;font-family:var(--zy-sans);font-size:7.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--zy-muted)}
html body .gn-burger .l1,html body .gn-burger .l2{background:var(--zy-ink)}
html body .gn-big a:hover,html body .gn-mini a:hover{color:var(--zy-muted)}
html body .gn-chip{border-color:var(--zy-line);background:transparent;color:var(--zy-ink)}
html body .gn-chip-fill{background:var(--zy-ink);border-color:var(--zy-ink);color:var(--zy-paper)}
html body .gn-bagcount{background:var(--zy-green)}
html body .gn-bagbtn{border-radius:2px;background:var(--zy-ink)}

/* ── STORE PAGES (category, product, bag) ── */
html body .ct-band{background:var(--zy-blush)}
html body .ct-card,html body .c2-card{background:var(--zy-paper)}
html body .c2-card{border-color:var(--zy-line)}
html body .c2-chip,html body .ct-chip{background:transparent;color:var(--zy-ink);border-color:var(--zy-line)}
html body .c2-chip.on,html body .ct-chip.on{background:var(--zy-ink);border-color:var(--zy-ink);color:var(--zy-paper)}
html body .c2-fbtn{background:transparent}
html body .pd-art{background:var(--zy-paper);border-radius:3px}
html body .pd-desc,html body .ct-usp-item p{color:#5E554C}
html body .pd-buy{background:var(--zy-ink);border-radius:2px;letter-spacing:.03em;padding:15px 30px}
html body .pd-buy:hover{background:#46413B}
html body .pd-buy.is-added{background:var(--zy-green)}
html body .pd-opt select,html body .pd-opt input,html body .bg-qty,html body .bg-email{border-radius:2px;border-color:var(--zy-line);background:var(--zy-paper)}
html body .pd-subnote{background:var(--zy-blush);color:#5E554C}
html body .rs-fbadge{background:var(--zy-ink)}
html body .ct-art span,html body .c2-art span,html body .pd-art span,html body .gn-bagart,html body .bg-art{background:var(--zy-blush)}
html body :is(.ct-art svg,.c2-art svg,.pd-art svg,.gn-bagart svg,.bg-art svg){stroke:var(--zy-muted)}

/* ── FOOTER ── */
html body footer.rs-foot{background:var(--zy-green-2);color:#A9A99A;border:0;padding:0;font-size:12.5px;line-height:2;text-align:left}
html body footer.rs-foot a{color:#DCD8CB}
.zy-foot{border-bottom:1px solid rgba(255,255,255,.09)}
.zy-foot-in{max-width:1280px;margin:0 auto;padding:30px var(--zy-gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
html body .zy-foot-brand{display:inline-flex;align-items:center;gap:12px;color:#F2EEE6;text-decoration:none}
.zy-foot-brand .zy-ico{width:30px;height:30px;stroke-width:1}
.zy-foot-brand span{font-family:var(--zy-serif);font-weight:500;font-size:20px;letter-spacing:.16em;text-transform:uppercase}
.zy-foot-tag{font-family:var(--zy-serif);font-style:italic;font-size:19px;color:#DCD8CB;text-align:center}
.zy-foot-badges{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 26px;list-style:none;margin:0;padding:0;color:#DCD8CB;font-size:12.5px}
.zy-foot-badges li{display:flex;align-items:center;gap:8px}
.zy-foot-badges .zy-ico{width:19px;height:19px;stroke-width:1.3}
.zy-foot-links{max-width:1280px;margin:0 auto;padding:18px var(--zy-gutter) 30px;text-align:center}

/* ── HOME: shared ── */
.zy-home{background:var(--zy-cream)}
.zy-wrap{max-width:1280px;margin:0 auto;padding-left:var(--zy-gutter);padding-right:var(--zy-gutter)}
.zy-sec{padding-top:clamp(52px,6.5vw,88px)}
.zy-h2{font-family:var(--zy-serif);font-weight:500;font-size:clamp(30px,3vw,40px);line-height:1.1;color:var(--zy-ink)}
.zy-sechead{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:clamp(20px,2.4vw,30px)}
.zy-link{font-size:13px;font-weight:500;color:var(--zy-ink);white-space:nowrap;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color .2s}
.zy-link:hover{text-decoration-color:currentColor}
.zy-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;font-size:13.5px;font-weight:500;border-radius:2px;transition:background .2s,color .2s,border-color .2s}
.zy-btn-light{background:var(--zy-paper);color:var(--zy-ink)}
.zy-btn-light:hover{background:var(--zy-ink);color:var(--zy-paper)}
.zy-btn-ghost{border:1px solid var(--zy-blush-2);color:var(--zy-ink);padding:11px 18px;font-size:12.5px}
.zy-btn-ghost:hover{border-color:var(--zy-ink)}

/* image slot: a real photo when one is set, otherwise a quiet botanical drawing */
.zy-frame{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(170deg,#EFE6DC 0%,#E2D3C4 100%);color:#B39F8B;border-radius:2px}
.zy-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
html body .zy-frame svg.zy-art{width:40%;height:auto;max-height:74%;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}

/* ── HOME: announcement ── */
.zy-announce{background:var(--zy-ink);color:#E9E3D9;text-align:center;font-size:12px;letter-spacing:.02em;padding:9px 20px}

/* ── HOME: hero (full-bleed photo, copy on the left) ── */
.zy-hero{position:relative;display:flex;align-items:center;min-height:clamp(440px,60vh,620px);max-width:1440px;margin:0 auto;overflow:hidden;color:#FFFDFA}
.zy-hero .zy-hero-media{position:absolute;inset:0;border-radius:0}
.zy-hero .zy-frame-empty{background:linear-gradient(115deg,#4B3D33 0%,#6E5B4C 48%,#9C8471 100%);color:rgba(255,248,238,.34);justify-content:flex-end;padding-right:9%}
.zy-hero .zy-frame-empty svg.zy-art{width:auto;height:82%;max-height:none}
.zy-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,27,22,.58) 0%,rgba(33,27,22,.28) 42%,rgba(33,27,22,0) 70%);pointer-events:none}
.zy-hero-copy{position:relative;z-index:1;max-width:1280px;width:100%;margin:0 auto;padding:clamp(48px,7vw,96px) var(--zy-gutter)}
.zy-hero h1{font-family:var(--zy-serif);font-weight:500;font-size:clamp(46px,5.6vw,78px);line-height:1;max-width:9ch;color:inherit}
.zy-hero-copy p{margin-top:22px;font-size:clamp(15px,1.2vw,17px);line-height:1.6;max-width:34ch;color:rgba(255,253,250,.92)}
.zy-hero-copy .zy-btn{margin-top:30px}

/* ── HOME: USP strip ── */
.zy-usp{display:grid;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto;padding:26px var(--zy-gutter);list-style:none;border-bottom:1px solid var(--zy-line)}
.zy-usp li{display:flex;align-items:center;gap:14px;padding:4px clamp(10px,2vw,28px);color:var(--zy-ink)}
.zy-usp li + li{border-left:1px solid var(--zy-line)}
.zy-usp li:first-child{padding-left:0}
.zy-usp span{font-size:12px;line-height:1.45;color:var(--zy-muted)}
.zy-usp b{display:block;font-size:13px;font-weight:600;color:var(--zy-ink)}

/* ── HOME: four-up cards (collections, favourites, inspiration) ── */
.zy-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,22px)}
.zy-cat,.zy-card{display:block;color:var(--zy-ink)}
.zy-cat .zy-frame,.zy-card .zy-frame{aspect-ratio:1/1}
.zy-insp .zy-frame{aspect-ratio:4/3.4}
.zy-cat:hover img,.zy-card:hover img{transform:scale(1.035)}
.zy-cat h3{margin-top:14px;font-family:var(--zy-serif);font-weight:500;font-size:clamp(20px,1.7vw,23px);line-height:1.15}
.zy-cat p{margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--zy-muted)}
.zy-card h3{margin-top:12px;font-size:14px;font-weight:500;line-height:1.4}
.zy-card .zy-price{margin-top:2px;font-size:14px;color:var(--zy-muted)}

/* ── HOME: bouquet on request band ── */
.zy-maat{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.9fr);align-items:stretch;background:linear-gradient(100deg,var(--zy-blush) 0%,#E9D3C5 55%,var(--zy-blush-2) 100%);border-radius:3px;overflow:hidden}
.zy-maat-copy{padding:clamp(32px,4vw,56px)}
.zy-maat-copy p{margin-top:14px;font-size:14.5px;line-height:1.65;color:#5E554C;max-width:34ch}
.zy-maat-copy .zy-btn{margin-top:26px}
.zy-maat .zy-maat-media{border-radius:0;min-height:260px;background:transparent;color:#B08F7C}
.zy-advies{align-self:center;margin:clamp(20px,2.6vw,32px);padding:clamp(22px,2.4vw,30px);background:rgba(255,253,250,.82);border-radius:3px}
.zy-advies .zy-ico{width:30px;height:30px;color:var(--zy-ink)}
.zy-advies h3{margin-top:12px;font-family:var(--zy-serif);font-weight:500;font-size:22px}
.zy-advies p{margin-top:6px;font-size:13px;line-height:1.6;color:#5E554C}
.zy-advies .zy-btn{margin-top:18px}

.zy-end{height:clamp(64px,8vw,112px)}

/* ── RESPONSIVE ── */
@media (max-width:980px){
  .zy-usp{grid-template-columns:repeat(2,1fr);row-gap:18px}
  .zy-usp li:nth-child(3){border-left:0;padding-left:0}
  .zy-cards{grid-template-columns:repeat(2,1fr);row-gap:28px}
  .zy-maat{grid-template-columns:1fr 1fr}
  .zy-maat-copy{grid-column:1 / -1;padding-bottom:0}
  .zy-foot-in{grid-template-columns:1fr;justify-items:center;text-align:center}
  .zy-foot-badges{justify-content:center}
}
@media (max-width:640px){
  .zy-hero{min-height:520px;align-items:flex-end}
  .zy-hero::after{background:linear-gradient(0deg,rgba(33,27,22,.66) 0%,rgba(33,27,22,.2) 60%,rgba(33,27,22,0) 100%)}
  .zy-hero .zy-frame-empty{justify-content:center;align-items:flex-start;padding:28px 0 0}
  .zy-hero .zy-frame-empty svg.zy-art{height:55%}
  .zy-usp{grid-template-columns:1fr}
  .zy-usp li{border-left:0!important;padding-left:0}
  .zy-sechead{flex-direction:column;align-items:flex-start;gap:8px}
  .zy-maat{grid-template-columns:1fr}
  .zy-maat .zy-maat-media{min-height:220px}
  .zy-btn{width:100%}
  .zy-btn-ghost{width:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
