/* DRIVECARE DARK MODE
   Theme overrides kept separate from the main stylesheet.
*/
body.dark-mode{
  --cream:#0b1423;
  --white:#111f32;
  --text:#f5f1e9;
  --muted:#c0cad8;
  --line:#2b3a50;
  --surface:#111f32;
  --shadow:0 12px 35px rgba(0,0,0,.25);
}

body.dark-mode .site-header{background:#111f32;border-color:#2b3a50;}
body.dark-mode .icon-button{background:#111f32;color:#f5f1e9;border-color:#34445b;}
body.dark-mode .dropdown-menu{background:#111f32;border-color:#34445b;}
body.dark-mode .mission-card,
body.dark-mode .value-card,
body.dark-mode .service-card,
body.dark-mode .team-card,
body.dark-mode .process-card,
body.dark-mode .testimonial-card{
  background:#111f32 !important;
  color:#f5f1e9 !important;
  border-color:#34445b !important;
}
body.dark-mode .mission-card p,
body.dark-mode .value-card p,
body.dark-mode .service-card p,
body.dark-mode .team-card p,
body.dark-mode .process-card p,
body.dark-mode .testimonial-card p{
  color:#cbd5e1 !important;
}
body.dark-mode .testimonial-card blockquote{color:#e1e7ef;}
body.dark-mode .form-group input,
body.dark-mode .form-group select,
body.dark-mode .form-group textarea{
  background:#0b1423;
  color:#f5f1e9;
  border-color:#34445b;
}
body.dark-mode .booking-modal{background:#111f32;color:#f5f1e9;}
body.dark-mode .modal-close{background:#0b1423;color:#f5f1e9;border-color:#34445b;}
body.dark-mode .value-card:hover{background:rgba(201,166,107,.10)!important;}
/* =========================================================
   ADDRESS CHANGE DARK MODE ONLY
========================================================= */

body.dark{

    --ac-cream:#0b1322;

    --ac-white:#111d30;

    --ac-surface:#111d30;

    --ac-surface2:#17253a;

    --ac-text:#f7f3eb;

    --ac-muted:#b7c0ce;

    --ac-line:#2b3b52;

    background:#0b1322;

    color:#f7f3eb;
}


/* HEADER */

body.dark .site-header{
    background:rgba(11,19,34,.96);

    border-color:#26374d;
}


body.dark .main-nav > a,
body.dark .nav-dropdown > button{
    color:#f7f3eb;
}


body.dark .dropdown-menu{
    background:#111d30;

    border-color:#2b3b52;
}


body.dark .dropdown-menu a:hover,
body.dark .dropdown-menu a.active{
    background:#17253a;
}


/* MOBILE */

body.dark .mobile-menu{
    background:#0b1322;

    border-color:#2b3b52;
}


body.dark .mobile-menu-inner > a,
body.dark .mobile-dropdown-toggle{
    color:#f7f3eb;

    border-color:#2b3b52;
}


body.dark .mobile-dropdown a{
    color:#b7c0ce;
}


/* HERO */

body.dark .address-hero{
    background:
        linear-gradient(
            120deg,
            #0b1322 0%,
            #101d35 58%,
            #17253a 100%
        );
}


body.dark .hero-copy > p{
    color:#b7c0ce;
}


body.dark .secondary-btn{
    border-color:#e6ca97;

    color:#e6ca97;
}


body.dark .secondary-btn:hover{
    background:#e6ca97;

    color:#0b1322;
}


/* CARD */

body.dark .address-card{
    background:#111d30;

    border-color:#2b3b52;
}


body.dark .address-card-top{
    color:#f7f3eb;

    border-color:#2b3b52;
}


body.dark .address-line{
    color:#f7f3eb;
}


body.dark .address-icon{
    background:#17253a;
}


body.dark .address-line span{
    color:#b7c0ce;
}


/* SECTIONS */

body.dark .address-intro,
body.dark .document-desk,
body.dark .journey-section{
    background:#111d30;
}


body.dark .why-section,
body.dark .checklist-section{
    background:#0f1b2e;
}


body.dark .snapshot-copy p,
body.dark .section-intro,
body.dark .why-note,
body.dark .reason p,
body.dark .check-intro p,
body.dark .check-item p,
body.dark .journey-step p{
    color:#b7c0ce;
}


body.dark .reason{
    border-color:#2b3b52;
}


body.dark .reason-list{
    border-color:#2b3b52;
}


body.dark .check-item{
    background:#111d30;

    border-color:#2b3b52;
}


body.dark .check-icon{
    background:#17253a;
}


/* PAPERS */

body.dark .paper.front{
    background:#111d30;

    border-color:#2b3b52;
}


body.dark .paper.back{
    background:#253247;
}


body.dark .paper.middle{
    background:#1c293d;
}


body.dark .paper-top,
body.dark .paper-row{
    border-color:#2b3b52;

    color:#f7f3eb;
}


body.dark .paper-row span{
    color:#b7c0ce;
}


/* JOURNEY */

body.dark .journey-number{
    background:#111d30;
}


/* MODAL */

body.dark .booking-modal{
    background:#111d30;
}


body.dark .form-group input,
body.dark .form-group select,
body.dark .form-group textarea{
    background:#0b1322;

    border-color:#2b3b52;

    color:#f7f3eb;
}


body.dark .form-group input::placeholder,
body.dark .form-group textarea::placeholder{
    color:#7f8b9c;
}


/* FOOTER */

body.dark .site-footer{
    background:#070e19;
}


/* BUTTON */

body.dark .book-btn,
body.dark .booking-submit{
    background:#e6ca97;

    color:#0b1322;
}
/* ADDRESS CHANGE — SCOPED DARK-MODE TEXT FIX
   This must never affect Document/Home or other pages. */

body.page-address-change.dark .address-hero *,
body.page-address-change.dark-mode .address-hero *,
body.page-address-change.dark .address-intro *,
body.page-address-change.dark-mode .address-intro *,
body.page-address-change.dark .why-section *,
body.page-address-change.dark-mode .why-section *,
body.page-address-change.dark .checklist-section *,
body.page-address-change.dark-mode .checklist-section *,
body.page-address-change.dark .document-desk *,
body.page-address-change.dark-mode .document-desk *,
body.page-address-change.dark .journey-section *,
body.page-address-change.dark-mode .journey-section * {
    color:#ffffff !important;
}

body.page-address-change.dark .address-card,
body.page-address-change.dark-mode .address-card,
body.page-address-change.dark .check-item,
body.page-address-change.dark-mode .check-item {
    background-color:#172945 !important;
}

body.page-address-change.dark main,
body.page-address-change.dark main * {
    visibility:visible !important;
    opacity:1 !important;
}

body.page-address-change.dark main h1,
body.page-address-change.dark main h2,
body.page-address-change.dark main h3,
body.page-address-change.dark main h4,
body.page-address-change.dark main p,
body.page-address-change.dark main span,
body.page-address-change.dark main li,
body.page-address-change.dark main label,
body.page-address-change.dark main strong,
body.page-address-change.dark main small {
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

body.page-address-change.dark main .card,
body.page-address-change.dark main .address-card,
body.page-address-change.dark main .check-item {
    background-color:#172945 !important;
}

body.page-address-change.dark main img {
    opacity:1 !important;
    visibility:visible !important;
}

/* DOCUMENT PAGE — the checklist paper stays light in both modes,
   so its typography must remain dark and visible. */
body.page-document .paper-main {
    background:#fff !important;
    color:#172945 !important;
}
body.page-document .paper-main h3,
body.page-document .paper-main .check-row span,
body.page-document .paper-main .paper-top span,
body.page-document .paper-main .paper-top i {
    color:#172945 !important;
    -webkit-text-fill-color:#172945 !important;
    opacity:1 !important;
    visibility:visible !important;
}
body.page-document .paper-main .paper-top span {
    color:#9b783b !important;
    -webkit-text-fill-color:#9b783b !important;
}
body.page-document .paper-main .paper-top i,
body.page-document .paper-main .check-row i {
    color:#6f8b62 !important;
    -webkit-text-fill-color:#6f8b62 !important;
}
body.page-document .paper-main .paper-line {
    background:#d9dce0 !important;
}
body.page-document .paper-main .check-row {
    border-color:#e6e8eb !important;
}
body.page-document .paper-main .paper-stamp {
    color:#52765f !important;
    -webkit-text-fill-color:#52765f !important;
    border-color:#52765f !important;
}

/* =========================================================
   FINAL FULL-PAGE VISIBILITY FIX — HOME 1 + ADDRESS CHANGE
   ========================================================= */

/* HOME 1: make dark mode truly cover every section */
body.page-index.dark-mode {
  --cream:#0b1423 !important;
  --white:#111f32 !important;
  --text:#f5f1e9 !important;
  --muted:#c0cad8 !important;
  --line:#2b3a50 !important;
  background:#0b1423 !important;
  color:#f5f1e9 !important;
}

body.page-index.dark-mode main,
body.page-index.dark-mode .section,
body.page-index.dark-mode .intro,
body.page-index.dark-mode .service-section,
body.page-index.dark-mode .why-section,
body.page-index.dark-mode .process-section,
body.page-index.dark-mode .testimonials-section,
body.page-index.dark-mode .cta,
body.page-index.dark-mode footer {
  color:#f5f1e9 !important;
}

body.page-index.dark-mode .section:not(.hero),
body.page-index.dark-mode .intro,
body.page-index.dark-mode .service-section,
body.page-index.dark-mode .process-section,
body.page-index.dark-mode .testimonials-section,
body.page-index.dark-mode .cta {
  background:#0b1423 !important;
}

body.page-index.dark-mode h1,
body.page-index.dark-mode h2,
body.page-index.dark-mode h3,
body.page-index.dark-mode h4,
body.page-index.dark-mode h5,
body.page-index.dark-mode strong,
body.page-index.dark-mode .section-title,
body.page-index.dark-mode .hero-copy h1,
body.page-index.dark-mode .hero-copy h1 span {
  color:#f8f5ef !important;
  -webkit-text-fill-color:#f8f5ef !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-index.dark-mode p,
body.page-index.dark-mode li,
body.page-index.dark-mode small,
body.page-index.dark-mode .section-intro,
body.page-index.dark-mode .intro-copy p,
body.page-index.dark-mode .hero-copy > p {
  color:#cbd5e1 !important;
  -webkit-text-fill-color:#cbd5e1 !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-index.dark-mode .card,
body.page-index.dark-mode .service-card,
body.page-index.dark-mode .process-card,
body.page-index.dark-mode .testimonial-card,
body.page-index.dark-mode .check-item,
body.page-index.dark-mode .feature-card,
body.page-index.dark-mode .why-card,
body.page-index.dark-mode .intro-label {
  background:#111f32 !important;
  color:#f5f1e9 !important;
  border-color:#2b3a50 !important;
}

body.page-index.dark-mode .card p,
body.page-index.dark-mode .service-card p,
body.page-index.dark-mode .process-card p,
body.page-index.dark-mode .testimonial-card p,
body.page-index.dark-mode .check-item p {
  color:#cbd5e1 !important;
}

body.page-index.dark-mode .reveal,
body.page-index.dark-mode .reveal.from-left,
body.page-index.dark-mode .reveal.from-right,
body.page-index.dark-mode .reveal.zoom-in {
  visibility:visible !important;
}

/* ADDRESS CHANGE: both theme class names are used by the JS */
body.page-address-change.dark-mode,
body.page-address-change.dark {
  --cream:#0b1322 !important;
  --white:#111d30 !important;
  --surface:#111d30 !important;
  --surface2:#17253a !important;
  --text:#f7f3eb !important;
  --muted:#c7d0dc !important;
  --line:#2b3b52 !important;
  background:#0b1322 !important;
  color:#f7f3eb !important;
}

body.page-address-change.dark-mode main,
body.page-address-change.dark main,
body.page-address-change.dark-mode .section,
body.page-address-change.dark .section {
  color:#f7f3eb !important;
}

body.page-address-change.dark-mode .section:not(.address-hero),
body.page-address-change.dark .section:not(.address-hero),
body.page-address-change.dark-mode .address-intro,
body.page-address-change.dark .address-intro,
body.page-address-change.dark-mode .why-section,
body.page-address-change.dark .why-section,
body.page-address-change.dark-mode .checklist-section,
body.page-address-change.dark .checklist-section,
body.page-address-change.dark-mode .journey-section,
body.page-address-change.dark .journey-section {
  background:#0b1322 !important;
}

body.page-address-change.dark-mode h1,
body.page-address-change.dark-mode h2,
body.page-address-change.dark-mode h3,
body.page-address-change.dark-mode h4,
body.page-address-change.dark h1,
body.page-address-change.dark h2,
body.page-address-change.dark h3,
body.page-address-change.dark h4 {
  color:#f7f3eb !important;
  -webkit-text-fill-color:#f7f3eb !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-address-change.dark-mode p,
body.page-address-change.dark-mode li,
body.page-address-change.dark-mode small,
body.page-address-change.dark-mode label,
body.page-address-change.dark .section-intro,
body.page-address-change.dark p,
body.page-address-change.dark li,
body.page-address-change.dark small,
body.page-address-change.dark label {
  color:#c7d0dc !important;
  -webkit-text-fill-color:#c7d0dc !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-address-change.dark-mode .address-card,
body.page-address-change.dark .address-card,
body.page-address-change.dark-mode .check-item,
body.page-address-change.dark .check-item,
body.page-address-change.dark-mode .reason,
body.page-address-change.dark .reason,
body.page-address-change.dark-mode .journey-step,
body.page-address-change.dark .journey-step,
body.page-address-change.dark-mode .old-card,
body.page-address-change.dark .old-card,
body.page-address-change.dark-mode .new-card,
body.page-address-change.dark .new-card {
  background:#111d30 !important;
  color:#f7f3eb !important;
  border-color:#2b3b52 !important;
}

body.page-address-change.dark-mode .address-card *,
body.page-address-change.dark .address-card *,
body.page-address-change.dark-mode .check-item *,
body.page-address-change.dark .check-item *,
body.page-address-change.dark-mode .reason *,
body.page-address-change.dark .reason *,
body.page-address-change.dark-mode .journey-step *,
body.page-address-change.dark .journey-step * {
  visibility:visible !important;
  opacity:1 !important;
}

body.page-address-change.dark-mode .reveal,
body.page-address-change.dark-mode .reveal-left,
body.page-address-change.dark-mode .reveal-right,
body.page-address-change.dark .reveal,
body.page-address-change.dark .reveal-left,
body.page-address-change.dark .reveal-right {
  visibility:visible !important;
}

/* =========================================================
   FINAL CONTRAST FIX — NAVY CONTENT SECTIONS
   These sections intentionally use a dark navy background in
   BOTH light and dark themes, so their text must stay light.
========================================================= */

/* HOME 1 — Beyond The Service Name / service story */
body.page-index .service-story,
body.page-index.dark-mode .service-story,
body.page-index.dark .service-story {
  color:#ffffff !important;
  background:#101d35 !important;
}

body.page-index .service-story .eyebrow,
body.page-index.dark-mode .service-story .eyebrow,
body.page-index.dark .service-story .eyebrow {
  color:#e6ca97 !important;
  -webkit-text-fill-color:#e6ca97 !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-index .service-story h2,
body.page-index.dark-mode .service-story h2,
body.page-index.dark .service-story h2 {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  text-shadow:none !important;
}

body.page-index .service-story p,
body.page-index.dark-mode .service-story p,
body.page-index.dark .service-story p {
  color:#d6dfeb !important;
  -webkit-text-fill-color:#d6dfeb !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-index .service-story .story-item,
body.page-index.dark-mode .service-story .story-item,
body.page-index.dark .service-story .story-item {
  color:#ffffff !important;
}

body.page-index .service-story .story-item a,
body.page-index.dark-mode .service-story .story-item a,
body.page-index.dark .service-story .story-item a {
  color:#e6ca97 !important;
  -webkit-text-fill-color:#e6ca97 !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* ADDRESS CHANGE — Need Clarity support strip */
body.page-address-change .support-strip,
body.page-address-change.dark-mode .support-strip,
body.page-address-change.dark .support-strip {
  color:#ffffff !important;
  background:#172945 !important;
}

body.page-address-change .support-strip .eyebrow,
body.page-address-change.dark-mode .support-strip .eyebrow,
body.page-address-change.dark .support-strip .eyebrow {
  color:#e6ca97 !important;
  -webkit-text-fill-color:#e6ca97 !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-address-change .support-strip h2,
body.page-address-change.dark-mode .support-strip h2,
body.page-address-change.dark .support-strip h2 {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  text-shadow:none !important;
}

body.page-address-change .support-strip p,
body.page-address-change.dark-mode .support-strip p,
body.page-address-change.dark .support-strip p {
  color:#d6dfeb !important;
  -webkit-text-fill-color:#d6dfeb !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-address-change .support-strip .support-item,
body.page-address-change.dark-mode .support-strip .support-item,
body.page-address-change.dark .support-strip .support-item {
  color:#ffffff !important;
}

body.page-address-change .support-strip .support-item span,
body.page-address-change.dark-mode .support-strip .support-item span,
body.page-address-change.dark .support-strip .support-item span {
  color:#f1f4f8 !important;
  -webkit-text-fill-color:#f1f4f8 !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* =========================================================
   ADDRESS CHANGE — DEFINITIVE TEXT VISIBILITY FIX
   The address-change page uses navy panels in BOTH themes.
   Keep headings/descriptions bright on those panels and make
   the page's reveal elements visible with the shared JS.
========================================================= */

/* Hero is permanently navy, so its heading must never use the
   light-theme navy text variable. */
body.page-address-change .address-hero .hero-copy,
body.page-address-change .address-hero .hero-title,
body.page-address-change .address-hero .hero-title * {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  text-shadow:none !important;
}

body.page-address-change .address-hero .hero-title span {
  color:#e6ca97 !important;
  -webkit-text-fill-color:#e6ca97 !important;
}

body.page-address-change .address-hero .hero-description {
  color:#d6dfeb !important;
  -webkit-text-fill-color:#d6dfeb !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Every dark/navy content panel on Address Change. */
body.page-address-change .support-strip,
body.page-address-change .final-cta {
  color:#fff !important;
}

body.page-address-change .support-strip h2,
body.page-address-change .final-cta h2,
body.page-address-change .support-strip h2 *,
body.page-address-change .final-cta h2 * {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  text-shadow:none !important;
}

body.page-address-change .support-strip p,
body.page-address-change .final-cta p {
  color:#d6dfeb !important;
  -webkit-text-fill-color:#d6dfeb !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.page-address-change .support-strip .support-item,
body.page-address-change .support-strip .support-item span,
body.page-address-change .support-strip .support-item i {
  color:#f1f4f8 !important;
  -webkit-text-fill-color:#f1f4f8 !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Dark mode: every normal content heading/paragraph must remain
   readable on the dark page background. */
body.page-address-change.dark-mode .section-title,
body.page-address-change.dark .section-title,
body.page-address-change.dark-mode .section-title *,
body.page-address-change.dark .section-title * {
  color:#f7f3eb !important;
  -webkit-text-fill-color:#f7f3eb !important;
  opacity:1 !important;
  visibility:visible !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  mix-blend-mode:normal !important;
  filter:none !important;
}

body.page-address-change.dark-mode .section-intro,
body.page-address-change.dark .section-intro,
body.page-address-change.dark-mode .snapshot-text,
body.page-address-change.dark .snapshot-text,
body.page-address-change.dark-mode .why-note,
body.page-address-change.dark .why-note,
body.page-address-change.dark-mode .simple-point p,
body.page-address-change.dark .simple-point p,
body.page-address-change.dark-mode .reason p,
body.page-address-change.dark .reason p,
body.page-address-change.dark-mode .journey-step p,
body.page-address-change.dark .journey-step p,
body.page-address-change.dark-mode .check-copy > p,
body.page-address-change.dark .check-copy > p {
  color:#cbd5e1 !important;
  -webkit-text-fill-color:#cbd5e1 !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Light mode: the dark panels still need light text. */
body.page-address-change:not(.dark):not(.dark-mode) .address-hero .hero-title,
body.page-address-change:not(.dark):not(.dark-mode) .support-strip h2,
body.page-address-change:not(.dark):not(.dark-mode) .final-cta h2 {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* The address page uses .active in its own CSS, while shared
   main.js uses .visible. Support both and prevent hidden text. */
body.page-address-change .reveal,
body.page-address-change .reveal-left,
body.page-address-change .reveal-right {
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
