/* Tamburella, cuori di fiori · v2.0
   World: the wrapping counter. A bed of red roses as the ground, white satin ribbons,
   golden tulle, yellow rose lettering, fern green at the edges.
   Type scale (Golos Text body 17px): 14 · 15 · 17 · 20 · 26 · h2 34 to 58 · h1 42 to 86.
   Spacing scale: 4 · 8 · 12 · 16 · 24 · 32 · 48 · 72 · 112. */

@font-face{font-family:"Shrikhand";src:url(../fonts/shrikhand-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Golos Text";src:url(../fonts/golos-wght.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}

:root{
  --red:#8C0E26; --red-2:#760B20; --red-3:#4E0614; --rose:#B3132F;
  --yel:#F6C343; --yel-2:#FFE3A0; --yel-ink:#3A0611;
  --satin:#FFF7F2; --satin-2:#F6E9E1; --satin-ink:#3A0611; --satin-mute:#6E3A44;
  --fern:#1E5A35; --fern-2:#2F7A47;
  --on-red:#FFF7F2; --on-red-2:#F6D3D8; --on-red-3:#EBB7BF;
  --bg:var(--red); --ink:var(--on-red); --ink-2:var(--on-red-2); --muted:var(--on-red-3);
  --line:rgba(255,247,242,.2); --line-2:rgba(255,247,242,.42);
  --main:var(--yel); --main-ink:var(--yel-ink); --main-hover:#FFD263; --main-shadow:rgba(0,0,0,.55);
  --surface:var(--satin); --focus:var(--yel);
  --sel-bg:var(--yel); --sel-ink:var(--yel-ink);
  --font-d:"Shrikhand",Georgia,serif; --font-b:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif; --fw-d:400;
  --fs-b:1.0625rem;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:112px;
  --wrap:1240px; --gut:clamp(16px,4vw,32px); --hdr-h:78px;
  --r-btn:999px; --r-card:22px; --r-field:14px; --r-ph:26px;
  --ease:cubic-bezier(.16,1,.3,1);
  --mesh:repeating-linear-gradient(45deg,rgba(246,195,67,.62) 0 1px,transparent 1px 7px),repeating-linear-gradient(-45deg,rgba(246,195,67,.62) 0 1px,transparent 1px 7px);
  --hdr-bg:transparent; --drawer-bg:var(--red-2); --ftr-bg:var(--red-3); --ftr-ink:var(--on-red); --mbar-bg:var(--red-3); --mbar-ink:var(--on-red);
  --field-bg:#fff; --field-line:#E5CFC6; --ring:rgba(246,195,67,.45);
  --open-bg:#E7F3EA; --open-ink:#14532D; --closed-bg:var(--satin-2); --closed-ink:var(--satin-mute);
  --scroll:rgba(255,247,242,.35);
}
html{background:var(--red);overflow-x:clip}
main{overflow-x:clip}
body{letter-spacing:.005em}
h1,h2{font-weight:400;letter-spacing:.005em;line-height:1.16}
h1{font-size:clamp(2.6rem,1.5rem + 4.4vw,5.4rem)}
h2{font-size:clamp(2.1rem,1.35rem + 2.9vw,3.6rem);margin-bottom:.45em}
h3,.h3{font-family:var(--font-b);font-weight:750;font-size:1.25rem;line-height:1.25;letter-spacing:0;margin:0 0 .4em}
.split .w{padding-bottom:.16em;margin-bottom:-.16em;padding-top:.06em;margin-top:-.06em}
.split .it>span,h1 .it,h2 .it{color:var(--yel)}
.lead{color:var(--ink-2)}
.small{color:var(--muted)}
p a{color:inherit}
a{text-underline-offset:.22em}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-thumb{background:rgba(255,247,242,.28);border-radius:10px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}
input,textarea,select{caret-color:var(--rose)}
.sec{padding:clamp(72px,9vw,var(--s9)) 0}
.sec-top0{padding-top:0}
.sec-head{margin-bottom:clamp(28px,4vw,var(--s7));max-width:760px}
.sec-head h2{margin:0 0 var(--s4)}
.sec-head p{margin:0;color:var(--ink-2);max-width:56ch;font-size:1.125rem}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.txt-link{display:inline-flex;align-items:center;gap:8px;font-weight:650;text-decoration:none;border-bottom:1.5px solid var(--line-2);padding-bottom:4px;margin-top:var(--s6);transition:color .25s,border-color .25s}
.txt-link .ic{transition:transform .35s var(--ease)}
.txt-link:hover{color:var(--yel);border-color:var(--yel)}
.txt-link:hover .ic{transform:translateX(3px)}

/* ---------- Buttons ---------- */
.btn{font-weight:700;letter-spacing:.01em}
.btn-main{color:var(--yel-ink)}
.btn-line{border-color:var(--line-2);color:var(--on-red)}
.btn-line:hover{background:rgba(255,247,242,.08);border-color:var(--on-red)}
.btn-ink{background:var(--red);color:var(--on-red)}
.btn-ink:hover{background:var(--red-3);box-shadow:0 8px 20px -10px rgba(58,6,17,.6)}
.btn-ink-line{border-color:rgba(58,6,17,.5);color:var(--yel-ink)}
.btn-ink-line:hover{background:rgba(58,6,17,.08);border-color:var(--yel-ink)}
.btn-red{background:var(--red);color:var(--on-red)}
.btn-red:hover{background:var(--red-3)}

/* ---------- Header ---------- */
.hdr{color:var(--on-red);transition:background-color .35s,box-shadow .35s}
.hdr.scrolled{background:rgba(118,11,32,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px -18px rgba(0,0,0,.7)}
.brand svg{height:50px;width:auto}
@media (max-width:520px){.brand svg{height:40px}}
.nav a{font-weight:600;font-size:.9688rem}
.lang{border-color:var(--line-2)}
.lang span{color:var(--on-red-2)}
.lang span.on{background:var(--on-red);color:var(--red)}
.burger{border-color:var(--line-2)}
.drawer-nav a{border-color:var(--line)}

/* ---------- Tulle (golden net from the wrapping counter) ---------- */
.tulle{position:absolute;inset:-16px -14px;border-radius:44px;background:var(--mesh),rgba(246,195,67,.1);transform:rotate(-2.2deg);pointer-events:none;
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 62%,rgba(0,0,0,.55) 82%,transparent 100%);mask:radial-gradient(circle at 50% 50%,#000 62%,rgba(0,0,0,.55) 82%,transparent 100%)}

/* ---------- Hero ---------- */
.hero{padding:clamp(20px,4vw,48px) 0 clamp(56px,7vw,96px);position:relative}
.hero-grid{display:grid;gap:clamp(36px,5vw,72px);align-items:center}
@media (min-width:960px){.hero-grid{grid-template-columns:1.02fr .98fr}}
.hero h1{margin-bottom:var(--s5);max-width:15ch;font-size:clamp(2.5rem,1.5rem + 3.3vw,4.3rem)}
.hero .lead{max-width:40ch;font-size:clamp(1.0625rem,.95rem + .55vw,1.3rem)}

/* ---------- Satin ribbon band ---------- */
.band{position:relative;z-index:2;background:var(--satin);color:var(--red);transform:rotate(-1.2deg);margin:0 -2vw;box-shadow:0 14px 28px -18px rgba(0,0,0,.8);
  background-image:linear-gradient(180deg,rgba(255,255,255,.9),rgba(246,233,225,.0) 45%,rgba(214,190,180,.35))}
.band-in{list-style:none;margin:0 auto;padding:16px var(--gut);display:flex;flex-wrap:wrap;justify-content:center;gap:8px 0;max-width:var(--wrap)}
.band-in li{display:inline-flex;align-items:center;font-weight:700;font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase}
.band-in i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--yel);box-shadow:0 0 0 2px var(--red);margin:0 clamp(12px,2vw,24px)}
@media (max-width:640px){.band-in{justify-content:flex-start;gap:6px 0}.band-in li{font-size:.8125rem;width:100%}.band-in i{margin:0 10px 0 0}.band-in li:first-child::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--yel);box-shadow:0 0 0 2px var(--red);margin-right:10px}}

/* ---------- Composer: a word in roses ---------- */
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:0 16px;border:1.5px solid var(--line-2);border-radius:999px;font-weight:650;font-size:.9375rem;transition:background-color .25s,color .25s,border-color .25s}
.chip:hover span{border-color:var(--on-red)}
.chip input:checked+span{background:var(--yel);border-color:var(--yel);color:var(--yel-ink)}

/* ---------- Process: how a heart is made (pinned on desktop) ---------- */
.proc{background:var(--red);padding:clamp(72px,9vw,var(--s9)) 0}
.proc-grid{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
@media (min-width:1000px){.proc-grid{grid-template-columns:.9fr 1.1fr}.proc.live{padding:0}.proc.live .proc-pin{min-height:100svh;display:flex;align-items:center}}
.proc-steps{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;gap:var(--s5)}
.proc-steps li{display:grid;grid-template-columns:44px 1fr;gap:var(--s4);align-items:start;transition:opacity .45s var(--ease)}
.proc.live .proc-steps li{opacity:.55}
.proc.live .proc-steps li.on{opacity:1}
.proc-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--yel);color:var(--yel-ink);font-weight:850;font-size:1.0625rem}
.proc-steps h3{margin:6px 0 4px}
.proc-steps p{margin:0;color:var(--ink-2);max-width:42ch}

/* ---------- Claudio's hearts: a row to swipe ---------- */
.hearts-row{list-style:none;margin:0;padding:4px var(--gut) 18px;display:flex;gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-color:rgba(255,247,242,.35) transparent}
@media (min-width:1300px){.hearts-row{padding-inline:calc((100vw - var(--wrap)) / 2)}}
.hearts-row li{flex:none;width:clamp(230px,24vw,330px);scroll-snap-align:start}
.hearts-row .lb-open,.masonry .lb-open,.gal-grid .lb-open{display:block;width:100%;padding:0;border:0;background:var(--red-3);border-radius:var(--r-ph);overflow:hidden;cursor:zoom-in}
.hearts-row img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .9s var(--ease)}
.lb-open:hover img{transform:scale(1.04)}

/* ---------- Occasions: the yellow rose section ---------- */
.occ{background:var(--yel);color:var(--yel-ink);--line-2:rgba(58,6,17,.4)}
.occ h2 .it,.occ .split .it>span{color:var(--red)}
.occ .sec-head p{color:#5A1A24}
.occ-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2vw,28px) clamp(12px,2vw,28px);grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.occ-list{grid-template-columns:repeat(5,1fr)}}
@media (max-width:759px){.occ-i:last-child{grid-column:1/-1}.occ-i:last-child img{aspect-ratio:16/9}.occ-i h3{font-size:1.35rem}}
.occ-i{position:relative}
.occ-i figure{margin:0 0 var(--s4);border-radius:999px 999px 24px 24px;overflow:hidden;background:#E4A92C;box-shadow:0 22px 40px -26px rgba(58,6,17,.7)}
.occ-i img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .9s var(--ease)}
.occ-i:hover img{transform:scale(1.04)}
.occ-i .tag{position:absolute;top:14px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--yel);box-shadow:0 0 0 3px var(--red)}
.occ-i h3{font-family:var(--font-d);font-weight:400;font-size:1.6rem;color:var(--red);margin-bottom:4px}
.occ-i p{margin:0;color:#4A1520;font-size:.9688rem}

/* ---------- From far away: gift tags with real reviews ---------- */
.far-grid{display:grid;gap:clamp(36px,5vw,72px);align-items:start}
@media (min-width:1000px){.far-grid{grid-template-columns:.8fr 1.2fr}.far-copy{position:sticky;top:calc(var(--hdr-h) + 24px)}}
.far-copy p{color:var(--ink-2);max-width:44ch}
.far-copy .small a{color:var(--on-red)}
.tags{list-style:none;margin:0;padding:0;columns:1;column-gap:var(--s5)}
@media (min-width:640px){.tags{columns:2}}
.gift{break-inside:avoid;position:relative;margin:0 0 var(--s5);padding:28px 24px 22px 48px;background:var(--satin);color:var(--satin-ink);border-radius:6px 18px 18px 18px;transform:rotate(var(--rot,0deg));box-shadow:0 18px 30px -20px rgba(0,0,0,.85)}
.js .gift[data-rv]{transform:translateY(14px) rotate(var(--rot,0deg))}
.js .gift[data-rv].in{transform:rotate(var(--rot,0deg))}
.gift-hole{position:absolute;left:16px;top:22px;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.gift-hole::after{content:"";position:absolute;left:6px;top:-30px;width:2px;height:34px;background:var(--yel);transform:rotate(-14deg);transform-origin:bottom;border-radius:2px}
.gift-from{margin:0 0 8px;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--satin-mute)}
.gift-from b{color:var(--red)}
.gift blockquote{margin:0}
.gift blockquote p{margin:0 0 10px;font-size:1.0625rem;line-height:1.5}
.gift-who{margin:0;font-size:.875rem;font-weight:650;color:var(--satin-mute)}

/* ---------- Condolences: a white satin panel ---------- */
.satin{display:grid;background:var(--satin);color:var(--satin-ink);border-radius:36px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
@media (min-width:900px){.satin{grid-template-columns:.85fr 1.15fr}}
.satin-ph{margin:0;min-height:320px;background:var(--satin-2)}
.satin-ph img{width:100%;height:100%;object-fit:cover}
.satin-copy{padding:clamp(28px,5vw,72px)}
.satin-copy h2{color:var(--red)}
.satin-copy p{max-width:48ch}
.satin-copy .small{color:var(--satin-mute)}
.dedica{margin:var(--s6) 0 var(--s5);display:flex}
.dedica span{display:inline-block;background:var(--fern);color:#F3E3B5;font-family:var(--font-d);font-size:clamp(1.05rem,.9rem + .6vw,1.35rem);padding:12px 44px;transform:rotate(-1.5deg);clip-path:polygon(0 0,100% 0,calc(100% - 18px) 50%,100% 100%,0 100%,18px 50%);box-shadow:0 10px 20px -12px rgba(0,0,0,.5)}

/* ---------- Ordering ---------- */
.ord{background:var(--red-2)}
.ways{list-style:none;margin:0 0 var(--s7);padding:0;display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.ways a{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:24px 22px 26px;border-radius:var(--r-card);border:1.5px solid var(--line);background:rgba(255,247,242,.05);text-decoration:none;transition:border-color .25s,background-color .25s,transform .35s var(--ease)}
.ways a:hover{border-color:var(--yel);background:rgba(255,247,242,.09);transform:translateY(-3px)}
.ways-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--yel);color:var(--yel-ink);margin-bottom:10px}
.ways b{font-size:1.1875rem}
.ways span{color:var(--ink-2);font-size:.9688rem}
.ways-go{position:absolute;top:22px;right:20px;color:var(--muted)}
.ord-grid{display:grid;gap:var(--s5);align-items:start}
@media (min-width:960px){.ord-grid{grid-template-columns:1.15fr .85fr}}
.tulle-card{position:relative;isolation:isolate;padding:clamp(24px,3vw,40px);margin:12px;border-radius:22px;background-color:var(--red-3)}
.tulle-card::before{content:"";position:absolute;inset:-12px;z-index:-1;border-radius:32px;background:var(--mesh);background-color:rgba(246,195,67,.12)}
.tulle-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:22px;background:var(--red-3)}
.zones h3,.pay h3{font-family:var(--font-d);font-weight:400;font-size:clamp(1.6rem,1.2rem + 1vw,2.1rem);margin-bottom:8px}
.zone-chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0 var(--s5)}
.zone-chips button{min-height:44px;padding:0 15px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--red-2);color:var(--on-red);font-weight:650;font-size:.9375rem;transition:background-color .2s,color .2s,border-color .2s}
.zone-chips button:hover{border-color:var(--on-red)}
.zone-chips button[aria-checked="true"]{background:var(--yel);border-color:var(--yel);color:var(--yel-ink)}
.zone-out{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:0 0 var(--s5);padding:18px 22px;border-radius:18px;background:var(--satin);color:var(--satin-ink)}
.zone-out span{font-weight:700;font-size:1.0625rem}
.zone-out b{font-family:var(--font-d);font-weight:400;font-size:2.2rem;line-height:1.1;color:var(--red);font-variant-numeric:tabular-nums}
.zone-out small{color:var(--satin-mute);font-size:.9375rem}
.zone-out small:empty{display:none}
.pay{padding:clamp(24px,3vw,40px);border-radius:28px;background:var(--satin);color:var(--satin-ink)}
.pay h3{color:var(--red)}
.pay .small{color:var(--satin-mute)}
.pay-list{margin:var(--s4) 0 var(--s5);display:grid;gap:var(--s4)}
.pay-list div{display:grid;gap:2px}
.pay-list dt{font-weight:750}
.pay-list dd{margin:0}
.pay-marks{list-style:none;margin:0 0 var(--s5);padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pay-marks li{padding:7px 13px;border-radius:999px;border:1.5px solid #E3C9C0;font-weight:650;font-size:.875rem}
.pay-marks .pm-satispay{background:#D42F28;border-color:#D42F28;color:#fff}
.satispay{padding:16px 18px;border-radius:16px;background:var(--satin-2);margin-bottom:var(--s4)}
.satispay p{margin:0}
.satispay p+p{margin-top:4px}
.satispay .code{display:inline-block;padding:2px 10px;margin:0 2px;border-radius:8px;background:var(--yel);color:var(--yel-ink);font-weight:850;letter-spacing:.08em}

/* ---------- Shop ---------- */
.shop-grid{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
@media (min-width:960px){.shop-grid{grid-template-columns:1.1fr .9fr}}
.shop-ph{margin:0;border-radius:var(--r-ph);overflow:hidden;box-shadow:0 30px 60px -32px rgba(0,0,0,.9)}
.shop-ph img{width:100%;aspect-ratio:16/10;object-fit:cover}
.js .shop-ph[data-clip]{clip-path:inset(0 0 100% 0 round var(--r-ph));transition:clip-path 1.1s var(--ease)}
.js .shop-ph[data-clip].in{clip-path:inset(0 0 0 0 round var(--r-ph))}
.shop-copy>p{color:var(--ink-2);max-width:44ch}
.hours-card{background:var(--satin);color:var(--satin-ink);border:0;margin-top:var(--s5)}
.hours-card .hc-t{font-family:var(--font-d);font-weight:400;color:var(--red)}
.hours-card .small{color:var(--satin-mute);margin:12px 0 0}
.hours th,.hours td{border-color:#EAD8D0}
.hours th{padding-right:12px;white-space:nowrap}
@media (max-width:520px){.hours td{font-size:.875rem}}
.hc-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px}
.hc-top .hc-t{margin:0}
.hc-top .status{margin:0}

/* ---------- FAQ ---------- */
.faq{background:var(--red-2)}
.faq-grid{display:grid;gap:var(--s6)}
@media (min-width:960px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:var(--s8)}}
.faq-list{border-top:1.5px solid var(--yel)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s5);padding:22px 0;cursor:pointer;list-style:none;font-weight:700;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.35}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{color:var(--yel)}
.faq-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line-2);transition:transform .45s var(--ease),background-color .3s,color .3s}
.faq-list details[open] .faq-ic{transform:rotate(45deg);background:var(--yel);border-color:var(--yel);color:var(--yel-ink)}
.faq-list details>p{margin:0;padding:0 0 22px;color:var(--ink-2);max-width:62ch;overflow:hidden}

/* ---------- Final ---------- */
.final{background:var(--yel);color:var(--yel-ink);padding:clamp(80px,10vw,128px) 0;text-align:center;overflow:hidden}
.final-in{display:grid;justify-items:center}
.final-mark{width:clamp(96px,12vw,150px);margin-bottom:var(--s5)}
.final-mark svg{width:100%;height:auto;overflow:visible}
.final h2{color:var(--red);max-width:16ch}
.final h2 .it,.final .split .it>span{color:var(--yel-ink)}
.final p{font-size:1.125rem;max-width:44ch}
.final .cta-row{justify-content:center;margin-top:var(--s5)}
.final-social{list-style:none;margin:var(--s6) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s5)}
.final-social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:none;border-bottom:1.5px solid rgba(58,6,17,.35)}
.final-social a:hover{border-color:var(--yel-ink)}

/* ---------- Page heads, hearts page, gallery, contact ---------- */
.phero h1{max-width:16ch}
.crumbs{color:var(--on-red-2)}
.kinds-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(20px,3vw,36px);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.kinds-list figure{margin:0 0 var(--s4);border-radius:var(--r-ph);overflow:hidden}
.kinds-list img{width:100%;aspect-ratio:4/5;object-fit:cover}
.kinds-list h2{font-family:var(--font-d);font-weight:400;font-size:1.7rem;color:var(--yel)}
.kinds-list p{color:var(--ink-2);margin:0}
.masonry{list-style:none;margin:0;padding:0;columns:2;column-gap:var(--s4)}
@media (min-width:900px){.masonry{columns:3}}
.masonry li{break-inside:avoid;margin-bottom:var(--s4)}
.gal-filter{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s6)}
.gal-filter button{min-height:46px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line-2);background:transparent;color:var(--on-red);font-weight:700;font-size:.9688rem}
.gal-filter button small{font-weight:500;opacity:.75;margin-left:4px;font-variant-numeric:tabular-nums}
.gal-filter button[aria-selected="true"]{background:var(--yel);border-color:var(--yel);color:var(--yel-ink)}
.gal-grid{list-style:none;margin:0;padding:0;columns:2;column-gap:var(--s3)}
@media (min-width:700px){.gal-grid{columns:3}}
@media (min-width:1100px){.gal-grid{columns:4}}
.gal-grid li{break-inside:avoid;margin-bottom:var(--s3)}
.gal-grid li.off{display:none}
.gal-grid img{width:100%;height:auto;transition:transform .9s var(--ease)}
.lb{background:rgba(40,2,10,.97);color:var(--on-red)}
.lb::backdrop{background:rgba(40,2,10,.7)}
.lb[open]{display:grid;place-items:center}
.lb-fig{margin:0;display:grid;gap:var(--s3);justify-items:center;padding:72px 16px 32px}
.lb-fig img{max-width:min(92vw,1100px);max-height:80svh;width:auto;height:auto;object-fit:contain;border-radius:12px}
.lb-fig figcaption{color:var(--on-red-2);font-size:.9375rem;text-align:center;max-width:60ch}
.lb-x,.lb-nav{position:fixed;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-2);background:rgba(58,6,17,.7);color:var(--on-red);display:grid;place-items:center;padding:0}
.lb-x:hover,.lb-nav:hover{border-color:var(--yel);color:var(--yel)}
.lb-x{top:16px;right:16px}
.lb-nav{top:50%;margin-top:-26px}
.lb-prev{left:12px}.lb-prev .ic{transform:rotate(180deg)}
.lb-next{right:12px}
.quick a{background:rgba(255,247,242,.06);border-color:var(--line-2);color:var(--on-red)}
.quick a:hover{border-color:var(--yel)}
.quick span{color:var(--on-red-2)}
.quick b{color:var(--on-red)}
.contact-ph{margin:0;border-radius:var(--r-ph);overflow:hidden}
.contact-ph img{width:100%;aspect-ratio:16/10;object-fit:cover}
.form-card,.map-card{background:var(--satin);color:var(--satin-ink);border:0}
.form-card h2{color:var(--red)}
.form-card .small,.map-card .small,.map-card .mf-where{color:var(--satin-mute)}
.form-card a{color:var(--red)}
.f input,.f select,.f textarea{color:var(--satin-ink)}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(179,19,47,.18)}
.consent input{accent-color:var(--rose)}
.form-card .btn-main{background:var(--red);color:var(--on-red)}
.map{--map-bg:var(--satin-2)}
.map-card .btn-line{color:var(--red);border-color:rgba(140,14,38,.45)}
.map-card .btn-main{background:var(--red);color:var(--on-red)}
.phero-legal{padding-bottom:0}
.prose a{color:var(--yel)}
.nf-n{color:var(--yel)}

/* ---------- Footer, mobile bar, cookie ---------- */
.ftr-logo svg{height:58px;width:auto}
.ftr-about{color:var(--on-red-2);opacity:1}
.ftr-bot{border-color:rgba(255,247,242,.16)}
.mbar a.mbar-main{color:var(--yel-ink)}
.cookie{color:var(--satin-ink)}
.cookie .btn-line{color:var(--red);border-color:rgba(140,14,38,.45)}
.cookie .btn-line:hover{background:rgba(140,14,38,.06)}
.cookie .btn-main{background:var(--red);color:var(--on-red)}
.cookie a{color:var(--red)}
.cookie-t{font-family:var(--font-b);font-weight:800}

/* ---------- Reduced motion: everything visible, no pin ---------- */
@media (prefers-reduced-motion:reduce){
  .js [data-rv],.js .gift[data-rv]{opacity:1;transform:rotate(var(--rot,0deg))}
  .js .split .w>span{transform:none}
  .js .shop-ph[data-clip]{clip-path:none}
}


/* ---------- v2.1: the studio set (polished photos on satin) ---------- */
.studio{position:absolute;inset:0;border-radius:36px;background:radial-gradient(120% 90% at 50% 38%,#FFFCF8 0%,#F7EEE7 55%,#EBDDD4 100%);box-shadow:0 34px 70px -34px rgba(0,0,0,.75),inset 0 -40px 60px -40px rgba(120,60,50,.18)}
.hero-stage{position:relative;margin:0 auto;width:min(100%,620px);aspect-ratio:1/1}
.hero-stage .tulle{transform:rotate(3deg)}
.hs{position:absolute;display:block}
.hs img{width:100%;height:auto;filter:drop-shadow(0 18px 18px rgba(80,30,30,.28)) drop-shadow(0 4px 4px rgba(80,30,30,.18))}
.hs i{position:absolute;font-style:normal;background:var(--red);color:var(--satin);font-weight:750;font-size:.8125rem;letter-spacing:.04em;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 16px -8px rgba(0,0,0,.5)}
.hs-b{width:44%;left:5%;top:9%;z-index:1}
.hs-b i{left:4%;top:-3%}
.hs-a{width:46%;right:4%;top:5%;z-index:2}
.hs-a i{right:2%;top:-2%}
.hs-c{width:42%;left:29%;bottom:5%;z-index:3}
.hs-c i{left:50%;transform:translateX(-50%);bottom:-5%}
.hero-from{margin:var(--s4) 0 0;color:var(--yel);font-weight:700;font-size:.9688rem}

.hc-online{display:flex;align-items:center;gap:10px;margin:var(--s4) 0 var(--s2);padding:10px 14px;border-radius:12px;background:var(--red);color:var(--on-red);font-weight:600;line-height:1.35}
.hc-online .ic{flex:none;color:var(--yel)}
.ftr-online b{color:var(--yel);font-weight:600}

.proc-stage{position:relative;aspect-ratio:1/1;border-radius:36px}
.pf{position:absolute;inset:7% 8% 15%;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}
.pf.on{opacity:1;visibility:visible;transition:opacity .5s}
.pf img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(80,30,30,.3))}
.pf figcaption{position:absolute;left:0;right:0;bottom:-14%;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pt{background:var(--red);color:var(--satin);font-weight:700;font-size:.875rem;padding:7px 14px;border-radius:999px}
.proc-copy .btn{margin-top:var(--s6)}

/* ===== v2.3 Online shop (Webflora catalogue and order form, fused into the site) ===== */
.shop2{background:var(--red-2)}
.sh-nojs{background:var(--satin);color:var(--satin-ink);padding:16px 20px;border-radius:16px}
.sh-nojs a{color:var(--red);font-weight:700}
.sh{display:grid;gap:var(--s6);align-items:start}
@media (min-width:1080px){.sh{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s6) 40px}.sh-sum{position:sticky;top:calc(var(--hdr-h,80px) + 16px)}}
.sh-main{display:grid;gap:var(--s5);min-width:0}
.sh-step{margin:0;border:0;min-width:0;background:var(--satin);color:var(--satin-ink);border-radius:28px;padding:clamp(20px,3vw,32px);display:grid;gap:var(--s5)}
.sh-step legend{float:left;width:100%;padding:0;margin:0;display:flex;align-items:center;gap:14px;font-family:var(--font-d);font-weight:400;font-size:clamp(1.45rem,1.15rem + .9vw,1.9rem);line-height:1.2;color:var(--red)}
.sh-step legend+*{clear:both}
.sh-n{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--red);color:var(--yel);font-family:var(--font-b);font-weight:800;font-size:1.0625rem}
.sh-l,.sh-f>span{display:block;font-weight:700;font-size:.9375rem;margin:0 0 8px;color:var(--satin-ink)}
.sh-f{display:block;margin:0;min-width:0}
.sh-f small{display:block;margin-top:8px;color:var(--satin-mute);font-size:.875rem;line-height:1.45}
.sh-row{display:grid;gap:var(--s4)}
@media (min-width:640px){.sh-row{grid-template-columns:1fr 1fr}}
.sh input[type=text],.sh input[type=tel],.sh input[type=date],.sh textarea,.sh select{width:100%;min-height:50px;padding:10px 16px;border-radius:14px;border:1.5px solid #E2CFC6;background:#fff;color:var(--satin-ink);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.sh textarea{min-height:120px;resize:vertical;line-height:1.5}
.sh input::placeholder,.sh textarea::placeholder{color:#A88A8F}
.sh input:focus,.sh textarea:focus,.sh select:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px rgba(179,19,47,.14)}
.sh [aria-invalid]{border-color:var(--rose)!important;background:#FFF1F2!important}
.sh .bad>.sh-l,.sh .bad>span{color:var(--rose)}
.sh-pane.bad .sh-grid{outline:2px dashed var(--rose);outline-offset:8px;border-radius:20px}
/* chips on satin */
.sh .chip span{border-color:#E2CFC6;color:var(--satin-ink);background:#fff}
.sh .chip:hover span{border-color:var(--red)}
.sh .chip input:checked+span{background:var(--red);border-color:var(--red);color:var(--on-red)}
.sh .chip input:focus-visible+span,.sh-tab input:focus-visible+span,.sh-zone input:focus-visible+span,.sh-pay input:focus-visible+span,.sh-item input:focus-visible~.sh-add{outline:3px solid var(--yel);outline-offset:3px}
.sh select[name=price_other]{width:auto;min-height:46px;border-radius:999px;padding:0 16px}
/* tabs */
.sh-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border-radius:20px;background:var(--satin-2)}
.sh-tab{position:relative;cursor:pointer}
.sh-tab input{position:absolute;opacity:0;width:1px;height:1px}
.sh-tab span{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;min-height:56px;padding:8px 12px;border-radius:15px;font-weight:750;text-align:center;color:var(--satin-ink);transition:background-color .25s,color .25s,box-shadow .25s}
.sh-tab small{font-weight:600;font-size:.8125rem;color:var(--satin-mute)}
.sh-tab input:checked+span{background:var(--red);color:var(--on-red);box-shadow:0 10px 22px -14px rgba(58,6,17,.8)}
.sh-tab input:checked+span small{color:var(--on-red-3)}
/* catalogue grid */
.sh-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:700px){.sh-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:1300px){.sh-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sh-item label{position:relative;display:flex;flex-direction:column;height:100%;cursor:pointer;border-radius:20px;background:#fff;border:2px solid transparent;box-shadow:0 1px 0 #EADBD3;transition:border-color .25s,box-shadow .25s,transform .25s}
.sh-item label:hover{box-shadow:0 14px 28px -18px rgba(58,6,17,.45)}
.sh-item input{position:absolute;opacity:0;width:1px;height:1px}
.sh-item:has(input:checked) label{border-color:var(--red);box-shadow:0 14px 28px -18px rgba(58,6,17,.55)}
.sh-ph{display:block;aspect-ratio:1;border-radius:18px 18px 0 0;overflow:hidden;background:#F6EEE8}
.sh-ph img{width:100%;height:100%;object-fit:cover;display:block}
.sh-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 8px;padding:12px 14px 4px}
.sh-meta b{font-size:.9375rem;font-weight:700;line-height:1.3;color:var(--satin-ink)}
.sh-meta em{font-style:normal;font-family:var(--font-d);font-size:1.35rem;line-height:1.2;color:var(--red)}
.sh-add{margin:auto 12px 12px;display:grid}
.sh-add>span{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:999px;font-weight:750;font-size:.875rem;transition:opacity .2s}
.sh-add .a{border:1.5px solid #E2CFC6;color:var(--satin-ink)}
.sh-add .d{background:var(--red);color:var(--on-red);opacity:0}
.sh-item input:checked~.sh-add .a{opacity:0}
.sh-item input:checked~.sh-add .d{opacity:1}
/* zones */
.sh-zones{display:grid;gap:8px}
@media (min-width:640px){.sh-zones{grid-template-columns:1fr 1fr}}
.sh-zone{position:relative;cursor:pointer}
.sh-zone input,.sh-pay input{position:absolute;opacity:0;width:1px;height:1px}
.sh-zone span{display:flex;align-items:center;justify-content:space-between;gap:12px;height:100%;min-height:58px;padding:10px 16px;border-radius:16px;border:1.5px solid #E2CFC6;background:#fff;transition:border-color .2s,background-color .2s}
.sh-zone b{font-weight:650;font-size:.9375rem;line-height:1.35}
.sh-zone em{flex:none;font-style:normal;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums}
.sh-zone input:checked+span{border-color:var(--red);background:#FFF4F1;box-shadow:inset 0 0 0 1px var(--red)}
.sh-msg{margin:0;padding:12px 16px;border-radius:14px;background:#FFF1F2;color:var(--rose);font-weight:650}
.sh-pickup{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px 16px;border-radius:16px;background:#EFF6F0;color:var(--fern);font-weight:600}
.sh-pickup .ic{flex:none;margin-top:2px}
.sh-to{display:grid;gap:var(--s4)}
.sh-to>.sh-l{margin:0}
/* payment */
.sh-pays{display:grid;gap:10px}
@media (min-width:640px){.sh-pays{grid-template-columns:1fr 1fr}}
.sh-pay{position:relative;cursor:pointer}
.sh-pay span{position:relative;display:grid;gap:4px;height:100%;padding:16px 70px 16px 18px;border-radius:18px;border:1.5px solid #E2CFC6;background:#fff;transition:border-color .2s,background-color .2s}
.sh-pay b{font-size:1.0625rem}
.sh-pay small{color:var(--satin-mute);font-size:.875rem;line-height:1.4}
.sh-pay i{position:absolute;top:16px;right:16px;font-style:normal}
.sh-pp{font-weight:900;font-style:italic!important;color:#003087;font-size:1rem;letter-spacing:-.02em}
.sh-bt{color:var(--fern)}
.sh-pe{font-weight:900;font-size:.8125rem;color:#1B3F8B;background:#FFE14D;padding:3px 8px;border-radius:6px;letter-spacing:-.01em}
@media (min-width:640px){.sh-pays{grid-template-columns:repeat(3,1fr)}}
.sh-pay input:checked+span{border-color:var(--red);background:#FFF4F1;box-shadow:inset 0 0 0 1px var(--red)}
.sh-iban{margin-top:12px;padding:16px 18px;border-radius:16px;background:var(--satin-2);display:grid;gap:4px}
.sh-iban p{margin:0}
.sh-iban span{color:var(--satin-mute);font-size:.875rem;margin-right:6px}
.sh-iban .mono{font-variant-numeric:tabular-nums;letter-spacing:.04em;word-break:break-all}
/* summary */
.sh-card{background:var(--satin);color:var(--satin-ink);border-radius:28px;padding:24px;display:grid;gap:14px;box-shadow:0 30px 60px -40px rgba(0,0,0,.6)}
.sh-sum-t{margin:0;font-family:var(--font-d);font-size:1.5rem;color:var(--red)}
.sh-lines{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sh-lines li{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem}
.sh-lines li b{flex:none;font-variant-numeric:tabular-nums}
.sh-lines li.del{padding-top:8px;border-top:1px dashed #E2CFC6;color:var(--satin-mute)}
.sh-empty{margin:0;color:var(--satin-mute);font-size:.9375rem}
.sh-tot{display:flex;justify-content:space-between;align-items:baseline;margin:4px 0 0;padding-top:12px;border-top:1.5px solid #E2CFC6;font-weight:700}
.sh-tot b{font-family:var(--font-d);font-weight:400;font-size:2.2rem;line-height:1.1;color:var(--red);font-variant-numeric:tabular-nums}
.sh-go{width:100%;justify-content:center;min-height:56px;font-size:1.0625rem}
.sh-go[disabled]{opacity:.6;cursor:progress}
.sh-safe{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--satin-mute)}
.sh-safe .ic{flex:none;margin-top:2px}
.sh-status{margin:0;padding:12px 14px;border-radius:14px;background:var(--satin-2);font-weight:650}
.sh-status.ok{background:#EFF6F0;color:var(--fern)}
.sh-status.err{background:#FFF1F2;color:var(--rose)}
.sh-status a{color:inherit;font-weight:800}
@media (max-width:1079px){.sh-sum{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:5}.sh-card{padding:16px 18px;gap:10px;border-radius:22px}.sh-card .sh-lines,.sh-card .sh-sum-t,.sh-card .sh-safe,.sh-card .sh-empty{display:none}.sh-tot{margin:0;padding:0;border:0}.sh-tot b{font-size:1.7rem}}
/* home shelf */
.cat{background:var(--red-2)}
.cat-shelf{list-style:none;margin:0 0 var(--s6);padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:900px){.cat-shelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}
.cat-shelf a{display:flex;flex-direction:column;height:100%;border-radius:22px;background:var(--satin);color:var(--satin-ink);text-decoration:none;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.cat-shelf a:hover{transform:translateY(-4px);box-shadow:0 24px 40px -26px rgba(0,0,0,.7)}
.cat-shelf .sh-ph{border-radius:0}
.cat-go{display:inline-flex;align-items:center;gap:6px;margin:auto 14px 14px;font-weight:750;font-size:.9375rem;color:var(--red)}
.btn-red-line{border:1.5px solid rgba(140,14,38,.45);color:var(--red)}
.btn-red-line:hover{border-color:var(--red);background:rgba(140,14,38,.06)}
.ord-more{margin:0 0 var(--s6)}
