/* PRO ELEC: service content and navigation, v20260910-seo1 */
.button-primary{color:var(--ink);white-space:normal}
.brand{width:185px}
.nav-wrap{gap:18px;min-height:100px}
.main-nav{gap:16px}
.main-nav a{font-size:.9rem}
.nav-cta{font-size:.86rem;padding:12px 16px;max-width:200px;flex:0 0 200px}
.service-link{display:inline-block;color:#466c06;font-weight:700;margin-top:12px;text-underline-offset:3px}
.service-page .form-header{padding:10px 0}
.service-page .form-logo{width:172px}
.service-nav{display:flex;gap:10px 25px;flex-wrap:wrap;padding-block:15px;font-size:.94rem}
.service-nav a{font-weight:700;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.service-nav a[aria-current=page],.service-nav a:hover{border-bottom-color:var(--green-dark)}
.seo-main{background:var(--light);padding:45px 0 72px}
.seo-hero{display:grid;grid-template-columns:1.22fr 1fr;gap:50px;align-items:center;margin-bottom:48px}
.seo-hero h1{font-size:clamp(2.1rem,3.45vw,3.4rem);line-height:1.12;letter-spacing:-1.2px;margin:.4em 0}
.seo-lead{font-size:1.1rem;color:var(--muted);max-width:660px}
.seo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:25px 0 16px}
.seo-actions .button{width:auto;max-width:100%}
.seo-phone{font-weight:800;text-underline-offset:4px;white-space:nowrap}
.seo-trust{font-size:.9rem;font-weight:700;color:#40532c}
.seo-hero-image{margin:0;border-radius:18px;overflow:hidden;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}
.seo-hero-image img{width:100%;height:390px;object-fit:contain;background:#edf0e9}
.seo-hero-image figcaption{font-size:.88rem;color:var(--muted);padding:14px 20px;line-height:1.5}
.seo-content{max-width:1100px}
.seo-section{display:grid;grid-template-columns:1fr 1.5fr;gap:44px;padding:42px 0;border-top:1px solid var(--line)}
.seo-section h2,.seo-form-intro h2,.seo-cta-panel h2{font-size:clamp(1.65rem,2.3vw,2.2rem);line-height:1.2;margin:.4em 0 .6em;letter-spacing:-.5px}
.seo-section h3{font-size:1.16rem;line-height:1.3;margin:12px 0}
.seo-section p{margin:0 0 16px}
.seo-section p:last-child{margin-bottom:0}
.seo-section .eyebrow{margin:0 0 12px}
.seo-section a:not(.button){color:#466c06;font-weight:700;text-underline-offset:3px}
.seo-section-stacked{display:block}
.seo-section-stacked>.seo-section-heading{margin-bottom:28px;max-width:780px}
.seo-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.seo-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}
.seo-card p{font-size:.98rem;color:var(--muted)}
.seo-step{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#edf7db;font-weight:800;color:#405e16}
.seo-local{border-bottom:1px solid var(--line)}
.seo-source{font-size:.86rem;color:var(--muted)}
.seo-faq details{background:#fff;padding:18px 22px;border:1px solid var(--line);border-radius:10px;margin:12px 0}
.seo-faq summary{cursor:pointer;font-weight:700;padding-right:10px}
.seo-faq details p{margin-top:14px}
.seo-form-section{scroll-margin-top:130px;max-width:1000px;padding-top:36px}
.seo-form-intro{max-width:760px;margin:0 auto 25px;text-align:center}
.seo-form-intro p{color:var(--muted)}
.seo-footer-nav{display:flex;gap:12px 28px;flex-wrap:wrap;justify-content:center;border-top:1px solid #33414a;padding-top:22px;margin-top:26px;font-size:.9rem}
.seo-footer-nav a{color:#fff;text-underline-offset:4px}
.seo-home-local{padding-block:20px}
.seo-cta-panel{background:#eaf4d9;border:1px solid #cbdcb4;border-radius:16px;padding:32px;text-align:center;margin-top:25px}
.service-page .skip-link:focus{z-index:1000}
@media(max-width:1150px){
 .nav-cta{display:none}.menu-toggle{display:block;margin-left:auto;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:8px;font-weight:800;width:auto}
 .main-nav{display:none;position:absolute;left:20px;right:20px;top:100px;background:#fff;padding:20px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;margin-left:0}
 .main-nav.open{display:flex}.main-nav a{font-size:1rem}.seo-hero{gap:30px}
}
@media(max-width:850px){
 .seo-hero{grid-template-columns:1fr;gap:26px}.seo-hero-copy{max-width:760px}.seo-hero-image{max-width:640px;width:100%;margin-inline:auto}.seo-hero-image img{height:340px}
 .seo-section{grid-template-columns:1fr;gap:16px;padding:32px 0}.seo-cards{grid-template-columns:1fr}.seo-main{padding-top:30px}.seo-hero{margin-bottom:36px}.seo-form-section{scroll-margin-top:110px}
}
@media(max-width:620px){
 .brand{width:128px}.nav-wrap{min-height:74px}.main-nav{top:74px}.service-page .form-logo{width:130px}.service-page .form-header .button{max-width:180px;width:auto;font-size:.84rem}.service-nav{font-size:.87rem;gap:6px 18px;padding-block:10px}
 .seo-hero h1{font-size:2.08rem;letter-spacing:-.8px}.seo-lead{font-size:1.03rem}.seo-actions{align-items:flex-start;gap:15px}.seo-actions .button{width:100%}.seo-phone{margin-inline:auto}
 .seo-hero-image img{height:290px}.seo-hero-image figcaption{padding:12px 15px}.seo-trust{font-size:.82rem}.seo-section h2{font-size:1.65rem}.seo-card{padding:21px}.seo-faq details{padding:16px}.seo-cta-panel{padding:24px 18px}.seo-footer-nav{justify-content:flex-start}
}
@media(max-width:360px){.service-page .form-logo{width:113px}.service-page .form-header .button{font-size:.79rem;max-width:160px}.seo-hero h1{font-size:1.95rem}}

/* Final navigation: anchored sections remain visible below the sticky header. */
#accueil, #apropos, #realisations, #faq { scroll-margin-top: 120px; }
@media (max-width: 1150px) {
  .main-nav { max-height: calc(100vh - 125px); max-height: calc(100dvh - 125px); overflow-y: auto; }
  .main-nav a { display: flex; align-items: center; min-height: 44px; width: 100%; }
}
@media (max-width: 620px) {
  #accueil, #apropos, #realisations, #faq { scroll-margin-top: 92px; }
  .main-nav { max-height: calc(100vh - 94px); max-height: calc(100dvh - 94px); }
}

/* Keep the entire new charging station visible in the home project gallery. */
.realisation-card img.borne-installation-photo { object-fit: contain; }
