/* ============================================
   BPC SWIM CAMP — Premium Dark Aquatic Theme
   Extends bpc-premium.css with cyan/blue accents
   ============================================ */

/* --- Swim-specific token overrides --- */
:root {
  --swim-primary: #0891B2;        /* Cyan principal */
  --swim-primary-strong: #06B6D4; /* Cyan clair hover */
  --swim-glow: rgba(8,145,178,0.15);
  --swim-gradient: linear-gradient(135deg, #0891B2, #155E75);
  --swim-gradient-soft: linear-gradient(135deg, rgba(8,145,178,0.2), rgba(21,94,117,0.1));
}

/* --- Hero aquatic variant --- */
.hero-modern.hero-swim {
  background: #030B10 !important;
}

.hero-modern.hero-swim .hero-overlay {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(8,145,178,0.3), transparent 60%),
    linear-gradient(180deg, rgba(3,11,16,0.85), rgba(3,11,16,0.6)) !important;
}

.hero-modern.hero-swim::after {
  background: radial-gradient(circle, rgba(8,145,178,0.15), transparent 70%) !important;
}

/* Hero buttons — swim variant */
.hero-modern.hero-swim .btn.btn-primary {
  background: var(--swim-gradient) !important;
  box-shadow: 0 4px 20px rgba(8,145,178,0.4) !important;
}
.hero-modern.hero-swim .btn.btn-primary:hover {
  box-shadow: 0 8px 30px rgba(8,145,178,0.6) !important;
}

.hero-modern.hero-swim .btn.ghost {
  color: var(--swim-primary-strong) !important;
  border-color: var(--swim-primary-strong) !important;
}
.hero-modern.hero-swim .btn.ghost:hover {
  background: var(--swim-primary) !important;
  color: #fff !important;
}

/* --- Social proof badge — swim dark --- */
.hero-modern.hero-swim .badge-social-proof {
  background: rgba(8,145,178,0.08) !important;
  border: 1px solid rgba(8,145,178,0.2) !important;
}

/* --- Guarantee card — dark variant --- */
.guarantee-card {
  background: rgba(8,145,178,0.06) !important;
  border: 2px solid rgba(8,145,178,0.3) !important;
  box-shadow: 0 4px 20px rgba(8,145,178,0.1) !important;
}
.guarantee-card * {
  color: rgba(255,255,255,0.9) !important;
}
.guarantee-card strong,
.guarantee-card .guarantee-title {
  color: var(--swim-primary-strong) !important;
}

/* --- Immersive approach card --- */
.immersive-card {
  background: rgba(8,145,178,0.06) !important;
  border: 1px solid rgba(8,145,178,0.2) !important;
}
.immersive-card h3 {
  color: var(--swim-primary-strong) !important;
}

/* --- Dates banner --- */
.dates-banner-swim {
  background: var(--swim-gradient) !important;
}

/* --- Badges swim --- */
.badge-swim {
  background: rgba(8,145,178,0.1) !important;
  border: 1px solid rgba(8,145,178,0.2) !important;
  color: var(--swim-primary-strong) !important;
}

/* --- Pills swim --- */
.hero-swim .pill {
  background: rgba(8,145,178,0.2) !important;
  color: var(--swim-primary-strong) !important;
}

/* --- Section accents — swim blue instead of red --- */
.swim-page .section--sand {
  background: var(--bpc-surface-alt) !important;
}

.swim-page h2 {
  color: #fff !important;
}

/* Testimonial cards */
.swim-page .testimonial-card {
  background: var(--bpc-surface-card) !important;
  border-left-color: var(--swim-primary) !important;
  border: 1px solid var(--bpc-border) !important;
  border-left: 4px solid var(--swim-primary) !important;
}
.swim-page .testimonial-card * {
  color: rgba(255,255,255,0.85) !important;
}
.swim-page .testimonial-card strong {
  color: var(--swim-primary-strong) !important;
}

/* --- Cards on swim page --- */
.swim-page .card {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
}

.swim-page .card h3 {
  color: var(--swim-primary-strong) !important;
}

/* --- Carousel dark --- */
.swim-page .carousel {
  background: #050505 !important;
  border: 1px solid var(--bpc-border) !important;
}
.swim-page .carousel-overlay {
  background: linear-gradient(transparent, rgba(3,11,16,0.9)) !important;
}
.swim-page .carousel-overlay * {
  color: #fff !important;
}
.swim-page .carousel-btn {
  background: rgba(8,145,178,0.3) !important;
  color: #fff !important;
  border: 1px solid rgba(8,145,178,0.3) !important;
}
.swim-page .carousel-btn:hover {
  background: var(--swim-primary) !important;
}
.swim-page .carousel-dot.active {
  background: var(--swim-primary) !important;
}

/* --- Social proof bar --- */
.swim-page .social-proof {
  background: rgba(8,145,178,0.06) !important;
  border-left-color: var(--swim-primary) !important;
}
.swim-page .social-proof * {
  color: rgba(255,255,255,0.9) !important;
}

/* --- Programme / jour cards --- */
.swim-page .programme-jour,
.swim-page [style*="border-left: 4px solid var(--bpc-accent)"] {
  background: rgba(8,145,178,0.04) !important;
  border-left-color: var(--swim-primary) !important;
}

/* --- FAQ — dark bg, readable text --- */
.swim-page #faq {
  background: var(--bpc-surface) !important;
}
.swim-page #faq h2 {
  color: #fff !important;
}
.swim-page #faq .faq-grid > div {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
}
.swim-page #faq .faq-item h3,
.swim-page #faq .faq-grid h3,
.swim-page #faq h3 {
  color: var(--swim-primary-strong) !important;
}
.swim-page #faq p,
.swim-page #faq li,
.swim-page #faq span,
.swim-page #faq div,
.swim-page #faq .faq-item p,
.swim-page .faq-item p,
.swim-page .faq-column p,
body.swim-page #faq .faq-item p,
body.swim-page section#faq p {
  color: #E5E7EB !important;
}

/* --- Pricing cards (white on dark) --- */
.swim-page #inscription,
.swim-page #tarifs {
  background: var(--bpc-surface) !important;
}

/* --- CTA buttons swim --- */
.swim-page .btn-primary,
.swim-page .btn.btn-primary {
  background: var(--swim-gradient) !important;
  box-shadow: 0 4px 15px rgba(8,145,178,0.3) !important;
}
.swim-page .btn-primary:hover,
.swim-page .btn.btn-primary:hover {
  box-shadow: 0 8px 25px rgba(8,145,178,0.5) !important;
}

/* --- FAB pulse — cyan --- */
.swim-page .fab-cta .btn {
  background: var(--swim-gradient) !important;
  box-shadow: 0 4px 20px rgba(8,145,178,0.4) !important;
  animation: fab-pulse-swim 2s ease-in-out infinite !important;
}
@keyframes fab-pulse-swim {
  0%, 100% { box-shadow: 0 4px 20px rgba(8,145,178,0.4); }
  50% { box-shadow: 0 4px 30px rgba(8,145,178,0.7), 0 0 0 8px rgba(8,145,178,0.1); }
}

/* --- Gradient mesh — aquatic variant --- */
.swim-page .gradient-mesh::before {
  background: radial-gradient(circle, rgba(8,145,178,0.3), transparent 70%) !important;
}
.swim-page .gradient-mesh::after {
  background: radial-gradient(circle, rgba(21,94,117,0.25), transparent 70%) !important;
}

/* --- Inline style overrides for swim page backgrounds --- */
.swim-page [style*="background: var(--bpc-water)"],
.swim-page [style*="background: linear-gradient(135deg, var(--bpc-water)"] {
  background: rgba(8,145,178,0.06) !important;
  border-color: rgba(8,145,178,0.2) !important;
}

.swim-page [style*="color: var(--bpc-secondary)"],
.swim-page [style*="color:var(--bpc-secondary)"] {
  color: var(--swim-primary-strong) !important;
}

.swim-page [style*="color: var(--bpc-accent)"],
.swim-page [style*="color:var(--bpc-accent)"] {
  color: var(--swim-primary-strong) !important;
}

/* --- White cards: keep white bg, keep dark text --- */
.swim-page [style*="background: white"],
.swim-page [style*="background:#fff"],
.swim-page [style*="background: #fff"] {
  background: #fff !important;
}
.swim-page [style*="background: white"] h2,
.swim-page [style*="background: white"] h3,
.swim-page [style*="background: white"] h4,
.swim-page [style*="background: white"] p,
.swim-page [style*="background: white"] li,
.swim-page [style*="background: white"] span,
.swim-page [style*="background: white"] div,
.swim-page [style*="background: white"] blockquote,
.swim-page [style*="background: white"] label,
.swim-page [style*="background: white"] a:not(.btn-primary) {
  color: #0F172A !important;
}
.swim-page [style*="background: white"] h3,
.swim-page [style*="background: white"] strong,
.swim-page [style*="background: white"] [style*="color: var(--bpc-accent)"],
.swim-page [style*="background: white"] [style*="color: var(--bpc-secondary)"] {
  color: #0891B2 !important;
}
.swim-page [style*="background: white"] .btn-primary,
.swim-page [style*="background: white"] [style*="background: var(--bpc-accent)"] {
  color: #fff !important;
}
.swim-page [style*="background: white"] .note,
.swim-page [style*="background: white"] small {
  color: #666 !important;
}

/* --- Footer — same dark as homepage --- */
.swim-page footer {
  background: #050505 !important;
  border-top: 1px solid var(--bpc-border) !important;
}

/* --- Accent color swap: red → cyan for key elements --- */
.swim-page .badge-accent {
  background: rgba(8,145,178,0.1) !important;
  color: var(--swim-primary-strong) !important;
  border-color: rgba(8,145,178,0.2) !important;
}

/* --- Feature cards (approche immersive) --- */
.swim-page .feature-card {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
}
.swim-page .feature-card h3 {
  color: var(--swim-primary-strong) !important;
}
.swim-page .feature-card p {
  color: rgba(255,255,255,0.75) !important;
}

/* --- Stat cards --- */
.swim-page .stat-card {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
}
.swim-page .stat-card .stat-number {
  color: var(--swim-primary-strong) !important;
}
.swim-page .stat-card .stat-label {
  color: rgba(255,255,255,0.7) !important;
}

/* --- Date cards --- */
.swim-page .date-card {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
  border-radius: var(--radius);
  padding: 24px;
}
.swim-page .date-card h3 {
  color: var(--swim-primary-strong) !important;
}
.swim-page .date-card p,
.swim-page .date-card strong {
  color: rgba(255,255,255,0.85) !important;
}
.swim-page .date-card .note {
  color: var(--bpc-primary) !important;
  font-weight: 700;
}

/* --- Dates grid --- */
.swim-page .dates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
}

/* --- Section dividers — cyan --- */
.swim-page section + section {
  border-top: 1px solid rgba(8,145,178,0.1) !important;
}
