/* ════════════════════════════════════════════════════════════════
   ATLAS CLUB · page-specific styles (reprend la DA service-base)
   ════════════════════════════════════════════════════════════════ */
.ac-accent { color: var(--blue-b); }
.ac-grad {
  background: linear-gradient(120deg, #60a5fa 0%, #2563eb 45%, #22d3ee 80%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}

/* ─── HERO ─── */
.ac-hero {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 160px 0 96px;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(37,99,235,.18) 0%, transparent 65%),
    radial-gradient(ellipse 50% 50% at 88% 100%, rgba(34,211,238,.10) 0%, transparent 60%),
    linear-gradient(180deg, #04081d 0%, #060e2b 55%, #081231 100%);
  text-align: center;
}
.ac-hero .ac-hero-grid {
  display: none;
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(96,165,250,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96,165,250,.05) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000, transparent 78%);
          mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000, transparent 78%);
}
.ac-hero .ac-orb { position: absolute; border-radius: 50%; filter: blur(80px); z-index: 0; pointer-events: none; }
.ac-hero .ac-orb.a { width: 460px; height: 460px; top: -140px; left: -120px; background: radial-gradient(circle, rgba(37,99,235,.30), transparent 65%); animation: acOrb 18s ease-in-out infinite; }
.ac-hero .ac-orb.b { width: 420px; height: 420px; bottom: -160px; right: -120px; background: radial-gradient(circle, rgba(124,92,255,.16), transparent 65%); animation: acOrb 22s ease-in-out infinite reverse; }
@keyframes acOrb { 0%,100% { transform: translate(0,0) } 50% { transform: translate(28px,-22px) } }
.ac-hero-inner { position: relative; z-index: 2; max-width: 760px; margin: 0 auto; padding: 0 24px; }
.ac-pill {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: .7rem; font-weight: 700; letter-spacing: 2.2px; text-transform: uppercase;
  color: #bfdbfe; background: rgba(96,165,250,.10);
  border: 1px solid rgba(96,165,250,.32);
  border-radius: 50px; padding: 7px 16px; margin-bottom: 26px;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ac-pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 10px rgba(249,115,22,.85); animation: acPulse 2.2s ease-in-out infinite; }
@keyframes acPulse { 0%,100% { opacity: 1; transform: scale(1) } 50% { opacity: .55; transform: scale(1.25) } }
.ac-hero h1 {
  font-family: 'Space Grotesk', sans-serif; font-weight: 700;
  font-size: clamp(2.8rem, 6vw, 4.6rem); line-height: 1.02; letter-spacing: -2px;
  color: #fff; margin-bottom: 20px;
}
.ac-hero-sub { font-size: clamp(1.05rem, 2vw, 1.3rem); color: #dbe7ff; font-weight: 500; line-height: 1.5; margin-bottom: 16px; }
.ac-hero-text { font-size: 1rem; color: rgba(255,255,255,.6); line-height: 1.7; max-width: 600px; margin: 0 auto 36px; }
.ac-hero-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.ac-hero-cta .btn-primary svg, .ac-hero-cta .btn-secondary svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ac-hero-stats { display: flex; gap: 38px; justify-content: center; flex-wrap: wrap; margin-top: 46px; }
.ac-stat-tx b { display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.7rem; color: #fff; line-height: 1; }
.ac-stat-tx span { font-size: .8rem; color: rgba(255,255,255,.55); margin-top: 5px; display: block; }

/* ─── INTRO ─── */
.ac-intro-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.ac-intro-chips { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
.ac-intro-chip {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 9px 18px 9px 11px; border-radius: 50px;
  background: var(--white); border: 1px solid var(--border);
  font-family: 'Space Grotesk', sans-serif; font-size: .84rem; font-weight: 600; color: var(--navy);
  box-shadow: 0 6px 18px -13px rgba(15,23,42,.5);
  transition: transform .25s cubic-bezier(.22,.68,0,1.4), border-color .25s, box-shadow .25s;
}
.ac-intro-chip:hover { transform: translateY(-3px); border-color: rgba(37,99,235,.35); box-shadow: 0 14px 28px -16px rgba(37,99,235,.5); }
.ac-intro-chip .ci { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(37,99,235,.1); color: var(--blue-b); flex-shrink: 0; }
.ac-intro-chip .ci svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body.atlas-dark .ac-intro-chip { background: var(--glass-bg); border-color: var(--glass-border); color: var(--text); }
body.atlas-dark .ac-intro-chip .ci { background: rgba(96,165,250,.14); color: var(--blue-l); }

/* ════ ATLAS CLUB v5 · community / rewards ════ */
.ac-cat.is-static { cursor: default; }
/* badges coin de carte */
.ac-badge { position: absolute; top: 16px; right: 16px; z-index: 2; font-family:'Space Grotesk',sans-serif; font-size:.56rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:5px 10px; border-radius:50px; white-space:nowrap; }
.ac-badge.blue { color:#2563EB; background:rgba(37,99,235,.1); border:1px solid rgba(37,99,235,.24); }
.ac-badge.cyan { color:#0e7490; background:rgba(34,211,238,.14); border:1px solid rgba(34,211,238,.32); }
.ac-badge.orange { color:#c2410c; background:rgba(249,115,22,.12); border:1px solid rgba(249,115,22,.28); }
.ac-badge.purple { color:#6d28d9; background:rgba(124,92,255,.12); border:1px solid rgba(124,92,255,.28); }
.ac-badge.green { color:#15803d; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.28); }
body.atlas-dark .ac-badge.blue{color:#93c5fd;background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.3)}
body.atlas-dark .ac-badge.cyan{color:#67e8f9;background:rgba(34,211,238,.16);border-color:rgba(34,211,238,.34)}
body.atlas-dark .ac-badge.orange{color:#fdba74;background:rgba(249,115,22,.16);border-color:rgba(249,115,22,.32)}
body.atlas-dark .ac-badge.purple{color:#c4b5fd;background:rgba(124,92,255,.16);border-color:rgba(124,92,255,.34)}
body.atlas-dark .ac-badge.green{color:#86efac;background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.32)}

/* Atlas Rewards · numéro d'action + échelle */
.ac-rewards .ac-why-card { position: relative; }
.ac-rwd-n { position:absolute; top:18px; right:20px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.05rem; color:rgba(96,165,250,.5); }
.ac-scale { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:32px; }
.ac-scale-item { padding:20px 18px; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid rgba(96,165,250,.16); transition:transform .3s,border-color .3s; }
.ac-scale-item:hover { transform:translateY(-3px); border-color:rgba(96,165,250,.34); }
.ac-scale-item b { display:block; font-family:'Space Grotesk',sans-serif; font-size:.98rem; color:#fff; margin:12px 0 4px; }
.ac-scale-item span { font-size:.82rem; color:rgba(255,255,255,.6); }
.ac-scale-dot { width:13px; height:13px; border-radius:50%; display:block; box-shadow:0 0 14px currentColor; }
.ac-scale-dot.s1{background:#60a5fa;color:#60a5fa}
.ac-scale-dot.s2{background:#22d3ee;color:#22d3ee}
.ac-scale-dot.s3{background:#a78bfa;color:#a78bfa}
.ac-scale-dot.s4{background:#f97316;color:#f97316}

/* Niveaux ambassadeurs */
.ac-levels { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.ac-level { position:relative; padding:28px 20px; border-radius:18px; text-align:center; background:rgba(255,255,255,.05); border:1px solid rgba(96,165,250,.16); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); transition:transform .35s cubic-bezier(.22,.68,0,1),border-color .3s,box-shadow .3s; }
.ac-level:hover { transform:translateY(-3px); border-color:rgba(96,165,250,.4); box-shadow:0 24px 46px -26px rgba(0,0,0,.55); }
.ac-level-badge { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; margin:0 auto 14px; color:#fff; box-shadow:0 10px 22px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.25); }
.ac-level-badge svg { width:24px; height:24px; fill:currentColor; stroke:none; }
.ac-level-badge.l1{background:linear-gradient(160deg,#475569,#64748b)}
.ac-level-badge.l2{background:linear-gradient(160deg,#2563eb,#60a5fa)}
.ac-level-badge.l3{background:linear-gradient(160deg,#0e7490,#22d3ee)}
.ac-level-badge.l4{background:linear-gradient(160deg,#7c3aed,#c084fc)}
.ac-level-badge.l5{background:linear-gradient(160deg,#ea580c,#fbbf24)}
.ac-level h3 { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1rem; color:#fff; margin-bottom:8px; }
.ac-level-pts { display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:.76rem; font-weight:700; color:var(--blue-l); background:rgba(96,165,250,.12); border:1px solid rgba(96,165,250,.24); padding:3px 12px; border-radius:50px; margin-bottom:12px; }
.ac-level p { font-size:.82rem; color:rgba(255,255,255,.6); line-height:1.5; }
.ac-level.is-elite { border-color:rgba(249,140,60,.42); box-shadow:0 0 44px -18px rgba(249,140,60,.55); }

/* Sponsors */
.ac-sp-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ac-sp-logo { width:44px; height:44px; border-radius:12px; flex-shrink:0; display:grid; place-items:center; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.84rem; color:#fff; box-shadow:0 8px 18px -8px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.25); }
.ac-sponsors .ac-cat { gap:14px; }
.ac-sponsors .ac-cat .ac-badge { position:static; }

/* Conditions */
.ac-conds { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ac-cond { display:flex; flex-direction:column; gap:12px; padding:24px 22px; border-radius:16px; background:var(--white); border:1px solid var(--border); box-shadow:0 10px 30px -22px rgba(15,23,42,.5); }
.ac-cond-ic { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:rgba(37,99,235,.1); color:var(--blue-b); }
.ac-cond-ic svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ac-cond p { font-size:.9rem; color:var(--mid); line-height:1.55; }
body.atlas-dark .ac-cond { background:var(--glass-bg); border-color:var(--glass-border); }
body.atlas-dark .ac-cond p { color:var(--mid); }
body.atlas-dark .ac-cond-ic { background:rgba(96,165,250,.14); color:var(--blue-l); }

@media (max-width:1024px){ .ac-scale{grid-template-columns:1fr 1fr} .ac-levels{grid-template-columns:repeat(3,1fr)} .ac-conds{grid-template-columns:1fr 1fr} }
@media (max-width:680px){ .ac-scale,.ac-conds{grid-template-columns:minmax(0,1fr)} .ac-levels{grid-template-columns:1fr 1fr} }

/* ════ Toggle thème clair/sombre (CSS-only · :has, style site) ════ */
.ac-theme-cb { position:absolute; width:0; height:0; opacity:0; pointer-events:none; }
.atlas-theme-toggle { cursor:pointer; }
/* ── Portail client · pictogramme navbar (style site) ── */
.nav-portal { position: relative; display: inline-flex; }
.portal-btn { position: relative; width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center; cursor: pointer; background: rgba(96,165,250,.1); border: 1px solid rgba(96,165,250,.22); color: rgba(255,255,255,.85); transition: transform .2s, background .2s, border-color .2s, box-shadow .25s; }
.portal-btn:hover { background: rgba(96,165,250,.2); border-color: rgba(96,165,250,.45); transform: translateY(-1px); box-shadow: 0 0 18px rgba(37,99,235,.4); }
.portal-btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.portal-badge { position: absolute; top: 1px; right: 1px; width: 9px; height: 9px; min-width: 0; padding: 0; border-radius: 50%; background: var(--orange); font-size: 0; color: transparent; border: 2px solid #060e2b; animation: portalPulse 2s ease-in-out infinite; }
@keyframes portalPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(255,107,26,.55) } 50% { box-shadow: 0 0 0 6px rgba(255,107,26,0) } }
.portal-menu { position: absolute; top: calc(100% + 12px); right: 0; width: 250px; background: linear-gradient(160deg, rgba(16,30,68,.94), rgba(8,16,44,.96)); border: 1px solid rgba(96,165,250,.25); border-radius: 16px; padding: 8px; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 30px 70px -24px rgba(2,6,28,.85), 0 0 50px -20px rgba(37,99,235,.5); opacity: 0; visibility: hidden; transform: translateY(8px) scale(.98); transform-origin: top right; transition: opacity .25s, transform .25s cubic-bezier(.22,.68,0,1), visibility .25s; z-index: 300; }
.nav-portal:hover .portal-menu, .nav-portal:focus-within .portal-menu { opacity: 1; visibility: visible; transform: none; }
.pm-head { display: flex; align-items: center; gap: 10px; padding: 10px 10px 12px; border-bottom: 1px solid rgba(96,165,250,.16); margin-bottom: 6px; }
.pm-ava { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(160deg,#2563eb,#60a5fa); display: flex; align-items: center; justify-content: center; font-family: 'Space Grotesk',sans-serif; font-weight: 700; font-size: .8rem; color: #fff; }
.pm-head strong { display: block; font-size: .85rem; color: #fff; }
.pm-head span { font-size: .7rem; color: #fdba74; }
.pm-item { display: flex; align-items: center; gap: 11px; padding: 9px 11px; border-radius: 10px; font-size: .85rem; color: rgba(255,255,255,.8); text-decoration: none; transition: background .18s, color .18s; }
.pm-item svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; opacity: .8; }
.pm-item:hover { background: rgba(96,165,250,.12); color: #fff; }
.pm-item .pm-dot { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 7px var(--orange); }
.pm-logout { border-top: 1px solid rgba(96,165,250,.16); margin-top: 6px; color: #f99; }
.pm-logout:hover { background: rgba(248,113,113,.12); }
body.atlas-club-page.atlas-dark .atlas-theme-toggle .icon-sun  ,html.atlas-dark body.atlas-club-page .atlas-theme-toggle .icon-sun{ opacity:1; transform:rotate(0) scale(1); }
body.atlas-club-page.atlas-dark .atlas-theme-toggle .icon-moon ,html.atlas-dark body.atlas-club-page .atlas-theme-toggle .icon-moon{ opacity:0; transform:rotate(90deg) scale(.6); }

/* Thème sombre auto-contenu (flip des tokens) */
body.atlas-club-page.atlas-dark ,html.atlas-dark body.atlas-club-page{
  --white:#0b1530; --off:#0e1a3e; --text:#e8edf5; --mid:#c5d0e0; --muted:#9aa7bd; --border:rgba(96,165,250,.14);
  background:#08122e !important;
}
body.atlas-club-page.atlas-dark .section.bg-off ,html.atlas-dark body.atlas-club-page .section.bg-off{ background:#0e1a3e; }
body.atlas-club-page.atlas-dark .section:not(.bg-navy):not(.bg-off):not(.cta-final) ,html.atlas-dark body.atlas-club-page .section:not(.bg-navy):not(.bg-off):not(.cta-final){ background:#08122e; }
body.atlas-club-page.atlas-dark .s-title,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-cat h3,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-offer h3,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-offer-meta b,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-intro-chip ,html.atlas-dark body.atlas-club-page .s-title,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-cat h3,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-offer h3,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-offer-meta b,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-intro-chip,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-cat h3,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-offer h3,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-offer-meta b,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-intro-chip { color:#fff; }
body.atlas-club-page.atlas-dark .ac-intro-chip .ci,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-cond-ic ,html.atlas-dark body.atlas-club-page .ac-intro-chip .ci,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-cond-ic,
body.atlas-club-page:is(.atlas-dark,:has(#acTheme:checked)) .ac-cond-ic { background:rgba(96,165,250,.14); color:var(--blue-l); }
body.atlas-club-page.atlas-dark .ac-offer-cat ,html.atlas-dark body.atlas-club-page .ac-offer-cat{ background:rgba(96,165,250,.12); border-color:rgba(96,165,250,.28); color:var(--blue-l); }
body.atlas-club-page.atlas-dark .ac-offer-promo ,html.atlas-dark body.atlas-club-page .ac-offer-promo{ color:#fdba74; }
body.atlas-club-page.atlas-dark .ac-offer-btn.ghost ,html.atlas-dark body.atlas-club-page .ac-offer-btn.ghost{ color:var(--blue-l); border-color:rgba(96,165,250,.2); }
body.atlas-club-page.atlas-dark .ac-badge.blue,html.atlas-dark body.atlas-club-page .ac-badge.blue{color:#93c5fd;background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.3)}
body.atlas-club-page.atlas-dark .ac-badge.cyan,html.atlas-dark body.atlas-club-page .ac-badge.cyan{color:#67e8f9;background:rgba(34,211,238,.16);border-color:rgba(34,211,238,.34)}
body.atlas-club-page.atlas-dark .ac-badge.orange,html.atlas-dark body.atlas-club-page .ac-badge.orange{color:#fdba74;background:rgba(249,115,22,.16);border-color:rgba(249,115,22,.32)}
body.atlas-club-page.atlas-dark .ac-badge.purple,html.atlas-dark body.atlas-club-page .ac-badge.purple{color:#c4b5fd;background:rgba(124,92,255,.16);border-color:rgba(124,92,255,.34)}
body.atlas-club-page.atlas-dark .ac-badge.green,html.atlas-dark body.atlas-club-page .ac-badge.green{color:#86efac;background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.32)}

/* ─── SECTION HEAD reusable ─── */
.ac-head { max-width: 680px; margin: 0 auto 52px; text-align: center; }
.ac-head .s-sub { margin: 14px auto 0; }

/* ─── CATEGORIES ─── */
.ac-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ac-cat {
  position: relative; overflow: hidden; cursor: pointer;
  text-align: left; padding: 26px 24px; border-radius: 18px;
  background: var(--white); border: 1px solid var(--border);
  box-shadow: 0 10px 30px -22px rgba(15,23,42,.5);
  transition: transform .35s cubic-bezier(.22,.68,0,1), border-color .3s, box-shadow .3s;
  display: flex; flex-direction: column; gap: 12px;
}
.ac-cat::after { content: ''; position: absolute; inset: 0; border-radius: inherit; opacity: 0; transition: opacity .4s; pointer-events: none; background: radial-gradient(120% 80% at 50% 0%, rgba(37,99,235,.10), transparent 60%); }
.ac-cat:hover { transform: translateY(-3px); border-color: rgba(37,99,235,.32); box-shadow: 0 24px 46px -26px rgba(37,99,235,.45); }
.ac-cat:hover::after { opacity: 1; }
.ac-cat-ic {
  width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center;
  background: linear-gradient(160deg, rgba(37,99,235,.14), rgba(37,99,235,.04));
  border: 1px solid rgba(37,99,235,.18); color: var(--blue-b);
  transition: transform .35s cubic-bezier(.22,.68,0,1.4);
}
.ac-cat:hover .ac-cat-ic { transform: scale(1.08) rotate(-4deg); }
.ac-cat-ic svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-cat h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.05rem; color: var(--navy); letter-spacing: -.2px; }
.ac-cat p { font-size: .85rem; color: var(--mid); line-height: 1.55; flex: 1; }
.ac-cat .ac-cat-go { display: inline-flex; align-items: center; gap: 6px; font-family: 'Space Grotesk', sans-serif; font-size: .78rem; font-weight: 700; color: var(--blue-b); transition: gap .25s; }
.ac-cat:hover .ac-cat-go { gap: 10px; }
.ac-cat .ac-cat-go svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* ─── FILTER ─── */
.ac-filter { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.ac-chip {
  font-family: 'Inter', sans-serif; font-size: .86rem; font-weight: 600;
  color: var(--mid); background: var(--white); border: 1px solid var(--border);
  padding: 9px 18px; border-radius: 50px; cursor: pointer;
  transition: color .2s, background .2s, border-color .2s, transform .15s;
}
.ac-chip:hover { color: var(--navy); border-color: rgba(37,99,235,.3); transform: translateY(-1px); }
.ac-chip.is-active { color: #fff; background: var(--blue-b); border-color: var(--blue-b); box-shadow: 0 10px 24px -10px rgba(37,99,235,.7); }

/* ─── OFFERS ─── */
.ac-offers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ac-offer {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  padding: 24px 24px 22px; border-radius: 20px;
  background: var(--white); border: 1px solid var(--border);
  box-shadow: 0 14px 34px -24px rgba(15,23,42,.55);
  transition: transform .4s cubic-bezier(.22,.68,0,1), border-color .3s, box-shadow .35s, opacity .35s;
}
.ac-offer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--blue-b), var(--blue-l) 60%, transparent); opacity: .9; }
.ac-offer:hover { transform: translateY(-3px); border-color: rgba(37,99,235,.4); box-shadow: 0 30px 56px -28px rgba(37,99,235,.5); }
.ac-offer.is-hidden { display: none; }
.ac-offer-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.ac-offer-logo {
  width: 46px; height: 46px; border-radius: 13px; flex-shrink: 0;
  display: grid; place-items: center;
  font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: .9rem; color: #fff;
  box-shadow: 0 8px 18px -8px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.25);
}
.ac-offer-cat { font-family: 'Space Grotesk', sans-serif; font-size: .6rem; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; color: var(--blue-b); background: rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.18); padding: 5px 11px; border-radius: 50px; white-space: nowrap; }
.ac-offer-partner { font-size: .78rem; color: var(--muted); font-weight: 600; margin-bottom: 4px; }
.ac-offer h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.12rem; color: var(--navy); line-height: 1.2; letter-spacing: -.2px; margin-bottom: 9px; }
.ac-offer-desc { font-size: .88rem; color: var(--mid); line-height: 1.55; margin-bottom: 16px; }
.ac-offer-promo {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  font-size: .8rem; font-weight: 700; color: #c2410c;
  background: linear-gradient(135deg, rgba(249,115,22,.16), rgba(249,115,22,.06));
  border: 1px solid rgba(249,115,22,.3); padding: 9px 13px; border-radius: 11px; margin-bottom: 16px;
}
.ac-offer-promo svg { width: 15px; height: 15px; stroke: var(--orange); fill: none; stroke-width: 2.4; flex-shrink: 0; }
.ac-offer-meta { display: flex; flex-direction: column; gap: 9px; margin-bottom: 18px; }
.ac-offer-meta div { display: flex; align-items: center; gap: 9px; font-size: .82rem; color: var(--mid); }
.ac-offer-meta svg { width: 15px; height: 15px; stroke: var(--blue-l); fill: none; stroke-width: 2; flex-shrink: 0; }
.ac-offer-meta b { color: var(--navy); font-weight: 600; }
.ac-offer-foot { display: flex; gap: 10px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--border); }
.ac-offer-btn {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  font-family: 'Space Grotesk', sans-serif; font-size: .82rem; font-weight: 700;
  padding: 11px 14px; border-radius: 10px; text-decoration: none; cursor: pointer;
  transition: transform .2s, box-shadow .2s, background .2s, border-color .2s, color .2s;
}
.ac-offer-btn.primary { background: var(--blue-b); color: #fff; box-shadow: 0 10px 22px -10px rgba(37,99,235,.7); }
.ac-offer-btn.primary:hover { transform: translateY(-2px); background: #1d4ed8; box-shadow: 0 14px 28px -10px rgba(37,99,235,.85); }
.ac-offer-btn.ghost { background: transparent; color: var(--blue-b); border: 1px solid var(--border); }
.ac-offer-btn.ghost:hover { border-color: rgba(37,99,235,.4); background: rgba(37,99,235,.05); }
.ac-offer-btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* ─── WHY ─── */
.ac-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ac-why-card {
  padding: 28px 24px; border-radius: 18px; text-align: left;
  background: rgba(255,255,255,.05); border: 1px solid rgba(96,165,250,.16);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  transition: transform .35s cubic-bezier(.22,.68,0,1), border-color .3s, box-shadow .3s;
}
.ac-why-card:hover { transform: translateY(-3px); border-color: rgba(96,165,250,.38); box-shadow: 0 22px 44px -26px rgba(0,0,0,.5); }
.ac-why-ic { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 16px; background: rgba(96,165,250,.14); border: 1px solid rgba(96,165,250,.28); color: var(--blue-l); }
.ac-why-ic svg { width: 23px; height: 23px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-why-card h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.08rem; color: #fff; margin-bottom: 9px; letter-spacing: -.2px; }
.ac-why-card p { font-size: .88rem; color: rgba(255,255,255,.6); line-height: 1.6; }

/* ─── FORM ─── */
.ac-form-wrap { max-width: 860px; margin: 0 auto; padding: 40px 44px; border-radius: 26px; background: var(--white); border: 1px solid var(--border); box-shadow: var(--sh-md); }
.ac-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.ac-field { display: flex; flex-direction: column; gap: 7px; }
.ac-field.full { grid-column: 1 / -1; }
.ac-field label { font-size: .82rem; font-weight: 600; color: var(--mid); }
.ac-field input, .ac-field select, .ac-field textarea {
  font-family: 'Inter', sans-serif; font-size: .95rem; color: var(--text);
  background: var(--off); border: 1px solid var(--border); border-radius: 12px;
  padding: 13px 15px; width: 100%; transition: border-color .2s, box-shadow .2s;
}
.ac-field textarea { resize: vertical; min-height: 110px; }
.ac-field input::placeholder, .ac-field textarea::placeholder { color: var(--muted); }
.ac-field input:focus, .ac-field select:focus, .ac-field textarea:focus { outline: none; border-color: var(--blue-l); box-shadow: 0 0 0 3px rgba(96,165,250,.18); }
.ac-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2.4' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 40px; }
.ac-form-submit { grid-column: 1 / -1; margin-top: 6px; }
.ac-form-submit .btn-primary { width: 100%; justify-content: center; gap: 9px; }
.ac-form-submit .btn-primary svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ac-form-micro { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 8px; font-size: .8rem; color: var(--muted); line-height: 1.5; margin-top: 4px; }
.ac-form-micro svg { width: 15px; height: 15px; stroke: var(--blue-l); fill: none; stroke-width: 2; flex-shrink: 0; margin-top: 2px; }
.ac-form-ok { grid-column: 1 / -1; display: none; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 12px; background: rgba(34,197,94,.1); border: 1px solid rgba(34,197,94,.3); color: #15803d; font-size: .9rem; font-weight: 500; }
.ac-form-ok.show { display: flex; }
.ac-form-ok svg { width: 18px; height: 18px; stroke: #16a34a; fill: none; stroke-width: 2.4; flex-shrink: 0; }

/* ─── DARK MODE (custom components) ─── */
body.atlas-dark .ac-cat,
body.atlas-dark .ac-offer,
body.atlas-dark .ac-chip,
body.atlas-dark .ac-form-wrap { background: var(--glass-bg) !important; border-color: var(--glass-border) !important; -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); }
body.atlas-dark .ac-cat h3, body.atlas-dark .ac-offer h3 { color: #fff; }
body.atlas-dark .ac-cat p, body.atlas-dark .ac-offer-desc { color: var(--mid); }
body.atlas-dark .ac-offer-meta b { color: #fff; }
body.atlas-dark .ac-chip.is-active { background: var(--blue-b) !important; color: #fff !important; border-color: var(--blue-b) !important; }
body.atlas-dark .ac-field input, body.atlas-dark .ac-field select, body.atlas-dark .ac-field textarea { background: rgba(255,255,255,.04); border-color: var(--glass-border); color: var(--text); }
body.atlas-dark .ac-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.4' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
body.atlas-dark .ac-offer-promo { color: #fdba74; }
body.atlas-dark .ac-form-ok { color: #4ade80; }
body.atlas-dark .ac-intro-tag { color: var(--blue-l); background: rgba(96,165,250,.1); border-color: rgba(96,165,250,.22); }
body.atlas-dark .ac-offer-btn.ghost { color: var(--blue-l); border-color: var(--glass-border); }
body.atlas-dark .ac-offer-cat { background: rgba(96,165,250,.12); border-color: rgba(96,165,250,.28); color: var(--blue-l); }

/* ─── Responsive ─── */
/* ════ HERO PREMIUM v2 ════ */
.ac-hero::before {
  content: ''; position: absolute; top: -18%; left: 50%; width: 1100px; height: 1100px; margin-left: -550px;
  z-index: 0; pointer-events: none;
  background: conic-gradient(from 0deg, transparent 0deg, rgba(96,165,250,.12) 60deg, transparent 135deg, transparent 225deg, rgba(34,211,238,.09) 300deg, transparent 360deg);
  -webkit-mask-image: radial-gradient(circle at 50% 45%, #000 10%, transparent 58%);
          mask-image: radial-gradient(circle at 50% 45%, #000 10%, transparent 58%);
  animation: acSpin 46s linear infinite;
}
@keyframes acSpin { to { transform: rotate(360deg); } }

.ac-hero-rings { position: absolute; top: 44%; left: 50%; transform: translate(-50%,-50%); width: 760px; max-width: 124vw; aspect-ratio: 1; z-index: 0; pointer-events: none; }
.ac-hero-rings span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 50%; }
.ac-hero-rings span:nth-child(1) { width: 46%; height: 46%; border: 1px dashed rgba(96,165,250,.22); animation: acSpin 32s linear infinite; }
.ac-hero-rings span:nth-child(2) { width: 74%; height: 74%; border: 1px dashed rgba(34,211,238,.15); animation: acSpin 54s linear infinite reverse; }
.ac-hero-rings span:nth-child(3) { width: 100%; height: 100%; border: 1px solid rgba(124,150,230,.09); }
.ac-hero-rings span:nth-child(1)::after, .ac-hero-rings span:nth-child(2)::after { content: ''; position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: #60a5fa; box-shadow: 0 0 12px #60a5fa; }
.ac-hero-rings span:nth-child(2)::after { background: #22d3ee; box-shadow: 0 0 12px #22d3ee; }

/* titre dégradé animé (base visible, le shimmer ne fait que glisser) */
.ac-hero h1 .ac-grad { background-size: 220% 100%; animation: acShine 7s ease-in-out infinite; }
@keyframes acShine { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* pill : bord lumineux + reflet */
.ac-pill { position: relative; overflow: hidden; }
.ac-pill::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.20) 50%, transparent 70%); transform: translateX(-130%); animation: acPillShine 4.5s ease-in-out infinite; }
@keyframes acPillShine { 0%,100% { transform: translateX(-130%); } 55% { transform: translateX(130%); } }

/* stats avec séparateurs */
.ac-hero-stats { gap: 0; }
.ac-hero-stat { padding: 0 32px; position: relative; }
.ac-hero-stat + .ac-hero-stat::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 38px; background: linear-gradient(180deg, transparent, rgba(96,165,250,.32), transparent); }

/* strip de confiance (avatars partenaires) */
.ac-hero-trust { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 40px; flex-wrap: wrap; }
.ac-hero-trust-label { font-family: 'Space Grotesk', sans-serif; font-size: .68rem; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: rgba(255,255,255,.5); }
.ac-hero-trust-logos { display: flex; }
.ac-hero-trust-logos i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: .72rem; color: #fff; border: 2px solid #0a1230; margin-left: -10px; box-shadow: 0 6px 16px -6px rgba(0,0,0,.6); transition: transform .3s; }
.ac-hero-trust-logos i:first-child { margin-left: 0; }
.ac-hero-trust-logos:hover i { transform: translateY(-3px); }
.ac-hero-trust-logos .more { background: rgba(96,165,250,.2); color: #bfdbfe; }

@media (prefers-reduced-motion: reduce) {
  .ac-hero::before, .ac-hero-rings span, .ac-hero h1 .ac-grad, .ac-pill::after, .ac-stat-ic, .ac-hero-sparks i { animation: none !important; }
}

@media (max-width: 1024px) {
  .ac-cats { grid-template-columns: repeat(3, 1fr); }
  .ac-offers { grid-template-columns: repeat(2, 1fr); }
  .ac-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .ac-hero { padding: 130px 0 72px; min-height: auto; }
  .ac-hero-rings { width: 420px; }
  .ac-hero-stat { padding: 0 18px; }
  .ac-cats { grid-template-columns: 1fr 1fr; }
  .ac-offers { grid-template-columns:minmax(0,1fr); }
  .ac-why-grid { grid-template-columns:minmax(0,1fr); }
  .ac-form-grid { grid-template-columns:minmax(0,1fr); }
  .ac-form-wrap { padding: 30px 22px; }
  .ac-hero-stats { gap: 26px; }
}
/* ─── CSS-only : contenu visible ─── */
.atlas-club-page .reveal { opacity: 1; transform: none; }

/* ac-cat en lien */
.ac-cat { text-decoration: none; color: inherit; }
/* chip = label */
.ac-chip { display: inline-flex; align-items: center; -webkit-user-select: none; user-select: none; }

/* ─── CSS-only : filtre catégories (radios) ─── */
.ac-filterwrap { position: relative; }
.ac-radio { position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none; }
#acf-all:checked ~ .ac-filter label[for="acf-all"],
#acf-it:checked ~ .ac-filter label[for="acf-it"],
#acf-web:checked ~ .ac-filter label[for="acf-web"],
#acf-ia:checked ~ .ac-filter label[for="acf-ia"],
#acf-livraison:checked ~ .ac-filter label[for="acf-livraison"],
#acf-outils:checked ~ .ac-filter label[for="acf-outils"],
#acf-local:checked ~ .ac-filter label[for="acf-local"],
#acf-promos:checked ~ .ac-filter label[for="acf-promos"] {
  color: #fff; background: var(--blue-b); border-color: var(--blue-b);
  box-shadow: 0 10px 24px -10px rgba(37,99,235,.7);
}
#acf-it:checked ~ .ac-offers .ac-offer:not([data-cat~="it"]),
#acf-web:checked ~ .ac-offers .ac-offer:not([data-cat~="web"]),
#acf-ia:checked ~ .ac-offers .ac-offer:not([data-cat~="ia"]),
#acf-livraison:checked ~ .ac-offers .ac-offer:not([data-cat~="livraison"]),
#acf-outils:checked ~ .ac-offers .ac-offer:not([data-cat~="outils"]),
#acf-local:checked ~ .ac-offers .ac-offer:not([data-cat~="local"]),
#acf-promos:checked ~ .ac-offers .ac-offer:not([data-cat~="promos"]) {
  display: none;
}

/* ─── CSS-only : menu mobile (checkbox) ─── */
.ac-menu-cb { position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none; }
#acMenu:checked ~ .mobile-nav {
  max-height: 70vh; opacity: 1; pointer-events: auto; transform: none;
  padding: 16px 20px 20px; border-top-color: rgba(255,255,255,.06);
}
#acMenu:checked ~ .header-inner .hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#acMenu:checked ~ .header-inner .hamburger span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
#acMenu:checked ~ .header-inner .hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (prefers-reduced-motion: reduce) {
  .ac-hero .ac-orb, .ac-pill .dot { animation: none !important; }
}

/* ════════════════════════════════════════════════════════════════
   ATLAS CLUB · PREMIUM v12 — offres promo, concours cadeaux, polish
   ════════════════════════════════════════════════════════════════ */

/* ── Reveal sans JS : scroll-driven (CSS view-timeline), fallback visible ── */
.atlas-club-page .reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .atlas-club-page .reveal {
      opacity: 0;
      animation: acViewReveal .9s cubic-bezier(.22,.68,0,1) both;
      animation-timeline: view();
      animation-range: entry 2% cover 22%;
    }
  }
}
@keyframes acViewReveal { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }

/* ════ OFFRES · cartes promo premium ════ */
.ac-offers-section .ac-offer {
  padding: 0; overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 18px 40px -28px rgba(15,23,42,.55);
}
.ac-offers-section .ac-offer::before { display: none; }
.ac-offers-section .ac-offer:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--oc2) 55%, var(--border));
  box-shadow: 0 38px 64px -30px color-mix(in srgb, var(--oc1) 48%, transparent);
}

.ac-offer-cover {
  position: relative; height: 98px;
  background: linear-gradient(135deg, var(--oc1), var(--oc2));
  border-radius: 22px 22px 0 0;
}
.ac-offer-dots {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.5) 1.1px, transparent 1.3px);
  background-size: 13px 13px; opacity: .35;
  -webkit-mask-image: linear-gradient(105deg, #000, transparent 75%);
          mask-image: linear-gradient(105deg, #000, transparent 75%);
}
.ac-offer-sheen {
  position: absolute; top: 0; left: -70%; width: 55%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-18deg); pointer-events: none;
}
.ac-offers-section .ac-offer:hover .ac-offer-sheen { animation: acSheen .95s cubic-bezier(.4,0,.2,1); }
@keyframes acSheen { to { left: 135%; } }

.ac-offers-section .ac-offer-logo {
  position: absolute; left: 22px; bottom: -24px;
  width: 58px; height: 58px; border-radius: 17px;
  background: #fff; color: var(--oc1);
  display: grid; place-items: center;
  font-family: 'Space Grotesk', sans-serif; font-weight: 800; font-size: 1.05rem;
  box-shadow: 0 14px 26px -10px rgba(2,6,28,.45), 0 0 0 4px rgba(255,255,255,.55);
  transition: transform .4s cubic-bezier(.22,.68,0,1.4);
}
.ac-offers-section .ac-offer:hover .ac-offer-logo { transform: scale(1.07) rotate(-3deg); }

.ac-offer-deal {
  position: absolute; top: 13px; right: 13px; z-index: 2;
  display: inline-flex; align-items: center; gap: 5px;
  font-family: 'Space Grotesk', sans-serif; font-weight: 800; font-size: .82rem; letter-spacing: .2px;
  padding: 7px 13px; border-radius: 50px;
  background: rgba(255,255,255,.96); color: var(--oc1);
  box-shadow: 0 8px 18px -8px rgba(2,6,28,.4);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.ac-offer-deal svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ac-offer-deal.is-hot {
  color: #fff; background: linear-gradient(135deg, #ff6b1a, #f59e0b);
  box-shadow: 0 10px 22px -8px rgba(255,107,26,.7);
  animation: acDeal 2.4s ease-in-out infinite;
}
@keyframes acDeal { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }

.ac-offer-body { padding: 34px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.ac-offer-body > .ac-offer-cat { align-self: flex-start; margin-bottom: 11px; }
.ac-offers-section .ac-offer-btn.primary {
  background: linear-gradient(135deg, var(--oc1), var(--oc2));
  box-shadow: 0 12px 24px -10px color-mix(in srgb, var(--oc1) 65%, transparent);
}
.ac-offers-section .ac-offer-btn.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -10px color-mix(in srgb, var(--oc1) 75%, transparent);
}
.ac-offers-section .ac-offer-btn.primary svg { transition: transform .25s; }
.ac-offers-section .ac-offer-btn.primary:hover svg { transform: translateX(3px); }

/* ════ CONCOURS & CADEAUX · cartes prix ════ */
.ac-prizes { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.ac-prize {
  --pc1: #2563eb; --pc2: #60a5fa;
  width: calc((100% - 40px) / 3);
  position: relative; overflow: hidden; text-decoration: none;
  display: flex; flex-direction: column; gap: 9px;
  padding: 28px 24px 22px; border-radius: 20px;
  background: var(--white); border: 1px solid var(--border);
  box-shadow: 0 14px 32px -24px rgba(15,23,42,.5);
  transition: transform .42s cubic-bezier(.22,.68,0,1), box-shadow .35s, border-color .3s;
}
.ac-prize::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--pc1), var(--pc2)); opacity: .5;
  transition: opacity .35s;
}
.ac-prize:hover::before { opacity: 1; }
.ac-prize-glow {
  position: absolute; top: -46px; right: -34px; width: 150px; height: 150px; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--pc2) 38%, transparent), transparent 70%);
  opacity: .3; pointer-events: none; transition: opacity .4s, transform .55s;
}
.ac-prize:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--pc1) 38%, var(--border));
  box-shadow: 0 36px 60px -30px color-mix(in srgb, var(--pc1) 50%, transparent);
}
.ac-prize:hover .ac-prize-glow { opacity: .55; transform: scale(1.06); }

.ac-prize-ribbon {
  position: absolute; top: 16px; right: 16px;
  font-family: 'Space Grotesk', sans-serif; font-size: .56rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
  padding: 5px 11px; border-radius: 50px; color: #fff;
  background: linear-gradient(135deg, var(--pc1), var(--pc2));
  box-shadow: 0 7px 16px -7px color-mix(in srgb, var(--pc1) 65%, transparent);
}
.ac-prize-medal {
  position: relative; width: 64px; height: 64px; border-radius: 50%;
  display: grid; place-items: center; color: #fff; margin-bottom: 6px;
  background: linear-gradient(150deg, var(--pc1), var(--pc2));
  box-shadow: 0 16px 28px -12px color-mix(in srgb, var(--pc1) 70%, transparent), inset 0 1px 0 rgba(255,255,255,.45);
  animation: acMedal 4.5s ease-in-out infinite;
}
.ac-prize-medal svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-prize-ring {
  position: absolute; inset: -7px; border-radius: 50%;
  border: 2px dashed color-mix(in srgb, var(--pc1) 45%, transparent);
  animation: acRing 16s linear infinite;
}
@keyframes acRing { to { transform: rotate(360deg); } }
@keyframes acMedal { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.ac-prize-kicker {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: 'Space Grotesk', sans-serif; font-size: .64rem; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase;
  color: var(--pc1);
}
.ac-prize-live {
  width: 7px; height: 7px; border-radius: 50%; background: var(--pc1);
  animation: acLive 1.9s ease-in-out infinite;
}
@keyframes acLive {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--pc1) 55%, transparent); }
  70%  { box-shadow: 0 0 0 8px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.ac-prize h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.08rem; color: var(--text); letter-spacing: -.2px; }
.ac-prize p { font-size: .85rem; color: var(--mid); line-height: 1.55; flex: 1; }
.ac-prize-cta {
  display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; margin-top: 8px;
  font-family: 'Space Grotesk', sans-serif; font-size: .82rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, var(--pc1), var(--pc2));
  padding: 9px 17px; border-radius: 50px;
  box-shadow: 0 11px 22px -10px color-mix(in srgb, var(--pc1) 60%, transparent);
  transition: gap .25s, transform .25s, box-shadow .3s;
}
.ac-prize:hover .ac-prize-cta { gap: 11px; transform: translateY(-1px); box-shadow: 0 15px 28px -10px color-mix(in srgb, var(--pc1) 70%, transparent); }
.ac-prize-cta svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
body.atlas-dark .ac-prize,
body.atlas-club-page.atlas-dark .ac-prize ,html.atlas-dark body.atlas-club-page .ac-prize{ background: var(--glass-bg, rgba(255,255,255,.04)); border-color: var(--glass-border, rgba(96,165,250,.16)); }

/* ════ CATEGORIES · polish premium ════ */
.ac-categories .ac-cat::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 3px 3px 0 0;
  background: linear-gradient(90deg, var(--blue-b), var(--blue-l));
  transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.22,.68,0,1);
}
.ac-categories .ac-cat:hover::before { transform: scaleX(1); }
.ac-categories .ac-cat-ic { transition: transform .35s cubic-bezier(.22,.68,0,1.4), background .35s, color .35s, border-color .35s, box-shadow .35s; }
.ac-categories .ac-cat:hover .ac-cat-ic {
  background: linear-gradient(160deg, var(--blue-b), var(--blue-l)); color: #fff; border-color: transparent;
  box-shadow: 0 12px 24px -10px rgba(37,99,235,.6);
}

/* ════ INTRO · chips premium ════ */
.ac-intro-chip { position: relative; overflow: hidden; padding: 10px 19px 10px 12px; }
.ac-intro-chip .ci { width: 28px; height: 28px; transition: background .3s, color .3s, transform .3s; }
.ac-intro-chip:hover .ci { background: linear-gradient(160deg, var(--blue-b), var(--blue-l)); color: #fff; transform: scale(1.08) rotate(-4deg); }
.ac-intro-chip::after {
  content: ''; position: absolute; top: 0; left: -60%; width: 45%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(37,99,235,.14), transparent);
  transform: skewX(-18deg); pointer-events: none;
}
.ac-intro-chip:hover::after { animation: acSheen .9s cubic-bezier(.4,0,.2,1); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ac-prize { width: calc((100% - 20px) / 2); }
}
@media (max-width: 680px) {
  .ac-prize { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ac-offer-deal.is-hot, .ac-prize-medal, .ac-prize-ring, .ac-prize-live { animation: none !important; }
}

/* ════════════════════════════════════════════════════════════
   HERO PREMIUM v3 — hub d'avantages
   ════════════════════════════════════════════════════════════ */
.ac-hero { padding: 150px 0 110px; min-height: 980px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ac-hero-inner { max-width: 880px; }

/* Titre */
.ac-hero h1 {
  font-size: clamp(2.5rem, 5.4vw, 4.15rem);
  line-height: 1.05; letter-spacing: -1.8px; margin-bottom: 22px;
  text-wrap: balance;
}
.ac-hero h1 .ac-grad { letter-spacing: inherit; }
@media (max-width: 720px) { .ac-br { display: none; } }

.ac-hero-sub { max-width: 620px; margin: 0 auto 16px; }
.ac-hero-text { margin-bottom: 30px; }

/* Lueur diffuse derrière le titre */
.ac-hero-titleglow {
  position: absolute; top: 20%; left: 50%; transform: translate(-50%,-50%);
  width: 720px; height: 360px; max-width: 92vw; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(37,99,235,.28), rgba(34,211,238,.10) 48%, transparent 72%);
  filter: blur(34px); opacity: .9;
}

/* Lien Devenir ambassadeur */
.ac-hero-amb {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 18px;
  font-family: 'Space Grotesk', sans-serif; font-size: .9rem; font-weight: 600;
  color: rgba(255,255,255,.62); text-decoration: none;
  transition: color .22s, gap .22s;
}
.ac-hero-amb svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .22s; }
.ac-hero-amb::before {
  content: ''; width: 26px; height: 1px; margin-right: 3px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35));
}
.ac-hero-amb:hover { color: #fff; gap: 11px; }
.ac-hero-amb:hover svg { transform: translateX(2px); }

/* Carte stats glass */
.ac-hero-stats {
  gap: 0; margin-top: 40px;
  display: inline-flex; align-items: stretch; justify-content: center;
  padding: 18px 12px; border-radius: 20px;
  background: linear-gradient(165deg, rgba(20,32,72,.5), rgba(10,18,46,.42));
  border: 1px solid rgba(96,165,250,.2);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: 0 24px 60px -34px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.05);
}
.ac-hero-stat {
  display: flex; align-items: center; gap: 14px;
  padding: 6px 30px; text-align: left;
  transition: transform .3s cubic-bezier(.22,.68,0,1);
}
.ac-hero-stat:hover { transform: translateY(-3px); }
.ac-hero-stat + .ac-hero-stat::before { height: 46px; }
.ac-stat-ic {
  width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; display: grid; place-items: center;
  background: linear-gradient(160deg, rgba(96,165,250,.18), rgba(37,99,235,.05));
  border: 1px solid rgba(96,165,250,.26);
  animation: acStatPulse 3.4s ease-in-out infinite;
  transition: transform .3s cubic-bezier(.22,.68,0,1.4), box-shadow .3s, background .3s;
}
.ac-hero-stat:nth-child(2) .ac-stat-ic { animation-delay: .5s; }
.ac-hero-stat:nth-child(3) .ac-stat-ic { animation-delay: 1s; }
.ac-hero-stat:hover .ac-stat-ic { transform: scale(1.1) rotate(-5deg); animation-play-state: paused; box-shadow: 0 0 22px -2px rgba(96,165,250,.6); }
.ac-hero-stat:hover .ac-stat-ic.cyan { box-shadow: 0 0 22px -2px rgba(34,211,238,.6); }
.ac-hero-stat:hover .ac-stat-ic.violet { box-shadow: 0 0 22px -2px rgba(124,92,255,.6); }
@keyframes acStatPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(96,165,250,0); } 50% { box-shadow: 0 0 16px -3px rgba(96,165,250,.5); } }
.ac-stat-ic svg { width: 21px; height: 21px; stroke: var(--blue-l); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-stat-ic.cyan { background: linear-gradient(160deg, rgba(34,211,238,.18), rgba(34,211,238,.04)); border-color: rgba(34,211,238,.3); }
.ac-stat-ic.cyan svg { stroke: #22d3ee; }
.ac-stat-ic.violet { background: linear-gradient(160deg, rgba(124,92,255,.2), rgba(124,92,255,.05)); border-color: rgba(124,92,255,.32); }
.ac-stat-ic.violet svg { stroke: #a78bfa; }
.ac-stat-tx { display: flex; flex-direction: column; justify-content: center; }
.ac-stat-tx b { display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.6rem; color: #fff; line-height: 1; }
.ac-stat-tx span { display: block; font-size: .8rem; color: rgba(255,255,255,.55); margin-top: 5px; }

/* Anneaux affinés */
.ac-hero-rings span:nth-child(1) { border-color: rgba(96,165,250,.16); }
.ac-hero-rings span:nth-child(2) { border-color: rgba(34,211,238,.11); }
.ac-hero-rings span:nth-child(3) { border-color: rgba(124,150,230,.07); }
.ac-hero-rings span:nth-child(1)::after, .ac-hero-rings span:nth-child(2)::after { width: 6px; height: 6px; margin-left: -3px; top: -3px; }

/* Points lumineux subtils */
.ac-hero-sparks { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ac-hero-sparks i {
  position: absolute; width: 5px; height: 5px; border-radius: 50%;
  background: radial-gradient(circle, rgba(125,211,252,.95), transparent 70%);
  animation: acSpark 4s ease-in-out infinite;
}
.ac-hero-sparks i:nth-child(1) { top: 22%; left: 28%; animation-delay: 0s; }
.ac-hero-sparks i:nth-child(2) { top: 30%; left: 72%; background: radial-gradient(circle, rgba(34,211,238,.95), transparent 70%); animation-delay: .8s; }
.ac-hero-sparks i:nth-child(3) { top: 17%; left: 82%; animation-delay: 1.4s; }
.ac-hero-sparks i:nth-child(4) { top: 58%; left: 73%; background: radial-gradient(circle, rgba(255,107,26,.9), transparent 70%); animation-delay: 2s; }
.ac-hero-sparks i:nth-child(5) { top: 46%; left: 18%; animation-delay: 1.1s; }
.ac-hero-sparks i:nth-child(6) { top: 64%; left: 33%; background: radial-gradient(circle, rgba(167,139,250,.9), transparent 70%); animation-delay: 2.6s; }
@keyframes acSpark { 0%,100% { opacity: .15; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.25); } }

/* Mini-cartes flottantes */
.ac-float {
  position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px;
  width: clamp(210px, 18vw, 256px); padding: 13px 15px; border-radius: 16px;
  background: linear-gradient(160deg, rgba(18,30,68,.72), rgba(10,18,46,.62));
  border: 1px solid rgba(96,165,250,.2);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: 0 22px 50px -24px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.06), 0 0 40px -22px rgba(37,99,235,.5);
}
.ac-float-ic {
  width: 46px; height: 46px; flex-shrink: 0; border-radius: 13px; display: grid; place-items: center;
  background: linear-gradient(160deg, rgba(37,99,235,.28), rgba(37,99,235,.08));
  border: 1px solid rgba(96,165,250,.32);
}
.ac-float-ic svg { width: 22px; height: 22px; stroke: var(--blue-l); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-float-ic.cyan { background: linear-gradient(160deg, rgba(34,211,238,.24), rgba(34,211,238,.06)); border-color: rgba(34,211,238,.34); }
.ac-float-ic.cyan svg { stroke: #22d3ee; }
.ac-float-ic.orange { background: linear-gradient(160deg, rgba(255,107,26,.24), rgba(255,107,26,.06)); border-color: rgba(255,107,26,.36); }
.ac-float-ic.orange svg { stroke: var(--orange); }
.ac-float-tx { min-width: 0; text-align: left; display: flex; flex-direction: column; justify-content: center; }
.ac-float-tx small { display: block; font-family: 'Space Grotesk', sans-serif; font-size: .6rem; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--blue-l); }
.ac-float-tx small.cyan { color: #22d3ee; }
.ac-float-tx small.orange { color: var(--orange); }
.ac-float-tx b { display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.5rem; color: #fff; line-height: 1.1; margin-top: 4px; }
.ac-float-tx s { display: block; font-size: .78rem; color: rgba(255,255,255,.6); text-decoration: none; margin-top: 2px; }
.ac-float-tx p { font-size: .8rem; color: rgba(255,255,255,.66); line-height: 1.4; margin-top: 5px; }
.ac-float--offer { left: max(1.5%, calc(50% - 730px)); top: 34%; }
.ac-float--rewards { right: max(1.5%, calc(50% - 730px)); top: 18%; }
.ac-float--partners { right: max(1.5%, calc(50% - 730px)); top: 45%; }
@keyframes acFloatA { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes acFloatB { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@media (max-width: 1280px) { .ac-float { display: none; } }

/* ── Chips thématiques Atlas Club (récompenses · offres · partenaires) ── */
.cl-deco { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.cl-chip {
  position: absolute; display: grid; place-items: center;
  width: 52px; height: 52px; border-radius: 15px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(96,165,250,.20);
  box-shadow: 0 14px 34px -16px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px);
  color: var(--blue-l); animation: clBob 6s ease-in-out infinite;
}
.cl-chip::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.12), transparent 60%); }
.cl-chip svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.85; stroke-linecap: round; stroke-linejoin: round; }
.cl-chip.cyan { color: #22d3ee; border-color: rgba(34,211,238,.24); }
.cl-chip.orange { color: var(--orange); border-color: rgba(249,115,22,.28); }
.cl-chip.violet { color: #a78bfa; border-color: rgba(167,139,250,.26); }
.cl-chip.c-gift { left: 5%; top: 54%; }
.cl-chip.c-pct { left: 12%; top: 81%; animation-delay: 1s; }
.cl-chip.c-star { left: 22%; top: 93%; animation-delay: .5s; }
.cl-chip.c-trophy { right: 5%; top: 54%; animation-delay: .8s; }
.cl-chip.c-part { right: 13%; top: 82%; animation-delay: 1.4s; }
@keyframes clBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-13px); } }
@media (max-width: 1024px) { .cl-deco { display: none; } }
@media (prefers-reduced-motion: reduce) { .cl-chip { animation: none !important; } }

/* Glow d'horizon bas (planète) */
.ac-hero-horizon {
  position: absolute; left: 50%; bottom: -64%; transform: translateX(-50%);
  width: 168%; aspect-ratio: 2.2 / 1; border-radius: 50%; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse 50% 50% at 50% 0%, rgba(56,130,246,.34), rgba(34,211,238,.12) 38%, transparent 62%);
  filter: blur(8px);
}
.ac-hero-horizon::after {
  content: ''; position: absolute; left: 0; top: -2px; width: 100%; height: 3px; border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(125,211,252,.7) 35%, rgba(190,227,255,.95) 50%, rgba(125,211,252,.7) 65%, transparent);
  filter: blur(1px);
}

/* Entrées animées */
@media (prefers-reduced-motion: no-preference) {
  .ac-hero .ac-pill,
  .ac-hero h1,
  .ac-hero .ac-hero-sub,
  .ac-hero .ac-hero-text,
  .ac-hero .ac-hero-cta,
  .ac-hero .ac-hero-amb,
  .ac-hero .ac-hero-stats,
  .ac-hero .ac-hero-trust { opacity: 0; animation: acUp .7s cubic-bezier(.22,.68,0,1) forwards; }
  .ac-hero h1 { animation-delay: .1s; }
  .ac-hero .ac-hero-sub { animation-delay: .2s; }
  .ac-hero .ac-hero-text { animation-delay: .3s; }
  .ac-hero .ac-hero-cta { animation-delay: .42s; }
  .ac-hero .ac-hero-amb { animation-delay: .5s; }
  .ac-hero .ac-hero-stats { animation-delay: .58s; }
  .ac-hero .ac-hero-trust { animation-delay: .68s; }
  .ac-float { animation: acFade .8s ease both, acFloatA 6s ease-in-out infinite; }
  .ac-float--offer { animation-delay: .7s, .7s; }
  .ac-float--rewards { animation: acFade .8s ease both, acFloatB 7s ease-in-out infinite; animation-delay: .8s, .8s; }
  .ac-float--partners { animation-delay: .9s, .9s; }
}
@keyframes acUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes acFade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 720px) {
  .ac-hero-stats { flex-direction: column; gap: 0; padding: 6px 22px; }
  .ac-hero-stat { padding: 14px 0; width: 100%; }
  .ac-hero-stat + .ac-hero-stat::before { display: none; }
  .ac-hero-stat + .ac-hero-stat { border-top: 1px solid rgba(96,165,250,.14); }
}

/* ════════════════════════════════════════════════════════════
   CATEGORIES · cartes horizontales premium 2 colonnes (v16)
   ════════════════════════════════════════════════════════════ */
.ac-categories .ac-cats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px; align-items: stretch;
}
.ac-categories .ac-cat {
  display: grid; grid-template-columns: 56px 1fr; column-gap: 22px; row-gap: 6px;
  align-items: center; align-content: center;
  padding: 28px 30px; border-radius: 20px; height: 100%;
}
.ac-categories .ac-cat-ic {
  grid-row: 1 / 4; grid-column: 1; align-self: center;
  width: 56px; height: 56px; border-radius: 16px;
}
.ac-categories .ac-cat-ic svg { width: 26px; height: 26px; }
.ac-categories .ac-cat h3 { grid-column: 2; grid-row: 1; font-size: 1.16rem; line-height: 1.2; margin: 0; }
.ac-categories .ac-cat p  { grid-column: 2; grid-row: 2; font-size: .92rem; line-height: 1.55; flex: none; max-width: 38ch; }
.ac-categories .ac-cat-go { grid-column: 2; grid-row: 3; font-size: .84rem; gap: 9px; margin-top: 8px; }

/* Point coloré discret en haut à droite (sur le titre = élément non transformé, reste fixe au survol) */
.ac-categories .ac-cat h3::after {
  content: ''; position: absolute; top: 18px; right: 18px; width: 8px; height: 8px; border-radius: 50%;
  background: var(--orange); box-shadow: 0 0 8px rgba(255,107,26,.7);
}
.ac-categories .ac-cat:nth-child(2) h3::after { background: #a78bfa; box-shadow: 0 0 8px rgba(124,92,255,.7); }
.ac-categories .ac-cat:nth-child(3) h3::after { background: #34d399; box-shadow: 0 0 8px rgba(52,211,153,.7); }
.ac-categories .ac-cat:nth-child(4) h3::after { background: #60a5fa; box-shadow: 0 0 8px rgba(96,165,250,.7); }
.ac-categories .ac-cat:nth-child(5) h3::after { background: var(--orange); box-shadow: 0 0 8px rgba(255,107,26,.7); }
.ac-categories .ac-cat:nth-child(6) h3::after { background: #a78bfa; box-shadow: 0 0 8px rgba(124,92,255,.7); }

/* Flèche circulaire sur le lien */
.ac-categories .ac-cat-go svg {
  width: 28px; height: 28px; padding: 7px; border-radius: 50%; box-sizing: border-box;
  border: 1.5px solid rgba(37,99,235,.3);
  transition: background .25s, border-color .25s, stroke .25s, transform .25s;
}
.ac-categories .ac-cat:hover .ac-cat-go svg {
  background: var(--blue-b); border-color: var(--blue-b); stroke: #fff; transform: translateX(2px);
}

/* Tablette : reste en 2 colonnes confortables */
@media (max-width: 1080px) {
  .ac-categories .ac-cat { padding: 24px 24px; column-gap: 18px; }
  .ac-categories .ac-cat-ic { width: 50px; height: 50px; }
  .ac-categories .ac-cat h3 { font-size: 1.08rem; }
}
/* Mobile : 1 colonne */
@media (max-width: 680px) {
  .ac-categories .ac-cats { grid-template-columns:minmax(0,1fr); }
}

/* ════════════════════════════════════════════════════════════════
   OFFRES DU MOMENT · section sur fond bleu de marque
   (clair + sombre ; cartes blanches/glass ressortent sur le bleu)
   ════════════════════════════════════════════════════════════════ */
.ac-offers-section {
  background: radial-gradient(125% 120% at 50% -15%, #16336f 0%, #0c2255 42%, #081844 100%) !important;
  position: relative;
  overflow: hidden;
}
.ac-offers-section::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(96,165,250,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96,165,250,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(120% 92% at 50% 0%, #000 32%, transparent 80%);
          mask-image: radial-gradient(120% 92% at 50% 0%, #000 32%, transparent 80%);
}
.ac-offers-section > .container { position: relative; z-index: 1; }

/* En-tête lisible sur le bleu */
.ac-offers-section .s-title { color: #fff; }
.ac-offers-section .s-sub { color: rgba(223,232,247,.82); }
.ac-offers-section .s-eyebrow { color: #93c5fd; }
.ac-offers-section .ac-accent {
  background: linear-gradient(120deg, #7dd3fc, #60a5fa 55%, #a5b4fc);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* Filtres en pastilles « verre » sur le bleu */
.ac-offers-section .ac-chip {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.78);
}
.ac-offers-section .ac-chip:hover {
  color: #fff; border-color: rgba(147,197,253,.5); background: rgba(255,255,255,.12);
}
.ac-offers-section .ac-chip.is-active {
  color: #fff; background: var(--blue-b); border-color: var(--blue-b);
}

/* ── Survol carte offre : glow bleu + anneau lumineux premium ────────── */
@property --ac-ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

.ac-offers-section .ac-offer:hover {
  border-color: rgba(96,165,250,.55) !important;
  box-shadow: 0 36px 68px -26px rgba(8,16,44,.85), 0 0 0 1px rgba(96,165,250,.4), 0 20px 54px -14px rgba(37,99,235,.5);
}
/* le halo pulsé vit sur un calque : poser une `animation` sur la carte elle-même
   écrasait l'animation de révélation (animation-timeline: view()) → carte invisible au survol */
.ac-offers-section .ac-offer::before {
  display: block; content: ''; position: absolute; inset: 0; top: 0; left: 0; right: 0; height: auto;
  border-radius: inherit; background: none; z-index: 0; pointer-events: none;
  opacity: 0; transition: opacity .35s ease;
}
.ac-offers-section .ac-offer:hover::before { opacity: 1; animation: acOfferGlow 2.4s ease-in-out infinite; }
/* ombres INSET : la carte est en overflow:hidden, une ombre externe serait d\u00e9coup\u00e9e */
@keyframes acOfferGlow {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(96,165,250,.3), inset 0 0 26px -6px rgba(96,165,250,.4); }
  50%      { box-shadow: inset 0 0 0 1px rgba(96,165,250,.6), inset 0 0 40px -4px rgba(96,165,250,.7); }
}

/* Anneau dégradé qui tourne autour de la carte au survol */
.ac-offers-section .ac-offer::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  padding: 1.5px; z-index: 4; pointer-events: none;
  background: conic-gradient(from var(--ac-ang), transparent 0deg, rgba(96,165,250,.95) 38deg, rgba(125,211,252,1) 70deg, rgba(165,180,252,.6) 96deg, transparent 150deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .35s ease;
}
.ac-offers-section .ac-offer:hover::after {
  opacity: 1;
  animation: acOfferRing 2.6s linear infinite;
}
@keyframes acOfferRing { to { --ac-ang: 360deg; } }

@media (prefers-reduced-motion: reduce) {
  .ac-offers-section .ac-offer:hover::before { animation: none; }
  .ac-offers-section .ac-offer:hover::after { animation: none; }
}

/* ── Atlas Rewards · trame de pictos animés (récompenses) ───────────── */
.ac-rewards-fx { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.ac-rewards-fx i {
  position: absolute; display: grid; place-items: center;
  opacity: var(--o, .16); color: var(--c, #7dd3fc);
  will-change: transform;
  animation: acFxDrift var(--d, 15s) ease-in-out var(--dl, 0s) infinite;
}
.ac-rewards-fx i.b { animation-name: acFxDrift2; }
.ac-rewards-fx i svg { width: 100%; height: 100%; display: block; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ac-rewards-fx .glow { filter: drop-shadow(0 0 12px currentColor); }
@media (max-width: 680px) { .ac-rewards-fx i.hide-sm { display: none; } }
@media (prefers-reduced-motion: reduce) { .ac-rewards-fx i { animation: none; } }

/* ════════════════════════════════════════════════════════════════
   « COMMENT UTILISER VOS POINTS » · écosystème Atlas Rewards
   ════════════════════════════════════════════════════════════════ */
.ac-points { position: relative; overflow: hidden; }
.ac-points .container { position: relative; z-index: 1; }

.ac-eco {
  position: relative;
  display: grid;
  grid-template-columns: 1fr minmax(300px, 360px) 1fr;
  align-items: center;
  gap: 26px 30px;
  margin-top: 54px;
}
.ac-eco-col { display: flex; flex-direction: column; gap: 26px; position: relative; z-index: 2; }

/* ── Nœuds (usages) ── */
.ac-node {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto;
  column-gap: 16px; row-gap: 2px; align-items: center;
  padding: 20px 22px; border-radius: 20px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(37,99,235,.1);
  box-shadow: 0 22px 44px -30px rgba(15,23,42,.45), inset 0 1px 0 rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: transform .4s cubic-bezier(.22,.68,0,1), box-shadow .4s, border-color .35s;
}
.ac-node:hover {
  transform: translateY(-3px);
  border-color: rgba(37,99,235,.3);
  box-shadow: 0 34px 60px -28px rgba(37,99,235,.45), inset 0 1px 0 rgba(255,255,255,.8);
}
.ac-node-ic {
  grid-row: 1 / 3; width: 62px; height: 62px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(160deg, #ffffff, #eaf1fc);
  box-shadow: inset 0 1px 0 #fff, 0 12px 24px -14px rgba(37,99,235,.5), 0 0 0 1px rgba(37,99,235,.07);
}
.ac-node-ic svg { width: 27px; height: 27px; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .4s cubic-bezier(.22,.68,0,1.4); }
.ac-node:hover .ac-node-ic { background: linear-gradient(160deg, #ffffff, #e2ecfd); }
.ac-node:hover .ac-node-ic svg { transform: scale(1.06) rotate(-4deg); }
.ac-node-h { display: flex; align-items: center; gap: 9px; }
.ac-node-num {
  width: 22px; height: 22px; flex: none; border-radius: 50%;
  background: linear-gradient(150deg, #3b82f6, #2563eb); color: #fff;
  font-family: "Space Grotesk", sans-serif; font-size: .72rem; font-weight: 700;
  display: grid; place-items: center;
  box-shadow: 0 5px 12px -4px rgba(37,99,235,.7);
}
.ac-node-h h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1rem; color: var(--navy); letter-spacing: -.2px; }
.ac-node p { grid-column: 2; font-size: .83rem; color: var(--muted); line-height: 1.55; }

/* connecteur (nub + ligne pointillée vers le hub) — desktop */
.ac-eco-col .ac-node::before,
.ac-eco-col .ac-node::after { content: ""; position: absolute; top: 50%; pointer-events: none; }
.ac-eco-col.left .ac-node::after  { right: -30px; width: 30px; border-top: 1.5px dashed rgba(37,99,235,.32); }
.ac-eco-col.right .ac-node::after { left: -30px;  width: 30px; border-top: 1.5px dashed rgba(37,99,235,.32); }
.ac-eco-col.left .ac-node::before  { right: -34px; }
.ac-eco-col.right .ac-node::before { left: -34px; }
.ac-eco-col .ac-node::before { width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid var(--blue-l); transform: translateY(-50%); box-shadow: 0 0 0 3px rgba(96,165,250,.12); }

/* ── Hub central ── */
.ac-hub { position: relative; display: grid; place-items: center; min-height: 440px; z-index: 1; }
.ac-hub-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.ac-hub-ring.r1 { width: 360px; height: 360px; border: 1px dashed rgba(37,99,235,.2); }
.ac-hub-ring.r2 { width: 470px; height: 470px; border: 1px solid rgba(37,99,235,.1); }
.ac-hub-ring.r3 { width: 580px; height: 580px; border: 1px dashed rgba(37,99,235,.07); }
@media (prefers-reduced-motion: no-preference) {
  .ac-hub-ring.r1 { animation: acSpin 38s linear infinite; }
  .ac-hub-ring.r3 { animation: acSpin 60s linear infinite reverse; }
}
@keyframes acSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* points en orbite */
.ac-hub-orbit { position: absolute; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.ac-hub-orbit.o1 { width: 360px; height: 360px; animation: acSpin 22s linear infinite; }
.ac-hub-orbit.o2 { width: 470px; height: 470px; animation: acSpin 30s linear infinite reverse; }
.ac-hub-orbit i { position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--blue-b); box-shadow: 0 0 12px 1px rgba(37,99,235,.8); }
.ac-hub-orbit.o2 i { background: #38bdf8; box-shadow: 0 0 12px 1px rgba(56,189,248,.8); }
@media (prefers-reduced-motion: reduce) { .ac-hub-orbit { display: none; } }

.ac-hub-core {
  position: relative; z-index: 2;
  width: 322px; height: 322px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 26px;
  background: radial-gradient(120% 120% at 50% 0%, #ffffff 0%, #eef4ff 100%);
  border: 1px solid rgba(37,99,235,.16);
  box-shadow: 0 44px 90px -44px rgba(37,99,235,.55), inset 0 2px 0 #fff, 0 0 0 10px rgba(255,255,255,.5);
}
@media (prefers-reduced-motion: no-preference) { .ac-hub-core { animation: acHubGlow 4.5s ease-in-out infinite; } }
@keyframes acHubGlow {
  0%, 100% { box-shadow: 0 44px 90px -44px rgba(37,99,235,.5), inset 0 2px 0 #fff, 0 0 0 10px rgba(255,255,255,.5); }
  50%      { box-shadow: 0 48px 100px -40px rgba(37,99,235,.62), inset 0 2px 0 #fff, 0 0 0 14px rgba(96,165,250,.12); }
}
.ac-hub-brand { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 6px; }
.ac-hub-mark { width: 22px; height: 22px; fill: var(--blue-b); }
.ac-hub-brand span { font-family: "Space Grotesk", sans-serif; font-size: .64rem; font-weight: 700; letter-spacing: 3px; color: var(--blue-b); }
.ac-hub-core h3 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 2.3rem; line-height: 1; color: var(--navy); letter-spacing: -1px; }
.ac-hub-badge {
  display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 12px;
  padding: 8px 16px; border-radius: 50px;
  background: rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.22);
  color: var(--blue-b); font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .86rem;
}
.ac-hub-badge svg { width: 15px; height: 15px; fill: var(--orange); stroke: none; }
.ac-hub-core p { font-size: .82rem; color: var(--mid); line-height: 1.55; max-width: 230px; }

/* ── Bandeau bas ── */
.ac-points-foot {
  display: flex; align-items: center; justify-content: center; gap: 11px;
  margin: 50px auto 0; max-width: 660px;
  padding: 14px 24px; border-radius: 50px;
  background: rgba(255,255,255,.72); border: 1px solid rgba(37,99,235,.13);
  box-shadow: 0 18px 40px -28px rgba(15,23,42,.45);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font-size: .9rem; color: var(--mid); text-align: center;
}
.ac-points-foot svg { width: 19px; height: 19px; flex: none; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-points-foot strong { color: var(--navy); font-weight: 700; }

/* décor d'angle discret */
.ac-points::before {
  content: ""; position: absolute; top: -60px; right: -60px; width: 260px; height: 260px;
  border-radius: 50%; background: radial-gradient(circle, rgba(96,165,250,.1), transparent 70%); pointer-events: none;
}

/* ── Dark mode ── */
body.atlas-dark .ac-node { background: var(--glass-bg) !important; border-color: var(--glass-border) !important; }
body.atlas-dark .ac-node-h h4 { color: #fff; }
body.atlas-dark .ac-node-ic { background: rgba(96,165,250,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(96,165,250,.14); }
body.atlas-dark .ac-hub-core { background: radial-gradient(120% 120% at 50% 0%, rgba(20,36,84,.96), rgba(9,18,46,.98)); border-color: rgba(96,165,250,.2); }
body.atlas-dark .ac-hub-core h3 { color: #fff; }
body.atlas-dark .ac-hub-brand span, body.atlas-dark .ac-hub-mark { color: var(--blue-l); fill: var(--blue-l); }
body.atlas-dark .ac-points-foot { background: var(--glass-bg); border-color: var(--glass-border); }
body.atlas-dark .ac-points-foot strong { color: #fff; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ac-eco { grid-template-columns:minmax(0,1fr); gap: 18px; max-width: 560px; margin-left: auto; margin-right: auto; }
  .ac-hub { order: -1; min-height: auto; margin-bottom: 10px; }
  .ac-hub-ring, .ac-hub-orbit { display: none; }
  .ac-eco-col .ac-node::before, .ac-eco-col .ac-node::after { display: none; }
}
@media (max-width: 1024px) and (min-width: 581px) {
  .ac-eco-col { flex-direction: row; flex-wrap: wrap; }
  .ac-eco-col .ac-node { flex: 1 1 240px; }
}
@media (max-width: 580px) {
  .ac-hub-core { width: 280px; height: 280px; padding: 22px; }
  .ac-hub-core h3 { font-size: 2rem; }
  .ac-points-foot { font-size: .84rem; padding: 13px 18px; }
}

/* ════════════════════════════════════════════════════════════════
   « CONCOURS & CADEAUX » · mise en page éditoriale
   ════════════════════════════════════════════════════════════════ */
.ac-cc {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 22px;
  margin-top: 50px;
}
.ac-cc-banner { grid-column: 1 / -1; }

/* ── Bloc principal ── */
.ac-cc-feature {
  display: flex; align-items: center; gap: 32px;
  padding: 40px; border-radius: 28px;
  background: linear-gradient(165deg, rgba(255,255,255,.92), rgba(238,244,255,.86));
  border: 1px solid rgba(37,99,235,.1);
  box-shadow: 0 34px 80px -44px rgba(15,23,42,.5), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ac-cc-medal { position: relative; flex: none; width: 210px; height: 210px; display: grid; place-items: center; }
.ac-cc-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.ac-cc-ring.r1 { width: 168px; height: 168px; border: 1px dashed rgba(37,99,235,.28); }
.ac-cc-ring.r2 { width: 210px; height: 210px; border: 1px solid rgba(37,99,235,.1); }
.ac-cc-orbit { position: absolute; left: 50%; top: 50%; width: 168px; height: 168px; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.ac-cc-orbit i { position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 12px 1px rgba(249,115,22,.7); }
.ac-cc-disc {
  position: relative; z-index: 2; width: 132px; height: 132px; border-radius: 50%;
  display: grid; place-items: center;
  background: radial-gradient(140% 140% at 30% 22%, #6aa0ff, #2563eb 56%, #1d4ed8);
  box-shadow: 0 28px 56px -18px rgba(37,99,235,.7), inset 0 3px 8px rgba(255,255,255,.45), inset 0 -8px 18px rgba(13,31,92,.45);
}
.ac-cc-disc svg { width: 54px; height: 54px; stroke: #fff; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: no-preference) {
  .ac-cc-ring.r1 { animation: acSpin 32s linear infinite; }
  .ac-cc-orbit { animation: acSpin 13s linear infinite; }
  .ac-cc-disc { animation: acDiscPulse 4s ease-in-out infinite; }
}
@keyframes acDiscPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.045); } }

.ac-cc-body { flex: 1; min-width: 0; }
.ac-cc-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 15px; border-radius: 50px;
  background: rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.2);
  color: var(--blue-b); font-family: "Space Grotesk", sans-serif; font-weight: 700;
  font-size: .72rem; letter-spacing: 1px; text-transform: uppercase;
}
.ac-cc-badge svg { width: 14px; height: 14px; fill: var(--orange); stroke: none; }
.ac-cc-body h3 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 2rem; color: var(--navy); letter-spacing: -.5px; margin: 16px 0 10px; }
.ac-cc-body p { font-size: .95rem; color: var(--mid); line-height: 1.6; max-width: 400px; }
.ac-cc-btn {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 24px;
  padding: 14px 26px; border-radius: 14px;
  background: linear-gradient(135deg, #3b82f6, #2563eb); color: #fff;
  font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .95rem; text-decoration: none;
  box-shadow: 0 16px 32px -12px rgba(37,99,235,.7);
  transition: transform .2s, box-shadow .2s;
}
.ac-cc-btn:hover { transform: translateY(-2px); box-shadow: 0 22px 42px -12px rgba(37,99,235,.85); }
.ac-cc-btn svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.ac-cc-btn:hover svg { transform: translateX(4px); }
.ac-cc-note { display: flex; align-items: center; gap: 8px; margin-top: 18px; font-size: .82rem; color: var(--muted); }
.ac-cc-note svg { width: 16px; height: 16px; flex: none; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ── Colonne droite : mini-modules ── */
.ac-cc-list { position: relative; display: flex; flex-direction: column; gap: 16px; }
.ac-cc-list::before { content: ""; position: absolute; left: -11px; top: 26px; bottom: 26px; width: 1.5px; background: linear-gradient(180deg, rgba(37,99,235,.28), rgba(37,99,235,.08)); }
.ac-cc-item {
  position: relative;
  display: flex; align-items: center; gap: 16px;
  padding: 18px 20px; border-radius: 20px;
  background: rgba(255,255,255,.8); border: 1px solid rgba(37,99,235,.1);
  box-shadow: 0 18px 40px -30px rgba(15,23,42,.45), inset 0 1px 0 rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: transform .35s cubic-bezier(.22,.68,0,1), box-shadow .35s, border-color .35s;
}
.ac-cc-item:hover { transform: translateX(5px); border-color: rgba(37,99,235,.28); box-shadow: 0 26px 50px -30px rgba(37,99,235,.42); }
.ac-cc-item::before { content: ""; position: absolute; left: -15px; top: 50%; transform: translateY(-50%); width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid var(--blue-l); box-shadow: 0 0 0 3px rgba(96,165,250,.12); }
.ac-cc-ic { flex: none; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(160deg, #fff, #eaf1fc); box-shadow: inset 0 1px 0 #fff, 0 10px 22px -14px rgba(37,99,235,.5), 0 0 0 1px rgba(37,99,235,.06); }
.ac-cc-ic svg { width: 24px; height: 24px; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s; }
.ac-cc-item:hover .ac-cc-ic svg { transform: scale(1.06); }
.ac-cc-item-main { flex: 1; min-width: 0; }
.ac-cc-item-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.ac-cc-item h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1rem; color: var(--navy); letter-spacing: -.2px; }
.ac-cc-item p { font-size: .82rem; color: var(--muted); line-height: 1.45; }
.ac-cc-tag { flex: none; font-family: "Space Grotesk", sans-serif; font-size: .58rem; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; padding: 5px 10px; border-radius: 8px; white-space: nowrap; }
.ac-cc-tag.concours { color: #2563eb; background: rgba(37,99,235,.1); }
.ac-cc-tag.cadeau { color: #7c3aed; background: rgba(124,92,255,.13); }
.ac-cc-tag.partenaire { color: #15803d; background: rgba(34,197,94,.13); }
.ac-cc-tag.mobile { color: #1e3a8a; background: rgba(30,58,138,.1); }

/* ── Bandeau bas ── */
.ac-cc-banner {
  display: flex; align-items: center; gap: 22px;
  padding: 22px 30px; border-radius: 24px; margin-top: 4px;
  background: rgba(255,255,255,.8); border: 1px solid rgba(37,99,235,.12);
  box-shadow: 0 22px 50px -34px rgba(15,23,42,.45), inset 0 1px 0 rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.ac-cc-banner-ic { flex: none; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(160deg, #fff, #eef3fc); box-shadow: inset 0 1px 0 #fff, 0 12px 28px -14px rgba(37,99,235,.45), 0 0 0 1px rgba(37,99,235,.06); }
.ac-cc-banner-ic svg { width: 30px; height: 30px; }
.ac-cc-banner-tx b { display: block; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.04rem; color: var(--navy); letter-spacing: -.2px; }
.ac-cc-banner-tx span { font-size: .86rem; color: var(--muted); }
.ac-cc-members { margin-left: auto; display: flex; align-items: center; gap: 14px; padding-left: 24px; border-left: 1px solid rgba(37,99,235,.14); }
.ac-cc-avatars { display: flex; }
.ac-cc-avatars span { width: 38px; height: 38px; border-radius: 50%; border: 2.5px solid #fff; margin-left: -10px; display: grid; place-items: center; box-shadow: 0 5px 12px -4px rgba(15,23,42,.35); }
.ac-cc-avatars span:first-child { margin-left: 0; }
.ac-cc-avatars span svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-cc-avatars .plus { background: var(--blue-b); color: #fff; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .72rem; }
.ac-cc-members-tx { font-size: .86rem; color: var(--muted); line-height: 1.35; white-space: nowrap; }
.ac-cc-members-tx strong { color: var(--navy); font-weight: 700; }

/* ── Dark mode ── */
body.atlas-dark .ac-cc-feature { background: linear-gradient(165deg, rgba(20,36,84,.7), rgba(9,18,46,.8)) !important; border-color: var(--glass-border) !important; }
body.atlas-dark .ac-cc-body h3, body.atlas-dark .ac-cc-item h4, body.atlas-dark .ac-cc-banner-tx b { color: #fff; }
body.atlas-dark .ac-cc-item, body.atlas-dark .ac-cc-banner { background: var(--glass-bg) !important; border-color: var(--glass-border) !important; }
body.atlas-dark .ac-cc-ic, body.atlas-dark .ac-cc-banner-ic { background: rgba(96,165,250,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(96,165,250,.14); }
body.atlas-dark .ac-cc-members-tx strong { color: #fff; }

/* ── Responsive ── */
@media (max-width: 980px) {
  .ac-cc { grid-template-columns: minmax(0, 1fr); }
  .ac-cc-list::before { display: none; }
  .ac-cc-item::before { display: none; }
}
@media (max-width: 620px) {
  .ac-cc-feature { flex-direction: column; text-align: center; gap: 22px; padding: 32px 24px; }
  .ac-cc-body p { max-width: none; }
  .ac-cc-badge, .ac-cc-note { justify-content: center; }
  .ac-cc-note { justify-content: center; }
  .ac-cc-banner { flex-direction: column; text-align: center; gap: 18px; }
  .ac-cc-members { margin-left: 0; padding-left: 0; border-left: 0; padding-top: 18px; border-top: 1px solid rgba(37,99,235,.14); width: 100%; justify-content: center; }
  .ac-cc-tag { justify-self: start; }
  .ac-cc-members-tx { white-space: normal; }
}

/* ════════════════════════════════════════════════════════════════
   « PARTENAIRES & SPONSORS » · showcase premium
   ════════════════════════════════════════════════════════════════ */
.ac-partners { position: relative; overflow: hidden; }
.ac-partners .container { position: relative; z-index: 1; }

/* fond : orbites fines + points lumineux */
.ac-pt-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.ac-pt-orb { position: absolute; border-radius: 50%; }
.ac-pt-orb.o1 { width: 920px; height: 920px; left: -240px; top: -320px; border: 1px dashed rgba(37,99,235,.08); }
.ac-pt-orb.o2 { width: 620px; height: 620px; right: -180px; bottom: -260px; border: 1px solid rgba(37,99,235,.06); }
.ac-pt-dot { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--blue-l); opacity: .5; box-shadow: 0 0 9px rgba(96,165,250,.6); }
.ac-pt-dot.d1 { left: 9%; top: 20%; } .ac-pt-dot.d2 { left: 4%; top: 58%; background: var(--orange); box-shadow: 0 0 9px rgba(249,115,22,.6); }
.ac-pt-dot.d3 { right: 8%; top: 30%; } .ac-pt-dot.d4 { right: 14%; bottom: 22%; }
@media (prefers-reduced-motion: no-preference) {
  .ac-pt-orb.o1 { animation: acSpin 90s linear infinite; }
  .ac-pt-orb.o2 { animation: acSpin 70s linear infinite reverse; }
  .ac-pt-dot { animation: acFloatY 7s ease-in-out infinite; }
  .ac-pt-dot.d2 { animation-duration: 9s; } .ac-pt-dot.d3 { animation-duration: 8s; } .ac-pt-dot.d4 { animation-duration: 10s; }
}
@keyframes acFloatY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* grille */
.ac-pt { display: grid; grid-template-columns: 1.42fr 1fr 1fr 1fr; gap: 18px; margin-top: 48px; position: relative; z-index: 1; }
.ac-pt-feat { grid-column: 1; grid-row: 1 / span 2; }
.ac-pt-banner { grid-column: 1 / -1; }

.ac-pt-feat, .ac-pt-card {
  position: relative; display: flex; flex-direction: column;
  border-radius: 24px; background: rgba(255,255,255,.82);
  border: 1px solid rgba(37,99,235,.1);
  box-shadow: 0 26px 56px -34px rgba(15,23,42,.5), inset 0 1px 0 rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: transform .4s cubic-bezier(.22,.68,0,1), box-shadow .4s, border-color .35s;
  overflow: hidden;
}
.ac-pt-card { padding: 26px 24px; }
.ac-pt-feat { padding: 40px 38px; justify-content: center; }
.ac-pt-card:hover, .ac-pt-feat:hover { transform: translateY(-3px); border-color: rgba(37,99,235,.28); box-shadow: 0 40px 76px -34px rgba(37,99,235,.46), inset 0 1px 0 rgba(255,255,255,.85); }

.ac-pt-top { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.ac-pt-logo { flex: none; width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.05rem; color: #fff; background: linear-gradient(150deg, var(--g1), var(--g2)); box-shadow: 0 14px 26px -12px color-mix(in srgb, var(--g2) 70%, transparent), inset 0 2px 4px rgba(255,255,255,.4), inset 0 -7px 14px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.22,.68,0,1.4); }
.ac-pt-feat .ac-pt-logo.lg { width: 78px; height: 78px; border-radius: 21px; font-size: 1.5rem; }
.ac-pt-feat:hover .ac-pt-logo, .ac-pt-card:hover .ac-pt-logo { transform: scale(1.07) rotate(-3deg); }

.ac-pt-status { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 50px; font-family: "Space Grotesk", sans-serif; font-size: .6rem; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; line-height: 1.15; }
.ac-pt-status svg { width: 13px; height: 13px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-pt-status::after { content: ""; position: absolute; top: 0; left: -60%; width: 45%; height: 100%; background: linear-gradient(105deg, transparent, rgba(255,255,255,.6), transparent); transform: skewX(-18deg); opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .ac-pt-card:hover .ac-pt-status::after, .ac-pt-feat:hover .ac-pt-status::after { animation: acBadgeShine .8s ease; }
}
@keyframes acBadgeShine { 0% { left: -60%; opacity: .9; } 100% { left: 120%; opacity: 0; } }

.ac-pt-feat h3 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 2.1rem; color: var(--navy); letter-spacing: -.5px; margin-bottom: 14px; }
.ac-pt-card h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.24rem; color: var(--navy); letter-spacing: -.3px; margin-bottom: 10px; }
.ac-pt-feat p { font-size: .98rem; color: var(--mid); line-height: 1.6; margin-bottom: 28px; }
.ac-pt-card p { font-size: .86rem; color: var(--muted); line-height: 1.55; margin-bottom: 18px; flex: 1; }

/* badges couleur (statut + pill + avantage) */
.ac-pt .blue   { color: #2563eb; background: rgba(37,99,235,.1); }
.ac-pt .purple { color: #7c3aed; background: rgba(124,92,255,.12); }
.ac-pt .cyan   { color: #0e7490; background: rgba(34,211,238,.16); }
.ac-pt .orange { color: #ea580c; background: rgba(249,115,22,.12); }
.ac-pt .green  { color: #15803d; background: rgba(34,197,94,.12); }

/* avantage featured (barre) */
.ac-pt-adv { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin-top: auto; padding: 12px 18px; border-radius: 14px; border: 1px solid rgba(37,99,235,.18); }
.ac-pt-adv svg { width: 17px; height: 17px; flex: none; fill: #2563eb; stroke: none; }
.ac-pt-adv b { font-family: "Space Grotesk", sans-serif; font-size: .64rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: #2563eb; }
.ac-pt-adv span { font-size: .82rem; color: var(--mid); font-weight: 600; }

/* avantage secondaire (pill) */
.ac-pt-pill { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; margin-top: auto; padding: 8px 13px; border-radius: 10px; font-family: "Space Grotesk", sans-serif; font-size: .62rem; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.ac-pt-pill svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* radar décoratif (featured) */
.ac-pt-radar { position: absolute; right: -30px; top: 50%; transform: translateY(-50%); width: 230px; height: 230px; pointer-events: none; opacity: .55; }
.ac-pt-radar span { position: absolute; inset: 0; margin: auto; border-radius: 50%; }
.ac-pt-radar span:nth-child(1) { width: 200px; height: 200px; border: 1px dashed rgba(37,99,235,.2); }
.ac-pt-radar span:nth-child(2) { width: 116px; height: 116px; border: 1px solid rgba(37,99,235,.13); }
.ac-pt-radar i { position: absolute; top: 50%; right: 14px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue-l); box-shadow: 0 0 12px 2px rgba(96,165,250,.7); transform: translateY(-50%); }
@media (prefers-reduced-motion: no-preference) { .ac-pt-radar span:nth-child(1) { animation: acSpin 26s linear infinite; } }

/* bandeau bas */
.ac-pt-banner { display: flex; align-items: center; gap: 30px; margin-top: 8px; padding: 24px 34px; border-radius: 22px; background: rgba(255,255,255,.8); border: 1px solid rgba(37,99,235,.12); box-shadow: 0 22px 50px -34px rgba(15,23,42,.45), inset 0 1px 0 rgba(255,255,255,.7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ac-pt-banner-l { display: flex; align-items: center; gap: 16px; }
.ac-pt-banner-r { display: flex; align-items: center; gap: 16px; margin-left: auto; padding-left: 30px; border-left: 1px solid rgba(37,99,235,.14); max-width: 560px; }
.ac-pt-banner-ic { flex: none; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(120% 120% at 50% 0%, #fff, #e9f0fd); box-shadow: inset 0 1px 0 #fff, 0 12px 24px -14px rgba(37,99,235,.45), 0 0 0 1px rgba(37,99,235,.08); }
.ac-pt-banner-ic svg { width: 26px; height: 26px; fill: none; stroke: var(--blue-b); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-pt-banner-ic.soft svg { stroke: var(--blue-l); }
.ac-pt-banner-tx b { display: block; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.06rem; color: var(--navy); }
.ac-pt-banner-tx span { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; color: var(--muted); }
.ac-pt-banner-tx span svg { width: 15px; height: 15px; fill: #2563eb; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-pt-banner-r p { font-size: .9rem; color: var(--mid); line-height: 1.5; }
.ac-pt-banner-r strong { color: var(--blue-b); font-weight: 700; }

/* dark mode */
body.atlas-dark .ac-pt-feat, body.atlas-dark .ac-pt-card, body.atlas-dark .ac-pt-banner { background: var(--glass-bg) !important; border-color: var(--glass-border) !important; }
body.atlas-dark .ac-pt-feat h3, body.atlas-dark .ac-pt-card h4, body.atlas-dark .ac-pt-banner-tx b { color: #fff; }
body.atlas-dark .ac-pt-banner-ic { background: rgba(96,165,250,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(96,165,250,.14); }

/* responsive */
@media (max-width: 1080px) {
  .ac-pt { grid-template-columns: repeat(3, 1fr); }
  .ac-pt-feat { grid-column: 1 / -1; grid-row: auto; }
  .ac-pt-feat { flex-direction: row; align-items: center; gap: 30px; flex-wrap: wrap; }
  .ac-pt-feat .ac-pt-top { margin-bottom: 0; }
  .ac-pt-feat h3 { margin-bottom: 8px; }
  .ac-pt-feat p { margin-bottom: 0; }
  .ac-pt-feat .ac-pt-adv { margin-top: 0; }
  .ac-pt-radar { display: none; }
}
@media (max-width: 760px) {
  .ac-pt { grid-template-columns: 1fr 1fr; }
  .ac-pt-feat { flex-direction: column; align-items: flex-start; }
  .ac-pt-feat .ac-pt-top { margin-bottom: 16px; }
  .ac-pt-banner { flex-direction: column; align-items: flex-start; gap: 18px; }
  .ac-pt-banner-r { margin-left: 0; padding-left: 0; border-left: 0; padding-top: 18px; border-top: 1px solid rgba(37,99,235,.14); max-width: none; }
}
@media (max-width: 480px) {
  .ac-pt { grid-template-columns:minmax(0,1fr); }
}

/* ════════════════════════════════════════════════════════════════
   « PROPOSER UNE OFFRE » · bloc candidature/partenariat premium
   ════════════════════════════════════════════════════════════════ */
.ac-propose { position: relative; overflow: hidden; }
.ac-propose .container { position: relative; z-index: 1; }
.ac-pf-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }

.ac-pf { display: grid; grid-template-columns: .92fr 1.08fr; gap: 24px; margin-top: 48px; align-items: start; position: relative; z-index: 1; }
.ac-pf-left { display: flex; flex-direction: column; gap: 22px; }
.ac-pf-card, .ac-pf-right {
  border-radius: 24px; background: rgba(255,255,255,.84);
  border: 1px solid rgba(37,99,235,.1);
  box-shadow: 0 28px 60px -36px rgba(15,23,42,.5), inset 0 1px 0 rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ac-pf-card { padding: 30px; }
.ac-pf-right { padding: 30px; }
.ac-pf-card h3 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.18rem; color: var(--navy); margin-bottom: 22px; letter-spacing: -.2px; }

/* Pourquoi rejoindre (4 avantages) */
.ac-pf-why { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; }
.ac-pf-adv { display: grid; grid-template-columns: auto 1fr; column-gap: 13px; row-gap: 3px; }
.ac-pf-adv-ic { grid-row: 1 / 3; align-self: start; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(150deg, #3b82f6, #2563eb); box-shadow: 0 12px 24px -12px rgba(37,99,235,.7), inset 0 1px 0 rgba(255,255,255,.3); }
.ac-pf-adv-ic svg { width: 21px; height: 21px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-pf-adv h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .92rem; color: var(--navy); align-self: end; }
.ac-pf-adv p { grid-column: 2; font-size: .78rem; color: var(--muted); line-height: 1.5; }
@media (prefers-reduced-motion: no-preference) {
  .ac-pf-adv-ic { animation: acIcoGlow 3.6s ease-in-out infinite; }
  .ac-pf-adv:nth-child(2) .ac-pf-adv-ic { animation-delay: .5s; }
  .ac-pf-adv:nth-child(3) .ac-pf-adv-ic { animation-delay: 1s; }
  .ac-pf-adv:nth-child(4) .ac-pf-adv-ic { animation-delay: 1.5s; }
}
@keyframes acIcoGlow { 0%, 100% { box-shadow: 0 12px 24px -12px rgba(37,99,235,.7), inset 0 1px 0 rgba(255,255,255,.3); } 50% { box-shadow: 0 14px 28px -10px rgba(37,99,235,.8), 0 0 20px -2px rgba(96,165,250,.6), inset 0 1px 0 rgba(255,255,255,.3); } }

/* Comment ça fonctionne (timeline) */
.ac-pf-steps { display: grid; gap: 22px; position: relative; }
.ac-pf-steps::before { content: ""; position: absolute; left: 16px; top: 16px; bottom: 16px; width: 2px; background: linear-gradient(180deg, rgba(37,99,235,.4), rgba(37,99,235,.08)); }
.ac-pf-step { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 2px; position: relative; }
.ac-pf-step-n { grid-row: 1 / 3; align-self: start; width: 33px; height: 33px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(150deg, #3b82f6, #2563eb); color: #fff; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .85rem; box-shadow: 0 7px 16px -5px rgba(37,99,235,.65); position: relative; z-index: 1; }
.ac-pf-step h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .95rem; color: var(--navy); align-self: center; }
.ac-pf-step p { grid-column: 2; font-size: .8rem; color: var(--muted); line-height: 1.5; }

.ac-pf-badge { display: flex; align-items: center; gap: 10px; margin-top: 24px; padding: 13px 18px; border-radius: 14px; background: rgba(37,99,235,.07); border: 1px solid rgba(37,99,235,.18); color: var(--blue-b); font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .86rem; }
.ac-pf-badge svg { width: 18px; height: 18px; flex: none; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: no-preference) { .ac-pf-badge svg { animation: acPulse 2.8s ease-in-out infinite; } }
@keyframes acPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.13); } }

/* Formulaire (droite) */
.ac-pf-tabs { display: flex; gap: 6px; padding: 6px; border-radius: 16px; background: rgba(37,99,235,.06); border: 1px solid rgba(37,99,235,.1); margin-bottom: 26px; }
.ac-pf-tab { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 10px; border-radius: 11px; border: 0; background: transparent; cursor: pointer; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .88rem; color: var(--muted); transition: color .25s, background .25s, box-shadow .25s; }
.ac-pf-tab svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-pf-tab.active { background: #fff; color: var(--blue-b); box-shadow: 0 6px 16px -8px rgba(37,99,235,.4), inset 0 0 0 1px rgba(37,99,235,.16); }

.ac-pf-sec { margin-bottom: 22px; }
.ac-pf-sec-h { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.ac-pf-sec-ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(160deg, #eef4ff, #dbe7fe); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(37,99,235,.1); }
.ac-pf-sec-ic svg { width: 16px; height: 16px; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-pf-sec-h b { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .95rem; color: var(--navy); }
.ac-pf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-bottom: 13px; }
.ac-pf-row.one { grid-template-columns:minmax(0,1fr); }
.ac-pf-row:last-child { margin-bottom: 0; }
.ac-pf-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ac-pf-f label { font-size: .72rem; font-weight: 600; color: var(--muted); letter-spacing: .2px; }
.ac-pf-ctrl { position: relative; }
.ac-pf-ctrl > svg { position: absolute; left: 13px; top: 12px; width: 16px; height: 16px; stroke: var(--blue-l); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; transition: stroke .2s; }
.ac-pf-ctrl input, .ac-pf-ctrl select, .ac-pf-ctrl textarea { width: 100%; padding: 11px 13px; border-radius: 11px; border: 1px solid rgba(37,99,235,.16); background: rgba(247,250,255,.72); font-family: "Inter", sans-serif; font-size: .88rem; color: var(--navy); transition: border-color .2s, box-shadow .2s, background .2s; }
.ac-pf-ctrl:has(> svg) input, .ac-pf-ctrl:has(> svg) textarea { padding-left: 38px; }
.ac-pf-ctrl input::placeholder, .ac-pf-ctrl textarea::placeholder { color: #9aa7bd; }
.ac-pf-ctrl input:focus, .ac-pf-ctrl select:focus, .ac-pf-ctrl textarea:focus { outline: none; border-color: rgba(37,99,235,.5); background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.ac-pf-ctrl:focus-within > svg { stroke: var(--blue-b); }
.ac-pf-ctrl textarea { min-height: 86px; resize: vertical; line-height: 1.5; }
.ac-pf-ctrl.sel select { appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; background-size: 15px; }

.ac-pf-submit { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; padding: 16px; border: 0; border-radius: 14px; background: linear-gradient(135deg, #3b82f6, #2563eb); color: #fff; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1rem; cursor: pointer; box-shadow: 0 18px 38px -14px rgba(37,99,235,.7); transition: transform .2s, box-shadow .2s; }
.ac-pf-submit:hover { transform: translateY(-2px); box-shadow: 0 26px 50px -14px rgba(37,99,235,.85); }
.ac-pf-submit svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-propose .ac-form-ok { display: none; }
.ac-pf-micro { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; font-size: .78rem; color: var(--muted); text-align: center; }
.ac-pf-micro svg { width: 15px; height: 15px; flex: none; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* dark mode */
body.atlas-dark .ac-pf-card, body.atlas-dark .ac-pf-right { background: var(--glass-bg) !important; border-color: var(--glass-border) !important; }
body.atlas-dark .ac-pf-card h3, body.atlas-dark .ac-pf-adv h4, body.atlas-dark .ac-pf-step h4, body.atlas-dark .ac-pf-sec-h b { color: #fff; }
body.atlas-dark .ac-pf-tabs { background: rgba(96,165,250,.08); border-color: var(--glass-border); }
body.atlas-dark .ac-pf-tab.active { background: rgba(96,165,250,.16); color: #fff; box-shadow: inset 0 0 0 1px rgba(96,165,250,.3); }
body.atlas-dark .ac-pf-ctrl input, body.atlas-dark .ac-pf-ctrl select, body.atlas-dark .ac-pf-ctrl textarea { background: rgba(255,255,255,.04); border-color: var(--glass-border); color: var(--text); }
body.atlas-dark .ac-pf-sec-ic { background: rgba(96,165,250,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(96,165,250,.14); }

/* responsive */
@media (max-width: 980px) { .ac-pf { grid-template-columns:minmax(0,1fr); } }
@media (max-width: 560px) {
  .ac-pf-why { grid-template-columns:minmax(0,1fr); }
  .ac-pf-row { grid-template-columns:minmax(0,1fr); }
  .ac-pf-card, .ac-pf-right { padding: 24px 20px; }
}

/* ════════════════════════════════════════════════════════════════
   ANIMATIONS COMPLÉMENTAIRES · Atlas Rewards (glow + pictos) & bandeaux
   ════════════════════════════════════════════════════════════════ */
.ac-rewards .ac-why-card { transition: transform .35s cubic-bezier(.22,.68,0,1), border-color .3s, box-shadow .35s; }
.ac-rewards .ac-why-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96,165,250,.55);
  box-shadow: 0 30px 58px -28px rgba(37,99,235,.55), 0 0 0 1px rgba(96,165,250,.4), 0 0 42px -6px rgba(96,165,250,.5);
}
.ac-rewards .ac-why-ic { transition: transform .4s cubic-bezier(.22,.68,0,1.4), background .3s, box-shadow .3s; }
.ac-rewards .ac-why-card:hover .ac-why-ic { transform: scale(1.06) rotate(-5deg); background: rgba(96,165,250,.24); box-shadow: 0 0 24px -2px rgba(96,165,250,.65); }
@media (prefers-reduced-motion: no-preference) {
  .ac-rewards .ac-why-ic { animation: acIcoGlowD 3.6s ease-in-out infinite; }
  .ac-rewards .ac-why-card:nth-child(2) .ac-why-ic { animation-delay: .5s; }
  .ac-rewards .ac-why-card:nth-child(3) .ac-why-ic { animation-delay: 1s; }
  .ac-rewards .ac-why-card:nth-child(4) .ac-why-ic { animation-delay: 1.5s; }
}
@keyframes acIcoGlowD { 0%, 100% { box-shadow: 0 0 0 0 rgba(96,165,250,0); } 50% { box-shadow: 0 0 20px -2px rgba(96,165,250,.55); } }

/* bandeau « Des cadeaux exclusifs » — diamant + avatars */
@media (prefers-reduced-motion: no-preference) {
  .ac-cc-banner-ic { animation: acFloatY 5s ease-in-out infinite; }
  .ac-cc-banner-ic svg { animation: acTwinkle 3.2s ease-in-out infinite; transform-origin: center; }
  .ac-cc-avatars span { animation: acFloatY 4s ease-in-out infinite; }
  .ac-cc-avatars span:nth-child(2) { animation-delay: .35s; }
  .ac-cc-avatars span:nth-child(3) { animation-delay: .7s; }
  .ac-cc-avatars span:nth-child(4) { animation-delay: 1.05s; }
}
@keyframes acTwinkle { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .82; transform: scale(1.07); } }

/* bandeau « Partenaires vérifiés » — bouclier + audience */
@media (prefers-reduced-motion: no-preference) {
  .ac-pt-banner-ic { animation: acFloatY 5.5s ease-in-out infinite; }
  .ac-pt-banner-ic.soft { animation-duration: 6.5s; animation-delay: .4s; }
  .ac-pt-banner-ic svg { animation: acTwinkle 3.6s ease-in-out infinite; transform-origin: center; }
}

/* Glow bleu + lueur animée sur les cartes gauche du formulaire */
.ac-pf-card { transition: transform .4s cubic-bezier(.22,.68,0,1), box-shadow .4s, border-color .35s; }
.ac-pf-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96,165,250,.5);
  box-shadow: 0 38px 74px -34px rgba(37,99,235,.5), 0 0 0 1px rgba(96,165,250,.38), 0 0 48px -8px rgba(96,165,250,.5);
}

/* ════════════════════════════════════════════════════════════════
   « CONDITIONS SIMPLES » · charte de confiance premium
   ════════════════════════════════════════════════════════════════ */
.ac-trust { position: relative; overflow: hidden; }
.ac-trust .container { position: relative; z-index: 1; }

.ac-trust-top { position: relative; height: 54px; margin-top: 36px; margin-bottom: -34px; z-index: 3; }
.ac-trust-arc { position: absolute; left: 6%; right: 6%; bottom: 0; width: 88%; height: 90px; opacity: .7; }
.ac-trust-arc path { fill: none; stroke: rgba(37,99,235,.22); stroke-width: 1.4; }
.ac-trust-arc-dot { position: absolute; bottom: 2px; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid var(--blue-l); box-shadow: 0 0 0 3px rgba(96,165,250,.12); }
.ac-trust-arc-dot.l { left: 7%; } .ac-trust-arc-dot.r { right: 7%; }
.ac-trust-shield { position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); width: 80px; height: 80px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(120% 120% at 50% 0%, #fff, #eef4ff); box-shadow: 0 24px 46px -20px rgba(37,99,235,.55), inset 0 1px 0 #fff, 0 0 0 8px rgba(255,255,255,.6); }
.ac-trust-shield .sh { width: 40px; height: 40px; }
.ac-trust-shield .sh path:first-child { fill: #2563eb; stroke: none; }
.ac-trust-shield .sh path:last-child { fill: none; stroke: #fff; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: no-preference) { .ac-trust-shield { animation: acFloatY 5s ease-in-out infinite; } }

.ac-trust-card { position: relative; padding: 56px 26px 44px; border-radius: 28px; background: rgba(255,255,255,.85); border: 1px solid rgba(37,99,235,.1); box-shadow: 0 34px 80px -44px rgba(15,23,42,.5), inset 0 1px 0 #fff; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ac-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ac-trust-item { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 6px 26px; transition: transform .35s cubic-bezier(.22,.68,0,1); }
.ac-trust-item + .ac-trust-item::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 1px; background: linear-gradient(180deg, transparent, rgba(37,99,235,.16), transparent); }
.ac-trust-item:hover { transform: translateY(-3px); }
.ac-trust-ico { position: relative; width: 74px; height: 74px; margin-bottom: 22px; }
.ac-trust-disc { width: 74px; height: 74px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(160deg, #fff, #eef4ff); box-shadow: inset 0 1px 0 #fff, 0 16px 30px -16px rgba(37,99,235,.5), 0 0 0 1px rgba(37,99,235,.07); transition: box-shadow .3s, transform .4s cubic-bezier(.22,.68,0,1.4); }
.ac-trust-disc svg { width: 30px; height: 30px; stroke: var(--blue-b); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-trust-item.c-cyan .ac-trust-disc svg { stroke: #0891b2; }
.ac-trust-item.c-orange .ac-trust-disc svg { stroke: #ea580c; }
.ac-trust-item:hover .ac-trust-disc { transform: scale(1.08); box-shadow: inset 0 1px 0 #fff, 0 18px 34px -14px rgba(37,99,235,.55), 0 0 28px -4px rgba(96,165,250,.6); }
.ac-trust-num { position: absolute; top: -6px; left: -8px; min-width: 30px; height: 30px; padding: 0 7px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: .76rem; box-shadow: 0 7px 16px -4px rgba(15,23,42,.4); z-index: 2; }
.ac-trust-num.blue { background: linear-gradient(150deg, #3b82f6, #2563eb); }
.ac-trust-num.cyan { background: linear-gradient(150deg, #22d3ee, #0891b2); }
.ac-trust-num.orange { background: linear-gradient(150deg, #fb923c, #ea580c); }
.ac-trust-item h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--navy); line-height: 1.2; margin-bottom: 14px; letter-spacing: -.2px; }
.ac-trust-item p { font-size: .86rem; color: var(--muted); line-height: 1.55; }

.ac-trust-foot { display: flex; align-items: center; gap: 30px; margin-top: 22px; margin-bottom: 34px; padding: 28px 36px; border-radius: 24px; background: rgba(255,255,255,.85); border: 1px solid rgba(37,99,235,.1); box-shadow: 0 24px 54px -36px rgba(15,23,42,.45), inset 0 1px 0 #fff; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ac-trust-foot-l { display: flex; align-items: center; gap: 22px; flex: 1; }
.ac-trust-badge { position: relative; flex: none; width: 84px; height: 84px; border-radius: 24px; display: grid; place-items: center; background: radial-gradient(120% 120% at 50% 0%, #eaf1fc, #dbe7fe); box-shadow: inset 0 1px 0 #fff, 0 16px 32px -16px rgba(37,99,235,.5), 0 0 0 1px rgba(37,99,235,.08); }
.ac-trust-badge svg { width: 46px; height: 46px; filter: drop-shadow(0 8px 14px rgba(37,99,235,.45)); }
.ac-trust-badge .sp { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--blue-l); opacity: .7; }
.ac-trust-badge .s1 { top: 12px; right: 14px; } .ac-trust-badge .s2 { bottom: 16px; right: 11px; } .ac-trust-badge .s3 { top: 22px; left: 12px; }
@media (prefers-reduced-motion: no-preference) { .ac-trust-badge { animation: acFloatY 5.5s ease-in-out infinite; } .ac-trust-badge .sp { animation: acTwinkle 2.4s ease-in-out infinite; } .ac-trust-badge .s2 { animation-delay: .6s; } .ac-trust-badge .s3 { animation-delay: 1.2s; } }
.ac-trust-foot-tx h3 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.3rem; color: var(--navy); margin-bottom: 8px; letter-spacing: -.3px; }
.ac-trust-foot-tx p { font-size: .9rem; color: var(--mid); line-height: 1.55; }
.ac-trust-foot-r { display: flex; align-items: center; gap: 18px; margin-left: auto; padding-left: 30px; border-left: 1px solid rgba(37,99,235,.14); max-width: 430px; }
.ac-trust-foot-ic { flex: none; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(120% 120% at 50% 0%, #fff, #e9f0fd); box-shadow: inset 0 1px 0 #fff, 0 12px 24px -14px rgba(37,99,235,.4), 0 0 0 1px rgba(37,99,235,.07); }
.ac-trust-foot-ic svg { width: 26px; height: 26px; stroke: var(--blue-l); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ac-trust-foot-r p { font-size: .88rem; color: var(--mid); line-height: 1.5; }

body.atlas-dark .ac-trust-card, body.atlas-dark .ac-trust-foot { background: var(--glass-bg) !important; border-color: var(--glass-border) !important; }
body.atlas-dark .ac-trust-item h4, body.atlas-dark .ac-trust-foot-tx h3 { color: #fff; }
body.atlas-dark .ac-trust-shield, body.atlas-dark .ac-trust-disc, body.atlas-dark .ac-trust-badge, body.atlas-dark .ac-trust-foot-ic { background: rgba(96,165,250,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(96,165,250,.14); }

@media (max-width: 900px) {
  .ac-trust-grid { grid-template-columns: 1fr 1fr; gap: 38px 0; }
  .ac-trust-item::before { display: none !important; }
  .ac-trust-foot { flex-direction: column; align-items: flex-start; gap: 18px; }
  .ac-trust-foot-r { margin-left: 0; padding-left: 0; border-left: 0; padding-top: 18px; border-top: 1px solid rgba(37,99,235,.14); max-width: none; }
}
@media (max-width: 540px) {
  .ac-trust-grid { grid-template-columns:minmax(0,1fr); gap: 32px; }
  .ac-trust-card { padding: 50px 22px 36px; }
  .ac-trust-foot { padding: 24px 22px; }
}

/* ── Décor animé : pictos cadeau / % / étoiles flottants ────────────── */
.ac-offers-fx { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.ac-offers-fx i {
  position: absolute; display: grid; place-items: center;
  opacity: var(--o, .16); color: var(--c, #7dd3fc);
  will-change: transform;
  animation: acFxDrift var(--d, 15s) ease-in-out var(--dl, 0s) infinite;
}
.ac-offers-fx i svg { width: 100%; height: 100%; display: block; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ac-offers-fx .fx-pct { font-family: "Space Grotesk", sans-serif; font-weight: 800; line-height: 1; }
.ac-offers-fx .glow { filter: drop-shadow(0 0 12px currentColor); }
@keyframes acFxDrift {
  0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)) scale(1); }
  50%      { transform: translateY(-28px) rotate(calc(var(--r, 0deg) + 9deg)) scale(1.06); }
}
.ac-offers-fx i.b { animation-name: acFxDrift2; }
@keyframes acFxDrift2 {
  0%, 100% { transform: translate(0, 0) rotate(var(--r, 0deg)) scale(1); }
  50%      { transform: translate(16px, -22px) rotate(calc(var(--r, 0deg) - 9deg)) scale(1.05); }
}
@media (max-width: 680px) { .ac-offers-fx i.hide-sm { display: none; } }
@media (prefers-reduced-motion: reduce) { .ac-offers-fx i { animation: none; } }
