/* Unificación visual: cabecera, botones, formularios y componentes de index.html. */
body.subpage header#header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:11px 6%;background:rgba(255,255,255,.96);box-shadow:0 8px 30px var(--shadow);backdrop-filter:blur(14px)}
body.subpage.dark-mode header#header{background:rgba(27,31,35,.96)}
body.subpage header#header .header-inner{width:min(1280px,100%);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}
body.subpage header#header .logo img{display:block;width:50px;height:50px;object-fit:contain}
body.subpage header#header nav{display:flex;align-items:center;gap:21px}
body.subpage header#header nav > a,body.subpage header#header .language-toggle,body.subpage header#header .theme-toggle{font-size:.84rem;font-weight:700;color:var(--text-strong)}
body.subpage header#header nav > a:hover,body.subpage header#header nav > a:focus-visible,body.subpage header#header .language-toggle:hover{color:var(--red)}
body.subpage header#header nav > a{white-space:nowrap}
body.subpage header#header .language-menu{position:relative}
body.subpage header#header .language-toggle{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid currentColor;border-radius:25px;padding:8px 13px;cursor:pointer}
body.subpage header#header .language-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:152px;display:block;visibility:hidden;opacity:0;transform:translateY(-8px);padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 15px 35px var(--shadow);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:1002}
body.subpage header#header .language-menu.open .language-dropdown{visibility:visible;opacity:1;transform:translateY(0)}
body.subpage header#header .language-dropdown a{display:block;width:100%;padding:10px;border-radius:7px;color:var(--text);font-size:.84rem;font-weight:600;text-align:left;line-height:1.35;white-space:normal}
body.subpage header#header .language-dropdown a + a{margin-top:4px}
body.subpage header#header .language-dropdown a:hover,body.subpage header#header .language-dropdown a.active{background:var(--surface-soft);color:var(--red)}
body.subpage header#header .theme-toggle{display:flex;gap:7px;align-items:center;padding:6px 8px;background:transparent;border:1px solid currentColor;border-radius:25px;cursor:pointer}
body.subpage header#header .theme-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;opacity:.45}
body.subpage header#header .theme-icon.active{opacity:1;background:var(--red)}
body.subpage header#header .menu-button{display:none;color:var(--text-strong);background:transparent;border:0;cursor:pointer;width:42px;height:42px}
body.subpage header#header .menu-button span{display:block;width:22px;height:2px;margin:5px auto;background:currentColor}
/* Páginas locales con bloques y tipografía originales */
.local-landing .service-page{min-height:auto;padding-top:155px;padding-bottom:90px}
.local-landing .service-page-hero{min-height:405px}
.local-landing .service-page h1{font-size:clamp(2.5rem,4.7vw,4.9rem)}
.local-landing .service-page-lead{line-height:1.8}
.local-landing .coverage-note{margin-top:24px;padding:15px 18px;border-left:4px solid var(--red);border-radius:6px;background:var(--surface-soft);color:var(--text-strong);font-size:.89rem;font-weight:700;line-height:1.7}
.local-landing .service-page-actions .btn-outline{background:transparent;border-color:var(--border);color:var(--text-strong)}
.local-landing .service-page-actions .btn-outline:hover{color:var(--red);border-color:var(--red)}
.local-landing .service-extra .section-header h2{font-size:clamp(2rem,4vw,3.3rem)}
.local-landing .service-extra .about-content h2{font-size:clamp(1.7rem,3.3vw,2.65rem);letter-spacing:-1px}
.local-landing .service-extra .about-content p{color:var(--muted);line-height:1.8}
.local-landing .service-extra .service-benefits{margin-top:28px}
.local-landing .service-extra .benefit-card h3{font-size:1.08rem}
.local-landing .service-extra details{background:var(--surface)}
.local-landing .service-extra details summary{color:var(--text-strong)}
.local-landing .local-breadcrumb{margin-bottom:32px}
.local-landing .local-cta-link{margin-top:24px}
.local-landing .service-detail-cta .btn-primary{background:var(--red);color:#fff}
/* Tienda: mismos componentes, ritmo, tipografía y paleta que portada */
.shop-unified .hero-shop{padding:176px 0 112px;background:radial-gradient(circle at 15% 82%,rgba(255,100,100,.3),transparent 31%),radial-gradient(circle at 85% 15%,rgba(100,0,8,.65),transparent 36%),linear-gradient(125deg,#680007,#d71920 50%,#950b12);isolation:isolate}
.shop-unified .hero-shop::before{border:0;box-shadow:none;top:-45%;right:-45%;width:145%;height:190%;border-radius:0;background:conic-gradient(transparent,rgba(255,255,255,.1),transparent 30%,rgba(255,150,150,.07),transparent 60%);opacity:.65;pointer-events:none}
.shop-unified .hero-shop-content{max-width:780px}
.shop-unified .hero-shop h1{font-size:clamp(2.8rem,6vw,5.8rem);line-height:1.03;letter-spacing:-3px;text-shadow:0 5px 25px rgba(60,0,0,.3)}
.shop-unified .hero-shop p{max-width:680px;color:#fff;font-weight:800;line-height:1.8}
.shop-unified .hero-shop-kicker{color:#fff}
.shop-unified .shop-section{background:var(--page-soft);padding:115px 0}
.shop-unified .shop-grid{gap:18px}
.shop-unified .product-card{border-radius:16px;background:var(--surface);box-shadow:0 8px 24px var(--shadow)}
.shop-unified .product-card h2{color:var(--text-strong);font-size:clamp(1.4rem,2vw,2rem)}
.shop-unified .product-card p{color:var(--muted)}
.shop-unified .product-button{border-radius:7px;background:var(--red)}
.shop-unified .order-section{background:var(--page);padding:115px 0}
.shop-unified .order-info h2{color:var(--text-strong);letter-spacing:-2px}
.shop-unified .shop-local-links{background:var(--page)}
.shop-unified .shop-local-links h2{color:var(--text-strong)}
.shop-unified .shop-local-links a{color:var(--red)}
.shop-unified .order-form{border-color:var(--border);background:var(--surface)}
.shop-unified .order-note,.shop-unified .required-option{background:var(--surface-soft)}
.shop-unified .option-item{color:var(--text)}
.shop-unified .order-form input,.shop-unified .order-form select,.shop-unified .order-form textarea{color:var(--text);background:var(--surface-soft)}
@media(max-width:1040px){body.subpage header#header nav{gap:12px}body.subpage header#header nav > a{font-size:.78rem}}
@media(max-width:720px){
 body.subpage header#header{padding:11px 5%}
 body.subpage header#header .menu-button{display:block}
 body.subpage header#header nav{position:absolute;top:75px;left:5%;right:5%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;border-radius:14px;background:var(--surface);box-shadow:0 18px 38px var(--shadow)}
 body.subpage header#header nav.open{display:flex}
 body.subpage header#header nav>a{padding:13px 10px;font-size:.9rem;color:var(--text-strong)}
 body.subpage header#header .language-menu{margin-top:4px}
 body.subpage header#header .language-toggle{width:100%;justify-content:center;color:var(--text-strong)}
 body.subpage header#header .language-dropdown{position:static;display:none;visibility:visible;opacity:1;transform:none;width:100%;margin-top:7px;box-shadow:none}
 body.subpage header#header .language-menu.open .language-dropdown{display:block;transform:none}
 body.subpage header#header .theme-toggle{align-self:center;color:var(--text-strong)}
 .local-landing .service-page{padding:125px 0 55px}
 .local-landing .service-page-hero{min-height:0}
 .local-landing .service-extra{padding:65px 0}
 .shop-unified .hero-shop{padding-top:150px;padding-bottom:80px}
 .shop-unified .shop-section,.shop-unified .order-section{padding:75px 0}
}


/* Shared language dropdown: works on every page, including index and its JS-rendered content */
header#header .language-menu{position:relative}
header#header .language-dropdown{position:absolute;top:calc(100% + 12px);right:0;display:block;min-width:172px;width:max-content;max-width:min(88vw,240px);padding:7px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 36px rgba(0,0,0,.16);visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:1105}
header#header .language-menu.open .language-dropdown{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
header#header .language-dropdown a,body.subpage header#header .language-dropdown a{display:flex;align-items:center;min-height:41px;width:100%;padding:10px 13px;margin:0;border-radius:7px;background:transparent;color:var(--text-strong);font-size:.89rem;line-height:1.3;font-weight:600;white-space:nowrap;text-align:left;letter-spacing:0}
header#header .language-dropdown a:hover,header#header .language-dropdown a:focus-visible,header#header .language-dropdown a.active{background:var(--surface-soft);color:var(--red)}
header#header .language-dropdown a + a,body.subpage header#header .language-dropdown a + a{margin-top:2px}
header#header .language-toggle{white-space:nowrap}
/* High contrast for breadcrumbs / CTA on light surfaces */
.service-detail-breadcrumb a{color:var(--text-strong)}
.service-detail-breadcrumb a:hover{color:var(--red)}
/* Coverage v2: editorial layout, illustrated self-contained SVG instead of repeated cards */
.coverage-v2{position:relative;isolation:isolate;padding:112px 0 120px;overflow:hidden;background:#101217;color:#fff}
.coverage-v2::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,rgba(162,18,30,.11),transparent 47%),linear-gradient(120deg,#11151c,#0c0e12);z-index:-2}
.coverage-v2::after{content:"";position:absolute;left:-140px;bottom:-260px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(214,29,38,.09),transparent 70%);z-index:-1}
.coverage-v2-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(38px,6vw,90px);align-items:center}
.coverage-v2-copy{min-width:0}
.coverage-v2-copy .section-kicker{font-size:.72rem;letter-spacing:2.4px;color:#ff626b;margin-bottom:23px}
.coverage-v2-copy h2{max-width:540px;font-size:clamp(2.6rem,4.55vw,4.65rem);line-height:1.045;letter-spacing:-.058em;color:#fff;font-weight:800;margin-bottom:25px}
.coverage-v2-lead{font-size:1rem;line-height:1.83;font-weight:500;color:#bcc3cb;max-width:545px}
.coverage-v2-lead strong{font-weight:750;color:#fff}
.coverage-availability{display:inline-flex;align-items:center;gap:10px;margin-top:29px;padding:11px 16px;border:1px solid rgba(249,255,255,.13);border-radius:100px;color:#f1f3f5;font-weight:700;font-size:.81rem;letter-spacing:.02em;background:rgba(255,255,255,.045)}
.coverage-availability-dot,.coverage-v2-map-status span{width:8px;height:8px;border-radius:50%;background:#ed2734;box-shadow:0 0 0 4px rgba(237,39,52,.13)}
.coverage-places{display:grid;margin-top:36px;border-top:1px solid rgba(255,255,255,.13)}
.coverage-place{min-height:84px;padding:14px 0;display:grid;align-items:center;grid-template-columns:34px 1fr 26px;gap:15px;border-bottom:1px solid rgba(255,255,255,.13);color:#fff;transition:padding .3s ease}
.coverage-place-num{color:#ed4c55;font-weight:800;font-size:.78rem;letter-spacing:.04em}
.coverage-place-info{display:flex;min-width:0;flex-direction:column;gap:5px}
.coverage-place-info strong{font-size:1.12rem;color:#fff;font-weight:750;letter-spacing:-.015em}
.coverage-place-info small{font-size:.77rem;line-height:1.5;color:#aeb7c2;font-weight:500}
.coverage-place-arrow{font-size:1.42rem;color:#fff;opacity:.6;transition:transform .25s ease,color .25s ease}
.coverage-place:hover,.coverage-place:focus-visible{padding-left:9px}
.coverage-place:hover .coverage-place-arrow,.coverage-place:focus-visible .coverage-place-arrow{transform:translate(3px,-3px);color:#ff6169;opacity:1}
.coverage-place:hover .coverage-place-info strong{color:#ffdde1}
.coverage-v2-note{margin-top:21px;max-width:520px;font-size:.85rem;line-height:1.8;color:#9faab6}
.coverage-v2-cta{display:inline-flex;align-items:center;gap:18px;margin-top:26px;border-bottom:1px solid #fa525d;padding-bottom:10px;color:#fff;font-size:.91rem;font-weight:760}
.coverage-v2-cta span{color:#ff5b63;font-size:1.12rem;transition:transform .2s ease}
.coverage-v2-cta:hover span{transform:translate(4px,-4px)}
.coverage-v2-map{min-width:0;position:relative;border:1px solid rgba(242,247,251,.13);border-radius:22px;background:linear-gradient(145deg,#171e28,#0c111a);overflow:hidden;box-shadow:0 38px 75px rgba(0,0,0,.25)}
.coverage-v2-map-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:29px 30px 6px}
.coverage-v2-map-eyebrow{font-size:.67rem;font-weight:760;letter-spacing:2.1px;color:#9ba8b7}
.coverage-map-separator{color:#e22e3b;margin:0 8px}
.coverage-v2-map-head h3{font-size:1.25rem;letter-spacing:-.03em;font-weight:730;color:#fff;margin-top:8px}
.coverage-v2-map-status{display:inline-flex;align-items:center;gap:9px;color:#b7c5d2;font-size:.7rem;letter-spacing:1.1px;font-weight:800;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:50px}
.coverage-svg-wrap{width:100%;margin-top:-6px;line-height:0}
.coverage-illustration{width:100%;height:auto;display:block;max-height:520px}
.coverage-illustration .territory-shadow{fill:#080a10;opacity:.6}
.coverage-illustration .territory-fill{fill:url(#catFill);stroke:url(#catBorder);stroke-width:2;stroke-linejoin:round}
.coverage-illustration .map-region-label{fill:#e1e9f0;font-size:13px;font-weight:800;letter-spacing:3px}
.coverage-illustration .map-sub-label{fill:#91a4b6;font-size:9px;font-weight:700;letter-spacing:1.7px}
.coverage-illustration .map-scale-label{fill:#8794a4;font-size:9px;letter-spacing:1.2px;font-weight:700}
.coverage-illustration .map-north{fill:#acb6c4;font-size:9px;font-weight:700}
.coverage-illustration .map-connector{fill:none;stroke:#f36c74;stroke-width:1.35;stroke-dasharray:3 4;opacity:.72}
.coverage-illustration .map-point-halo{fill:#ee3540;fill-opacity:.12;stroke:#eb3540;stroke-opacity:.18;stroke-width:1}
.coverage-illustration .map-point{fill:#e72a36;stroke:#fff;stroke-width:1.8}
.coverage-illustration .map-point-core{fill:#fff}
.coverage-illustration .map-label-backdrop{fill:#101723;stroke:#708095;stroke-opacity:.7;stroke-width:.8}
.coverage-illustration .map-location-label{fill:#fff;font-size:13px;font-weight:750;letter-spacing:.1px}
.coverage-v2-map-foot{display:flex;gap:16px;align-items:end;justify-content:space-between;padding:7px 30px 28px;border-top:1px solid rgba(255,255,255,.08)}
.coverage-v2-map-foot>div{display:flex;align-items:center;gap:10px;margin-top:19px}
.coverage-v2-map-foot strong{font-size:.8rem;letter-spacing:.02em;color:#f4f5f7}
.coverage-v2-map-foot-dot{width:8px;height:8px;border-radius:50%;background:#e72c37;display:block}
.coverage-v2-map-foot small{font-size:.66rem;line-height:1.65;text-align:right;max-width:175px;color:#9aa7b5}
@media(max-width:1050px){.coverage-v2-grid{grid-template-columns:1fr;gap:54px}.coverage-v2-copy{max-width:720px}.coverage-v2-copy h2{max-width:720px}.coverage-v2-map{max-width:720px;width:100%;margin:auto}.coverage-v2{padding:88px 0 95px}}
@media(max-width:720px){
 header#header .language-dropdown,body.subpage header#header .language-dropdown{position:static;width:100%;min-width:0;max-width:none;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;margin-top:6px;padding:5px;box-shadow:none;border-radius:9px}
 header#header .language-menu.open .language-dropdown,body.subpage header#header .language-menu.open .language-dropdown{display:block;transform:none;opacity:1;visibility:visible}
 header#header .language-dropdown a,body.subpage header#header .language-dropdown a{min-height:44px;justify-content:center;font-size:.9rem}
 .coverage-v2{padding:76px 0 85px}.coverage-v2-grid{gap:38px}.coverage-v2-copy h2{font-size:clamp(2.5rem,10vw,3.8rem)}.coverage-v2-lead{font-size:.95rem}.coverage-availability{margin-top:23px}.coverage-place{min-height:78px}.coverage-v2-map-head{padding:23px 18px 0}.coverage-v2-map-foot{padding:0 18px 22px}.coverage-v2-map-foot small{max-width:124px}.coverage-illustration{max-height:none}.coverage-v2-map-status{font-size:.64rem;padding:8px 9px}
}
@media(prefers-reduced-motion:reduce){.coverage-place,.coverage-place-arrow,.coverage-v2-cta span{transition:none}}

#inici,#serveis,#nosaltres,#contacte,#zones{scroll-margin-top:86px}

/* Ajustes finales de tema: modo claro/oscuro coherente */
.coverage-v2{background:linear-gradient(180deg,var(--page-soft),var(--page));color:var(--text-strong)}
.coverage-v2::before{background:radial-gradient(ellipse at 78% 48%,rgba(215,25,32,.08),transparent 45%),linear-gradient(135deg,var(--page-soft),var(--page))}
.coverage-v2-copy .section-kicker{color:var(--red)}
.coverage-v2-copy h2,.coverage-v2-lead strong,.coverage-place,.coverage-place-info strong,.coverage-v2-cta,.coverage-v2-map-head h3,.coverage-v2-map-foot strong{color:var(--text-strong)}
.coverage-v2-lead,.coverage-place-info small,.coverage-v2-note,.coverage-v2-map-eyebrow,.coverage-v2-map-status,.coverage-v2-map-foot small{color:var(--muted)}
.coverage-availability{border-color:var(--border);color:var(--text-strong);background:var(--surface)}
.coverage-places{border-top:1px solid var(--border)}
.coverage-place{border-bottom:1px solid var(--border)}
.coverage-place:hover .coverage-place-info strong{color:var(--red)}
.coverage-v2-cta{border-bottom-color:var(--red)}
.coverage-v2-map{border-color:var(--border);background:linear-gradient(145deg,var(--surface),var(--page-soft));box-shadow:0 24px 50px var(--shadow)}
.coverage-v2-map-status{border-color:var(--border);background:var(--surface)}
.coverage-v2-map-foot{border-top:1px solid var(--border)}
.coverage-illustration .territory-shadow{fill:#d8e1e8;opacity:.65}
.coverage-illustration .territory-fill{fill:url(#catFillLight);stroke:#70869b;stroke-width:2;stroke-linejoin:round}
.coverage-illustration .map-region-label{fill:#304454}
.coverage-illustration .map-sub-label,.coverage-illustration .map-scale-label,.coverage-illustration .map-north{fill:#6a7f90}
.coverage-illustration .map-connector{stroke:#d54b56;opacity:.8}
.coverage-illustration .map-label-backdrop{fill:#ffffff;stroke:#9eb0c0;stroke-opacity:.95;stroke-width:.9}
.coverage-illustration .map-location-label{fill:#1d2430}
body.dark-mode .coverage-v2{background:#101217;color:#fff}
body.dark-mode .coverage-v2::before{background:radial-gradient(ellipse at 75% 50%,rgba(162,18,30,.11),transparent 47%),linear-gradient(120deg,#11151c,#0c0e12)}
body.dark-mode .coverage-v2-copy h2,body.dark-mode .coverage-v2-lead strong,body.dark-mode .coverage-place,body.dark-mode .coverage-place-info strong,body.dark-mode .coverage-v2-cta,body.dark-mode .coverage-v2-map-head h3,body.dark-mode .coverage-v2-map-foot strong{color:#fff}
body.dark-mode .coverage-v2-lead,body.dark-mode .coverage-place-info small,body.dark-mode .coverage-v2-note,body.dark-mode .coverage-v2-map-eyebrow,body.dark-mode .coverage-v2-map-status,body.dark-mode .coverage-v2-map-foot small{color:#aeb7c2}
body.dark-mode .coverage-availability{border-color:rgba(249,255,255,.13);color:#f1f3f5;background:rgba(255,255,255,.045)}
body.dark-mode .coverage-places,body.dark-mode .coverage-place{border-color:rgba(255,255,255,.13)}
body.dark-mode .coverage-v2-map{border-color:rgba(242,247,251,.13);background:linear-gradient(145deg,#171e28,#0c111a);box-shadow:0 38px 75px rgba(0,0,0,.25)}
body.dark-mode .coverage-v2-map-status{border-color:rgba(255,255,255,.1);background:transparent}
body.dark-mode .coverage-v2-map-foot{border-color:rgba(255,255,255,.08)}
body.dark-mode .coverage-illustration .territory-shadow{fill:#080a10;opacity:.6}
body.dark-mode .coverage-illustration .territory-fill{fill:url(#catFillDark);stroke:url(#catBorderDark)}
body.dark-mode .coverage-illustration .map-region-label{fill:#e1e9f0}
body.dark-mode .coverage-illustration .map-sub-label,body.dark-mode .coverage-illustration .map-scale-label,body.dark-mode .coverage-illustration .map-north{fill:#91a4b6}
body.dark-mode .coverage-illustration .map-label-backdrop{fill:#101723;stroke:#708095;stroke-opacity:.7;stroke-width:.8}
body.dark-mode .coverage-illustration .map-location-label{fill:#fff}


/* Consistencia de colores al alternar el modo claro y oscuro, en todas las páginas. */
body, body.subpage, .section, .service-page, .shop-section, .order-section, .shop-local-links{color:var(--text);}
body:not(.dark-mode) .contact-section{background:linear-gradient(145deg,#f6f7f9,#eceef1);color:var(--text-strong);}
body:not(.dark-mode) .contact-section h2,body:not(.dark-mode) .contact-details div,body:not(.dark-mode) .contact-details a,body:not(.dark-mode) .opening-hours h3{color:var(--text-strong);}
body:not(.dark-mode) .contact-section p,body:not(.dark-mode) .opening-hours p{color:var(--muted);}
body:not(.dark-mode) .contact-section .section-kicker{color:var(--red);}
body:not(.dark-mode) .opening-hours{background:var(--surface);border-color:var(--border);}
body:not(.dark-mode) .contact-form input,body:not(.dark-mode) .contact-form textarea,body:not(.dark-mode) .captcha-box{background:var(--surface);color:var(--text);border-color:var(--border);}
body:not(.dark-mode) .contact-form input::placeholder,body:not(.dark-mode) .contact-form textarea::placeholder{color:var(--muted);}
body:not(.dark-mode) .captcha-box{color:var(--text);}
body.dark-mode .contact-section{background:linear-gradient(145deg,#13171b,#1c2025);color:var(--text-strong);}
body.dark-mode .contact-form input,body.dark-mode .contact-form textarea,body.dark-mode .captcha-box{background:var(--surface);color:var(--text);border-color:var(--border);}
body.dark-mode .opening-hours{background:var(--surface);border-color:var(--border);}
body .process-section{background:var(--page-soft);color:var(--text-strong);}
body .process-section h2,body .process-item h3{color:var(--text-strong);}
body .process-intro,body .process-item p{color:var(--muted);}
body .process-step{color:#fff;}
body footer{background:var(--page-soft);border-top:1px solid var(--border);color:var(--muted);}
body.dark-mode footer{background:#0d1013;color:var(--muted);}
body .service-detail-cta{background:var(--page-soft);color:var(--text-strong);}
body .service-detail-cta h2{color:var(--text-strong);}
body .service-detail-cta p{color:var(--muted);}
body .service-detail-cta .btn-outline{color:var(--text-strong);border-color:var(--border);background:transparent;}
body .service-detail-cta .btn-outline:hover{background:var(--surface);color:var(--red);}
body .coverage-v2{transition:background-color .3s,color .3s;}
body .coverage-map-section{background:var(--page-soft);color:var(--text);}
body .coverage-v2-map{background:linear-gradient(145deg,var(--surface),var(--page-soft));}
body.dark-mode .coverage-v2-map{background:linear-gradient(145deg,#171e28,#0c111a);}
header#header .language-dropdown,body.subpage header#header .language-dropdown{background:var(--surface);color:var(--text-strong);}
header#header .language-dropdown a,body.subpage header#header .language-dropdown a{color:var(--text-strong);}
.shop-unified .order-form input:focus-visible,.shop-unified .order-form select:focus-visible,.shop-unified .order-form textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
body .service-detail-links a,body .service-extra details,body .benefit-card{border-color:var(--border);}
/* Site-wide reduced-motion support. */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
