/* Shared colour layer. The calendar script supplies only these theme tokens. */
:root {
  --theme-primary:#0866ff;
  --theme-hover:#0550cc;
  --theme-page:#f5f8ff;
  --theme-soft:#eaf1ff;
  --theme-border:#c6d8fa;
  --theme-ink:#142744;
  --theme-muted:#52657f;
  --theme-rgb:8,102,255;
  --blue:var(--theme-primary);
  --blue-dark:var(--theme-hover);
  --navy:var(--theme-ink);
  --text:var(--theme-muted);
  --line:var(--theme-border);
  --pale:var(--theme-soft);
  --shadow:0 20px 60px rgba(var(--theme-rgb),.09);
}
body.policy-page {
  --policy-blue:var(--theme-primary);
  --policy-ink:var(--theme-ink);
  --policy-muted:var(--theme-muted);
  --policy-line:var(--theme-border);
  background:var(--theme-page);
}

/* Home: retain original photography, brand artwork, coral and error colours. */
.hero,.biz-hero,.promo-page .promo-focus-hero {
  background:linear-gradient(112deg,var(--theme-page),var(--theme-soft));
}
.hero-orbit {border-color:var(--theme-border)}
.hero-bottom {border-color:var(--theme-border)}
.hero-bottom>span,.hero-bottom>div {color:var(--theme-muted)}
.hero-bottom>a {border-color:var(--theme-border);color:var(--theme-primary)}
.hero-offer-actions .hero-coverage-link {
  background:var(--theme-primary);color:#fff;
  box-shadow:0 6px 18px rgba(var(--theme-rgb),.14);
}
.hero-offer-actions .hero-coverage-link:hover {
  background:var(--theme-hover);box-shadow:0 9px 22px rgba(var(--theme-rgb),.19);
}
.hero-coverage-link .hero-action-copy small {color:#fff}
.hero-offer-actions .hero-package-link {color:var(--theme-ink);border-color:var(--theme-border)}
.hero-offer-actions .hero-package-link:hover {color:var(--theme-primary);border-color:var(--theme-primary)}
.hero-offer-note {background:var(--theme-soft);border-color:var(--theme-border)}
.hero-offer-pill,.hero-offer-note .tiny-check {background:var(--theme-page);color:var(--theme-primary)}
.hero-offer-note .hero-note-copy>span,.hero-note-copy>span {color:var(--theme-muted)}
.hero-promo-link {color:var(--theme-hover)}
.hero-promo-link:hover {color:var(--theme-hover)}
.speed-note {
  background:linear-gradient(145deg,var(--theme-primary),var(--theme-hover));color:#fff;
  box-shadow:0 13px 26px rgba(var(--theme-rgb),.2),0 0 0 3px rgba(255,255,255,.7);
}
.speed-note-bottom,.speed-note-range .hero-badge-price small {color:#fff}
.announcement {background:var(--theme-primary);color:#fff}
.announcement a {color:#fff}
.everyday-panel {background:var(--theme-soft)}
.activity-tabs {border-color:var(--theme-border);background:#fff;box-shadow:0 5px 18px rgba(var(--theme-rgb),.04)}
.activity-tabs button {color:var(--theme-muted)}
.activity-tabs button[aria-selected="true"] {background:var(--theme-primary);color:#fff}
.activity-tabs.is-enhanced button[aria-selected="true"] {background:transparent;color:#fff}
.activity-tabs button[aria-selected="false"]:hover {background:var(--theme-soft);color:var(--theme-hover)}
.activity-tab-indicator {background:var(--theme-primary);box-shadow:0 4px 10px rgba(var(--theme-rgb),.15)}
.activity-mark {color:var(--theme-primary);border-color:var(--theme-border);box-shadow:0 9px 23px rgba(var(--theme-rgb),.06)}
.activity-orbit {border-color:rgba(var(--theme-rgb),.25)}
.activity-trail {background:rgba(var(--theme-rgb),.2)}
.activity-panel .text-link,.everyday-intro .eyebrow {color:var(--theme-hover)}
.packages-section,.faq-section {background:var(--theme-page)}
.faq-list details {border-color:var(--theme-border)}
.faq-plus {border-color:var(--theme-border);color:var(--theme-primary)}
.footer-links>a,.footer-contact>a,.footer-contact address,.footer-bottom p,.footer-bottom a {color:var(--theme-muted)}
.contact-sales>span {color:var(--theme-primary)}
.footer-bottom {border-color:var(--theme-border)}

/* Featured plans keep readable white foregrounds in every palette. */
.package-card {border-color:var(--theme-border)}
.plan-up-to,.plan-card .package-price>span:last-child {color:var(--theme-muted)}
.plan-featured {background:var(--theme-primary);border-color:var(--theme-primary);color:#fff;box-shadow:0 12px 35px rgba(var(--theme-rgb),.16)}
.plan-featured h3,.plan-featured .package-speed,.plan-featured .package-price,
.plan-featured .plan-label,.plan-featured .plan-up-to,.plan-featured .package-price>span:last-child,
.plan-featured .plan-features li,.plan-featured .plan-features strong,.plan-featured .plan-features li>.icon,
.plan-featured .plan-info>.icon,.plan-featured .plan-info p,.plan-featured .plan-bonus strong {color:#fff}
.plan-featured .package-price,.plan-featured .plan-info {border-color:rgba(255,255,255,.35)}
.plan-featured .button {background:#fff;color:var(--theme-primary);border-color:#fff}
.plan-featured .button:hover {background:var(--theme-soft);color:var(--theme-hover)}
.plan-featured:hover {border-color:var(--theme-primary);box-shadow:0 17px 38px rgba(var(--theme-rgb),.22)}
.plan-featured:focus-within {box-shadow:0 0 0 2px var(--coral),0 12px 30px rgba(var(--theme-rgb),.18)}
.package-details {border-color:var(--theme-border)}
.package-details .package-usage-note,.package-details .package-terms {color:var(--theme-muted)}
.business-teasers .business-package-dedicated,.business-teasers .business-package-reseller {background:var(--theme-soft);border-color:var(--theme-border);color:var(--theme-ink)}
.business-teasers .business-package-icon {background:#fff;color:var(--theme-primary);border-color:var(--theme-border)}
.business-teasers .business-package-copy {color:var(--theme-muted)}
.business-teasers .business-package .business-package-cta {background:var(--theme-primary);color:#fff;border-color:var(--theme-primary)}
.business-teasers .business-package .business-package-cta:hover {background:var(--theme-hover);border-color:var(--theme-hover)}

/* Promotional panels use quiet surfaces; coral details stay warm. */
.promo-story-band {background:linear-gradient(115deg,var(--theme-page),var(--theme-soft));border-color:var(--theme-border)}
.promo-story-benefit,.promo-story-note {border-color:var(--theme-border)}
.promo-story-benefit p,.promo-story-note {color:var(--theme-muted)}
.promo-story-intro .text-link,.promo-story-intro .eyebrow {color:var(--theme-hover)}
.community-offer {background:var(--theme-page);border-color:var(--theme-border);color:var(--theme-ink)}
.community-offer .community-offer-tag,.community-offer p {color:var(--theme-muted)}
.community-offer p strong {color:var(--theme-ink)}
.community-offer a {color:var(--theme-primary)}
.promo-focus-offer {border-color:var(--theme-border)}
.promo-focus-friend {background:var(--theme-soft);border-color:var(--theme-border)}
.promo-focus-friend .promo-focus-icon {color:var(--theme-primary);background:var(--theme-page)}
.promo-focus-tag,.promo-focus-benefit>span,.promo-focus-terms {color:var(--theme-muted)}
.promo-focus-benefit {border-color:var(--theme-border);color:var(--theme-ink)}
.promo-focus-friend .button {background:#fff;border-color:var(--theme-border);color:var(--theme-primary)}
.promo-focus-friend .button:hover {background:var(--theme-page);border-color:var(--theme-primary)}
.promo-focus-back>div {background:var(--theme-page);border-color:var(--theme-border)}

/* Business pages share the same theme, including their dark illustration. */
.biz-breadcrumb,.biz-hero-note,.biz-intro-strip>div,.biz-usecase .biz-example {color:var(--theme-muted)}
.biz-board {background:linear-gradient(145deg,#fff,var(--theme-soft));border-color:var(--theme-border);box-shadow:0 22px 60px rgba(var(--theme-rgb),.07)}
.biz-board .biz-orbit,.biz-board .biz-orbit:after {border-color:var(--theme-border)}
.biz-board-lines {stroke:var(--theme-border)}
.biz-hub {background:var(--theme-primary);color:#fff;box-shadow:0 12px 28px rgba(var(--theme-rgb),.17)}
.biz-scene-tag {background:#fff;color:var(--theme-ink);border-color:var(--theme-border);box-shadow:0 5px 18px rgba(var(--theme-rgb),.05)}
.biz-board-caption {color:var(--theme-muted)!important}
.business-reseller .biz-board {background:linear-gradient(145deg,var(--theme-primary),var(--theme-hover));border-color:var(--theme-hover);color:#fff}
.business-reseller .biz-board-heading>span {color:#fff}
.business-reseller .biz-board .biz-orbit,.business-reseller .biz-board .biz-orbit:after {border-color:rgba(255,255,255,.3)}
.business-reseller .biz-board-lines {stroke:rgba(255,255,255,.35)}
.business-reseller .biz-hub {background:#fff;color:var(--theme-primary)}
.business-reseller .biz-scene-tag {background:var(--theme-hover);border-color:rgba(255,255,255,.4);color:#fff}
.business-reseller .biz-scene-tag>.icon {color:#fff}
.biz-intro-strip,.biz-discussion-list li,.biz-faq-list details {border-color:var(--theme-border)}
.biz-case-icon,.biz-discussion-list li>span {background:var(--theme-soft);color:var(--theme-primary)}
.biz-pale {background:var(--theme-page)}
.biz-offer-note {background:var(--theme-soft);border-color:var(--theme-border)}
.biz-faq {background:var(--theme-page)}
.biz-faq-list summary:after {background:var(--theme-soft);color:var(--theme-primary)}
.biz-service {border-color:var(--theme-border)}
.biz-service:nth-child(2) {background:var(--theme-soft);border-color:var(--theme-border)}
.biz-service ul,.biz-comparison>p {color:var(--theme-muted)}
.biz-table-wrap,.biz-table-wrap td,.biz-table-wrap tr {border-color:var(--theme-border)}
.biz-table-wrap th {background:var(--theme-soft);color:var(--theme-muted)}
.biz-table-wrap td,.biz-table-wrap td:before {color:var(--theme-muted)}
.biz-table-wrap td:nth-child(2) {color:var(--theme-ink)}
.biz-final {background:linear-gradient(115deg,var(--theme-primary),var(--theme-hover));color:#fff}
.biz-final .eyebrow,.biz-final p:not(.eyebrow),.biz-final h2 {color:#fff}
.biz-final .button {background:#fff;color:var(--theme-primary)}
.biz-final .button:hover {background:var(--theme-soft);color:var(--theme-hover)}
.biz-footer-links>a,.biz-footer-contact a,.biz-footer-contact p,.biz-footer-contact address,
.biz-footer-bottom p,.biz-footer-bottom a {color:var(--theme-muted)}
.biz-footer-bottom {border-color:var(--theme-border)}

/* Forms: stronger control edges and stable geometry during location lookup. */
.contact-form .field input:not([aria-invalid="true"]),
.contact-form .field textarea:not([aria-invalid="true"]),
.contact-form .field select:not([aria-invalid="true"]) {border-color:var(--theme-muted);background:#fff;color:var(--theme-ink)}
.contact-form .field input:not([aria-invalid="true"]):focus,
.contact-form .field textarea:not([aria-invalid="true"]):focus,
.contact-form .field select:not([aria-invalid="true"]):focus {border-color:var(--theme-primary);box-shadow:0 0 0 3px rgba(var(--theme-rgb),.16)}
.contact-form .field input::placeholder,.contact-form .field textarea::placeholder {color:var(--theme-muted);opacity:1}
.contact-form .form-privacy,#location-summary,.location-credit,.location-cancel,.location-clear {color:var(--theme-muted)}
.location-credit a,.location-map-link {color:var(--theme-primary)}
.location-choice .button.button-location {
  justify-content:flex-start;align-items:center;gap:11px;
  width:230px;max-width:100%;min-height:52px;padding:9px 13px;
  border:1px solid var(--theme-primary);border-radius:13px;
  background:#fff;color:var(--theme-primary);
  box-shadow:0 3px 10px rgba(var(--theme-rgb),.07);
  font-size:13px;line-height:1.5;text-align:left;
}
.location-choice .button.button-location>svg {
  box-sizing:border-box;display:block;width:32px;height:32px;flex:0 0 32px;
  padding:7px;border-radius:10px;background:var(--theme-soft);color:var(--theme-primary);transform:none;
}
.location-choice .button.button-location>#location-button-label {min-width:0;flex:1}
.location-choice .button.button-location:hover {background:var(--theme-page);border-color:var(--theme-hover);color:var(--theme-hover)}
.location-choice .button.button-location:focus-visible {outline:3px solid var(--theme-primary);outline-offset:3px}
.location-choice .button.button-location:disabled {opacity:1;cursor:wait}

/* Static policies have their own variables and component colours. */
.policy-page .policy-nav>a,.policy-page .policy-date,.policy-page .contents>a,
.policy-page .policy-document p,.policy-page .policy-document li,.policy-page .business-details dt,
.policy-page .business-details dd,.policy-page .notice p {color:var(--theme-muted)}
.policy-page .policy-nav>a:hover,.policy-page .contents>a:hover {background:var(--theme-page)}
.policy-page .policy-nav>a[aria-current="page"] {background:var(--theme-soft);color:var(--theme-hover);box-shadow:inset 0 -3px var(--theme-primary)}
.policy-page .card-icon {background:var(--theme-soft);color:var(--theme-hover)}
.policy-page .notice,.policy-page .policy-help {background:var(--theme-soft);border-color:var(--theme-border);color:var(--theme-ink)}
.policy-page .estimate-grid>div {background:var(--theme-page);border-color:var(--theme-border)}
.policy-page .business-details>div {border-color:var(--theme-border)}
.policy-page .contact-value,.policy-page .contact-channels p.contact-value {color:var(--theme-primary)}
.policy-page .button:hover,.policy-page .policy-button:hover {background:var(--theme-hover);border-color:var(--theme-hover)}
.policy-page .button.secondary {background:var(--theme-soft);color:var(--theme-hover);border-color:var(--theme-primary)}
.policy-page .notice a,.policy-page .policy-help a,.policy-page .estimate-grid a {color:var(--theme-hover)}
.policy-page .policy-footer {background:var(--theme-ink);color:#fff}
.policy-page .policy-footer p,.policy-page .policy-footer address,.policy-page .policy-footer a {color:#fff}
.policy-page .policy-footer-bottom {border-color:rgba(255,255,255,.3);color:#fff!important}
.policy-page .policy-footer a:focus-visible {outline-color:#fff}
.language-switcher {background:var(--theme-page);border-color:var(--theme-border)}
.language-switcher a {color:var(--theme-muted)}
.language-switcher a[aria-current="page"] {background:var(--theme-primary);color:#fff}
.language-switcher a:hover {background:var(--theme-soft);color:var(--theme-hover)}
.language-switcher a[aria-current="page"]:hover {background:var(--theme-hover);color:#fff}
