/* ════ Thème visuel BES 2026 — d'après la maquette de Codex (maquettes-site, 28/09/2026) ════
   Couche chargée EN DERNIER sur les pages publiques : elle ne change que l'apparence.
   HTML, formulaires, configurateur, catalogue, avis, espace client : rien n'est modifié.
   Revenir à l'ancien visuel = retirer la ligne « theme-2026.css » des pages. */

:root{
  --ink:#071a33;--ink-2:#10294a;--ink-3:#0d2545;
  --lime:#72e33f;--lime-hover:#87f253;
  --navy:#071a33;--navy-dark:#06172c;--navy-light:#10294a;
  --green:#3fa034;--green-dark:#2f8226;--green-light:#e9f7e3;
  --yellow:#72e33f;--amber:#72e33f;--warm:#3fa034;
  --bg:#f4f7f8;--bg-alt:#edf1f3;--surf:#fff;--surf-warm:#f4f7f8;--surf-alt:#edf1f3;--surface:#fff;
  --border:#dce3e9;--border-light:#e7ecf0;
  --text:#172436;--text-dim:#4f5d6c;--text-muted:#647386;
  --font-display:'Manrope','DM Sans',system-ui,sans-serif;--font:'Manrope','DM Sans',system-ui,sans-serif;
  --r:2px;--r-lg:2px;--r-xl:2px;--radius:2px;--radius-lg:2px;
  --shadow:0 7px 24px rgba(7,26,51,.07);--shadow-lg:0 18px 55px rgba(6,24,46,.13);--shadow-sm:0 2px 8px rgba(7,26,51,.06);
}
html,body{font-family:'Manrope','DM Sans',system-ui,sans-serif}
body{background:var(--bg);background-image:none;color:var(--text)}
h1,h2,h3,h4,h5{font-family:'Manrope',system-ui,sans-serif}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}

/* ── Menu ─────────────────────────────────────────────── */
.v-nav{background:rgba(7,26,51,.97);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:none;height:78px}
.v-nav-logo img{background:#fff;padding:3px 4px;border-radius:2px}
.v-nav-brand{font-family:'Manrope',sans-serif;color:#fff;font-weight:800;letter-spacing:-.01em}
.v-nav-brand span{font-family:'Manrope',sans-serif;color:var(--lime);letter-spacing:.12em}
.v-nav-link{font-family:'Manrope',sans-serif;color:#d7e0e8;text-transform:none;letter-spacing:0;font-size:13px;font-weight:700;border-radius:0;background:transparent}
.v-nav-link:hover{color:#fff;background:transparent}
.v-nav-link.active,.v-nav-link[aria-current]{color:#fff;background:transparent;box-shadow:inset 0 -2px 0 var(--lime)}
.v-nav-dropdown-toggle{color:#d7e0e8}
.v-nav-dropdown-panel{border:0;border-top:3px solid var(--lime);border-radius:0;box-shadow:var(--shadow-lg)}
.v-nav-dropdown-panel a{border-radius:0;color:var(--ink)}
.v-nav-dropdown-panel a:hover,.v-nav-dropdown-panel a:focus{background:var(--bg-alt)}
.v-nav-dropdown-panel strong,.v-nav-dropdown-panel span{font-family:'Manrope',sans-serif}
.v-nav-cta,.v-nav-mobile .v-nav-cta{background:var(--lime);color:var(--ink);border-radius:0;font-family:'Manrope',sans-serif;font-weight:800}
.v-nav-cta:hover{background:var(--lime-hover);color:var(--ink)}
.v-nav-cta-outline{border-radius:0;border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.v-nav-cta-outline:hover{background:#fff;color:var(--ink)}
@media(max-width:768px){
  .v-nav{height:68px}
  .public-mobile-toggle,.v-mobile-toggle{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;border-radius:0}
  .public-mobile-menu,.v-mobile-menu{background:var(--ink);border-top:1px solid rgba(255,255,255,.1)}
  .public-mobile-menu a,.v-mobile-menu a{color:#fff;border-bottom-color:rgba(255,255,255,.12);font-family:'Manrope',sans-serif}
}

/* ── Petits intitulés au-dessus des titres : trait vert, sans pastille ── */
.v-hero-eyebrow,.v-section-label,.s-hero-badge,.s-section-badge,.cat-hero-label{
  display:inline-flex;align-items:center;gap:12px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  color:var(--green-dark);font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase
}
.v-hero-eyebrow::before,.v-section-label::before,.s-hero-badge::before,.s-section-badge::before,.cat-hero-label::before{
  content:"";width:28px;height:2px;background:currentColor;flex:none
}
.v-hero .v-hero-eyebrow,.s-hero .s-hero-badge,.v-process .v-section-label,.v-chiffres .v-section-label{color:var(--lime);background:none}
.v-section-header{padding-left:0}
.v-section-header::before,.s-section-header::before{display:none}

/* ── Grands bandeaux d'en-tête ─────────────────────────── */
.v-hero,.s-hero{background:var(--ink);border-bottom:0}
.v-hero::after{background:linear-gradient(90deg,#071a33fc 0%,#071a33f0 50%,#071a33cc 100%)}
@media(max-width:900px){.v-hero::after{background:#071a33eb}}
.s-hero::before{background:none}
.s-hero-has-photo::after{background:linear-gradient(90deg,#071a33fa 0%,#071a33e6 50%,#071a3370 100%)}
.v-hero-inner,.s-hero-inner{border-left:0;padding-left:0}
.v-hero h1,.s-hero h1{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.05em;line-height:1}
.v-hero h1{font-size:clamp(2.6rem,5.6vw,5rem)}
.s-hero h1{font-size:clamp(2.3rem,5vw,4.2rem)}
.v-hero h1 em,.v-hero h1 .hl-green,.v-hero h1 .hl-warm,.s-hero h1 em{color:var(--lime)}
.v-hero-sub,.s-hero-sub{color:#d4dde6}
.v-hero-divider{background:var(--lime)}
.v-hero-trust-item .t-icon{background:var(--lime);color:var(--ink)}
.v-hero-loc-item{color:#aebdcb}
.s-hero-back{color:#aebdcb}

/* ── Boutons : angles droits, vert vif sur fond sombre ── */
.btn-hero-primary,.btn-cta-primary,.btn-devis,.btn-submit,.btn-sim,.btn-cat-devis{
  background:var(--lime);color:var(--ink);border:0;border-radius:0;font-family:'Manrope',sans-serif;font-weight:800;box-shadow:none
}
.btn-hero-primary:hover,.btn-cta-primary:hover,.btn-devis:hover,.btn-submit:hover,.btn-sim:hover,.btn-cat-devis:hover{background:var(--lime-hover);color:var(--ink)}
.btn-hero-outline,.btn-cta-outline{border-radius:0;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-family:'Manrope',sans-serif;font-weight:800}
.btn-hero-outline:hover,.btn-cta-outline:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-savoir-plus{border-radius:0;border-color:var(--ink);color:var(--ink);font-family:'Manrope',sans-serif;font-weight:800}
.btn-savoir-plus:hover{background:var(--ink);color:#fff}
.form-back-btn{border-radius:0}

/* ── Sections et titres ───────────────────────────────── */
.v-section-title,.s-section-title,.v-bretagne-content h2{font-family:'Manrope',sans-serif;font-weight:800;color:var(--ink);letter-spacing:-.04em;line-height:1.08}
.v-section-title{font-size:clamp(2rem,4vw,3.3rem)}
.s-section-title{font-size:clamp(1.9rem,3.6vw,3rem)}
.v-section-title em,.s-section-title em{color:var(--green)}
.v-section-sub,.s-section-sub{color:var(--text-muted)}
.s-section-alt{background:#fff}

/* ── Cartes : angles droits, filet vert, ombre discrète ── */
.s-card,.s-aid,.s-kpi,.s-simulator,.s-certs,.service-row,.service-card,.v-form-card,.product-card,.dept-card,.cat-card{border-radius:0}
.s-card{border:0;border-top:3px solid var(--green);box-shadow:var(--shadow)}
.s-card:hover{box-shadow:0 14px 34px rgba(7,26,51,.12)}
.s-card h4,.s-aid-title,.s-kpi-num,.s-cert-name,.s-step-content h5{color:var(--ink);font-family:'Manrope',sans-serif}
.s-card-tag,.tag-elec,.tag-irve,.tag-pv{border:0;border-radius:20px;background:#edf1f4;color:#4d5a66;padding:6px 11px;font-size:11px}
.s-aid{background:#fff;border:0;border-left:4px solid var(--green);box-shadow:var(--shadow)}
.s-aid-amount{color:var(--green-dark)}
.s-kpi{background:#fff;border:0;border-left:3px solid var(--green);box-shadow:var(--shadow)}
.s-certs{background:#fff;border:0;border-left:3px solid var(--green);box-shadow:var(--shadow)}
.s-cert-badge{border-radius:0}
.s-step-num,.step-elec .s-step-num,.step-irve .s-step-num,.step-pv .s-step-num{border-radius:0;background:var(--ink);color:var(--lime)}
.service-row{border:0;border-top:3px solid var(--green);box-shadow:var(--shadow)}
.service-row-num{color:var(--green-dark)}
.service-row-text h3{font-family:'Manrope',sans-serif;font-weight:800;color:var(--ink);letter-spacing:-.03em;text-transform:uppercase}
.service-row-list li::before{color:var(--green)}

/* ── Accueil : étapes, chiffres, territoire, équipe ──── */
.v-process{background:var(--ink);color:#fff}
.v-process .v-section-title{color:#fff}
.v-process .v-section-sub{color:#bbc7d2}
.process-step{border-radius:0;background:var(--ink-3);border:0;border-top:1px solid rgba(255,255,255,.18);box-shadow:none;color:#fff}
.process-step h3,.process-step h4{color:#fff}
.process-step p{color:#adbac6}
.process-num{border-radius:0;background:var(--lime);color:var(--ink)}
.process-icon{border-radius:0}
.v-chiffres{background:var(--ink)}
.v-chiffre{border-radius:0;border-top:3px solid var(--lime)}
.v-chiffre-num em{color:var(--lime)}
.v-bretagne{background:var(--bg-alt)}
.dept-card{border-radius:0;background:#fff;border:0;border-left:3px solid var(--green);box-shadow:var(--shadow)}
.v-bretagne-photo-badge,.v-bretagne-photo-badge2{border-radius:0}
.v-equipe-photo-card{border-radius:0}
.bretagne-perk{border-radius:0}
.v-testimonials{background:#fff}

/* ── Bandeaux d'appel : vert vif, texte bleu nuit ─────── */
.s-cta{background:var(--lime);color:var(--ink)}
.s-cta h2{color:var(--ink);font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.04em}
.s-cta p{color:#173a1a}
.s-cta .btn-cta-primary{background:var(--ink);color:#fff}
.s-cta .btn-cta-primary:hover{background:var(--ink-2);color:#fff}
.s-cta .btn-cta-outline{border-color:var(--ink);color:var(--ink)}
.s-cta .btn-cta-outline:hover{background:var(--ink);color:#fff}

/* ── Formulaires ──────────────────────────────────────── */
.v-form-section{background:var(--bg-alt)}
.v-form-card{border:0;border-top:3px solid var(--green);box-shadow:var(--shadow-lg)}
.form-field label,.form-group-label{color:var(--ink);font-family:'Manrope',sans-serif}
.form-field input,.form-field select,.form-field textarea{border-radius:0;border:1px solid #ccd6df;background:#fafbfc}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(114,227,63,.2)}
.form-progress-wrap{border-radius:0}
.form-progress-bar{background:var(--green);border-radius:0}
.form-chip{border-radius:0}
.form-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.form-section-title{color:var(--ink)}
.form-upload-area{border-radius:0}

/* ── FAQ ──────────────────────────────────────────────── */
.faq-q{color:var(--ink);font-family:'Manrope',sans-serif;font-weight:800}
.faq-q:hover{color:var(--green-dark)}
.faq-item.open .faq-arrow{color:var(--green)}

/* ── Catalogue ────────────────────────────────────────── */
.cat-card{box-shadow:var(--shadow)}
.cat-hero-title{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.04em}

/* ── Pied de page ─────────────────────────────────────── */
.v-footer{background:#06172c}
.v-footer-logo img{background:#fff;padding:3px 4px;border-radius:2px;box-shadow:none}
.v-footer-brand{font-family:'Manrope',sans-serif}
.v-footer-col h4{color:var(--lime);letter-spacing:.12em}
.v-footer-col a{color:#b6c2ce}
.v-footer-col a:hover{color:#fff}
.v-footer-bottom span{color:var(--lime)}

/* ── Blocs propres à certaines pages (styles intégrés des pages) ── */
:root{--green-light:#edf1f3}
.s-hero[class*="s-hero-"]::before{background:none}
/* Services : cartes des métiers */
.hub-card{border:0;border-radius:0;box-shadow:var(--shadow)}
.hub-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,26,51,.14)}
.hub-card-stripe,.stripe-elec,.stripe-pv,.stripe-irve,.stripe-reseau,.stripe-domotique{height:3px;background:var(--green)}
.hub-card-icon,.icon-elec,.icon-pv,.icon-irve,.icon-reseau,.icon-domotique{border-radius:0;background:var(--bg-alt);box-shadow:none}
.hub-card h2{font-family:'Manrope',sans-serif;color:var(--ink);letter-spacing:-.03em}
.hub-card-sub{color:var(--green-dark)}
.hub-btn,.hub-btn-elec,.hub-btn-pv,.hub-btn-irve,.hub-btn-reseau,.hub-btn-domotique{border-radius:0;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:800}
.hub-btn:hover,.hub-btn-elec:hover,.hub-btn-pv:hover,.hub-btn-irve:hover,.hub-btn-reseau:hover,.hub-btn-domotique:hover{background:var(--ink);color:#fff}
.hub-certs{background:var(--bg-alt)}
.hub-certs-title{font-family:'Manrope',sans-serif;color:var(--ink);letter-spacing:-.03em}
.hub-cert{border:0;border-radius:0;box-shadow:var(--shadow)}
.hub-cert-badge{border-radius:0}
/* Liens vers les autres services en bas des pages */
.sibling-card{border-radius:0;border:1px solid var(--border)}
.sibling-card:hover{border-color:var(--ink);box-shadow:var(--shadow)}
.sibling-title{color:var(--ink)}
/* Aides, avis, pages légales */
.aides-disclaimer{border-radius:0;border-left-color:var(--green)}
.aides-tab{border-radius:0}
.avis-card{border-radius:0;border:0;border-top:3px solid var(--green);box-shadow:var(--shadow)}
.avis-tag{border-radius:20px}
/* Encadré « Vous êtes un professionnel ? » (accueil) */
.partner-side-widget{border-radius:0;border-top:3px solid var(--lime)}
.partner-side-emoji{border-radius:0;background:var(--bg-alt)}
.partner-side-title{color:var(--ink)}
.partner-side-btn{border-radius:0;background:var(--lime);color:var(--ink);box-shadow:none;font-weight:800}
.partner-side-btn:hover{background:var(--lime-hover)}
.partner-side-fab{background:var(--lime);color:var(--ink)}
/* Configurateur de borne : action principale en vert vif */
.irve-configurator,.irve-recommendation{border-radius:0}
.irve-recommendation.offer-1,.irve-recommendation.offer-2,.irve-recommendation.offer-3,.irve-recommendation.offer-4{--offer-color:var(--lime)}
.irve-result-primary{color:var(--ink);border-radius:0}
/* Bouton principal habillé en bouton transparent par un style intégré (page Partenaires) */
.btn-hero-primary[style*="rgba(255,255,255"]{color:#fff}
.btn-hero-primary[style*="rgba(255,255,255"]:hover{background:#fff !important;color:var(--ink)}
