:root {
  --color-bg: #080b18;
  --color-surface: #101832;
  --color-surface-alt: #172247;
  --color-text: #f4f7ff;
  --color-text-muted: #bac7ec;
  --color-primary: #ff483a;
  --color-primary-2: #4f8cff;
  --color-accent: #ffd166;
  --color-btn-text: #080b18;
  --container: 1180px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --shadow-soft: 0 18px 60px rgba(0, 0, 0, 0.35);
  --font-main: 'Sora', system-ui, sans-serif;
}

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-main);
  background: radial-gradient(circle at 15% 0%, rgba(79, 140, 255, 0.22), transparent 32%), var(--color-bg);
  color: var(--color-text);
  line-height: 1.65;
}

a { color: inherit; }

img { max-width: 100%; height: auto; }

main {
  min-height: 60vh;
}

.container {
  width: min(100% - 32px, var(--container));
  margin-inline: auto;
}

.page-shell {
  padding: 72px 0;
}

.placeholder-card {
  background: linear-gradient(145deg, rgba(23, 34, 71, 0.95), rgba(16, 24, 50, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 5vw, 56px);
  box-shadow: var(--shadow-soft);
}

.placeholder-eyebrow {
  margin: 0 0 12px;
  color: var(--color-accent);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.82rem;
}

h1 {
  margin: 0 0 18px;
  font-size: clamp(2.1rem, 6vw, 4.6rem);
  line-height: 1.04;
}

.lead {
  max-width: 780px;
  color: var(--color-text-muted);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}

.btn-primary {
  background: linear-gradient(135deg, var(--color-accent), #ff9f1c);
  color: var(--color-btn-text);
}

.btn-secondary {
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.06);
}

.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}


/* Home page */
.home-hero{padding:clamp(44px,7vw,92px) 0 32px;background:radial-gradient(circle at 74% 22%,rgba(255,209,102,.18),transparent 28%),linear-gradient(180deg,rgba(16,24,50,.4),transparent)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:clamp(28px,5vw,56px);align-items:center}.hero-copy h1{max-width:780px}.hero-media{position:relative}.hero-image,.wide-image,.image-card,.feature-image{margin:0}.hero-image img,.wide-image img,.image-card img,.feature-image img{display:block;width:100%;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow-soft);object-fit:cover}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.trust-row span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;color:var(--color-text);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-weight:800;font-size:.88rem}.section-block{padding:clamp(42px,6vw,74px) 0}.section-block.compact{padding:30px 0 18px}.section-block .container{background:linear-gradient(145deg,rgba(23,34,71,.82),rgba(12,18,38,.84));border:1px solid rgba(255,255,255,.11);border-radius:var(--radius-lg);padding:clamp(22px,4vw,44px);box-shadow:0 20px 70px rgba(0,0,0,.24)}.section-block.compact .container,.faq-section .container{background:transparent;border:0;box-shadow:none;padding:0 16px}.section-block h2{margin:0 0 18px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15}.section-block h3{margin:32px 0 12px;font-size:clamp(1.28rem,2.2vw,1.75rem);color:var(--color-accent);line-height:1.25}.section-block p{margin:0 0 18px;color:var(--color-text-muted)}.content-table{width:100%;border-collapse:collapse;min-width:640px;overflow:hidden;border-radius:18px;background:rgba(255,255,255,.04)}.content-table th,.content-table td{padding:15px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1);color:var(--color-text)}.content-table th{background:linear-gradient(135deg,rgba(255,72,58,.34),rgba(79,140,255,.26));font-weight:900}.content-table td{color:var(--color-text-muted)}.content-list{margin:0 0 20px;padding-left:1.35rem;color:var(--color-text-muted)}.content-list li{margin:7px 0;padding-left:4px}.wide-image{margin:18px 0 26px}.wide-image img{max-height:520px}.image-band{padding:28px 0 10px}.image-band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.image-card img{aspect-ratio:16/10}.faq-list{display:grid;gap:12px}.faq-list details{background:linear-gradient(145deg,rgba(23,34,71,.96),rgba(10,15,32,.96));border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 18px}.faq-list summary{cursor:pointer;font-weight:900;color:var(--color-text)}.faq-list p{margin:12px 0 0}@media(max-width:900px){.hero-grid,.image-band-grid{grid-template-columns:1fr}.home-hero{padding-top:32px}}

/* Application page */
.app-hero{background:radial-gradient(circle at 78% 18%,rgba(255,72,58,.22),transparent 30%),linear-gradient(180deg,rgba(23,34,71,.55),transparent)}
.ordered-list{counter-reset:item}

/* Paris sportifs page */
.sports-hero{background:radial-gradient(circle at 72% 12%,rgba(43,183,255,.2),transparent 28%),linear-gradient(180deg,rgba(15,27,59,.74),transparent)}
.two-col-section{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.promo-aside{position:sticky;top:96px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;padding:16px;box-shadow:var(--shadow-card)}
.promo-aside img{width:100%;height:auto;border-radius:18px;margin-bottom:16px}
@media (max-width:900px){.two-col-section{grid-template-columns:1fr}.promo-aside{position:static}}

.notice-card {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(232,184,75,.12), rgba(54,168,255,.08));
}
.notice-card h3 { margin-top: 0; }

/* Payments / EEAT reusable blocks */
.steps-list { display: grid; gap: 12px; margin: 24px 0; padding-left: 22px; }
.steps-list li { padding: 12px 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: 16px; }
.note-card { margin-top: 22px; padding: 18px; border: 1px solid rgba(232,184,75,.35); background: rgba(232,184,75,.10); border-radius: 20px; color: var(--color-text); }
.note-card a { color: var(--color-primary); font-weight: 700; }
.reverse { align-items: center; }

/* Contact page helpers */
.section-block.tinted .container{background:linear-gradient(145deg,rgba(79,140,255,.16),rgba(16,24,50,.88));}
.btn-row.center{justify-content:center;}
.cta-panel{text-align:center;}
.cta-panel .btn-row{justify-content:center;}
.promo-aside p{color:var(--color-text-muted);}
