/* ==========================================================================
   Pages fonctionnalites : mise en page dediee (alignement d'origine retabli le 09/10/2026 a la demande du client) (chargee uniquement sur /fonctionnalites/)
   - contenu aligne a gauche sur une colonne de lecture, comme la page Tarifs
   - un seul bleu (#0a1628) et un seul orange (#fd7020) partout
   - rythme vertical resserre, sur-titres decoratifs retires des sections
   ========================================================================== */
html:not([data-ld-portal]) {
  --ld-blue: #0a1628;
  --ld-orange: #fd7020;
  --ld-orange-soft: #fff4ec;
  --ld-text: #425466;
  --ld-muted: #6b7a8c;
  --ld-section-y: 64px;
  --ink: var(--ld-blue);
  --ink-3: var(--ld-text);
  --accent: var(--ld-orange);
  --accent-2: var(--ld-orange);
}

/* Pastilles du héros */
html:not([data-ld-portal]) .hero .hero-tags { margin-top: 24px !important; gap: 8px !important; }
html:not([data-ld-portal]) .hero .hero-tags > * {
  background: #fff !important;
  border: 1px solid var(--line, #e3e8ee) !important;
  color: var(--ld-text) !important;
  font-size: 0.875rem !important;
}

/* Sur-titres en pastille : retires des en-tetes de section et du hero quand un fil d'Ariane existe */
html:not([data-ld-portal]) .section-head .eyebrow,
html:not([data-ld-portal]) .sec-head .eyebrow,
html:not([data-ld-portal]) .section-head > .eyebrow.muted,
html:not([data-ld-portal]) .hero:has(.crumb) .eyebrow:not(.on-dark) {
  display: none !important;
}

/* En-tetes de section : espacement (alignement d'origine conserve) */
html:not([data-ld-portal]) .section-head,
html:not([data-ld-portal]) .sec-head { margin-bottom: 32px !important; }
html:not([data-ld-portal]) .section-head h2,
html:not([data-ld-portal]) .sec-head h2 { margin-top: 0 !important; margin-bottom: 12px !important; }

/* Paragraphes : meme mesure, meme interligne, meme espacement partout */
html:not([data-ld-portal]) main p,
html:not([data-ld-portal]) section > .container > p,
html:not([data-ld-portal]) section > .container > div > p { line-height: 1.7; }
html:not([data-ld-portal]) section > .container > p,
html:not([data-ld-portal]) .section-head + p,
html:not([data-ld-portal]) .seo-textblock p { max-width: 46rem; }
html:not([data-ld-portal]) p + p { margin-top: 14px; }
html:not([data-ld-portal]) h2 + p,
html:not([data-ld-portal]) h3 + p { margin-top: 0; }
html:not([data-ld-portal]) h3 { margin-bottom: 8px; }

/* Bloc de texte SEO de bas de page : aligne a gauche, filet de separation */
html:not([data-ld-portal]) .seo-textblock,
html:not([data-ld-portal]) .seo-textblock h2,
html:not([data-ld-portal]) .seo-textblock p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
html:not([data-ld-portal]) section.seo-textblock { border-top: 1px solid var(--line-2, #eef2f6); }
html:not([data-ld-portal]) .seo-textblock h2 { font-size: 1.375rem !important; margin-bottom: 12px !important; }
html:not([data-ld-portal]) .seo-textblock p { color: var(--ld-text) !important; font-size: 0.9375rem !important; }

/* Grilles de cartes : remplissage regulier, plus de carte orpheline */
html:not([data-ld-portal]) .feat-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 20px !important;
}
html:not([data-ld-portal]) .feat-card { padding: 24px !important; }
html:not([data-ld-portal]) .feat-card .icon {
  background: var(--ld-orange-soft) !important;
  color: var(--ld-orange) !important;
  border-radius: 8px !important;
}
html:not([data-ld-portal]) .feat-card p { color: var(--ld-text) !important; }

/* Etapes : liste compacte numerotee */
html:not([data-ld-portal]) .steps { display: grid !important; gap: 12px !important; max-width: none !important; }
html:not([data-ld-portal]) .step {
  padding: 18px 22px !important;
  border: 1px solid var(--line, #e3e8ee) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  background: #fff !important;
}
html:not([data-ld-portal]) .step h3,
html:not([data-ld-portal]) .step h4 { margin: 0 0 4px !important; font-size: 1.0625rem !important; color: var(--ld-blue) !important; }
html:not([data-ld-portal]) .step p { margin: 0 !important; color: var(--ld-text) !important; font-size: var(--ld-fs-card) !important; }

/* Pastilles de statut des modules : discretes, aux couleurs de la marque */
html:not([data-ld-portal]) .mod-badge {
  background: var(--ld-orange-soft) !important;
  color: #c44a0c !important;
  border: 0 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
}

/* FAQ */
html:not([data-ld-portal]) .faq summary::marker { color: var(--ld-orange); }

/* Onglets techniques */
html:not([data-ld-portal]) .tech-list li { color: var(--ld-text) !important; }

/* Couleurs : liens et accents uniformes */
html:not([data-ld-portal]) main a:not(.btn):not([class*="card"]):not(.ld-hero-int-item) { color: var(--ld-orange); }
html:not([data-ld-portal]) .cta-banner:not(.light),
html:not([data-ld-portal]) section.dark { background: var(--ld-blue) !important; background-image: none !important; }
html:not([data-ld-portal]) .hero:has(.hero-grid) p.lead { max-width: 38rem !important; }

/* Pastilles decoratives retirees hors accueil et bandeaux sombres */
html:not([data-ld-portal]) section:not(.hero) .eyebrow:not(.on-dark),
html:not([data-ld-portal]) .cat-label { display: none !important; }html:not([data-ld-portal]) .steps { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; }
html:not([data-ld-portal]) { --ld-section-y: 56px; }
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) { padding-bottom: 24px !important; }

/* Bloc SEO de bas de page : meme colonne que le contenu (bord gauche du conteneur) */
html:not([data-ld-portal]) section.seo-textblock {
  max-width: min(1160px, calc(100% - 2.5rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html:not([data-ld-portal]) section.seo-textblock h2,
html:not([data-ld-portal]) section.seo-textblock p { max-width: 46rem !important; }html:not([data-ld-portal]) section.seo-textblock { padding-left: 24px !important; padding-right: 24px !important; }
