/* Shared editorial system for LABO AUTOMOTIVE service detail pages. */
.service-page-v2 section:not(.hero){padding:76px 0}
.service-page-v2 .section-head{align-items:flex-start;margin-bottom:32px;gap:28px}
.service-page-v2 .section-head>div{max-width:680px}
.service-page-v2 .kicker{font-size:12px;letter-spacing:.06em}
.service-page-v2 h2.title{font-size:clamp(30px,3.7vw,48px);line-height:1.04;margin-top:8px;text-transform:none;letter-spacing:0}
.service-page-v2 .lede{max-width:590px;font-size:15px;line-height:1.68;color:#b7c0cc;margin:4px 0 0}
.service-page-v2 .reveal{transform:translateY(12px);transition:opacity .48s ease,transform .48s ease}
.service-page-v2 .float-wa{animation:none;width:56px;height:56px;box-shadow:0 14px 34px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.08)}

/* Opening service cues: a compact numbered editorial list, never dashboard cards. */
.service-page-v2 main>section:nth-of-type(2){padding:68px 0}
.service-page-v2 main>section:nth-of-type(2)>.wrap.split{display:block}
.service-page-v2 main>section:nth-of-type(2)>.wrap>.section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:end;gap:64px}
.service-page-v2 main>section:nth-of-type(2)>.wrap.split>div:first-child{max-width:760px;margin-bottom:32px}
.service-page-v2 main>section:nth-of-type(2)>.wrap.split>div:first-child .lede{margin-top:14px}
.service-page-v2 main>section:nth-of-type(2)>.wrap>.section-head .lede{margin:0}
.service-page-v2 main>section:nth-of-type(2) .cards,
.service-page-v2 main>section:nth-of-type(2) .grid.two{counter-reset:service-cue;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-page-v2 main>section:nth-of-type(2) .card{counter-increment:service-cue;display:grid;grid-template-columns:38px 1fr;align-content:start;column-gap:14px;min-height:0;padding:22px 22px 22px 0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.service-page-v2 main>section:nth-of-type(2) .card:nth-child(even){padding-inline-start:22px;border-inline-start:1px solid var(--line)}
.service-page-v2 main>section:nth-of-type(2) .card:nth-child(n+3){border-top:1px solid var(--line)}
.service-page-v2 main>section:nth-of-type(2) .card::before{content:counter(service-cue,decimal-leading-zero);position:static;grid-row:1 / span 2;width:auto;height:auto;background:none;color:var(--red-2);font:800 18px/1.25 'Arial Narrow','Roboto Condensed',system-ui,sans-serif}
.service-page-v2 main>section:nth-of-type(2) .card h3{font-size:19px;line-height:1.18;text-transform:none;letter-spacing:0;margin:0 0 7px}
.service-page-v2 main>section:nth-of-type(2) .card p{font-size:13.75px;line-height:1.6;color:#9fa9b7;max-width:470px}
.service-page-v2 main>section:nth-of-type(2) .card.reveal{transform:none}

/* Technical explanation bands: columns and dividers instead of boxed tiles. */
.service-page-v2 main>section:nth-of-type(3){background:rgba(255,255,255,.012);border-top:1px solid rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.045)}
.service-page-v2 main>section:nth-of-type(3) .grid,
.service-page-v2 main>section:nth-of-type(3) .split{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-page-v2 main>section:nth-of-type(3) .card,
.service-page-v2 main>section:nth-of-type(3) .panel{padding:24px;background:transparent;border:0;border-inline-start:1px solid var(--line);border-radius:0;box-shadow:none;overflow:visible}
.service-page-v2 main>section:nth-of-type(3) .card:first-child,
.service-page-v2 main>section:nth-of-type(3) .panel:first-child{border-inline-start:0;padding-inline-start:0}
.service-page-v2 main>section:nth-of-type(3) .card:last-child,
.service-page-v2 main>section:nth-of-type(3) .panel:last-child{padding-inline-end:0}
.service-page-v2 main>section:nth-of-type(3) .card::before,
.service-page-v2 main>section:nth-of-type(3) .panel::before{display:none}
.service-page-v2 main>section:nth-of-type(3) .card h3,
.service-page-v2 main>section:nth-of-type(3) .panel h3{font-size:20px;line-height:1.2;text-transform:none;letter-spacing:0;margin-bottom:14px}
.service-page-v2 main>section:nth-of-type(3) .panel h2.title{font-size:clamp(27px,3vw,38px);margin-bottom:14px}
.service-page-v2 main>section:nth-of-type(3) .list{gap:11px}
.service-page-v2 main>section:nth-of-type(3) .list li{font-size:13.75px;line-height:1.55;color:#c6cdd7}
.service-page-v2 main>section:nth-of-type(3) .check{width:18px;height:18px;font-size:10px}
.service-page-v2 main>section:nth-of-type(3) .reveal{transform:none}

/* Supporting image/editorial sections. */
.service-page-v2 .split{gap:48px;align-items:center}
.service-page-v2 .media-card{border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.22)}
.service-page-v2 .media-card img{object-fit:cover}
.service-page-v2 .split .hero-cta{margin-top:22px}

/* Shared process timeline. */
.service-page-v2 .process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-page-v2 .process .step{min-height:0;padding:22px 20px;background:transparent;border:0;border-inline-start:1px solid var(--line);border-radius:0;box-shadow:none}
.service-page-v2 .process .step:first-child{border-inline-start:0}
.service-page-v2 .process .step.reveal{transform:none}
.service-page-v2 .process .step .n{font-size:28px;color:var(--red-2);line-height:1;letter-spacing:0;text-shadow:none}
.service-page-v2 .process .step h3{font-size:15.5px;line-height:1.25;margin:8px 0 5px;text-transform:none;letter-spacing:0}
.service-page-v2 .process .step p{font-size:13px;line-height:1.55;color:#929dab}

/* Closing information: restrained editorial panels. */
.service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card:has(h2.title){padding:28px 30px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two:has(> .card > h2.title){gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card:has(h2.title)+.card{border-inline-start:1px solid var(--line)}
.service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card:has(h2.title)::before{display:none}
.service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card h2.title{font-size:clamp(27px,3vw,38px);margin:0 0 14px}

/* FAQ and contact finish every service page consistently. */
.service-page-v2 #faq{background:rgba(255,255,255,.008);border-top:1px solid rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.045)}
.service-page-v2 #faq .faq-grid{gap:10px}
.service-page-v2 #faq .faq-item{border-radius:12px;background:rgba(255,255,255,.018)}
.service-page-v2 #faq .faq-item summary{padding:16px 18px;font-size:14px;font-weight:750}
.service-page-v2 #faq .faq-item summary::after{font-size:20px}
.service-page-v2 #faq .faq-item p{padding:0 18px 17px;font-size:13.5px;line-height:1.62}
.service-page-v2 #contact,.service-contact{padding:54px 0 64px;background:rgba(255,255,255,.01);border-top:1px solid rgba(255,255,255,.045)}
.service-page-v2 #contact .cta-panel,.service-contact .cta-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:28px;background:#0b0f15;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.service-page-v2 #contact .cta-copy,.service-contact .cta-copy{min-width:0}
.service-page-v2 #contact h2.title,.service-contact h2.title{font-size:clamp(28px,3vw,40px);line-height:1.08;margin:8px 0 12px;max-width:680px}
.service-page-v2 #contact .lede,.service-contact .lede{max-width:650px;color:#b9c2cf}
.service-page-v2 #contact .contact-actions,.service-contact .contact-actions{margin-top:22px;gap:10px;align-items:stretch}
.service-page-v2 #contact .contact-actions .cta,.service-contact .contact-actions .cta{min-height:48px;padding:13px 17px;border-radius:10px;justify-content:center;gap:9px;line-height:1.2}
.service-page-v2 #contact .contact-actions .cta-wa,.service-contact .contact-actions .cta-wa{box-shadow:none}
.service-page-v2 #contact .contact-actions .cta-ghost,.service-contact .contact-actions .cta-ghost{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.035)}
.service-page-v2 #contact .contact-actions .icn,.service-contact .contact-actions .icn{width:18px;height:18px;flex:0 0 18px}
.service-page-v2 #contact .contact-lines,.service-contact .contact-lines{align-self:stretch;display:grid;align-content:center;gap:8px;padding:20px 22px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);color:#c4ccd8}
.service-page-v2 #contact .contact-lines span,.service-contact .contact-lines span{display:block;font-size:14px;line-height:1.45}
.service-page-v2 #contact .contact-lines b,.service-contact .contact-lines b{display:block;margin-bottom:2px;color:#fff;font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.service-page-v2 #contact .contact-lines a,.service-contact .contact-lines a{display:inline-block;color:#fff;font-weight:850;text-decoration:none}
.service-page-v2 #contact .contact-lines a:hover,.service-contact .contact-lines a:hover{text-decoration:underline}
html[dir="rtl"] .service-page-v2 #contact .contact-actions .cta,html[dir="rtl"] .service-contact .contact-actions .cta{flex-direction:row-reverse}
html[dir="rtl"] .service-page-v2 #contact .contact-lines a[href^="tel:"],html[dir="rtl"] .service-contact .contact-lines a[href^="tel:"]{direction:ltr;unicode-bidi:isolate}

/* Page personalities. */
.service-expertise main>section:nth-of-type(3) .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-mecanique main>section:nth-of-type(5) .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-mecanique main>section:nth-of-type(5) .card{padding:22px;background:transparent;border:0;border-inline-start:1px solid var(--line);border-radius:0;box-shadow:none}
.service-mecanique main>section:nth-of-type(5) .card:nth-child(odd){border-inline-start:0;padding-inline-start:0}
.service-mecanique main>section:nth-of-type(5) .card:nth-child(n+3){border-top:1px solid var(--line)}
.service-mecanique main>section:nth-of-type(5) .card::before{display:none}
.service-mecanique main>section:nth-of-type(5) .card h3{text-transform:none;font-size:19px;letter-spacing:0}
.service-adblue main>section:nth-of-type(3) .panel:first-child{border-inline-start:0}
.service-gps main>section:nth-of-type(3),
.service-reprogrammation main>section:nth-of-type(3){background:rgba(255,255,255,.01)}

@media(max-width:980px){
  .service-page-v2 main>section:nth-of-type(2)>.wrap>.section-head{grid-template-columns:1fr;gap:14px;align-items:start}
  .service-page-v2 main>section:nth-of-type(2)>.wrap>.section-head .lede{margin-top:0}
  .service-page-v2 main>section:nth-of-type(3) .grid,
  .service-page-v2 main>section:nth-of-type(3) .split{grid-template-columns:1fr}
  .service-page-v2 main>section:nth-of-type(3) .card,
  .service-page-v2 main>section:nth-of-type(3) .panel,
  .service-page-v2 main>section:nth-of-type(3) .card:first-child,
  .service-page-v2 main>section:nth-of-type(3) .panel:first-child,
  .service-page-v2 main>section:nth-of-type(3) .card:last-child,
  .service-page-v2 main>section:nth-of-type(3) .panel:last-child{padding:20px 0;border-inline-start:0;border-top:1px solid var(--line)}
  .service-page-v2 main>section:nth-of-type(3) .card:first-child,
  .service-page-v2 main>section:nth-of-type(3) .panel:first-child{border-top:0}
  .service-page-v2 .split{gap:30px}
  .service-page-v2 #contact .cta-panel,.service-contact .cta-panel{grid-template-columns:1fr;gap:18px}
  .service-page-v2 #contact .contact-lines,.service-contact .contact-lines{padding:18px}
  .service-page-v2 .process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-page-v2 .process .step:nth-child(odd){border-inline-start:0}
  .service-page-v2 .process .step:nth-child(n+3){border-top:1px solid var(--line)}
}

@media(max-width:640px){
  .service-page-v2 .hero h1{font-size:40px;line-height:1.02}
  .service-reprogrammation .hero h1{font-size:36px}
  .service-page-v2 section:not(.hero){padding:54px 0}
  .service-page-v2 .section-head{display:block;margin-bottom:25px}
  .service-page-v2 .section-head .lede{margin-top:14px}
  .service-page-v2 h2.title{font-size:clamp(29px,9vw,37px)}
  .service-page-v2 main>section:nth-of-type(2){padding:50px 0}
  .service-page-v2 main>section:nth-of-type(2) .cards,
  .service-page-v2 main>section:nth-of-type(2) .grid.two{grid-template-columns:1fr}
  .service-page-v2 main>section:nth-of-type(2) .card,
  .service-page-v2 main>section:nth-of-type(2) .card:nth-child(even){padding:18px 0;border-inline-start:0;border-top:1px solid var(--line)}
  .service-page-v2 main>section:nth-of-type(2) .card:first-child{border-top:0}
  .service-page-v2 main>section:nth-of-type(2) .card{grid-template-columns:34px 1fr;gap:10px}
  .service-page-v2 main>section:nth-of-type(2) .card h3{font-size:18px}
  .service-page-v2 main>section:nth-of-type(2) .card p{font-size:13.5px}
  .service-page-v2 .process{grid-template-columns:1fr}
  .service-page-v2 .process .step{border-inline-start:0!important;border-top:1px solid var(--line);padding:18px 4px}
  .service-page-v2 .process .step:first-child{border-top:0}
  .service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two:has(> .card > h2.title){grid-template-columns:1fr}
  .service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card:has(h2.title),
  .service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card:has(h2.title)+.card{padding:24px 0;border-inline-start:0;border-top:1px solid var(--line)}
  .service-page-v2 main>section:not(.hero):not([id="faq"]):not([id="contact"]) .grid.two>.card:first-child{border-top:0}
  .service-page-v2 #faq .faq-grid{grid-template-columns:1fr}
  .service-page-v2 #contact,.service-contact{padding:44px 0 52px}
  .service-page-v2 #contact .cta-panel,.service-contact .cta-panel{padding:20px 16px;border-radius:12px}
  .service-page-v2 #contact h2.title,.service-contact h2.title{font-size:29px}
  .service-page-v2 #contact .contact-actions,.service-contact .contact-actions{display:grid;grid-template-columns:1fr;margin-top:18px}
  .service-page-v2 #contact .hero-cta .cta,.service-contact .hero-cta .cta{width:100%;white-space:normal;text-align:center}
  .service-mecanique main>section:nth-of-type(5) .grid{grid-template-columns:1fr}
  .service-mecanique main>section:nth-of-type(5) .card,
  .service-mecanique main>section:nth-of-type(5) .card:nth-child(odd){padding:18px 0;border-inline-start:0;border-top:1px solid var(--line)}
  .service-mecanique main>section:nth-of-type(5) .card:first-child{border-top:0}
}
