html{scroll-behavior:smooth}body{margin:0;background:#1e1429}
*,*::before,*::after{box-sizing:border-box}img,video{max-width:100%}
a{color:#f3b6cf;text-decoration:none}a:hover{color:#f8cfdf}
.stripes{background:repeating-linear-gradient(90deg,#221630 0 34px,#291b39 34px 68px)}
@keyframes floaty{0%,100%{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-12px)}}
.floaty{animation:floaty 6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.bob{animation:bob 5s ease-in-out infinite}
@keyframes wiggle{0%,90%,100%{transform:rotate(0)}93%{transform:rotate(-7deg)}96%{transform:rotate(7deg)}98%{transform:rotate(-3deg)}}
.wiggle{animation:wiggle 4.5s ease-in-out infinite}
.lift{transition:transform .25s ease,box-shadow .25s ease}.lift:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 18px 40px rgba(243,182,207,.18)}
.lift img{transition:transform .5s ease}.lift:hover img{transform:scale(1.05)}
.btn{transition:transform .15s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 0 5px rgba(243,182,207,.2)}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.75)}50%{opacity:1;transform:scale(1.1)}}
.twinkle{animation:twinkle 3s ease-in-out infinite}
@keyframes flap{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(18px,-14px) rotate(6deg)}50%{transform:translate(36px,-4px) rotate(-4deg)}75%{transform:translate(16px,8px) rotate(3deg)}}
.bat{animation:flap 8s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.rise{animation:rise .9s ease both}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee{animation:marquee 35s linear infinite}@media (hover:hover) and (pointer:fine){.marquee:hover{animation-play-state:paused}}
@keyframes boxglow{0%,100%{box-shadow:0 0 0 rgba(201,179,230,0)}50%{box-shadow:0 0 44px rgba(201,179,230,.22)}}
.boxglow{animation:boxglow 5s ease-in-out infinite}
@keyframes flicker{0%,100%{filter:drop-shadow(0 0 6px rgba(255,217,138,.55))}45%{filter:drop-shadow(0 0 14px rgba(255,217,138,.85))}55%{filter:drop-shadow(0 0 3px rgba(255,217,138,.3))}}
.flicker{animation:flicker 2.6s ease-in-out infinite}
@keyframes spiderdrop{0%,100%{transform:translateY(0)}50%{transform:translateY(34px)}}
.spiderdrop{animation:spiderdrop 6s ease-in-out infinite}
*{cursor:url(media/plume.svg) 5 36, auto}
a,button,select,summary,label{cursor:url(media/plume-hover.svg) 5 36, pointer !important}
@keyframes swarm{0%{transform:translate(-120px,0) rotate(0)}25%{transform:translate(25vw,-30px) rotate(8deg)}50%{transform:translate(50vw,20px) rotate(-6deg)}75%{transform:translate(75vw,-20px) rotate(5deg)}100%{transform:translate(110vw,10px) rotate(0)}}
.swarm{position:absolute;left:0;animation:swarm 3.2s ease-in both}
@keyframes popin{from{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.popin{animation:popin .5s cubic-bezier(.3,1.5,.5,1) both}
@keyframes slideup{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.slideup{animation:slideup .6s ease both .6s}
.mnav,.bnav{display:none}
.mnav summary{list-style:none}.mnav summary::-webkit-details-marker{display:none}
.dnav a{display:inline-flex;align-items:center;gap:6px;padding:8px 9px;white-space:nowrap;border-radius:999px;transition:background .2s,color .2s}
.dnav a:hover{background:#3a2a4e;color:#f3b6cf!important}
h1{color:#d2bdf0!important}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker{display:flex;width:max-content;animation:ticker 22s linear infinite}
@media (max-width: 1260px){.dnav a span{display:none}.dnav a{padding:10px}}
@media (max-width: 760px){
.dnav,.sacfull{display:none!important}
.mnav{display:block;position:relative}
.mnav[open] .mpanel{display:flex}
.bnav{display:flex}
body{padding-bottom:78px}
h1{font-size:34px!important;line-height:1.15!important}
h1 em{font-size:inherit!important}
h2{font-size:26px!important;line-height:1.2!important}
header{padding:10px 16px!important;flex-wrap:nowrap!important}
header .logo img{width:42px!important;height:42px!important}
header .logo span{font-size:14px!important}
[style*="max-width: 1280px"],[style*="max-width: 1180px"],[style*="max-width: 1000px"],[style*="max-width: 980px"],[style*="max-width: 900px"]{padding-left:16px!important;padding-right:16px!important}
[style*="padding: 48px 40px"],[style*="padding: 56px 40px"],[style*="padding: 64px 48px"],[style*="padding: 36px 40px"],[style*="padding: 32px;"]{padding:28px 18px 40px!important}
.fan{height:330px!important}.fan .c{width:140px!important;margin-left:-70px!important}
.shelf{height:300px!important}.shelf img{width:84px!important;margin:0 -12px!important}
article{flex-wrap:wrap}
}
@media (prefers-reduced-motion: reduce){*:not(.marquee):not(.ticker){animation:none!important;transition:none!important}}

:root{--box-accent:#ec9a52;--box-bg:repeating-linear-gradient(90deg,#22101c 0 34px,#2a1423 34px 68px);--box-line:#5a2238}
[hidden]{display:none!important}
.track{display:flex;gap:24px;width:max-content;padding-right:24px;transition:transform .6s ease}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid #f3b6cf;outline-offset:3px}
/* Sac (drawer de cart.js, recoloré) */
.cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100vw);z-index:80;background:#251933;color:#efe6f2;border-left:2px solid #4d3b63;box-shadow:-20px 0 60px rgba(10,5,15,.6);display:flex;flex-direction:column;transform:translateX(105%);transition:transform .35s ease;font-family:Inter,system-ui,sans-serif}
.cart-drawer.open{transform:none}
.overlay{position:fixed;inset:0;z-index:79;background:rgba(10,5,15,.55);opacity:0;pointer-events:none;transition:opacity .3s}.overlay.show{opacity:1;pointer-events:auto}
.no-scroll{overflow:hidden}
.cart-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 22px 16px;border-bottom:1px solid #3a2a4e}
.cart-top .eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#c9b3e6}
.cart-top h2,.cart-top h3,.cart-top strong{font-family:'Cinzel Decorative',serif;font-size:22px;color:#f6eef8;margin:4px 0 0}
#closeCart{width:42px;height:42px;border-radius:50%;border:1px solid #4d3b63;background:#1e1429;color:#efe6f2;font-size:22px}
.cart-items{flex:1;overflow:auto;padding:16px 22px;display:flex;flex-direction:column;gap:12px}
.empty-cart{display:flex;flex-direction:column;gap:6px;color:#d8cadf;padding:20px 0}
.cart-line{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:start;background:#2c1f3d;border:1px solid #4d3b63;border-radius:18px;padding:10px}
.cart-line-image{width:72px;height:72px;object-fit:cover;border-radius:12px;background:#3a2a4e;display:flex;align-items:center;justify-content:center}
.cart-line-main{display:flex;flex-direction:column;gap:4px;font-size:14px}.cart-line-options{color:#b9a8c6;font-size:12px}
.cart-qty{display:flex;align-items:center;gap:10px;margin-top:4px}.cart-qty button{width:30px;height:30px;border-radius:50%;border:1px solid #4d3b63;background:#1e1429;color:#efe6f2}
.cart-remove{background:none;border:0;color:#b9a8c6;font-size:20px}
.cart-footer{padding:18px 22px 24px;border-top:1px solid #3a2a4e;display:flex;flex-direction:column;gap:12px}
.cart-footer>div{display:flex;justify-content:space-between;font-size:16px}
.cart-footer .primary-btn{display:block;text-align:center;background:#f3b6cf;color:#1e1429;padding:15px 20px;border-radius:999px;font-weight:700}
.cart-footer small{color:#9f90ad;font-size:12px}
@media (max-width:760px){.cart-drawer{width:100vw}.floaty{max-width:calc(100vw - 48px)}#box .boxglow{padding-bottom:84px!important}.floaty>div{width:auto!important;height:auto!important;aspect-ratio:3/4}}
html,body{overflow-x:clip}
@media (max-width:760px){[style*="height: 460px"]{height:360px!important}blockquote{font-size:20px!important}header [data-cart-open]{display:none!important}footer div:has(> a[aria-label^="Instagram"]){flex-wrap:nowrap!important;gap:8px!important;align-items:center!important}footer a[aria-label$="de la boutique"]{padding:7px 12px!important;font-size:13px!important;gap:6px!important}footer a[aria-label$="de la boutique"] svg{width:16px!important;height:16px!important}footer div:has(> a[aria-label^="Instagram"])>span{font-size:13px;white-space:nowrap}}

.avis-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:#4d3b63 transparent}
.avis-card{flex:0 0 250px;scroll-snap-align:start;display:flex;flex-direction:column;background:#2c1f3d;border:2px solid #4d3b63;border-radius:22px;overflow:hidden;text-align:left;padding:0;color:#efe6f2;font-family:Inter,sans-serif}
.avis-card img{width:100%;height:190px;object-fit:cover;display:block}
.avis-card .corps{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.avis-card .txt{margin:0;font-size:14px;line-height:1.5;color:#d8cadf;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.avis-card .qui{font-size:13px;color:#b9a8c6}.avis-card .qui b{color:#9fd3b0}
.avis-stars{color:#f3b6cf;letter-spacing:2px;font-size:14px}
.avis-dialog{width:min(560px,94vw);max-height:90vh;overflow:auto;background:#251933;color:#efe6f2;border:2px solid #4d3b63;border-radius:26px;padding:28px 24px;font-family:Inter,sans-serif}
.avis-dialog::backdrop{background:rgba(10,5,15,.7)}
.avis-fermer{position:sticky;top:0;float:right;width:38px;height:38px;border-radius:50%;border:1px solid #4d3b63;background:#1e1429;color:#efe6f2;font-size:20px}
.avis-champ{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.avis-champ span,.avis-champ legend span{font-weight:400;color:#b9a8c6}
.avis-champ input:not([type=radio]):not([type=file]),.avis-champ textarea{background:#1e1429;color:#efe6f2;border:1px solid #4d3b63;border-radius:14px;padding:12px 14px;font:inherit;font-weight:400}
.avis-champ legend{margin-bottom:6px}
.avis-etoiles{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.avis-etoiles input{position:absolute;opacity:0;width:1px;height:1px}
.avis-etoiles label{font-size:30px;color:#4d3b63;transition:color .15s}
.avis-etoiles input:checked~label,.avis-etoiles label:hover,.avis-etoiles label:hover~label{color:#f3b6cf}
.avis-etoiles input:focus-visible+label{outline:2px solid #f3b6cf;border-radius:6px}
.avis-photos-btn{align-self:flex-start;display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:999px;border:1px dashed #c9b3e6;font-weight:600;color:#e4d6ef}
.avis-photos-btn input{position:absolute;opacity:0;width:1px;height:1px}
.avis-apercu{display:flex;gap:8px;flex-wrap:wrap}.avis-apercu img{width:72px;height:72px;object-fit:cover;border-radius:12px;border:2px solid #4d3b63}
.avis-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.avis-galerie{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:8px 0 16px}.avis-galerie img{flex:0 0 auto;width:min(100%,420px);max-height:60vh;object-fit:contain;border-radius:18px;scroll-snap-align:center;background:#1e1429}
@media (max-width:760px){.avis-card{flex-basis:220px}.avis-card img{height:160px}}

.clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
@keyframes doorGlow{0%,100%{box-shadow:0 0 0 rgba(201,179,230,0)}50%{box-shadow:0 0 34px rgba(201,179,230,.22)}}
.door{animation:doorGlow 5s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(243,182,207,.45)}50%{box-shadow:0 0 0 12px rgba(243,182,207,0)}}
.pulse{animation:pulse 2.4s ease-in-out infinite}
.pill{padding:12px 18px;border-radius:999px;border:2px solid #4d3b63;background:#2c1f3d;color:#efe6f2;font-family:Inter,sans-serif;font-size:14px;font-weight:600}
.pill[aria-pressed="true"],.pill[aria-checked="true"]{background:#c9b3e6;border-color:#c9b3e6;color:#1e1429}
.fpill{padding:10px 16px;border-radius:999px;border:1px solid #4d3b63;background:#2c1f3d;color:#efe6f2;font-family:Inter,sans-serif;font-size:14px;font-weight:600}
.fpill[aria-pressed="true"]{background:#f3b6cf;border-color:#f3b6cf;color:#1e1429}
details summary{cursor:pointer}
.hellbg{background:repeating-linear-gradient(90deg,#2a0d17 0 34px,#34111d 34px 68px)}
@keyframes ember{0%,100%{box-shadow:0 0 0 rgba(160,30,55,0)}50%{box-shadow:0 0 40px rgba(160,30,55,.45)}}
.ember{animation:ember 4s ease-in-out infinite}
.fan{position:relative;width:440px;max-width:100%;height:440px;margin:0 auto}
.fan .c{position:absolute;left:50%;bottom:0;width:200px;margin-left:-100px;aspect-ratio:1122/1402;object-fit:cover;border-radius:14px;border:3px solid #c8a46a;box-shadow:0 18px 40px rgba(10,5,15,.5);transform-origin:50% 110%;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.fan .c1{transform:rotate(-24deg)}.fan .c2{transform:rotate(-12deg)}.fan .c3{transform:rotate(0)}.fan .c4{transform:rotate(12deg)}.fan .c5{transform:rotate(24deg)}
.fan:hover .c1{transform:rotate(-38deg) translateY(-10px)}.fan:hover .c2{transform:rotate(-19deg) translateY(-18px)}.fan:hover .c3{transform:translateY(-26px)}.fan:hover .c4{transform:rotate(19deg) translateY(-18px)}.fan:hover .c5{transform:rotate(38deg) translateY(-10px)}
.shelf{display:flex;justify-content:center;align-items:flex-end;gap:0;height:420px}
.shelf img{width:130px;aspect-ratio:1122/1402;object-fit:cover;border-radius:12px;border:3px solid #c8a46a;box-shadow:0 18px 40px rgba(10,5,15,.5);margin:0 -18px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.shelf .s1{transform:rotate(-14deg) translateY(10px)}.shelf .s2{transform:rotate(-6deg)}.shelf .s3{transform:translateY(-14px);z-index:2}.shelf .s4{transform:rotate(6deg)}.shelf .s5{transform:rotate(14deg) translateY(10px)}
.shelf:hover .s1{transform:rotate(-20deg) translate(-30px,0)}.shelf:hover .s2{transform:rotate(-9deg) translate(-14px,-10px)}.shelf:hover .s3{transform:translateY(-30px)}.shelf:hover .s4{transform:rotate(9deg) translate(14px,-10px)}.shelf:hover .s5{transform:rotate(20deg) translate(30px,0)}
.sticker{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.sticker:hover{transform:rotate(-6deg) scale(1.08)}
@media (max-width:760px){#tailles{gap:6px!important}#tailles button{min-width:0!important;flex:1 1 0;padding:10px 6px!important}.stickers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.stickers-grid img{height:130px!important}.stickers-grid h3{font-size:20px!important}.stickers-grid p{display:none}.stickers-grid article>div:last-child{padding:10px 12px 12px!important}.stickers-grid article>div:last-child>div{flex-direction:column;align-items:stretch!important;gap:8px!important}}
.carte-dialog{width:min(760px,94vw);max-height:92vh;overflow:auto;background:#251933;color:#efe6f2;border:2px solid #6b1a2c;border-radius:26px;padding:24px;font-family:Inter,sans-serif}
.carte-dialog::backdrop{background:rgba(10,5,15,.75)}
@media (max-width:760px){.cartes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.cartes-grid article{border-radius:18px!important;border-width:2px!important}.cartes-grid h3{font-size:20px!important}.cartes-grid p{display:none}.cartes-grid article>div{padding:10px 12px 12px!important;gap:4px!important}.cartes-grid article>div>div{flex-direction:column;align-items:stretch!important;gap:8px!important}.cartes-grid [data-cart-add]{padding:10px 8px!important;font-size:13px!important}}
@media (max-width:760px){.door img{height:220px!important}#liste>div:first-child{padding:12px!important}}
.pick{transition:transform .25s ease,box-shadow .25s ease,border-color .2s}.pick:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(243,182,207,.16)}
.pick img{transition:transform .5s ease}.pick:hover img{transform:scale(1.05)}
.swatch{transition:transform .2s ease}.swatch:hover{transform:scale(1.12)}
#atelier ol button{z-index:1}
#sac textarea,#sac input,#sac select{font-family:Inter,sans-serif}#sac button[disabled]{opacity:.55;cursor:not-allowed!important}#sac .pulse[disabled]{animation:none}
@media (max-width:760px){#sac h1{font-size:34px!important}#sac article{display:grid!important;grid-template-columns:72px minmax(0,1fr) 36px;grid-template-areas:"img info del" "img qty tot";gap:8px 12px!important;align-items:center}#sac article>img{grid-area:img;width:72px!important;height:72px!important}#sac article>div:nth-of-type(1){grid-area:info}#sac article>div:nth-of-type(2){grid-area:qty;justify-self:start}#sac article>div:nth-of-type(2) button{height:36px!important;width:34px!important}#sac article>span{grid-area:tot;min-width:0!important;justify-self:end}#sac article>button{grid-area:del;width:36px!important;height:36px!important}#sac article h2{font-size:20px!important}#sac div:has(>div.lift){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#sac div.lift>img{height:110px!important}#sac div.lift .btn{padding:8px 10px!important;font-size:12px!important}#sac div.lift>div>div{flex-wrap:wrap;gap:6px}}#atelier textarea,#atelier input{font-family:Inter,sans-serif}#atelier button[disabled]{opacity:.6;cursor:wait!important}
@media (max-width:760px){#atelier .stripes{padding:22px 16px 26px!important;border-radius:26px!important}#atelier h2{font-size:26px!important}#atelier ol span:last-child{font-size:10px!important;text-align:center}#atelier ol button{width:32px!important;height:32px!important}#atelier ol li>span:first-child{top:15px!important}#atelier .pick img{height:120px!important}#atelier .pick>span:nth-of-type(1){font-size:19px!important}#atelier [data-grid]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}#atelier .navbtns .btn{padding:12px 16px!important;font-size:14px!important}}
@media (max-width:760px){#atelierIntro h1{font-size:38px!important}#atelierIntro{padding:28px 16px 40px!important;gap:28px!important}}
