/*
Theme Name: Hello Child AI — Cabinet Profi
Theme URI:    https://cabinet-profi.fr/
Description:  Thème enfant Hello Elementor. Design system fluide (vw/dvh/clamp).
Author:       Crealab
Template:     hello-elementor
Version:      2.0.0
*/

/* === 1. FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');

/* === 2. VARIABLES CSS — DESIGN SYSTEM ÉLASTIQUE === */
:root {
  /* Couleurs */
  --color-bg: #0B1628;
  --color-border: #233659;
  --color-text: #F5F1E8;
  --color-accent: #C9A961;
  --color-accent-strong: #B8943D;
  --color-accent-soft: #EBDFB8;
  --color-accent-on: #0B1628;
  --color-warning: #FBBF24;
  /* Variables manquantes (palette complète design system) */
  --color-bg-alt:      #0F1E3A;
  --color-surface:     #17294A;
  --color-text-muted:  #9AA9C2;
  --color-text-inverse: var(--color-bg);
  --color-danger:      #F87171;
  --color-success:     #4ADE80;
  --color-info:        #60A5FA;

  /* Polices */
  --font-sans: "Inter Tight", -apple-system, Roboto, Arial, sans-serif;
  --font-serif: "Playfair Display", serif;

  /* Typographie fluide (entre 320px et 1440px) */
  --fs-2xs: clamp(0.6875rem, 0.625rem + 0.3125vw, 0.8125rem)!important;
  --fs-xs:  clamp(0.75rem, 0.6875rem + 0.3125vw, 0.875rem)!important;
  --fs-sm:  clamp(0.875rem, 0.8rem + 0.375vw, 1rem)!important;
  --fs-base:clamp(1rem, 0.9rem + 0.5vw, 1.125rem)!important;
  --fs-lg:  clamp(1.125rem, 0.95rem + 0.875vw, 1.5rem)!important;
  --fs-xl:  clamp(1.375rem, 1.1rem + 1.375vw, 2rem)!important;
  --fs-2xl: clamp(1.75rem, 1.3rem + 2.25vw, 3rem)!important;
  --fs-3xl: clamp(2.25rem, 1.6rem + 3.25vw, 4rem)!important;
  --fs-4xl: clamp(2.75rem, 1.8rem + 4.75vw, 5.5rem) !important;

  /* Hauteurs de ligne */
  --lh-tight:  1.1;
  --lh-snug:   1.3;
  --lh-normal: 1.6;

  /* Poids et tracking */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;
  --tracking-tight:  -0.02em;
  --tracking-wider:   0.1em;

  /* Espacements fluides */
  --sp-2xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  --sp-xs:  clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  --sp-sm:  clamp(0.75rem, 0.6rem + 0.75vw, 1rem);
  --sp-md:  clamp(1rem, 0.8rem + 1vw, 1.5rem);
  --sp-lg:  clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  --sp-xl:  clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
  --sp-2xl: clamp(3rem, 2.2rem + 4vw, 5.5rem);
  --sp-3xl: clamp(4rem, 2.8rem + 6vw, 8rem);

  /* Hauteurs viewport-aware (dynamic viewport height) */
  --vh-sm: clamp(20rem, 40dvh, 28rem);
  --vh-md: clamp(28rem, 60dvh, 42rem);
  --vh-lg: clamp(36rem, 80dvh, 56rem);

  /* Containers et gouttières fluides */
  --gutter:            clamp(1rem, 0.5rem + 2vw, 2.5rem);
  --container-narrow:  min(100% - var(--gutter)*2, 47.5rem);
  --container-default: min(100% - var(--gutter)*2, 72rem);
  --container-wide:    min(100% - var(--gutter)*2, 90rem);

  /* Header (fluide aussi) */
  --header-h:          clamp(4rem, 3rem + 2vw, 5.25rem);
  --header-h-scrolled: clamp(3rem, 2.5rem + 1vw, 4rem);

  /* Radius */
  --radius-sm:   0.25rem;
  --radius-md:   0.5rem;
  --radius-lg:   0.75rem;
  --radius-full: 9999px;

  /* Animation */
  --ease:      cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast:  150ms;
  --dur-base:  250ms;
  --dur-slow:  400ms;

  /* Z-index */
  --z-header: 300;
  --z-toast:  600;
}

/* === 3. RESET === */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
html:focus-within { scroll-behavior: smooth; }
body { min-height: 100dvh; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: var(--lh-normal); font-family: var(--font-sans); font-size: var(--fs-base); font-weight: var(--fw-regular); color: var(--color-text); background-color: var(--color-bg); }
img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans); font-weight: var(--fw-semibold); line-height: var(--lh-tight); letter-spacing: var(--tracking-tight); color: var(--color-text); }
h1 { font-size: var(--fs-3xl); margin-bottom: var(--sp-md); }
h2 { font-size: var(--fs-2xl); margin-bottom: var(--sp-sm); }
h3 { font-size: var(--fs-xl); margin-bottom: var(--sp-sm); }
h4 { font-size: var(--fs-lg); margin-bottom: var(--sp-xs); }
h5 { font-size: var(--fs-base); font-weight: var(--fw-medium); text-transform: uppercase; letter-spacing: var(--tracking-wider); margin-bottom: var(--sp-xs); }
h6 { font-size: var(--fs-sm); font-weight: var(--fw-medium); text-transform: uppercase; letter-spacing: var(--tracking-wider); margin-bottom: var(--sp-xs); }
p { margin-bottom: var(--sp-sm); }
a { color: var(--color-accent); text-decoration-color: transparent; text-underline-offset: 0.2em; transition: color var(--dur-fast) var(--ease), text-decoration-color var(--dur-fast) var(--ease); }
a:hover { color: var(--color-accent-strong); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--color-accent-soft) 30%, transparent); }
a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; border-radius: var(--radius-sm); }
ul, ol { padding-left: var(--sp-md); }
ul[role="list"], ol[role="list"] { list-style: none; padding: 0; }
button { cursor: pointer; background: none; border: none; }
::selection { background: var(--color-accent); color: var(--color-accent-on); }
hr { border: 0; border-top: 1px solid var(--color-border); margin: var(--sp-lg) 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }

/* === 4. DEV TOOLS (actif si body.dev-mode) === */
body.dev-mode::before { content: "DEV " attr(data-viewport); position: fixed; top: 0; left: 0; z-index: var(--z-toast); padding: var(--sp-2xs) var(--sp-xs); font-family: monospace; font-size: var(--fs-2xs); font-weight: var(--fw-bold); color: #000; background: var(--color-warning); border-bottom-right-radius: var(--radius-sm); pointer-events: none; }
body.dev-mode.dev-grid main::before { content: ""; position: fixed; inset: 0; z-index: var(--z-toast); background: linear-gradient(to right, rgba(201,169,97,0.08) 1px, transparent 1px); background-size: calc((100vw - 2 * var(--gutter)) / 12) 100%; background-position: var(--gutter) 0; pointer-events: none; }
body.dev-mode .debug-outline * { outline: 1px solid rgba(201,169,97,0.3); }
@media (min-width: 480px)  { body.dev-mode { --dev-vp: "XS 480+"; } }
@media (min-width: 640px)  { body.dev-mode { --dev-vp: "SM 640+"; } }
@media (min-width: 768px)  { body.dev-mode { --dev-vp: "MD 768+"; } }
@media (min-width: 1024px) { body.dev-mode { --dev-vp: "LG 1024+"; } }
@media (min-width: 1280px) { body.dev-mode { --dev-vp: "XL 1280+"; } }
@media (min-width: 1536px) { body.dev-mode { --dev-vp: "2XL 1536+"; } }

/* === 5. COMPOSANTS UI === */

/* Liste horaires */
.horaires-list { list-style: none; padding: 0; margin: 0; color: rgba(255,255,255,0.8); font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-base); }
.horaires-list li { display: flex; justify-content: space-between; padding: var(--sp-xs) 0; border-bottom: 1px solid rgba(255,255,255,0.05); transition: color var(--dur-base) var(--ease); }
.horaires-list li.is-today { color: var(--color-accent-soft); font-weight: var(--fw-semibold); border-bottom: 1px solid color-mix(in srgb, var(--color-accent-soft) 30%, transparent); }

/* Slider d'avis */
.profi-avis-container { display: grid; grid-template-columns: 1fr; width: 100%; max-width: var(--container-narrow); margin: 0 auto; padding: 0; text-align: center; place-items: flex-start; }
.profi-avis-slide { grid-column: 1; grid-row: 1; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--dur-slow) var(--ease), visibility var(--dur-slow) var(--ease); }
.profi-avis-slide.active { opacity: 1; visibility: visible; pointer-events: auto; }
.profi-avis-stars { color: var(--color-accent); font-size: var(--fs-lg); margin-bottom: var(--sp-md); letter-spacing: 0.1875rem; }
.profi-avis-texte { font-family: var(--font-serif); font-size: var(--fs-base); line-height: var(--lh-snug); color: var(--color-text); font-weight: var(--fw-regular); font-style: italic; margin-bottom: var(--sp-md); padding: 0 var(--sp-md); }
.profi-avis-texte p:first-child::before { content: '"'; margin-right: 0.4rem; color: var(--color-accent); font-size: 3em; vertical-align: -0.4em; line-height: 0; }
.profi-avis-texte p:last-child::after { content: '"'; margin-left: 0.4rem; color: var(--color-accent); font-size: 3em; vertical-align: -0.4em; line-height: 0; }
.profi-avis-meta { font-family: var(--font-sans); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.0625rem; color: rgba(255,255,255,0.5); }
.profi-avis-meta strong { color: var(--color-accent); font-weight: var(--fw-semibold); }

/* Reset Elementor pour icônes */
.elementor-icon-wrapper { line-height: 1 !important; }

/* === 6. HEADER STICKY + ÉTAT SCROLL === */
header.elementor-location-header { position: sticky; top: 0; z-index: var(--z-header); min-height: var(--header-h); transition: min-height var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease); backdrop-filter:blur(10px); background-color: color-mix(in srgb, var(--color-bg) 60%, transparent); }

#badgeGoogle{width: clamp(18rem, 5vw, 30rem) !important; font-size: var(--fs-base) !important; margin-left:calc(-1 * var(--sp-lg)); align-items:center; justify-content:center; vertical-align:center; padding: var(--sp-xs);  }
#badgeGoogle > div{line-height: 1}
#badgeGoogle .rating-stars{font-size:var(--fs-sm) !important; }
.soft{color: var(--e-global-color-primary);}
button.bouton{width: max-content !important}

.itemTemps:before{content: ''; height: 0.7rem; width: 0.7rem; background-color: var(--e-global-color-primary); display: block; position: absolute; margin-left: -1.4rem; margin-top: 0.2rem; border-radius: 10rem;}
.itemTemps.hold:before{background-color:#767a83 }
.etiquette ul li{ background-color:#c4a47c40; padding:0.3rem 1rem !important; border-radius:100rem; border:solid 1px #c4a47c60; font-size:1rem !important }
.etiquette ul li span{font-size:1rem !important}

.tag-partenariat .etiquette ul li:nth-child(1){display: flex !important;}
.tag-temoignage .etiquette ul li:nth-child(2){display: flex !important;}
.tag-viedelexperte .etiquette ul li:nth-child(3){display: flex !important;}

/* === Dual CTA === */
.cta-dual { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-sm, 0.875rem); margin: var(--sp-lg, 2rem) 0; }
.cta-dual__primary { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.75rem; background: var(--e-global-color-accent, #C9A961); color: var(--e-global-color-secondary, #0B1628); font-family: var(--e-global-typography-text-font-family, "Inter Tight"), sans-serif; font-weight: 600; font-size: var(--fs-base, 1rem); border-radius: 0.25rem; text-decoration: none; transition: transform 200ms ease, background-color 200ms ease; }
.cta-dual__primary:hover { background: #fff; transform: translateY(-1px); color: var(--e-global-color-secondary, #0B1628); }
.cta-dual__primary svg { transition: transform 200ms ease; }
.cta-dual__primary:hover svg { transform: translateX(3px); }
.cta-dual__secondary { display: inline-flex; align-items: center; padding: 0.25rem 0; color: var(--e-global-color-accent, #C9A961); font-family: var(--e-global-typography-text-font-family, "Inter Tight"), sans-serif; font-weight: 500; font-size: var(--fs-sm, 0.875rem); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-accent, #C9A961) 30%, transparent); transition: border-color 200ms ease, color 200ms ease; }
.cta-dual__secondary:hover { color: #fff; border-bottom-color: #fff; }
@media (min-width: 640px) {
    .cta-dual { flex-direction: row; align-items: center; gap: var(--sp-lg, 2rem); }
}
.cpc-whatsapp-float{background-color: var(--soft) !important;}
.cpc-whatsapp-float:hover{box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3), 0 4px 10px #9a81497d !important;}

.grecaptcha-badge{display: none !important;}

/* === 7. WPFORMS — TUNNEL DE QUALIFICATION === */
/* Spécificité boostée via .wpforms-container.form-tunnel-qualification pour dépasser
   les règles natives WPForms render-modern qui surchargent sinon. */

/* 7.1 Scope, fonts, base + OVERRIDE des CSS vars natives WPForms render-modern */
.wpforms-container.form-tunnel-qualification { background: transparent; padding: 0; --wpforms-button-background-color: var(--color-accent); --wpforms-button-background-color-alt: var(--color-text); --wpforms-button-text-color: var(--color-accent-on); --wpforms-button-text-color-alt: var(--color-bg); --wpforms-button-border-color: var(--color-accent); --wpforms-button-border-color-alt: var(--color-text); --wpforms-page-break-color: var(--color-accent); --wpforms-page-break-color-alt: var(--color-accent-strong); --wpforms-field-text-color: var(--color-text); --wpforms-field-border-color: var(--color-border); --wpforms-field-border-color-spare: var(--color-border); --wpforms-field-background-color: rgba(255,255,255,0.04); --wpforms-label-color: var(--color-text); --wpforms-label-error-color: var(--color-danger); --wpforms-label-sublabel-color: var(--color-text-muted); --wpforms-container-border-color: transparent; }
.wpforms-container.form-tunnel-qualification .wpforms-form { font-family: var(--font-sans); font-size: var(--fs-base); color: var(--color-text); }

/* 7.2 Progress bar */
.wpforms-container.form-tunnel-qualification .wpforms-page-indicator { margin-bottom: var(--sp-lg); }
.wpforms-container.form-tunnel-qualification .wpforms-page-indicator-page-progress { background: rgba(255,255,255,0.06); border-radius: var(--radius-full); height: 6px; margin-bottom: var(--sp-sm); overflow: hidden; }
.wpforms-container.form-tunnel-qualification .wpforms-page-indicator-page-progress { background: var(--color-accent) !important; height: 100%; border-radius: var(--radius-full); transition: width 400ms var(--ease); }
.wpforms-container.form-tunnel-qualification .wpforms-page-indicator-page-title { color: var(--color-text-muted) !important; font-size: var(--fs-2xs); font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: var(--tracking-wider); margin: 0; }

/* 7.3 Titres de pages + intro (sans direct child, le H4 est dans un wrapper Lead Form) */
.wpforms-container.form-tunnel-qualification .wpforms-page h4 { font-family: var(--font-serif) !important; font-style: italic; font-size: var(--fs-xl); font-weight: var(--fw-medium); color: var(--color-text) !important; margin: 0 0 var(--sp-xs); line-height: var(--lh-tight); letter-spacing: 0; }
.wpforms-container.form-tunnel-qualification .wpforms-page p { color: var(--color-text-muted) !important; font-size: var(--fs-base); margin-bottom: var(--sp-lg); }

/* 7.4 Field wrappers, labels & descriptions */
.wpforms-container.form-tunnel-qualification .wpforms-field { padding: 0 0 var(--sp-md); margin: 0; }
.wpforms-container.form-tunnel-qualification .wpforms-field-label { color: var(--color-text); font-family: var(--font-sans); font-weight: var(--fw-semibold); font-size: var(--fs-base); margin: 0 0 var(--sp-xs); display: block; line-height: var(--lh-snug); }
.wpforms-container.form-tunnel-qualification .wpforms-required-label { color: var(--color-accent); margin-left: 0.25em; font-weight: var(--fw-bold); }
.wpforms-container.form-tunnel-qualification .wpforms-field-description { color: var(--color-text-muted); font-size: var(--fs-sm); font-style: italic; margin-top: var(--sp-2xs); line-height: var(--lh-snug); }
.wpforms-container.form-tunnel-qualification .wpforms-field-sublabel { color: var(--color-text-muted); font-size: var(--fs-xs); margin-top: 0.25rem; font-weight: var(--fw-regular); }

/* 7.5 Inputs text, email, tel, number, url, textarea, select */
.wpforms-container.form-tunnel-qualification input[type="text"], .wpforms-container.form-tunnel-qualification input[type="email"], .wpforms-container.form-tunnel-qualification input[type="tel"], .wpforms-container.form-tunnel-qualification input[type="number"], .wpforms-container.form-tunnel-qualification input[type="url"], .wpforms-container.form-tunnel-qualification textarea, .wpforms-container.form-tunnel-qualification select { background: rgba(255,255,255,0.04); color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 0.75rem 1rem; font-family: var(--font-sans); font-size: var(--fs-base); width: 100%; line-height: var(--lh-snug); transition: border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); -webkit-appearance: none; appearance: none; }
.wpforms-container.form-tunnel-qualification input::placeholder, .wpforms-container.form-tunnel-qualification textarea::placeholder { color: rgba(245,241,232,0.35); }
.wpforms-container.form-tunnel-qualification textarea { min-height: 6rem; resize: vertical; line-height: var(--lh-normal); }
.wpforms-container.form-tunnel-qualification input:hover, .wpforms-container.form-tunnel-qualification textarea:hover, .wpforms-container.form-tunnel-qualification select:hover { border-color: color-mix(in srgb, var(--color-accent) 50%, transparent); }
.wpforms-container.form-tunnel-qualification input:focus, .wpforms-container.form-tunnel-qualification textarea:focus, .wpforms-container.form-tunnel-qualification select:focus { background: rgba(255,255,255,0.06); border-color: var(--color-accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 20%, transparent); }

/* 7.6 Radios & checkboxes — transformés en cards cliquables */
.wpforms-container.form-tunnel-qualification .wpforms-field-radio ul, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox ul, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; gap: var(--sp-xs); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio li, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox li, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox li { position: relative; }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio input[type="radio"], .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: none; }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio label, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox label, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox label { display: flex; align-items: center; gap: var(--sp-sm); background: rgba(255,255,255,0.03); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 0.75rem 1rem; cursor: pointer; transition: background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); font-weight: var(--fw-regular); margin: 0; font-size: var(--fs-base); line-height: var(--lh-snug); color: var(--color-text); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio label::before, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox label::before, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox label::before { content: ""; flex-shrink: 0; width: 1.125rem; height: 1.125rem; border: 1px solid var(--color-border); transition: border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio label::before { border-radius: 50%; }
.wpforms-container.form-tunnel-qualification .wpforms-field-checkbox label::before, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox label::before { border-radius: var(--radius-sm); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio label:hover, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox label:hover, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox label:hover { background: rgba(255,255,255,0.05); border-color: color-mix(in srgb, var(--color-accent) 50%, transparent); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio input:checked + label, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox input:checked + label, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox input:checked + label { background: color-mix(in srgb, var(--color-accent) 10%, transparent); border-color: var(--color-accent); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio input:checked + label::before { background: var(--color-accent); border-color: var(--color-accent); box-shadow: inset 0 0 0 3px var(--color-bg-alt); }
.wpforms-container.form-tunnel-qualification .wpforms-field-checkbox input:checked + label::before, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox input:checked + label::before { background: var(--color-accent); border-color: var(--color-accent); }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio input:focus-visible + label, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox input:focus-visible + label, .wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox input:focus-visible + label { box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 25%, transparent); }

/* 7.7 Radio inline (silo_projet) → reste en 1 colonne sur mobile, 1 sur desktop aussi pour lisibilité 5 items */
.wpforms-container.form-tunnel-qualification .wpforms-list-inline ul { grid-template-columns: 1fr; }

/* 7.8 Radio 2 colonnes (delai_souhaite, statut_juridique) — uniquement desktop */
@media (min-width: 640px) {
    .wpforms-container.form-tunnel-qualification .wpforms-list-2-columns ul { grid-template-columns: 1fr 1fr; }
}

/* 7.9 GDPR — encadré subtil pour le distinguer */
.wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox label { background: rgba(201,169,97,0.05); border-color: color-mix(in srgb, var(--color-accent) 30%, transparent); }
.wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox .wpforms-field-description { color: var(--color-text-muted); font-size: var(--fs-sm); padding: 0; margin: var(--sp-xs) 0 var(--sp-sm); font-style: normal; }
.wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox .wpforms-field-description a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 0.2em; }
.wpforms-container.form-tunnel-qualification .wpforms-field-gdpr-checkbox .wpforms-field-description a:hover { color: var(--color-accent-strong); }

/* 7.10 Sous-champs (Name first/last, Email confirmation) — grid responsive */
.wpforms-container.form-tunnel-qualification .wpforms-field-row { display: grid; grid-template-columns: 1fr; gap: var(--sp-sm); margin: 0; }
@media (min-width: 480px) { .wpforms-container.form-tunnel-qualification .wpforms-field-row { grid-template-columns: 1fr 1fr; } }
.wpforms-container.form-tunnel-qualification .wpforms-field-row-block { padding: 0; margin: 0; }

/* 7.11 Boutons Next / Previous / Submit */
.wpforms-container.form-tunnel-qualification .wpforms-page-button, .wpforms-container.form-tunnel-qualification button[type="submit"].wpforms-submit { font-family: var(--font-sans); font-weight: var(--fw-semibold); font-size: var(--fs-base); padding: 0.875rem 1.75rem; border-radius: var(--radius-sm); border: 1px solid var(--color-accent); cursor: pointer; transition: background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease), transform var(--dur-fast) var(--ease), border-color var(--dur-base) var(--ease); letter-spacing: 0.01em; line-height: 1; display: inline-flex; align-items: center; justify-content: center; min-width: 8rem; }
.wpforms-container.form-tunnel-qualification button[type="submit"].wpforms-submit, .wpforms-container.form-tunnel-qualification .wpforms-page-button.wpforms-page-next { background: var(--color-accent); color: var(--color-accent-on); }
.wpforms-container.form-tunnel-qualification button[type="submit"].wpforms-submit:hover, .wpforms-container.form-tunnel-qualification .wpforms-page-button.wpforms-page-next:hover { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); transform: translateY(-1px); }
.wpforms-container.form-tunnel-qualification .wpforms-page-button.wpforms-page-prev { background: transparent; color: var(--color-accent); }
.wpforms-container.form-tunnel-qualification .wpforms-page-button.wpforms-page-prev:hover { background: rgba(201,169,97,0.08); color: var(--color-text); border-color: var(--color-text); }
.wpforms-container.form-tunnel-qualification .wpforms-submit-container { margin-top: var(--sp-md); padding: 0; text-align: left; background: transparent; }
.wpforms-container.form-tunnel-qualification .wpforms-pagebreak-bottom { display: flex; gap: var(--sp-sm); flex-wrap: wrap; margin-top: var(--sp-md); justify-content: flex-end; }
.wpforms-container.form-tunnel-qualification .wpforms-submit-spinner { margin-left: 0.5rem; }

/* 7.12 Erreurs */
.wpforms-container.form-tunnel-qualification input.wpforms-error, .wpforms-container.form-tunnel-qualification textarea.wpforms-error, .wpforms-container.form-tunnel-qualification select.wpforms-error { border-color: var(--color-danger, #F87171); background: color-mix(in srgb, var(--color-danger, #F87171) 5%, transparent); }
.wpforms-container.form-tunnel-qualification label.wpforms-error, .wpforms-container.form-tunnel-qualification em.wpforms-error { color: var(--color-danger, #F87171); font-size: var(--fs-sm); font-style: normal; font-weight: var(--fw-medium); margin-top: 0.375rem; display: block; }
.wpforms-container.form-tunnel-qualification .wpforms-field-radio.wpforms-error label, .wpforms-container.form-tunnel-qualification .wpforms-field-checkbox.wpforms-error label { border-color: var(--color-danger, #F87171); }

/* 7.13 Hidden fields (sécurité visuelle — au cas où) */
.wpforms-container.form-tunnel-qualification .wpforms-field-hidden, .wpforms-container.form-tunnel-qualification .wpforms-hidden { display: none !important; }

/* 7.14 Confirmation message (si tu bascules un jour le type en "message") */
.wpforms-confirmation-container-full.form-tunnel-qualification, .wpforms-container.form-tunnel-qualification + .wpforms-confirmation-container-full { background: color-mix(in srgb, var(--color-accent) 8%, var(--color-bg)); border: 1px solid color-mix(in srgb, var(--color-accent) 30%, transparent); color: var(--color-text); padding: var(--sp-lg); border-radius: var(--radius-md); }

/* 7.15 reCAPTCHA badge — au-dessus du WhatsApp flottant */
.grecaptcha-badge { z-index: var(--z-toast) !important; }
.elementor-popup-modal .dialog-close-button svg{fill: #fff !important}