@font-face{font-family:'HossRound';src:url('../HossRound-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{
  --ico-accent:#fb2175;
  --gc-pink:#E72685;--gc-orange:#F06030;--gc-yellow:#FAC911;
  --gc-gradient:linear-gradient(135deg,#E72685 0%,#F06030 50%,#FAC911 100%);
  --gc-bg:#fdf5f9;--gc-surface:#fff;--gc-border:#f0d6e8;
  --gc-text:#1e1426;--gc-muted:#7a5470;--gc-radius:12px;
  --gc-shadow:0 4px 24px rgba(231,38,133,.08);
  --loisirs:#5FAE1F;--culture:#1FB5C4;
  --accent:var(--gc-pink);
  --title:'HossRound','Nunito',sans-serif;--body:'Lato',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:var(--body);color:var(--gc-text);background:var(--gc-bg);line-height:1.6}
h1,h2,h3,.btn{font-family:var(--title);font-weight:700}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* Switch univers */
.switch{background:#fff;border-bottom:1px solid var(--gc-border);font-size:13px}
.switch .wrap{display:flex;gap:4px;padding-top:0;padding-bottom:0}
.switch a{padding:9px 18px;color:var(--gc-muted);font-family:var(--title)}
.switch a.on{color:var(--gc-pink);box-shadow:inset 0 -3px 0 var(--gc-pink)}
.switch a:hover{color:var(--gc-pink)}

/* Header */
header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(231,38,133,.06)}
header .wrap{display:flex;align-items:center;gap:28px;height:72px}
.logo img{height:40px;width:auto}
nav{display:flex;gap:22px;flex:1}
nav .ni{position:relative}
nav .ni>a{font-family:var(--title);font-size:14.5px;padding:24px 2px;display:inline-block}
nav .ni>a:hover{color:var(--gc-pink)}
.sub{position:absolute;top:100%;left:-14px;background:#fff;border:1px solid var(--gc-border);border-radius:12px;box-shadow:0 14px 34px rgba(231,38,133,.18);padding:10px;min-width:250px;display:none;z-index:60}
.ni:hover .sub{display:block}
.sub a{display:block;padding:9px 12px;border-radius:8px;font-size:13.5px;font-family:var(--title);color:var(--gc-text)}
.sub a:hover{background:var(--gc-bg);color:var(--gc-pink)}
.sub small{display:block;font-family:var(--body);color:var(--gc-muted);font-weight:400;font-size:11.5px}
.hdr-actions{display:flex;gap:14px;align-items:center}
.icon-link svg{display:block;margin:0 auto 2px}
.icon-link:hover{color:var(--gc-pink)}
.btn{display:inline-block;border:none;border-radius:9px;padding:11px 22px;font-size:14.5px;cursor:pointer;transition:.2s;text-align:center}
.btn-primary{background:var(--gc-gradient);color:#fff}
.btn-primary:hover{opacity:.9;transform:translateY(-1px)}
.btn-ghost{background:#fff;color:var(--gc-pink);border:2px solid var(--gc-pink)}
.btn-ghost:hover{background:var(--gc-bg)}
.btn-white{background:#fff;color:var(--gc-pink)}
.icon-link{font-size:13px;color:var(--gc-muted);text-align:center;line-height:1.2;position:relative}
.icon-link span{display:block;font-size:19px}
.icon-link .cart-count{position:absolute;top:-6px;right:-10px;background:var(--gc-pink);color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center;font-family:var(--body)}
.add-cart-toast{position:fixed;top:88px;right:24px;background:var(--gc-pink);color:#fff;padding:13px 22px;border-radius:10px;font-family:var(--title);font-size:14.5px;box-shadow:0 10px 26px rgba(30,20,38,.22);opacity:0;transform:translateY(-14px);pointer-events:none;z-index:9999;transition:opacity .3s ease,transform .3s ease}
.add-cart-toast.show{opacity:1;transform:translateY(0)}
#cart-icon-link.pulse{animation:cartPulse .5s ease}
@keyframes cartPulse{0%{transform:scale(1)}30%{transform:scale(1.28)}60%{transform:scale(.94)}100%{transform:scale(1)}}
@media(max-width:600px){.add-cart-toast{left:16px;right:16px;top:auto;bottom:20px;text-align:center}}
.gc-toast{position:fixed;top:88px;right:24px;max-width:360px;padding:14px 20px;border-radius:10px;font-family:var(--body);font-size:14px;box-shadow:0 10px 26px rgba(30,20,38,.22);opacity:0;transform:translateY(-14px);pointer-events:none;z-index:9999;transition:opacity .3s ease,transform .3s ease}
.gc-toast.show{opacity:1;transform:translateY(0)}
.gc-toast-success{background:#2e7d32;color:#fff}
.gc-toast-error{background:#c0185b;color:#fff}
@media(max-width:600px){.gc-toast{left:16px;right:16px;top:auto;bottom:20px;text-align:center;max-width:none}}

/* Hero — carrousel */
.hero{background:var(--gc-gradient);color:#fff;position:relative;overflow:hidden;min-height:600px}
.hero .veg{position:absolute;right:-30px;top:-30px;width:340px;opacity:.5;transform:rotate(160deg);z-index:1}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .7s;pointer-events:none;z-index:2}
.slide.on{opacity:1;pointer-events:auto}
.slide .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;padding-top:64px;height:600px}
.slide .txt{padding-bottom:84px;align-self:center}
.slide h1{font-size:44px;line-height:1.12;margin-bottom:18px}
.slide p.lead{font-size:18px;opacity:.95;margin-bottom:26px;max-width:520px}
.slide .ctas{display:flex;gap:14px;flex-wrap:wrap}
.slide .visual{position:relative;min-height:500px}
.slide .persona{position:absolute;right:0;bottom:0;height:500px;width:auto;filter:drop-shadow(0 12px 30px rgba(30,20,38,.3))}
.slide .gamme{position:absolute;left:-70px;bottom:20px;width:470px;transform:rotate(-6deg);filter:drop-shadow(0 18px 40px rgba(30,20,38,.35));z-index:2}
.slide .bigcard{position:absolute;right:10px;bottom:90px;width:520px;border-radius:22px;box-shadow:0 26px 60px rgba(30,20,38,.4);transform:rotate(-4deg)}
.slide .v-b2c{position:relative;min-height:470px;align-self:center}
.slide .v-b2c .photo{position:absolute;right:0;top:50%;transform:translateY(-58%);width:100%;max-width:540px;filter:drop-shadow(0 22px 46px rgba(30,20,38,.26))}
.slide .badge-line{margin-top:26px;font-size:14px;opacity:.9}
.slide .tagline{display:inline-block;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:5px 16px;font-family:var(--title);font-size:13px;margin-bottom:16px}
.dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.dots button{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0}
.dots button.on{background:#fff}
.arr{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(255,255,255,.25);border:none;color:#fff;font-size:22px;width:44px;height:44px;border-radius:50%;cursor:pointer;font-family:var(--title)}
.arr:hover{background:rgba(255,255,255,.45)}
.arr.prev{left:14px}.arr.next{right:14px}

/* Trust band */
.trust{background:#fff;border-bottom:1px solid var(--gc-border)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:22px;padding-bottom:22px;text-align:center}
.trust b{font-family:var(--title);color:var(--gc-pink);display:block;font-size:17px}
.trust small{color:var(--gc-muted)}

/* Sections */
section{padding:64px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 42px}
.sec-head h2{font-size:32px;margin-bottom:10px}
.sec-head p{color:var(--gc-muted)}
.kicker{display:inline-block;background:#fff;border:1px solid var(--gc-border);color:var(--gc-pink);font-family:var(--title);font-size:12.5px;padding:5px 14px;border-radius:20px;margin-bottom:14px}

/* Gamme cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pcard{background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);box-shadow:var(--gc-shadow);padding:26px;transition:.2s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(231,38,133,.18);border-color:var(--gc-pink)}
.pcard img.visuel{border-radius:10px;box-shadow:0 10px 24px rgba(30,20,38,.18);margin-bottom:18px}
.pcard h3{font-size:20px;margin-bottom:6px}
.pcard .tag{font-size:12px;font-family:var(--title);padding:3px 10px;border-radius:12px;color:#fff;display:inline-block;margin-bottom:10px;width:fit-content}
.pcard p{font-size:14px;color:var(--gc-muted);flex:1}
.pcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.pcard .prix{font-family:var(--title);font-size:15px}
/* couleurs des .t-* : voir la section "Univers" plus bas (dégradés) */

/* E-carte */
.ecarte{background:#fff}
.ecarte .wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.ecarte img.photo{border-radius:18px;box-shadow:var(--gc-shadow)}
.ecarte h2{font-size:30px;margin-bottom:14px}
.ecarte ul{list-style:none;margin:18px 0 26px}
.ecarte li{padding-left:30px;position:relative;margin-bottom:12px}
.ecarte li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;background:var(--gc-gradient);color:#fff;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}

/* Steps */

/* Reçu */
.recu{background:#fff}
.mini3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mini{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:22px;text-align:center;transition:.2s}
.mini:hover{border-color:var(--gc-pink);transform:translateY(-3px)}
.mini .em{width:52px;height:52px;border-radius:50%;background:var(--gc-gradient);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto}
.mini h3{font-size:16px;margin:8px 0 4px}
.mini p{font-size:13px;color:var(--gc-muted)}

/* App */
.app .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.app img.phone{max-height:440px;width:auto;margin:0 auto}
.app h2{font-size:30px;margin-bottom:14px}
.stores{display:flex;gap:12px;margin-top:22px}
.store{background:var(--gc-text);color:#fff;border-radius:9px;padding:9px 18px;font-size:13px;font-family:var(--title)}

/* Partenaires */
.partners{background:#fff;text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:860px;margin:0 auto 30px}
.chip{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:20px;padding:8px 18px;font-size:13.5px;font-family:var(--title);color:var(--gc-muted)}
/* Univers de dépense (grille de 6 photos, remplace les chips) */
.univers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto 32px}
.univ{position:relative;display:block;aspect-ratio:1;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(30,20,38,.16);text-align:left;background:var(--gc-gradient)}
.univ img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.univ:hover img{transform:scale(1.06)}
.univ::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,20,38,.72) 0%,rgba(30,20,38,.22) 26%,rgba(30,20,38,0) 46%)}
.univ .lg{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff}
.univ .lg b{display:block;font-family:var(--title);font-size:19px;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.univ .lg span{display:block;font-size:12.5px;opacity:.92;margin-top:3px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.univ .pastille{position:absolute;top:14px;left:14px;z-index:2;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:11.5px;padding:5px 12px;border-radius:20px}
@media(max-width:900px){.univers{grid-template-columns:1fr 1fr;gap:12px}.univ .lg b{font-size:16px}.univ .lg span{font-size:11.5px}}

/* Avis */
.avis3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.avis{background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);box-shadow:var(--gc-shadow);padding:24px}
.avis .stars{color:var(--gc-yellow);letter-spacing:2px;margin-bottom:10px}
.avis p{font-size:14px;font-style:italic;color:var(--gc-muted)}
.avis b{display:block;margin-top:12px;font-family:var(--title);font-size:13.5px;color:var(--gc-text)}

/* FAQ */
.faq{background:#fff}
.faq details{max-width:760px;margin:0 auto 12px;background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:10px;padding:16px 22px}
.faq summary{font-family:var(--title);font-size:15.5px;cursor:pointer;color:var(--gc-text)}
.faq details p{margin-top:10px;font-size:14px;color:var(--gc-muted)}

/* CTA final */
.cta-final{background:var(--gc-gradient);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-final h2{font-size:34px;margin-bottom:12px}
.cta-final p{opacity:.95;margin-bottom:26px}
.cta-final .veg{position:absolute;left:-14px;top:-24px;width:300px;opacity:.4;transform:scaleX(-1) rotate(15deg)}

/* Footer */
footer{background:#fff;border-top:1px solid var(--gc-border);padding:48px 0 24px}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px;margin-bottom:30px}
.fgrid img{height:34px;width:auto;margin-bottom:12px}
.fgrid h4{font-family:var(--title);font-size:14px;margin-bottom:12px}
.fgrid a{display:block;font-size:13.5px;color:var(--gc-muted);margin-bottom:8px}
.fgrid a:hover{color:var(--gc-pink)}
.fbottom{border-top:1px solid var(--gc-border);padding-top:18px;display:flex;justify-content:space-between;font-size:12.5px;color:var(--gc-muted);flex-wrap:wrap;gap:8px}

@media(max-width:900px){
  .hero .wrap,.ecarte .wrap,.app .wrap{grid-template-columns:1fr}
  .cards3,.mini3,.avis3{grid-template-columns:1fr}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
  nav{display:none}
  .hero h1{font-size:34px}
  header .wrap{gap:10px;flex-wrap:nowrap}
  .logo{flex:0 0 auto;display:flex;align-items:center;gap:6px}
  .logo img{height:32px}
  .logo .pro{font-size:10.5px;padding:2px 7px}
  .icon-link{font-size:11.5px}
  .subnav .wrap a{flex:0 0 auto}
}
@media(max-width:520px){
  header .btn{padding:9px 13px;font-size:13px}
  header .wrap{gap:8px}
}

/* Univers Carte Loisirs : CTA & habillage en dégradé vert (fond derrière la carte inchangé) */
:root{--loisirs-grad:radial-gradient(circle at top left,#145802 0%,#94c604 100%)}
.t-loisirs,.tag.t-loisirs{background:var(--loisirs-grad)}
.btn-loisirs{background:var(--loisirs-grad);color:#fff}
.btn-loisirs:hover{opacity:.92;transform:translateY(-1px)}

/* Univers Carte Culture : CTA & habillage en dégradé bleu (fond derrière la carte inchangé) */
:root{--culture-grad:linear-gradient(90deg,#2c6eb9 0%,#70d9dd 100%)}
.t-culture,.tag.t-culture{background:var(--culture-grad)}
.btn-culture{background:var(--culture-grad);color:#fff}
.btn-culture:hover{opacity:.92;transform:translateY(-1px)}

/* Univers Carte Cadeau + e-carte : CTA & habillage en dégradé rose-jaune (fond derrière la carte inchangé) */
:root{--cadeau-grad:linear-gradient(90deg,#fb018b 0%,#fbcd00 100%)}
.t-cadeau,.tag.t-cadeau{background:var(--cadeau-grad)}
.btn-cadeau{background:var(--cadeau-grad);color:#fff}
.btn-cadeau:hover{opacity:.92;transform:translateY(-1px)}

/* Cadeau/e-carte sur fond déjà dégradé : bouton blanc, texte rose #fb2175 */
.btn-cadeau-blanc{background:#fff;color:#fb2175}
.btn-cadeau-blanc:hover{opacity:.92;transform:translateY(-1px)}

/* --- Bandeau (hero) responsive mobile : empilement + hauteur auto --- */
@media(max-width:900px){
  .hero{min-height:0}
  .hero .slide{position:absolute}
  .hero .slide.on{position:relative}
  .hero .slide .wrap{grid-template-columns:1fr;height:auto;padding-top:32px;padding-bottom:58px;gap:16px;align-items:start}
  .hero .slide .txt{padding-bottom:0;align-self:auto}
  .hero .slide .visual{min-height:0;position:static;display:flex;justify-content:center;align-self:auto!important;margin-top:0!important}
  .hero .slide .visual img{position:static!important;transform:none!important;inset:auto!important;width:auto;max-width:90%;height:auto;margin:0 auto}
  .hero .slide .visual img.bigcard{max-width:300px}
  .hero .slide .v-b2c{position:relative;display:block;min-height:0;margin-top:6px}
  .hero .slide .v-b2c .photo{position:static!important;transform:none!important;width:100%!important;max-width:100%!important;margin:0!important}
  .hero .slide h1{font-size:29px;line-height:1.15}
  .hero .slide p.lead{font-size:15px}
  .arr{display:none}
}

/* --- Pictos (remplacent les emojis) --- */
.ico{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;flex-shrink:0;fill:currentColor}
.ico-a{color:var(--ico-accent)}
.ico-w{color:#fff}

/* Picto en blanc quand l'option est sélectionnée (fond plein) */
.opt.sel .ico,.opt.sel .ico-a,.selc.sel .ico,.selc.sel .ico-a{color:#fff}

/* ===================================== */
/* Page produit                          */
/* ===================================== */
.crumb{font-size:13px;color:var(--gc-muted);padding-top:18px;padding-bottom:18px} /* 2026-11-03 : « padding:18px 0 » annulait la marge latérale de .wrap → fil d'Ariane collé au bord sur téléphone */
.crumb a:hover{color:var(--gc-pink)}
.fiche{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;padding-bottom:56px}
.visu{position:sticky;top:96px}
.visu .main{width:100%;height:auto;border-radius:16px;box-shadow:0 20px 44px rgba(30,20,38,.22)}
.tag{display:inline-block;font-size:12.5px;font-family:var(--title);padding:4px 12px;border-radius:14px;color:#fff;background:var(--accent-grad,var(--accent));margin-bottom:12px}

/* Galerie mockups (photos d'ambiance/étui/app sous le visuel principal) */
.mockups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.mockups img{width:100%;display:block;border-radius:12px;background:#fff;cursor:pointer;border:3px solid transparent;box-shadow:0 6px 18px rgba(30,20,38,.10);transition:.15s}
.mockups img:hover{transform:translateY(-2px)}
.mockups img.sel{border-color:var(--accent)}
.mockups-cap{font-size:12px;color:var(--gc-muted);margin-top:8px;line-height:1.45}
@media(max-width:900px){.mockups{gap:10px}}

/* Vignettes e-carte intégrées au parcours (colonne de droite) */
.ec-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:2px 0 4px}
.ec-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;border:3px solid transparent;cursor:pointer;background:#fff;box-shadow:0 3px 10px rgba(30,20,38,.12);transition:.15s}
.ec-grid img:hover{transform:translateY(-2px)}
.ec-grid img.sel{border-color:var(--accent)}
@media(max-width:900px){.ec-grid{gap:6px}}

/* Couleurs d'univers (Cadeau/Loisirs/Culture) sur la fiche produit et le bloc "Où utiliser cette carte" :
   --accent-grad n'est défini que pour ces 3 classes, donc un produit hors 40/41/42 retombe sur --gc-gradient. */
.fiche.univers-cadeau,.enseignes.univers-cadeau{--accent:#fb2175;--accent-grad:var(--cadeau-grad)}
.fiche.univers-loisirs,.enseignes.univers-loisirs{--accent:#145802;--accent-grad:var(--loisirs-grad)}
.fiche.univers-culture,.enseignes.univers-culture{--accent:#2c6eb9;--accent-grad:var(--culture-grad)}
.fiche{--ico-accent:var(--accent)}
.fiche .btn-primary,.enseignes .btn-primary{background:var(--accent-grad,var(--gc-gradient))}
.fiche h1{font-size:36px;margin-bottom:10px}
.fiche p.desc{color:var(--gc-muted);margin-bottom:24px}
.blockt{font-family:var(--title);font-size:14px;margin:22px 0 10px}
.formats,.montants{display:flex;gap:10px;flex-wrap:wrap}
.opt{border:2px solid var(--gc-border);background:#fff;border-radius:10px;padding:10px 18px;font-family:var(--title);font-size:14px;cursor:pointer;transition:.15s}
.opt:hover{border-color:var(--accent)}
.opt.sel{border-color:var(--accent);background:var(--accent-grad,var(--accent));color:#fff}
.opt:disabled,.opt.disabled{opacity:.5;cursor:not-allowed}
.libre{display:flex;align-items:center;gap:8px}
.libre input{width:110px;border:2px solid var(--gc-border);border-radius:10px;padding:10px 12px;font-family:var(--title);font-size:14px;outline:none}
.libre input:focus{border-color:var(--accent)}
.txt-in{width:100%;border:2px solid var(--gc-border);border-radius:10px;padding:11px 13px;font-family:var(--body);font-size:14px;background:#fff;outline:none}
.txt-in:focus{border-color:var(--accent)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
textarea.txt-in{resize:vertical}
.hint{font-size:12px;color:var(--gc-muted);margin-top:6px}
.total-bar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--gc-border);border-radius:12px;box-shadow:var(--gc-shadow);padding:18px 22px;margin-top:26px}
.total-bar .t{font-family:var(--title);font-size:15px}
.total-bar .v{font-family:var(--title);font-size:26px;color:var(--accent)}
.reassure{display:flex;gap:18px;margin-top:18px;font-size:12.5px;color:var(--gc-muted);flex-wrap:wrap}
/* Réassurance du PANIER : une ligne = picto + texte alignés, empilées.
   Classe distincte de .reassure ci-dessus, qui est le bandeau horizontal de la
   fiche produit : réutilisée telle quelle, elle mettait les lignes côte à côte.
   Les pictos viennent de deux familles de viewBox (24 et 256), d'où la taille
   imposée pour que les lignes s'alignent. */
.cart-reassure{margin-top:14px;font-size:12px;color:var(--gc-muted);display:flex;flex-direction:column;gap:7px}
.cart-reassure > div{display:flex;align-items:center;gap:8px;line-height:1.35}
.cart-reassure .ico{width:15px;height:15px;flex-shrink:0}
.step-hide{display:none}

/* Sélecteur de visuels "Carte physique" (vp-opt) */
.vp-row{display:flex;gap:14px;margin-bottom:8px;flex-wrap:wrap}
.vp-opt{border:3px solid var(--gc-border);border-radius:12px;padding:8px;cursor:pointer;text-align:center;width:128px;transition:.15s;background:#fff}
.vp-opt:hover{border-color:var(--accent)}
.vp-opt.sel{border-color:var(--accent);background:var(--gc-bg)}
.vp-opt img{border-radius:8px;box-shadow:0 6px 16px rgba(30,20,38,.16);margin-bottom:6px;width:100%}
.vp-opt span{font-size:12px;font-family:var(--title);color:var(--gc-muted);display:block}
.vp-opt.sel span{color:var(--accent)}

/* Bloc "Où utiliser cette carte" */
.enseignes{background:#fff;padding:56px 0}
.enseignes .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.enseignes h2{font-size:26px;margin-bottom:12px}
.enseignes p{color:var(--gc-muted);margin-bottom:18px}
.enseignes .chips{justify-content:flex-start;max-width:none;margin:0 0 18px}

/* FAQ mini (page produit) */
.faqmini{padding:56px 0}
.faqmini h2{font-size:26px;text-align:center;margin-bottom:26px}
.faqmini details{max-width:760px;margin:0 auto 12px;background:#fff;border:1px solid var(--gc-border);border-radius:10px;padding:15px 20px}
.faqmini summary{font-family:var(--title);font-size:15.5px;cursor:pointer;color:var(--gc-text)}
.faqmini details p{margin-top:10px;font-size:14px;color:var(--gc-muted)}

@media(max-width:900px){
  .fiche{grid-template-columns:1fr}
  .visu{position:static}
  .row2{grid-template-columns:1fr}
  .enseignes .wrap{grid-template-columns:1fr}
  .wrap>*{min-width:0}
  .wrap table{display:block;width:100%;overflow-x:auto}
  table.qty-table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important}
  .btn{max-width:100%}
  .ctas,.hero-badges{flex-wrap:wrap}
}

/* ===================================== */
/* Page distributeurs                    */
/* ===================================== */
.dhero{background:var(--gc-gradient);color:#fff;padding:48px 0;position:relative;overflow:hidden}
.dhero .veg{position:absolute;right:-20px;top:-26px;width:260px;opacity:.4;transform:rotate(160deg)}
.dhero h1{font-size:34px;margin-bottom:10px}
.dhero p{opacity:.95;max-width:640px}
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dcard{background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);box-shadow:var(--gc-shadow);padding:26px;text-align:center;transition:.2s;display:flex;flex-direction:column}
.dcard:hover{transform:translateY(-4px);border-color:var(--gc-pink);box-shadow:0 12px 40px rgba(231,38,133,.18)}
.dcard .logo-d{height:86px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.dcard .logo-d img{max-height:80px;width:auto;max-width:100%;object-fit:contain;margin:0 auto}
.dcard h3{font-size:17px;margin-bottom:4px}
.dcard .ville{font-size:13px;color:var(--gc-muted);flex:1}
.dcard .dispo{margin-top:14px;font-size:12px;font-family:var(--title);color:var(--gc-pink);background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:14px;padding:5px 12px}
.dnote{text-align:center;color:var(--gc-muted);font-size:14px;max-width:640px;margin:34px auto 0}
@media(max-width:900px){.dgrid{grid-template-columns:1fr 1fr}}

/* ===================================== */
/* Page fiche partenaire (activites)     */
/* ===================================== */
.bandeau{background:var(--gc-gradient);color:#fff;padding:40px 0;position:relative;overflow:hidden}
.bandeau .veg{position:absolute;right:-20px;top:-26px;width:240px;opacity:.4;transform:rotate(160deg)}
.bandeau .wrap{display:flex;align-items:center;gap:24px}
.bandeau .avatar{width:92px;height:92px;border-radius:50%;background:#fff;flex-shrink:0;box-shadow:0 10px 26px rgba(30,20,38,.3);overflow:hidden}
/* Partenaire sans vignette : deux lettres sur le dégradé de marque, comme la
   vignette de l'annuaire, mais en rond. L'anneau blanc de l'avatar est conservé
   (marge de 4px) pour détacher le disque du bandeau, lui aussi en dégradé. */
.bandeau .avatar .sigle{width:calc(100% - 8px);height:calc(100% - 8px);margin:4px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:30px;letter-spacing:.5px;display:flex;align-items:center;justify-content:center}
.bandeau h1{font-size:34px}
.bandeau .cat{font-size:14px;opacity:.95}
.accepts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;max-width:320px;justify-content:flex-end;align-items:center}
.content{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;padding:36px 0 56px;align-items:start}
.gal{display:flex;gap:12px;margin-bottom:22px}
.gal img{border-radius:12px;object-fit:cover;width:180px;height:120px;box-shadow:var(--gc-shadow);background:#fff}
.card{background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:26px}
.card h2{font-size:22px;margin-bottom:12px}
.card p{font-size:14.5px;color:var(--gc-muted);margin-bottom:12px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ptag{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:16px;padding:6px 14px;font-size:12.5px;font-family:var(--title);color:var(--gc-muted);display:inline-block}
.side .card{margin-bottom:22px}
.info-line{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:14px}
.info-line .ic{width:36px;height:36px;border-radius:50%;background:var(--gc-gradient);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px}
.info-line b{font-family:var(--title);display:block;font-size:13px}
.map{border-radius:14px;overflow:hidden;border:1px solid var(--gc-border);box-shadow:var(--gc-shadow)}
.autres{background:#fff;padding:56px 0}
.autres h2{font-size:26px;text-align:center;margin-bottom:30px}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pmini{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:12px;padding:20px;text-align:center;transition:.2s;display:block}
.pmini:hover{transform:translateY(-3px);border-color:var(--gc-pink)}
.pmini h3{font-size:15px;margin:8px 0 4px}
.pmini p{font-size:12px;color:var(--gc-muted)}
@media(max-width:900px){
  .content{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr}
  .bandeau .wrap{flex-wrap:wrap}
  .accepts{margin-left:0;justify-content:flex-start}
}

/* ===================================== */
/* Page panier                           */
/* ===================================== */
.layout{display:grid;grid-template-columns:1.4fr .6fr;gap:26px;padding-bottom:60px;align-items:start}
.items .item{display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:18px;margin-bottom:14px}
.item img{border-radius:8px;box-shadow:0 6px 16px rgba(30,20,38,.18);width:120px;height:80px;object-fit:cover}
.item img.visual-square{width:120px;height:120px}
.item .t{font-family:var(--title);font-size:16px}
.item .d{font-size:13px;color:var(--gc-muted);margin-top:4px}
.qty{display:flex;align-items:center;gap:8px}
.qty a{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--gc-border);background:#fff;font-family:var(--title);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gc-text)}
.qty a:hover{border-color:var(--gc-pink);color:var(--gc-pink)}
.qty span{font-family:var(--title);min-width:22px;text-align:center}
.pr{font-family:var(--title);font-size:16px;text-align:right;white-space:nowrap}
.rm{font-size:12px;color:var(--gc-muted);cursor:pointer;text-align:right;white-space:nowrap;display:block}
.rm:hover{color:var(--gc-pink)}
.recap{background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:24px;position:sticky;top:96px}
.recap h2{font-size:18px;margin-bottom:16px}
.recap .line{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}
/* Colonne des montants : jamais coupee, meme quand un libelle long (nom de point relais)
   comprime la ligne — sinon le sigle € ou le signe +/- passe seul a la ligne suivante */
.recap .line>span+span{white-space:nowrap}
.recap .line.total{font-family:var(--title);font-size:18px;color:var(--gc-pink);border-top:1px solid var(--gc-border);padding-top:12px;margin-top:12px}
.livr-block{margin-bottom:14px}
.livr-block .lbl{font-family:var(--title);font-size:13px;margin-bottom:8px}
.livr-block .lbl small{display:block;color:var(--gc-muted);font-family:var(--body);font-weight:400;font-size:11.5px;margin-top:1px}
.livr-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.livr-opt{display:flex;align-items:center;gap:10px;border:2px solid var(--gc-border);background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;width:100%;font-family:var(--body);transition:.15s}
.livr-opt:hover{border-color:var(--gc-pink)}
.livr-opt.sel{border-color:var(--gc-pink);background:var(--gc-bg)}
.livr-opt .ico{font-size:19px;line-height:1}
.livr-opt .txt b{display:block;font-family:var(--title);font-weight:700;font-size:13.5px;color:var(--gc-text)}
.livr-opt .txt small{display:block;color:var(--gc-muted);font-size:11.5px;margin-top:1px}
.code-row{display:flex;gap:8px;margin:14px 0}
.code-row input{flex:1;border:2px dashed var(--gc-pink);border-radius:8px;padding:9px 11px;font-family:var(--title);font-size:13px;text-transform:uppercase;outline:none}
.gc-modal-overlay{display:flex;position:fixed;inset:0;background:rgba(30,20,38,0);z-index:500;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,background .25s ease,visibility 0s linear .25s}
.gc-modal-overlay.show{opacity:1;visibility:visible;pointer-events:auto;background:rgba(30,20,38,.6);transition:opacity .25s ease,background .25s ease}
.gc-modal-box{background:#fff;border-radius:14px;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(30,20,38,.3);transform:translateY(-18px) scale(.96);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.gc-modal-overlay.show .gc-modal-box{transform:translateY(0) scale(1)}
.gc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--gc-border)}
.gc-modal-header h3{font-size:17px}
.gc-modal-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--gc-muted)}
.gc-modal-close:hover{color:var(--gc-pink)}
.gc-modal-body{padding:22px;text-align:center;background:#f6f6f6}
.gc-modal-body p{font-size:14px;margin-bottom:14px}
.gc-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 22px}
.gc-modal-footer .btn{padding:9px 16px;font-size:13px}
.gc-modal-footer .btn:disabled{opacity:.5;cursor:not-allowed}
.empty-cart{text-align:center;background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:48px 24px;margin-bottom:60px;color:var(--gc-muted)}
.empty-cart .ico{font-size:38px;margin-bottom:10px}
.empty-cart .t{font-family:var(--title);font-size:17px;color:var(--gc-text);margin-bottom:6px}
.empty-cart p{font-size:13.5px;margin-bottom:20px}
@media(max-width:900px){
  .layout{grid-template-columns:minmax(0,1fr)} /* 2026-11-03 : 1fr seul s'élargissait au contenu (panier coupé de 28 px sur téléphone) */
  .items .item{grid-template-columns:auto 1fr}
  .qty,.pr,.rm{grid-column:2}
}

/* ===================================== */
/* Page connexion                        */
/* ===================================== */
.conn-layout{display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.conn-visu{background:var(--gc-gradient);color:#fff;padding:60px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.conn-visu-veg{position:absolute;right:-20px;top:-24px;width:220px;opacity:.4;transform:rotate(160deg)}
/* v2 : visuel fluide et sans rotation */
.conn-visu-cards{width:100%;max-width:460px;margin-top:30px;filter:drop-shadow(0 18px 40px rgba(30,20,38,.35))}
.conn-visu h2{font-family:var(--title);font-size:26px;margin-bottom:12px;position:relative}
.conn-visu p{opacity:.95;font-size:14.5px;position:relative;max-width:420px}
.conn-visu ul{list-style:none;margin-top:18px;position:relative}
.conn-visu li{padding-left:28px;position:relative;margin-bottom:10px;font-size:14px}
.conn-visu li::before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;background:#fff;color:var(--gc-pink);border-radius:50%;font-size:11px;font-weight:bold;display:flex;align-items:center;justify-content:center}
.conn-pane{display:flex;justify-content:center;align-items:flex-start;background:var(--gc-bg);padding:60px 24px}
.conn-box{width:100%;max-width:440px;background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:30px}
.conn-box label{font-family:var(--title);font-size:13px;display:block;margin:14px 0 6px}
.conn-box input.txt-in,.conn-box select.txt-in{background:var(--gc-bg)}
.conn-box input.txt-in:focus,.conn-box select.txt-in:focus{background:#fff}
.conn-box input:invalid,.conn-box select:invalid{box-shadow:none}
.conn-tabs{display:flex;background:var(--gc-bg);border-radius:10px;padding:4px;margin-bottom:20px}
.conn-tabs button{flex:1;border:none;background:transparent;font-family:var(--title);font-size:14px;padding:10px;border-radius:8px;cursor:pointer;color:var(--gc-muted)}
.conn-tabs button.on{background:#fff;color:var(--gc-pink);box-shadow:0 2px 8px rgba(231,38,133,.12)}
.conn-hide{display:none}
.conn-aux{display:flex;justify-content:flex-end;margin:10px 0 16px;font-size:13px}
.conn-aux a{color:var(--gc-pink);font-family:var(--title)}
.conn-alt{text-align:center;font-size:13px;color:var(--gc-muted);margin-top:16px}
.conn-alt a{color:var(--gc-pink);font-family:var(--title)}
.conn-secure{text-align:center;font-size:12px;color:var(--gc-muted);margin-top:16px}
.conn-secure a{color:var(--gc-pink);font-family:var(--title)}
.conn-check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--gc-muted);margin:12px 0}
.conn-check input{margin-top:3px}
.conn-check label{display:inline;font-family:var(--body);font-weight:400;margin:0;font-size:12.5px}
.conn-pwd-wrap{position:relative}
.conn-pwd-wrap .txt-in{padding-right:42px}
.conn-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:17px;line-height:1;padding:6px;user-select:none;color:var(--gc-muted)}
.conn-tel-ok{color:#2e7d32;font-size:12px}
.conn-tel-err{color:#c0185b;font-size:12px}
@media(max-width:900px){.conn-layout{grid-template-columns:1fr}.conn-visu{display:none}}

/* ===================================== */
/* Page commande (checkout)              */
/* ===================================== */
.stepper{display:flex;justify-content:center;gap:0;margin:30px 0;flex-wrap:wrap}
.stp{display:flex;align-items:center;gap:10px}
.stp .n{width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--gc-border);color:var(--gc-muted);font-family:var(--title);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.stp.on .n{background:var(--gc-gradient);border:none;color:#fff}
.stp.done .n{background:#fff;border:2px solid var(--gc-pink);color:var(--gc-pink)}
.stp .l{font-family:var(--title);font-size:13.5px;color:var(--gc-muted)}
.stp.on .l{color:var(--gc-text)}
.stp-sep{width:70px;height:2px;background:var(--gc-border);margin:0 14px;align-self:center}
.ck-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:26px;padding-bottom:60px;align-items:start}
.ck-panel{background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:28px;margin-bottom:18px}
.ck-panel h2{font-size:19px;margin-bottom:16px}
.ck-choice{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.chc{flex:1;min-width:200px;border:2px solid var(--gc-border);border-radius:12px;padding:14px 16px;cursor:pointer;background:#fff}
.chc:hover{border-color:var(--gc-pink)}
.chc.sel{border-color:var(--gc-pink);background:var(--gc-bg)}
.chc b{font-family:var(--title);font-size:14px;display:block;font-weight:700}
.chc small{color:var(--gc-muted);font-size:12.5px}
.chc .prix{float:right;font-family:var(--title);color:var(--gc-pink)}
.ck-pay{display:flex;gap:12px;flex-wrap:wrap}
.ck-pay .chc{min-width:150px;text-align:center}
.ck-pay .chc img{max-height:32px;width:auto;margin:0 auto 6px}
.ck-mini{display:flex;gap:10px;align-items:center;font-size:13px;margin-bottom:10px}
.ck-mini img{width:52px;border-radius:6px}
.ck-addr{border:1px solid var(--gc-border);border-radius:12px;padding:16px;margin-bottom:10px;font-size:13.5px}
.ck-addr h5{font-family:var(--title);font-size:12.5px;color:var(--gc-muted);margin-bottom:6px;text-transform:uppercase}
.ck-item{border-bottom:1px solid var(--gc-border);padding:16px 0}
.ck-item:first-child{padding-top:0}
.ck-item:last-child{border-bottom:none;padding-bottom:0}
.ck-chk{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer;margin:8px 0}
.ck-chk input{accent-color:var(--gc-pink);width:16px;height:16px;flex-shrink:0}
.ck-offert{font-size:13.5px;background:var(--gc-bg);border-radius:10px;padding:10px 14px;margin:8px 0}
.ck-msg{margin-top:8px;padding:12px;background:var(--gc-bg);border-radius:10px}
.ck-msg label{font-family:var(--title);font-size:12.5px;color:var(--gc-muted);margin-bottom:6px;display:block}
.ck-msg textarea{width:100%;border:2px solid var(--gc-border);border-radius:10px;padding:10px 12px;font-family:var(--body);font-size:13.5px;background:#fff;outline:none;resize:vertical}
.ck-msg textarea:focus{border-color:var(--gc-pink)}
@media(max-width:900px){.ck-layout{grid-template-columns:1fr}.stp .l{display:none}}
.gc-modal-box .form-control,.gc-form-grid .form-control{width:100%;border:2px solid var(--gc-border);border-radius:10px;padding:10px 12px;font-family:var(--body);font-size:14px;background:#fff;outline:none;margin-bottom:10px}
.gc-modal-box .form-control:focus,.gc-form-grid .form-control:focus{border-color:var(--accent)}
.gc-modal-box label,.gc-form-grid label{font-family:var(--title);font-size:13px;display:block;margin:8px 0 4px}
.gc-modal-box h4,.gc-form-grid h4{font-family:var(--title);font-size:16px;margin:10px 0}
.gc-modal-box .row,.gc-form-grid .row{display:flex;flex-wrap:wrap;gap:0 16px;margin:0}
.gc-modal-box .row > [class^="col"],.gc-form-grid .row > [class^="col"]{flex:1 1 0;min-width:0}
.gc-modal-box .row > .col-6,.gc-form-grid .row > .col-6{flex:0 0 calc(50% - 8px)}
.gc-modal-box .row > .col-4,.gc-form-grid .row > .col-4{flex:0 0 calc(33.333% - 11px)}
@media(max-width:640px){.gc-modal-box .row > [class^="col"],.gc-form-grid .row > [class^="col"]{flex:1 1 100%}}

/* ===================================== */
/* Pages libres (CGV, mentions légales…) */
/* ===================================== */
.legal-page{padding-bottom:60px}
.legal-page h1{font-size:28px;margin-bottom:24px}
.legal-content{font-size:14.5px;line-height:1.8;color:var(--gc-text)}
.legal-content h2{font-family:var(--title);font-size:20px;margin:28px 0 12px}
.legal-content h3{font-family:var(--title);font-size:16px;margin:20px 0 10px}
.legal-content p{margin-bottom:14px}
.legal-content ul,.legal-content ol{margin:0 0 14px 22px}
.legal-content li{margin-bottom:6px}
.legal-content a{color:var(--gc-pink);text-decoration:underline}
.legal-content table{width:100%;border-collapse:collapse;margin-bottom:14px}
.legal-content table td,.legal-content table th{border:1px solid var(--gc-border);padding:8px 10px;font-size:13.5px}
.legal-content strong{font-weight:700}
/* --- Formulaires bruts collés dans le contenu CMS (ex: page "traitement des données personnelles") --- */
.legal-content form{max-width:600px;margin-top:10px}
.legal-content .form-group{margin-bottom:16px}
.legal-content .form-group label{font-family:var(--title);font-size:13px;display:block;margin-bottom:6px}
.legal-content .form-control{width:100%;border:2px solid var(--gc-border);border-radius:10px;padding:10px 12px;font-family:var(--body);font-size:14px;background:var(--gc-bg);outline:none;box-sizing:border-box}
.legal-content .form-control:focus{border-color:var(--gc-pink);background:#fff}
.legal-content select.form-control{cursor:pointer}
.legal-content textarea.form-control{resize:vertical}
.legal-content input[type="file"].form-control{padding:8px 12px;background:#fff}
.legal-content .form-footer{margin-top:10px}
.legal-content .btn.btn-primary{display:inline-block;border:none;border-radius:9px;padding:12px 24px;font-size:15px;cursor:pointer;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-weight:700}
.legal-content .btn.btn-primary:hover{opacity:.9}
.pip-spinner{width:56px;height:56px;border-radius:50%;border:5px solid var(--gc-border);border-top-color:var(--gc-pink);animation:pip-spin 1s linear infinite;margin:0 auto}
@keyframes pip-spin{to{transform:rotate(360deg)}}

/* ===================================== */
/* Page "Consulter mon solde"            */
/* ===================================== */

.sd-hero{background:var(--gc-gradient);color:#fff;padding:44px 0 40px}
.sd-hero h1{font-size:36px;line-height:1.12;margin-bottom:12px}
.sd-hero p{font-size:16.5px;max-width:620px;opacity:.96}

.voies{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.voie{background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:24px;display:flex;flex-direction:column}
.voie .rang{width:30px;height:30px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:14px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.voie h3{font-size:18px;margin-bottom:6px}
.voie p{font-size:14px;color:var(--gc-muted);flex:1}
.voie .go{margin-top:16px;font-family:var(--title);font-size:14px;color:var(--gc-pink)}
.voie .reco{position:absolute;top:-11px;right:16px;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:11.5px;padding:4px 12px;border-radius:20px}
.voie{position:relative}

.sd-form{background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:32px;max-width:720px;margin:0 auto}
.sd-form label{display:block;font-family:var(--title);font-size:13.5px;margin-bottom:6px;margin-top:16px}
.sd-form input{width:100%;padding:12px 14px;border:1px solid var(--gc-border);border-radius:10px;font-family:var(--body);font-size:15px;background:var(--gc-bg)}
.sd-form input:focus{outline:none;border-color:var(--gc-pink)}
.sd-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sd-form .aide{font-size:12.5px;color:var(--gc-muted);margin-top:6px}
.sd-res{margin-top:22px;border-radius:12px;padding:20px;background:var(--gc-bg);border:1px solid var(--gc-border);display:none}
.sd-res.on{display:block}
.sd-res .montant{font-family:var(--title);font-size:34px;color:var(--gc-pink);line-height:1.1}
.sd-res .det{font-size:13.5px;color:var(--gc-muted);margin-top:6px}
.sd-res .lignes{margin-top:16px;border-top:1px solid var(--gc-border);padding-top:14px}
.sd-res .lg{display:flex;justify-content:space-between;font-size:13.5px;padding:6px 0}
.sd-res .lg span:first-child{color:var(--gc-muted)}

.ou{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ou .c{background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);box-shadow:var(--gc-shadow);padding:22px}
.ou .c .ico{width:24px;height:24px;color:var(--gc-pink);margin-bottom:10px}
.ou .c h3{font-size:17px;margin-bottom:6px}
.ou .c p{font-size:14px;color:var(--gc-muted)}

@media(max-width:900px){
  .sd-hero h1{font-size:28px}
  .voies{grid-template-columns:1fr;margin-top:30px}
  .ou{grid-template-columns:1fr}
  .sd-form{padding:24px}
  .sd-form .row2{grid-template-columns:1fr}
}

/* --- Panneau latéral "Où trouver mon code" (ouverture par la droite) --- */
.sd-aide{margin-top:8px;font-size:13px}
.sd-aide button{background:none;border:none;padding:0;cursor:pointer;font-family:var(--title);font-size:13px;color:var(--gc-pink);text-decoration:underline;text-underline-offset:2px}
.sd-aide button:hover{opacity:.8}
.sd-vol-fond{position:fixed;inset:0;background:rgba(30,20,38,.55);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:600}
.sd-vol-fond.on{opacity:1;visibility:visible}
.sd-vol{position:fixed;top:0;right:0;height:100%;width:430px;max-width:100%;background:#fff;box-shadow:-10px 0 34px rgba(30,20,38,.22);transform:translateX(100%);transition:transform .28s ease;z-index:601;display:flex;flex-direction:column}
.sd-vol.on{transform:translateX(0)}
.sd-vol-tete{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid var(--gc-border);background:var(--gc-bg)}
.sd-vol-tete h3{font-size:18px;line-height:1.2}
.sd-vol-fermer{background:none;border:none;cursor:pointer;font-size:26px;line-height:1;color:var(--gc-muted);padding:2px 6px}
.sd-vol-fermer:hover{color:var(--gc-pink)}
.sd-vol-corps{padding:22px;overflow-y:auto;flex:1}
.sd-vol-corps h4{font-family:var(--title);font-size:15px;margin-bottom:6px}
.sd-vol-corps p{font-size:14px;color:var(--gc-muted);margin-bottom:18px}
.sd-vol-cas{border:1px solid var(--gc-border);border-radius:12px;padding:16px;margin-bottom:14px}
.sd-vol-cas .num{width:26px;height:26px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:13px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.sd-vol-cas p{margin-bottom:0}
.sd-vol-note{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:12px;padding:16px;font-size:13.5px}
.sd-vol-note b{font-family:var(--title)}
@media(max-width:600px){.sd-vol{width:100%}.sd-vol-corps{padding:18px}}

/* --- Ajouts propres au site (absents de la maquette, qui ne gère pas ces états) --- */
.sd-form .sd-err{display:none;margin-top:16px;background:#fdecef;border:1px solid #f5c2cd;color:#a3123f;border-radius:10px;padding:12px 14px;font-size:13.5px}
.sd-form .sd-err.on{display:block}
/* Champ "code de sécurité" masqué + œil : même composant que les formulaires login/register
   (.conn-pwd-wrap/.conn-eye). Règle explicite car .sd-form input redéclare le padding. */
.sd-form .conn-pwd-wrap input{padding-right:42px}
.sd-form button[disabled]{opacity:.6;cursor:not-allowed}
.sd-res .lg.tot{border-top:1px solid var(--gc-border);margin-top:6px;padding-top:10px;font-family:var(--title)}

/* ===================================== */
/* Page "L'application GUYA Cadeau"      */
/* ===================================== */
.app-hero{background:var(--gc-gradient);color:#fff;padding:54px 0 0;overflow:hidden}
.app-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end}
.app-hero .txt{padding-bottom:64px}
.app-hero .ico-app{width:82px;height:82px;border-radius:20px;display:block;margin-bottom:16px;box-shadow:0 12px 30px rgba(30,20,38,.28)}
.app-hero h1{font-size:40px;line-height:1.1;margin-bottom:14px}
.app-hero p.lead{font-size:17px;max-width:520px;opacity:.96}
.app-hero .stores{margin-top:26px}
.app-hero .stores img{height:50px;width:auto}
.app-hero .visu{display:flex;justify-content:center;align-items:flex-end}
.app-hero .visu img{max-width:420px;width:100%;filter:drop-shadow(0 24px 44px rgba(30,20,38,.30))}
.app-note{font-size:13px;opacity:.9;margin-top:14px}


.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:22px;box-shadow:var(--gc-shadow)}
.feat .bulle{width:44px;height:44px;border-radius:12px;background:var(--gc-bg);color:var(--gc-pink);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.feat .bulle .ico{width:23px;height:23px}
.feat h3{font-size:17px;margin-bottom:6px}
.feat p{font-size:14px;color:var(--gc-muted)}

.parcours{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.pbloc{background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:26px 28px}
.pbloc>img{width:100%;border-radius:12px;margin-bottom:18px;background:var(--gc-bg)}
.pbloc h3{font-size:21px;margin-bottom:2px}
.pbloc .pssub{font-family:var(--title);font-size:14px;color:var(--gc-pink);margin-bottom:16px;font-weight:700}
.pbloc ol{list-style:none;counter-reset:et}
.pbloc li{counter-increment:et;position:relative;padding-left:44px;padding-bottom:16px;font-size:14.5px}
.pbloc li:last-child{padding-bottom:0}
.pbloc li::before{content:counter(et);position:absolute;left:0;top:-1px;width:28px;height:28px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:14px;display:flex;align-items:center;justify-content:center}
.pbloc li::after{content:"";position:absolute;left:13.5px;top:32px;bottom:2px;width:1px;background:var(--gc-border)}
.pbloc li:last-child::after{display:none}
.pbloc li b{font-family:var(--title);font-weight:700;display:block}
.pbloc li span{color:var(--gc-muted);font-size:13.5px}

.plus{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.plus .p{background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:20px;text-align:center;box-shadow:var(--gc-shadow)}
.plus .p .ico{width:26px;height:26px;color:var(--gc-pink);margin:0 auto 10px}
.plus .p h4{font-family:var(--title);font-size:15.5px;margin-bottom:4px}
.plus .p p{font-size:13.5px;color:var(--gc-muted)}

.ecrans{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:start}
.ecrans figure{margin:0;text-align:center}
.ecrans img{width:100%;max-width:200px;margin:0 auto 12px;filter:drop-shadow(0 14px 30px rgba(30,20,38,.16))}
.ecrans figcaption{font-family:var(--title);font-size:14px}
.ecrans small{display:block;font-size:12.5px;color:var(--gc-muted);font-family:var(--body);margin-top:2px}

.app-cta{background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:34px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.app-cta h2{font-size:26px;margin-bottom:6px}
.app-cta p{color:var(--gc-muted);font-size:14.5px}
.app-cta .stores{margin-top:0}
.app-cta .stores img{height:48px;width:auto}

@media(max-width:900px){
  .app-hero{padding-top:36px}
  .app-hero .wrap{grid-template-columns:1fr;gap:24px}
  .app-hero .txt{padding-bottom:0}
  .app-hero h1{font-size:30px}
  .app-hero .visu img{max-width:320px}
    .feats,.parcours{grid-template-columns:1fr}
  .plus{grid-template-columns:1fr 1fr}
  .ecrans{grid-template-columns:repeat(2,1fr);gap:20px}
  .app-cta{grid-template-columns:1fr;text-align:center}
  .app-cta .stores{justify-content:center}
}

/* ===================================== */
/* Mon compte                            */
/* ===================================== */
.acc-layout{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:30px 0 60px;align-items:start}
.acc-layout>.card:first-child{position:sticky;top:96px;padding:16px}
.acc-nav{display:flex;flex-direction:column;gap:3px}
.acc-nav a{padding:10px 12px;border-radius:10px;font-family:var(--title);font-size:14px;color:var(--gc-text)}
.acc-nav a:hover{background:var(--gc-bg)}
.acc-nav a.on{background:var(--gc-gradient);color:#fff}
.acc-table{width:100%;border-collapse:collapse;font-size:13.5px}
.acc-table th{text-align:left;font-family:var(--title);font-size:12px;color:var(--gc-muted);text-transform:uppercase;padding:10px 12px;border-bottom:2px solid var(--gc-border)}
.acc-table td{padding:12px;border-bottom:1px solid var(--gc-border);vertical-align:middle}
.acc-table tbody tr:hover{background:var(--gc-bg)}
/* Colonnes d'action (icône seule) : centrées, et picto un peu plus grand que
   dans une ligne de texte — à 1.05em il faisait 14px, trop petit pour une cible
   cliquable isolée dans une cellule. */
.acc-table th.acc-center,.acc-table td.acc-center{text-align:center}
.acc-table .ico{width:18px;height:18px}
.acc-badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px;font-family:var(--title);font-weight:700;white-space:nowrap}
.acc-badge-success{background:#e9f7ec;color:#2e7d32}
.acc-badge-danger{background:#fde8ef;color:#c0185b}
.acc-badge-warning{background:#fff4e0;color:#b26a00}
.acc-badge-info,.acc-badge-default{background:var(--gc-bg);color:var(--gc-muted)}
.acc-card-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.acc-card-head h2{margin-bottom:0}
.acc-card-head a{font-size:13px;color:var(--gc-pink);font-family:var(--title)}
.acc-greet{background:var(--gc-gradient);color:#fff;border-radius:14px;padding:20px 22px;margin-bottom:22px;font-size:14.5px;line-height:1.6}
.acc-greet strong{font-family:var(--title);font-size:17px}
.acc-hr{border:none;border-top:1px solid var(--gc-border);margin:18px 0}
.dnone{display:none}
/* --- intlTelInput (Mes informations) : le plugin enveloppe l'input dans .iti, qui par défaut ne prend */
/* --- pas toute la largeur (inline-block sans width), d'où le désalignement avec le champ Civilité */
.iti{display:block;width:100%}
.iti input.txt-in{width:100%}
.acc-content h1{font-size:24px;margin-bottom:20px}
@media(max-width:900px){.acc-layout{grid-template-columns:minmax(0,1fr)}.acc-layout>.card:first-child{position:static}}

/* --- DataTables (Mes commandes / Mes E-cards) : habillage du CSS par défaut du plugin (CDN) --- */
.dataTables_wrapper{font-family:var(--body)}
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{margin-bottom:14px;font-size:13.5px;color:var(--gc-muted) !important}
.dataTables_wrapper .dataTables_filter input{border:2px solid var(--gc-border) !important;border-radius:10px;padding:8px 12px;font-family:var(--body);font-size:13.5px;outline:none;margin-left:6px}
.dataTables_wrapper .dataTables_filter input:focus{border-color:var(--gc-pink) !important}
.dataTables_wrapper .dataTables_length select{border:2px solid var(--gc-border) !important;border-radius:8px;padding:6px 10px;font-size:13.5px;margin:0 6px;font-family:var(--body)}
.dataTables_wrapper .dataTables_info{font-size:13px;color:var(--gc-muted) !important;padding-top:16px}
.dataTables_wrapper .dataTables_paginate{padding-top:16px}
.dataTables_wrapper .dataTables_paginate .paginate_button{display:inline-block;padding:7px 13px;margin-left:4px;border-radius:8px;font-family:var(--title);font-size:13px;cursor:pointer;color:var(--gc-text) !important;border:1px solid transparent !important;background:none !important}
.dataTables_wrapper .dataTables_paginate .paginate_button.paginate_button:hover{background:var(--gc-bg) !important;background-color:var(--gc-bg) !important;color:#6c757d !important;border-color:var(--gc-border) !important}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--gc-gradient) !important;color:#fff !important;border-color:transparent !important}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{color:var(--gc-muted) !important;opacity:.4;cursor:default}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{background:none !important;border-color:transparent !important}
@media(max-width:600px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{text-align:center}}

/* ===================================== */
/* Page Nos partenaires (annuaire)       */
/* .pgrid, .crumb et .btn sont déjà      */
/* définis plus haut : non redéfinis ici */
/* ===================================== */
.pt-hero{background:var(--gc-gradient);color:#fff;padding:42px 0 36px}
.pt-hero h1{font-size:36px;line-height:1.12;margin-bottom:10px}
.pt-hero p{font-size:16.5px;max-width:640px;opacity:.96}
.pt-stats{display:flex;gap:28px;margin-top:20px;flex-wrap:wrap}
.pt-stats div{font-family:var(--title)}
.pt-stats b{display:block;font-size:26px;line-height:1.1}
.pt-stats span{font-size:12.5px;opacity:.9;font-family:var(--body)}

.filtres{position:sticky;top:72px;z-index:40;background:var(--gc-bg);border-bottom:1px solid var(--gc-border);padding:16px 0}
.filtres .grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:12px;align-items:center}
.f-champ{position:relative}
.f-champ .lp{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--gc-muted);pointer-events:none}
.filtres input,.filtres select{width:100%;padding:11px 14px;border:1px solid var(--gc-border);border-radius:10px;background:#fff;font-family:var(--body);font-size:14.5px;color:var(--gc-text);appearance:none}
.filtres input{padding-left:38px}
.filtres select{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237a5470'><path d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:32px}
.filtres input:focus,.filtres select:focus{outline:none;border-color:var(--gc-pink)}
.f-reset{border:none;background:none;color:var(--gc-muted);font-family:var(--title);font-size:13.5px;cursor:pointer;white-space:nowrap;padding:0 4px}
.f-reset:hover{color:var(--gc-pink)}

.chips-cat{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip-cat{border:1px solid var(--gc-border);background:#fff;border-radius:20px;padding:7px 15px;font-family:var(--title);font-size:13px;color:var(--gc-muted);cursor:pointer;transition:.15s}
.chip-cat:hover{border-color:var(--gc-pink);color:var(--gc-pink)}
.chip-cat.on{background:var(--gc-gradient);color:#fff;border-color:transparent}

.compte{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.compte b{font-family:var(--title);font-size:19px}
.compte .tri{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gc-muted)}
.compte .tri select{padding:8px 30px 8px 12px;border:1px solid var(--gc-border);border-radius:9px;background:#fff;font-family:var(--body);font-size:13.5px;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237a5470'><path d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;cursor:pointer}

.pcarte{background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:20px;display:flex;flex-direction:column;transition:.18s;position:relative}
.pcarte:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(231,38,133,.16);border-color:var(--gc-pink)}
.pcarte .sigle{width:196px;height:196px;border-radius:32px;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:56px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;letter-spacing:.5px;overflow:hidden}
.pcarte h3{font-size:16px;line-height:1.25;margin-bottom:6px}
.pcarte .ville{font-size:13px;color:var(--gc-muted);display:flex;align-items:center;gap:5px}
.pcarte .ville svg{width:14px;height:14px;flex-shrink:0}
.pcarte .cat{font-size:12.5px;color:var(--gc-pink);font-family:var(--title);margin-top:8px}
.pcarte .cartes{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--gc-border)}
.badge-c{font-size:10.5px;font-family:var(--title);padding:3px 10px;border-radius:20px;color:#fff;letter-spacing:.2px}
.b-cadeau{background:linear-gradient(90deg,#fb018b 0%,#fbcd00 100%)}
.b-loisirs{background:radial-gradient(circle at top left,#145802 0%,#94c604 100%)}
.b-culture{background:linear-gradient(90deg,#2c6eb9 0%,#70d9dd 100%)}
.b-rentree{background:linear-gradient(90deg,#a1cefb 0%,#9fb1e7 33%,#faa6d3 66%,#ffbd96 100%);color:#fff;-webkit-text-stroke:.35px #6a4b9e;text-shadow:0 0 2px rgba(106,75,158,.55)}

.vide{text-align:center;padding:56px 20px;color:var(--gc-muted)}
.vide b{display:block;font-family:var(--title);font-size:19px;color:var(--gc-text);margin-bottom:8px}
.plus-btn{display:block;margin:32px auto 0;width:fit-content}

.pt-note{background:#fff;border:1px solid var(--gc-border);border-radius:14px;padding:22px 26px;margin-top:40px;font-size:14px;color:var(--gc-muted)}
.pt-note b{font-family:var(--title);color:var(--gc-text)}

@media(max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .pt-hero h1{font-size:27px}
  .filtres{position:static}
  .filtres .grille{grid-template-columns:1fr 1fr;gap:10px}
  .f-reset{grid-column:1 / -1;text-align:left}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:14px}
  .pcarte{padding:16px}
}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}}

/* ===================================== */
/* Page Devenir partenaire               */
/* Classes préfixées "dp-" : la maquette */
/* réutilise .hero, .why, .w, .two...    */
/* déjà pris (ou trop génériques) dans   */
/* cette feuille partagée par tout le    */
/* site — l'accueil a son propre .hero   */
/* ===================================== */
.dp-hero{background:var(--gc-gradient);color:#fff;padding:72px 0;position:relative;overflow:hidden;min-height:420px;display:flex;align-items:center}
.dp-hero::after{content:"";position:absolute;inset:0;left:34%;background:url('../partenaire-hero.webp') center right/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 16%,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 16%,#000 34%,#000 100%);pointer-events:none}
.dp-hero .wrap{position:relative;z-index:2;width:100%}
.dp-hero .txt{max-width:560px}
.dp-hero h1{font-size:36px;line-height:1.15;margin-bottom:12px}
.dp-hero p{opacity:.95;text-shadow:0 1px 10px rgba(120,20,70,.28)}

.dp-kpis{background:#fff;border-bottom:1px solid var(--gc-border)}
.dp-kpis .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:24px;padding-bottom:20px;text-align:center}
.dp-kpis b{font-family:var(--title);color:var(--gc-pink);display:block;font-size:26px;line-height:1.1}
.dp-kpis small{color:var(--gc-muted);font-size:13px;display:block;margin-top:4px}
.dp-kpis .src{grid-column:1/-1;font-size:11.5px;color:var(--gc-muted);opacity:.75}

.dp-pouvoir{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.dp-pouvoir h2{font-size:29px;line-height:1.2;margin-bottom:12px}
.dp-pouvoir p{color:var(--gc-muted);font-size:15px;margin-bottom:14px}
.dp-cle{background:#fff;border:1px solid var(--gc-border);border-left:3px solid var(--gc-pink);border-radius:0 12px 12px 0;padding:16px 20px;font-size:14.5px}
.dp-cle b{font-family:var(--title)}
.dp-box{background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:22px 26px}
.dp-box .l{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--gc-border);font-size:14.5px}
.dp-box .l:last-child{border-bottom:none}
.dp-box .p{width:30px;height:30px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}

.dp-why{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dp-w{background:#fff;border:1px solid var(--gc-border);border-radius:12px;box-shadow:var(--gc-shadow);padding:20px;text-align:center}
.dp-w .n{width:40px;height:40px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:17px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.dp-w b{font-family:var(--title);font-size:13.5px;display:block;margin-bottom:6px}
.dp-w p{font-size:12px;color:var(--gc-muted)}

.dp-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dp-pane{background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:28px}
.dp-pane h3{font-size:19px;margin-bottom:14px;color:var(--gc-pink)}
.dp-pane ul{list-style:none}
.dp-pane li{padding-left:26px;position:relative;margin-bottom:10px;font-size:14px}
.dp-pane li::before{content:"✓";position:absolute;left:0;top:2px;width:18px;height:18px;background:var(--gc-gradient);color:#fff;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center}
.dp-tarif{font-family:var(--title);font-size:15px;background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:10px;padding:14px 16px;margin-top:14px}

.dp-form{max-width:720px;margin:0 auto}
.dp-form label{display:block;font-family:var(--title);font-size:13px;margin:14px 0 6px}

@media(max-width:900px){
  .dp-hero{padding:48px 0;min-height:0}
  .dp-hero h1{font-size:26px}
  .dp-hero::after{opacity:.35;left:0}
  .dp-why{grid-template-columns:1fr 1fr}
  .dp-two{grid-template-columns:1fr}
  .dp-kpis .wrap{grid-template-columns:1fr 1fr}
  .dp-pouvoir{grid-template-columns:1fr}
}
@media(max-width:560px){.dp-why{grid-template-columns:1fr}}

/* ===================================== */
/* Page Prolonger ma carte               */
/* Classes racines préfixées "pl-" pour  */
/* ne pas exposer .avant/.etape/.fin     */
/* dans une feuille partagée ; les        */
/* classes internes (.c, .num, .cap…)     */
/* restent portées par ces parents        */
/* ===================================== */
.pl-hero{background:var(--gc-gradient);color:#fff;padding:42px 0 36px}
.pl-hero h1{font-size:36px;line-height:1.12;margin-bottom:10px}
.pl-hero p{font-size:16.5px;max-width:660px;opacity:.96}

.pl-avant{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.pl-avant .c{background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:20px}
.pl-avant .c .ico{width:24px;height:24px;color:var(--gc-pink);margin-bottom:10px}
.pl-avant .c h3{font-size:16px;margin-bottom:5px}
.pl-avant .c p{font-size:13.5px;color:var(--gc-muted)}
.pl-avant .c a{color:var(--gc-pink);font-family:var(--title)}

.pl-etape{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:center;padding:30px 0;border-bottom:1px solid var(--gc-border)}
.pl-etape:last-of-type{border-bottom:none}
.pl-etape.inv .txt{order:2}
.pl-etape .num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--gc-gradient);color:#fff;font-family:var(--title);font-size:16px;margin-bottom:10px}
.pl-etape h3{font-size:21px;margin-bottom:8px}
.pl-etape p{font-size:14.5px;color:var(--gc-muted)}
.pl-etape .alerte{margin-top:12px;background:#fff;border:1px solid var(--gc-border);border-left:3px solid var(--gc-pink);border-radius:0 10px 10px 0;padding:12px 16px;font-size:13.5px;color:var(--gc-text)}
.pl-etape .alerte b{font-family:var(--title)}
.pl-etape img.cap{width:100%;border-radius:12px;border:1px solid var(--gc-border);box-shadow:0 12px 30px rgba(30,20,38,.14);background:#fff}

.pl-fin{background:#fff;border:1px solid var(--gc-border);border-radius:16px;box-shadow:var(--gc-shadow);padding:30px;display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:center}
.pl-fin h2{font-size:24px;margin-bottom:8px}
.pl-fin p{font-size:14.5px;color:var(--gc-muted);margin-bottom:8px}
.pl-fin img{width:100%;border-radius:12px;border:1px solid var(--gc-border)}

.pl-faq details{max-width:820px;margin:0 auto 12px;background:#fff;border:1px solid var(--gc-border);border-radius:10px;padding:16px 22px}
.pl-faq summary{cursor:pointer;font-family:var(--title);font-size:15px}

@media(max-width:900px){
  .pl-hero h1{font-size:26px}
  .pl-avant{grid-template-columns:1fr}
  .pl-etape{grid-template-columns:1fr;gap:18px}
  .pl-etape.inv .txt{order:0}
  .pl-fin{grid-template-columns:1fr}
}

/* ===================================== */
/* Page Contact                          */
/* Le formulaire est produit par le       */
/* module contact (champs définis en      */
/* admin) : on l'habille par la classe    */
/* passée au shortcode, sans dépendre du  */
/* balisage exact de chaque champ         */
/* ===================================== */
.ct-hero{background:var(--gc-gradient);color:#fff;padding:42px 0 36px}
.ct-hero h1{font-size:34px;line-height:1.12;margin-bottom:10px}
.ct-hero p{font-size:16.5px;max-width:660px;opacity:.96}

.ct-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:start}
.ct-grid .card{margin-bottom:22px}
.ct-grid .card h2{font-size:20px;margin-bottom:10px}
.ct-liens{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.ct-liens a{font-family:var(--title);font-size:14px;color:var(--gc-pink);padding:7px 0;border-bottom:1px solid var(--gc-border)}
.ct-liens a:last-child{border-bottom:none}
.ct-liens a:hover{opacity:.75}

/* --- Formulaire du module contact (shortcode sbcontact) --- */
.gc-form input[type=text],.gc-form input[type=email],.gc-form input[type=tel],
.gc-form input[type=number],.gc-form input[type=date],.gc-form select,.gc-form textarea{
	width:100%;padding:12px 14px;margin:6px 0 14px;border:1px solid var(--gc-border);border-radius:10px;
	background:var(--gc-bg);font-family:var(--body);font-size:14.5px;color:var(--gc-text)}
.gc-form textarea{min-height:150px;resize:vertical}
.gc-form input:focus,.gc-form select:focus,.gc-form textarea:focus{outline:none;border-color:var(--gc-pink);background:#fff}
.gc-form label{display:block;font-family:var(--title);font-size:13px;margin-top:6px}
.gc-form input[type=submit],.gc-form button[type=submit]{
	background:var(--gc-gradient);color:#fff;border:none;border-radius:9px;padding:13px 26px;
	font-family:var(--title);font-size:15px;cursor:pointer;transition:.2s;width:100%;margin-top:6px}
.gc-form input[type=submit]:hover,.gc-form button[type=submit]:hover{opacity:.9;transform:translateY(-1px)}
.gc-form .g-recaptcha{margin:6px 0 14px}
/* Le formulaire marque ses champs requis par une classe, pas par une astérisque :
   on la restitue pour que la mention « champs suivis d'une astérisque » soit vraie */
.gc-form .form-group{margin-bottom:2px}
.gc-form .required-field label::after{content:" *";color:var(--gc-pink)}
/* Messages renvoyés par le module (succès / erreur) */
.sb-box{border-radius:10px;padding:14px 16px;margin-bottom:14px;font-size:14px}
.sb-success-box{background:#eef9f0;border:1px solid #bfe3c6;color:#1f6b32}
.sb-error-box{background:#fdeef4;border:1px solid #f3c2d7;color:#a3245a}

@media(max-width:900px){
  .ct-hero h1{font-size:26px}
  .ct-grid{grid-template-columns:1fr}
}

/* Recherche sur tout le site (2026-10-07) : loupe de l'en-tête, panneau de suggestions, page /recherche */
.rch-btn{background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.rch-panel{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 14px 30px rgba(30,20,38,.12);border-top:1px solid var(--gc-border);padding:16px 0 18px;z-index:60}
.rch-panel[hidden]{display:none}
.rch-panel .wrap{display:block;height:auto} /* annule header .wrap (flex, 72px de haut) */
.rch-form{display:flex;align-items:center;gap:10px;border:1.5px solid var(--gc-border);border-radius:12px;padding:6px 8px 6px 14px;background:#fff;color:var(--gc-muted)}
.rch-form:focus-within{border-color:var(--gc-pink)}
.rch-form svg{flex:0 0 auto}
.rch-form input::-webkit-search-cancel-button{display:none}
.rch-form input{flex:1;min-width:0;border:0;outline:0;font-size:16px;padding:8px 0;background:transparent;color:var(--gc-text);font-family:var(--body)}
.rch-close{background:none;border:0;font-size:26px;line-height:1;color:var(--gc-muted);cursor:pointer;padding:0 6px}
.rch-res{max-height:min(60vh,520px);overflow-y:auto;margin-top:10px}
.rch-grp{margin-top:8px}
.rch-grp-t{font-family:var(--title);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gc-muted);padding:6px 10px 4px}
.rch-item{display:block;padding:8px 10px;border-radius:10px}
.rch-item b{display:block;font-family:var(--title);font-weight:700;font-size:15px;color:var(--gc-text)}
.rch-item small{display:block;font-size:13px;color:var(--gc-muted)}
.rch-item:hover,.rch-item.on{background:var(--gc-bg)}
.rch-item:hover b,.rch-item.on b{color:var(--gc-pink)}
.rch-all{display:block;margin-top:8px;padding:10px;border-radius:10px;font-family:var(--title);font-size:14px;color:var(--gc-pink)}
.rch-all:hover,.rch-all.on{background:var(--gc-bg)}
.rch-msg{padding:10px;font-size:14px;color:var(--gc-muted)}
.rch-msg a{color:var(--gc-pink);font-family:var(--title)}
.rch-page{padding:20px 0 60px}
.rch-page h1{font-size:30px;margin-bottom:18px;overflow-wrap:anywhere}
.rch-form-page{max-width:640px;margin-bottom:22px}
.rch-form-page .btn{padding:9px 16px;font-size:14px}
.rch-count{font-size:14px;color:var(--gc-muted);margin-bottom:6px}
.rch-grp-page{background:#fff;border-radius:var(--gc-radius);box-shadow:var(--gc-shadow);padding:10px 12px;margin-top:16px}
.rch-grp-page .rch-grp-t{font-size:13px}
.rch-grp-page .rch-grp-t small{text-transform:none;letter-spacing:0;font-family:var(--body)}
.rch-lbl{font-style:normal;display:block}
.rch-vide{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid var(--gc-pink);border-radius:var(--gc-radius);padding:16px 18px;margin:4px 0 6px}
.rch-vide-ico{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--gc-bg);color:var(--gc-pink);display:flex;align-items:center;justify-content:center}
.rch-vide b{display:block;font-family:var(--title);font-size:18px;color:var(--gc-text);overflow-wrap:anywhere}
.rch-vide p{margin:3px 0 0;font-size:14px;color:var(--gc-muted)}
.rch-vide a{color:var(--gc-pink);font-family:var(--title)}
.rch-panel .rch-vide{padding:12px 14px;margin:8px 10px 4px}
.rch-panel .rch-vide b{font-size:16px}
.rch-page .rch-offre{margin-top:34px}
.rch-offre{margin-top:6px;padding:4px 10px 6px}
.rch-offre-t{font-family:var(--title);font-size:15px;margin-bottom:10px}
.rch-page .rch-offre{margin-top:26px;padding:0}
.rch-page .rch-offre h2{font-size:24px;margin-bottom:4px}
.rch-page .rch-offre p{color:var(--gc-muted);font-size:15px;margin-bottom:18px}
.rch-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rch-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gc-border);border-radius:var(--gc-radius);padding:12px;transition:.2s}
.rch-card:hover,.rch-card.on{box-shadow:var(--gc-shadow);border-color:var(--gc-pink)}
.rch-card img{width:100%;aspect-ratio:1.586;object-fit:contain;margin-bottom:10px}
.rch-card b{font-family:var(--title);font-size:15px;color:var(--gc-text)}
.rch-card small{font-size:13px;color:var(--gc-muted);line-height:1.4;margin-top:2px}
.rch-card-cta{margin-top:auto;padding-top:10px;font-family:var(--title);font-size:14px;color:var(--gc-pink)}
.rch-panel .rch-card{padding:8px}
.rch-panel .rch-card small{display:none}
@media(max-width:900px){.rch-cards{grid-template-columns:repeat(2,1fr)}}
/* Petits écrans : icônes seules (Rechercher, Compte, Panier), sinon « Offrir une carte » déborde ; la pastille du panier garde sa taille */
@media(max-width:420px){header .hdr-actions .icon-link{font-size:0}}
@media(max-width:360px){header .wrap{gap:6px}header .hdr-actions{gap:10px}header .btn{padding:8px 9px;font-size:12px}}
@media(max-width:600px){.rch-lbl{display:none}.rch-page h1{font-size:24px}.rch-form-page .btn{display:none}}

/* 2026-11-03 : bandeau tarteaucitron « reCAPTCHA est désactivé. Autoriser » dans les
   formulaires — mince trait gris foncé par défaut, la direction ne le voyait pas. */
.g-recaptcha .tac_activate{display:block!important;width:100%!important;background:#FDF2F7!important;border:1px dashed var(--gc-pink,#E72685)!important;border-radius:10px!important;padding:14px 16px!important;color:#22242a!important;text-align:center!important}
.g-recaptcha .tac_activate .tac_float{display:block!important;color:#22242a!important;font-size:13px!important;line-height:1.5!important}
.g-recaptcha .tac_activate .tarteaucitronAllow{display:inline-block!important;margin:8px 0 0!important;padding:8px 16px!important;border:0!important;border-radius:999px!important;background:var(--gc-pink,#E72685)!important;color:#fff!important;font-weight:600!important;font-size:13px!important;cursor:pointer!important}

/* 2026-11-03 : les enfants de grille gardaient leur largeur minimale de contenu (tableaux,
   textes insécables) et débordaient à droite sur téléphone ; les tableaux du compte défilent
   dans leur bloc plutôt que de couper la page. */
.layout>*,.acc-layout>*{min-width:0}
@media(max-width:900px){.acc-content table{display:block;max-width:100%;overflow-x:auto}}
/* 2026-11-03 : depuis l'ajout du champ « Code » (code de sécurité), le champ du numéro gardait
   sa largeur minimale par défaut (~200 px) et poussait le bouton OK hors du panier sur téléphone */
.code-row input{min-width:0}
