/* fond blanc partagé pour les pages institutionnelles et IPTV Belgique */

body.content-light-page {
  background: #ffffff !important;
  color: #344054 !important;
}

body.content-light-page main {
  --bg-primary: #ffffff;
  --bg-secondary: #f7f9fc;
  --bg-card: #ffffff;
  --text-primary: #101828;
  --text-secondary: #475467;
  --accent-cyan: #174ea6;
  --accent-purple: #5b21b6;
  --accent-success: #15803d;
  --gradient: linear-gradient(135deg, #174ea6 0%, #5b21b6 100%);
  background: #ffffff !important;
  color: #344054 !important;
}

body.content-light-page main > section,
body.content-light-page main .section,
body.content-light-page main .content-section {
  background: #ffffff !important;
}

body.content-light-page main :is(h1, h2, h3, h4, h5, h6) {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  text-shadow: none !important;
}

body.content-light-page main :is(p, li, dt, dd, label, small, td) {
  color: #475467 !important;
  -webkit-text-fill-color: #475467 !important;
  text-shadow: none !important;
}

body.content-light-page main :is(strong, b, th) {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
}

body.content-light-page main .gradient-text {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
}

body.content-light-page main a:not(.btn-primary):not(.btn-whatsapp):not(.btn-secondary-outline):not(.vip-showcase-cta) {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  text-decoration-color: rgba(23, 78, 166, .45);
}

body.content-light-page main a:not(.btn-primary):not(.btn-whatsapp):not(.btn-secondary-outline):not(.vip-showcase-cta):hover {
  color: #0b2f6b !important;
  -webkit-text-fill-color: #0b2f6b !important;
}

/* Héros institutionnels */
body.content-light-page main :is(.legal-hero, .apropos-hero, .city-hero) {
  background:
    radial-gradient(circle at 18% 16%, rgba(23, 78, 166, .075), transparent 34%),
    radial-gradient(circle at 84% 18%, rgba(91, 33, 182, .06), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  border-bottom: 1px solid #e5eaf1 !important;
}

body.content-light-page main :is(.legal-hero, .apropos-hero, .city-hero) .hero-bg {
  display: none !important;
}

body.content-light-page main :is(.legal-hero, .apropos-hero, .city-hero) h1 {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
}

body.content-light-page main :is(.legal-hero, .apropos-hero, .city-hero) p {
  color: #475467 !important;
  -webkit-text-fill-color: #475467 !important;
}

/* Pages légales */
body.page-legal-light main .legal-content {
  background: #ffffff !important;
}

body.page-legal-light main .legal-card,
body.page-legal-light main .legal-content > .container {
  color: #344054 !important;
}

body.page-legal-light main .legal-card {
  background: #ffffff !important;
  border: 1px solid #dfe5ed !important;
  box-shadow: 0 16px 42px rgba(16, 24, 40, .07) !important;
}

body.page-legal-light main .legal-card h2,
body.page-legal-light main .legal-content h2 {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

body.page-legal-light main .legal-separator {
  background: #e8edf3 !important;
}

body.page-legal-light main .highlight-box {
  background: #f1f6ff !important;
  border-left-color: #174ea6 !important;
}

body.page-legal-light main .warning-box {
  background: #fff5f5 !important;
  border-left-color: #dc2626 !important;
}

body.page-legal-light main .step-number {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #174ea6, #5b21b6) !important;
}

body.page-legal-light main :is(.cookie-table, .privacy-table) {
  background: #ffffff !important;
  border: 1px solid #dfe5ed !important;
}

body.page-legal-light main :is(.cookie-table, .privacy-table) th {
  color: #101828 !important;
  background: #edf4ff !important;
  border-bottom-color: #d6e0ed !important;
}

body.page-legal-light main :is(.cookie-table, .privacy-table) td {
  color: #475467 !important;
  background: #ffffff !important;
  border-bottom-color: #e8edf3 !important;
}

body.page-legal-light main .code-block {
  color: #0b2f6b !important;
  -webkit-text-fill-color: #0b2f6b !important;
  background: #f7f9fc !important;
  border-color: #dfe5ed !important;
}

body.page-legal-light main .last-update {
  color: #667085 !important;
  opacity: 1 !important;
}

/* À propos */
body.page-about-light main .apropos-content,
body.page-about-light main .csp-u-221581803b,
body.page-about-light main .cta-section {
  background: #ffffff !important;
}

body.page-about-light main :is(.avantage-card, .chiffre-item, .cta-container) {
  background: #ffffff !important;
  border: 1px solid #dfe5ed !important;
  box-shadow: 0 12px 32px rgba(16, 24, 40, .06) !important;
}

body.page-about-light main :is(.avantage-card, .chiffre-item):hover {
  border-color: #9db7dc !important;
  box-shadow: 0 18px 38px rgba(16, 24, 40, .09) !important;
}

body.page-about-light main .chiffre-number {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  background: none !important;
}

body.page-about-light main .cta-title,
body.page-about-light main .cta-text {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
}

/* IPTV Belgique */
body.page-belgium-light main .city-hero {
  min-height: auto !important;
}

body.page-belgium-light main .city-hero .hero-badge {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  background: #edf4ff !important;
  border-color: #b9cce6 !important;
}

body.page-belgium-light main .city-stat {
  min-width: 130px;
  padding: .85rem 1rem;
  background: #ffffff !important;
  border: 1px solid #dfe5ed !important;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(16, 24, 40, .045);
}

body.page-belgium-light main .city-stat strong {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

body.page-belgium-light main .city-stat span {
  color: #667085 !important;
  -webkit-text-fill-color: #667085 !important;
}

body.page-belgium-light main .btn-secondary-outline,
body.page-belgium-light main .btn-secondary-outline:visited {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  background: #ffffff !important;
  border-color: #174ea6 !important;
}

body.page-belgium-light main .btn-secondary-outline:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #174ea6 !important;
}

body.page-belgium-light main .prose {
  max-width: 900px !important;
}

body.page-belgium-light main .prose h2 {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
}

body.page-belgium-light main .prose h3 {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

body.page-belgium-light main :is(
  .feature-card,
  .pricing-card,
  .region-card,
  .faq-item,
  .faq-unified-item,
  .city-cta
) {
  background: #ffffff !important;
  border: 1px solid #dfe5ed !important;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .055) !important;
}

body.page-belgium-light main :is(.feature-card, .pricing-card, .region-card):hover {
  border-color: #9db7dc !important;
  box-shadow: 0 16px 36px rgba(16, 24, 40, .09) !important;
}

body.page-belgium-light main .pricing-card.featured {
  border-color: #174ea6 !important;
  box-shadow: 0 16px 38px rgba(23, 78, 166, .10) !important;
}

body.page-belgium-light main .pricing-card .price,
body.page-belgium-light main .region-card h3 {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

body.page-belgium-light main .pricing-card .price small {
  color: #667085 !important;
  -webkit-text-fill-color: #667085 !important;
}

body.page-belgium-light main .pricing-card li::before {
  color: #15803d !important;
}

body.page-belgium-light main .fai-badge {
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  background: #edf4ff !important;
  border-color: #b9cce6 !important;
}

body.page-belgium-light main .city-cta {
  background:
    radial-gradient(circle at 20% 20%, rgba(23, 78, 166, .07), transparent 36%),
    radial-gradient(circle at 82% 70%, rgba(91, 33, 182, .06), transparent 34%),
    #ffffff !important;
}

body.page-belgium-light main :is(.faq-question, .faq-unified-question) {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  background: #ffffff !important;
}

body.page-belgium-light main :is(.faq-answer, .faq-unified-answer) {
  color: #475467 !important;
  -webkit-text-fill-color: #475467 !important;
  background: #ffffff !important;
  border-top-color: #e8edf3 !important;
}

body.page-belgium-light main .sticky-cta-mobile {
  background: rgba(255, 255, 255, .97) !important;
  border-top-color: #dfe5ed !important;
  box-shadow: 0 -4px 20px rgba(16, 24, 40, .10) !important;
}

/* Boutons principaux */
html body.content-light-page main :is(.btn-primary, .btn-whatsapp),
html body.content-light-page main :is(.btn-primary, .btn-whatsapp):visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 768px) {
  body.page-legal-light main .legal-card {
    padding: 1.5rem !important;
    border-radius: 18px !important;
  }

  body.page-about-light main .avantages-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-belgium-light main .city-stats {
    gap: .75rem !important;
  }

  body.page-belgium-light main .city-stat {
    flex: 1 1 130px;
  }
}
