/* Urbex Nexus : feuille du thème (version dans le nom du fichier, cache o2switch). */

@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:700;font-display:swap;src:url(assets/polices/big-shoulders-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:800;font-display:swap;src:url(assets/polices/big-shoulders-display-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:400;font-display:swap;src:url(assets/polices/be-vietnam-pro-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Be Vietnam Pro";font-style:italic;font-weight:400;font-display:swap;src:url(assets/polices/be-vietnam-pro-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:500;font-display:swap;src:url(assets/polices/be-vietnam-pro-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:600;font-display:swap;src:url(assets/polices/be-vietnam-pro-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:700;font-display:swap;src:url(assets/polices/be-vietnam-pro-latin-700-normal.woff2) format("woff2")}

:root{
	--vert:#2F6E4E;--vert-fonce:#1D4430;--vert-pale:#E6EFE9;
	--abricot:#F29A55;--abricot-survol:#DA8B4D;--abricot-pale:#FDEBDD;
	--creme:#FBF6EF;
	--encre:#1E2B23;--texte:#2E3A33;--texte-doux:#5B675F;--bord:#E6E1D7;
	--titres:"Big Shoulders Display","Arial Narrow",sans-serif;
	--corps:"Be Vietnam Pro",system-ui,sans-serif;
	--shell:1640px;--content:1560px;--gutter:clamp(20px,5vw,72px);
	--entete-h:76px;--rayon:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--entete-h) + 12px)}
body{margin:0;background:#fff;color:var(--texte);font-family:var(--corps);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--vert);text-underline-offset:3px}
a:hover{color:var(--vert-fonce)}
h1,h2,h3,h4{font-family:var(--titres);color:var(--encre);line-height:1.04;margin:0 0 .5em;letter-spacing:.005em;text-wrap:balance}
h1{font-size:clamp(46px,6.4vw,88px);font-weight:800}
h2{font-size:clamp(36px,4.2vw,56px);font-weight:800}
h3{font-size:clamp(24px,2.2vw,30px);font-weight:700}
p{margin:0 0 1em}
ul,ol{padding-left:1.2em}
:focus-visible{outline:3px solid var(--abricot);outline-offset:2px}
.ux-visuel-masque{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ux-evitement{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 16px;background:#fff;border-radius:8px}
.ux-evitement:focus{left:12px}

/* Cadres et sections ----------------------------------------------------------- */
.ux-cadre{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}
.ux-cadre--texte{max-width:calc(940px + 2 * var(--gutter))}
.ux-section{position:relative;padding:clamp(56px,7vw,104px) 0}
.ux-section--serree{padding:clamp(36px,4vw,56px) 0}
.ux-fond--blanc{background:#fff}
.ux-fond--creme{background:var(--creme)}
.ux-fond--abricot{background:var(--abricot-pale)}
.ux-fond--vert{background:var(--vert);color:#fff}
.ux-fond--vert h2,.ux-fond--vert h3{color:#fff}
.ux-fond--vert a:not(.ux-btn){color:#fff}
/* Décor : ronds pâles coupés dans les coins (une section sur deux, jamais de bleu clair) */
.ux-ronds{background-image:radial-gradient(circle 310px at right -90px top -120px,var(--abricot-pale) 99.4%,transparent 100%),radial-gradient(circle 120px at left 6% bottom -70px,var(--vert-pale) 99.4%,transparent 100%);background-repeat:no-repeat}
.ux-ronds--inverse{background-image:radial-gradient(circle 310px at left -100px bottom -130px,var(--vert-pale) 99.4%,transparent 100%),radial-gradient(circle 120px at right 7% top -50px,var(--abricot-pale) 99.4%,transparent 100%)}
.ux-fond--vert.ux-ronds{background-image:radial-gradient(circle 310px at right -90px top -120px,rgba(255,255,255,.08) 99.4%,transparent 100%),radial-gradient(circle 120px at left 6% bottom -70px,rgba(242,154,85,.22) 99.4%,transparent 100%)}
.ux-deux{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:stretch}
.ux-deux--carte{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
.ux-deux>*{min-width:0}
.ux-texte h2{font-size:clamp(32px,3.4vw,44px);margin-top:1.1em}
.ux-texte h2:first-child{margin-top:0}
.ux-texte h3{margin-top:1.2em}
.ux-texte li{margin-bottom:.4em}
.ux-intro{font-size:19px}
.ux-intro p:last-child{margin-bottom:0}
.ux-plomb{font-size:19px;max-width:62ch}

/* Boutons (texte 18-19 px, jamais plus petit) ------------------------------------- */
.ux-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:0 26px;border:2px solid transparent;border-radius:12px;font-family:var(--corps);font-size:18px;font-weight:700;line-height:1.15;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.ux-btn--large{min-height:60px;padding:0 30px;font-size:19px}
.ux-btn--accent{background:var(--abricot);color:var(--encre)!important}
.ux-btn--accent:hover{background:var(--abricot-survol)}
.ux-btn--vert{background:var(--vert);color:#fff!important}
.ux-btn--vert:hover{background:var(--vert-fonce)}
.ux-btn--contour{border-color:var(--vert);color:var(--vert)!important;background:#fff}
.ux-btn--contour:hover{background:var(--vert-pale)}
.ux-fond--vert .ux-btn--contour{background:transparent;border-color:#fff;color:#fff!important}
.ux-boutons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.ux-form-bouton{display:inline-block;margin:0}
.ux-lien-fleche{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none}
.ux-coches{list-style:none;padding:0;margin:0 0 1.2em}
.ux-coches li{position:relative;padding-left:32px;margin-bottom:.55em}
.ux-coches li::before{content:"";position:absolute;left:0;top:.28em;width:21px;height:21px;border-radius:50%;background:var(--vert-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6E4E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat}
.ux-fond--vert .ux-coches li::before{background-color:rgba(255,255,255,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}

/* En-tête -------------------------------------------------------------------------- */
.ux-entete{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--bord)}
.ux-entete__in{display:flex;align-items:center;gap:28px;max-width:var(--shell);height:var(--entete-h);margin:0 auto;padding:0 var(--gutter)}
.ux-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.ux-logo__marque{width:40px;height:40px;flex:none}
.ux-logo__nom{font-family:var(--titres);font-size:27px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--encre);line-height:1}
.ux-logo__nom span{color:var(--vert)}
.ux-logo--pied .ux-logo__nom,.ux-logo--pied .ux-logo__nom span{color:#fff}
.ux-nav{margin-left:auto}
.ux-nav__liste{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.ux-nav__liste>li{position:relative;display:flex;align-items:center}
.ux-nav__liste>li>a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:var(--encre);font-weight:600;font-size:16px;text-decoration:none}
.ux-nav__liste>li>a:hover{background:var(--vert-pale);color:var(--vert)}
.ux-nav__plus{width:28px;height:44px;margin-left:-8px;border:0;background:none;cursor:pointer;position:relative}
.ux-nav__plus::after{content:"";position:absolute;left:9px;top:17px;width:7px;height:7px;border-right:2px solid var(--encre);border-bottom:2px solid var(--encre);transform:rotate(45deg)}
.ux-nav__sous{position:absolute;top:100%;left:0;z-index:5;min-width:260px;margin:0;padding:10px;list-style:none;background:#fff;border:1px solid var(--bord);border-radius:14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s}
.ux-nav__sous--colonnes{display:grid;grid-template-columns:1fr 1fr;width:520px}
.ux-nav__deroulant:hover .ux-nav__sous,.ux-nav__deroulant:focus-within .ux-nav__sous,.ux-nav__sous.est-ouvert{opacity:1;visibility:visible;transform:none}
.ux-nav__sous a{display:block;padding:9px 12px;border-radius:8px;color:var(--encre);text-decoration:none;font-size:15.5px}
.ux-nav__sous a:hover{background:var(--vert-pale);color:var(--vert)}
.ux-nav__mobile{display:none!important}
.ux-entete__actions{display:flex;align-items:center;gap:10px}
.ux-entete__compte{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--bord);color:var(--encre)}
.ux-entete__compte:hover{border-color:var(--vert);color:var(--vert)}
.ux-entete__app{min-height:48px;padding:0 18px;font-size:17px}
.ux-burger{display:none;width:48px;height:48px;border:0;border-radius:12px;background:var(--vert);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.ux-burger span{display:block;width:22px;height:2.5px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}
.ux-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.ux-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ux-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Bannière sobre (pages intérieures) : fil d'Ariane et H1, centrés ------------------- */
.ux-banniere{background:var(--vert);color:#fff;text-align:center;padding:clamp(40px,5vw,64px) 0 clamp(42px,5vw,66px)}
.ux-banniere h1{color:#fff;margin:0;font-size:clamp(42px,5.4vw,76px)}
.ux-fil ol{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0;list-style:none;margin:0 0 14px;padding:0;font-size:15px}
.ux-fil li{display:inline-flex;align-items:center}
.ux-fil li+li::before{content:"›";margin:0 10px;opacity:.6}
.ux-fil a{color:rgba(255,255,255,.85);text-decoration:none}
.ux-fil a:hover{color:#fff;text-decoration:underline}
.ux-fil [aria-current]{color:#fff;font-weight:600}
.ux-notices:empty{display:none}
.ux-notices .woocommerce-message,.ux-notices .woocommerce-info,.ux-notices .woocommerce-error{margin:24px 0 0}

/* Accueil : bannière -------------------------------------------------------------- */
.ux-hero{padding:clamp(40px,5vw,72px) 0 clamp(48px,6vw,88px);background:var(--creme)}
.ux-hero__grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:stretch}
.ux-hero__texte{display:flex;flex-direction:column;justify-content:center}
.ux-hero h1{font-size:clamp(58px,8vw,118px);margin-bottom:.12em}
.ux-hero__suite{font-family:var(--titres);font-size:clamp(28px,2.8vw,40px);font-weight:700;color:var(--vert);line-height:1.1;margin:0 0 .7em}
.ux-hero .ux-coches{font-size:18px}
.ux-hero__visuel{position:relative;min-height:420px;border-radius:22px;overflow:hidden;background:var(--vert-fonce)}
.ux-hero__visuel img,.ux-hero__visuel picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ux-hero__visuel img{object-position:left center}
.ux-hero__total{margin:16px 0 0;font-size:16px;color:var(--texte-doux)}

/* Carte gratuite mise en avant ----------------------------------------------------- */
.ux-gratuite{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:24px;background:var(--abricot-pale)}
.ux-gratuite h2{margin-bottom:.3em}
.ux-gratuite__image{position:relative;min-height:300px;border-radius:16px;overflow:hidden;background:#fff}
.ux-gratuite__image img,.ux-gratuite__image picture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.ux-gratuite__prix{font-family:var(--titres);font-size:52px;font-weight:800;color:var(--vert);line-height:1;margin:0 0 12px}

/* Carte de France cliquable ---------------------------------------------------------- */
.ux-fr{margin:0}
.ux-fr__svg{display:block;width:100%;height:auto}
.ux-fr__svg path{stroke:#fff;stroke-width:1.4;stroke-linejoin:round;transition:fill .12s}
.ux-fr__d--0 path,.ux-fr__legende .ux-fr__d--0{fill:#E9EEE8}
.ux-fr__d--1 path,.ux-fr__legende .ux-fr__d--1{fill:color-mix(in srgb,var(--vert) 22%,#fff)}
.ux-fr__d--2 path,.ux-fr__legende .ux-fr__d--2{fill:color-mix(in srgb,var(--vert) 42%,#fff)}
.ux-fr__d--3 path,.ux-fr__legende .ux-fr__d--3{fill:color-mix(in srgb,var(--vert) 66%,#fff)}
.ux-fr__d--4 path,.ux-fr__legende .ux-fr__d--4{fill:var(--vert)}
.ux-fr__d--surligne path{fill:var(--abricot)}
.ux-fr a:hover path,.ux-fr a:focus path{fill:var(--abricot)}
.ux-fr a:focus{outline:none}
.ux-fr__info{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:10px;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--bord)}
.ux-fr__nom{font-weight:700;color:var(--encre)}
.ux-fr__n{color:var(--texte-doux)}
.ux-fr__legende{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:13.5px;color:var(--texte-doux)}
.ux-fr__legende i{display:inline-block;width:22px;height:12px;border-radius:3px}
.ux-fr__legende i.ux-fr__d--1{background:color-mix(in srgb,var(--vert) 22%,#fff)}.ux-fr__legende i.ux-fr__d--2{background:color-mix(in srgb,var(--vert) 42%,#fff)}.ux-fr__legende i.ux-fr__d--3{background:color-mix(in srgb,var(--vert) 66%,#fff)}.ux-fr__legende i.ux-fr__d--4{background:var(--vert)}

/* Régions et départements ----------------------------------------------------------- */
.ux-regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.ux-region a{display:flex;flex-direction:column;height:100%;padding:22px 22px 18px;border-radius:var(--rayon);border:1px solid var(--bord);background:#fff;text-decoration:none;color:var(--texte);transition:border-color .15s}
.ux-region a:hover{border-color:var(--vert)}
.ux-region__nom{margin:0 0 6px;font-size:28px;color:var(--encre)}
.ux-region__depts{flex:1;font-size:14.5px;color:var(--texte-doux);line-height:1.5}
.ux-region__bas{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--bord);font-weight:600}
.ux-region__n{color:var(--vert)}
.ux-region__prix{color:var(--encre)}
.ux-fond--creme .ux-region a{background:#fff}
.ux-depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:2px 24px;list-style:none;margin:0;padding:0}
.ux-depts a{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--bord);text-decoration:none;color:var(--encre);font-weight:600}
.ux-depts a:hover .ux-depts__nom{color:var(--vert);text-decoration:underline}
.ux-depts__code{color:var(--texte-doux);font-weight:500}
.ux-depts__n{flex:none;color:var(--texte-doux);font-weight:500;font-size:15px}
.ux-depts-regions{columns:3 320px;column-gap:48px}
.ux-depts-regions__bloc{break-inside:avoid;margin-bottom:34px}
.ux-depts-regions__bloc h3{font-size:26px;margin-bottom:6px}
.ux-depts-regions__bloc h3 a{color:var(--encre);text-decoration:none}
.ux-depts-regions__bloc h3 a:hover{color:var(--vert)}
.ux-depts-regions .ux-depts{display:block}
.ux-liste-titre{margin-top:28px;font-family:var(--titres);font-size:26px;font-weight:700;color:var(--encre)}

/* Atouts de la carte (damier image / texte) ------------------------------------------- */
.ux-atout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:stretch}
.ux-atout+.ux-atout{margin-top:clamp(48px,6vw,88px)}
.ux-atout__visuel{position:relative;min-height:360px;border-radius:20px;overflow:hidden;background:var(--vert-pale)}
.ux-atout__visuel img,.ux-atout__visuel picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ux-atout__visuel--contenu{background:#E6EFE9}
.ux-atout__visuel--contenu img{object-fit:contain}
.ux-atout__visuel figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:13.5px}
.ux-atout__texte{display:flex;flex-direction:column;justify-content:center}
.ux-atout__ico{display:inline-grid;place-items:center;width:58px;height:58px;margin-bottom:16px;border-radius:16px;background:var(--vert-pale);color:var(--vert)}
.ux-atout--inverse .ux-atout__visuel{order:2}
.ux-duo{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:absolute;inset:0}
.ux-duo figure{position:relative;margin:0;overflow:hidden}
.ux-duo img,.ux-duo picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ux-duo span{position:absolute;left:10px;top:10px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:13px;font-weight:600}

/* Étapes ---------------------------------------------------------------------------------- */
.ux-etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0;counter-reset:etape}
.ux-etape{position:relative;padding:28px 26px;border-radius:var(--rayon);background:#fff;border:1px solid var(--bord);counter-increment:etape}
.ux-etape::before{content:counter(etape);display:grid;place-items:center;width:46px;height:46px;margin-bottom:16px;border-radius:50%;background:var(--vert);color:#fff;font-family:var(--titres);font-size:26px;font-weight:800}
.ux-etape h3{margin-bottom:.35em}
.ux-etape p{margin:0}

/* Tarifs ---------------------------------------------------------------------------------- */
.ux-tarifs{max-width:860px}
.ux-tarifs__liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--bord)}
.ux-tarifs__liste a{display:flex;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--bord);text-decoration:none;color:var(--texte)}
.ux-tarifs__nom{display:flex;flex-direction:column}
.ux-tarifs__nom strong{font-size:19px;color:var(--encre)}
.ux-tarifs__nom span{font-size:15px;color:var(--texte-doux)}
.ux-tarifs__points{flex:1;border-bottom:2px dotted #CFC8BA;transform:translateY(-6px)}
.ux-tarifs__prix{font-family:var(--titres);font-size:32px;font-weight:800;color:var(--vert);white-space:nowrap}
.ux-tarifs__liste a:hover strong{color:var(--vert)}
.ux-tarifs__note{margin:14px 0 0;color:var(--texte-doux)}

/* Règles de l'urbex ------------------------------------------------------------------------ */
.ux-regles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 40px;list-style:none;margin:0;padding:0}
.ux-regles li{padding-top:16px;border-top:2px solid rgba(255,255,255,.28)}
.ux-regles strong{display:block;margin-bottom:4px;font-size:19px}
.ux-fond--vert .ux-regles li{color:rgba(255,255,255,.88)}
.ux-fond--vert .ux-regles strong{color:#fff}

/* Questions ------------------------------------------------------------------------------- */
.ux-faq{border-bottom:1px solid var(--bord)}
.ux-faq summary{position:relative;display:block;padding:20px 44px 20px 0;cursor:pointer;font-weight:700;font-size:18.5px;color:var(--encre);list-style:none;outline:none}
.ux-faq summary::-webkit-details-marker{display:none}
.ux-faq summary::after{content:"";position:absolute;right:6px;top:26px;width:10px;height:10px;border-right:2.5px solid var(--vert);border-bottom:2.5px solid var(--vert);transform:rotate(45deg);transition:transform .15s}
.ux-faq[open] summary::after{transform:rotate(-135deg);top:31px}
.ux-faq summary:focus-visible{outline:3px solid var(--abricot);outline-offset:2px}
.ux-faq__reponse{padding:0 0 18px}
.ux-faq__reponse p:last-child{margin:0}

/* Boutique : vedettes --------------------------------------------------------------------- */
.ux-vedettes{display:grid;grid-template-columns:1fr 1fr;gap:20px;list-style:none;margin:0;padding:0}
.ux-vedette{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(26px,3vw,40px);border-radius:20px;background:var(--abricot-pale)}
.ux-vedette--fonce{background:var(--vert);color:#fff}
.ux-vedette--fonce h2{color:#fff}
.ux-vedette h2{font-size:clamp(34px,3.4vw,46px);margin-bottom:.3em}
.ux-vedette p{flex:0 0 auto}
.ux-vedette__prix{font-family:var(--titres);font-size:46px;font-weight:800;line-height:1;margin:auto 0 18px!important;padding-top:10px}
.ux-vedette--fonce .ux-vedette__prix{color:var(--abricot)}

/* Fiche d'une carte ------------------------------------------------------------------------ */
.ux-fiche-achat__grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:clamp(28px,4vw,60px);align-items:stretch}
.ux-apercu{position:relative;display:flex;flex-direction:column;min-height:460px;border-radius:20px;overflow:hidden;background:var(--creme);border:1px solid var(--bord)}
.ux-apercu__fond{position:relative;flex:1;min-height:380px}
.ux-apercu__fond img,.ux-apercu__fond picture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--creme)}
.ux-apercu .ux-apercu__carte{position:absolute!important;top:0;left:0;right:0;bottom:var(--note-h,52px);z-index:2;opacity:0;transition:opacity .4s}
.ux-apercu--pret .ux-apercu__carte{opacity:1}
.ux-apercu--pret .ux-apercu__fond{visibility:hidden}
.ux-apercu__note{position:relative;z-index:3;margin:0;padding:14px 18px;background:#fff;border-top:1px solid var(--bord);font-size:14.5px;color:var(--texte-doux)}
.ux-achat{display:flex;flex-direction:column;padding:clamp(24px,3vw,36px);border-radius:20px;background:var(--creme);border:1px solid var(--bord)}
.ux-achat__prix{font-family:var(--titres);font-size:clamp(52px,5vw,68px);font-weight:800;line-height:1;color:var(--vert);margin:0 0 10px}
.ux-achat__compte{font-size:19px;margin:0 0 18px}
.ux-achat__compte strong{color:var(--encre)}
.ux-achat__form{margin:0}
.ux-achat .ux-btn{width:100%}
.ux-achat__note{margin:12px 0 0;font-size:15px;color:var(--texte-doux)}
.ux-achat__plus{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--bord);font-size:15.5px}
.ux-texte-carte h2{font-size:clamp(34px,3.6vw,48px)}
.ux-types-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px 28px;list-style:none;margin:0;padding:0}
.ux-types-liste li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bord)}
.ux-types-liste span:not(.ux-pastille){flex:1}
.ux-types-liste strong{font-family:var(--titres);font-size:26px;color:var(--encre)}
.ux-pastille{flex:none;width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--c)}
.ux-voisins{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px;list-style:none;margin:0;padding:0}
.ux-voisins a{display:flex;flex-direction:column;height:100%;padding:16px 18px;border-radius:12px;border:1px solid var(--bord);text-decoration:none;color:var(--texte-doux);font-size:15px}
.ux-voisins strong{color:var(--encre);font-size:17px}
.ux-voisins a:hover{border-color:var(--vert)}
.ux-voisins a:hover strong{color:var(--vert)}

/* Compte, commande, merci ------------------------------------------------------------------- */
.ux-boutique-page{max-width:var(--shell)}
.ux-mes-cartes{list-style:none;margin:20px 0;padding:0;border-top:1px solid var(--bord)}
.ux-mes-cartes li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--bord)}
.ux-mes-cartes li>span{display:flex;flex-direction:column}
.ux-mes-cartes li>span span{color:var(--texte-doux);font-size:15px}
.ux-mes-cartes a{font-weight:700}
.ux-merci{margin:0 0 32px;padding:clamp(22px,3vw,36px);border-radius:18px;background:var(--abricot-pale)}
.ux-merci h2{margin-bottom:.3em}
.ux-retractation{margin:14px 0!important;font-size:15px;line-height:1.5}
.ux-app-invite .ux-cadre{align-items:center}
.ux-app-invite__form{padding:clamp(22px,3vw,34px);border-radius:18px;background:#fff;border:1px solid var(--bord)}

/* WooCommerce : formulaires, tableaux, messages ----------------------------------------------- */
.woocommerce form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:5px;font-weight:600;color:var(--encre)}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce-page form .form-row .input-text,.ux-form input,.ux-form textarea,.woocommerce form .form-row textarea{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--bord);border-radius:10px;background:#fff;font:inherit;font-size:17px;color:var(--encre)}
.woocommerce form .form-row .input-text:focus,.ux-form input:focus,.ux-form textarea:focus{outline:none;border-color:var(--vert)}
.woocommerce .select2-container .select2-selection--single{height:52px;border:1.5px solid var(--bord);border-radius:10px}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:50px;padding-left:14px}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:50px}
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;border:0;border-radius:12px;background:var(--abricot);color:var(--encre);font-family:var(--corps);font-size:18px;font-weight:700;line-height:1.15;text-decoration:none}
.woocommerce button.button:hover,.woocommerce a.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--abricot-survol);color:var(--encre)}
.woocommerce #payment #place_order{width:100%;min-height:60px;font-size:19px}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:0;width:100%}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.woocommerce-checkout form.checkout>*{grid-column:1}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0}
.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2 / span 4;padding:24px;border-radius:18px;background:var(--creme);border:1px solid var(--bord)}
.woocommerce-checkout h3{font-size:30px}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:0;border-radius:0;margin:0 0 20px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 0;border-top:1px solid var(--bord);text-align:left;vertical-align:top}
.woocommerce table.shop_table td.product-total,.woocommerce table.shop_table th:last-child,.woocommerce table.shop_table td:last-child{text-align:right}
.woocommerce #payment{background:#fff;border-radius:14px;border:1px solid var(--bord)}
.woocommerce #payment ul.payment_methods{padding:16px;border-bottom:1px solid var(--bord)}
.woocommerce #payment div.form-row{padding:16px}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{position:relative;margin:0 0 24px;padding:16px 20px;border-radius:12px;border:0;background:var(--vert-pale);color:var(--encre);list-style:none}
.woocommerce-error{background:#FCE6DC}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;border-radius:16px;background:var(--creme);border:1px solid var(--bord)}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:10px;color:var(--encre);text-decoration:none;font-weight:600}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:#fff;color:var(--vert)}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:980px}
.woocommerce .u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.woocommerce .u-columns .col-1,.woocommerce .u-columns .col-2{width:auto;float:none;padding:clamp(22px,3vw,32px);border-radius:16px;border:1px solid var(--bord)}
.woocommerce form.login,.woocommerce form.register{margin:0;padding:0;border:0}

/* Formulaire de contact -------------------------------------------------------------------- */
.ux-form{display:grid;gap:0}
.ux-form p{margin:0 0 16px}
.ux-form label{display:block;margin-bottom:5px;font-weight:600;color:var(--encre)}
.ux-form textarea{min-height:150px;resize:vertical}
.ux-form__ligne{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ux-form__piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ux-form__rgpd{font-size:14.5px;color:var(--texte-doux)}
.ux-alerte{padding:14px 18px;border-radius:12px;font-weight:600}
.ux-alerte--ok{background:var(--vert-pale);color:var(--vert-fonce)}
.ux-alerte--erreur{background:#FCE6DC;color:#8A3414}
.ux-contact-texte{align-self:center}
.ux-contact{padding:clamp(22px,3vw,40px);border-radius:20px;background:#fff;border:1px solid var(--bord)}

/* Page introuvable ---------------------------------------------------------------------------- */
.ux-introuvable{text-align:center}
.ux-introuvable__code{font-family:var(--titres);font-size:clamp(110px,16vw,200px);font-weight:800;line-height:.9;color:var(--vert-pale);margin:0}
.ux-introuvable .ux-boutons{justify-content:center}
.ux-introuvable__liens{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;list-style:none;padding:0;margin:28px 0 0}

/* Pied de page ---------------------------------------------------------------------------- */
.ux-pied{background:var(--vert-fonce);color:rgba(255,255,255,.82);font-size:15.5px}
.ux-pied a{color:#fff;text-decoration:none}
.ux-pied a:hover{text-decoration:underline}
.ux-pied__grille{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:36px;max-width:var(--shell);margin:0 auto;padding:clamp(48px,6vw,80px) var(--gutter) 40px}
.ux-pied__marque p{margin:16px 0 0;max-width:42ch}
.ux-pied__charte{font-weight:600;color:var(--abricot)}
.ux-pied__titre{margin:6px 0 12px;font-family:var(--titres);font-size:22px;font-weight:700;color:#fff}
.ux-pied__liste{list-style:none;margin:0;padding:0}
.ux-pied__liste li{margin-bottom:8px}
.ux-carbone{display:flex;gap:12px;align-items:center;max-width:var(--shell);margin:0 auto 24px;padding:0 var(--gutter);color:rgba(255,255,255,.82)!important}
.ux-carbone__g{font-family:var(--titres);font-size:26px;font-weight:800;color:#fff}
.ux-pied__bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;max-width:var(--shell);margin:0 auto;padding:22px var(--gutter) 28px;border-top:1px solid rgba(255,255,255,.14);font-size:14.5px}
.ux-pied__liens a{color:rgba(255,255,255,.88)}

/* Carte en ligne plein écran ---------------------------------------------------------------- */
.ux-plein-ecran .ux-entete{position:relative}
.ux-main--app{margin:0}

/* Choix des couleurs (préprod) -------------------------------------------------------------- */
.ux-palettes-barre{position:fixed;left:12px;bottom:calc(12px + var(--mpe-bas,0px));z-index:60;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--bord);font-size:13px;font-weight:600}
.ux-palettes-barre a{display:block;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--p1) 50%,var(--p2) 50%);border:2px solid #fff;box-shadow:0 0 0 1px var(--bord)}
.ux-palettes-barre a[aria-current]{box-shadow:0 0 0 2px var(--encre)}
.ux-palettes-barre .ux-palettes-barre__toutes{width:auto;height:auto;padding:2px 8px;border:0;box-shadow:none;background:none;color:var(--vert)}
.ux-palettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:20px}
.ux-palette{padding:22px;border-radius:16px;border:1px solid var(--bord);background:#fff}
.ux-palette--active{border:2px solid var(--encre)}
.ux-palette__nuances{display:flex;gap:6px;margin:0 0 14px}
.ux-palette__nuances span{flex:1;height:44px;border-radius:8px;border:1px solid rgba(0,0,0,.06)}

/* Mémo SEO de la préprod ---------------------------------------------------------------------- */
.ux-seo-memo{position:fixed;right:14px;bottom:calc(14px + var(--mpe-bas,0px));z-index:61;font-size:14px}
.ux-seo-memo summary{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--encre);color:#fff;font-weight:800;cursor:pointer;list-style:none}
.ux-seo-memo summary::-webkit-details-marker{display:none}
.ux-seo-memo__panneau{position:absolute;right:0;bottom:62px;width:min(420px,calc(100vw - 28px));max-height:70vh;overflow:auto;padding:16px;border-radius:14px;background:#fff;border:1px solid var(--bord)}
.ux-seo-memo__haut{margin:0 0 10px;font-weight:800;color:var(--encre)}
.ux-seo-memo__ligne{padding:8px 0;border-top:1px solid var(--bord)}
.ux-seo-memo__ligne span{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texte-doux)}
.ux-seo-memo__ligne p{margin:2px 0 0}

/* Tablette ----------------------------------------------------------------------------------- */
@media (max-width:1180px){
	.ux-regions{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ux-pied__grille{grid-template-columns:1fr 1fr 1fr}
	.ux-pied__marque{grid-column:1/-1}
	.ux-nav__liste>li>a{padding:0 9px;font-size:15.5px}
}
@media (max-width:1060px){
	.ux-burger{display:flex}
	.ux-nav{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100vh - var(--entete-h));overflow-y:auto;margin:0;padding:10px var(--gutter) 22px;background:#fff;border-bottom:1px solid var(--bord)}
	.ux-nav.est-ouvert{display:block}
	.ux-entete__in{position:relative}
	.ux-entete__actions{margin-left:auto}
	.ux-nav__liste{flex-direction:column;align-items:stretch;gap:0}
	.ux-nav__liste>li{flex-wrap:wrap;border-bottom:1px solid var(--bord)}
	.ux-nav__liste>li>a{flex:1;min-height:52px;padding:0 4px;font-size:17px}
	.ux-nav__plus{width:52px;height:52px;margin:0}
	.ux-nav__plus::after{left:21px;top:20px}
	.ux-nav__plus[aria-expanded="true"]::after{transform:rotate(-135deg);top:24px}
	.ux-nav__sous,.ux-nav__sous--colonnes{position:static;display:none;width:100%;min-width:0;padding:0 0 10px;border:0;opacity:1;visibility:visible;transform:none;grid-template-columns:1fr 1fr}
	.ux-nav__sous.est-ouvert{display:grid}
	.ux-nav__deroulant:hover .ux-nav__sous:not(.est-ouvert){display:none}
	.ux-nav__sous a{min-height:44px;display:flex;align-items:center}
	.ux-nav__mobile{display:flex!important}
}
@media (max-width:900px){
	.ux-hero__grille,.ux-deux,.ux-deux--carte,.ux-atout,.ux-gratuite,.ux-fiche-achat__grille{grid-template-columns:1fr}
	.ux-hero__visuel,.ux-atout__visuel,.ux-gratuite__image{order:-1;min-height:260px}
	.ux-atout--inverse .ux-atout__visuel{order:-1}
	.ux-etapes,.ux-regles{grid-template-columns:1fr}
	.ux-regions{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ux-vedettes{grid-template-columns:1fr}
	.ux-apercu{min-height:380px}
	.woocommerce-checkout form.checkout{grid-template-columns:1fr}
	.woocommerce-checkout form.checkout #order_review_heading,.woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto}
	.woocommerce-account .woocommerce{grid-template-columns:1fr}
	.woocommerce .u-columns.col2-set{grid-template-columns:1fr}
	h1{font-size:clamp(40px,9vw,58px)}
	h2{font-size:clamp(32px,7vw,42px)}
	h3{font-size:clamp(22px,5vw,26px)}
	.ux-hero h1{font-size:clamp(54px,14vw,78px)}
	.ux-banniere h1{font-size:clamp(38px,9vw,54px)}
}
@media (max-width:600px){
	body{font-size:16.5px}
	.ux-logo__nom{font-size:23px}
	.ux-logo__marque{width:36px;height:36px}
	.ux-entete__app{display:none}
	.ux-entete__in{gap:12px}
	.ux-regions{grid-template-columns:1fr}
	.ux-form__ligne{grid-template-columns:1fr;gap:0}
	.ux-pied__grille{grid-template-columns:1fr 1fr}
	.ux-btn{font-size:17.5px;min-height:56px}
	.ux-boutons .ux-btn{width:100%}
	.ux-tarifs__prix{font-size:26px}
	.ux-ronds{background-size:auto}
	.ux-ronds{background-image:radial-gradient(circle 175px at right -70px top -80px,var(--abricot-pale) 99.4%,transparent 100%),radial-gradient(circle 75px at left 6% bottom -50px,var(--vert-pale) 99.4%,transparent 100%)}
	.ux-palettes-barre{left:8px;bottom:calc(8px + var(--mpe-bas,0px));padding:5px 8px;gap:4px}
	.ux-palettes-barre>span{display:none}
	.ux-palettes-barre a{width:22px;height:22px}
	.ux-nav__sous,.ux-nav__sous--colonnes,.ux-nav__sous.est-ouvert{grid-template-columns:1fr}
}
