/*
 * TravelSIMPro Atlas 0.96.60-alpha80 — site-wide seasonal completion layer.
 * Enqueued after customer-facing Atlas modules. Presentation only.
 * Semantic state colors (success/active/error/warning) remain semantic.
 */

/* 1. One resolved seasonal token bridge for all Atlas customer surfaces. */
body.tsp-atlas-seasonal{
  --tsp-atlas-primary:var(--tsp-page-theme-main,var(--tsp-seasonal-a));
  --tsp-atlas-primary-dark:var(--tsp-page-theme-dark,var(--tsp-seasonal-dark,var(--tsp-seasonal-a)));
  --tsp-atlas-accent:var(--tsp-page-theme-accent,var(--tsp-seasonal-b));
  --tsp-seasonal-soft:color-mix(in srgb,var(--tsp-page-theme-main,var(--tsp-seasonal-a)) 7%,#fff);
  --tsp-seasonal-soft-2:color-mix(in srgb,var(--tsp-page-theme-accent,var(--tsp-seasonal-b)) 10%,#fff);
  --tsp-seasonal-line:color-mix(in srgb,var(--tsp-page-theme-main,var(--tsp-seasonal-a)) 24%,#dbe4ed);
  --tsp-seasonal-shadow:color-mix(in srgb,var(--tsp-page-theme-dark,var(--tsp-seasonal-a)) 14%,transparent);
}
body.tsp-atlas-seasonal .site-header a:hover,
body.tsp-atlas-seasonal .site-header .current-menu-item>a,
body.tsp-atlas-seasonal .site-header .current_page_item>a{color:var(--tsp-atlas-primary-dark)}
body.tsp-atlas-seasonal .site-footer a:hover,
body.tsp-atlas-seasonal footer a:hover{color:var(--tsp-atlas-primary-dark)!important}

/* 2. TravelCash — season-aware reward presentation. */
body.tsp-atlas-seasonal .tsp-travelcash-mini,
body.tsp-atlas-seasonal .tsp-atlas-mobile-travelcash-cta,
body.tsp-atlas-seasonal.tsp-atlas-travelcash-enabled .site-header .main-header-menu>.menu-item.tsp-atlas-travelcash-menu>.menu-link,
body.tsp-atlas-seasonal.tsp-atlas-travelcash-enabled .site-header .tsp-atlas-travelcash-menu>.menu-link{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 38%,#e6d79f)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--tsp-page-theme-main) 4%,#fff),color-mix(in srgb,var(--tsp-page-theme-accent) 14%,#fff))!important;
  color:var(--tsp-page-theme-dark)!important;
  box-shadow:0 7px 20px var(--tsp-seasonal-shadow)!important
}
body.tsp-atlas-seasonal .tsp-travelcash-mini span,
body.tsp-atlas-seasonal .tsp-travelcash-mini small,
body.tsp-atlas-seasonal .tsp-atlas-mobile-travelcash-cta,
body.tsp-atlas-seasonal .tsp-atlas-mobile-travelcash-cta strong{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-atlas-mobile-travelcash-cta:hover,
body.tsp-atlas-seasonal .tsp-atlas-mobile-travelcash-cta:focus,
body.tsp-atlas-seasonal.tsp-atlas-travelcash-enabled .site-header .main-header-menu>.menu-item.tsp-atlas-travelcash-menu>.menu-link:hover{
  border-color:var(--tsp-page-theme-main)!important;
  background:color-mix(in srgb,var(--tsp-page-theme-main) 12%,#fff)!important;
  color:var(--tsp-page-theme-dark)!important
}
body.tsp-atlas-seasonal .tsp-account-woocommerce .woocommerce-MyAccount-navigation li[class*="travelcash"] a{
  color:var(--tsp-page-theme-dark)!important;
  background:color-mix(in srgb,var(--tsp-page-theme-main) 10%,#fff)!important
}
body.tsp-atlas-seasonal .tsp-travelcash-balance-card{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 42%,#e6d79f);
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--tsp-page-theme-main) 4%,#fff) 0%,
    color-mix(in srgb,var(--tsp-page-theme-accent) 10%,#fff) 58%,
    color-mix(in srgb,var(--tsp-page-theme-main) 22%,#fff) 100%);
  box-shadow:0 12px 30px var(--tsp-seasonal-shadow)
}
body.tsp-atlas-seasonal .tsp-travelcash-balance-card:after{color:color-mix(in srgb,var(--tsp-page-theme-main) 10%,transparent)}
body.tsp-atlas-seasonal .tsp-travelcash-balance-card>span,
body.tsp-atlas-seasonal .tsp-travelcash-activity-head span,
body.tsp-atlas-seasonal .tsp-travelcash-checkout-eyebrow,
body.tsp-atlas-seasonal .tsp-travelcash-thankyou>span{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-travelcash-balance-card p,
body.tsp-atlas-seasonal .tsp-travelcash-checkout-copy>strong small,
body.tsp-atlas-seasonal .tsp-travelcash-checkout-copy p,
body.tsp-atlas-seasonal .tsp-travelcash-thankyou p{color:color-mix(in srgb,var(--tsp-page-theme-dark) 72%,#667085)!important}
body.tsp-atlas-seasonal .tsp-travelcash-balance-card .button,
body.tsp-atlas-seasonal .tsp-travelcash-checkout-apply.button{
  border:0!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  color:#fff!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--tsp-page-theme-main) 24%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-travelcash-balance-card .button:hover,
body.tsp-atlas-seasonal .tsp-travelcash-checkout-apply.button:hover{background:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-travelcash-how>div{
  border-color:var(--tsp-seasonal-line);
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft))
}
body.tsp-atlas-seasonal .tsp-travelcash-how b{
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main));
  box-shadow:0 6px 14px color-mix(in srgb,var(--tsp-page-theme-main) 20%,transparent)
}
body.tsp-atlas-seasonal .tsp-travelcash-disclaimer{
  border-left-color:var(--tsp-page-theme-accent);
  background:color-mix(in srgb,var(--tsp-page-theme-accent) 7%,#fff)
}
body.tsp-atlas-seasonal .tsp-travelcash-activity{
  border-color:var(--tsp-seasonal-line);
  background:color-mix(in srgb,var(--tsp-page-theme-main) 1.2%,#fff)
}
body.tsp-atlas-seasonal .tsp-travelcash-activity-head{
  border-bottom-color:color-mix(in srgb,var(--tsp-page-theme-main) 16%,#e5edf5);
  background:linear-gradient(135deg,#fff,var(--tsp-seasonal-soft))
}
body.tsp-atlas-seasonal .tsp-travelcash-activity-row{border-bottom-color:color-mix(in srgb,var(--tsp-page-theme-main) 11%,#edf2f7)}
body.tsp-atlas-seasonal .tsp-travelcash-checkout-card,
body.tsp-atlas-seasonal .tsp-travelcash-thankyou{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 36%,#e6d79f);
  background:linear-gradient(135deg,color-mix(in srgb,var(--tsp-page-theme-main) 4%,#fff),color-mix(in srgb,var(--tsp-page-theme-accent) 12%,#fff));
  box-shadow:0 8px 20px var(--tsp-seasonal-shadow)
}
body.tsp-atlas-seasonal.tsp-atlas-travelcash-checkout tr.cart-discount th{color:var(--tsp-page-theme-dark)!important}

/* Rewards shortcuts in My Account now follow the active preset too. */
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-priority-rewards,
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-quick-rewards{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 30%,#d8e2ec)!important;
  background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--tsp-page-theme-accent) 9%,#fff))!important
}
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-priority-rewards i{
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;color:#fff!important
}
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-quick-rewards i{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 11%,#fff)!important;color:var(--tsp-page-theme-main)!important
}
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-priority-rewards>b,
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-quick-rewards>b{color:var(--tsp-page-theme-dark)!important}

/* 3. My eSIMs — interactive accents theme; semantic ACTIVE/error states stay semantic. */
body.tsp-atlas-seasonal .tsp-esim-account-head,
body.tsp-atlas-seasonal .tsp-esim-dashboard-row,
body.tsp-atlas-seasonal .tsp-esim-card{
  border-color:var(--tsp-seasonal-line)!important;
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--tsp-page-theme-main) 1.8%,#fff))!important;
  box-shadow:0 7px 22px var(--tsp-seasonal-shadow)!important
}
body.tsp-atlas-seasonal .tsp-esim-card-top{border-bottom-color:color-mix(in srgb,var(--tsp-page-theme-main) 13%,#eef1f5)!important}
body.tsp-atlas-seasonal .tsp-esim-grid>div,
body.tsp-atlas-seasonal .tsp-esim-rebuy,
body.tsp-atlas-seasonal .tsp-esim-empty{background:color-mix(in srgb,var(--tsp-page-theme-main) 4%,#fff)!important}
body.tsp-atlas-seasonal .tsp-status-ready-to-install{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 10%,#fff)!important;
  color:var(--tsp-page-theme-dark)!important
}
body.tsp-atlas-seasonal .tsp-esim-progress{background:color-mix(in srgb,var(--tsp-page-theme-main) 9%,#e9eef5)!important}
body.tsp-atlas-seasonal .tsp-esim-progress i{background:linear-gradient(90deg,var(--tsp-page-theme-main),var(--tsp-page-theme-accent))!important}
body.tsp-atlas-seasonal .tsp-esim-back,
body.tsp-atlas-seasonal .tsp-esim-pagination a{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-copy{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 35%,#b9cee2)!important;
  background:color-mix(in srgb,var(--tsp-page-theme-main) 8%,#fff)!important;
  color:var(--tsp-page-theme-dark)!important
}
body.tsp-atlas-seasonal .tsp-esim-iccid-line,
body.tsp-atlas-seasonal .tsp-esim-code,
body.tsp-atlas-seasonal .tsp-esim-install-details{border-color:color-mix(in srgb,var(--tsp-page-theme-main) 18%,#e4e9f0)!important}
body.tsp-atlas-seasonal .tsp-esim-install-details{background:color-mix(in srgb,var(--tsp-page-theme-main) 2%,#fbfcfe)!important}
body.tsp-atlas-seasonal .tsp-esim-action .button,
body.tsp-atlas-seasonal .tsp-esim-install-actions>.button,
body.tsp-atlas-seasonal .tsp-esim-rebuy .button{
  border-color:var(--tsp-page-theme-main)!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  color:#fff!important;
  box-shadow:0 7px 17px color-mix(in srgb,var(--tsp-page-theme-main) 20%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-esim-action .button:hover,
body.tsp-atlas-seasonal .tsp-esim-install-actions>.button:hover,
body.tsp-atlas-seasonal .tsp-esim-rebuy .button:hover{background:var(--tsp-page-theme-dark)!important;color:#fff!important}

/* General account actions/links that otherwise inherit Woo/Astra blue. */
body.tsp-atlas-seasonal.tsp-atlas-page-account .woocommerce-MyAccount-content a:not(.button):not(.tsp-copy){color:var(--tsp-page-theme-dark)}
body.tsp-atlas-seasonal.tsp-atlas-page-account .woocommerce-MyAccount-content .button:not(.tsp-copy),
body.tsp-atlas-seasonal.tsp-atlas-page-account .woocommerce-MyAccount-content button:not(.tsp-copy):not([aria-expanded]){
  border-color:var(--tsp-page-theme-main)!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  color:#fff!important
}

/* 4. Browse hub, related plans, regional directory and selector-adjacent cards. */
body.tsp-atlas-seasonal .tsp-related-plans{
  border-color:var(--tsp-seasonal-line);
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft));
  box-shadow:0 16px 40px var(--tsp-seasonal-shadow)
}
body.tsp-atlas-seasonal .tsp-related-heading span,
body.tsp-atlas-seasonal .tsp-related-heading>a,
body.tsp-atlas-seasonal .tsp-related-icon,
body.tsp-atlas-seasonal .tsp-related-row>span:last-child{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-related-heading>a,
body.tsp-atlas-seasonal .tsp-related-row{border-color:var(--tsp-seasonal-line)!important}
body.tsp-atlas-seasonal .tsp-related-row{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--tsp-page-theme-main) 3%,#fff))!important}
body.tsp-atlas-seasonal .tsp-related-row:hover{border-color:var(--tsp-page-theme-main)!important}
body.tsp-atlas-seasonal .tsp-related-duration:after{background:color-mix(in srgb,var(--tsp-page-theme-main) 20%,#cad9e6)!important}
body.tsp-atlas-seasonal .tsp-hub-app{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 40%,#d8e5f1)!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--tsp-page-theme-main) 20%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-hub-app .tsp-hub-eyebrow{color:color-mix(in srgb,var(--tsp-page-theme-accent) 45%,#fff)!important}
body.tsp-atlas-seasonal .tsp-hub-app-cta{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-region-directory-card{
  border-color:var(--tsp-seasonal-line);
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft));
  box-shadow:0 18px 48px var(--tsp-seasonal-shadow)
}
body.tsp-atlas-seasonal .tsp-region-directory-icon{background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main));box-shadow:0 9px 22px color-mix(in srgb,var(--tsp-page-theme-main) 22%,transparent)}
body.tsp-atlas-seasonal .tsp-region-directory-card header span{color:var(--tsp-page-theme-dark)}
body.tsp-atlas-seasonal .tsp-region-directory-trust b,
body.tsp-atlas-seasonal .tsp-region-directory-grid,
body.tsp-atlas-seasonal .tsp-region-directory-grid>a{border-color:var(--tsp-seasonal-line)}
body.tsp-atlas-seasonal .tsp-region-directory-grid{background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft-2))}
body.tsp-atlas-seasonal .tsp-region-directory-grid>a{background:linear-gradient(135deg,#fff,var(--tsp-seasonal-soft))}
body.tsp-atlas-seasonal .tsp-region-directory-grid>a>b{color:var(--tsp-page-theme-dark)}

/* 5. Public App landing page. */
body.tsp-atlas-seasonal .tsp-app-hero{
  border-color:var(--tsp-seasonal-line);
  background:linear-gradient(120deg,color-mix(in srgb,var(--tsp-page-theme-main) 8%,#fff) 0%,#fff 52%,color-mix(in srgb,var(--tsp-page-theme-accent) 10%,#fff) 100%);
  box-shadow:0 18px 50px var(--tsp-seasonal-shadow)
}
body.tsp-atlas-seasonal .tsp-app-secondary{border-color:color-mix(in srgb,var(--tsp-page-theme-main) 34%,#bdd5ea);color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-app-benefits li span{background:color-mix(in srgb,var(--tsp-page-theme-main) 11%,#fff);color:var(--tsp-page-theme-main)}
body.tsp-atlas-seasonal .tsp-app-orbit{border-color:color-mix(in srgb,var(--tsp-page-theme-main) 20%,transparent)}
body.tsp-atlas-seasonal .tsp-app-phone-screen{background:linear-gradient(180deg,color-mix(in srgb,var(--tsp-page-theme-main) 5%,#fff),#fff 60%)}
body.tsp-atlas-seasonal .tsp-app-phone-card{border-color:var(--tsp-seasonal-line)}

/* 6. Product/shop/storefront helpers. */
body.tsp-atlas-seasonal .tsp-breadcrumbs a,
body.tsp-atlas-seasonal .tsp-cart-device-check a{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal .tsp-highlights,
body.tsp-atlas-seasonal .tsp-refund-policy-box{
  border-color:var(--tsp-seasonal-line)!important;
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft))!important
}
body.tsp-atlas-seasonal .tsp-trust-strip{border-top-color:color-mix(in srgb,var(--tsp-page-theme-main) 16%,#eee)!important}
body.tsp-atlas-seasonal.single-product .single_add_to_cart_button,
body.tsp-atlas-seasonal.single-product button.single_add_to_cart_button,
body.tsp-atlas-seasonal .woocommerce a.button.alt:not(.checkout-button),
body.tsp-atlas-seasonal .woocommerce button.button.alt:not(#place_order){
  border-color:var(--tsp-page-theme-main)!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  color:#fff!important;
  box-shadow:0 7px 17px color-mix(in srgb,var(--tsp-page-theme-main) 20%,transparent)!important
}
body.tsp-atlas-seasonal.single-product .single_add_to_cart_button:hover,
body.tsp-atlas-seasonal .woocommerce a.button.alt:not(.checkout-button):hover,
body.tsp-atlas-seasonal .woocommerce button.button.alt:not(#place_order):hover{background:var(--tsp-page-theme-dark)!important;color:#fff!important}
body.tsp-atlas-seasonal.single-product .summary .price,
body.tsp-atlas-seasonal.single-product .summary .price ins{color:var(--tsp-page-theme-dark)!important}
body.tsp-atlas-seasonal.tsp-atlas-shared-pages .tsp-unified-page-content a:not(.button):not(.wp-element-button),
body.tsp-atlas-seasonal.tsp-atlas-page-checkout .woocommerce a:not(.button),
body.tsp-atlas-seasonal.tsp-atlas-page-cart .woocommerce a:not(.button){color:var(--tsp-page-theme-dark)}

/* Campaign components that otherwise remained fixed blue. */
body.tsp-atlas-seasonal .tsp-campaign-hero{
  background:linear-gradient(135deg,var(--tsp-page-theme-dark) 0%,var(--tsp-page-theme-main) 58%,var(--tsp-page-theme-accent) 100%);
  box-shadow:0 24px 60px color-mix(in srgb,var(--tsp-page-theme-dark) 24%,transparent)
}
body.tsp-atlas-seasonal .tsp-campaign-offer>strong{color:var(--tsp-page-theme-dark)}
body.tsp-atlas-seasonal .tsp-campaign-card:hover{border-color:var(--tsp-page-theme-main)}
body.tsp-atlas-seasonal .tsp-campaign-card-copy small,
body.tsp-atlas-seasonal .tsp-campaign-arrow{color:var(--tsp-page-theme-dark)}

body.tsp-atlas-seasonal a:focus-visible,
body.tsp-atlas-seasonal button:focus-visible{outline-color:color-mix(in srgb,var(--tsp-page-theme-main) 55%,transparent)}

/* 7. Alpha79 deep sweep — remove remaining fixed-blue presentation islands.
 * Keep brand-neutral text and semantic state colours intact; only decorative,
 * navigational and actionable accents inherit the active seasonal preset. */
body.tsp-atlas-seasonal .site-header .main-header-menu>.menu-item>.menu-link:hover,
body.tsp-atlas-seasonal .site-header .main-header-menu>.current-menu-item>.menu-link,
body.tsp-atlas-seasonal .site-header .ast-header-html a:hover,
body.tsp-atlas-seasonal .site-header .travelsimpro-header-user a:hover{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 9%,transparent)!important;
  color:var(--tsp-page-theme-dark)!important
}

/* Shared informational/contact pages. */
body.tsp-atlas-seasonal.tsp-atlas-shared-pages .entry-content{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 18%,var(--tsp-atlas-border));
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--tsp-page-theme-main) 1.5%,#fff));
  box-shadow:0 14px 38px var(--tsp-seasonal-shadow)
}
body.tsp-atlas-seasonal.tsp-atlas-page-contact .entry-content>.wp-block-columns>.wp-block-column,
body.tsp-atlas-seasonal.tsp-atlas-page-contact .entry-content .wpcf7,
body.tsp-atlas-seasonal.tsp-atlas-page-contact .entry-content .uagb-forms-main-form{
  border-color:var(--tsp-seasonal-line)!important;
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft))!important
}
body.tsp-atlas-seasonal.tsp-atlas-shared-pages input:not([type="checkbox"]):not([type="radio"]),
body.tsp-atlas-seasonal.tsp-atlas-shared-pages textarea,
body.tsp-atlas-seasonal.tsp-atlas-shared-pages select,
body.tsp-atlas-seasonal.tsp-atlas-page-account input:not([type="checkbox"]):not([type="radio"]),
body.tsp-atlas-seasonal.tsp-atlas-page-account textarea,
body.tsp-atlas-seasonal.tsp-atlas-page-account select{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 22%,#cbd8e5)!important
}
body.tsp-atlas-seasonal.tsp-atlas-shared-pages input:focus,
body.tsp-atlas-seasonal.tsp-atlas-shared-pages textarea:focus,
body.tsp-atlas-seasonal.tsp-atlas-shared-pages select:focus,
body.tsp-atlas-seasonal.tsp-atlas-page-account input:focus,
body.tsp-atlas-seasonal.tsp-atlas-page-account textarea:focus,
body.tsp-atlas-seasonal.tsp-atlas-page-account select:focus{
  border-color:var(--tsp-page-theme-main)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--tsp-page-theme-main) 13%,transparent)!important;
  outline:0!important
}

/* My Account cards: hover/focus should not snap back to default blue. */
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-priority a:hover,
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-priority a:focus-visible,
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-quick a:hover,
body.tsp-atlas-seasonal.tsp-atlas-page-account .tsp-account-quick a:focus-visible{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 58%,var(--tsp-page-theme-accent))!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--tsp-page-theme-main) 13%,transparent)!important
}
body.tsp-atlas-seasonal.tsp-atlas-page-account .woocommerce-pagination a,
body.tsp-atlas-seasonal.tsp-atlas-page-account .woocommerce-orders-table a:not(.button){color:var(--tsp-page-theme-dark)!important}

/* Browse hub: page-class-independent fallback plus the few fixed hover/tint values. */
body.tsp-atlas-seasonal .tsp-browse-hub{
  --hub-blue:var(--tsp-page-theme-dark);
  --hub-bright:var(--tsp-page-theme-main);
  --hub-line:color-mix(in srgb,var(--tsp-page-theme-main) 22%,#d8e5f2)
}
body.tsp-atlas-seasonal .tsp-hub-search button{
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--tsp-page-theme-main) 22%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-hub-section-heading>a,
body.tsp-atlas-seasonal .tsp-hub-how-actions a{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 32%,#bfd8ee)!important;
  color:var(--tsp-page-theme-dark)!important
}
body.tsp-atlas-seasonal .tsp-hub-how-actions a:first-child{
  border-color:var(--tsp-page-theme-main)!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark),var(--tsp-page-theme-main))!important;
  color:#fff!important
}
body.tsp-atlas-seasonal .tsp-hub-destination-card:hover,
body.tsp-atlas-seasonal .tsp-hub-multi-card:hover,
body.tsp-atlas-seasonal .tsp-hub-type-card:hover{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 55%,var(--tsp-page-theme-accent))!important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--tsp-page-theme-main) 13%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-hub-region-grid>a:hover{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 7%,#fff)!important
}
body.tsp-atlas-seasonal .tsp-hub-type-card{
  border-color:var(--tsp-seasonal-line)!important;
  background:linear-gradient(150deg,#fff,color-mix(in srgb,var(--tsp-page-theme-main) 7%,#fff))!important
}
body.tsp-atlas-seasonal .tsp-hub-help-actions a:first-child{color:var(--tsp-page-theme-dark)!important}

/* Region cards and hover treatments. */
body.tsp-atlas-seasonal .tsp-region-directory-grid>a:hover,
body.tsp-atlas-seasonal .tsp-region-directory-grid>a:focus{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 58%,var(--tsp-page-theme-accent))!important;
  box-shadow:0 11px 25px color-mix(in srgb,var(--tsp-page-theme-main) 14%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-region-directory-grid i{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 10%,#fff)!important
}

/* Campaign/supporting landing surfaces. */
body.tsp-atlas-seasonal .tsp-campaign-benefits span{
  border-color:var(--tsp-seasonal-line)!important;
  background:color-mix(in srgb,var(--tsp-page-theme-main) 2.5%,#fff)!important;
  box-shadow:0 8px 24px var(--tsp-seasonal-shadow)!important
}
body.tsp-atlas-seasonal .tsp-campaign-flag{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 9%,#fff)!important
}
body.tsp-atlas-seasonal .tsp-campaign-card{
  border-color:var(--tsp-seasonal-line)!important;
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft))!important;
  box-shadow:0 12px 34px var(--tsp-seasonal-shadow)!important
}

/* Public app page and app-promotion links: replace fixed blue shadows/tints too. */
body.tsp-atlas-seasonal .tsp-atlas-app-menu-cta>a,
body.tsp-atlas-seasonal .tsp-atlas-app-menu-cta>.menu-link,
body.tsp-atlas-seasonal .tsp-atlas-mobile-app-cta{
  box-shadow:0 7px 18px color-mix(in srgb,var(--tsp-page-theme-main) 18%,transparent)!important
}
body.tsp-atlas-seasonal .tsp-app-eyebrow{color:var(--tsp-page-theme-dark)!important}

/* Product/archive and generic Woo actions that can otherwise inherit theme blue. */
body.tsp-atlas-seasonal .woocommerce nav.woocommerce-pagination ul li a:focus,
body.tsp-atlas-seasonal .woocommerce nav.woocommerce-pagination ul li a:hover,
body.tsp-atlas-seasonal .woocommerce nav.woocommerce-pagination ul li span.current{
  background:color-mix(in srgb,var(--tsp-page-theme-main) 10%,#fff)!important;
  color:var(--tsp-page-theme-dark)!important
}
body.tsp-atlas-seasonal .woocommerce ul.products li.product a.button,
body.tsp-atlas-seasonal .woocommerce-page ul.products li.product a.button{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main) 44%,#d5dee8)!important;
  color:var(--tsp-page-theme-dark)!important
}
body.tsp-atlas-seasonal .woocommerce ul.products li.product a.button:hover,
body.tsp-atlas-seasonal .woocommerce-page ul.products li.product a.button:hover{
  border-color:var(--tsp-page-theme-main)!important;
  background:color-mix(in srgb,var(--tsp-page-theme-main) 8%,#fff)!important
}

/* 9. The branded hero is deliberately a light content card. WP Dark Mode must
 * not remap its text as though it lived on the surrounding dark canvas. The
 * ignore class on the component is authoritative; these rules are a defensive
 * fallback for cached or delayed dark-mode initialization. */
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-brand-hero h1,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-brand-hero h1{
  color:var(--tsp-atlas-text,#172033)!important
}
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-hero-copy>p,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-hero-copy>p{
  color:var(--tsp-atlas-muted,#667085)!important
}
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-assurances,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-assurances{
  color:var(--tsp-atlas-text,#172033)!important
}
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-primary-action,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-primary-action{
  color:#fff!important;
  background:var(--tsp-page-theme-dark,var(--tsp-atlas-primary-dark,#0b57b7))!important
}
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-secondary-action,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-secondary-action{
  border-color:color-mix(in srgb,var(--tsp-page-theme-main,var(--tsp-atlas-primary,#1473e6)) 48%,#d8e1eb)!important;
  background:#fff!important;
  color:var(--tsp-page-theme-dark,var(--tsp-atlas-primary-dark,#0b57b7))!important
}
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-float-card,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-brand-hero .tsp-home-float-card{
  background:rgba(255,255,255,.94)!important;
  color:var(--tsp-atlas-text,#172033)!important
}

/* 10. Logged-out My Account alignment. Astra/WooCommerce may reintroduce
 * floats after the Atlas grid rules, which placed Login at the upper right
 * and Register at the lower left. Anchor both cards explicitly to one grid
 * row and retain a clean Login-then-Register mobile order. */
body.tsp-atlas-page-account .woocommerce #customer_login{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important
}
body.tsp-atlas-page-account .woocommerce #customer_login>.u-column1,
body.tsp-atlas-page-account .woocommerce #customer_login>.u-column2{
  float:none!important;
  clear:none!important;
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:26px!important;
  border:1px solid var(--tsp-seasonal-line,var(--tsp-atlas-border,#d7e1eb))!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,var(--tsp-seasonal-soft,#fbfcfe))!important;
  box-shadow:0 10px 28px var(--tsp-seasonal-shadow,rgba(23,32,51,.06))!important;
  box-sizing:border-box!important
}
body.tsp-atlas-page-account .woocommerce #customer_login>.u-column1{grid-column:1!important;grid-row:1!important}
body.tsp-atlas-page-account .woocommerce #customer_login>.u-column2{grid-column:2!important;grid-row:1!important}
body.tsp-atlas-page-account .woocommerce #customer_login h2{
  margin:0 0 22px!important;
  color:var(--tsp-atlas-text,#172033)!important;
  font-size:28px!important;
  line-height:1.15!important
}
body.tsp-atlas-page-account .woocommerce #customer_login form.login,
body.tsp-atlas-page-account .woocommerce #customer_login form.register{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important
}
body.tsp-atlas-page-account .woocommerce #customer_login .form-row{width:100%!important;margin:0 0 16px!important;padding:0!important}
body.tsp-atlas-page-account .woocommerce #customer_login input.input-text{
  width:100%!important;
  min-height:46px!important;
  box-sizing:border-box!important
}
body.tsp-atlas-page-account .woocommerce #customer_login .cf-turnstile,
body.tsp-atlas-page-account .woocommerce #customer_login [class*="turnstile"]{
  max-width:100%!important;
  overflow:hidden
}
body.tsp-atlas-page-account .woocommerce #customer_login button[type="submit"]{
  min-height:44px!important;
  padding:0 20px!important;
  border:1px solid var(--tsp-page-theme-main,var(--tsp-atlas-primary,#1473e6))!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,var(--tsp-page-theme-dark,var(--tsp-atlas-primary-dark,#0b57b7)),var(--tsp-page-theme-main,var(--tsp-atlas-primary,#1473e6)))!important;
  color:#fff!important;
  font-weight:850!important;
  box-shadow:0 7px 17px color-mix(in srgb,var(--tsp-page-theme-main,var(--tsp-atlas-primary,#1473e6)) 20%,transparent)!important
}
body.tsp-atlas-page-account .woocommerce #customer_login button[type="submit"]:hover,
body.tsp-atlas-page-account .woocommerce #customer_login button[type="submit"]:focus-visible{
  background:var(--tsp-page-theme-dark,var(--tsp-atlas-primary-dark,#0b57b7))!important
}

/* The phone remains a deliberately light illustration even when the page
 * canvas is dark. Keep its two descriptive labels legible on that surface. */
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-phone>b,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-phone>b{
  color:var(--tsp-atlas-text,#172033)!important
}
html[data-wp-dark-mode-active] body.tsp-atlas-home-engine .tsp-home-phone>small,
html.wp-dark-mode-active body.tsp-atlas-home-engine .tsp-home-phone>small{
  color:#52657a!important
}

@media(max-width:650px){
  body.tsp-atlas-page-account .woocommerce #customer_login{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important
  }
  body.tsp-atlas-page-account .woocommerce #customer_login>.u-column1,
  body.tsp-atlas-page-account .woocommerce #customer_login>.u-column2{
    grid-column:1!important;
    height:auto!important;
    padding:20px 16px!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:none!important
  }
  body.tsp-atlas-page-account .woocommerce #customer_login>.u-column1{grid-row:1!important}
  body.tsp-atlas-page-account .woocommerce #customer_login>.u-column2{grid-row:2!important}
  body.tsp-atlas-page-account .woocommerce #customer_login h2{margin-bottom:20px!important;font-size:27px!important}
  body.tsp-atlas-page-account .woocommerce #customer_login input.input-text{min-height:44px!important}
}
