@import url('https://fonts.googleapis.com/css2?family=Caveat+Brush&display=swap');

/* ===== Fiche produit ===== */
.sec.fp{padding-top:40px}
.fil{max-width:1180px!important;margin:0 auto 18px;font-size:.84rem;color:var(--encre-d)}
.fil a{color:var(--encre-d)}
.fp-grille{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:54px;max-width:1180px!important;margin:0 auto;align-items:start}
.galerie-p{position:sticky;top:110px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px}.galerie-p.une{grid-template-columns:minmax(0,1fr)}
.vignettes{display:grid;gap:10px;align-content:start}
.vignettes button{border:0;padding:0;background:#fff;cursor:pointer;box-shadow:0 0 0 2px transparent,0 3px 8px -4px rgba(80,50,30,.45);transition:box-shadow .2s}
.vignettes button[aria-current=true]{box-shadow:0 0 0 3px var(--rose),0 3px 8px -4px rgba(80,50,30,.45)}
.vignettes img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.grande{position:relative;background:#fffdf8;padding:12px 12px 14px;transform:rotate(-1deg);box-shadow:0 2px 3px rgba(80,50,30,.12),0 22px 30px -20px rgba(80,50,30,.5)}
.grande .zoom{aspect-ratio:4/5;background:#f3ece2}
.grande .zoom img{display:block;width:100%;height:100%;object-fit:cover}
.grande .zoom.zz img{transform:scale(1.6)}
.grande .etiq{top:22px;left:-10px}
@media (hover:none){.grande .loupe-ind{display:block}.grande .zoom.zz .loupe-ind{opacity:0}}
.infos-p .surtitre{margin-bottom:6px}
.infos-p h1{margin:0 0 10px;font-size:clamp(2.1rem,3.4vw,2.9rem)}
.prix-p{font:800 1.5rem/1 var(--f-texte);color:var(--rose-f);margin:0}
.prix-note{font-size:.82rem;color:var(--encre-d);margin:6px 0 18px}
.court{color:var(--encre);margin:0 0 22px;max-width:52ch}
.opt{border:0;margin:0 0 18px;padding:0}
.opt legend{font:800 .82rem/1 var(--f-texte);letter-spacing:.06em;text-transform:uppercase;color:var(--prune);margin-bottom:10px}
.opt legend span{font-weight:600;text-transform:none;letter-spacing:0;color:var(--encre-d)}
.pastilles{display:flex;flex-wrap:wrap;gap:8px}
.pastilles label{position:relative;cursor:pointer}
.pastilles input{position:absolute;opacity:0;pointer-events:none}
.pastilles span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 7px;border-radius:999px;background:#fff6e9;box-shadow:inset 0 0 0 2px rgba(74,26,47,.18);font:700 .88rem/1.1 var(--f-texte);color:var(--prune);transition:background .2s,box-shadow .2s}
.pastilles img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:50% 35%;margin:-4px 0 -4px -8px}
.pastilles input:checked+span{background:#fff;box-shadow:inset 0 0 0 3px var(--rose)}
.pastilles input:focus-visible+span{outline:3px dashed var(--rose);outline-offset:2px}
.champ-prenom input{width:100%;max-width:340px;box-sizing:border-box;border:0;border-bottom:2px dashed rgba(74,26,47,.35);background:transparent;font:400 1.4rem/1.3 var(--f-main);color:var(--prune);padding:4px 4px 6px;outline:none}
.sel-tome{width:100%;max-width:420px;box-sizing:border-box;border:1.5px solid rgba(74,26,47,.25);border-radius:12px;background:#fffdf8;font:500 1rem/1.3 var(--f-texte);color:var(--prune);padding:12px 40px 12px 14px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--prune) 50%),linear-gradient(135deg,var(--prune) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer}.sel-tome:focus{outline:2px solid var(--rose);outline-offset:2px}.ded-pour{margin-top:14px}@media (min-width:821px){.galerie-p{align-items:start}.galerie-p .vignettes{max-height:min(80vh,700px);overflow-y:auto;scrollbar-width:thin;padding-right:2px}}.ver-pren{margin-top:14px}.ver-pren[hidden]{display:none}.apercu-nom{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:'Caveat Brush','Caveat',cursive;line-height:1;white-space:nowrap;pointer-events:none;color:var(--c,#4a1a2f);text-shadow:0 0 1px #fff8ea,1.5px 0 0 #fff8ea,-1.5px 0 0 #fff8ea,0 1.5px 0 #fff8ea,0 -1.5px 0 #fff8ea,1.2px 1.2px 0 #fff8ea,-1.2px -1.2px 0 #fff8ea,1.2px -1.2px 0 #fff8ea,-1.2px 1.2px 0 #fff8ea;opacity:.96;transition:opacity .25s}.apercu-nom[hidden]{display:none}.apercu-nom.nom-fonce{opacity:.95}.apercu-nom.nom-fonce.zone-unie{mix-blend-mode:multiply;text-shadow:none}.apercu-nom.nom-clair{opacity:.97;text-shadow:0 0 1px rgba(40,20,30,.55),0 1px 3px rgba(40,20,30,.3)}.zoom:hover .apercu-nom,.zoom.zz .apercu-nom{opacity:0}.demande-livre .dl-t{font:700 .8rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--prune);margin:4px 0 10px}.dl-ch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.dl-ch input{width:100%;box-sizing:border-box;border:0;border-bottom:2px dashed rgba(74,26,47,.35);background:transparent;font:400 1rem/1.3 var(--f-texte);color:var(--prune);padding:8px 4px;outline:none}.dl-ch input:focus{border-bottom-color:var(--rose)}.dl-err{color:#b3261e;font-size:.85rem;margin:-6px 0 12px}.dl-ok{background:#fff3b0;border-radius:10px;padding:12px 14px;margin:14px 0 0;font-size:.95rem}@media (max-width:480px){.dl-ch{grid-template-columns:1fr}}.ded-pour[hidden]{display:none}
.champ-prenom input:focus{border-bottom-color:var(--rose)}
.champ-prenom small{display:block;font-size:.76rem;color:var(--encre-d);margin-top:6px}
.achat{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 22px}
.achat .qte{margin:0;height:48px}
.achat .qte button{width:40px;height:48px;font-size:1.15rem}
.achat .btn{flex:1;min-width:220px}
.garanties{display:grid;gap:10px;margin:0 0 26px;padding:0;list-style:none}
.garanties li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;font-size:.88rem;color:var(--encre)}
.garanties .ic{--s:34px;width:34px;height:34px}
.garanties li:hover .ic .co{clip-path:circle(150% at 25% 80%)}.garanties li:hover .ic .cr{opacity:0}.garanties .ic .cr{transition:opacity .2s}
@media (hover:none){.garanties .ic .co{clip-path:circle(150% at 25% 80%)}.garanties .ic .cr{opacity:0}}
.accordeons details{border-top:1px dashed rgba(74,26,47,.28)}
.accordeons details:last-child{border-bottom:1px dashed rgba(74,26,47,.28)}
.accordeons summary{list-style:none;cursor:pointer;padding:14px 32px 14px 2px;font:700 1.35rem/1.1 var(--f-main);color:var(--prune);position:relative}
.accordeons summary::-webkit-details-marker{display:none}
.accordeons summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:700 1.5rem/1 var(--f-main);color:var(--rose)}
.accordeons details[open] summary::after{content:"–"}
.accordeons .contenu{padding:0 2px 16px;font-size:.92rem;color:var(--encre)}
.accordeons ul{margin:0;padding-left:20px}.accordeons li{margin:3px 0}
.accordeons p{margin:0 0 8px}
.aussi .grille-prod{grid-template-columns:repeat(4,minmax(0,1fr))}
.complete{background:#fffdf8;padding:14px 16px 6px;margin:0 0 24px;box-shadow:0 2px 3px rgba(80,50,30,.1),0 14px 20px -16px rgba(80,50,30,.4);transform:rotate(-.4deg)}
.complete .titre-c{margin:0 0 6px;font:700 1.35rem/1 var(--f-main);color:var(--prune)}
.complete ul{list-style:none;margin:0;padding:0}
.complete li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-top:1px dashed rgba(74,26,47,.15)}
.complete li:first-child{border-top:0}
.complete img{width:56px;height:70px;object-fit:cover;display:block}
.complete b{display:block;font:700 1.08rem/1.1 var(--f-main);color:var(--prune)}
.complete a{text-decoration:none}
.complete span{font:800 .85rem/1 var(--f-texte);color:var(--rose-f)}
.ajout-rapide{border:0;cursor:pointer;background:#fff6e9;box-shadow:inset 0 0 0 2px rgba(74,26,47,.18);border-radius:999px;padding:8px 12px;font:700 .82rem/1 var(--f-texte);color:var(--prune);white-space:nowrap}
a.ajout-rapide{text-decoration:none;display:inline-block}@media (max-width:640px){.ajout-rapide{min-height:38px;padding:11px 14px!important}}
table.guide{width:100%;border-collapse:collapse;font-size:.86rem;margin:6px 0 8px}table.guide th,table.guide td{text-align:left;padding:6px 8px;border-bottom:1px dashed rgba(74,26,47,.2)}table.guide th{color:var(--prune);font-weight:800}table.guide tbody tr:nth-child(odd){background:rgba(255,213,79,.12)}.note-g{font-size:.8rem;color:var(--encre-d)}
.pastilles a.pl{text-decoration:none}.pastilles a.pl:hover span{box-shadow:inset 0 0 0 2px var(--rose)}.pastilles a.pl[aria-current] span{background:#fff;box-shadow:inset 0 0 0 3px var(--rose)}
.ariane{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;font:600 .8rem/1.3 var(--f-texte);color:var(--encre-d)}.ariane a{color:var(--encre-d)!important;font-weight:600!important;text-decoration:none}.ariane a:hover{color:var(--rose-f)!important;text-decoration:underline}.ariane span{color:#c9b6a8}
.perso-dem{margin:4px 0 18px;border-top:1px dashed rgba(74,26,47,.2);border-bottom:1px dashed rgba(74,26,47,.2);padding:2px 0}.perso-dem summary{cursor:pointer;list-style:none;font:700 .95rem/1 var(--f-texte);color:var(--prune);padding:12px 0}.perso-dem summary::-webkit-details-marker{display:none}.perso-dem summary::before{content:"+";display:inline-block;width:18px;color:var(--rose)}.perso-dem[open] summary::before{content:"−"}.perso-dem summary span{font-weight:600;color:var(--encre-d)}
.perso-dem .contenu{padding:0 0 14px}.perso-dem label{display:block;font:700 .85rem/1 var(--f-texte);color:var(--prune);margin-bottom:6px}.perso-dem textarea{width:100%;box-sizing:border-box;border:2px solid rgba(74,26,47,.15);border-radius:6px;background:#fffdf8;font:400 .95rem/1.5 var(--f-texte);color:var(--encre);padding:10px 12px;resize:vertical}.perso-dem textarea:focus{outline:0;border-color:var(--rose)}.perso-dem small{display:block;margin-top:6px;font-size:.78rem;color:var(--encre-d)}
.video-fiche{margin:0 0 24px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;background:#fffdf8;padding:10px;box-shadow:0 2px 3px rgba(80,50,30,.1),0 14px 22px -14px rgba(80,50,30,.4);transform:rotate(-.6deg)}.video-fiche video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#efe6d8;display:block}.video-fiche figcaption{font-size:.9rem;line-height:1.55;color:var(--encre)}.video-fiche a{display:inline-block;margin-top:6px}
.lien-coll{margin:-8px 0 14px}.lien-coll a{font-weight:700}.perso-note{margin:0 0 20px;font-size:.85rem;color:var(--encre-d)}
.ajout-rapide:hover{background:var(--rose);color:#fff;box-shadow:none}
@media (max-width:980px){.fp-grille{grid-template-columns:1fr;gap:32px}.galerie-p{position:relative;top:auto;grid-template-columns:1fr}.vignettes{grid-template-columns:repeat(5,minmax(0,1fr));order:2}.achat .btn{min-width:0}}
@media (max-width:640px){.aussi .grille-prod{grid-template-columns:repeat(2,minmax(0,1fr))}}
.compo-l{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.compo-l li label,.compo-l li.bientot-c{display:grid;grid-template-columns:22px 46px 1fr auto;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;background:#fffdf8;box-shadow:inset 0 0 0 1.5px rgba(74,26,47,.14);cursor:pointer}
.compo-l li.bientot-c{grid-template-columns:22px 46px 1fr auto;opacity:.6;cursor:default}.compo-l .bientot-c .ph{grid-column:2;width:46px;height:46px;border-radius:6px;background:#f6ecdc}
.compo-l input{width:18px;height:18px;accent-color:#b93a63}.compo-l img{width:46px;height:46px;object-fit:cover;border-radius:6px}
.compo-l .nm{font:700 .9rem/1.2 var(--f-texte);color:var(--prune)}.compo-l .px{font:700 .85rem/1 var(--f-texte);color:var(--rose-f)}
.compo-l li label:has(input:checked){box-shadow:inset 0 0 0 2px #e2557f;background:#fff6f8}
.compo-t{display:flex;justify-content:space-between;margin:10px 2px 0;font-size:.88rem;color:var(--encre-d)}.compo-m{margin:6px 2px 0;font-weight:700;color:var(--rose-f);font-size:.88rem}
.compo-local{font-size:.86rem;color:var(--encre-d);margin:4px 0 12px}.compo-local a{color:var(--rose-f);font-weight:700}

/* ===== Carte-cadeau (rétabli 19 oct.) ===== */
.cc-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;max-width:1180px!important;margin:0 auto;align-items:start}
.cc-apercu{position:sticky;top:104px}
.onglets-ap{display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.onglets-ap button{border:0;cursor:pointer;font:700 .88rem/1 var(--f-texte);color:var(--prune);background:#fff6e9;box-shadow:inset 0 0 0 2px rgba(74,26,47,.18);padding:9px 16px;border-radius:999px}
.onglets-ap button[aria-pressed=true]{background:var(--rose);color:#fff;box-shadow:none}
.carte-cc{--a:#e2557f;--b:#fde4ec;position:relative;aspect-ratio:1.6;background:#fffdf8 url(../img/_r/pap-ivoire-l.webp) center/600px;box-shadow:0 2px 3px rgba(80,50,30,.12),0 26px 36px -22px rgba(80,50,30,.55);transform:rotate(-1.5deg);overflow:hidden;border-radius:4px;transition:transform .4s}
.carte-cc::before{content:"";position:absolute;inset:12px;border:3px solid var(--a);border-radius:3px;pointer-events:none}
.carte-cc::after{content:"";position:absolute;right:-12%;bottom:-30%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--b)}
.carte-cc .perso{position:absolute;right:5%;bottom:7%;height:82%;width:auto;max-width:47%;object-fit:contain;object-position:bottom;z-index:2;filter:drop-shadow(0 6px 8px rgba(80,50,30,.25))}
.carte-cc .txt{position:absolute;inset:8% 40% 8% 7%;z-index:2;display:flex;flex-direction:column}
.carte-cc .nw{white-space:nowrap}.carte-cc .k{line-height:1.5;font:800 .62rem/1 var(--f-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--a)}
.carte-cc .occ{font:700 clamp(1.15rem,2.2vw,1.65rem)/1.05 var(--f-main);color:var(--prune);margin:8px 0 2px}
.carte-cc .pour{font:400 clamp(.82rem,1.3vw,.95rem)/1.35 var(--f-texte);color:var(--encre)}
.carte-cc .mt{font:700 clamp(2rem,4.4vw,3.2rem)/1 var(--f-main);color:var(--a);margin-top:auto}
.carte-cc .pied-c{font:700 .64rem/1.35 var(--f-texte);color:var(--encre-d);margin-top:6px}
.carte-cc .code{font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em;color:var(--prune)}
.lettre-cc{display:none;position:relative;background:#fffdf8 url(../img/_r/pap-ivoire-l.webp) center/600px;padding:34px 30px 30px 74px;box-shadow:0 2px 3px rgba(80,50,30,.12),0 26px 36px -22px rgba(80,50,30,.55);transform:rotate(1deg);min-height:360px}
.lettre-cc.ligne{background:linear-gradient(90deg,transparent 54px,rgba(226,85,127,.45) 54px,rgba(226,85,127,.45) 55.5px,transparent 55.5px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(95,165,200,.38) 31px 32px) 0 27px/100% 32px,#fffdf8 url(../img/_r/pap-ivoire-l.webp) center/600px}
.lettre-cc.kraft{background:#d9bb92 url(../img/_r/pap-kraft-l.webp) center/420px;background-blend-mode:multiply;padding-left:34px}
.lettre-cc.ivoire{padding-left:34px}
.lettre-cc p{margin:0;font:400 1.3rem/32px var(--f-main);color:var(--prune);white-space:pre-wrap}
.lettre-cc .sig{margin-top:12px;text-align:right}
.lettre-cc img{position:absolute;right:16px;bottom:12px;width:90px;opacity:.95}
.vu-lettre .carte-cc{display:none}.vu-lettre .lettre-cc{display:block}
.mode-env{margin:16px auto 0;text-align:center;font-size:.85rem;color:var(--encre-d);max-width:44ch}
.cc-etape{border:0;margin:0 0 26px;padding:0}
.cc-etape legend{display:flex;align-items:center;gap:10px;font:700 1.55rem/1 var(--f-main);color:var(--prune);margin-bottom:12px}
.cc-etape legend i{font-style:normal;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rose);color:#fff;font:800 .9rem/1 var(--f-texte)}
.modeles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.modeles label{cursor:pointer;position:relative}
.modeles input{position:absolute;opacity:0}
.modeles span{display:grid;justify-items:center;align-content:start;gap:6px;height:100%;box-sizing:border-box;padding:10px 6px 8px;background:#fff;box-shadow:inset 0 0 0 2px rgba(74,26,47,.14);border-radius:6px;font:700 .82rem/1.1 var(--f-texte);color:var(--prune);text-align:center}
.modeles img{width:66px;height:66px;object-fit:contain}
.modeles input:checked+span{box-shadow:inset 0 0 0 3px var(--rose);background:#fff6f8}
.modeles input:focus-visible+span{outline:3px dashed var(--rose);outline-offset:2px}
.champs2{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.cc-champ label{display:block;font:700 .9rem/1.3 var(--f-texte);color:var(--prune);margin-bottom:4px}
.cc-champ input,.cc-champ select,.cc-champ textarea{width:100%;box-sizing:border-box;border:0;border-bottom:2px dashed rgba(74,26,47,.35);background:transparent;font:400 1.02rem/1.4 var(--f-texte);color:var(--encre);padding:6px 4px;outline:none;border-radius:0}
.cc-champ textarea{border:2px dashed rgba(74,26,47,.25);border-radius:6px;background:#fffdf8;min-height:140px;resize:vertical;padding:10px 12px}
.cc-champ input:focus,.cc-champ select:focus,.cc-champ textarea:focus{border-color:var(--rose)}
.cc-champ small{display:block;font-size:.74rem;color:var(--encre-d);margin-top:4px}
.autre-mt{display:none;margin-top:10px;max-width:180px}
.autre-mt.vu{display:block}
.env-detail{display:none;margin-top:12px}
.env-detail.vu{display:grid}
.total-cc{display:flex;justify-content:space-between;align-items:baseline;font:800 1.2rem/1 var(--f-texte);color:var(--prune);padding:14px 0;border-top:1px dashed rgba(74,26,47,.25);margin-top:6px}
.total-cc b{color:var(--rose-f);font-size:1.5rem}
@media (max-width:980px){.cc-grille{grid-template-columns:1fr;gap:30px}.cc-apercu{position:relative;top:auto}}
@media (max-width:560px){.carte-cc .nw{white-space:nowrap}.carte-cc .k{line-height:1.5;letter-spacing:.06em;font-size:.55rem}.modeles{grid-template-columns:repeat(2,minmax(0,1fr))}.champs2{grid-template-columns:1fr}.lettre-cc{padding-left:64px}.lettre-cc.kraft,.lettre-cc.ivoire{padding-left:26px}}