/* =====================================================================
   Aurizeo — charte graphique pour Divi (v1.0)
   Couleurs, polices, sections, boutons, cartes, formulaire, en-tête, pied de page.
   Les classes az-* sont posées dans les modules Divi (Avancé > Classe CSS).
   ===================================================================== */

/* ---------- Polices (licence SIL OFL, hébergées sur le site) ---------- */
@font-face { font-family: "Lexend"; src: url("fonts/lexend-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Lexend"; src: url("fonts/lexend-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Lexend"; src: url("fonts/lexend-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("fonts/atkinson-hyperlegible-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

/* ---------- Jetons de la charte ---------- */
:root {
  --orange: #F3862A;          /* identité : aplats, jamais en texte sur blanc */
  --orange-action: #B84A06;   /* boutons, liens */
  --orange-clair: #FFEBD9;
  --petrole: #0E3A47;
  --ciel: #CFE6EE;
  --surface: #FFFFFF;
  --brume: #EEF4F5;
  --ink: #1A2A30;
  --ink-muted: #4F6169;
  --line: #D3DFE2;
  --line-strong: #7A8E95;
  --success: #1E7347; --success-soft: #E3F2EA;
  --error: #B3261E;   --error-soft: #FBE6E4;
  --font-titre: Lexend, "Trebuchet MS", Arial, sans-serif;
  --font-texte: "Atkinson Hyperlegible", Verdana, Arial, sans-serif;
  --radius-sm: 8px; --radius-lg: 16px;
  --focus-ring: 0 0 0 2px #FFFFFF, 0 0 0 5px #0E3A47;
}

/* ---------- Base ---------- */
body, body #page-container, body #page-container p, body #page-container li,
body #page-container input, body #page-container textarea, body #page-container select {
  font-family: var(--font-texte);
}
body #page-container { color: var(--ink); font-size: 18px; line-height: 1.55; }
body #page-container .et_pb_text, body #page-container p { font-size: 18px; line-height: 28px; color: var(--ink); }
body #page-container p { padding-bottom: 16px; }
body #page-container p:last-child { padding-bottom: 0; }
body #page-container h1, body #page-container h2, body #page-container h3, body #page-container h4 {
  font-family: var(--font-titre); font-weight: 600; color: var(--ink); text-transform: none; text-wrap: balance; padding-bottom: 0;
}
body #page-container h1 { font-size: 48px; line-height: 56px; letter-spacing: -0.01em; margin-bottom: 16px; }
body #page-container h2 { font-size: 34px; line-height: 42px; margin-bottom: 16px; }
body #page-container h3 { font-size: 24px; line-height: 32px; margin-bottom: 8px; }
body #page-container a { color: var(--orange-action); text-decoration: underline; text-underline-offset: 3px; }
body #page-container ul { padding-left: 1.2em; }
body #page-container li { margin-bottom: 6px; }
body #page-container small, body #page-container .az-petit { font-size: 15px; line-height: 22px; color: var(--ink-muted); }

/* Focus clavier visible partout */
body a:focus-visible, body button:focus-visible, body input:focus-visible, body textarea:focus-visible,
body select:focus-visible, body summary:focus-visible, body [tabindex]:focus-visible, body .et_pb_toggle_title:focus-visible {
  outline: 2px solid transparent !important; box-shadow: var(--focus-ring) !important; border-radius: 4px;
}

/* Lien d'évitement */
.az-skip { position: absolute; left: 16px; top: -100px; z-index: 100000; background: var(--petrole); color: #fff !important; padding: 12px 20px; border-radius: var(--radius-sm); font-weight: 700; text-decoration: none; }
.az-skip:focus { top: 16px; }

/* ---------- Sections ---------- */
body #page-container .et_pb_section.az-section { padding: 96px 0; background-color: var(--surface); }
body #page-container .et_pb_section.az-section--brume { background-color: var(--brume); }
body #page-container .et_pb_section.az-section--petrole { background-color: var(--petrole); }
body #page-container .et_pb_section.az-section--compact { padding: 32px 0; }
body #page-container .az-section .et_pb_row { width: 90%; max-width: 1200px; padding: 0; }
body #page-container .az-section .et_pb_row + .et_pb_row { margin-top: 32px; }
@media (max-width: 980px) {
  body #page-container .et_pb_section.az-section { padding: 64px 0; }
  body #page-container .et_pb_section.az-section--compact { padding: 24px 0; }
  body #page-container h1 { font-size: 34px; line-height: 42px; }
  body #page-container h2 { font-size: 28px; line-height: 36px; }
  body #page-container h3 { font-size: 21px; line-height: 28px; }
  body #page-container .az-section .et_pb_column { margin-bottom: 24px; }
  body #page-container .az-section .et_pb_column:last-child { margin-bottom: 0; }
}

/* Textes sur fond pétrole */
body #page-container .az-section--petrole, body #page-container .az-section--petrole p,
body #page-container .az-section--petrole h2, body #page-container .az-section--petrole h3,
body #page-container .az-section--petrole li { color: #FFFFFF; }
body #page-container .az-section--petrole a:not(.et_pb_button) { color: #FFFFFF; }

/* Titre de section : surtitre + titre + chapo */
body #page-container .az-etiquette { font-family: var(--font-texte); font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--orange-action); padding-bottom: 8px; }
body #page-container .az-section--petrole .az-etiquette { color: var(--orange); }
body #page-container .az-chapo { font-size: 21px; line-height: 32px; max-width: 46em; }
body #page-container .az-heading { max-width: 820px; }

/* ---------- Boutons (module Bouton, classe az-btn) ---------- */
body #page-container .et_pb_button.az-btn {
  display: inline-flex; align-items: center; min-height: 48px; padding: 10px 24px !important;
  font-family: var(--font-texte) !important; font-size: 18px !important; line-height: 24px !important; font-weight: 700 !important;
  border: 2px solid var(--orange-action) !important; border-radius: var(--radius-sm) !important;
  background: var(--orange-action) !important; color: #FFFFFF !important; text-decoration: none !important; letter-spacing: 0 !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body #page-container .et_pb_button.az-btn:hover { background: var(--petrole) !important; border-color: var(--petrole) !important; padding: 10px 24px !important; }
body #page-container .et_pb_button.az-btn:after, body #page-container .et_pb_button.az-btn:before { display: none !important; }
body #page-container .et_pb_button.az-btn--secondaire { background: var(--surface) !important; color: var(--petrole) !important; border-color: var(--line-strong) !important; }
body #page-container .et_pb_button.az-btn--secondaire:hover { background: var(--brume) !important; border-color: var(--petrole) !important; }
body #page-container .et_pb_button.az-btn--inverse { background: #FFFFFF !important; color: var(--petrole) !important; border-color: #FFFFFF !important; }
body #page-container .et_pb_button.az-btn--inverse:hover { background: var(--orange) !important; border-color: var(--orange) !important; color: var(--ink) !important; }
/* Boutons côte à côte dans une colonne « az-actions » */
body #page-container .az-actions .et_pb_button_module_wrapper { display: inline-block; margin: 8px 12px 0 0; }

/* ---------- Pictogrammes ---------- */
.az-pastille { width: 64px; height: 64px; border-radius: 50%; background: var(--ciel); display: grid; place-items: center; margin-bottom: 16px; color: var(--petrole); }
.az-pastille svg { width: 32px; height: 32px; }
.az-pastille--num { font-family: var(--font-titre); font-weight: 700; font-size: 26px; color: var(--petrole); }
.az-ico { width: 22px; height: 22px; vertical-align: -5px; margin-right: 8px; color: var(--petrole); flex: none; }
.az-section--petrole .az-ico { color: #FFFFFF; }

/* ---------- Cartes (module Texte, classe az-card) ---------- */
body #page-container .et_pb_text.az-card { background: var(--brume); border-radius: var(--radius-lg); padding: 24px; margin-bottom: 0; height: 100%; }
body #page-container .et_pb_text.az-card--blanc { background: var(--surface); }
body #page-container .az-card h3 { margin-bottom: 8px; }
body #page-container .az-card p { font-size: 17px; line-height: 26px; }
/* Colonnes de même hauteur (rangée avec « Égaliser la hauteur des colonnes ») */
body #page-container .et_pb_equal_columns > .et_pb_column { display: flex; flex-direction: column; }
body #page-container .et_pb_equal_columns > .et_pb_column > .az-card { flex: 1; }

/* Chiffres clés */
body #page-container .az-chiffre .az-nombre { font-family: var(--font-titre); font-weight: 700; font-size: 56px; line-height: 60px; color: var(--orange-action); display: block; margin-bottom: 8px; }
body #page-container .az-chiffre small { display: block; margin-top: 8px; }

/* Bandeau de confiance */
body #page-container .az-trust p { display: flex; flex-wrap: wrap; gap: 12px 32px; font-weight: 700; }
body #page-container .az-trust span { display: inline-flex; align-items: center; }

/* Images et vidéo */
body #page-container .az-image img, body #page-container .az-video, body #page-container .az-video iframe { border-radius: var(--radius-lg); overflow: hidden; }

/* Tableau comparatif */
body #page-container .az-table { overflow-x: auto; }
body #page-container .az-table table { width: 100%; border-collapse: collapse; border: 0; font-size: 17px; }
body #page-container .az-table th, body #page-container .az-table td { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
body #page-container .az-table thead th { background: var(--petrole); color: #FFFFFF; font-weight: 700; }
body #page-container .az-table tbody th { font-weight: 700; color: var(--ink); background: transparent; }

/* FAQ (module Bascule, classe az-toggle) */
body #page-container .et_pb_toggle.az-toggle { border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 20px 0; margin-bottom: 0; }
body #page-container .az-toggle .et_pb_toggle_title { font-family: var(--font-titre); font-size: 21px; line-height: 28px; font-weight: 600; color: var(--ink); padding-right: 40px; }
body #page-container .az-toggle .et_pb_toggle_title:before { color: var(--orange-action); font-size: 22px; right: 0; }
body #page-container .az-toggle .et_pb_toggle_content { padding-top: 12px; }

/* Témoignage */
body #page-container .az-quote blockquote { border: 0; padding: 0; margin: 0 0 16px; font-size: 21px; line-height: 32px; }
body #page-container .az-quote blockquote p { font-size: 21px; line-height: 32px; }
body #page-container .az-quote strong { display: block; }

/* Prose (pages légales) */
body #page-container .az-prose { max-width: 760px; }
body #page-container .az-prose h2 { font-size: 26px; line-height: 34px; margin-top: 32px; }

/* ---------- Formulaire de contact (classe az-form) ---------- */
body #page-container .az-form .et_pb_contact_form_label { display: block !important; position: static !important; font-weight: 700; color: var(--ink); margin-bottom: 8px; font-size: 18px; }
body #page-container .az-form .et_pb_contact p input, body #page-container .az-form .et_pb_contact p textarea {
  background: #FFFFFF !important; border: 2px solid var(--line-strong) !important; border-radius: var(--radius-sm) !important;
  color: var(--ink) !important; font-size: 18px !important; padding: 12px 14px !important; min-height: 48px;
}
body #page-container .az-form .et_pb_contact p input::placeholder, body #page-container .az-form .et_pb_contact p textarea::placeholder { color: var(--ink-muted); }
body #page-container .az-form .et_contact_error { border-color: var(--error) !important; }
body #page-container .az-form .et_pb_contact_submit {
  min-height: 48px; padding: 10px 24px !important; background: var(--orange-action) !important; color: #FFFFFF !important;
  border: 2px solid var(--orange-action) !important; border-radius: var(--radius-sm) !important; font-family: var(--font-texte) !important;
  font-size: 18px !important; font-weight: 700 !important;
}
body #page-container .az-form .et_pb_contact_submit:hover { background: var(--petrole) !important; border-color: var(--petrole) !important; }
body #page-container .az-form .et_pb_contact_submit:after { display: none !important; }
body #page-container .az-form .et-pb-contact-message { font-size: 17px; }
body #page-container .az-form .et-pb-contact-message ul { background: var(--error-soft); color: var(--error); border-radius: var(--radius-sm); padding: 12px 16px 12px 36px; }

/* ---------- En-tête (Theme Builder, classe az-header) ---------- */
body #page-container .et_pb_section.az-header { padding: 0; background: #FFFFFF; border-bottom: 1px solid var(--line); }
body #page-container .az-header .et_pb_row { width: 90%; max-width: 1200px; padding: 12px 0; }
body #page-container .az-menu .et_pb_menu__logo img { max-height: 56px; width: auto; }
body #page-container .az-menu .et-menu > li { padding-left: 12px; padding-right: 12px; }
body #page-container .az-menu .et-menu > li > a { font-family: var(--font-texte); font-size: 18px; font-weight: 700; color: var(--petrole) !important; text-decoration: none; padding-bottom: 0; }
body #page-container .az-menu .et-menu > li.current-menu-item > a { color: var(--orange-action) !important; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
body #page-container .az-menu .et-menu > li > a:hover { opacity: 1; color: var(--orange-action) !important; }
body #page-container .az-menu .et_pb_menu__wrap { justify-content: flex-end; }
body #page-container .az-menu .et-menu-nav > ul > li.az-menu-cta > a {
  background: var(--orange-action); color: #FFFFFF !important; border-radius: var(--radius-sm); padding: 12px 20px !important; text-decoration: none;
}
body #page-container .az-menu .et-menu-nav > ul > li.az-menu-cta > a:hover { background: var(--petrole); color: #FFFFFF !important; }
body #page-container .az-menu .et-menu > li.az-menu-cta { padding-right: 0; }
/* Menu mobile */
body #page-container .az-menu .mobile_menu_bar:before { color: var(--petrole); font-size: 40px; }
body #page-container .az-menu .et_mobile_menu { border-top: 3px solid var(--orange); padding: 8px 0; }
body #page-container .az-menu .et_mobile_menu li a { font-size: 18px; font-weight: 700; color: var(--petrole); padding: 14px 5%; text-decoration: none; }
body #page-container .az-menu .et_mobile_menu li.az-menu-cta a { background: var(--orange-action); color: #FFFFFF; border-radius: var(--radius-sm); margin: 8px 5%; text-align: center; }

/* ---------- Pied de page (Theme Builder, classe az-footer) ---------- */
body #page-container .et_pb_section.az-footer { background: var(--petrole); padding: 64px 0 24px; }
body #page-container .az-footer .et_pb_row { width: 90%; max-width: 1200px; padding: 0; }
body #page-container .az-footer, body #page-container .az-footer p, body #page-container .az-footer li { color: #FFFFFF; font-size: 16px; line-height: 26px; }
body #page-container .az-footer h2 { font-family: var(--font-texte); font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
body #page-container .az-footer .az-footer-nom { font-family: var(--font-titre); font-weight: 600; font-size: 34px; line-height: 40px; color: #FFFFFF; display: block; margin-bottom: 8px; }
body #page-container .az-footer ul { list-style: none; padding: 0; margin: 0; }
body #page-container .az-footer li { margin-bottom: 8px; display: flex; align-items: flex-start; }
body #page-container .az-footer a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
body #page-container .az-footer a:hover { color: var(--orange); }
body #page-container .az-footer .az-footer-bas { border-top: 1px solid rgba(255,255,255,.25); margin-top: 40px; padding-top: 20px; }
body #page-container .az-footer .az-footer-bas p { font-size: 15px; color: #FFFFFF; }
body #page-container .az-footer .az-ico { color: var(--orange); margin-top: 3px; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Liste de coordonnées avec pictogrammes (page Contact) */
body #page-container .az-liste { list-style: none; padding: 0; margin: 0 0 16px; }
body #page-container .az-liste li { display: flex; align-items: flex-start; margin-bottom: 12px; }
body #page-container .az-liste .az-ico { margin-top: 3px; }

/* Bandeau d'appel à l'action : bloc pétrole arrondi dans une section claire (le pied de page reste le seul aplat pétrole pleine largeur) */
body #page-container .az-section--cta .et_pb_row { background: var(--petrole); border-radius: var(--radius-lg); padding: 48px 40px; }
body #page-container .az-section--cta h2, body #page-container .az-section--cta p,
body #page-container .az-section--cta li { color: #FFFFFF; }
body #page-container .az-section--cta .az-etiquette { color: var(--orange); }
body #page-container .az-section--cta a:not(.et_pb_button) { color: #FFFFFF; }
@media (max-width: 980px) { body #page-container .az-section--cta .et_pb_row { padding: 32px 24px; } }
/* Vidéo : largeur de lecture confortable */
body #page-container .et_pb_video.az-video { max-width: 960px; }
@media (max-width: 980px) {
  body #page-container .az-footer .et_pb_column { margin-bottom: 32px; }
  body #page-container .az-footer .et_pb_row:last-child .et_pb_column { margin-bottom: 0; }
}

/* ---------- En-tête v1.1 : bouton « Demander une démo » posé dans l'en-tête (module Bouton, classe az-header-cta),
   indépendant du menu WordPress ---------- */
body #page-container .az-header .et_pb_column { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
body #page-container .az-header .et_pb_column > .az-menu { flex: 1 1 auto; margin-bottom: 0 !important; min-width: 0; }
body #page-container .az-header .et_pb_column > .et_pb_button_module_wrapper { margin: 0 !important; flex: none; }
@media (max-width: 980px) {
  body #page-container .az-header .et_pb_row { padding: 8px 0 12px; }
  body #page-container .az-header .et_pb_column { gap: 8px; }
  body #page-container .az-header .et_pb_column > .az-menu { flex-basis: 100%; }
  body #page-container .az-header .et_pb_column > .et_pb_button_module_wrapper { flex-basis: 100%; }
  body #page-container .az-header .et_pb_button.az-header-cta { width: 100%; justify-content: center; }
}
