/* Idéal Web — Public Brand Contrast Lock V1 — 2026-10-04
   But: empêcher les anciennes règles dark/SEO de rendre du texte clair
   sur les surfaces blanches de la famille iw-brand-surface-v1.
   Cette couche NE change pas la palette: elle verrouille uniquement
   le contraste selon le type de surface. */

body.iw-brand-surface-v1{
  --iw-lock-ink:#10261f;
  --iw-lock-copy:#52655d;
  --iw-lock-green:#0f8442;
  --iw-lock-green-dark:#0a6036;
  --iw-lock-mint:#8addbb;
  --iw-lock-deep:#052d25;
  --iw-lock-deepest:#03241f;
  --iw-lock-line:#d7e3dd;
  --iw-lock-soft:#f6f9f7;
}

/* 1. SURFACES CLAIRES — source de vérité visuelle. */
body.iw-brand-surface-v1 main > section:not(.hero):not(.catalog-hero):not(.mother-hero):not(.city-hero):not(.reviews-hero):not(.page-hero):not(.seo-hero):not(.pricing-hero),
body.iw-brand-surface-v1 main > .section,
body.iw-brand-surface-v1 main > .content-section,
body.iw-brand-surface-v1 main > .section-pad{
  color:var(--iw-lock-ink)!important;
}

body.iw-brand-surface-v1 main > section:not(.hero):not(.catalog-hero):not(.mother-hero):not(.city-hero):not(.reviews-hero):not(.page-hero):not(.seo-hero):not(.pricing-hero) :is(.section-head h2,.section-heading h2,h2,h3,h4,strong),
body.iw-brand-surface-v1 main > :is(.section,.content-section,.section-pad) :is(.section-head h2,.section-heading h2,h2,h3,h4,strong){
  color:var(--iw-lock-ink)!important;
  -webkit-text-fill-color:currentColor!important;
}

body.iw-brand-surface-v1 main > section:not(.hero):not(.catalog-hero):not(.mother-hero):not(.city-hero):not(.reviews-hero):not(.page-hero):not(.seo-hero):not(.pricing-hero) :is(.section-head p,.section-heading p,p,li,dd),
body.iw-brand-surface-v1 main > :is(.section,.content-section,.section-pad) :is(.section-head p,.section-heading p,p,li,dd){
  color:var(--iw-lock-copy)!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Cartes claires : empêche les anciens .card h3/.card p sombres de gagner. */
body.iw-brand-surface-v1 main :is(.card,.panel,.offer,.related-card,.faq-item,.faq details,.job-card,.strategy-card,.benefits-grid article,.choice-card){
  color:var(--iw-lock-ink)!important;
}
body.iw-brand-surface-v1 main :is(.card,.panel,.offer,.related-card,.faq-item,.faq details,.job-card,.strategy-card,.benefits-grid article,.choice-card) :is(h2,h3,h4,strong,summary){
  color:var(--iw-lock-ink)!important;
  -webkit-text-fill-color:currentColor!important;
}
body.iw-brand-surface-v1 main :is(.card,.panel,.offer,.related-card,.faq-item,.faq details,.job-card,.strategy-card,.benefits-grid article,.choice-card) :is(p,li,span,dd){
  color:var(--iw-lock-copy)!important;
  -webkit-text-fill-color:currentColor!important;
}
body.iw-brand-surface-v1 main :is(.card,.panel,.offer,.related-card,.faq-item,.faq details,.job-card,.strategy-card,.benefits-grid article,.choice-card) a:not(.btn):not(.button){
  color:var(--iw-lock-green-dark)!important;
}

/* Notes et liens éditoriaux sur fond clair. */
body.iw-brand-surface-v1 main .iw-note{
  background:#eef8f1!important;
  border-color:#cbe3d6!important;
  color:#28483b!important;
}
body.iw-brand-surface-v1 main .iw-note :is(strong,b){color:var(--iw-lock-deep)!important}
body.iw-brand-surface-v1 main .iw-inline-links a{
  background:#f3f9f5!important;
  border-color:#cbe3d6!important;
  color:var(--iw-lock-green-dark)!important;
}
body.iw-brand-surface-v1 main .iw-inline-links a:hover{
  background:#eaf6ef!important;
  border-color:#8fc8aa!important;
  color:var(--iw-lock-deep)!important;
}

/* 2. HERO SOMBRE — texte clair volontaire. */
body.iw-brand-surface-v1 main :is(.hero,.catalog-hero,.mother-hero,.city-hero,.reviews-hero,.page-hero,.seo-hero,.pricing-hero){
  color:#f4f7f5!important;
}
body.iw-brand-surface-v1 main :is(.hero,.catalog-hero,.mother-hero,.city-hero,.reviews-hero,.page-hero,.seo-hero,.pricing-hero) :is(h1,h2,h3,h4,strong){
  color:#f4f7f5!important;
  -webkit-text-fill-color:currentColor!important;
}
body.iw-brand-surface-v1 main :is(.hero,.catalog-hero,.mother-hero,.city-hero,.reviews-hero,.page-hero,.seo-hero,.pricing-hero) :is(p,li,.lead,.hero-lead,.hero-sub,.service-areas){
  color:#c9d9d2!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Résumé tarifaire placé DANS le hero : carte sombre et lisible. */
body.iw-brand-surface-v1 main .hero .iw-price-summary .card,
body.iw-brand-surface-v1 main .pricing-hero .iw-price-summary .card{
  background:rgba(244,247,245,.07)!important;
  border-color:rgba(138,221,187,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.14)!important;
}
body.iw-brand-surface-v1 main .hero .iw-price-summary .card strong,
body.iw-brand-surface-v1 main .pricing-hero .iw-price-summary .card strong{color:#f4f7f5!important}
body.iw-brand-surface-v1 main .hero .iw-price-summary .card span,
body.iw-brand-surface-v1 main .pricing-hero .iw-price-summary .card span{color:#c9d9d2!important}

/* 3. COMPOSANTS SOMBRES volontaires à préserver. */
body.iw-brand-surface-v1 main :is(.cta-card,.cta-final,.split-panel,.iw-price-table-wrap){
  color:#f4f7f5!important;
}
body.iw-brand-surface-v1 main :is(.cta-card,.cta-final,.split-panel,.iw-price-table-wrap) :is(h2,h3,h4,strong,th){
  color:#f4f7f5!important;
  -webkit-text-fill-color:currentColor!important;
}
body.iw-brand-surface-v1 main :is(.cta-card,.cta-final,.split-panel,.iw-price-table-wrap) :is(p,li,td,span){
  color:#cbd8d2!important;
  -webkit-text-fill-color:currentColor!important;
}
body.iw-brand-surface-v1 main .iw-price-table-wrap .iw-yes{color:#8addbb!important}
body.iw-brand-surface-v1 main .iw-price-table-wrap .iw-muted{color:#a8b7b0!important}

/* 4. Bloc “Votre site professionnel n’est que le début” : clair, pas dark hérité. */
body.iw-brand-surface-v1 main .iw-pro-seo-section{
  background:linear-gradient(180deg,#f6f9f7,#eef6f2)!important;
  border-top:1px solid #dbe7e1!important;
  border-bottom:1px solid #dbe7e1!important;
  color:var(--iw-lock-ink)!important;
}
body.iw-brand-surface-v1 main .iw-pro-seo-section .iw-pro-kicker{
  color:var(--iw-lock-green-dark)!important;
  background:#eaf6ef!important;
  border-color:#cbe3d6!important;
}
body.iw-brand-surface-v1 main .iw-pro-seo-section .iw-pro-head h2{color:var(--iw-lock-ink)!important}
body.iw-brand-surface-v1 main .iw-pro-seo-section .iw-pro-head p{color:var(--iw-lock-copy)!important}
body.iw-brand-surface-v1 main .iw-pro-seo-section .iw-pro-card{
  background:#fff!important;
  border-color:#d7e3dd!important;
  box-shadow:0 12px 34px rgba(3,36,31,.065)!important;
}
body.iw-brand-surface-v1 main .iw-pro-seo-section .iw-pro-card h3{color:var(--iw-lock-ink)!important}
body.iw-brand-surface-v1 main .iw-pro-seo-section .iw-pro-card p{color:var(--iw-lock-copy)!important}

/* 5. Footer reste sombre. */
body.iw-brand-surface-v1 :is(.footer,.iw-seo-footer) :is(h2,h3,h4,strong){color:#f4f7f5!important}
body.iw-brand-surface-v1 :is(.footer,.iw-seo-footer) :is(p,li,span){color:#c7d7d0!important}
body.iw-brand-surface-v1 :is(.footer,.iw-seo-footer) a{color:#c7d7d0!important}
body.iw-brand-surface-v1 :is(.footer,.iw-seo-footer) a:hover{color:#8addbb!important}

/* 6. Mobile : aucune baisse de contraste. */
@media(max-width:720px){
  body.iw-brand-surface-v1 main > section:not(.hero):not(.catalog-hero):not(.mother-hero):not(.city-hero):not(.reviews-hero):not(.page-hero):not(.seo-hero):not(.pricing-hero) :is(p,li,dd){
    color:#465b52!important;
  }
}

/* 7. Icônes d'offres tarifaires : vraies icônes vectorielles, jamais le prix en guise d'icône. */
body.iw-brand-surface-v1 main #offres-prix-belgique .iw-offer-card-icon{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--iw-lock-green)!important;
  background:#eaf7ef!important;
  border:1px solid #bfe2cf!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
body.iw-brand-surface-v1 main #offres-prix-belgique .iw-offer-card-icon .iw-offer-icon{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.iw-brand-surface-v1 main #offres-prix-belgique .card.featured .iw-offer-card-icon{
  color:var(--iw-lock-green-dark)!important;
  background:#e3f5eb!important;
  border-color:#a8d7bd!important;
}


/* 8. GOLD V25 — composants clairs réellement rendus sur fond clair.
   Un .seo-map dans la surface publique claire n'est PAS un composant sombre.
   Les mini-labels hors hero utilisent un contraste vert foncé / fond vert pâle. */
body.iw-brand-surface-v1 main > section:not(.hero):not(.catalog-hero):not(.mother-hero):not(.city-hero):not(.reviews-hero):not(.page-hero):not(.seo-hero):not(.pricing-hero) .mini-label{
  color:var(--iw-lock-green-dark)!important;
  -webkit-text-fill-color:var(--iw-lock-green-dark)!important;
  background:#eef8f1!important;
  border-color:#b9ddc9!important;
}
body.iw-brand-surface-v1 main .seo-map{
  color:var(--iw-lock-ink)!important;
  background:linear-gradient(135deg,#eef8f2 0%,#f8fbfa 58%,#eef6f7 100%)!important;
  border-color:#bcdccb!important;
  box-shadow:0 16px 44px rgba(3,36,31,.07)!important;
}
body.iw-brand-surface-v1 main .seo-map :is(h2,h3,h4,strong){
  color:var(--iw-lock-ink)!important;
  -webkit-text-fill-color:var(--iw-lock-ink)!important;
}
body.iw-brand-surface-v1 main .seo-map :is(p,span){
  color:var(--iw-lock-copy)!important;
  -webkit-text-fill-color:var(--iw-lock-copy)!important;
}
body.iw-brand-surface-v1 main .seo-map .mini-label{
  color:var(--iw-lock-green-dark)!important;
  -webkit-text-fill-color:var(--iw-lock-green-dark)!important;
  background:#e5f5ec!important;
  border-color:#acd8bf!important;
}
body.iw-brand-surface-v1 main .seo-map .seo-path a{
  color:var(--iw-lock-green-dark)!important;
  -webkit-text-fill-color:var(--iw-lock-green-dark)!important;
  background:#fff!important;
  border-color:#cfe1d8!important;
  box-shadow:none!important;
}
body.iw-brand-surface-v1 main .seo-map .seo-path a:hover{
  color:var(--iw-lock-deep)!important;
  -webkit-text-fill-color:var(--iw-lock-deep)!important;
  background:#eaf6ef!important;
  border-color:#8fc8aa!important;
}
body.iw-brand-surface-v1 main .seo-map .seo-path a strong{
  color:var(--iw-lock-green)!important;
  -webkit-text-fill-color:var(--iw-lock-green)!important;
}
