/* ============================================================
   BLOOM BEAUTY — feuille de style globale
   Charte extraite de l'identité Instagram @bloom_ci
   ============================================================ */
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-600.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Outfit';src:url('fonts/outfit-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}

:root{
  --butter:#F9EFA8;
  --cream:#FBF6E3;
  --cream-deep:#F0E0A0;
  --cherry:#D13A4B;
  --cherry-deep:#B02338;
  --gold:#D0B060;
  --choco:#5C3A20;
  --white:#FFFDF8;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;background:var(--cream);color:var(--choco);overflow-x:hidden;}
::selection{background:var(--cherry);color:var(--white);}

/* ============ PRELOADER ============ */
#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:var(--butter);display:flex;align-items:center;justify-content:center;transition:opacity .7s ease .2s, visibility .7s .2s;}
#loader.done{opacity:0;visibility:hidden;}
#loader .badge{width:130px;height:130px;border-radius:50%;overflow:hidden;box-shadow:0 12px 40px rgba(92,58,32,.25);animation:spinIn 1.2s cubic-bezier(.68,-0.55,.27,1.55);}
#loader .badge img{width:100%;height:100%;object-fit:cover;}
@keyframes spinIn{from{transform:scale(.2) rotate(-360deg);opacity:0;}to{transform:scale(1) rotate(0);opacity:1;}}

/* ============ NAV ============ */
nav#nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;transition:background .35s, box-shadow .35s, padding .35s;}
nav#nav.scrolled,nav#nav.solid{background:rgba(251,246,227,.93);backdrop-filter:blur(12px);box-shadow:0 2px 24px rgba(92,58,32,.10);padding:8px 5vw;}
nav#nav .brand{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;}
nav#nav .brand img{width:40px;height:40px;border-radius:50%;box-shadow:0 3px 12px rgba(92,58,32,.25);transition:transform .5s;}
nav#nav .brand:hover img{transform:rotate(-12deg) scale(1.08);}
nav#nav .brand span{font-family:'Fraunces',serif;font-weight:900;font-size:.6rem;color:var(--cherry-deep);letter-spacing:2.6px;text-indent:2.6px;}
nav#nav ul{display:flex;gap:24px;list-style:none;align-items:center;}
nav#nav ul a{text-decoration:none;color:var(--choco);font-weight:600;font-size:.95rem;position:relative;white-space:nowrap;}
nav#nav ul>li>a:not(.cta)::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:2.5px;border-radius:2px;background:var(--cherry);transition:width .3s;}
nav#nav ul>li>a:not(.cta):hover::after{width:100%;}
nav#nav .cta{background:var(--cherry-deep);color:var(--white) !important;padding:10px 22px;border-radius:999px;box-shadow:0 4px 14px rgba(209,58,75,.35);transition:transform .25s, box-shadow .25s;white-space:nowrap;}
nav#nav .cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(209,58,75,.45);}
nav#nav .iconlink{font-size:1.3rem;display:inline-flex;align-items:center;transition:transform .2s;}
nav#nav .iconlink:hover{transform:translateY(-2px);}
nav#nav ul>li>a.iconlink::after{display:none;}
nav#nav .iconlink .i-wa{color:#25D366;}
nav#nav .iconlink .i-ig{color:#E1306C;}
#burger{display:none;background:none;border:none;cursor:pointer;font-size:1.7rem;color:var(--cherry);line-height:1;padding:6px;}
#burger::before{content:'☰';}
#burger.x::before{content:'✕';}
/* sous-menu */
nav#nav .has-sub{position:relative;}
/* pont invisible : garde le survol actif entre le lien et le sous-menu */
nav#nav .has-sub::before{content:'';position:absolute;top:100%;left:-26px;right:-26px;height:18px;}
nav#nav .sub{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px);background:var(--white);border-radius:16px;box-shadow:0 12px 34px rgba(92,58,32,.18);padding:10px;display:flex;flex-direction:column;gap:2px;min-width:220px;opacity:0;pointer-events:none;transition:opacity .22s ease .28s, transform .22s ease .28s;}
nav#nav .has-sub:hover .sub, nav#nav .has-sub:focus-within .sub{opacity:1;transform:translate(-50%,0);pointer-events:auto;transition-delay:0s;}
nav#nav .sub a{display:block;padding:10px 16px;border-radius:10px;font-size:.9rem;}
nav#nav .sub a:hover{background:var(--cream);color:var(--cherry);}
nav#nav .sub a::after{display:none;}

/* ============ SOUS-NAV SKALA (pages racine liées à Skala) ============ */
.skala-subnav{position:sticky;top:62px;z-index:99;background:var(--cherry-deep);padding:9px 5vw;display:flex;gap:22px;overflow-x:auto;font-family:'Outfit',sans-serif;box-shadow:0 4px 18px rgba(176,35,56,.25);}
.skala-subnav a{color:var(--butter);text-decoration:none;font-weight:700;font-size:.85rem;letter-spacing:.6px;white-space:nowrap;opacity:.92;transition:opacity .2s;}
.skala-subnav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;}
.skala-subnav .lbl{color:var(--white);font-family:'Fraunces',serif;font-weight:900;font-size:.9rem;white-space:nowrap;}
.skala-subnav.on-root{margin-top:62px;}

/* ============ HERO (accueil) ============ */
header.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:repeating-linear-gradient(90deg,var(--butter) 0 34px,var(--white) 34px 68px);overflow:hidden;padding:110px 20px 80px;}
header.hero::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 120%,rgba(209,58,75,.14),transparent 60%);pointer-events:none;}
.hero .echo{position:absolute;left:50%;transform:translateX(-50%);font-family:'Fraunces',serif;font-weight:900;color:var(--cherry);opacity:0;white-space:nowrap;line-height:1;user-select:none;pointer-events:none;}
.hero .wordmark{position:relative;z-index:2;width:min(640px,86vw);filter:drop-shadow(0 14px 34px rgba(92,58,32,.20));animation:bloomIn 1.1s cubic-bezier(.22,1,.36,1) .55s both;}
@keyframes bloomIn{from{transform:scale(.75) translateY(40px);opacity:0;}to{transform:scale(1) translateY(0);opacity:1;}}
.hero h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.hero .tag{z-index:2;margin-top:26px;font-size:clamp(1.05rem,2.6vw,1.5rem);font-weight:600;letter-spacing:.4px;animation:fadeUp .9s ease 1s both;}
.hero .tag em{font-style:normal;color:var(--cherry-deep);font-family:'Fraunces',serif;font-weight:900;}
.hero .sub{z-index:2;margin-top:10px;font-size:clamp(.9rem,2vw,1.06rem);opacity:.85;animation:fadeUp .9s ease 1.15s both;}
.hero .actions{z-index:2;margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;animation:fadeUp .9s ease 1.3s both;}
.hero .scrolldown{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:var(--choco);font-size:1.6rem;animation:bounce 1.8s infinite;text-decoration:none;}
@keyframes bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

/* boutons */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;border-radius:999px;padding:15px 30px;font-size:1rem;transition:transform .25s, box-shadow .25s;cursor:pointer;border:none;font-family:inherit;}
.btn-cherry{background:var(--cherry-deep);color:var(--white);box-shadow:0 6px 20px rgba(209,58,75,.4);}
.btn-cherry:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px rgba(209,58,75,.5);}
.btn-line{border:2.5px solid var(--choco);color:var(--choco);background:rgba(255,253,248,.6);}
.btn-line:hover{transform:translateY(-3px);background:var(--choco);color:var(--butter);}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 5px 16px rgba(37,211,102,.4);}
.btn-wa:hover{transform:translateY(-3px);}

/* ============ MARQUEE ============ */
.marquee{background:var(--cherry-deep);color:var(--butter);overflow:hidden;padding:14px 0;transform:rotate(-1.2deg) scale(1.02);box-shadow:0 8px 30px rgba(176,35,56,.3);position:relative;z-index:5;}
.marquee.flat{transform:none;}
.marquee .track{display:flex;width:max-content;animation:scrollX 22s linear infinite;}
.marquee span{font-family:'Fraunces',serif;font-weight:900;font-size:1.05rem;letter-spacing:2.5px;white-space:nowrap;padding-right:34px;}
@keyframes scrollX{to{transform:translateX(-50%);}}

/* ============ SECTIONS ============ */
section{padding:96px 5vw;}
.kicker{display:inline-block;background:var(--cream-deep);color:var(--cherry-deep);font-weight:800;font-size:.8rem;letter-spacing:3px;padding:8px 18px;border-radius:999px;margin-bottom:16px;}
h2.title{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(2.1rem,5.4vw,3.6rem);color:var(--cherry-deep);line-height:1.05;margin-bottom:14px;}
.lead{max-width:640px;font-size:1.08rem;opacity:.9;}
.center{text-align:center;}
.center .lead{margin:0 auto;}
.rv{opacity:0;transform:translateY(46px);transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);}
.rv.on{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s;}.rv.d2{transition-delay:.16s;}.rv.d3{transition-delay:.24s;}.rv.d4{transition-delay:.32s;}

/* ============ CARTES UNIVERS ============ */
/* Grille des mondes : 6 colonnes. « dense » rebouche automatiquement les
   trous quand l'ordre des cartes change depuis le back office. */
.grid-univers{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:48px;grid-auto-flow:row dense;}
/* Survol : la carte reste immobile — seule la photo fait un zoom entrant. */
.card{position:relative;border-radius:26px;overflow:hidden;text-decoration:none;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;transition:box-shadow .5s cubic-bezier(.25,.8,.25,1);box-shadow:0 6px 24px rgba(92,58,32,.10);color:var(--white);}
.card:hover{box-shadow:0 14px 38px rgba(92,58,32,.20);}
.card .bgimg{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background-image:var(--bg);background-size:cover;background-position:center;filter:saturate(1.05);transform:scale(1.02);transition:transform 1.4s cubic-bezier(.16,1,.3,1), filter 1.4s;}
.card:hover .bgimg{transform:scale(1.08);filter:saturate(1.12) brightness(1.03);}
.card .shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(92,58,32,0) 20%,rgba(60,25,15,.82) 100%);}
.card .cardc{position:relative;z-index:2;padding:26px;}
.card .hl{display:inline-block;width:58px;height:58px;border-radius:50%;overflow:hidden;border:3px solid var(--butter);box-shadow:0 4px 14px rgba(0,0,0,.35);margin-bottom:10px;}
.card .hl img{width:100%;height:100%;object-fit:cover;}
.card .emoji{font-size:2.4rem;display:block;margin-bottom:8px;}
.card h3{font-family:'Fraunces',serif;font-weight:900;font-size:1.5rem;line-height:1.1;}
.card p{font-size:.9rem;margin-top:6px;opacity:.94;}
.card .go{margin-top:14px;font-weight:800;font-size:.82rem;letter-spacing:1px;display:inline-flex;align-items:center;gap:6px;}
.card .go::after{content:'→';transition:transform .3s;}
.card:hover .go::after{transform:translateX(6px);}
.card .badge-num{position:absolute;z-index:3;top:22px;right:22px;background:var(--butter);color:var(--cherry-deep);font-weight:900;font-size:.72rem;letter-spacing:1.5px;padding:8px 14px;border-radius:999px;transform:rotate(6deg);}
/* tailles + fonds de secours colorés */
.c-skala{grid-column:span 3;grid-row:span 2;min-height:430px;background:linear-gradient(160deg,var(--cherry),var(--cherry-deep));}
.c-skala h3{font-size:2.5rem;}
.c-gisou{grid-column:span 3;background:linear-gradient(150deg,#E8B04B,#B77F2E);}
.c-refy{grid-column:span 3;background:linear-gradient(150deg,#C9A98D,#8A6A4E);}
.c-sol{grid-column:span 3;background:linear-gradient(150deg,#F0B93A,#D08A1D);}
.c-matcha{grid-column:span 2;background:linear-gradient(150deg,#9CB86E,#5F7C3A);}
.c-parfums{grid-column:span 3;background:linear-gradient(150deg,#E5A0B7,#B25672);}
.c-kbeauty{grid-column:span 2;background:linear-gradient(150deg,#F3C5CF,#C86F94);}
.c-mode{grid-column:span 2;background:linear-gradient(150deg,#7E8FA6,#48566B);}
.c-maison{grid-column:span 2;background:linear-gradient(150deg,#D8A47F,#9A6544);}
.c-sport{grid-column:span 2;background:linear-gradient(150deg,#5BA8A0,#2E6E67);}
.c-elite{grid-column:span 2;background:linear-gradient(150deg,#5C3A20,#31200F);}

/* ============ BANDEAU DISPO IMMÉDIATE (accueil) ============ */
.dispo-band{display:flex;align-items:center;gap:4vw;background:linear-gradient(140deg,var(--butter),var(--cream-deep));border:3px solid var(--cherry);border-radius:36px;padding:52px 6vw;color:var(--choco);position:relative;overflow:hidden;text-decoration:none;box-shadow:0 18px 50px rgba(92,58,32,.18);transition:transform .35s, box-shadow .35s;}
.dispo-band:hover{transform:translateY(-6px);box-shadow:0 26px 64px rgba(92,58,32,.26);}
.dispo-band .db-stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background:repeating-linear-gradient(90deg,rgba(255,253,248,.9) 0 30px,transparent 30px 60px);}
.dispo-band .db-left{position:relative;z-index:2;flex:1.25;}
.dispo-band .db-zap{display:inline-block;background:var(--cherry-deep);color:var(--butter);font-weight:900;font-size:.78rem;letter-spacing:2px;padding:8px 18px;border-radius:999px;box-shadow:0 6px 16px rgba(209,58,75,.35);animation:zapPulse 2.4s infinite;}
@keyframes zapPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
.dispo-band h2{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;margin-top:14px;color:var(--cherry-deep);}
.dispo-band p{margin-top:14px;font-size:1.02rem;opacity:.92;max-width:540px;}
.dispo-band .db-btn{display:inline-flex;align-items:center;gap:10px;margin-top:24px;background:var(--cherry-deep);color:var(--white);font-weight:800;border-radius:999px;padding:15px 30px;font-size:1rem;box-shadow:0 6px 20px rgba(209,58,75,.4);}
.dispo-band .db-prods{position:relative;z-index:2;flex:1;min-height:260px;}
.dispo-band .dp{position:absolute;width:42%;border-radius:18px;background:#fff;object-fit:contain;aspect-ratio:1;padding:8px;box-shadow:0 14px 30px rgba(92,58,32,.25);animation:floaty 5s ease-in-out infinite;}
.dispo-band .dp1{left:0;top:4%;animation-delay:0s;}
.dispo-band .dp2{left:30%;top:26%;width:46%;animation-delay:1.2s;z-index:2;}
.dispo-band .dp3{right:0;top:0;animation-delay:2.3s;}
@media(max-width:900px){.dispo-band{flex-direction:column;text-align:center;padding:44px 7vw;}.dispo-band .db-prods{width:100%;min-height:220px;}.dispo-band p{margin-inline:auto;}}

/* ============ COMMANDER ============ */
#commander{background:repeating-linear-gradient(90deg,var(--butter) 0 34px,var(--white) 34px 68px);position:relative;}
#commander .inner{background:rgba(251,246,227,.9);backdrop-filter:blur(3px);border-radius:34px;padding:64px 6vw;box-shadow:0 10px 44px rgba(92,58,32,.12);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:52px;}
.step{text-align:center;padding:36px 26px;background:var(--white);border-radius:26px;position:relative;box-shadow:0 6px 20px rgba(92,58,32,.08);transition:transform .35s;}
.step:hover{transform:translateY(-8px);}
.step .num{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--cherry-deep);color:var(--butter);font-family:'Fraunces',serif;font-weight:900;font-size:1.7rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(209,58,75,.35);border:4px solid var(--cream-deep);}
.step h3{font-family:'Fraunces',serif;font-weight:900;font-size:1.35rem;color:var(--cherry-deep);margin-bottom:10px;}
.step p{font-size:.98rem;opacity:.9;}

/* ============ GALERIE ============ */
.gal{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:46px;}
.gal .gitem{position:relative;border-radius:20px;overflow:hidden;display:block;box-shadow:0 6px 18px rgba(92,58,32,.12);cursor:zoom-in;}
.gal .gitem::before{content:'';display:block;padding-top:125%;}
.gal .gitem img,.gal .gitem video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1);}
.gal .gitem:hover img,.gal .gitem:hover video{transform:scale(1.1);}
.gal .gal-snd{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:6px 10px;font-size:.85rem;pointer-events:none;}
/* lightbox photo/vidéo */
.gal-lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:rgba(20,10,5,.92);display:flex;align-items:center;justify-content:center;padding:4vw;}
.gal-lb-media{max-width:92vw;max-height:88vh;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.6);}
.gal-lb-x{position:fixed;top:18px;right:22px;background:var(--cherry-deep);color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:1.2rem;font-weight:900;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.4);}

/* ============ TEASER SKALA ============ */
#teaser{padding:0 5vw 96px;}
.teaser-card{display:flex;align-items:center;gap:4vw;background:linear-gradient(140deg,var(--cherry-deep),#8E1A2C);border-radius:36px;padding:64px 6vw;color:var(--white);position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(176,35,56,.35);}
.teaser-card .stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08;background:repeating-linear-gradient(90deg,#fff 0 30px,transparent 30px 60px);}
.teaser-card .tz-left{position:relative;z-index:2;flex:1.2;}
.teaser-card h2{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;margin-top:8px;}
.teaser-card p{margin-top:14px;font-size:1.02rem;opacity:.95;max-width:520px;}
.teaser-card .btn{margin-top:26px;background:var(--butter);color:var(--cherry-deep);}
.tz-prods{position:relative;z-index:2;flex:1;min-height:300px;}
.tz-prods .tp{position:absolute;width:44%;filter:drop-shadow(0 14px 26px rgba(0,0,0,.35));animation:floaty 5s ease-in-out infinite;}
.tz-prods .tp1{left:0;top:6%;animation-delay:0s;}
.tz-prods .tp2{left:31%;top:24%;width:48%;animation-delay:1.2s;z-index:2;}
.tz-prods .tp3{right:0;top:2%;animation-delay:2.3s;}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-16px) rotate(2deg);}}

/* ============ PAGES SECTEURS ============ */
.sector-hero{min-height:64svh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;padding:140px 5vw 60px;color:var(--white);}
.sector-hero .bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sector-grad,linear-gradient(150deg,var(--cherry),var(--cherry-deep)));}
.sector-hero .bgphoto{position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--photo);background-size:cover;background-position:center;opacity:.35;mix-blend-mode:luminosity;}
.sector-hero .stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;background:repeating-linear-gradient(135deg,#fff 0 22px,transparent 22px 44px);}
.sector-hero .inner{position:relative;z-index:2;max-width:900px;}
.sector-hero .crumb{font-weight:700;font-size:.85rem;letter-spacing:1px;opacity:.9;}
.sector-hero .crumb a{color:inherit;text-decoration:none;}
.sector-hero h1{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(2.6rem,7vw,5rem);line-height:1.02;margin:14px 0 10px;}
.sector-hero .accroche{font-size:clamp(1.05rem,2.4vw,1.4rem);font-weight:600;max-width:640px;}
.sector-hero .hl-badge{width:84px;height:84px;border-radius:50%;overflow:hidden;border:4px solid var(--butter);box-shadow:0 8px 24px rgba(0,0,0,.35);margin-bottom:18px;}
.sector-hero .hl-badge img{width:100%;height:100%;object-fit:cover;}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;margin-top:46px;}
.prod-card{background:var(--white);border-radius:22px;padding:26px;box-shadow:0 6px 20px rgba(92,58,32,.09);transition:transform .3s, box-shadow .3s;position:relative;overflow:hidden;}
.prod-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(92,58,32,.16);}
.prod-card .pico{font-size:1.9rem;}
.prod-card h3{font-family:'Fraunces',serif;font-weight:900;font-size:1.18rem;color:var(--cherry-deep);margin:8px 0 6px;line-height:1.2;}
.prod-card p{font-size:.93rem;opacity:.9;line-height:1.55;}
.prod-card .tagp{display:inline-block;margin-top:12px;background:var(--cream);color:var(--cherry-deep);font-weight:800;font-size:.72rem;letter-spacing:1px;padding:5px 12px;border-radius:999px;}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
.why .w{background:var(--cream-deep);border-radius:20px;padding:26px;font-size:.97rem;line-height:1.55;}
.why .w b{display:block;font-family:'Fraunces',serif;font-size:1.08rem;color:var(--cherry-deep);margin-bottom:8px;}
.cta-band{margin:70px 5vw 90px;background:linear-gradient(140deg,var(--cherry-deep),#8E1A2C);border-radius:32px;padding:56px 6vw;text-align:center;color:var(--white);position:relative;overflow:hidden;box-shadow:0 18px 50px rgba(176,35,56,.35);}
.cta-band .stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08;background:repeating-linear-gradient(90deg,#fff 0 28px,transparent 28px 56px);}
.cta-band h2{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(1.7rem,4vw,2.6rem);position:relative;z-index:2;}
.cta-band p{margin:12px auto 26px;max-width:560px;opacity:.95;position:relative;z-index:2;}
.cta-band .btn{position:relative;z-index:2;background:var(--butter);color:var(--cherry-deep);}
.brand-marquee{background:var(--choco);color:var(--butter);overflow:hidden;padding:16px 0;}
.brand-marquee .track{display:flex;width:max-content;animation:scrollX 30s linear infinite;}
.brand-marquee span{font-family:'Fraunces',serif;font-weight:900;font-size:1.3rem;letter-spacing:3px;white-space:nowrap;padding-right:44px;opacity:.9;}

/* ============ FOOTER ============ */
footer{background:var(--choco);color:var(--cream);padding:70px 5vw 34px;position:relative;overflow:hidden;}
footer .bigbloom{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(3.4rem,13vw,10rem);color:var(--butter);opacity:.14;white-space:nowrap;line-height:.9;user-select:none;}
footer .cols{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-top:34px;}
footer h4{font-family:'Fraunces',serif;font-weight:900;color:var(--butter);font-size:1.2rem;margin-bottom:14px;}
footer a{color:var(--cream);text-decoration:none;display:block;margin-bottom:9px;font-size:.97rem;transition:color .25s, transform .25s;}
footer a:hover{color:var(--butter);transform:translateX(4px);}
footer .base{margin-top:44px;padding-top:20px;border-top:1px solid rgba(249,239,168,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;font-size:.9rem;opacity:.92;}
footer .base a{display:inline;margin:0;color:var(--butter);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
footer .base a:hover{color:var(--white);transform:none;}
footer .heart{display:inline-block;color:var(--cherry);animation:heartbeat 1.6s ease-in-out infinite;transform-origin:center;}
@keyframes heartbeat{0%,100%{transform:scale(1);color:var(--cherry);}12%{transform:scale(1.35);color:#E85D6E;}24%{transform:scale(1);}36%{transform:scale(1.28);color:var(--butter);}48%{transform:scale(1);color:var(--cherry);}}

/* ============ WHATSAPP FLOTTANT ============ */
#wa-float{position:fixed;bottom:26px;right:26px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(0,0,0,.3);transition:transform .3s;animation:pulseWA 2.6s infinite;}
#wa-float:hover{transform:scale(1.12);}
#wa-float svg{width:32px;height:32px;fill:#fff;}
@keyframes pulseWA{0%,100%{box-shadow:0 8px 26px rgba(0,0,0,.3),0 0 0 0 rgba(37,211,102,.5);}50%{box-shadow:0 8px 26px rgba(0,0,0,.3),0 0 0 16px rgba(37,211,102,0);}}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  /* 2 colonnes : chaque carte occupe 1 case et toutes ont la même hauteur,
     sinon une carte plus haute décale la suivante et laisse un vide */
  .grid-univers{grid-template-columns:repeat(2,1fr);grid-auto-flow:row;grid-auto-rows:1fr;}
  .grid-univers > .card{grid-column:span 1 !important;grid-row:span 1 !important;}
  .c-skala{min-height:330px;}
  .gal{grid-template-columns:repeat(3,1fr);}
  .steps,.why{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto;}
}
@media(max-width:760px){
  /* backdrop-filter crée un « containing block » qui emprisonnerait le menu
     plein écran dans la barre de 62px — on le retire sur mobile */
  nav#nav.scrolled,nav#nav.solid{backdrop-filter:none;background:rgba(251,246,227,.985);}
  nav#nav ul{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--butter);flex-direction:column;justify-content:center;gap:30px;transform:translateY(-102%);transition:transform .45s cubic-bezier(.22,1,.36,1);}
  nav#nav ul.open{transform:none;}
  nav#nav ul a{font-size:1.25rem;}
  nav#nav .sub{position:static;transform:none;opacity:1;pointer-events:auto;box-shadow:none;background:transparent;padding:4px 0 0;min-width:0;}
  nav#nav .sub a{font-size:.95rem;text-align:center;opacity:.8;}
  #burger{display:block;z-index:110;}
  .grid-univers{grid-template-columns:1fr;}
  .grid-univers > .card{grid-column:1 / -1 !important;grid-row:auto !important;}
  .gal{grid-template-columns:repeat(2,1fr);}
  .teaser-card{flex-direction:column;text-align:center;}
  .tz-prods{width:100%;min-height:230px;}
  footer .base{justify-content:center;text-align:center;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
  html{scroll-behavior:auto;}
}

/* ---- bouton panier discret & aligné (cartes produits) ---- */
.prod-card{display:flex;flex-direction:column;align-items:flex-start;}
.prod-card .tagp{margin-top:10px;}
.prod-card .bc-wrap{margin-top:auto;padding-top:12px;}
.prod-card .bc-addbtn{font-size:.68rem;padding:5px 12px;background:transparent;color:var(--choco) !important;
  border:1.5px solid var(--gold);box-shadow:none;font-weight:700;}
.prod-card .bc-addbtn:hover{background:var(--cream-deep);transform:none;box-shadow:none;}

/* ---- vraies photos produits dans les cartes ---- */
.prod-card .pimg{width:100%;height:150px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:4px;}
.prod-card .pimg img{max-width:100%;max-height:100%;object-fit:contain;}

.c-pyj{grid-column:span 2;background:linear-gradient(150deg,#C98BA0,#7E4258);}
.c-bij{grid-column:span 2;background:linear-gradient(150deg,#C99A6A,#6E4A24);}
.c-mod{grid-column:span 2;background:linear-gradient(150deg,#A88C6E,#5E4630);}
.c-croc{grid-column:span 2;background:linear-gradient(150deg,#4FA98F,#245C4A);}
.c-uniq{grid-column:span 2;background:linear-gradient(150deg,#C0392B,#7A2018);}

/* carte « nouveaux univers bientôt » */
.c-soon{grid-column:span 2;background:var(--cream);border:3px dashed var(--gold);color:var(--choco);box-shadow:none;justify-content:center;}
/* mondes créés depuis le back office : largeur par défaut */
.c-custom{grid-column:span 2;background:linear-gradient(150deg,var(--cherry),var(--cherry-deep));}
.c-soon:hover{box-shadow:0 14px 34px rgba(92,58,32,.14);border-color:var(--cherry);}
.c-soon .soonc{position:relative;z-index:2;padding:26px;text-align:center;background:none;}
.c-soon .soon-spark{font-size:2.2rem;display:block;margin-bottom:10px;animation:floaty 4s ease-in-out infinite;}
.c-soon h3{font-family:'Fraunces',serif;font-weight:900;font-size:1.4rem;line-height:1.15;color:var(--cherry-deep);}
.c-soon p{font-size:.9rem;margin-top:8px;opacity:.85;}
.c-soon .go{margin-top:14px;color:var(--cherry-deep);justify-content:center;display:inline-flex;font-weight:800;font-size:.8rem;letter-spacing:1px;}

/* ============ CARTES ACCUEIL — pleine image ============ */
.card .bgimg{background-size:cover !important;background-position:center !important;background-color:transparent !important;}
.card{min-height:300px;}
.c-skala{min-height:460px;}
/* sur 2 colonnes, toutes les cartes gardent la même hauteur : pas de décalage,
   donc pas de vide entre les rangées (cette règle doit rester APRÈS celle du dessus) */
@media(max-width:1024px){ .c-skala{min-height:300px;} }
.card .cardc{background:linear-gradient(180deg,rgba(60,25,15,0) 12%,rgba(45,18,10,.45) 48%,rgba(28,13,7,.95) 100%);
  margin:0;padding:26px;width:100%;}
.card h3,.card p,.card .go{text-shadow:0 2px 12px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.5);}
.card .shade{display:none;}
.card .hl{display:none;} /* on privilégie la grande image de fond */

/* ============ MOSAÏQUE "LA VIE EN…" (pages univers) ============ */
.life{padding:70px 5vw 20px;}
.life .center{margin-bottom:34px;}
.life-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:14px;}
.life-grid a{position:relative;border-radius:20px;overflow:hidden;display:block;box-shadow:0 6px 20px rgba(92,58,32,.12);pointer-events:none;cursor:default;}
.life-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1);}
.life-grid a:hover img{transform:scale(1.09);}
.life-grid a::after{content:'✦';position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;
  background:rgba(209,58,75,.72);color:#F9EFA8;font-size:1.6rem;opacity:0;transition:opacity .35s;}
.life-grid a:hover::after{opacity:1;}
.life-grid .big{grid-column:span 2;grid-row:span 2;}
.life-grid .tall{grid-row:span 2;}
.life-grid .wide{grid-column:span 2;}
@media(max-width:900px){.life-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}.life-grid .big{grid-column:span 2;}}
@media(max-width:560px){.life-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px;}}

/* ============ INVITATION BONNES ADRESSES (pages univers) ============ */
.ba-invite{max-width:1100px;margin:64px auto 10px;margin-inline:max(5vw,calc((100% - 1100px)/2));background:linear-gradient(150deg,#2A150A,#40200F);border-radius:26px;padding:36px 34px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;color:var(--cream);box-shadow:0 18px 50px rgba(42,21,10,.35);}
.ba-invite .ico{font-size:2.6rem;flex:none;}
.ba-invite .txt{flex:1;min-width:240px;}
.ba-invite h3{font-family:'Fraunces',serif;font-weight:900;font-style:italic;color:var(--butter);font-size:1.45rem;line-height:1.15;}
.ba-invite p{opacity:.92;font-size:.95rem;margin-top:8px;line-height:1.6;}
.ba-invite .btn-gold{background:var(--gold);color:#2A150A;font-weight:800;font-size:.92rem;padding:14px 26px;border-radius:999px;text-decoration:none;white-space:nowrap;box-shadow:0 8px 22px rgba(208,176,96,.4);transition:transform .25s;}
.ba-invite .btn-gold:hover{transform:translateY(-3px);}
@media(max-width:640px){.ba-invite{padding:26px 20px;text-align:center;justify-content:center;}}

/* ============ ENCART ÉLITE CLUB (avant l'univers) ============ */
.elite-band-wrap{padding:70px 5vw 0;}
.elite-band{display:flex;align-items:stretch;gap:0;max-width:1100px;margin:0 auto;background:linear-gradient(150deg,#2A150A,#4A2712);border-radius:32px;overflow:hidden;text-decoration:none;color:var(--cream);box-shadow:0 20px 55px rgba(42,21,10,.4);position:relative;transition:transform .35s, box-shadow .35s;}
.elite-band:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(42,21,10,.5);}
.elite-band .eb-photo{flex:0 0 42%;min-height:280px;position:relative;overflow:hidden;}
.elite-band .eb-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.elite-band:hover .eb-photo img{transform:scale(1.06);}
.elite-band .eb-txt{flex:1;padding:44px 42px;display:flex;flex-direction:column;justify-content:center;gap:12px;}
.elite-band .eb-kicker{color:var(--gold);font-weight:800;font-size:.78rem;letter-spacing:3px;}
.elite-band h2{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.12;color:var(--butter);}
.elite-band h2 em{color:var(--gold);}
.elite-band p{font-size:.98rem;line-height:1.65;opacity:.92;max-width:480px;}
.elite-band .eb-go{margin-top:8px;display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#2A150A;font-weight:800;font-size:.9rem;padding:13px 24px;border-radius:999px;width:max-content;}
.elite-band .eb-badge{position:absolute;top:20px;right:22px;width:64px;height:64px;border-radius:50%;overflow:hidden;border:3px solid var(--gold);box-shadow:0 6px 18px rgba(0,0,0,.4);}
.elite-band .eb-badge img{width:100%;height:100%;object-fit:cover;}
@media(max-width:760px){
  .elite-band{flex-direction:column;}
  .elite-band .eb-photo{flex:none;min-height:200px;}
  .elite-band .eb-txt{padding:26px 22px 30px;}
}

/* ============ CARTES VITRINES DE MARQUE ============ */
.c-sephora{grid-column:span 3;background:linear-gradient(150deg,#1a1a1a,#4a4a4a);}
.c-zara{grid-column:span 3;background:linear-gradient(150deg,#14120f,#5a5248);}
.c-bershka{grid-column:span 3;background:linear-gradient(150deg,#7B2D8B,#C13584);}
.c-amazon{grid-column:span 3;background:linear-gradient(150deg,#131921,#232F3E);}
.c-amazon h3{color:#FF9900;}
.c-padel{grid-column:span 2;background:linear-gradient(150deg,#1E4A45,#0E2B27);}

/* ============ AVIS CLIENTES (accueil) ============ */
.avis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;max-width:1100px;margin:34px auto 0;padding:0 5vw;}
.avis-card{background:var(--white);border-radius:20px;padding:24px;box-shadow:0 6px 20px rgba(92,58,32,.09);border-top:3px solid var(--gold);}
.avis-card .stars{color:var(--gold);font-size:1.05rem;letter-spacing:2px;}
.avis-card p{margin:10px 0 12px;font-size:.95rem;line-height:1.65;font-style:italic;}
.avis-card b{color:var(--cherry-deep);font-size:.88rem;}

/* ============ PASTILLE LOGO DE MARQUE (cartes accueil) ============ */
.card .brand-logo{position:absolute;z-index:3;top:16px;left:16px;width:60px;height:60px;border-radius:50%;
  background:rgba(255,253,248,.96);display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.30),0 0 0 3px rgba(255,255,255,.45);
  transform:rotate(-7deg);transition:box-shadow .5s;}
.card:hover .brand-logo{box-shadow:0 8px 22px rgba(0,0,0,.34),0 0 0 3px var(--gold);}
.card .brand-logo img{width:64%;height:64%;object-fit:contain;border-radius:6px;}
@media(max-width:760px){.card .brand-logo{width:52px;height:52px;top:12px;left:12px;}}

/* ============ ICONES PREMIUM (remplacent les emojis) ============ */
.ico{display:inline-block;width:1.02em;height:1.02em;vertical-align:-0.14em;background:currentColor;-webkit-mask:var(--i) no-repeat center/contain;mask:var(--i) no-repeat center/contain;}
.i-bag{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%202L3%206v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V6l-3-4z'%2F%3E%3Cline%20x1%3D'3'%20y1%3D'6'%20x2%3D'21'%20y2%3D'6'%2F%3E%3Cpath%20d%3D'M16%2010a4%204%200%200%201-8%200'%2F%3E%3C%2Fsvg%3E")}
.i-bolt{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolygon%20points%3D'13%202%203%2014%2012%2014%2011%2022%2021%2010%2012%2010%2013%202'%2F%3E%3C%2Fsvg%3E")}
.i-phone{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72%2012.84%2012.84%200%200%200%20.7%202.81%202%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45%2012.84%2012.84%200%200%200%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E")}
.i-link{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71'%2F%3E%3Cpath%20d%3D'M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71'%2F%3E%3C%2Fsvg%3E")}
.i-chat{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2011.5a8.38%208.38%200%200%201-.9%203.8%208.5%208.5%200%200%201-7.6%204.7%208.38%208.38%200%200%201-3.8-.9L3%2021l1.9-5.7a8.38%208.38%200%200%201-.9-3.8%208.5%208.5%200%200%201%204.7-7.6%208.38%208.38%200%200%201%203.8-.9h.5a8.48%208.48%200%200%201%208%208v.5z'%2F%3E%3C%2Fsvg%3E")}
.i-moon{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2012.79A9%209%200%201%201%2011.21%203%207%207%200%200%200%2021%2012.79z'%2F%3E%3C%2Fsvg%3E")}
.i-pencil{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M17%203a2.828%202.828%200%201%201%204%204L7.5%2020.5%202%2022l1.5-5.5L17%203z'%2F%3E%3C%2Fsvg%3E")}
.i-trash{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'3%206%205%206%2021%206'%2F%3E%3Cpath%20d%3D'M19%206v14a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V6m3%200V4a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2'%2F%3E%3Cline%20x1%3D'10'%20y1%3D'11'%20x2%3D'10'%20y2%3D'17'%2F%3E%3Cline%20x1%3D'14'%20y1%3D'11'%20x2%3D'14'%20y2%3D'17'%2F%3E%3C%2Fsvg%3E")}
.i-eye{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M1%2012s4-8%2011-8%2011%208%2011%208-4%208-11%208-11-8-11-8z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'3'%2F%3E%3C%2Fsvg%3E")}
.i-search{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'8'%2F%3E%3Cline%20x1%3D'21'%20y1%3D'21'%20x2%3D'16.65'%20y2%3D'16.65'%2F%3E%3C%2Fsvg%3E")}
.i-chart{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'18'%20y1%3D'20'%20x2%3D'18'%20y2%3D'10'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'20'%20x2%3D'12'%20y2%3D'4'%2F%3E%3Cline%20x1%3D'6'%20y1%3D'20'%20x2%3D'6'%20y2%3D'14'%2F%3E%3C%2Fsvg%3E")}
.i-users{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'7'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M23%2021v-2a4%204%200%200%200-3-3.87'%2F%3E%3Cpath%20d%3D'M16%203.13a4%204%200%200%201%200%207.75'%2F%3E%3C%2Fsvg%3E")}
.i-receipt{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'%2F%3E%3Cpolyline%20points%3D'14%202%2014%208%2020%208'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'13'%20x2%3D'8'%20y2%3D'13'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'17'%20x2%3D'8'%20y2%3D'17'%2F%3E%3C%2Fsvg%3E")}
.i-image{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'18'%20height%3D'18'%20rx%3D'2'%2F%3E%3Ccircle%20cx%3D'8.5'%20cy%3D'8.5'%20r%3D'1.5'%2F%3E%3Cpolyline%20points%3D'21%2015%2016%2010%205%2021'%2F%3E%3C%2Fsvg%3E")}
.i-globe{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'10'%2F%3E%3Cline%20x1%3D'2'%20y1%3D'12'%20x2%3D'22'%20y2%3D'12'%2F%3E%3Cpath%20d%3D'M12%202a15.3%2015.3%200%200%201%204%2010%2015.3%2015.3%200%200%201-4%2010%2015.3%2015.3%200%200%201-4-10%2015.3%2015.3%200%200%201%204-10z'%2F%3E%3C%2Fsvg%3E")}
.i-gear{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'21'%20x2%3D'4'%20y2%3D'14'%2F%3E%3Cline%20x1%3D'4'%20y1%3D'10'%20x2%3D'4'%20y2%3D'3'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'21'%20x2%3D'12'%20y2%3D'12'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'8'%20x2%3D'12'%20y2%3D'3'%2F%3E%3Cline%20x1%3D'20'%20y1%3D'21'%20x2%3D'20'%20y2%3D'16'%2F%3E%3Cline%20x1%3D'20'%20y1%3D'12'%20x2%3D'20'%20y2%3D'3'%2F%3E%3Cline%20x1%3D'1'%20y1%3D'14'%20x2%3D'7'%20y2%3D'14'%2F%3E%3Cline%20x1%3D'9'%20y1%3D'8'%20x2%3D'15'%20y2%3D'8'%2F%3E%3Cline%20x1%3D'17'%20y1%3D'16'%20x2%3D'23'%20y2%3D'16'%2F%3E%3C%2Fsvg%3E")}
.i-book{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z'%2F%3E%3Cpath%20d%3D'M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z'%2F%3E%3C%2Fsvg%3E")}
.i-pin{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2010c0%207-9%2013-9%2013s-9-6-9-13a9%209%200%200%201%2018%200z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E")}
.i-sound{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolygon%20points%3D'11%205%206%209%202%209%202%2015%206%2015%2011%2019%2011%205'%2F%3E%3Cpath%20d%3D'M19.07%204.93a10%2010%200%200%201%200%2014.14M15.54%208.46a5%205%200%200%201%200%207.07'%2F%3E%3C%2Fsvg%3E")}
.i-lock{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'11'%20width%3D'18'%20height%3D'11'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M7%2011V7a5%205%200%200%201%2010%200v4'%2F%3E%3C%2Fsvg%3E")}
.i-video{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolygon%20points%3D'23%207%2016%2012%2023%2017%2023%207'%2F%3E%3Crect%20x%3D'1'%20y%3D'5'%20width%3D'15'%20height%3D'14'%20rx%3D'2'%2F%3E%3C%2Fsvg%3E")}
.i-star{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolygon%20points%3D'12%202%2015.09%208.26%2022%209.27%2017%2014.14%2018.18%2021.02%2012%2017.77%205.82%2021.02%207%2014.14%202%209.27%208.91%208.26%2012%202'%2F%3E%3C%2Fsvg%3E")}
.i-flower{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'black'%3E%3Ccircle%20cx%3D'12'%20cy%3D'5.2'%20r%3D'3.1'%2F%3E%3Ccircle%20cx%3D'18.4'%20cy%3D'9.9'%20r%3D'3.1'%2F%3E%3Ccircle%20cx%3D'15.9'%20cy%3D'17.4'%20r%3D'3.1'%2F%3E%3Ccircle%20cx%3D'8.1'%20cy%3D'17.4'%20r%3D'3.1'%2F%3E%3Ccircle%20cx%3D'5.6'%20cy%3D'9.9'%20r%3D'3.1'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'11.8'%20r%3D'2.6'%20fill%3D'white'%20stroke%3D'none'%2F%3E%3C%2Fsvg%3E")}
.i-ig{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'black'%3E%3Cpath%20d%3D'M7%202h10a5%205%200%200%201%205%205v10a5%205%200%200%201-5%205H7a5%205%200%200%201-5-5V7a5%205%200%200%201%205-5zm0%202a3%203%200%200%200-3%203v10a3%203%200%200%200%203%203h10a3%203%200%200%200%203-3V7a3%203%200%200%200-3-3H7zm5%203.2a4.8%204.8%200%201%201%200%209.6%204.8%204.8%200%200%201%200-9.6zm0%202a2.8%202.8%200%201%200%200%205.6%202.8%202.8%200%200%200%200-5.6zM17.6%205.2a1.2%201.2%200%201%201%200%202.4%201.2%201.2%200%200%201%200-2.4z'%2F%3E%3C%2Fsvg%3E")}
.i-wa{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2032%2032'%20fill%3D'black'%3E%3Cpath%20d%3D'M16%202.9C8.8%202.9%202.9%208.7%202.9%2015.9c0%202.3.6%204.5%201.7%206.5L2.9%2029l6.8-1.8c1.9%201%204.1%201.6%206.3%201.6%207.2%200%2013.1-5.8%2013.1-13S23.2%202.9%2016%202.9zm0%2023.8c-2%200-3.9-.5-5.6-1.5l-.4-.2-4%201%201.1-3.9-.3-.4c-1.1-1.7-1.6-3.7-1.6-5.8%200-6%204.9-10.9%2010.9-10.9S26.9%209.9%2026.9%2015.9%2022%2026.7%2016%2026.7zm6-8.1c-.3-.2-1.9-1-2.2-1.1-.3-.1-.5-.2-.8.2-.2.3-.9%201.1-1%201.3-.2.2-.4.2-.7.1-.3-.2-1.4-.5-2.6-1.6-1-.9-1.6-1.9-1.8-2.3-.2-.3%200-.5.1-.7l.5-.6c.2-.2.2-.4.3-.6.1-.2%200-.4%200-.6-.1-.2-.8-1.8-1-2.5-.3-.6-.5-.5-.8-.6h-.7c-.2%200-.6.1-.9.4-.3.3-1.2%201.1-1.2%202.8s1.2%203.2%201.4%203.5c.2.2%202.4%203.7%205.9%205.2.8.4%201.5.6%202%20.7.8.3%201.6.2%202.2.1.7-.1%201.9-.8%202.2-1.5.3-.8.3-1.4.2-1.5-.1-.2-.3-.3-.6-.4z'%2F%3E%3C%2Fsvg%3E")}
.tile-letter{display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:900;font-size:2.8rem;color:var(--gold);background:linear-gradient(150deg,#FBF6E3,#F0E0A0);}

/* ============ OCTOBRE 2026 — demandes de la gérante ============ */
/* Cartes de l'accueil : 4 par ligne (ordinateur), 3 (tablette), 3 (téléphone),
   toutes de la même taille. Placé en fin de fichier pour l'emporter. */
.grid-univers{grid-template-columns:repeat(4,1fr);grid-auto-flow:row;grid-auto-rows:1fr;gap:18px;}
.grid-univers > .card{grid-column:span 1 !important;grid-row:span 1 !important;min-height:300px;}
.grid-univers > .c-skala{min-height:300px;}
@media(max-width:1024px){
  .grid-univers{grid-template-columns:repeat(3,1fr);gap:14px;}
  .grid-univers > .card{min-height:240px;}
  .card h3{font-size:1.2rem;}
}
@media(max-width:760px){
  .grid-univers{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px;}
  .grid-univers > .card{grid-column:span 1 !important;min-height:150px;border-radius:14px;}
  .card .cardc{padding:9px 8px;}
  .card h3{font-size:.8rem;line-height:1.15;}
  .card p,.card .go,.card .badge-num,.card .hl{display:none;}
  .card .brand-logo{width:30px;height:30px;top:6px;left:6px;}
  .c-soon .soonc{padding:8px;}
  .c-soon h3{font-size:.78rem;}
  .c-soon p,.c-soon .go,.c-soon .soon-spark{display:none;}
}

/* Galerie d'ambiance : chaque photo affichée en entier (pas de recadrage),
   en colonnes façon mosaïque, quel que soit le nombre de photos */
.life-grid{display:block;columns:3;column-gap:14px;}
.life-grid a{display:block;break-inside:avoid;margin:0 0 14px;grid-column:auto;grid-row:auto;}
.life-grid img{width:100%;height:auto;display:block;}
@media(max-width:760px){.life-grid{columns:2;column-gap:10px;}.life-grid a{margin-bottom:10px;}}

/* Produits des mondes : 4 par ligne, photo carrée affichée en entier,
   titre plus petit, description dans la fiche qui s'ouvre au clic */
.prod-grid{grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:1024px){.prod-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.prod-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.prod-grid .prod-card{padding:12px;border-radius:18px;cursor:pointer;}
.prod-grid .prod-card .pimg{height:auto;aspect-ratio:1/1;border-radius:12px;}
.prod-grid .prod-card .pimg img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;}
.prod-grid .prod-card h3{font-size:.95rem;margin:8px 0 2px;}
.prod-grid .prod-card p{display:none;}
.prod-grid .prod-card .tagp{font-size:.6rem;padding:3px 9px;margin-top:6px;}
.prod-grid .prod-card .bc-wrap{padding-top:8px;}
@media(max-width:760px){.prod-grid .prod-card{padding:8px;}.prod-grid .prod-card h3{font-size:.82rem;}}

/* Fiche produit (ouverte au clic) */
#bloom-pmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:rgba(40,20,10,.55);display:none;align-items:center;justify-content:center;padding:16px;}
#bloom-pmodal.on{display:flex;}
#bloom-pmodal .pm-box{position:relative;background:var(--white);border-radius:22px;max-width:520px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.3);}
#bloom-pmodal .pm-x{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:none;background:var(--cream);color:var(--choco);font-size:1.4rem;cursor:pointer;z-index:2;}
#bloom-pmodal .pm-img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:22px 22px 0 0;overflow:hidden;}
#bloom-pmodal .pm-img img{width:100%;height:100%;object-fit:contain;}
#bloom-pmodal .pm-body{padding:18px 22px 22px;}
#bloom-pmodal h3{font-family:'Fraunces',serif;font-weight:900;font-size:1.3rem;color:var(--cherry-deep);line-height:1.2;}
#bloom-pmodal .tagp{display:inline-block;margin-top:8px;background:var(--cream);color:var(--cherry-deep);font-weight:800;font-size:.7rem;letter-spacing:1px;padding:4px 11px;border-radius:999px;}
#bloom-pmodal p{margin:12px 0 16px;font-size:.95rem;line-height:1.6;}

/* Cartes de l'accueil : mode « image entière » (rien n'est coupé).
   L'image entière tient dans le haut de la carte, sur un fond uni (--fitbg) ;
   le texte se pose en bas sur un dégradé, comme sur les autres cartes. */
.grid-univers > .card.fit-contain{background:var(--fitbg,#fff) !important;}
.card.fit-contain .bgimg{inset:0 !important;
  background-size:66% auto !important;background-position:center 16% !important;background-repeat:no-repeat;transform:none;filter:none;}
.card.fit-contain:hover .bgimg{transform:scale(1.04);filter:none;}
.card.fit-contain .brand-logo{display:none;}
.card.fit-contain .cardc{background:linear-gradient(180deg,rgba(60,25,15,0) 0%,rgba(45,18,10,.6) 38%,rgba(28,13,7,.93) 100%) !important;padding-top:56px;}
@media(max-width:760px){
  .card.fit-contain .bgimg{background-size:80% auto !important;background-position:center 22% !important;}
  .card.fit-contain .cardc{padding-top:26px;}
}
