/* MADABRIDGE UGC — IDENTITÉ DE MARQUE V4
   Colors derived from the client's official logo: navy #1E2E5C, green #4D712F.
   This layer overrides V3 visual styles without changing forms/API behavior. */
:root{
 --brand-navy:#1e2e5c;--brand-navy-dark:#172443;--brand-green:#4d712f;--brand-green-deep:#3d5d24;
 --brand-green-soft:#eaf2e5;--brand-mist:#f4f7fa;--brand-line:#dfe7ee;
 --ink:#1e2e5c;--deep:#1e2e5c;--dark:#1e2e5c;--paper:#ffffff;--light:#f4f7fa;
 --muted:#626d81;--line:#dfe7ed;--lime:#bad69b;--violet:#e8ecf4;
 --peach:#f4f7fa;--teal:#edf4ea;--r:17px;--shadow:0 12px 40px #1e2e5c12;
}
body{background:#fff;color:var(--brand-navy)}
h1,h2,h3,h4{letter-spacing:-.047em}
::selection{background:#dae8cb;color:#1e2e5c}
.site-header{background:rgba(255,255,255,.97);color:var(--brand-navy);border-bottom:1px solid var(--brand-line);box-shadow:0 2px 18px #1e2e5c09;backdrop-filter:blur(18px)}
.nav-inner{min-height:85px;padding-top:8px;padding-bottom:8px;max-width:1380px}
.logo{display:inline-flex;align-items:center;padding:0!important;line-height:1}
.logo .brand-logo{display:block;width:244px;max-width:none;height:auto;max-height:63px;object-fit:contain}
.navlink{color:#35435f;font-weight:700}.navlink:hover,.navlink.active{color:var(--brand-green)}
.navlink.active{position:relative}.navlink.active:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:3px;background:var(--brand-green)}
.menu-toggle{color:var(--brand-navy);border-color:#bfcbd6}
.btn{background:var(--brand-green);color:white;box-shadow:0 6px 12px #4d712f12}
.btn:hover{background:var(--brand-green-deep);box-shadow:0 9px 22px #4d712f32}
.btn.dark{background:var(--brand-navy);color:#fff}.btn.dark:hover{background:#2b406e}
.btn.outline{border-color:#1e2e5c;color:var(--brand-navy);background:white}.btn.outline:hover{background:#f1f5fa;color:var(--brand-navy);box-shadow:none}
.btn.white{background:#fff;color:var(--brand-navy)}
.btn:focus-visible,.navlink:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#8caf73}
.eyebrow{color:var(--brand-green)}.eyebrow:before{background:var(--brand-green)}
.hero{background:linear-gradient(118deg,#f9fbfd 0%,#fff 53%,#edf4ef 100%);color:var(--brand-navy)}
.hero:before{background:radial-gradient(circle at 92% 12%,#bfd5b359,transparent 40%),radial-gradient(circle at 25% 100%,#e9effa82,transparent 36%)}
.hero-inner{padding-top:77px;padding-bottom:83px;gap:62px}
.hero-copy h1{max-width:740px;font-size:clamp(2.75rem,5vw,5.4rem);line-height:1.09}
.hero-copy h1 em{color:var(--brand-green)}
.hero-copy p{color:#4b5a72;max-width:590px;font-size:1.12rem}
.hero-copy .eyebrow,.hero .eyebrow{color:var(--brand-green)!important}
.hero-metrics{color:#425470;letter-spacing:.035em;font-weight:800;gap:12px 20px;margin-top:35px}
.hero-metrics span:before{color:var(--brand-green);content:'✓';font-weight:900}
.hero-visual{min-height:475px}.hero-board{height:465px}
.visual-beauty,.visual-auto,.visual-tech{border:5px solid #fff;box-shadow:0 18px 47px #1e2e5c31;border-radius:17px}
.visual-beauty{height:411px}.visual-auto{height:269px}.visual-tech{height:240px}
.visual-label{background:#1e2e5ce6}.floating-chip{background:var(--brand-green);color:#fff;box-shadow:0 12px 28px #4d712f26}
.section{padding-top:88px;padding-bottom:88px}.section.tinted{background:#f4f7fa}.section.dark{background:var(--brand-navy)}
.strip{background:var(--brand-navy);color:#fff}
.service-card,.info-card,.catalog-card,.step-card,.stat-band>div{border-color:var(--brand-line);background:white}
.service-card .icon-disc{background:var(--brand-green-soft);color:var(--brand-green)}
.service-card .card-no{color:var(--brand-green)}
.service-card p,.section-head p{color:var(--muted)}
.info-card .symbol{color:var(--brand-green)}
.tag.lime{background:var(--brand-green-soft);color:var(--brand-green-deep)}
.tag.dark{color:var(--brand-navy);border-color:#ccd5e3}
.stat-band>div{border-color:var(--brand-line)}.stat-band strong{color:var(--brand-green)}
.dark-feature{background:#263b61;border-color:#456186}.dark-feature .num{color:#d5eac5}
.cta-panel{background:linear-gradient(110deg,var(--brand-navy),#29426a 64%,#3e662f);color:white}
.cta-panel p{color:#e3eaf1}.cta-panel:after{border-color:#ffffff10}.cta-panel .eyebrow{color:#cbe4bb}
.cta-panel .btn.dark{background:#fff;color:var(--brand-navy)}.cta-panel .btn.dark:hover{background:#edf2f6}
.site-footer{background:#172443;color:#fff}.site-footer p,.footer-grid p{color:#bec9dc}.footer-grid a{color:#ced8e7}.footer-grid a:hover{color:#c2e5a8}.footer-base{border-top-color:#425477;color:#acbcd2}
.site-footer .brand-logo{filter:brightness(0) invert(1)}
.page-hero{background:linear-gradient(115deg,var(--brand-navy-dark),#2b446b);color:white}
.page-hero:after{background:#a4bd8d30}
.page-hero .eyebrow{color:#b8d69d!important}
.aside-card.purple{background:linear-gradient(130deg,#1e2e5c,#365c44);color:#fff}
.aside-card.purple .eyebrow{color:#d0e8ba}
.v3-pathways{background:#f4f7fa;border-color:#e1e7ee}
.v3-path-heading p{color:#5b697d}
.v3-path-fast{background:linear-gradient(140deg,#1e2e5c,#2b4775);color:white}
.v3-path-build{background:#eaf2e5;border:1px solid #cdddc6;color:var(--brand-navy)}
.v3-path-fast .path-kicker{color:#d0e6bd}.v3-path-build .path-kicker{color:var(--brand-green)}
.v3-path-build .path-symbol{background:#d5e7ca;color:#365a2c}
.v3-path-build p{color:#4b5c58}.v3-path-build .path-action{border-color:#c4d8bc}
.path-foot{color:#5d6b7e}
.v3-floating-selection a{background:#fff;color:var(--brand-navy);border-color:#cad7df}
.v3-floating-selection.has-items a{background:#eaf2e5;color:var(--brand-navy)}
.v3-floating-selection strong{background:var(--brand-green)}
.v3-mobile-bar{background:#fff;box-shadow:0 -8px 30px #1e2e5c18}
.v3-mobile-bar a{border-color:#d0dfca;color:var(--brand-navy)}
.v3-mobile-bar .bar-primary{background:var(--brand-green);border-color:var(--brand-green)}
.v3-quote-hero{background:linear-gradient(115deg,#172443,#2c426d 66%,#355b37)}
.v3-quote-hero .eyebrow{color:#b8d69d!important}
.v3-quote-hero h1 span{color:#bfdca8!important}
.v3-quote-benefits{color:#e3ebf5}
.v3-quote-section{background:#f4f7fa}
.v3-quote-main{border-color:#dce5ed;box-shadow:0 10px 30px #1e2e5c0c}
.v3-section-top{border-color:#e0e7ee}.v3-section-top p{color:#5c6c7f}
.v3-form .field label:not(.choice){color:var(--brand-navy)}
.v3-form input:not([type=checkbox]),.v3-form select,.v3-form textarea{color:var(--brand-navy);background:#fcfdff;border-color:#cbd5df}
.v3-form :is(input,select,textarea):focus-visible{outline-color:#b6d2a1;border-color:#6d9757}
.v3-quote-selected{background:#eef4eb;border-color:#d2e0ca}
.v3-select-heading a,.v3-detailed-link{color:var(--brand-green)}
.v3-selected-chip{border-color:#ccdbca}.v3-selected-chip button{background:#e3efe0;color:#3c5d30}
.v3-side-card{background:var(--brand-navy)}.v3-side-card .eyebrow{color:#cde6b7}
.v3-side-card li:before{color:#c3e6a8}
.v3-side-card.soft{background:#eff3f8;border-color:#dbe4ed;color:var(--brand-navy)}
.v3-side-card.soft .eyebrow{color:var(--brand-green)}
.v3-side-card.soft p{color:#5b6b7f}
.v3-brief-alternative{background:#ebf3e7;border-color:#d4e2cd}
.v3-selection-hint,.v3-contact-quote{background:#eef4ea;border-color:#cddfc5;color:#294a2a}
.v3-thanks-main{background:#f4f7fa}.v3-thanks-card{border-color:#dbe3ed}
.v3-thanks-symbol{background:#e7f2e0;color:var(--brand-green)}
.v3-confirm-ref{background:#f2f6f9;border-color:#aebbd2}
/* Filter & grid details across catalog and casting */
.catalog-note,.catalog-body p{color:#606e83}.stat-pill{background:#e8f1e4;color:var(--brand-navy)}
.filter-dock{background:white;border-color:#dce5ed;box-shadow:0 9px 30px #1e2e5c0a}
.catalog-card{border-color:#dde5ee;box-shadow:0 4px 16px #1e2e5c0a}
.catalog-card:hover{box-shadow:0 14px 32px #1e2e5c1a}
/* Final safety: hover and responsiveness */
a:hover{text-decoration-thickness:2px}
@media(max-width:1250px){.logo .brand-logo{width:200px}.nav-inner{gap:15px}.nav-links{gap:14px}}
@media(max-width:1020px){.logo .brand-logo{width:174px}.nav-links{gap:10px}}
@media(max-width:860px){.nav-inner{min-height:72px}.logo .brand-logo{width:190px}.navlink.active:after{display:none}.nav-links{background:#fff;color:var(--brand-navy);border-color:#e0e8f0}.menu-toggle{color:var(--brand-navy)}.hero-inner{padding-top:53px;padding-bottom:63px}.hero-visual{min-height:360px}}
@media(max-width:620px){.logo .brand-logo{width:166px}.hero-inner{gap:20px}.hero-copy h1{font-size:clamp(2.5rem,11vw,3.7rem)}.hero-copy p{font-size:1rem}.hero-metrics{gap:9px 16px}.hero-visual{min-height:315px}.hero-board{height:310px}.visual-beauty{height:269px}.visual-auto{height:177px}.visual-tech{height:158px}.floating-chip{padding:10px 12px;font-size:.65rem}.cta-panel{padding:31px}}

/* V4.1 — Correctif accessibilité des boutons secondaires.
   La règle héritée .light-outline dans styles.css imposait color:white!important
   alors que le thème de marque donne un fond blanc aux boutons secondaires.
   Le texte est désormais bleu marine (#1E2E5C), visible dans toutes les pages. */
.btn.outline.light-outline,
.page-hero .hero-buttons .btn.outline.light-outline {
  background:#fff;
  color:var(--brand-navy) !important;
  border-color:#aebbd0 !important;
}
.btn.outline.light-outline:hover,
.page-hero .hero-buttons .btn.outline.light-outline:hover {
  background:#f1f5fa;
  color:var(--brand-navy) !important;
  border-color:var(--brand-navy) !important;
}
.btn.outline.light-outline:focus-visible {
  color:var(--brand-navy) !important;
  outline:3px solid #8caf73;
  outline-offset:3px;
}

/* Madabridge V0.7.1 — cases de consentement des formulaires V5.
   Le label etait en flex; ses noeuds texte anonymes se comportaient comme
   plusieurs colonnes. Le label devient un bloc avec une case positionnee a gauche.
   Ne modifie ni la validation required ni le JavaScript d'envoi. */
label.choice:has(> input[type="checkbox"][name="privacy"]) {
    display: block !important;
    position: relative !important;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 14px 16px 14px 51px !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: normal;
    font-size: 15px;
    line-height: 1.55 !important;
}
label.choice:has(> input[type="checkbox"][name="privacy"]) > input[name="privacy"] {
    position: absolute !important;
    top: 17px !important;
    left: 16px !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: none !important;
    accent-color: #4D712F;
}
label.choice:has(> input[type="checkbox"][name="privacy"]) a,
label.choice:has(> input[type="checkbox"][name="privacy"]) a u {
    display: inline !important;
    white-space: normal !important;
    font: inherit;
    color: #1E2E5C;
    text-decoration: underline;
}
@media (max-width: 480px) {
    label.choice:has(> input[type="checkbox"][name="privacy"]) {
        padding: 12px 12px 12px 44px !important;
        font-size: 14px;
    }
    label.choice:has(> input[type="checkbox"][name="privacy"]) > input[name="privacy"] {
        left: 13px !important;
        top: 15px !important;
        width: 18px !important;
        height: 18px !important;
    }
}
