/* ============================================================
   FCO VISUAL OVERHAUL - Thème festif multicolore
   Couleurs du logo : rouge, orange, jaune, vert, bleu, violet
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Poppins:wght@400;500;600;700&display=swap');

:root {
  --fco-red:    #e63946;
  --fco-orange: #f4a261;
  --fco-yellow: #ffd60a;
  --fco-green:  #2a9d8f;
  --fco-blue:   #2563eb;
  --fco-purple: #8b5cf6;

  --fco-red-bg:    #fee2e2;
  --fco-orange-bg: #fff0e0;
  --fco-yellow-bg: #fffbe0;
  --fco-green-bg:  #d1fae5;
  --fco-blue-bg:   #dbeafe;
  --fco-purple-bg: #ede9fe;

  --fco-gradient: linear-gradient(90deg,
    #e63946 0%, #f4a261 20%, #ffd60a 40%,
    #2a9d8f 60%, #2563eb 80%, #8b5cf6 100%);

  --fco-radius:    20px;
  --fco-radius-lg: 28px;
}

/* ── BODY & TYPO ─────────────────────────────────────────────── */
body { font-family: 'Poppins', sans-serif; background: #fef9f3; }

h1, h2, h3, h4,
.hero-title, .section-title, .apercu-title,
.chateau-title, .jeu-title, .machine-title,
.nouveaute-title, .condition-title {
  font-family: 'Nunito', sans-serif;
}

/* ── HEADER ──────────────────────────────────────────────────── */
.header {
  background: rgba(255,255,255,0.96) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 3px solid transparent;
  border-image: var(--fco-gradient) 1;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06) !important;
}

.nav-link {
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
}

.btn-reserver {
  background: #e63946 !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
  font-family: 'Nunito', sans-serif !important;
  box-shadow: 0 4px 15px rgba(230,57,70,0.35) !important;
  transition: all 0.3s !important;
}
.btn-reserver:hover {
  background: #c92a36 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(230,57,70,0.45) !important;
}

/* ── HERO ────────────────────────────────────────────────────── */
.hero {
  background: linear-gradient(160deg, #fff8f0 0%, #f0f7ff 55%, #f5f0ff 100%) !important;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230,57,70,0.07) 0%, transparent 70%);
  top: -250px; left: -200px;
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,0.07) 0%, transparent 70%);
  bottom: -200px; right: -150px;
  pointer-events: none;
}

/* Confettis plus gros et variés */
/* Confettis originaux restaurés - cercles simples */
.particle { opacity: 0.7 !important; border-radius: 50% !important; }

/* Tailles originales */
.particle:nth-child(1)  { width:8px !important; height:8px !important; }
.particle:nth-child(2)  { width:6px !important; height:6px !important; }
.particle:nth-child(3)  { width:10px!important; height:10px!important; }
.particle:nth-child(4)  { width:7px !important; height:7px !important; }
.particle:nth-child(5)  { width:5px !important; height:5px !important; }
.particle:nth-child(6)  { width:9px !important; height:9px !important; }
.particle:nth-child(7)  { width:6px !important; height:6px !important; }
.particle:nth-child(8)  { width:8px !important; height:8px !important; }
.particle:nth-child(9)  { width:7px !important; height:7px !important; }
.particle:nth-child(10) { width:10px!important; height:10px!important; }
.particle:nth-child(11) { width:5px !important; height:5px !important; }
.particle:nth-child(12) { width:8px !important; height:8px !important; }
.particle:nth-child(13) { width:6px !important; height:6px !important; }
.particle:nth-child(14) { width:9px !important; height:9px !important; }
.particle:nth-child(15) { width:7px !important; height:7px !important; }
.particle:nth-child(16) { width:5px !important; height:5px !important; }
.particle:nth-child(17) { width:10px!important; height:10px!important; }
.particle:nth-child(18) { width:6px !important; height:6px !important; }
.particle:nth-child(19) { width:8px !important; height:8px !important; }
.particle:nth-child(20) { width:7px !important; height:7px !important; }

.hero-title {
  font-size: 3.8rem !important;
  font-weight: 900 !important;
  letter-spacing: -1px;
  line-height: 1.15 !important;
}
.hero-title .gradient-text {
  font-size: 4.2rem !important;
  font-weight: 900 !important;
}

.hero-badge {
  background: white !important;
  border: 2px solid rgba(230,57,70,0.15) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  font-weight: 700 !important;
  font-family: 'Nunito', sans-serif !important;
  border-radius: 50px !important;
}
.hero-badge i { color: #1877f2 !important; }

.hero-locations {
  background: white !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  display: inline-flex !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 14px rgba(0,0,0,0.07) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  color: #475569 !important;
  margin-bottom: 30px !important;
}

.btn-primary {
  background: #e63946 !important;
  border: none !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 16px 38px !important;
  border-radius: 50px !important;
  box-shadow: 0 6px 22px rgba(230,57,70,0.38) !important;
  transition: all 0.3s !important;
}
.btn-primary:hover {
  background: #c92a36 !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(230,57,70,0.48) !important;
}

.btn-secondary {
  border: 2.5px solid #e63946 !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 16px 38px !important;
  border-radius: 50px !important;
  background: white !important;
  color: #e63946 !important;
  transition: all 0.3s !important;
}
.btn-secondary:hover {
  background: #e63946 !important;
  border-color: #e63946 !important;
  color: white !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 22px rgba(230,57,70,0.3) !important;
}

.hero-stats {
  background: white;
  border-radius: 20px;
  padding: 20px 40px;
  display: inline-flex;
  gap: 50px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07);
  border: 1px solid rgba(0,0,0,0.05);
  margin-top: 20px;
}
.stat-number {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 900 !important;
  font-size: 2.2rem !important;
}
.stat-label { font-weight: 600 !important; }

/* ── TITRES DE SECTIONS ──────────────────────────────────────── */
.section-title {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 900 !important;
  font-size: 2.6rem !important;
  letter-spacing: -0.5px;
}

/* Pas de soulignement arc-en-ciel sous les titres */

/* ── SERVICES (APERÇU) ───────────────────────────────────────── */
.apercu-section {
  background: #fef9f3 !important;
  position: relative;
  overflow: hidden;
}
.apercu-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 5%  50%, rgba(255,214,10,0.05)  0%, transparent 55%),
    radial-gradient(ellipse at 95% 50%, rgba(139,92,246,0.05)  0%, transparent 55%);
  pointer-events: none;
}

.apercu-card {
  border-radius: var(--fco-radius-lg) !important;
  border: 2px solid rgba(0,0,0,0.05) !important;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
}
.apercu-card:hover {
  transform: translateY(-12px) scale(1.02) !important;
}

/* Couleurs individuelles par service */
.apercu-card:nth-child(1):hover {
  border-color: var(--fco-red) !important;
  box-shadow: 0 20px 50px rgba(230,57,70,0.18) !important;
}
.apercu-card:nth-child(2):hover {
  border-color: var(--fco-green) !important;
  box-shadow: 0 20px 50px rgba(42,157,143,0.18) !important;
}
.apercu-card:nth-child(3):hover {
  border-color: var(--fco-blue) !important;
  box-shadow: 0 20px 50px rgba(37,99,235,0.18) !important;
}

/* Liens */
.apercu-card:nth-child(1) .apercu-link { color: var(--fco-red) !important; }
.apercu-card:nth-child(2) .apercu-link { color: var(--fco-green) !important; }
.apercu-card:nth-child(3) .apercu-link { color: var(--fco-blue) !important; }

/* Icônes — fond et couleur par service */
.apercu-card:nth-child(1) .fco-service-icon-wrap { background: var(--fco-red-bg) !important; }
.apercu-card:nth-child(1) .fco-service-icon-wrap i { color: var(--fco-red) !important; -webkit-text-fill-color: var(--fco-red) !important; }
.apercu-card:nth-child(2) .fco-service-icon-wrap { background: var(--fco-green-bg) !important; }
.apercu-card:nth-child(2) .fco-service-icon-wrap i { color: var(--fco-green) !important; -webkit-text-fill-color: var(--fco-green) !important; }
.apercu-card:nth-child(3) .fco-service-icon-wrap { background: var(--fco-blue-bg) !important; }
.apercu-card:nth-child(3) .fco-service-icon-wrap i { color: var(--fco-blue) !important; -webkit-text-fill-color: var(--fco-blue) !important; }

/* Survol — fond couleur pleine */
.apercu-card:nth-child(1):hover .fco-service-icon-wrap { background: var(--fco-red) !important; }
.apercu-card:nth-child(1):hover .fco-service-icon-wrap i { color: white !important; -webkit-text-fill-color: white !important; }
.apercu-card:nth-child(1):hover .fco-service-icon-wrap svg { color: white !important; fill: white !important; }
.apercu-card:nth-child(2):hover .fco-service-icon-wrap { background: var(--fco-green) !important; }
.apercu-card:nth-child(2):hover .fco-service-icon-wrap i { color: white !important; -webkit-text-fill-color: white !important; }
.apercu-card:nth-child(3):hover .fco-service-icon-wrap { background: var(--fco-blue) !important; }
.apercu-card:nth-child(3):hover .fco-service-icon-wrap i { color: white !important; -webkit-text-fill-color: white !important; }

.fco-service-icon-wrap {
  transition: all 0.3s !important;
  width: 85px !important;
  height: 85px !important;
  border-radius: 50% !important;
}
.fco-service-icon-wrap i { transition: all 0.3s !important; }

.apercu-title {
  font-size: 1.4rem !important;
  font-weight: 800 !important;
}

/* ── CHÂTEAUX ────────────────────────────────────────────────── */
.chateaux-section {
  background: linear-gradient(180deg, #fff 0%, #fef9f3 100%) !important;
  position: relative;
}

.chateau-card {
  border-radius: var(--fco-radius-lg) !important;
  border: 2px solid rgba(0,0,0,0.04) !important;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.chateau-card:hover {
  transform: translateY(-10px) !important;
  border-color: var(--fco-red) !important;
  box-shadow: 0 20px 50px rgba(230,57,70,0.15) !important;
}

.chateau-cat-badge {
  background: linear-gradient(135deg, rgba(230,57,70,0.1), rgba(244,162,97,0.1)) !important;
  border: 1px solid rgba(230,57,70,0.2) !important;
  color: var(--fco-red) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  border-radius: 20px !important;
  font-size: 12px !important;
}

.chateau-title { font-weight: 800 !important; }

.btn-reserver-card {
  border-radius: 12px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
}
.btn-reserver-card:hover {
  background: #e63946 !important;
  border-color: transparent !important;
  color: white !important;
}

/* Filtres style pill-group */
.fco-filters {
  background: white;
  border-radius: 50px;
  padding: 8px !important;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  box-shadow: 0 2px 15px rgba(0,0,0,0.07);
  margin-bottom: 45px;
  position: relative;
  z-index: 10;
}
.fco-filter {
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  border: none !important;
  padding: 9px 22px !important;
  position: relative;
  z-index: 10;
  cursor: pointer !important;
  pointer-events: all !important;
}
/* Boutons filtres : rouge simple, pas arc-en-ciel */
.fco-filter:hover {
  background: #e63946 !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(230,57,70,0.25) !important;
}
.fco-filter.active {
  background: #e63946 !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(230,57,70,0.25) !important;
}

/* ── CONDITIONS DE LOCATION (résumé accueil) ─────────────────── */
.conditions-resume-section {
  background: linear-gradient(180deg, #fef9f3 0%, #f0f7ff 100%) !important;
}

.condition-resume-card {
  border-radius: var(--fco-radius) !important;
  border: 2px solid rgba(0,0,0,0.05) !important;
  background: white !important;
  transition: all 0.3s !important;
}
.condition-resume-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 15px 40px rgba(0,0,0,0.1) !important;
}

/* Couleurs individuelles */
.condition-resume-card:nth-child(1) .condition-resume-icon { background: var(--fco-red-bg) !important; }
.condition-resume-card:nth-child(1) .condition-resume-icon i { color: var(--fco-red) !important; -webkit-text-fill-color: var(--fco-red) !important; }
.condition-resume-card:nth-child(1):hover { border-color: var(--fco-red) !important; }

.condition-resume-card:nth-child(2) .condition-resume-icon { background: var(--fco-blue-bg) !important; }
.condition-resume-card:nth-child(2) .condition-resume-icon i { color: var(--fco-blue) !important; -webkit-text-fill-color: var(--fco-blue) !important; }
.condition-resume-card:nth-child(2):hover { border-color: var(--fco-blue) !important; }

.condition-resume-card:nth-child(3) .condition-resume-icon { background: var(--fco-orange-bg) !important; }
.condition-resume-card:nth-child(3) .condition-resume-icon i { color: var(--fco-orange) !important; -webkit-text-fill-color: var(--fco-orange) !important; }
.condition-resume-card:nth-child(3):hover { border-color: var(--fco-orange) !important; }

.condition-resume-card:nth-child(4) .condition-resume-icon { background: var(--fco-green-bg) !important; }
.condition-resume-card:nth-child(4) .condition-resume-icon i { color: var(--fco-green) !important; -webkit-text-fill-color: var(--fco-green) !important; }
.condition-resume-card:nth-child(4):hover { border-color: var(--fco-green) !important; }

.condition-resume-content h4 {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  color: #1e293b !important;
}
.condition-resume-content ul li { font-size: 13.5px; color: #64748b; }

/* ── CONDITIONS PAGE ─────────────────────────────────────────── */
.conditions-section { background: #fef9f3 !important; }

.condition-card {
  border-radius: var(--fco-radius) !important;
  border: 2px solid rgba(0,0,0,0.05) !important;
  transition: all 0.3s !important;
}

.condition-card:nth-child(1) .condition-icon { background: var(--fco-red-bg) !important; border-radius: 50% !important; }
.condition-card:nth-child(1) .condition-icon i { color: var(--fco-red) !important; }
.condition-card:nth-child(1):hover { border-color: var(--fco-red) !important; }

.condition-card:nth-child(2) .condition-icon { background: var(--fco-blue-bg) !important; border-radius: 50% !important; }
.condition-card:nth-child(2) .condition-icon i { color: var(--fco-blue) !important; }
.condition-card:nth-child(2):hover { border-color: var(--fco-blue) !important; }

.condition-card:nth-child(3) .condition-icon { background: var(--fco-orange-bg) !important; border-radius: 50% !important; }
.condition-card:nth-child(3) .condition-icon i { color: var(--fco-orange) !important; }
.condition-card:nth-child(3):hover { border-color: var(--fco-orange) !important; }

.condition-card:nth-child(4) .condition-icon { background: var(--fco-green-bg) !important; border-radius: 50% !important; }
.condition-card:nth-child(4) .condition-icon i { color: var(--fco-green) !important; }
.condition-card:nth-child(4):hover { border-color: var(--fco-green) !important; }

.condition-list li i { color: var(--fco-green) !important; }

/* ── JEUX EN BOIS ────────────────────────────────────────────── */
.jeux-section {
  background: linear-gradient(180deg, #fef9f3 0%, #f0fff8 100%) !important;
}
.jeu-card {
  border-radius: var(--fco-radius-lg) !important;
  border: 2px solid rgba(0,0,0,0.04) !important;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.jeu-card:hover {
  transform: translateY(-10px) !important;
  border-color: var(--fco-green) !important;
  box-shadow: 0 20px 50px rgba(42,157,143,0.15) !important;
}
.jeu-title { font-weight: 800 !important; }
.jeu-specs i { color: var(--fco-green) !important; }
.jeu-card .btn-reserver-card:hover {
  background: linear-gradient(135deg, #2a9d8f, #52b788) !important;
  border-color: transparent !important;
}

/* ── MACHINES & SONO ─────────────────────────────────────────── */
.machines-section {
  background: linear-gradient(180deg, #f0f7ff 0%, #fff 100%) !important;
}
.machine-card {
  border-radius: var(--fco-radius-lg) !important;
  border: 2px solid rgba(0,0,0,0.04) !important;
  background: white !important;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.machine-card:hover {
  transform: translateY(-10px) !important;
  border-color: var(--fco-blue) !important;
  box-shadow: 0 20px 50px rgba(37,99,235,0.15) !important;
}
.machine-title { font-weight: 800 !important; }
.machine-badge {
  background: linear-gradient(135deg, var(--fco-blue), #60a5fa) !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
}
.machine-specs i { color: var(--fco-blue) !important; }
.machine-card .btn-reserver-card:hover {
  background: linear-gradient(135deg, var(--fco-blue), #60a5fa) !important;
  border-color: transparent !important;
}

/* ── À PROPOS ────────────────────────────────────────────────── */
.about-section {
  background: #fef9f3 !important;
}
.about-stats-band .stat-number {
  background: var(--fco-gradient) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.about-stats {
  background: white !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.07) !important;
  border: 2px solid rgba(0,0,0,0.05) !important;
  position: relative;
  overflow: hidden;
}
.about-stats::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--fco-gradient);
}
.about-image {
  border-radius: 24px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
}
.owner-info .owner-name { font-family: 'Nunito', sans-serif; font-weight: 800 !important; }

/* ── NOUVEAUTÉS ──────────────────────────────────────────────── */
.nouveautes-section {
  background: linear-gradient(180deg, #fffbe0 0%, #fff8f0 100%) !important;
}
.nouveaute-card {
  border-radius: var(--fco-radius-lg) !important;
  border: 2px solid rgba(0,0,0,0.05) !important;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.nouveaute-card:hover {
  transform: translateY(-12px) !important;
  border-color: var(--fco-orange) !important;
  box-shadow: 0 20px 50px rgba(244,162,97,0.22) !important;
}
.nouveaute-title { font-weight: 800 !important; }

/* ── CONTACT ─────────────────────────────────────────────────── */
.contact-dual {
  background: linear-gradient(180deg, #fff8f0 0%, #f0f7ff 100%) !important;
}
.form-container {
  border: 2px solid rgba(230,57,70,0.07) !important;
  border-radius: 30px !important;
  box-shadow: 0 15px 60px rgba(0,0,0,0.08) !important;
}
.tab-btn {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
}
.tab-btn.active {
  background: #e63946 !important;
  border-color: transparent !important;
}
.btn-submit {
  background: #e63946 !important;
  border-radius: 14px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  box-shadow: 0 6px 22px rgba(230,57,70,0.32) !important;
  transition: all 0.3s !important;
}
.btn-submit:hover {
  background: #c92a36 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 36px rgba(230,57,70,0.42) !important;
}

/* ── FOOTER ──────────────────────────────────────────────────── */
.footer {
  background: #12122a !important;
  position: relative;
  overflow: hidden;
}
/* Bande arc-en-ciel en haut */
.footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  background: var(--fco-gradient);
  z-index: 2;
}
/* Cercle décoratif */
.footer::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%);
  bottom: -250px; right: -150px;
  pointer-events: none;
}

.footer-links h4, .footer-contact h4 {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  color: #f1f5f9 !important;
}
.footer-brand p, .footer-links a, .footer-contact p {
  color: #94a3b8 !important;
}
.footer-links a:hover { color: white !important; }

.social-link {
  border-color: rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.04) !important;
  transition: all 0.3s !important;
}
.social-link:hover {
  background: var(--fco-gradient) !important;
  border-color: transparent !important;
  transform: translateY(-3px) !important;
}

.footer-contact-info i { color: var(--fco-red) !important; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,0.07) !important; }
.footer-bottom p { color: #64748b !important; }
.footer-legal-inline a { color: #94a3b8 !important; }
.footer-legal-inline a:hover { color: white !important; }

/* ── WHATSAPP ────────────────────────────────────────────────── */
.whatsapp-float {
  box-shadow: 0 6px 28px rgba(37,211,102,0.55) !important;
  transition: all 0.3s !important;
}
.whatsapp-float:hover {
  transform: scale(1.12) rotate(-5deg) !important;
  box-shadow: 0 10px 35px rgba(37,211,102,0.7) !important;
}

/* ── CALENDAR ────────────────────────────────────────────────── */
.fco-cal-prev:hover, .fco-cal-next:hover {
  background: var(--fco-gradient) !important;
  color: white !important;
  border: none;
}
.gallery-close:hover, .gallery-nav:hover {
  background: var(--fco-gradient) !important;
  color: white !important;
}
.gallery-thumbnail.active { border-color: var(--fco-red) !important; }

/* ── SCROLLBAR ───────────────────────────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: var(--fco-gradient); border-radius: 4px; }

/* ── SÉLECTION TEXTE ─────────────────────────────────────────── */
::selection { background: rgba(230,57,70,0.18); color: #1e293b; }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero-title           { font-size: 2.6rem !important; }
  .hero-title .gradient-text { font-size: 3rem !important; }
  .section-title        { font-size: 2rem !important; }
  .hero-stats           { padding: 15px 20px; gap: 25px; flex-wrap: wrap; }
  .stat-number          { font-size: 1.8rem !important; }
}
@media (max-width: 480px) {
  .hero-title           { font-size: 2.1rem !important; }
  .hero-title .gradient-text { font-size: 2.5rem !important; }
  .section-title        { font-size: 1.7rem !important; }
}

/* ── PAGE DE CONFIRMATION CONTACT ──────────────────────────── */
.fco-confirmation {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 50px 30px;
  gap: 20px;
  animation: fadeInUp 0.5s ease;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fco-confirmation-icon {
  animation: popIn 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes popIn {
  from { transform: scale(0); }
  to   { transform: scale(1); }
}
.fco-confirmation-title {
  font-family: 'Nunito', sans-serif !important;
  font-size: 2rem;
  font-weight: 900;
  color: #1e293b;
  margin: 0;
}
.fco-confirmation-text {
  color: #64748b;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 400px;
  margin: 0;
}
.fco-confirmation-contact {
  background: #f8fafc;
  border-radius: 16px;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fco-confirmation-contact p {
  font-size: 13px;
  color: #94a3b8;
  margin: 0;
}
.fco-confirmation-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 1.3rem;
  color: #e63946 !important;
  text-decoration: none;
}
.fco-confirmation-phone:hover { color: #c92a36 !important; }
.fco-confirmation-back {
  background: none;
  border: 2px solid #e2e8f0;
  border-radius: 50px;
  padding: 12px 28px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fco-confirmation-back:hover {
  border-color: #e63946;
  color: #e63946;
}

/* ── BTN-SUBMIT rouge simple ─────────────────────────────────── */
.btn-submit {
  background: #e63946 !important;
  background-image: none !important;
}
.btn-submit:hover {
  background: #c92a36 !important;
}

/* ── ANIMATIONS ILLUSTRATION HERO ──────────────────────────── */
.balloon-float-1 { animation: bf1 3.2s ease-in-out infinite; transform-origin: 52px 280px; }
.balloon-float-2 { animation: bf2 2.8s ease-in-out infinite; transform-origin: 78px 248px; }
.balloon-float-3 { animation: bf3 3.6s ease-in-out infinite; transform-origin: 450px 265px; }
.balloon-float-4 { animation: bf4 2.5s ease-in-out infinite; transform-origin: 470px 228px; }
@keyframes bf1 { 0%,100%{transform:translateY(0) rotate(-4deg)} 50%{transform:translateY(-10px) rotate(4deg)} }
@keyframes bf2 { 0%,100%{transform:translateY(0) rotate(3deg)}  50%{transform:translateY(-13px) rotate(-3deg)} }
@keyframes bf3 { 0%,100%{transform:translateY(0) rotate(4deg)}  50%{transform:translateY(-9px) rotate(-4deg)} }
@keyframes bf4 { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-12px) rotate(2deg)} }

.star-twinkle-1 { animation: tw1 2.1s ease-in-out infinite; }
.star-twinkle-2 { animation: tw2 1.8s ease-in-out infinite; }
.star-twinkle-3 { animation: tw3 2.4s ease-in-out infinite; }
.star-twinkle-4 { animation: tw4 1.9s ease-in-out infinite; }
@keyframes tw1 { 0%,100%{opacity:1;transform:scale(1) rotate(0deg)} 50%{opacity:0.5;transform:scale(0.7) rotate(20deg)} }
@keyframes tw2 { 0%,100%{opacity:1;transform:scale(1) rotate(0deg)} 50%{opacity:0.4;transform:scale(0.8) rotate(-15deg)} }
@keyframes tw3 { 0%,100%{opacity:1;transform:scale(1) rotate(0deg)} 50%{opacity:0.6;transform:scale(0.75) rotate(18deg)} }
@keyframes tw4 { 0%,100%{opacity:1;transform:scale(1) rotate(0deg)} 50%{opacity:0.5;transform:scale(0.8) rotate(-20deg)} }

/* ── CONFETTIS ILLUSTRATION ──────────────────────────────── */
.conf-1 { animation: cf1 2.4s ease-in-out infinite; }
.conf-2 { animation: cf2 3.1s ease-in-out infinite; }
.conf-3 { animation: cf3 2.8s ease-in-out infinite; }
.conf-4 { animation: cf4 2.2s ease-in-out infinite; }
.conf-5 { animation: cf5 3.4s ease-in-out infinite; }
.conf-6 { animation: cf6 2.6s ease-in-out infinite; }
@keyframes cf1 { 0%,100%{transform:translateY(0) rotate(0deg);opacity:0.9} 50%{transform:translateY(-8px) rotate(20deg);opacity:0.5} }
@keyframes cf2 { 0%,100%{transform:translateY(0) rotate(0deg);opacity:0.8} 50%{transform:translateY(-6px) rotate(-15deg);opacity:0.4} }
@keyframes cf3 { 0%,100%{transform:translateY(0) rotate(30deg);opacity:0.9} 50%{transform:translateY(-10px) rotate(60deg);opacity:0.5} }
@keyframes cf4 { 0%,100%{transform:translateY(0) rotate(-20deg);opacity:0.8} 50%{transform:translateY(-7px) rotate(-50deg);opacity:0.4} }
@keyframes cf5 { 0%,100%{transform:translateY(0);opacity:0.9} 50%{transform:translateY(-9px);opacity:0.4} }
@keyframes cf6 { 0%,100%{transform:translateY(0) rotate(0deg);opacity:0.8} 50%{transform:translateY(-11px) rotate(25deg);opacity:0.5} }

/* Kids bounce animations - décalées pour effet naturel */
.kid-bounce-1 { animation: kb1 2.8s ease-in-out infinite; transform-origin: 142px 400px; }
.kid-bounce-2 { animation: kb2 2.4s ease-in-out infinite; transform-origin: 260px 380px; }
.kid-bounce-3 { animation: kb3 3.1s ease-in-out infinite; transform-origin: 378px 400px; }
@keyframes kb1 { 0%,100%{transform:translateY(0)} 45%{transform:translateY(-16px)} }
@keyframes kb2 { 0%,100%{transform:translateY(0)} 40%{transform:translateY(-22px)} }
@keyframes kb3 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-13px)} }
