/* Independence-only behavior and accessibility; original layout remains in page CSS. */
[hidden] { display: none !important; }
.independent-notice { font-family: Inter, sans-serif; color: #4a586c; line-height: 1.65; }
.independent-email-form [role="status"] { margin-top: 12px; font-size: 14px; line-height: 1.5; }
.independent-email-form [data-email-draft] { display: inline-block; margin-top: 10px; }
.nav-menu-mobile:focus-visible, .x-icon [role="button"]:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #2563ee; outline-offset: 4px; }
.independent-nav-toggle { display: none; border: 1px solid #dbe4f2; border-radius: 6px; background: #fff; color: #07152f; padding: 8px; font-family: Inter, sans-serif; font-size: 13px; cursor: pointer; }
@media (max-width: 900px) {
  .independent-nav-toggle { display: block; }
  .ssb-hd-in { position: relative; gap: 8px; }
  .ssb-nav.independent-open { display: flex; flex-direction: column; align-items: stretch; position: absolute; top: 100%; left: 0; right: 0; background: #fff; padding: 20px; border: 1px solid #dbe4f2; z-index: 50; }
}
/* Original builders use fixed language and menu offsets. Constrain these
   controls only below the capture's 390px mobile width. */
@media (max-width: 389px) {
  .c-custom-code:has(.language-switcher-wrap) { margin-left: auto !important; margin-right: 0 !important; max-width: 100% !important; }
  .c-nav-menu-v2 { margin-left: auto !important; margin-right: 0 !important; max-width: 100% !important; }
  .ssb-logo { width: 100px !important; height: 28px !important; }
  .ssb-logo img { width: 115px !important; height: 76px !important; left: -8px !important; top: -25px !important; }
  .ssb-act { flex: 1; min-width: 0; }
  .ssb-btn { padding: 10px 8px !important; font-size: 11px !important; text-align: center; white-space: normal; }
}
/* Keep unrelated captured tablet content refinements unchanged. */
@media (min-width: 768px) and (max-width: 900px) {
  .c-row:has(.c-nav-menu-v2) .c-button a { box-sizing: border-box; max-width: 100%; padding-left: 12px !important; padding-right: 12px !important; }
  .c-button a { box-sizing: border-box; max-width: 100%; white-space: normal !important; }
  .c-button .main-heading-group, .c-button .main-heading-button { white-space: normal !important; }
  .c-row:has(.main-heading-button) > .inner { flex-wrap: wrap; }
  .c-row .c-column:has(.main-heading-button) { min-width: 110px; }
  .timeline-row .week-box { flex: 1 1 0; min-width: 0; width: auto; max-width: 140px; }
}

/* Only shared builder headers: remove captured fixed offsets, not logo size,
   labels, destinations, or page content. Long ES navigation may wrap safely. */
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px;
}
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column {
  width: auto !important; min-width: 0; padding: 0 !important; margin: 0 !important; flex: 0 0 auto !important;
}
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column:has(.ssp-brand-logo--builder) { order: 0; }
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column:has(.c-nav-menu-v2) { order: 1; flex: 1 1 0 !important; }
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column:has(.language-switcher-wrap) { order: 2; }
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column:has(.c-button) { order: 3; }
.hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) :is(.c-nav-menu-v2, .c-custom-code:has(.language-switcher-wrap), .c-button) {
  width: auto !important; max-width: 100%; margin: 0 !important;
}
.hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .mega-menu-container { padding: 8px 0 !important; justify-content: flex-end; }
@media (min-width: 1101px) {
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .nav-menu-desktop { flex-wrap: wrap; justify-content: flex-end; }
}
/* Reuse the original mobile popup through tablet widths. hide-popup hides only
   the closed state; the opener list and close control must also become visible. */
@media (max-width: 1100px) {
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .cart-search-mobile,
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .nav-menu-mobile,
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .x-icon { display: flex !important; }
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .nav-menu-desktop {
    display: block !important; position: fixed !important; inset: 0 !important; width: 100% !important; height: 100dvh !important;
    box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain; z-index: 999; background: #fff; padding: 16px 16px 80px !important;
  }
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .nav-menu-desktop.hide-popup { display: none !important; }
  .hl_page-preview--content .c-row:has(.ssp-brand-logo--builder) .c-nav-menu-v2 .menu-item-title { white-space: normal !important; overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  .hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column:has(.c-button) { order: 1; margin-left: auto !important; }
  .hl_page-preview--content .c-row:has(.c-nav-menu-v2):has(.ssp-brand-logo--builder) > .inner > .c-column:has(.c-nav-menu-v2) { order: 3; flex: 1 1 44px !important; }
}

/* Build-time semantic links retain their original button geometry and wording. */
.hl_page-preview--content .c-button a[data-ssp-legal-contact] {
  display: inline-block; box-sizing: border-box; max-width: 100%; background-color: #2265ed !important; color: #fff !important; text-decoration: none !important;
}
.hl_page-preview--content .c-button a[data-ssp-legal-contact] .main-heading-button { color: #fff !important; }
.hl_page-preview--content .c-button a[data-ssp-legal-contact]:focus-visible { outline: 2px solid #2265ed; outline-offset: 4px; }

/* Functional form controls retain the original card and native field styling. */
.independent-plan-selection { width: 100%; margin: 16px 0; text-align: left; }
.independent-plan-selection label { display: block; margin-bottom: 8px; color: #0f172a; font-weight: 600; font-size: 15px; }
.independent-plan-selection select { display: block; width: 100%; min-height: 46px; box-sizing: border-box; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 5px; background: #fff; color: #0f172a; font: inherit; font-size: 16px; }
.independent-plan-selection select:focus-visible { outline: 2px solid #2265ed; outline-offset: 2px; }
.independent-submit-form button[disabled] { opacity: .65; cursor: wait; }
