/* Flowers Garden — affordable-luxury design system.
   References: FLOWERBX, Byredo, Aesop. Cream + warm ink + deep plum accent, flowers are the color.
   Cormorant editorial serif for display + Inter uppercase letter-spaced labels. Flat rectangular buttons.
   Radical whitespace, minimal chrome, full-bleed photography. */
:root{
  --bg:#FBF6EE; --surface:#F4EADB; --white:#fff;
  --ink:#3A322C; --muted:#8A7E70; --faint:#B8AC9C;
  --line:#E7DCC9; --line-2:#DBCFB8;
  --plum:#4E5C3E; --plum-d:#3B472E; --plum-t:#E9ECE0;
  --terra:#C26B4A; --blush:#E7C3B8; --sage:#7E8B6E;
  --gold:#B08A4E;
  --ease:cubic-bezier(.22,1,.36,1);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk","Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --wrap:1300px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0;letter-spacing:.005em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 34px}
.muted{color:var(--muted)}
.center{text-align:center}
em{font-style:italic}

/* labels — uppercase, letter-spaced, small (the luxury signal) */
.kicker,.eyebrow{font-family:var(--sans);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;display:inline-block}
.kicker::before{content:none}

/* buttons — flat rectangles, uppercase, letter-spaced */
.btn{display:inline-flex;align-items:center;gap:.6rem;justify-content:center;font-family:var(--sans);font-weight:600;font-size:.82rem;letter-spacing:.01em;text-transform:none;padding:1rem 2.1rem;border-radius:7px;border:1px solid var(--terra);cursor:pointer;background:var(--terra);color:#fff;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .35s var(--ease)}
.btn:hover{background:var(--plum);border-color:var(--plum);color:#fff}
.btn.lg{padding:1.2rem 3rem}
.btn.block{width:100%}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:var(--plum);border-color:var(--plum);color:#fff}
.btn .arw{font-size:.9em}
.tlink{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.01em;text-transform:none;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}
.tlink .arw{display:none}

/* top bars + header */
.mockbar{background:var(--ink);color:#E7DFD0;font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:.5rem;position:relative;z-index:70}
.mockbar b{color:#C9A15E;font-weight:600}
.announce{background:var(--plum-d);color:#F0E4EA;text-align:center;font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;padding:.55rem;text-transform:uppercase}
.announce b{color:#fff}
header.site{position:sticky;top:0;z-index:50;background:rgba(245,241,233,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:2.5rem;padding:1.1rem 34px;max-width:var(--wrap);margin:0 auto}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1}
.brand img{height:48px;width:auto}
.brand-tag{font-family:var(--sans);font-size:.52rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;gap:2rem;margin-left:1.5rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nav-links a{position:relative;padding:.4rem 0;color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--plum);transition:right .35s var(--ease)}
.nav-links a:hover::after{right:0}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:1.6rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.deliver-chip{color:var(--muted)}
.cart-count{color:var(--plum);font-weight:600}

/* hero — full-bleed editorial */
.hero-rot{position:relative;min-height:90vh;overflow:hidden;background:#14110d}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity 1.3s var(--ease);pointer-events:none}
.hslide.on{opacity:1;pointer-events:auto}
.hslide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 8s ease}
.hslide.on img{transform:scale(1.13)}
.hslide::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(15,12,10,.28),rgba(15,12,10,.46))}
.hslide .hc{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 28px}
.hslide .hc>*{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.hslide.on .hc .k{opacity:1;transform:none;transition-delay:.25s}
.hslide.on .hc h2{opacity:1;transform:none;transition-delay:.42s}
.hslide.on .hc p{opacity:1;transform:none;transition-delay:.6s}
.hslide.on .hc .btn{opacity:1;transform:none;transition-delay:.78s}
.hslide .hc .k{font-family:var(--sans);font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:1.4rem}
.hslide .hc h2{font-family:var(--serif);font-size:clamp(2.9rem,7vw,6rem);text-transform:none;letter-spacing:0;color:#fff;font-weight:400;line-height:1;max-width:16ch}
.hslide .hc p{font-size:.95rem;letter-spacing:.02em;margin:1.4rem 0 2.4rem;color:rgba(255,255,255,.9);font-weight:300}
.hero-tabs{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:.6rem}
.hero-tabs button{width:52px;height:2px;background:rgba(255,255,255,.35);border:0;border-radius:0;padding:0;position:relative;overflow:hidden;cursor:pointer}
.hero-tabs button::after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:#fff}
.hero-tabs button.on::after{animation:fillbar 6.8s linear forwards;background:#fff}
@keyframes fillbar{from{width:0}to{width:100%}}

/* thin trust line */
.trust{border-bottom:1px solid var(--line);background:var(--bg)}
.trust .row{display:flex;justify-content:center;gap:3.5rem;flex-wrap:wrap;max-width:var(--wrap);margin:0 auto;padding:1.5rem 34px}
.trust .cell{text-align:center;display:flex;align-items:baseline;gap:.6rem}
.trust .cell b{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--ink);font-style:italic}
.trust .cell span{font-family:var(--sans);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

section.pad{padding:7.5rem 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 3.6rem}
.sec-head h2{font-size:clamp(2rem,3.2vw,2.9rem);margin-top:1rem;font-weight:400}
.sec-head p{color:var(--muted);margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1.25rem}

/* occasion tiles — clean rectangles */
.occ-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.occ{position:relative;aspect-ratio:1/1;overflow:hidden;display:flex;align-items:flex-end;color:#fff;background:#fff;border-radius:190px 190px 10px 10px}
.occ img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.occ:hover img{transform:scale(1.06)}
.occ::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,15,12,.62),transparent 60%)}
.occ span{position:relative;z-index:2;padding:1.2rem;width:100%;text-align:center;font-family:var(--serif);font-size:1.15rem;letter-spacing:0;text-transform:none;font-weight:500}

/* flower row */
.flower-row{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}
.flower{text-align:center}
.flower .disc{width:130px;height:130px;border-radius:50%;overflow:hidden;margin:0 auto .9rem}
.flower .disc img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.flower:hover .disc img{transform:scale(1.09)}
.flower b{font-family:var(--sans);font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:560px){.flower-row{gap:1.6rem}.flower .disc{width:92px;height:92px}}

/* full-bleed editorial band */
.band{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#14110d}
.band .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:47% center}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(15,12,10,.4),rgba(15,12,10,.5))}
.band .inner{position:relative;z-index:2;max-width:720px;padding:5rem 34px;color:#fff}
.band .kicker{color:rgba(255,255,255,.8)}
.band h2{color:#fff;margin:1.2rem 0 0;font-size:clamp(2rem,4vw,3.4rem);font-weight:400}
.band p{color:rgba(255,255,255,.82);margin:1.5rem auto 0;max-width:560px;font-family:var(--serif);font-style:italic;font-size:1.3rem}

/* product cards — FLOWERBX clean rectangles */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 30px}
.card{display:flex;flex-direction:column;transition:transform .4s var(--ease)}
.card .ph{position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff;border-radius:220px 220px 12px 12px}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .ph img{transform:scale(1.05)}
.card .badge{position:absolute;top:10px;left:10px;border-radius:5px;background:var(--terra);color:#fff;font-family:var(--sans);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;z-index:2}
.card .body{padding:1.1rem .1rem 0;display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center;flex:1}
.card .body h3{font-family:var(--serif);font-size:1.2rem;letter-spacing:0;text-transform:none;font-weight:500;line-height:1.22}
.card .price{font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--ink)}
.card .price .old{color:var(--faint);text-decoration:line-through;font-style:normal;font-size:.9rem;margin-right:.4rem;font-family:var(--sans)}
.card .deliv,.card .cta{display:none}

/* category */
.cat-head{padding:4rem 0 3rem;text-align:center;border-bottom:1px solid var(--line)}
.cat-head h1{font-size:clamp(2.4rem,4vw,3.6rem);margin-top:.8rem;font-weight:400}
.cat-head .muted{font-family:var(--serif);font-style:italic;font-size:1.2rem;margin-top:.6rem}
.cat-body{display:grid;grid-template-columns:220px 1fr;gap:56px;padding:3.6rem 0}
.filters{font-family:var(--sans)}
.filters .fg{border-bottom:1px solid var(--line);padding:1.3rem 0}
.filters .fg:first-child{padding-top:0}
.filters h4{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem;font-weight:600}
.filters label{display:flex;align-items:center;gap:.6rem;padding:.3rem 0;cursor:pointer;font-size:.82rem;letter-spacing:.02em}
.filters label:hover{color:var(--plum)}
.filters input[type=checkbox]{accent-color:var(--plum);width:14px;height:14px}
.filters .swatch{width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex:none}
.filters .cnt{margin-left:auto;color:var(--faint);font-size:.7rem}
.filters .clear{margin-top:1.2rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);cursor:pointer;font-weight:500}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;color:var(--muted);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:1.1rem}
.sort-sel{font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;border:0;background:transparent;color:var(--ink);cursor:pointer}
.grid.cat{grid-template-columns:repeat(3,1fr)}

/* product page */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding:3.6rem 0}
.gallery .main{aspect-ratio:1/1;overflow:hidden;background:#fff;border-radius:300px 300px 16px 16px}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs{display:flex;gap:12px;margin-top:14px}
.gallery .thumbs img{width:74px;height:74px;object-fit:cover;background:#fff;cursor:pointer;opacity:.55;transition:opacity .3s}
.gallery .thumbs img.on,.gallery .thumbs img:hover{opacity:1}
.pdp .crumb{font-family:var(--sans);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}
.pdp h1{font-size:clamp(2rem,3vw,2.9rem);margin-bottom:.7rem;font-weight:400}
.pdp .price-lg{font-family:var(--serif);font-style:italic;font-size:1.9rem;margin:.2rem 0 0;color:var(--ink)}
.pdp .price-lg .old{color:var(--faint);text-decoration:line-through;font-style:normal;font-size:1.1rem;margin-right:.5rem;font-family:var(--sans)}
.pdp .desc{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 0;margin:1.6rem 0;font-size:.95rem}
.opt-title{font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:1.9rem 0 .9rem}
.deliver-note{font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.9rem}
.sizes{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.size{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:1rem .2rem;cursor:pointer;transition:padding-left .25s var(--ease)}
.size:hover{padding-left:.7rem}
.size.on{padding-left:.7rem}
.size .radio{width:15px;height:15px;border-radius:50%;border:1px solid var(--line-2);flex:none;position:relative}
.size.on .radio{border-color:var(--plum)}
.size.on .radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--plum)}
.size .t b{font-weight:500;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.size .t span{display:block;font-size:.85rem;color:var(--muted);text-transform:none;letter-spacing:0;font-family:var(--serif);font-style:italic}
.size .up{margin-left:auto;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--plum)}
.gifts{display:flex;gap:12px;flex-wrap:wrap}
.gift{flex:1 1 calc(50% - 6px);border:1px solid var(--line);border-radius:8px;padding:.85rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.6rem;transition:border-color .25s;background:var(--surface)}
.gift:hover{border-color:var(--plum)}
.gift.on{border-color:var(--plum);background:var(--plum-t)}
.gift .gico{display:none}
.gift .gn{font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.gift .gp{margin-left:auto;font-family:var(--serif);font-style:italic;color:var(--plum);font-size:1rem}
.gift .gtick{display:none}
.gift.on .gn::before{content:"✓ "}
.field label{font-family:var(--sans);font-size:.7rem;font-weight:500;display:block;margin-bottom:.45rem;letter-spacing:.02em}
.field textarea,.field input,.field select{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:.85rem .9rem;font-family:var(--sans);font-size:.88rem;background:var(--white);color:var(--ink);transition:border-color .25s}
.field textarea:focus,.field input:focus,.field select:focus{outline:none;border-color:var(--plum)}
.field textarea{min-height:74px;resize:vertical}
.field{margin-bottom:1rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.checkline{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);margin:.2rem 0 1.2rem}
.pricebox{border-top:1px solid var(--line);padding:1.4rem 0;margin:1.8rem 0}
.pricebox .r{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pricebox .r.total{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.9rem;font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--ink);text-transform:none;letter-spacing:0}

/* reviews */
.reviews{text-align:center;max-width:760px;margin:0 auto}
.stars{font-size:1.1rem;letter-spacing:.35rem;color:var(--gold)}
.rev-score{font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;margin:1.2rem 0 0;color:var(--muted)}
.rev-score b{color:var(--ink)}
.rev-score a{border-bottom:1px solid var(--plum);color:var(--plum)}
.rev-quote{font-family:var(--serif);font-style:italic;font-size:1.7rem;line-height:1.5;color:var(--ink);margin:2.4rem 0 1.2rem;min-height:5em;font-weight:400}
.rev-name{font-family:var(--sans);font-weight:500;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.rev-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.8rem}
.rev-dots button{width:8px;height:8px;border-radius:50%;border:0;background:var(--line-2);cursor:pointer;padding:0;transition:.3s}
.rev-dots button.on{background:var(--terra);width:24px;border-radius:8px}
.rev-note{font-family:var(--sans);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:1.6rem}

/* despre */
.despre{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.despre .ph{aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--surface)}
.despre .ph img{width:100%;height:100%;object-fit:cover}
.despre .ph .ph-note{position:absolute;left:0;bottom:0;background:var(--ink);color:#E7DFD0;font-family:var(--sans);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px}
.despre h2{margin:1rem 0 1.4rem;font-size:clamp(2rem,3vw,2.9rem);font-weight:400}
.despre p{color:var(--muted);margin:0 0 1.1rem;font-size:1rem}
.despre .points{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:.9rem}
.despre .points li{display:flex;gap:.7rem;align-items:flex-start;font-family:var(--sans);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.despre .points li::before{content:"—";color:var(--plum)}

/* faq */
.faq{max-width:840px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);border-radius:6px}
.faq summary{list-style:none;cursor:pointer;padding:1.5rem .2rem;display:flex;align-items:center;justify-content:space-between;font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--serif);font-size:1.6rem;color:var(--plum);transition:transform .3s var(--ease);font-style:normal}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 .2rem 1.6rem;color:var(--muted);font-size:.95rem;max-width:70ch}

/* newsletter */
.news{text-align:center;max-width:620px;margin:0 auto}
.news .deco{display:none}
.news h2{font-size:clamp(2rem,3vw,2.8rem);font-weight:400}
.news p{color:var(--muted);margin:1rem 0 2rem;font-family:var(--serif);font-style:italic;font-size:1.25rem}
.news form{display:flex;gap:0;max-width:460px;margin:0 auto;border-bottom:1px solid var(--ink)}
.news input{flex:1;border:0;background:transparent;padding:.9rem .2rem;font-family:var(--sans);font-size:.85rem;letter-spacing:.05em}
.news input:focus{outline:none}
.news form .btn{border:0;background:transparent;color:var(--ink);padding:.9rem 0 .9rem 1.5rem}
.news form .btn:hover{background:transparent;color:var(--plum)}

/* footer */
footer.site{background:var(--ink);color:rgba(231,223,208,.7);padding:5rem 0 2.5rem;font-family:var(--sans);font-size:.78rem}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
footer.site h4{color:#fff;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.2rem;font-weight:500}
footer.site a{display:block;padding:.28rem 0;color:rgba(231,223,208,.62);font-size:.72rem;letter-spacing:.08em}
footer.site a:hover{color:#fff}
footer.site .brand img{height:56px}
footer.site .foot-trust{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;padding:2rem 0;border-top:1px solid rgba(231,223,208,.14);margin-top:3rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(231,223,208,.6)}
footer.site .base{border-top:1px solid rgba(231,223,208,.12);margin-top:2rem;padding-top:1.4rem;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(231,223,208,.4);text-align:center}

/* checkout */
.steps{display:flex;gap:1.4rem;justify-content:center;margin:2.6rem 0 3rem;font-family:var(--sans);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.steps .st{display:flex;align-items:center;gap:.6rem;color:var(--muted)}
.steps .st b{width:26px;height:26px;border-radius:50%;background:transparent;border:1px solid var(--line-2);color:var(--muted);display:grid;place-items:center;font-size:.72rem}
.steps .st.on b{background:var(--plum);color:#fff;border-color:var(--plum)}
.steps .st.on{color:var(--ink)}
.checkout{display:grid;grid-template-columns:1.3fr .9fr;gap:56px;padding-bottom:6rem}
.summary{background:var(--surface);padding:1.8rem;align-self:start;border:1px solid var(--line);border-radius:12px}
.summary h3{font-family:var(--sans);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2rem;font-weight:600}
.summary .li{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.summary .li img{width:60px;height:60px;object-fit:cover;background:#fff}
.summary .li .n{font-family:var(--sans);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;line-height:1.4}
.summary .li .m{font-size:.78rem;color:var(--muted);font-family:var(--serif);font-style:italic}
.summary .li .p{margin-left:auto;font-family:var(--serif);font-style:italic;font-size:1rem}
.panel{background:var(--surface);border:1px solid var(--line);padding:2rem;border-radius:12px}
.panel h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin-bottom:1.4rem}

.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:.9rem 1.6rem;font-family:var(--sans);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;pointer-events:none;transition:.3s var(--ease);z-index:80}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* WhatsApp chat */
.chat-btn{position:fixed;right:24px;bottom:24px;z-index:72;width:56px;height:56px;border-radius:50%;background:var(--ink);border:0;cursor:pointer;display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(20,15,12,.55);transition:.3s var(--ease)}
.chat-btn:hover{transform:scale(1.06);background:var(--plum)}
.chat-btn.hide{opacity:0;pointer-events:none;transform:scale(.5)}
.chat-btn svg{width:27px;height:27px;fill:#F5F1E9}
.chat-btn .dot{display:none}
.chat-panel{position:fixed;right:24px;bottom:24px;z-index:73;width:330px;max-width:calc(100vw - 48px);background:var(--white);box-shadow:0 26px 60px -18px rgba(20,15,12,.5);overflow:hidden;opacity:0;transform:translateY(20px) scale(.96);pointer-events:none;transition:.32s var(--ease);border:1px solid var(--line)}
.chat-panel.open{opacity:1;transform:none;pointer-events:auto}
.chat-head{background:var(--ink);color:#fff;padding:1.1rem 1.2rem;display:flex;align-items:center;gap:.8rem}
.chat-head .av{width:40px;height:40px;border-radius:50%;background:var(--plum);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-style:italic;flex:none}
.chat-head b{font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.chat-head .st{font-family:var(--serif);font-style:italic;font-size:.82rem;opacity:.75;display:block}
.chat-close{margin-left:auto;background:transparent;border:0;color:#fff;cursor:pointer;font-size:1.3rem;line-height:1}
.chat-body-msg{padding:1.4rem 1.2rem;color:var(--muted);font-size:.9rem;line-height:1.6}
.chat-cta{padding:0 1.2rem 1.4rem}
.chat-cta .btn{width:100%;background:var(--plum);border-color:var(--plum);color:#fff;gap:.5rem}
.chat-cta .btn:hover{background:var(--plum-d);border-color:var(--plum-d)}
.chat-cta .btn svg{width:16px;height:16px;fill:#fff}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal],.hslide .hc>*{opacity:1;transform:none;transition:none}}

@media(max-width:1000px){
  .nav-links{display:none}
  .occ-grid{grid-template-columns:repeat(3,1fr)}
  .grid{grid-template-columns:repeat(3,1fr)}
  .grid.cat{grid-template-columns:repeat(2,1fr)}
  .cat-body{grid-template-columns:1fr}
  .filters{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem}
  .pdp,.despre,.checkout{grid-template-columns:1fr;gap:36px}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .occ-grid{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:repeat(2,1fr)}
  .two{grid-template-columns:1fr}
  .wrap{padding:0 22px}
  section.pad{padding:5rem 0}
}

/* brand intro reveal */
#intro{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-items:center;transition:opacity .9s var(--ease),visibility .9s}
#intro.gone{opacity:0;visibility:hidden}
#intro img{height:84px;width:auto;animation:introUp 1.1s var(--ease) both}
@keyframes introUp{0%{opacity:0;transform:translateY(18px) scale(.98)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#intro{display:none}}

/* ============ top-tier luxury layer ============ */

/* film grain — tactile warmth */
body::before{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.028;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* product hover-swap — gradual, gentle crossfade */
.card .ph img{transition:transform 1.3s var(--ease)}
.card .ph2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.05s var(--ease);z-index:1}
.card:hover .ph2{opacity:1}
.card:hover .ph img,.card:hover .ph2{transform:scale(1.03)}

/* gold hairline above section headings */
.sec-head::before{content:"";display:block;width:1px;height:38px;background:linear-gradient(var(--gold),transparent);margin:0 auto 1.8rem}

/* refined credo — a calm editorial statement */
.credo{text-align:center;padding:7.5rem 34px;max-width:1040px;margin:0 auto}
.credo .kicker{margin-bottom:2.2rem}
.credo .rule{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);margin:0 auto 2.4rem}
.credo p{font-family:var(--serif);font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.34;font-weight:400;color:var(--ink);max-width:22ch;margin:0 auto;letter-spacing:.005em}
.credo p em{color:var(--plum)}

/* bespoke / events */
.bespoke{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;min-height:82vh;background:var(--surface)}
.bespoke .bq-img{overflow:hidden}
.bespoke .bq-img img{width:100%;height:100%;object-fit:cover;min-height:60vh}
.bespoke .bq-txt{display:flex;flex-direction:column;justify-content:center;padding:5.5rem}
.bespoke .bq-txt h2{font-size:clamp(2.1rem,3.4vw,3.2rem);margin:1.1rem 0 1.5rem;font-weight:400}
.bespoke .bq-txt p{color:var(--muted);max-width:46ch;margin:0 0 2.4rem;font-size:1rem}
@media(max-width:1000px){.bespoke{grid-template-columns:1fr}.bespoke .bq-txt{padding:3.4rem}}


/* ===== warm-variant: new sections, warmer type scale, badge fix ===== */
/* warmer, larger, cozier type */
body{font-size:16px}
.kicker,.eyebrow{font-size:.72rem;letter-spacing:.2em}
.nav-links{font-size:.78rem;letter-spacing:.08em}
.nav-right{font-size:.76rem;letter-spacing:.06em}
.sec-head h2{font-size:clamp(2.2rem,3.6vw,3.2rem)}
.sec-head p{font-size:1.35rem}
.card .price{font-size:1.5rem}
.trust .cell b{font-size:1.5rem}
.pdp h1{font-size:clamp(2.2rem,3.2vw,3.1rem)}
.pdp .price-lg{font-size:2.1rem}

/* fix: arch was clipping the top-left badge -> move to bottom-left */
.card .badge{top:auto;bottom:14px;left:14px}

/* reassurance bar */
.reassure{display:flex;justify-content:center;gap:2.8rem;flex-wrap:wrap;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 34px;font-family:var(--sans);font-size:.92rem;color:var(--muted)}

/* how it works */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;text-align:center;max-width:1040px;margin:0 auto}
.step3 .n{font-family:var(--serif);font-style:italic;font-size:2.8rem;color:var(--terra);display:block;margin-bottom:.7rem;line-height:1}
.step3 h3{font-family:var(--serif);font-size:1.6rem;font-weight:500;margin-bottom:.6rem}
.step3 p{color:var(--muted);font-size:1rem;max-width:26ch;margin:0 auto}

/* care callout */
.care{background:#F3E7DD;padding:6.5rem 0;text-align:center}
.care .kicker{color:var(--terra)}
.care h2{font-size:clamp(2rem,3.4vw,3rem);font-weight:400;margin:1rem 0 3.2rem}
.care-row{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;max-width:1040px;margin:0 auto;padding:0 34px}
.care-item h3{font-family:var(--serif);font-size:1.45rem;font-weight:500;margin-bottom:.5rem}
.care-item p{color:var(--muted);font-size:1rem;max-width:28ch;margin:0 auto}

@media(max-width:800px){.steps3,.care-row{grid-template-columns:1fr;gap:34px}.reassure{gap:1.4rem}}

/* ===== fix: shop-by-flower thumbnails (span needs display:block to size) ===== */
.flower .disc{display:block;width:132px;height:132px}
.flower b{font-size:.84rem;letter-spacing:.05em}
@media(max-width:560px){.flower .disc{width:96px;height:96px}}

/* ===== WARM readable type pass (compared to Our Place / Sézane / Flamingo — comfortable, not precious) ===== */
body{font-size:16px;line-height:1.72}
.hslide .hc .k{font-size:.74rem;letter-spacing:.22em}
.hslide .hc h2{font-size:clamp(3rem,7vw,6rem)}
.hslide .hc p{font-size:1.12rem}
.announce,.mockbar{font-size:.68rem;letter-spacing:.1em}
.nav-links{font-size:.82rem;letter-spacing:.06em}
.nav-right{font-size:.8rem;letter-spacing:.04em}
.deliver-chip{font-size:.82rem}
.brand-tag{font-size:.58rem;letter-spacing:.2em}
.reassure{font-size:.96rem}
.step3 h3{font-size:1.65rem}
.step3 p{font-size:1.04rem}
.care-item h3{font-size:1.5rem}
.care-item p{font-size:1.04rem}
.sec-head p{font-size:1.4rem}
.card .body h3{font-size:1.26rem}
.card .price{font-size:1.55rem}
.despre p{font-size:1.08rem}
.despre .points li{font-size:.84rem;letter-spacing:.03em}
.bespoke .bq-txt p{font-size:1.1rem}
.rev-quote{font-size:2.05rem}
.rev-score{font-size:.78rem}
.rev-name{font-size:.76rem}
.faq summary{font-size:1.02rem}
.faq .a{font-size:1.06rem}
.news p{font-size:1.4rem}
.news input{font-size:.98rem}
.opt-title{font-size:.74rem}
.pdp h1{font-size:clamp(2.2rem,3.2vw,3.1rem)}
.pdp .desc{font-size:1.06rem}
.pdp .price-lg{font-size:2.2rem}
.size .t b{font-size:.9rem}
.size .t span{font-size:.98rem}
.size .up{font-size:1.2rem}
.gift .gn{font-size:.82rem}
.gift .gp{font-size:1.15rem}
.filters label{font-size:.92rem}
.cat-toolbar{font-size:.76rem}
.summary .li .n{font-size:.84rem}
footer.site a{font-size:.84rem}

/* ================= WARM SHOP REBUILD ================= */
/* tighter, denser rhythm */
section.pad{padding:4.5rem 0}
.sec-head{margin-bottom:2.4rem}

/* left-aligned shop headings + "Vezi toate" link (the shop tell) */
.shop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.8rem}
.shop-head .kicker{color:var(--terra);margin-bottom:.4rem;display:block}
.shop-head h2{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.6rem);font-weight:500;text-align:left;letter-spacing:0;margin:0}
.shop-head .all{flex:none;font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--terra);border-bottom:1px solid var(--terra);padding-bottom:2px;white-space:nowrap}

/* horizontal product carousel */
.carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:.3rem .2rem 1.3rem;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.carousel::-webkit-scrollbar{height:6px}
.carousel::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px}
.carousel .card{flex:0 0 clamp(210px,22vw,280px);scroll-snap-align:start}

/* shoppable card: softer radius (so badges/quick-add fit), left text, delivery badge, quick-add bar */
.card .ph{border-radius:16px}
.card .badge{top:12px;left:12px;bottom:auto;border-radius:6px;font-size:.6rem;padding:5px 10px}
.card .badge.tag{background:var(--sage)}
.card .body{align-items:flex-start;text-align:left;padding:1rem .15rem 0;gap:.3rem}
.card .body h3{font-family:var(--serif);font-size:1.2rem;text-transform:none;letter-spacing:0;font-weight:500;line-height:1.2}
.card .price{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--ink)}
.card .deliv{display:block !important;font-family:var(--sans);font-size:.7rem;letter-spacing:.05em;color:var(--sage);font-weight:600;text-transform:uppercase}
.card .qadd{display:flex;position:absolute;left:12px;right:12px;bottom:12px;z-index:3;justify-content:center;align-items:center;height:44px;border:0;border-radius:9px;background:var(--ink);color:#fff;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(10px);transition:.3s var(--ease)}
.card:hover .qadd{opacity:1;transform:none}
.card .qadd:hover{background:var(--terra)}

/* warm section-background alternation */
.sec-butter{background:var(--surface)}
.sec-blush{background:#F5E9DF}
.sec-sage{background:#EAEDE4}

/* trust ribbon (reviews high up) */
.ribbon{background:var(--ink);color:#F4EADB;text-align:center;padding:.9rem 34px;font-family:var(--sans);font-size:.86rem;letter-spacing:.02em}
.ribbon .st{color:#E9B84A;letter-spacing:.1em;margin-right:.5rem}
.ribbon b{color:#fff}

@media(max-width:700px){.carousel .card{flex-basis:66vw}.shop-head h2{font-size:1.6rem}}
