/*
Theme Name: Swiss IAF
Theme URI: https://swissiaf.com
Author: Swiss Investment & Finances
Description: Custom theme for Swiss IAF
Version: 1.0.513
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: swissiaf

Last change (1.0.245): Modular Services spacing + picto + auto separator. See THEME_CHANGELOG.md.
*/

/* --------------------------------------------------------------------------
   Thème canvas (piloté par page-bg-color.js + luminance de --page-bg-color)
   html[data-iaf-theme="light"|"dark"] — contenu sur fond transparent = ces tokens.
   Exceptions : surfaces opaques locales (ex. blocs blancs du header landing).
   -------------------------------------------------------------------------- */
:root {
  --iaf-section-bg-leman-50: #c2d1de;
  --iaf-canvas-text: #1e1e1e;
  --iaf-canvas-heading: #114e6d;
  --iaf-canvas-accent: #2398ff;
  --iaf-canvas-border: rgba(17, 78, 109, 0.35);
  --iaf-canvas-border-strong: #114e6d;
  /* Figma interaction — Primary 1 (Léman Blue 100), Dissolve + Gentle, 1200ms */
  --iaf-primary-1: #2398ff;
  /* Texte clair sur fonds sombres (= charte « White » #EEEEEE, pas blanc pur). */
  --iaf-text-on-dark: #eeeeee;
  --iaf-interaction-hover-duration: 1200ms;
  --iaf-interaction-hover-easing: cubic-bezier(0.25, 0.8, 0.25, 1);
  /* Fond global body + surfaces liées (ex. cartes iaf-slides) — plus lent que hover UI. */
  --iaf-page-bg-transition-duration: 1100ms;
  --iaf-page-bg-transition-easing: cubic-bezier(0.25, 0.8, 0.25, 1);

  /* Breakpoints — align nav.js (1023/1024) and @media literals in component CSS. */
  --iaf-bp-tablet: 1023px;
  --iaf-bp-desktop: 1024px;
  --iaf-bp-phone: 768px;

  /* Mobile layout padding (tablet defaults; phone overrides in mobile-responsive.css). */
  --iaf-layout-padding-inline-tablet: 24px;
  --iaf-layout-padding-block-tablet: 64px;
  --iaf-layout-padding-inline-phone: 20px;
  --iaf-layout-padding-block-phone: 56px;
  --iaf-mobile-module-gap: 48px;
  --iaf-mobile-stack-gap: 24px;
}

html[data-iaf-theme='dark'] {
  --iaf-canvas-text: #eeeeee;
  --iaf-canvas-heading: #eeeeee;
  --iaf-canvas-accent: #2398ff;
  --iaf-canvas-border: rgba(161, 211, 255, 0.4);
  --iaf-canvas-border-strong: rgba(255, 255, 255, 0.55);
}

/* Ne pas cibler `.iaf-ext` ici : même élément que `.iaf-reveal` → le shorthand
   `transition` écrasait opacity/transform et cassait reveal + parallax (iaf_text). */
html[data-iaf-theme] .iaf-header__item {
  transition:
    color 0.25s ease,
    text-decoration-color 0.25s ease,
    border-color var(--iaf-interaction-hover-duration) var(--iaf-interaction-hover-easing),
    fill var(--iaf-interaction-hover-duration) var(--iaf-interaction-hover-easing);
  color: var(--iaf-primary-1, #2398ff);
}

html[data-iaf-theme] .iaf-header__item.is-current,
html[data-iaf-theme] .iaf-header__item[aria-current='page'] {
  color: var(--iaf-canvas-heading, #114e6d);
  text-decoration: underline;
}

/* Logo header — lockup charte d’origine (fixe, hors nav adaptative). */
.iaf-header__logo svg .cls-1 {
  fill: #1d1d1b;
}

.iaf-header__logo svg .cls-2 {
  fill: #2398ff;
}

body {
  margin: 0;
  background-color: var(--page-bg-color, #eeeeee);
  transition: background-color var(--iaf-page-bg-transition-duration)
    var(--iaf-page-bg-transition-easing);
}

@media (prefers-reduced-motion: reduce) {
  body {
    transition: none;
  }
}

/* Les pages pilotées par les extensions gèrent leur propre espace interne
   (ex. IAF_Header_Landing en 100vh). Pas de padding-top global sur #main. */

