/* TMS Confort V7 — DARK PREMIUM HIGH-TECH */
:root{--v7-bg:#03080e;--v7-bg2:#07121d;--v7-panel:#0a1723;--v7-panel2:#0e1f2d;--v7-cyan:#39f1df;--v7-blue:#4ba3ff;--v7-text:#f4fbff;--v7-muted:#9eb4c4;--v7-line:rgba(117,224,255,.14);--v7-glow:0 0 50px rgba(57,241,223,.12)}
html{background:var(--v7-bg)}body{background:var(--v7-bg);color:var(--v7-text);font-family:"Manrope",system-ui,sans-serif;overflow-x:hidden}h1,h2,h3,h4,.btn,.navlinks a,.v4-kicker,.eyebrow{font-family:"Space Grotesk",system-ui,sans-serif}h1,h2{letter-spacing:-.045em}.topbar{background:#02060b!important;border-bottom:1px solid rgba(255,255,255,.05)}header{background:rgba(3,8,14,.86)!important;border-bottom:1px solid var(--v7-line)!important;backdrop-filter:blur(22px) saturate(135%)}.navlinks>a:not(.btn){color:#d8e8f2!important}.navlinks>a:hover{color:var(--v7-cyan)!important}.theme-toggle,.menu-toggle{color:#d8e8f2!important;border-color:var(--v7-line)!important;background:rgba(255,255,255,.035)!important}.brand-logo{filter:drop-shadow(0 0 15px rgba(57,241,223,.12))}.btn-orange{background:linear-gradient(100deg,#12cbbb,#2589e8)!important;color:#fff!important;border:0!important;box-shadow:0 12px 35px rgba(26,183,205,.23),0 0 28px rgba(57,241,223,.08)!important}.btn-orange:hover{box-shadow:0 16px 45px rgba(26,183,205,.35),0 0 35px rgba(57,241,223,.16)!important}.btn-soft,.btn-line{background:rgba(255,255,255,.055)!important;color:#eaf7ff!important;border:1px solid var(--v7-line)!important}.btn-dark{background:#eafcff!important;color:#06111a!important}.text-link{color:var(--v7-cyan)!important}
.hero-v4{min-height:800px!important;background:radial-gradient(circle at 78% 36%,rgba(35,131,215,.18),transparent 28%),radial-gradient(circle at 48% 0%,rgba(57,241,223,.09),transparent 30%),linear-gradient(125deg,#02070c 0%,#06131e 56%,#081a28 100%)!important;color:#fff!important;border-bottom:1px solid var(--v7-line)}.hero-v4:before{background:linear-gradient(90deg,rgba(2,7,12,.99) 0%,rgba(2,7,12,.94) 43%,rgba(2,7,12,.26) 71%,transparent 100%)!important}.hero-v4:after{width:700px!important;height:700px!important;background:radial-gradient(circle,rgba(57,241,223,.14),rgba(75,163,255,.06) 35%,transparent 68%)!important;filter:blur(4px)}.hero-v4-copy{padding:118px 0 120px}.hero-signal{background:rgba(8,29,41,.72)!important;color:#83fff2!important;border:1px solid rgba(57,241,223,.22)!important;box-shadow:inset 0 0 20px rgba(57,241,223,.035)}.hero-v4 h1{color:#fff!important;text-shadow:0 4px 38px rgba(0,0,0,.32)!important;font-size:clamp(4.4rem,7vw,7.7rem);line-height:.88!important}.hero-v4 h1 em{background:linear-gradient(90deg,#45f4df,#62b8ff);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 20px rgba(57,241,223,.14))}.hero-v4 .hero-lead{color:#a9bfcd!important;font-size:1.12rem}.hero-v4 .hero-lead strong{color:#eefaff!important}.trust-strip span{background:rgba(8,25,37,.72)!important;color:#b9cdd9!important;border:1px solid rgba(117,224,255,.11)!important}.hero-stage-img{border:1px solid rgba(117,224,255,.16)!important;box-shadow:0 35px 100px rgba(0,0,0,.5),0 0 70px rgba(57,241,223,.06)!important}.hero-stage-img:before{background:linear-gradient(90deg,rgba(2,7,12,.38),transparent 28%),linear-gradient(180deg,transparent 65%,rgba(2,7,12,.74))!important}.hero-stage-img:after{background-image:linear-gradient(rgba(57,241,223,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(57,241,223,.055) 1px,transparent 1px)!important;background-size:46px 46px!important}.ambient-tag{background:rgba(3,12,19,.8)!important;color:#b9d2df!important;border:1px solid var(--v7-line)!important}.hero-ticket{background:rgba(6,20,30,.9)!important;color:#eefaff!important;border:1px solid rgba(57,241,223,.18)!important;box-shadow:0 25px 70px rgba(0,0,0,.45),var(--v7-glow)!important;backdrop-filter:blur(18px)}.hero-ticket p{color:#9fb7c5!important}.hero-side-note{background:linear-gradient(135deg,rgba(8,29,42,.94),rgba(7,19,29,.96))!important;border:1px solid rgba(75,163,255,.22)!important;box-shadow:0 18px 50px rgba(0,0,0,.35)!important}.hero-side-note b{color:#6ef7e8!important}
.problem-bar{background:var(--v7-bg)!important}.problem-shell{background:linear-gradient(110deg,rgba(10,25,37,.96),rgba(7,18,29,.96))!important;color:#fff!important;border:1px solid var(--v7-line)!important;box-shadow:0 30px 80px rgba(0,0,0,.34),var(--v7-glow)!important}.problem-intro{border-color:var(--v7-line)!important}.problem-intro small{color:var(--v7-cyan)!important}.problem-links a{color:#c8dce8!important}.problem-links a:hover{background:rgba(57,241,223,.08)!important;color:#72f7e9!important}
.v4-section{background:var(--v7-bg)!important;color:#fff}.v4-section:nth-of-type(3),.real-home{background:linear-gradient(180deg,#03080e,#06111a)!important}.v4-section-head p,.human-copy p,.gallery-ready p{color:var(--v7-muted)!important}.v4-kicker{color:var(--v7-cyan)!important}.service-bento .svc{background:linear-gradient(145deg,rgba(12,28,41,.96),rgba(7,19,29,.96))!important;color:#fff!important;border:1px solid var(--v7-line)!important;box-shadow:0 20px 55px rgba(0,0,0,.22)!important}.service-bento .svc:hover{border-color:rgba(57,241,223,.35)!important;box-shadow:0 28px 70px rgba(0,0,0,.32),0 0 38px rgba(57,241,223,.07)!important}.service-bento .svc:nth-child(1),.service-bento .svc:nth-child(4){background:linear-gradient(145deg,#0b2635,#081824)!important}.service-bento .svc .ic{background:linear-gradient(145deg,rgba(57,241,223,.13),rgba(75,163,255,.11))!important;color:var(--v7-cyan)!important;border:1px solid rgba(57,241,223,.14)}.service-bento .svc p{color:#9fb5c4!important}.service-bento .svc h3{color:#f4fbff!important}.workflow-v4{background:radial-gradient(circle at 80% 20%,rgba(75,163,255,.14),transparent 30%),linear-gradient(140deg,#06131d,#081e2b)!important;border-top:1px solid var(--v7-line);border-bottom:1px solid var(--v7-line)}.workflow-step{border-color:var(--v7-line)!important}.workflow-step p{color:#a5bbc9!important}.workflow-step .num{color:var(--v7-cyan)!important}
.human-v4{background:linear-gradient(135deg,#07131d,#091b28)!important}.human-collage .portrait{border:1px solid var(--v7-line)!important;box-shadow:0 35px 80px rgba(0,0,0,.38)!important}.human-collage .quote-card{background:rgba(8,25,37,.96)!important;color:#f2fbff!important;border:1px solid var(--v7-line)!important;box-shadow:0 24px 65px rgba(0,0,0,.35)!important}.quote-card p{color:#88a6b7!important}.human-points span{background:rgba(255,255,255,.035)!important;color:#c6d9e5!important;border-color:var(--v7-line)!important}.pro-v4{background:#03080e!important}.pro-v4-card{background:radial-gradient(circle at 86% 20%,rgba(57,241,223,.14),transparent 27%),linear-gradient(125deg,#081a27,#0a2736)!important;border:1px solid rgba(57,241,223,.14);box-shadow:0 30px 80px rgba(0,0,0,.3)}.pro-badges span{background:rgba(255,255,255,.045)!important;border-color:var(--v7-line)!important}.gallery-ready{background:linear-gradient(120deg,#0a1a27,#07131d)!important;border:1px dashed rgba(57,241,223,.27)!important}.gallery-ready-icon{background:linear-gradient(145deg,#0c3040,#0b2030)!important;color:#66f5e5!important;box-shadow:0 0 34px rgba(57,241,223,.1)!important}.gallery-ready strong{color:#fff}.final-v4{background:#03080e!important}.final-v4-shell{background:radial-gradient(circle at 85% 30%,rgba(75,163,255,.12),transparent 30%),linear-gradient(135deg,#091d2a,#07141e)!important;border:1px solid var(--v7-line)!important;color:#fff!important;box-shadow:0 25px 70px rgba(0,0,0,.26)}.final-v4-shell p{color:#a8bfcc!important}
.phead{background:radial-gradient(circle at 85% 15%,rgba(57,241,223,.12),transparent 26%),linear-gradient(135deg,#03080e,#081a27)!important;color:#fff!important;border-bottom:1px solid var(--v7-line)!important}.phead h1{color:#fff!important}.phead-sub{color:#a8bfcc!important}.phead .crumb,.phead .crumb a{color:#7894a6!important}.phead .eyebrow{color:var(--v7-cyan)!important}
/* Pages intérieures */
main:not(.home-v4){background:var(--v7-bg);color:var(--v7-text)}main:not(.home-v4) section{background:transparent}.sec-head h2,.seo-grid h3,.zone h3,.faq-item summary,.price h3,.info .v,.legal-body h3{color:#eefaff!important}.sec-head p,.seo-grid p,.zone p,.price p,.legal-body p,.info .k{color:var(--v7-muted)!important}.svc,.price,.zone,.card,.info,.faq-item,.booking-form,.booking-ok,.rdv-wrap{background:linear-gradient(145deg,#0b1a27,#07141f)!important;border-color:var(--v7-line)!important;color:#eefaff!important;box-shadow:0 18px 55px rgba(0,0,0,.2)!important}.booking-form input,.booking-form select,.booking-form textarea,.cal-field,.cal,.slot,.daytoggle{background:#06131d!important;color:#eaf7ff!important;border-color:var(--v7-line)!important}.bf-hint{background:#081925!important;border-color:var(--v7-line)!important;color:#9eb5c4!important}.bf-type .radio{border-color:var(--v7-line)!important;color:#c9dce7!important}.bf-type .radio.on,.request-types .radio:has(input:checked){background:rgba(57,241,223,.09)!important;border-color:rgba(57,241,223,.38)!important;color:#6ff7e8!important}.cal-day{color:#d8e7ef!important}.faq-a{color:var(--v7-muted)!important}.faq-ic{background:rgba(57,241,223,.1)!important;color:var(--v7-cyan)!important}.zone .tags span{background:rgba(57,241,223,.07)!important;color:#74f6e9!important;border-color:rgba(57,241,223,.17)!important}.reseau{background:#06111a!important}.reseau p{color:var(--v7-muted)!important}.legal-body a,.zones-note a{color:var(--v7-cyan)!important}
footer{background:#02060a!important;border-top:1px solid var(--v7-line)}footer p,footer a,.fbot,.fnet{color:#8ea7b6!important}.fgrid h4,.fbrand .name{color:#f1faff!important}.mcta{background:rgba(3,8,14,.92)!important;border-top:1px solid var(--v7-line)!important;backdrop-filter:blur(16px)}
@media(max-width:1100px){.navlinks{gap:15px}.navlinks a{font-size:.86rem}.hero-v4 h1{font-size:clamp(3.8rem,7vw,6.3rem)}}
@media(max-width:900px){.hero-v4{min-height:auto!important}.hero-v4-copy{padding:78px 0 32px}.hero-v4 h1{font-size:clamp(3.5rem,12vw,5.6rem)}.hero-stage{min-height:500px}.problem-bar{margin-top:24px!important}.v4-section{padding:80px 0}.human-v4-grid{gap:48px!important}}
@media(max-width:640px){.topbar .left{max-width:68%;font-size:.72rem}.hero-v4-copy{padding-top:58px}.hero-v4 h1{font-size:3.35rem;line-height:.92!important;overflow-wrap:normal}.hero-lead{font-size:1rem!important}.hero-v4-actions{align-items:stretch}.hero-v4-actions .btn{justify-content:center}.trust-strip{gap:7px}.trust-strip span{font-size:.73rem}.hero-stage{min-height:370px}.hero-side-note{max-width:235px!important;font-size:.78rem}.hero-ticket{max-width:230px!important}.problem-shell{border-radius:22px!important}.problem-links{grid-template-columns:1fr!important}.v4-section{padding:62px 0}.v4-section-head h2{font-size:2.45rem!important;max-width:100%}.service-bento .svc{border-radius:22px!important}.human-collage .portrait{border-radius:25px!important}.pro-v4-card,.final-v4-shell{border-radius:24px!important}.phead h1{font-size:2.55rem!important;overflow-wrap:anywhere}.booking-form{padding:18px!important}.fgrid{gap:34px!important}}


/* TMS V7.2 — CONTRAST FIX */
/* This pass is deliberately placed in v7.css because it is loaded last. */

/* Global copy on the dark V7 canvas */
body,
main,
section { color:#eef7fc; }

main p,
main li,
main dd,
main .lead,
main .sub,
main .desc,
main .copy { color:#b9ccd8; }

main h1,
main h2,
main h3,
main h4,
main h5,
main h6 { color:#f7fcff; }

/* Interior service / tariff / zone / FAQ / contact / booking cards */
main:not(.home-v4) .svc h3,
main:not(.home-v4) .svc h4,
main:not(.home-v4) .price h3,
main:not(.home-v4) .price h4,
main:not(.home-v4) .zone h3,
main:not(.home-v4) .card h3,
main:not(.home-v4) .info .v,
main:not(.home-v4) .booking-ok h3,
main:not(.home-v4) .faq-item summary {
  color:#f6fbff !important;
}

main:not(.home-v4) .svc p,
main:not(.home-v4) .price p,
main:not(.home-v4) .zone p,
main:not(.home-v4) .card p,
main:not(.home-v4) .info .k,
main:not(.home-v4) .booking-ok p,
main:not(.home-v4) .faq-a,
main:not(.home-v4) .legal-body p,
main:not(.home-v4) .legal-body li {
  color:#b7cad6 !important;
}

main:not(.home-v4) .svc a,
main:not(.home-v4) .card a,
main:not(.home-v4) .price a,
main:not(.home-v4) .zone a,
main:not(.home-v4) .info a {
  color:#69eadf !important;
}

/* Labels, legends, help text and form controls */
.booking-form label,
.contact-form label,
.bf-type legend,
.field label,
form label {
  color:#eaf5fb !important;
}
.bf-note,
.bf-hint,
.help,
.help-text,
.form-help,
small {
  color:#a9bfcd;
}
.booking-form input,
.booking-form select,
.booking-form textarea,
.contact-form input,
.contact-form select,
.contact-form textarea,
input,
select,
textarea {
  color:#f6fbff !important;
  caret-color:#67efe1;
}
input::placeholder,
textarea::placeholder {
  color:#8fa8b8 !important;
  opacity:1;
}
select option {
  background:#07131d !important;
  color:#f6fbff !important;
}

/* Calendar / booking readability */
.cal,
.cal-field,
.slot,
.daytoggle {
  color:#eef8fd !important;
}
.cal .muted,
.cal small,
.slot small,
.daytoggle small {
  color:#a9bfcd !important;
}

/* Home-specific cards where old V4/V6 rules could still leak dark text */
.home-v4 .workflow-step h3,
.home-v4 .human-copy h2,
.home-v4 .pro-v4-card h2,
.home-v4 .gallery-ready strong,
.home-v4 .final-v4-shell h2 {
  color:#f7fcff !important;
}
.home-v4 .workflow-step p,
.home-v4 .human-copy p,
.home-v4 .pro-v4-card p,
.home-v4 .gallery-ready p,
.home-v4 .final-v4-shell p {
  color:#b7cad6 !important;
}

/* Footer contrast */
footer p,
footer li,
footer a,
footer .fbot,
footer .fnet {
  color:#a9bfcd !important;
}
footer a:hover { color:#6cf2e5 !important; }

/* Better legibility without killing the premium dark feel */
.v4-kicker,
.eyebrow,
.hero-signal,
.problem-intro small {
  text-shadow:0 0 18px rgba(57,241,223,.12);
}

/* Mobile: prevent the last few overlap/clipping cases */
@media(max-width:700px){
  h1,h2,h3,.phead h1,.v4-section-head h2,.human-copy h2 {
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:auto;
  }
  .hero-v4 h1 {
    overflow-wrap:normal !important;
    word-break:normal !important;
    font-size:clamp(2.75rem,14vw,3.45rem) !important;
    line-height:.94 !important;
  }
  .hero-signal {
    max-width:100%;
    white-space:normal;
    line-height:1.5;
  }
  .trust-strip span {
    line-height:1.35;
  }
}


/* TMS V7.3 — PAGE-BY-PAGE FIX
   Final override loaded last: contrast, card layout, forms and mobile.
*/

/* HOME — section heading was still inheriting V6's dark !important color */
.home-v4 .v4-section-head h2,
.home-v4 .human-copy h2,
.home-v4 .pro-v4-card h2,
.home-v4 .final-v4-shell h2,
.home-v4 .workflow-copy h2 {
  color:#f7fcff !important;
}

/* Service cards: no absolute CTA, therefore no text overlap */
.service-bento .svc {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start;
  height:auto !important;
  min-height:300px !important;
  padding:30px !important;
  overflow:hidden;
}
.service-bento .svc:nth-child(1),
.service-bento .svc:nth-child(4) {
  min-height:320px !important;
}
.service-bento .svc h3 {
  color:#f7fcff !important;
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  line-height:1.12 !important;
  margin:0 0 12px !important;
  max-width:18ch;
}
.service-bento .svc p {
  color:#b8cbd7 !important;
  margin:0 !important;
  line-height:1.65;
}
.service-bento .svc > a {
  position:static !important;
  left:auto !important;
  bottom:auto !important;
  display:inline-flex !important;
  margin-top:auto !important;
  padding-top:22px !important;
  color:#61eadf !important;
  line-height:1.25;
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  font-weight:700;
}

/* All interior page headings and prose */
main:not(.home-v4) .sec-head h2,
main:not(.home-v4) .about h2,
main:not(.home-v4) .seo-grid h3,
main:not(.home-v4) .zone h3,
main:not(.home-v4) .price h3,
main:not(.home-v4) .legal-body h3,
main:not(.home-v4) .faq-item summary,
main:not(.home-v4) .info .v {
  color:#f7fcff !important;
}

main:not(.home-v4) .sec-head p,
main:not(.home-v4) .about p,
main:not(.home-v4) .seo-grid p,
main:not(.home-v4) .zone p,
main:not(.home-v4) .price p,
main:not(.home-v4) .legal-body p,
main:not(.home-v4) .legal-body li,
main:not(.home-v4) .faq-a,
main:not(.home-v4) .info .k,
main:not(.home-v4) .checks li {
  color:#b8cbd7 !important;
}

/* Services page uses the same Bento component outside home */
main:not(.home-v4) .service-bento .svc {
  min-height:300px !important;
}
main:not(.home-v4) .service-bento .svc > a {
  color:#61eadf !important;
}

/* Tariffs — readable premium notice instead of a light box with white copy */
.tariff-note {
  max-width:820px;
  margin:0 auto 32px;
  padding:22px 26px;
  text-align:center;
  color:#c7dae5 !important;
  background:linear-gradient(135deg,rgba(12,38,51,.98),rgba(8,25,37,.98));
  border:1px solid rgba(57,241,223,.18);
  border-radius:20px;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.tariff-note strong {
  color:#77f6e9 !important;
}

/* Generic SEO/tariff grids get dark cards and consistent spacing */
.seo-grid > div {
  background:linear-gradient(145deg,#0b1a27,#07141f) !important;
  border:1px solid var(--v7-line) !important;
  border-radius:20px !important;
  padding:24px !important;
  color:#eef8fd !important;
}
.seo-grid > div h3 {
  color:#f7fcff !important;
  margin-top:0 !important;
}
.seo-grid > div p,
.seo-grid > div li {
  color:#b8cbd7 !important;
}
.seo-grid > div strong {
  color:#f7fcff !important;
}

/* About page */
.about .lead,
.about .checks li {
  color:#bfd1dc !important;
}
.about .checks li::marker {
  color:#59eadf;
}

/* Realisations empty state */
.galsec .sec-head h2,
.galsec .sec-head p {
  color:inherit;
}
.galsec .sec-head p {
  color:#b8cbd7 !important;
}

/* FAQ */
.faq-item {
  overflow:hidden;
}
.faq-item summary {
  color:#f6fbff !important;
}
.faq-a {
  color:#b8cbd7 !important;
}

/* Contact and booking */
.booking-form,
.info,
.rdv-wrap,
.booking-ok {
  color:#eef8fd !important;
}
.booking-form label,
.booking-form legend,
.bf-slots-label,
.bf-rule,
.info .v {
  color:#eef8fd !important;
}
.bf-note,
.bf-hint,
.info .k,
.booking-form small {
  color:#a9bfcd !important;
}
.booking-form input,
.booking-form select,
.booking-form textarea,
.cal-field,
.contact input,
.contact select,
.contact textarea {
  background:#06131d !important;
  color:#f7fbff !important;
  border-color:rgba(117,224,255,.18) !important;
}
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus,
.contact input:focus,
.contact select:focus,
.contact textarea:focus {
  border-color:#39f1df !important;
  box-shadow:0 0 0 3px rgba(57,241,223,.09) !important;
}
input::placeholder,
textarea::placeholder {
  color:#91aabd !important;
  opacity:1 !important;
}

/* Calendar */
.cal,
.cal-head,
.cal-grid,
.slot-grid {
  color:#eef8fd !important;
}
.cal-dow,
.cal-day,
.slot {
  color:#dcebf3 !important;
}
.cal-day.off,
.cal-day.empty,
.slot.off {
  color:#607786 !important;
}
.slot.on,
.slot:hover {
  color:#06131d !important;
  background:#66eee1 !important;
  border-color:#66eee1 !important;
}

/* Footer */
footer,
footer p,
footer li {
  color:#9fb4c1 !important;
}
footer h4,
footer .fbrand .name {
  color:#f4fbff !important;
}
footer a {
  color:#afc3cf !important;
}
footer a:hover {
  color:#64eee1 !important;
}

/* High-tech readability: secondary text must still pass visually */
.v4-section-head > p,
.workflow-step p,
.human-copy p,
.pro-v4-card p,
.gallery-ready p,
.final-v4-shell p,
.hero-ticket p {
  color:#b4c8d4 !important;
}

/* Desktop/tablet layout safety */
@media (max-width:1050px) {
  .service-bento .svc {
    min-height:280px !important;
  }
}

/* Mobile: cards become natural-height; no CTA collisions or clipped headings */
@media (max-width:640px) {
  .service-bento .svc,
  .service-bento .svc:nth-child(1),
  .service-bento .svc:nth-child(4),
  main:not(.home-v4) .service-bento .svc {
    min-height:0 !important;
    padding:24px !important;
  }
  .service-bento .svc > a {
    margin-top:18px !important;
    padding-top:0 !important;
  }
  .home-v4 .v4-section-head h2,
  .home-v4 .human-copy h2,
  .phead h1,
  .sec-head h2 {
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:auto;
  }
  .v4-section-head {
    align-items:start !important;
  }
}

/* TMS V7.4 — FULL DARK QA PASS
   The V7 identity is permanently dark. These rules intentionally override
   the remaining light surfaces inherited from V2/V4 on interior pages. */

html,html[data-theme="light"],html[data-theme="dark"]{
  --page:#03080e!important;
  --surface:#0a1723!important;
  --surface-alt:#06111a!important;
  --text:#f4fbff!important;
  --muted:#a9bfcd!important;
  --border:rgba(117,224,255,.14)!important;
  --header-bg:rgba(3,8,14,.9)!important;
  --ph-bg:#0a1723!important;
  --ph-border:rgba(117,224,255,.2)!important;
  color-scheme:dark;
  background:#03080e!important;
}
body{background:#03080e!important;color:#f4fbff!important}

/* Every public interior page gets a coherent dark canvas. */
main:not(.home-v4),
main:not(.home-v4)>section,
main:not(.home-v4) .about,
main:not(.home-v4) .zones,
main:not(.home-v4) .faq,
main:not(.home-v4) .contact,
main:not(.home-v4) .galsec,
main:not(.home-v4) .legal{
  background:#03080e!important;
  color:#f4fbff!important;
}
main:not(.home-v4) .seo-block{
  background:linear-gradient(180deg,#06111a 0%,#04101a 100%)!important;
  color:#f4fbff!important;
  border-top:1px solid rgba(117,224,255,.08);
  border-bottom:1px solid rgba(117,224,255,.08);
}

/* Page headings: never inherit the old light-theme colours. */
main:not(.home-v4) h1,
main:not(.home-v4) h2,
main:not(.home-v4) h3,
main:not(.home-v4) h4,
main:not(.home-v4) .sec-head h2,
main:not(.home-v4) .contact h2,
main:not(.home-v4) .about h2,
main:not(.home-v4) .legal-body h3,
main:not(.home-v4) .faq-item summary{
  color:#f7fcff!important;
}
main:not(.home-v4) p,
main:not(.home-v4) li,
main:not(.home-v4) .sec-head p,
main:not(.home-v4) .contact .lead,
main:not(.home-v4) .about .lead,
main:not(.home-v4) .legal-body p,
main:not(.home-v4) .faq-a,
main:not(.home-v4) .zones-note{
  color:#b7cad6!important;
}
main:not(.home-v4) strong{color:#eefaff}
main:not(.home-v4) .eyebrow{color:#63eee0!important}

/* Service + SEO cards: dark, readable, and natural height. */
.service-bento .svc,
.seo-grid>div,
.zone,
.faq-item,
.info,
.booking-form,
.booking-ok,
.rdv-wrap{
  background:linear-gradient(145deg,#0b1a27,#07141f)!important;
  border:1px solid rgba(117,224,255,.14)!important;
  color:#eefaff!important;
}
.seo-grid>div h3,.zone h3,.faq-item summary,.info .v{color:#f7fcff!important}
.seo-grid>div p,.zone p,.faq-a,.info .k{color:#b7cad6!important}

/* Fix the exact Services-page regression caused by V4 .seo-block !important. */
.seo-block .sec-head h2{color:#f7fcff!important}
.seo-block .sec-head p{color:#b7cad6!important}

/* Forms and appointment controls: remove all inherited white cards. */
.request-types .radio,
.bf-type .radio,
.daytoggle,
.slot,
.cal,
.cal-field,
.booking-form input,
.booking-form select,
.booking-form textarea,
.contact input,
.contact select,
.contact textarea{
  background:#06131d!important;
  color:#eef8fd!important;
  border-color:rgba(117,224,255,.18)!important;
}
.request-types .radio:has(input:checked),
.bf-type .radio.on,
.daytoggle.on,
.slot.on{
  background:rgba(57,241,223,.12)!important;
  color:#75f7ea!important;
  border-color:rgba(57,241,223,.42)!important;
}
.slot.on,.slot:hover{
  background:#66eee1!important;
  color:#06131d!important;
}
input::placeholder,textarea::placeholder{color:#8fa8b8!important;opacity:1!important}
select option{background:#06131d!important;color:#eef8fd!important}

/* Contact feedback blocks */
.form-ok{background:rgba(57,241,223,.09)!important;color:#dffcf8!important;border-color:rgba(57,241,223,.35)!important}
.form-err,.form-errors{background:#281316!important;color:#ffd1d5!important;border-color:#71343a!important}
.form-err p,.form-errors li{color:#ffd1d5!important}

/* Gallery empty state and legal copy */
.galsec .sec-head h2,.galsec .sec-head p{color:#f7fcff!important}
.galsec .sec-head p{color:#b7cad6!important}
.legal-body a,.zones-note a{color:#63eee0!important}

/* Buttons on dark interior pages */
main:not(.home-v4) .btn-line,
main:not(.home-v4) .btn-soft{
  background:rgba(255,255,255,.045)!important;
  color:#eaf7ff!important;
  border-color:rgba(117,224,255,.18)!important;
}
main:not(.home-v4) .btn-line:hover,
main:not(.home-v4) .btn-soft:hover{
  background:rgba(57,241,223,.09)!important;
  color:#7af7ea!important;
  border-color:rgba(57,241,223,.32)!important;
}

/* No theme button in Dark Premium identity. */
.theme-toggle{display:none!important}

/* Mobile QA: no clipped text, fixed-height cards or CTA collisions. */
@media(max-width:760px){
  main:not(.home-v4)>section{padding-top:64px!important;padding-bottom:64px!important}
  .seo-block{padding-top:64px!important}
  .service-bento .svc,.seo-grid>div,.zone,.faq-item,.rdv-wrap{min-height:0!important}
  .service-bento .svc>a{position:static!important;margin-top:18px!important;padding-top:0!important}
  .sec-head h2,.phead h1,.contact h2,.about h2{overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
  .request-types{grid-template-columns:1fr!important}
}
