/* ============================================
   BPC TRI CAMP — Premium Dark Triathlon Theme
   Extends bpc-premium.css with warm red/orange accents
   ============================================ */

:root {
  --tri-primary: #DC2626;
  --tri-primary-strong: #EF4444;
  --tri-glow: rgba(220,38,38,0.15);
  --tri-gradient: linear-gradient(135deg, #DC2626, #B91C1C);
  --tri-warm: rgba(239,68,68,0.08);
}

/* --- Hero tri variant --- */
.hero-modern.hero-tri {
  background: #050505 !important;
}

.hero-modern.hero-tri .hero-overlay {
  background:
    radial-gradient(ellipse at 25% 50%, rgba(220,38,38,0.3), transparent 60%),
    linear-gradient(180deg, rgba(5,5,5,0.85), rgba(5,5,5,0.6)) !important;
}

.hero-modern.hero-tri .btn.btn-primary {
  background: var(--tri-gradient) !important;
  box-shadow: 0 4px 20px rgba(220,38,38,0.4) !important;
}
.hero-modern.hero-tri .btn.btn-primary:hover {
  box-shadow: 0 8px 30px rgba(220,38,38,0.6) !important;
}

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

/* --- Badge social proof --- */
.hero-modern.hero-tri .badge-social-proof {
  background: rgba(220,38,38,0.08) !important;
  border: 1px solid rgba(220,38,38,0.2) !important;
}

/* --- Guarantee card --- */
.tri-page .guarantee-card {
  background: rgba(220,38,38,0.06) !important;
  border: 2px solid rgba(220,38,38,0.3) !important;
}
.tri-page .guarantee-card * {
  color: rgba(255,255,255,0.9) !important;
}
.tri-page .guarantee-card strong,
.tri-page .guarantee-card .guarantee-title {
  color: var(--tri-primary-strong) !important;
}

/* --- Info card (dates/places) --- */
.tri-page .info-card-hero {
  background: rgba(220,38,38,0.06) !important;
  border: 1px solid rgba(220,38,38,0.2) !important;
}
.tri-page .info-card-hero * {
  color: rgba(255,255,255,0.9) !important;
}
.tri-page .info-card-hero strong {
  color: var(--tri-primary-strong) !important;
}

/* --- Badges --- */
.tri-page .badge {
  background: rgba(220,38,38,0.1) !important;
  border: 1px solid rgba(220,38,38,0.2) !important;
  color: var(--tri-primary-strong) !important;
}
.tri-page .badge-accent {
  background: var(--tri-gradient) !important;
  color: #fff !important;
}

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

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

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

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

/* --- Cards generic --- */
.tri-page .card {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
}
.tri-page .card h3 {
  color: var(--tri-primary-strong) !important;
}

/* --- Carousel dark --- */
.tri-page .carousel {
  background: #050505 !important;
  border: 1px solid var(--bpc-border) !important;
}
.tri-page .carousel-overlay {
  background: linear-gradient(transparent, rgba(5,5,5,0.9)) !important;
}
.tri-page .carousel-overlay * {
  color: #fff !important;
}
.tri-page .carousel-btn {
  background: rgba(220,38,38,0.3) !important;
  color: #fff !important;
  border: 1px solid rgba(220,38,38,0.3) !important;
}
.tri-page .carousel-btn:hover {
  background: var(--tri-primary) !important;
}
.tri-page .carousel-dot.active {
  background: var(--tri-primary) !important;
}

/* --- Programme jour --- */
.tri-page .programme-jour {
  background: rgba(220,38,38,0.04) !important;
  border-left-color: var(--tri-primary) !important;
}
.tri-page .programme-jour h4 {
  color: var(--tri-primary-strong) !important;
}
.tri-page .programme-jour li {
  color: rgba(255,255,255,0.8) !important;
}

/* --- Social proof --- */
.tri-page .social-proof {
  background: rgba(220,38,38,0.06) !important;
  border-left-color: var(--tri-primary) !important;
}
.tri-page .social-proof * {
  color: rgba(255,255,255,0.9) !important;
}

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

/* --- FAB pulse --- */
.tri-page .fab-cta .btn {
  background: var(--tri-gradient) !important;
  box-shadow: 0 4px 20px rgba(220,38,38,0.4) !important;
}

/* --- FAQ --- */
.tri-page .faq-grid > div,
.tri-page details {
  background: var(--bpc-surface-card) !important;
  border: 1px solid var(--bpc-border) !important;
}
.tri-page details summary,
.tri-page .faq-grid h3 {
  color: var(--tri-primary-strong) !important;
}

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

/* Cards with color:black inline */
.tri-page [style*="color: black"] {
  color: #0F172A !important;
}
.tri-page [style*="color: black"] * {
  color: #0F172A !important;
}
.tri-page [style*="color: black"] [style*="color: var(--bpc-accent)"],
.tri-page [style*="color: black"] strong[style*="color"] {
  color: #DC2626 !important;
}

/* --- Footer --- */
.tri-page footer {
  background: #050505 !important;
  border-top: 1px solid var(--bpc-border) !important;
}

/* --- Section dividers --- */
.tri-page section + section {
  border-top: 1px solid rgba(220,38,38,0.1) !important;
}
