.catalogue{background:#F6F5F0;padding:48px 0}
.clubs-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.clubs-filtres button{border:1px solid #D5D9CD;border-radius:30px;padding:11px 18px;background:transparent;color:#535D50;font:500 12px var(--corps);cursor:pointer}
.clubs-filtres button[aria-pressed="true"]{background:#151B19;color:#FFF;border-color:#151B19}
.clubs-filtres small{margin-left:8px;opacity:.65}
.catalogue .grille{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}
.catalogue .carte{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transition:none}
.catalogue .carte[hidden]{display:none}
.catalogue .carte:hover{transform:none;box-shadow:none}
.catalogue .carte-photo{background:#E9ECE3;border-radius:10px;aspect-ratio:1/1.08}
.catalogue .carte-photo img{object-fit:contain;padding:22px;transition:transform .4s}
.catalogue .carte:hover .carte-photo img{transform:scale(1.05) rotate(-2deg)}
.carte-saison{position:absolute;left:15px;top:14px;font:500 10px var(--corps);letter-spacing:.08em;z-index:1}
.catalogue .etiquette{left:auto;right:12px;top:12px;padding:4px 7px;font-size:8px;letter-spacing:.03em;background:transparent;color:#526048;font-weight:500}
.catalogue .etiquette:not(.rupture){color:#23813D;font-weight:700}
.catalogue .etiquette.rupture{background:#151B19;color:#FFF}
.carte-fleche{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;background:white;border-radius:50%;color:#151B19;font-size:21px}
.catalogue .carte-corps{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:15px 0 0}
.catalogue .carte-club{font:600 13px var(--corps);letter-spacing:0;text-transform:none;color:#151B19}
.catalogue .carte-nom{font:400 11px var(--corps);text-transform:none;color:#71786B;grid-column:1;grid-row:2}
.catalogue .carte-bas{grid-column:2;grid-row:1;margin:0;padding:0;align-self:center}
.catalogue .carte-prix,.catalogue .carte-prix small{font:600 12px var(--corps);color:#151B19;letter-spacing:0;white-space:nowrap}
.offre-clubhouse{background:#F6F5F0;padding:0 0 48px}
.duo-cadre{padding:42px;background:#C5F24A;color:#151B19;border-radius:12px;overflow:hidden}
.classico-promo .duo-cadre{background:radial-gradient(ellipse at 88% 20%,#80304d 0,transparent 58%),linear-gradient(125deg,#111b40,#24376c);color:#fff;box-shadow:0 16px 40px -24px #111b4080}
.classico-promo .duo-kicker{color:#ffe295}
.classico-promo .duo-texte h2 em{color:#ffd15c}
.classico-promo .duo-texte>p:not(.duo-kicker){color:#eef0fa}
.classico-promo .duo-composer{background:#ffd15c;color:#17203e}
.classico-promo .duo-composer:hover{background:#ffe297}
.classico-promo .duo-remise{color:#ffffff38}
.classico-promo .duo-ticket{color:#17203e;background:#fff6dd}
.classico-promo .duo-cadre>p{color:#dde2f2}
.classico-promo .duo-composer:focus-visible{outline-color:#fff}
.duo-entete{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.duo-kicker{font:500 10px var(--corps);letter-spacing:.16em;margin-bottom:24px}
.duo-texte h2{font:400 clamp(38px,4.3vw,56px)/1.04 var(--display);letter-spacing:-.02em;margin-bottom:22px}
.duo-texte h2 em{font-style:normal;color:#648A2B}
.duo-texte>p:not(.duo-kicker){font-size:13px;line-height:1.8}
.duo-composer{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;min-height:50px;margin-top:24px;padding:14px 22px;background:#151B19;color:#FFF;border:0;border-radius:8px;font:600 12px var(--corps);cursor:pointer}
.duo-composer span{font-size:23px}.duo-composer:hover{background:#2C3B2D}
.duo-visuel{position:relative;min-height:320px}
.duo-visuel img{position:absolute;top:24px;left:-5%;width:70%;height:85%;object-fit:contain;transform:rotate(-12deg);filter:drop-shadow(0 12px 10px #27351030)}
.duo-visuel img+img{left:36%;transform:rotate(12deg)}
.duo-remise{position:absolute;right:0;top:-8px;font:400 110px/1 var(--display);color:#151B1930}
.duo-remise small{font-size:28px}
.duo-ticket{position:absolute;bottom:0;right:0;padding:15px 22px;background:#FFF;transform:rotate(-5deg);font:400 10px var(--corps)}
.duo-ticket strong{display:block;font-size:29px;font-weight:500;margin-top:4px}
.duo-classico{display:flex;align-items:center;gap:22px;margin-top:30px;padding:18px 22px;background:#f6f5f0;border-radius:12px;color:#151b19}
.duo-classico-photos{display:flex;flex:none;width:148px}
.duo-classico-photos img{width:80px;height:108px;object-fit:contain}
.duo-classico-photos img+img{margin-left:-12px}
.duo-classico-texte{flex:1}
.duo-classico-texte>span{font-size:9px;letter-spacing:.1em;color:#59752e}
.duo-classico-texte strong{display:block;font-size:21px;margin:5px 0}
.duo-classico-texte p{font-size:12px;line-height:1.6}
.duo-classico .duo-composer{margin:0;flex:none;gap:18px}
@media(max-width:619px){.duo-classico{flex-wrap:wrap;gap:14px;padding:18px}.duo-classico-photos{width:85px}.duo-classico-photos img{width:48px;height:84px}.duo-classico-photos img+img{margin-left:-10px}.duo-classico-texte strong{font-size:17px}.duo-classico-texte p{font-size:11px}.duo-classico .duo-composer{width:100%}}
.duo-options{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #151B1920;margin-top:30px;padding-top:18px}
.duo-options>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px}
.duo-options button{background:transparent;border:1px solid #151B1940;border-radius:30px;padding:9px 12px;color:#263A20;font:500 11px var(--corps);cursor:pointer}
.duo-options button[aria-expanded="true"]{background:#151B19;color:white}
.duo-options #ouvrirGuideOffre{border:0;text-decoration:underline;text-underline-offset:4px;padding-right:0}
.duo-cadre .selection-offre{margin:24px 0 0;background:#F6F5F0;border-radius:10px}
.duo-cadre button:focus-visible,.clubs-filtres button:focus-visible{outline:3px solid #456329;outline-offset:4px}
@media(max-width:619px){.catalogue{padding:32px 0}.catalogue .grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.catalogue .carte-photo img{padding:10px}.catalogue .carte-corps{gap:5px}.catalogue .carte-club{font-size:11px}.catalogue .carte-prix,.catalogue .carte-prix small{font-size:10px}.catalogue .carte-nom{font-size:10px}.carte-saison{left:10px;top:10px;font-size:8px}.catalogue .etiquette{right:5px;top:7px;font-size:7px}.carte-fleche{width:28px;height:28px;right:10px;bottom:10px;font-size:18px}.clubs-filtres{gap:6px}.clubs-filtres button{padding:10px 12px;font-size:11px}.duo-cadre{padding:26px 22px}.duo-entete{grid-template-columns:1fr;gap:12px}.duo-visuel{min-height:280px}.duo-texte h2{font-size:42px}.duo-options{margin-top:24px;gap:12px}.offre-clubhouse{padding-bottom:32px}}
@media(max-width:360px){.catalogue .carte-corps{display:flex;flex-direction:column}.catalogue .carte-bas{align-self:start}}
@media(prefers-reduced-motion:reduce){.catalogue .carte-photo img{transition:none}.catalogue .carte:hover .carte-photo img{transform:none}}

/* Photos portées : cadrage portrait sans couper le modèle. */
.catalogue .carte-photo{aspect-ratio:3/4;background:#fff}
.catalogue .carte-photo img{padding:0;object-fit:contain}
.catalogue .carte:hover .carte-photo img{transform:none}
