:root {
  --bg: #060812;
  --bg-2: #0b1022;
  --surface: rgba(255, 255, 255, 0.075);
  --surface-strong: rgba(255, 255, 255, 0.13);
  --surface-soft: rgba(255, 255, 255, 0.045);
  --line: rgba(255, 255, 255, 0.14);
  --line-strong: rgba(255, 255, 255, 0.22);
  --text: #fbfcff;
  --muted: #aeb8d6;
  --muted-2: #d9e2ff;
  --violet: #ff4f6d;
  --cyan: #0f8f5b;
  --gold: #dff9e8;
  --green: #34f5a6;
  --rose: #ff5c7a;
  --watermelon-green: #0f8f5b;
  --watermelon-deep: #075f42;
  --watermelon-red: #ff4f6d;
  --watermelon-pink: #ff8ba3;
  --watermelon-mint: #dff9e8;
  --watermelon-seed: #132019;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
  --radius-lg: 34px;
  --radius-md: 22px;
  --radius-sm: 14px;
}

body:has(.travel-home) .site-orb {
  display: none;
}

.travel-home {
  --travel-purple: #9733ff;
  --travel-purple-dark: #6c21d9;
  --travel-text: #111827;
  --travel-muted: #667085;
  --travel-card: #ffffff;
  --travel-border: #e4e7ec;
  --travel-shadow: 0 20px 52px rgba(17, 24, 39, 0.18);
  color: var(--travel-text);
  background: #fff;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
}

.travel-hero {
  position: relative;
  min-height: 760px;
  padding: 78px 20px 120px;
  display: grid;
  place-items: start center;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.22) 45%, rgba(255, 255, 255, 0.74) 100%),
    url("https://images.unsplash.com/photo-1490806843957-31f4c9a91c65?auto=format&fit=crop&w=1800&q=85") center / cover;
}

.travel-hero__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.52) 70%);
  pointer-events: none;
}

.travel-hero__content {
  position: relative;
  width: min(860px, 100%);
  text-align: center;
  z-index: 1;
}

.travel-hero__eyebrow {
  width: 64px;
  height: 4px;
  margin: 0 auto 12px;
  color: transparent;
  border-radius: 999px;
  background: var(--travel-purple);
}

.travel-hero h1 {
  margin: 0;
  color: #030712;
  font-size: clamp(32px, 5vw, 62px);
  line-height: 1.08;
  letter-spacing: 0;
  font-weight: 900;
}

.travel-hero__content > p:not(.travel-hero__eyebrow) {
  margin: 12px auto 28px;
  max-width: 680px;
  color: #111827;
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.45;
  font-weight: 700;
}

.home-legacy-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.home-search-widget {
  width: min(660px, 100%);
  margin: 0 auto;
}

.home-mode-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  align-items: end;
}

.home-mode-tab {
  min-height: 118px;
  display: grid;
  place-items: center;
  gap: 8px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  color: #111827;
  box-shadow: 0 8px 26px rgba(17, 24, 39, 0.14);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.home-photo-credit {
  position: absolute;
  right: 18px;
  bottom: 14px;
  z-index: 2;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.34);
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

[dir="rtl"] .home-photo-credit {
  right: auto;
  left: 18px;
}

.home-mode-tab.is-active {
  color: var(--travel-purple);
}

.home-tab-icon {
  font-size: 44px;
  line-height: 1;
}

.home-trip-panel {
  display: none;
  margin-top: 8px;
  padding: 22px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: var(--travel-shadow);
}

.home-trip-panel.is-active {
  display: grid;
  gap: 16px;
}

.home-trip-card,
.home-tab-card {
  position: relative;
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 22px 26px;
  border: 1px solid #d7dce5;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  text-align: inherit;
  box-shadow: 0 5px 16px rgba(17, 24, 39, 0.1);
}

.home-trip-card {
  cursor: pointer;
}

.home-trip-card__icon {
  font-size: 28px;
  color: #667085;
}

.home-trip-card__label {
  font-size: 26px;
  font-weight: 900;
}

.home-trip-card strong {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 900;
}

.home-trip-card small,
.home-tab-card p {
  color: var(--travel-muted);
  font-size: 17px;
  font-weight: 700;
}

.home-tab-card h2 {
  margin: 0;
  font-size: 24px;
}

.home-tab-card input {
  width: 100%;
  min-height: 58px;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  padding: 0 18px;
  color: #111827;
  background: #fff;
  font: inherit;
  font-size: 18px;
}

.home-search-cta,
.home-plan-buy {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--travel-purple), #b22bff);
  color: #fff;
  min-height: 66px;
  padding: 0 34px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font: inherit;
  font-size: 22px;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(151, 51, 255, 0.32);
  cursor: pointer;
}

.home-dialog {
  position: fixed;
  z-index: 80;
  top: 158px;
  left: 50%;
  transform: translateX(-50%);
  width: min(432px, calc(100vw - 28px));
  max-height: calc(100vh - 188px);
  overflow: auto;
  padding: 28px 24px 24px;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  box-shadow: 0 22px 70px rgba(17, 24, 39, 0.28);
}

.home-dialog[hidden],
.home-cookie[hidden] {
  display: none;
}

.home-dialog__close {
  position: absolute;
  top: 18px;
  inset-inline-start: 18px;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #5f6673;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}

.home-dialog h2 {
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 28px;
  font-weight: 900;
}

.home-search-input {
  display: grid;
  gap: 8px;
}

.home-search-input span {
  color: var(--travel-muted);
  font-size: 14px;
}

.home-search-input input {
  min-height: 54px;
  border: 1px solid #cfd6e2;
  border-radius: 8px;
  padding: 0 16px;
  color: #111827;
  font: inherit;
  font-size: 17px;
}

.home-dialog__hint {
  margin: 12px 0;
  color: var(--travel-muted);
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}

.home-selected-destinations {
  display: grid;
  gap: 6px;
  margin: 12px 0 18px;
}

.home-destination-chip,
.home-destination-list button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #e4e7ec;
  border-radius: 5px;
  background: #fff;
  color: #111827;
  padding: 0 14px;
  font: inherit;
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
}

.home-destination-chip,
.home-destination-list button.is-selected {
  border-color: #ead7ff;
  background: #f2e7ff;
}

.home-dialog__section-title {
  display: block;
  margin: 8px 0 10px;
  font-size: 20px;
  font-weight: 900;
}

.home-destination-list {
  display: grid;
  gap: 6px;
}

.home-destination-list [hidden],
.home-destination-list .is-filtered-out,
.home-destination-group[hidden],
.home-destination-group.is-filtered-out {
  display: none !important;
}

.home-calendar {
  border: 1px solid #e4e7ec;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.home-calendar__header,
.home-calendar__weekdays {
  background: #f2f4f7;
  padding: 14px;
  font-weight: 900;
  text-align: center;
}

.home-calendar__weekdays,
.home-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.home-calendar__weekdays {
  padding-top: 0;
  color: #475467;
}

.home-calendar__grid {
  gap: 4px;
  padding: 10px;
}

.home-calendar__grid button {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #111827;
  font: inherit;
  cursor: pointer;
}

.home-calendar__grid button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.home-calendar__grid button.is-start,
.home-calendar__grid button.is-end {
  background: var(--travel-purple);
  color: #fff;
}

.home-calendar__grid button.is-range {
  background: #f2e7ff;
}

.home-featured-plans {
  padding: 56px 20px 70px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34), #fff 70%),
    url("https://images.unsplash.com/photo-1490806843957-31f4c9a91c65?auto=format&fit=crop&w=1800&q=78") center top / cover fixed;
}

.home-section-heading {
  max-width: 860px;
  margin: 0 auto 30px;
  text-align: center;
}

.home-section-heading h2,
.home-benefit-band h2,
.home-preflight h2,
.home-faq h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 900;
}

.home-section-heading p,
.home-preflight p {
  margin: 10px auto 0;
  max-width: 680px;
  color: #344054;
  font-size: 19px;
  font-weight: 700;
}

.home-plan-grid {
  width: min(960px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}

.home-plan-card {
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #111827;
  box-shadow: 0 18px 34px rgba(17, 24, 39, 0.16);
}

.home-plan-card__top {
  display: grid;
  gap: 8px;
  min-height: 260px;
  padding: 30px 22px 20px;
  place-items: center;
  text-align: center;
  background: linear-gradient(180deg, #8f24ff, #a728ff);
  color: #fff;
}

.home-plan-card__top span {
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.72);
  font-size: 14px;
  font-weight: 900;
}

.home-plan-card__top h3 {
  margin: 0;
  font-size: 23px;
  font-weight: 900;
}

.home-plan-card__top strong {
  font-size: 56px;
  line-height: 1;
}

.home-plan-card__bottom {
  padding: 22px;
  display: grid;
  gap: 14px;
  justify-items: center;
}

.home-plan-price {
  display: flex;
  align-items: end;
  gap: 8px;
}

.home-plan-price span {
  color: #475467;
  font-weight: 800;
}

.home-plan-price strong {
  font-size: 34px;
  color: #020617;
}

.home-plan-buy {
  min-height: 46px;
  padding: 0 28px;
  font-size: 17px;
}

.home-plan-card__bottom p {
  min-height: 64px;
  margin: 0;
  padding: 12px;
  border-radius: 6px;
  background: #ead7f7;
  color: #111827;
  font-weight: 900;
  text-align: center;
}

.home-more-packages {
  width: min(960px, 100%);
  margin: 28px auto 0;
  text-align: center;
}

.home-more-packages summary {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 0 22px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 24, 39, 0.14);
  color: var(--travel-purple);
  font-weight: 900;
  cursor: pointer;
}

.home-more-grid {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.home-package-row {
  display: grid;
  grid-template-columns: 1fr 1fr 90px 120px;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  background: #fff;
  text-align: start;
}

.home-package-row a {
  color: var(--travel-purple);
  font-weight: 900;
}

.home-benefit-band {
  padding: 58px 20px 30px;
  text-align: center;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.9), rgba(243, 232, 255, 0.78), rgba(255, 255, 255, 0.9)),
    url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1600&q=75") center / cover;
}

.home-benefit-grid,
.home-preflight-grid {
  width: min(1040px, 100%);
  margin: 42px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.home-benefit-grid article,
.home-preflight-grid article {
  display: grid;
  gap: 8px;
  justify-items: center;
  color: #111827;
}

.home-benefit-grid span,
.home-preflight-grid span {
  color: var(--travel-purple);
  font-size: 48px;
}

.home-benefit-grid strong,
.home-preflight-grid strong {
  font-size: 18px;
  font-weight: 900;
}

.home-benefit-grid p {
  margin: 0;
  color: #344054;
  font-weight: 700;
}

.home-articles,
.home-preflight,
.home-faq {
  padding: 54px 20px;
  background: #fff;
}

.home-article-grid {
  width: min(980px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.home-article-grid article {
  border: 1px solid #e4e7ec;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
}

.home-article-grid img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

.home-article-grid h3,
.home-article-grid p {
  padding: 0 16px;
}

.home-article-grid h3 {
  font-size: 20px;
  font-weight: 900;
}

.home-article-grid p {
  color: #344054;
  font-weight: 700;
  padding-bottom: 18px;
}

.home-preflight {
  text-align: center;
}

.home-preflight-grid {
  grid-template-columns: repeat(3, 1fr);
  max-width: 780px;
}

.home-faq {
  max-width: 1060px;
  margin: 0 auto;
}

.home-faq details {
  border-bottom: 1px solid #e4e7ec;
  padding: 22px 6px;
}

.home-faq summary {
  color: #111827;
  font-size: 19px;
  font-weight: 900;
  cursor: pointer;
}

.home-faq p {
  color: #344054;
  font-weight: 700;
}

.home-cookie {
  position: fixed;
  z-index: 90;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(510px, calc(100vw - 34px));
  display: grid;
  gap: 20px;
  justify-items: center;
  padding: 58px 34px 36px;
  border-radius: 10px;
  background: #fff;
  color: #111827;
  box-shadow: 0 22px 70px rgba(17, 24, 39, 0.28);
  text-align: center;
}

.home-cookie__icon {
  font-size: 110px;
  line-height: 1;
}

.home-cookie p {
  margin: 0;
  font-size: 24px;
  line-height: 1.5;
}

.home-cookie a {
  color: #111827;
  font-weight: 900;
  text-decoration: underline;
}

.home-cookie__accept {
  min-width: 194px;
  min-height: 60px;
  border: 0;
  border-radius: 999px;
  background: var(--travel-purple);
  color: #fff;
  font: inherit;
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
}

@media (max-width: 900px) {
  .travel-home {
    margin-inline: 0;
  }

  .travel-hero {
    min-height: 720px;
    padding: 52px 12px 86px;
  }

  .home-mode-tab {
    min-height: 104px;
    font-size: 16px;
  }

  .home-tab-icon {
    font-size: 36px;
  }

  .home-plan-grid,
  .home-benefit-grid,
  .home-article-grid,
  .home-preflight-grid {
    grid-template-columns: 1fr;
  }

  .home-plan-grid {
    max-width: 360px;
    gap: 18px;
  }

  .home-package-row {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

@media (max-width: 560px) {
  .travel-home {
    margin-top: 0;
  }

  .travel-hero {
    min-height: 760px;
    padding-top: 34px;
  }

  .travel-hero h1 {
    font-size: 30px;
  }

  .travel-hero__content > p:not(.travel-hero__eyebrow) {
    font-size: 19px;
  }

  .home-mode-tabs {
    gap: 6px;
  }

  .home-mode-tab {
    min-height: 94px;
    padding: 8px 4px;
    font-size: 14px;
  }

  .home-tab-icon {
    font-size: 30px;
  }

  .home-trip-panel {
    padding: 16px;
  }

  .home-trip-card,
  .home-tab-card {
    padding: 18px 14px;
  }

  .home-trip-card__label {
    font-size: 22px;
  }

  .home-search-cta {
    width: 100%;
    min-height: 58px;
    padding: 0 18px;
    font-size: 19px;
  }

  .home-dialog {
    top: 94px;
    max-height: calc(100vh - 116px);
    padding: 26px 18px 20px;
  }

  .home-cookie {
    padding-inline: 22px;
  }

  .home-cookie p {
    font-size: 20px;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  font-family: Arial;
  color: var(--text);
  background:
    radial-gradient(circle at 10% 5%, rgba(124, 60, 255, .44), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(0, 224, 255, .24), transparent 28%),
    radial-gradient(circle at 48% 92%, rgba(255, 207, 102, .12), transparent 32%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  min-height: 100vh;
  overflow-x: hidden;
}
body { font-size: calc(16px * var(--a11y-scale, 1)); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.site-orb { position: fixed; pointer-events: none; border-radius: 999px; filter: blur(12px); opacity: .45; z-index: -1; }
.site-orb-a { width: 260px; height: 260px; left: -90px; top: 180px; background: rgba(124,60,255,.30); }
.site-orb-b { width: 300px; height: 300px; right: -110px; top: 340px; background: rgba(0,224,255,.16); }

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 7vw;
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(18px);
  background: rgba(6, 8, 18, .68);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 23px; font-weight: 950; letter-spacing: -.045em; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, var(--violet), var(--cyan)); box-shadow: 0 14px 42px rgba(124,60,255,.35); font-size: 13px; letter-spacing: -.02em; }
.nav-links { display: flex; gap: 16px; align-items: center; color: var(--muted); font-size: 14px; font-weight: 700; }
.nav-links a:hover { color: var(--text); }
.language-chip { padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.08); }
.customer-chip { display: inline-flex; flex-direction: column; gap: 2px; color: #0b172a; background: #f8fafc; border: 1px solid rgba(255,255,255,.35); border-radius: 8px; padding: 6px 9px; font-size: 12px; font-weight: 900; }
.customer-chip small { color: #516078; font-size: 11px; }
.nav-logout { margin: 0; }
.nav-logout button { border: 1px solid rgba(255,255,255,.38); background: rgba(255,255,255,.12); color: #fff; border-radius: 8px; padding: 7px 10px; font-weight: 900; cursor: pointer; }
.nav-theme-toggle {
  min-height: 36px;
  margin: 0;
  padding: 0 12px;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.1);
  color: #f8fafc;
  box-shadow: none;
  white-space: nowrap;
}

.nav-theme-toggle:hover {
  border-color: rgba(56, 189, 248, 0.55);
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: 54px; align-items: center; padding: 90px 7vw 54px; }
.eyebrow, .section-heading span { color: var(--gold); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: 24px; line-height: 1.25; }
h1 { font-size: clamp(42px, 6.2vw, 88px); line-height: .92; margin: 14px 0 22px; letter-spacing: -.075em; }
h2 { font-size: clamp(30px, 4vw, 52px); line-height: 1; margin: 10px 0 18px; letter-spacing: -.055em; }
h3 { font-size: 22px; margin: 0 0 8px; letter-spacing: -.035em; }
p { color: var(--muted); line-height: 1.72; }
.hero-lead { max-width: 660px; font-size: 19px; }
.hero-punchline { color: var(--gold); font-weight: 950; font-size: 24px; line-height: 1.35; margin: 14px 0 0; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 28px 0; }
.button { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; padding: 13px 20px; background: var(--surface-strong); color: white; font-weight: 900; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 18px 60px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.20); }
.button.primary { background: linear-gradient(135deg, var(--violet), var(--cyan)); box-shadow: 0 18px 50px rgba(124,60,255,.35); }
.button.ghost { background: rgba(255,255,255,.06); }
.button.small { padding: 10px 14px; font-size: 13px; }
.button.tiny { padding: 8px 10px; font-size: 12px; }
.button.full { width: 100%; }
.trust-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.trust-row span { padding: 9px 12px; border-radius: 999px; background: rgba(255,255,255,.07); color: var(--muted-2); border: 1px solid rgba(255,255,255,.08); font-size: 13px; font-weight: 750; }

.hero-visual { display: grid; place-items: center; min-height: 520px; }
.plan-finder {
  width: min(430px, 94vw);
  border-radius: 24px;
  padding: 26px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 34px 90px rgba(0,0,0,.28);
  display: grid;
  gap: 16px;
  backdrop-filter: blur(18px);
}
.finder-topline { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.plan-finder h2 { margin: 0; font-size: clamp(26px, 3vw, 34px); letter-spacing: 0; line-height: 1.08; }
.plan-finder p { margin: 0; }
.plan-finder label { color: var(--text); font-weight: 850; display: grid; gap: 8px; }
.plan-finder select,
.plan-finder input[type="search"] {
  width: 100%;
  appearance: none;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(14,18,42,.88);
  color: white;
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  font-weight: 800;
  text-align: inherit;
}
.plan-finder input[type="search"]::placeholder { color: rgba(217,226,255,.58); }
.destination-search { position: relative; }
.destination-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 12;
  display: none;
  max-height: 260px;
  overflow-y: auto;
  padding: 8px;
  border-radius: 16px;
  background: rgba(8, 12, 30, .98);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
}
.destination-results.is-visible { display: grid; gap: 6px; }
.destination-results button {
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 11px 12px;
  text-align: inherit;
  color: var(--text);
  background: rgba(255,255,255,.06);
  cursor: pointer;
  font-weight: 850;
}
.destination-results button:hover,
.destination-results button:focus {
  background: rgba(0,224,255,.16);
  outline: 1px solid rgba(0,224,255,.26);
}
.finder-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.finder-reassurance { display: grid; gap: 8px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.finder-reassurance span { display: block; }
.device-shell { width: min(390px, 92vw); min-height: 510px; border-radius: 48px; padding: 28px; position: relative; overflow: hidden; background: linear-gradient(160deg, rgba(255,255,255,.18), rgba(255,255,255,.045)); border: 1px solid rgba(255,255,255,.19); box-shadow: 0 50px 120px rgba(0,0,0,.36); }
.device-shell:before { content: ""; position: absolute; inset: 1px; border-radius: 47px; background: radial-gradient(circle at 40% 0%, rgba(255,255,255,.22), transparent 30%); pointer-events: none; }
.device-topbar { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1; }
.device-topbar span { width: 82px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.16); }
.device-topbar strong { color: var(--cyan); background: rgba(0,224,255,.12); padding: 8px 12px; border-radius: 999px; }
.device-route { position: absolute; top: 120px; left: 48px; right: 48px; display: flex; align-items: center; justify-content: space-between; }
.route-dot { width: 18px; height: 18px; border-radius: 999px; background: rgba(255,255,255,.20); box-shadow: 0 0 0 8px rgba(255,255,255,.04); }
.route-dot.active { background: var(--green); box-shadow: 0 0 0 8px rgba(52,245,166,.12); }
.route-line { height: 2px; flex: 1; background: linear-gradient(90deg, var(--green), rgba(255,255,255,.22)); margin: 0 12px; }
.glass-card { position: absolute; left: 34px; right: 34px; border-radius: 24px; padding: 20px; background: rgba(4, 8, 24, .52); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(14px); box-shadow: var(--shadow); }
.glass-card span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.glass-card strong { display: block; font-size: 30px; margin: 6px 0 3px; letter-spacing: -.04em; }
.glass-card small { color: var(--muted-2); }
.floating-card-a { top: 175px; }
.floating-card-b { top: 310px; }
.connection-meter { position: absolute; bottom: 32px; left: 34px; right: 34px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.connection-meter div { height: 10px; border-radius: 999px; background: linear-gradient(90deg, var(--violet), var(--cyan)); }

.section, .admin-shell { padding: 52px 7vw; }
.value-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding-top: 22px;
  padding-bottom: 26px;
}
.value-strip article {
  min-height: 156px;
  padding: 22px 20px;
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(255,255,255,.085), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 54px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.value-strip strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: 0;
}
.value-strip span {
  display: block;
  color: var(--muted-2);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.65;
}
.split-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 22px; }
.split-heading p { max-width: 470px; margin: 0; }
.centered { text-align: center; max-width: 760px; margin: 0 auto 28px; }
.grid { display: grid; gap: 18px; }
.package-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.package-card, .panel, .metrics > div, .step-card, .faq-list details { background: var(--surface); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow); }
.premium-card { position: relative; overflow: hidden; transition: transform .2s ease, border-color .2s ease; }
.premium-card:before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(124,60,255,.18), transparent 45%, rgba(0,224,255,.12)); opacity: 0; transition: opacity .2s ease; pointer-events: none; }
.premium-card:hover { transform: translateY(-5px); border-color: rgba(0,224,255,.32); }
.premium-card:hover:before { opacity: 1; }
.card-topline, .price-row, .table-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.flag { width: 58px; height: 58px; border-radius: 20px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(124,60,255,.62), rgba(0,224,255,.35)); font-weight: 950; }
.pill { display: inline-flex; align-items: center; gap: 6px; color: #d9e3ff; font-size: 12px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.08); font-weight: 850; }
.pill.success { background: rgba(52,245,166,.11); color: #bafbe0; border-color: rgba(52,245,166,.18); }
.feature-list { display: grid; gap: 10px; color: var(--muted-2); margin: 18px 0; }
.feature-list.compact { font-size: 13px; }
.price-label { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.price, .mega-price { font-weight: 950; font-size: 34px; margin: 2px 0; letter-spacing: -.05em; }
.mega-price { font-size: 66px; background: linear-gradient(135deg, var(--gold), var(--cyan)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.step-card span { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 16px; color: var(--cyan); background: rgba(0,224,255,.12); font-weight: 950; margin-bottom: 30px; }
.conversion-band { margin: 34px 7vw; padding: 34px; border-radius: 38px; background: linear-gradient(135deg, rgba(124,60,255,.32), rgba(0,224,255,.16)); border: 1px solid rgba(255,255,255,.15); display: flex; align-items: center; justify-content: space-between; gap: 24px; box-shadow: var(--shadow); }
.conversion-band h2 { max-width: 760px; }
.conversion-band p { max-width: 720px; }
.support-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; }
.soft-panel { background: linear-gradient(160deg, rgba(255,255,255,.095), rgba(255,255,255,.04)); }
.faq-list { display: grid; gap: 12px; }
.faq-list details { border-radius: 22px; }
.faq-list summary { cursor: pointer; font-weight: 900; }

.form-shell, .checkout-shell { padding: 70px 7vw; display: grid; gap: 24px; }
.form-shell { place-items: center; }
.checkout-shell { grid-template-columns: .9fr minmax(360px, .7fr); align-items: start; }
.checkout-copy { max-width: 680px; position: sticky; top: 110px; }
.checkout-panel { width: 100%; }
.wizard-shell .checkout-panel { max-width: 760px; }
.wizard-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 18px 0; }
.wizard-steps span { border: 1px solid rgba(255,255,255,.18); border-radius: 8px; padding: 8px; color: #cbd5e1; font-size: 12px; font-weight: 900; text-align: center; }
.wizard-steps span.active { background: var(--gold); color: #101827; border-color: var(--gold); }
.checkout-shell .wizard-steps { display: none; }
.checkout-copy .feature-list span { color: var(--system-ink); }
.compact-summary { margin-bottom: 16px; }
.wizard-form { gap: 12px; }
.otp-input { font-size: 28px; letter-spacing: .28em; text-align: center; font-weight: 900; }
.demo-otp { display: block; color: var(--muted); font-size: 11px; font-weight: 800; margin-top: -6px; }
.payment-method-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 8px; }
.payment-method { display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; padding: 10px; background: rgba(255,255,255,.075); color: var(--muted-2); font-weight: 900; }
.payment-method input { width: auto; }
.checkout-unified-form { gap: 18px; }
.checkout-section {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(8, 145, 178, 0.16);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--system-ink);
}
.checkout-section h2 { margin: 0; }
.checkout-section .eyebrow { margin: 0; }
.checkout-section .muted { margin: 0; }
.checkout-section h2,
.checkout-section p,
.checkout-section label,
.checkout-section legend,
.checkout-section .muted,
.checkout-offer-summary,
.checkout-offer-summary p,
.checkout-offer-summary dt,
.checkout-offer-summary dd {
  color: var(--system-ink);
}
.checkout-section .muted,
.checkout-offer-summary p {
  color: var(--system-muted);
}
.form-grid.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.company-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.company-fields[hidden] { display: none; }
.checkout-otp-modal[hidden] { display: none; }
.checkout-otp-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 18px;
}
.checkout-otp-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 20, 32, 0.66);
  backdrop-filter: blur(8px);
}
.checkout-otp-card {
  position: relative;
  width: min(520px, 100%);
  display: grid;
  gap: 14px;
  padding: 28px;
  border: 1px solid rgba(8, 145, 178, 0.2);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.98);
  color: var(--system-ink);
  box-shadow: 0 30px 90px rgba(7, 38, 61, 0.25);
  text-align: center;
}
.checkout-otp-card .modal-close {
  position: absolute;
  inset-inline-start: 14px;
  top: 14px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(8, 145, 178, 0.2);
  background: #fff;
  color: var(--system-ink);
  font-size: 24px;
  font-weight: 900;
}
.checkout-otp-card .otp-box-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(42px, 58px));
  justify-content: center;
  gap: 10px;
}
.checkout-otp-card .otp-box {
  height: 58px;
  padding: 0;
  border-radius: 16px;
  text-align: center;
  font-size: 28px;
  font-weight: 900;
  color: var(--system-ink);
  background: #fff;
  border: 1px solid rgba(8, 145, 178, 0.28);
}
.checkout-otp-card .demo-otp {
  justify-self: center;
  width: fit-content;
  margin: 0;
  padding: 7px 12px;
  border-radius: 999px;
  background: #ecfdf5;
  border: 1px solid rgba(15, 118, 110, .22);
  color: #0f5132;
  font-size: 13px;
  font-weight: 900;
}
.split-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.split-actions > * { flex: 1 1 150px; }
.split-actions form { margin: 0; }
.stacked-form { display: grid; gap: 14px; }
label { color: var(--muted-2); display: grid; gap: 8px; font-weight: 800; }
input, select { width: 100%; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.075); color: white; border-radius: 16px; padding: 14px 16px; outline: none; }
textarea { width: 100%; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.075); color: white; border-radius: 16px; padding: 14px 16px; outline: none; font: inherit; resize: vertical; min-height: 180px; }
select option,
select optgroup { color: #101827; background: #fff; }
select:focus { color: #101827; background: #fff; }
input:focus { border-color: rgba(0,224,255,.55); box-shadow: 0 0 0 4px rgba(0,224,255,.10); }
textarea:focus { border-color: rgba(0,224,255,.55); box-shadow: 0 0 0 4px rgba(0,224,255,.10); }
.checkbox-line { display: flex; grid-template-columns: auto 1fr; align-items: start; gap: 10px; font-weight: 650; color: var(--muted); }
.checkbox-line input { width: auto; margin-top: 4px; }
.notice { background: rgba(255, 231, 177, .82); border: 1px solid rgba(217, 154, 39, .42); color: #57380a; border-radius: 16px; padding: 14px; margin: 4px 0; }
.qr-box { min-height: 240px; border: 2px dashed rgba(255,255,255,.22); border-radius: 22px; display: grid; place-items: center; text-align: center; padding: 20px; background: rgba(255,255,255,.04); }
.real-qr-box { min-height: auto; border-style: solid; border-color: rgba(0,224,255,.24); background: #fff; padding: 18px; }
.order-activation-qr { width: min(220px, 100%); height: auto; background: #fff; border-radius: 14px; padding: 10px; box-shadow: 0 12px 34px rgba(0,0,0,.22); }
.code-box { margin-top: 14px; padding: 14px; border-radius: 16px; background: rgba(0, 139, 168, .10); color: var(--system-ink); word-break: break-all; border: 1px solid rgba(0, 139, 168, .20); }
.code-box strong { color: var(--system-ink); }
.activation-guide-card { margin-top: 16px; padding: 18px; border-radius: 18px; background: rgba(255,255,255,.90); border: 1px solid rgba(0, 139, 168, .20); color: var(--system-ink); box-shadow: 0 12px 30px rgba(14, 63, 82, .10); }
.activation-guide-card h2 { margin: 0 0 12px; color: var(--system-ink); font-size: clamp(20px, 2vw, 28px); }
.activation-guide-card ol { margin: 0; padding-inline-start: 1.35rem; display: grid; gap: 10px; color: var(--system-ink); font-weight: 700; }
.activation-guide-card li { color: var(--system-ink); line-height: 1.55; }
body.home-theme-dark .code-box { background: rgba(226, 247, 255, .92); color: #08243a; border-color: rgba(86, 197, 224, .45); }
body.home-theme-dark .code-box strong { color: #08243a; }
body.home-theme-dark .activation-guide-card { background: rgba(240, 252, 255, .96); color: #08243a; border-color: rgba(86, 197, 224, .45); }
body.home-theme-dark .activation-guide-card h2,
body.home-theme-dark .activation-guide-card li { color: #08243a; }
.order-install-panel {
  background: rgba(255, 255, 255, .92);
  border-color: rgba(8, 145, 178, .22);
  color: var(--system-ink);
  align-self: start;
}
.order-install-panel h2 {
  color: var(--system-ink);
  margin-bottom: 14px;
}
.order-install-list {
  margin: 0;
  gap: 12px;
  color: var(--system-ink);
}
.order-install-list span {
  display: block;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(226, 247, 255, .72);
  border: 1px solid rgba(8, 145, 178, .18);
  color: #12324a;
  font-weight: 800;
  line-height: 1.55;
}
.order-install-panel .notice {
  margin-top: 16px;
}
body.home-theme-dark .order-install-panel {
  background: rgba(240, 252, 255, .96);
  border-color: rgba(86, 197, 224, .45);
  color: #08243a;
}
body.home-theme-dark .order-install-panel h2,
body.home-theme-dark .order-install-list span {
  color: #08243a;
}
body.home-theme-dark .order-install-list span {
  background: rgba(226, 247, 255, .86);
  border-color: rgba(86, 197, 224, .45);
}
.wide-form { grid-template-columns: 1fr .8fr; align-items: start; }
.wide-form .panel { width: 100%; }
.account-shell { place-items: stretch; }
.account-panel { width: min(1180px, 100%); margin: 0 auto; }
.account-profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr); gap: 14px; margin: 18px 0 24px; }
.profile-edit-form,
.security-form { border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.045); padding: 14px; }
.account-security-card { align-content: start; }
.account-security-card strong { color: var(--text); font-size: 18px; }
.account-security-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.security-toggle { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: var(--text); }
.security-toggle input { width: 22px; height: 22px; margin: 0; accent-color: #23d5ff; flex: 0 0 auto; }
.affiliate-card { margin: 0 0 24px; padding: 18px; border-radius: 20px; border: 1px solid rgba(0,224,255,.20); background: linear-gradient(135deg, rgba(0,224,255,.10), rgba(255,255,255,.055)); box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.affiliate-card-head { display: flex; justify-content: space-between; gap: 18px; align-items: start; margin-bottom: 14px; }
.affiliate-card h2 { margin: 4px 0 8px; }
.affiliate-card p { margin: 0; color: var(--muted); max-width: 720px; }
.affiliate-discount-meter { min-width: 132px; padding: 14px; border-radius: 16px; background: rgba(255,207,102,.16); border: 1px solid rgba(255,207,102,.30); text-align: center; color: #ffe4a3; }
.affiliate-discount-meter strong { display: block; color: #fff; font-size: 34px; line-height: 1; }
.affiliate-link-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 10px; margin: 14px 0; }
.affiliate-link-row input { direction: ltr; text-align: left; color: #dff9ff; overflow: hidden; text-overflow: ellipsis; }
.affiliate-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 10px 0; }
.affiliate-stats div { padding: 12px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); }
.affiliate-stats strong { display: block; font-size: 24px; color: var(--text); }
.affiliate-stats span { color: var(--muted); font-size: 13px; }
.affiliate-progress { height: 12px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.10); margin: 12px 0 16px; }
.affiliate-progress span { display: block; height: 100%; max-width: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), var(--gold)); }
.affiliate-table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid rgba(255,255,255,.10); }
.affiliate-table { min-width: 620px; background: rgba(0,0,0,.10); }
.affiliate-checkout-note { display: flex; justify-content: space-between; gap: 10px; border-radius: 14px; padding: 12px; margin: 12px 0; color: #ffe4a3; background: rgba(255,207,102,.13); border: 1px solid rgba(255,207,102,.24); }
.affiliate-discount-toggle { border-color: rgba(255,207,102,.28); background: rgba(255,207,102,.10); }
.account-orders-heading { margin: 22px 0 12px; padding: 14px 16px; border-radius: 16px; background: rgba(255,207,102,.12); border: 1px solid rgba(255,207,102,.24); }
.account-orders-heading h2 { margin: 4px 0 0; font-size: 28px; }
.account-package-list { display: grid; gap: 10px; }
.account-package-row { border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.055); overflow: hidden; }
.account-package-row summary { cursor: pointer; list-style: none; display: grid; grid-template-columns: 80px minmax(140px, 1fr) minmax(120px, .7fr) minmax(150px, .8fr) 120px 80px; gap: 10px; align-items: center; padding: 14px; color: var(--text); }
.account-package-row summary::-webkit-details-marker { display: none; }
.account-package-row[open] summary { border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.usage-progress { position: relative; display: grid; place-items: center; min-height: 34px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #fff; font-weight: 950; white-space: nowrap; isolation: isolate; }
.usage-progress-fill { position: absolute; inset: 0 auto 0 0; width: var(--usage-percent); max-width: 100%; border-radius: inherit; z-index: -1; transition: width .2s ease; }
html[dir="rtl"] .usage-progress-fill { inset: 0 0 0 auto; }
.usage-low .usage-progress-fill { background: linear-gradient(90deg, #19c37d, #32d583); }
.usage-medium .usage-progress-fill { background: linear-gradient(90deg, #fdb022, #f79009); }
.usage-high .usage-progress-fill { background: linear-gradient(90deg, #f97066, #d92d20); }
.usage-progress-text { padding: 7px 12px; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.activation-row { display: grid; grid-template-columns: minmax(0, 1fr) 190px 170px; gap: 14px; align-items: center; padding: 14px; }
.activation-copy { display: grid; gap: 8px; min-width: 0; }
.activation-copy code { display: block; padding: 12px; border-radius: 12px; color: #dff9ff; background: rgba(0,224,255,.11); border: 1px solid rgba(0,224,255,.22); overflow-wrap: anywhere; white-space: normal; }
.activation-qr { width: 180px; height: 180px; background: #fff; border-radius: 12px; padding: 8px; justify-self: center; }
.row-actions-inline { display: grid; gap: 8px; }
.floating-actions { position: fixed; left: 10px; right: auto; top: 48%; transform: translateY(-50%); z-index: 60; display: grid; gap: 10px; align-items: start; pointer-events: none; }
html[dir="ltr"] .floating-actions { left: auto; right: 10px; }
.floating-action-group { position: relative; pointer-events: none; }
.floating-tab { pointer-events: auto; width: 128px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.24); color: #101827; background: var(--gold); border-radius: 999px; padding: 10px 14px; font-size: 13px; line-height: 1.15; font-weight: 950; box-shadow: 0 12px 35px rgba(0,0,0,.28); cursor: pointer; white-space: normal; text-align: center; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.floating-tab:hover,
.floating-tab:focus-visible,
.floating-tab[aria-expanded="true"] { transform: translateX(4px); box-shadow: 0 18px 46px rgba(0,0,0,.34); border-color: rgba(255,255,255,.42); }
html[dir="ltr"] .floating-tab:hover,
html[dir="ltr"] .floating-tab:focus-visible,
html[dir="ltr"] .floating-tab[aria-expanded="true"] { transform: translateX(-4px); }
.accessibility-tab { background: #e8f3ff; }
.floating-panel { pointer-events: auto; position: absolute; left: calc(100% + 12px); right: auto; top: 50%; transform: translateY(-50%); width: min(310px, calc(100vw - 170px)); max-height: min(72vh, 520px); overflow: auto; padding: 16px; border-radius: 18px; background: #fff; color: #101827; border: 1px solid #cfd7e6; box-shadow: 0 22px 70px rgba(0,0,0,.34); }
html[dir="ltr"] .floating-panel { left: auto; right: calc(100% + 12px); }
.floating-panel strong { display: block; margin-bottom: 8px; font-size: 16px; line-height: 1.2; color: #101827; }
.floating-panel p { color: #41506a; margin: 0 0 12px; line-height: 1.55; }
.floating-panel button,
.floating-panel a:not(.button) { display: block; width: 100%; border: 1px solid #cfd7e6; border-radius: 10px; padding: 10px 12px; margin-top: 7px; background: #f8fafc; color: #101827; font-weight: 850; text-align: center; cursor: pointer; line-height: 1.2; }
.floating-panel .button { width: 100%; justify-content: center; }
body.a11y-contrast { background: #000 !important; color: #fff; }
body.a11y-contrast .panel,
body.a11y-contrast .package-card,
body.a11y-contrast .account-package-row { background: #000 !important; border-color: #fff !important; }
body.a11y-grayscale { filter: grayscale(1); }
body.a11y-links a { text-decoration: underline; }
body.a11y-motion *, body.a11y-motion *::before, body.a11y-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

.metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.metrics strong { font-size: 34px; display: block; margin: 5px 0; letter-spacing: -.05em; }
.metrics span, .metrics small { color: var(--muted); }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.provider-row, .order-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.wide { width: 100%; }
table { width: 100%; border-collapse: collapse; color: var(--muted); overflow: hidden; }
th, td { text-align: start; padding: 13px 12px; border-bottom: 1px solid rgba(255,255,255,.08); }
th { color: var(--muted-2); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.pricing-grid { grid-template-columns: repeat(2, 1fr); }
.result-card { position: sticky; top: 100px; }
.footer { margin-top: 40px; padding: 34px 7vw; display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.08); color: var(--muted); }
.footer p { margin: 8px 0 0; }
.footer-links { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.legal-meta { display: flex; gap: 10px; flex-wrap: wrap; color: var(--muted); margin: 12px 0 18px; }
.legal-meta span { border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 8px 12px; background: rgba(255,255,255,.05); }
.legal-document-body { white-space: pre-wrap; line-height: 1.75; color: var(--muted-2); }

@media (max-width: 980px) {
  .hero, .checkout-shell, .support-grid, .wide-form { grid-template-columns: 1fr; }
  .checkout-copy { position: static; }
  .steps-grid, .metrics, .pricing-grid { grid-template-columns: 1fr; }
  .value-strip { grid-template-columns: repeat(2, 1fr); }
  .split-heading, .conversion-band, .footer { flex-direction: column; align-items: flex-start; }
  .nav { align-items: flex-start; flex-direction: column; }
  .nav-links { width: 100%; overflow-x: auto; padding-bottom: 4px; }
}
@media (max-width: 560px) {
  body, .nav, .hero, .hero-copy, .hero-visual { width: 100%; max-width: 100vw; overflow-x: hidden; }
  .nav { padding: 14px 18px; gap: 14px; align-items: center; }
  .brand { max-width: 100%; font-size: 20px; letter-spacing: 0; justify-content: center; }
  .nav-links { justify-content: center; flex-wrap: wrap; overflow-x: visible; gap: 8px; font-size: 12px; }
  .nav-links a:nth-child(1), .nav-links a:nth-child(2), .nav-links a:nth-child(3), .nav-links a:nth-child(4), .nav-links a:nth-child(5) { display: none; }
  .hero { padding: 36px 22px 44px; gap: 28px; }
  .section, .admin-shell, .form-shell, .checkout-shell { padding-left: 18px; padding-right: 18px; }
  .checkout-shell, .form-shell { padding-top: 42px; }
  .panel, .package-card, .checkout-panel { width: 100%; max-width: 100%; min-width: 0; border-radius: 18px; }
  .checkout-copy, .checkout-panel, .form-shell .panel { width: 100%; max-width: 100%; min-width: 0; text-align: center; }
  .checkout-copy h1, .checkout-panel h1, .checkout-panel h2, .checkout-copy p, .checkout-copy .feature-list, .form-shell h1, .form-shell h2, .form-shell p {
    max-width: 306px;
    margin-left: auto;
    margin-right: auto;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .hero-copy { min-width: 0; text-align: center; display: grid; justify-items: center; }
  .hero-copy h1, .hero-copy p, .hero-punchline { width: 100%; max-width: 306px; overflow-wrap: anywhere; word-break: break-word; }
  h1 { font-size: 30px; line-height: 1.1; letter-spacing: 0; }
  h2 { font-size: 28px; line-height: 1.08; letter-spacing: 0; }
  .eyebrow, .section-heading span { font-size: 24px; letter-spacing: .04em; }
  .hero-punchline { font-size: 24px; }
  .hero-actions, .trust-row { justify-content: center; }
  .trust-row span { max-width: 100%; white-space: normal; text-align: center; }
  .hero-visual { min-height: auto; }
  .plan-finder { width: 100%; padding: 22px; }
  .value-strip { grid-template-columns: 1fr; }
  .finder-grid { grid-template-columns: 1fr; }
  .device-shell { min-height: 460px; }
  .glass-card strong { font-size: 24px; }
  .mega-price { font-size: 52px; }
  .floating-actions { left: 8px; right: auto; top: auto; bottom: 18px; transform: none; gap: 8px; }
  html[dir="ltr"] .floating-actions { left: auto; right: 8px; }
  .floating-tab { width: 112px; min-height: 42px; padding: 9px 12px; font-size: 12px; }
  .floating-tab:hover,
  .floating-tab:focus-visible,
  .floating-tab[aria-expanded="true"],
  html[dir="ltr"] .floating-tab:hover,
  html[dir="ltr"] .floating-tab:focus-visible,
  html[dir="ltr"] .floating-tab[aria-expanded="true"] { transform: translateY(-2px); }
  .floating-panel { position: fixed; left: 12px; right: 12px; top: auto; bottom: 118px; transform: none; width: auto; max-height: min(58vh, 430px); border-radius: 18px; }
  html[dir="ltr"] .floating-panel { left: 12px; right: 12px; }
}
@media (max-width: 860px) {
  .account-profile-grid { grid-template-columns: 1fr; }
  .affiliate-card-head { flex-direction: column; }
  .affiliate-discount-meter { width: 100%; }
  .affiliate-link-row { grid-template-columns: 1fr; }
  .affiliate-stats { grid-template-columns: 1fr; }
  .account-package-row summary { grid-template-columns: 70px minmax(0, 1fr); }
  .account-package-row summary span:nth-child(n+3) { font-size: 12px; color: var(--muted); }
  .activation-row { grid-template-columns: 1fr; }
  .activation-qr { width: min(180px, 100%); height: auto; }
  .row-actions-inline { grid-template-columns: 1fr 1fr; }
}

/* Operations admin overlay: keep the premium public design while preserving dense admin workflows. */
.admin-workspace { padding: 28px 3vw 54px; background: #f5f7fb; color: #172033; min-height: calc(100vh - 76px); max-width: 100vw; overflow-x: hidden; }
.admin-workspace h1, .admin-workspace h2, .admin-workspace p { color: #172033; }
.admin-ops-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; align-items: start; }
.admin-sidebar { position: sticky; top: 92px; display: grid; gap: 8px; background: #101828; color: white; border-radius: 10px; padding: 14px; box-shadow: 0 12px 36px rgba(16,24,40,.18); min-width: 0; max-width: 100%; }
.admin-sidebar strong { font-size: 18px; margin-bottom: 6px; color: white; }
.admin-sidebar a { color: #d7deea; border-radius: 6px; padding: 9px 10px; font-size: 13px; font-weight: 800; }
.admin-sidebar a:hover { background: rgba(255,255,255,.10); color: white; }
.admin-sidebar-search {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
}
.admin-sidebar-search span {
  color: #d7deea;
  font-size: 11px;
  font-weight: 900;
}
.admin-sidebar-search input {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px;
  background: #fff;
  color: #172033;
  padding: 7px 9px;
}
.admin-main { min-width: 0; max-width: 100%; overflow-x: hidden; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.admin-topbar h1 { font-size: 34px; line-height: 1; margin: 6px 0 0; letter-spacing: 0; }
.admin-topbar p { max-width: 760px; margin: 6px 0 0; color: #536176; }
.section-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.section-title-row p { margin: 4px 0 0; color: #536176; max-width: 860px; }
.admin-search { max-width: 360px; min-height: 38px; }
.admin-table-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; max-width: 100%; min-width: 0; }
.admin-table-tools .admin-search { flex: 1 1 220px; min-width: 0; }
.admin-table-tools .admin-filter {
  flex: 0 1 180px;
  min-height: 38px;
}
.compact-tools { justify-content: flex-start; margin: 8px 0 10px; }
.admin-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.admin-control-card {
  display: grid;
  gap: 5px;
  min-height: 118px;
  padding: 14px;
  border: 1px solid #d8e2ef;
  border-radius: 10px;
  background: linear-gradient(135deg, #ffffff, #f7fbff);
  color: #172033;
  box-shadow: 0 12px 32px rgba(31,45,61,.07);
}
.admin-control-card:hover {
  border-color: #98c7ef;
  transform: translateY(-1px);
}
.admin-control-card span {
  color: #536176;
  font-size: 12px;
  font-weight: 900;
}
.admin-control-card strong {
  color: #172033;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
}
.admin-control-card small {
  color: #5c6a7f;
  line-height: 1.35;
}
.admin-control-card.success {
  border-color: #bfe8cf;
  background: linear-gradient(135deg, #ffffff, #edfff5);
}
.admin-control-card.warning {
  border-color: #ffe0a3;
  background: linear-gradient(135deg, #ffffff, #fff8e8);
}
.admin-control-card.danger {
  border-color: #ffc2cc;
  background: linear-gradient(135deg, #ffffff, #fff1f3);
}
.ops-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.ops-metrics > div { background: white; border: 1px solid #dde3ee; border-radius: 8px; padding: 12px; }
.ops-metrics span { display: block; color: #647084; font-size: 12px; font-weight: 700; }
.ops-metrics strong { color: #172033; font-size: 24px; }
.ops-metrics small { display: block; color: #68758a; line-height: 1.35; margin-top: 3px; }
.ops-section { background: white; border: 1px solid #dde3ee; border-radius: 8px; padding: 14px; margin-bottom: 14px; box-shadow: 0 8px 26px rgba(31,45,61,.06); min-width: 0; max-width: 100%; overflow: hidden; }
.ops-section h2 { font-size: 18px; margin: 0 0 12px; letter-spacing: 0; }
.ops-section h3 { color: #172033; font-size: 15px; letter-spacing: 0; margin: 0 0 10px; }
.ops-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.ops-grid > div,
.ops-grid > article,
.ops-grid > section { min-width: 0; max-width: 100%; overflow: hidden; }
.health-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.health-card, .report-panel { border: 1px solid #dde3ee; border-radius: 8px; background: #fbfcff; padding: 12px; }
.health-card > div { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.health-card strong { color: #172033; }
.health-card p { margin: 8px 0 5px; color: #435066; line-height: 1.45; }
.health-card small { color: #68758a; line-height: 1.4; }
.ops-table { color: #273248; font-size: 13px; }
.ops-table th { color: #647084; font-size: 11px; text-transform: uppercase; background: #f8fafc; position: sticky; top: 0; }
.ops-table th, .ops-table td { padding: 8px 10px; border-bottom: 1px solid #edf1f7; vertical-align: middle; white-space: nowrap; }
.orders-ops-table { table-layout: fixed; min-width: 980px; }
.customers-ops-table { table-layout: fixed; min-width: 1680px; }
.providers-ops-table,
.catalog-ops-table,
.packages-ops-table { table-layout: fixed; min-width: 920px; }
.data-pools-ops-table { table-layout: fixed; min-width: 1180px; }
.payments-ops-table,
.invoices-ops-table,
.accounting-ops-table,
.reports-ops-table,
.analytics-ops-table,
.roles-ops-table,
.activity-ops-table,
.failure-ops-table { table-layout: fixed; min-width: 760px; }
.refunds-ops-table { table-layout: fixed; min-width: 980px; }
.marketing-ops-table,
.content-ops-table { table-layout: fixed; min-width: 1040px; }
.orders-ops-table th,
.orders-ops-table td,
.customers-ops-table th,
.customers-ops-table td,
.providers-ops-table th,
.providers-ops-table td,
.catalog-ops-table th,
.catalog-ops-table td,
.packages-ops-table th,
.packages-ops-table td,
.payments-ops-table th,
.payments-ops-table td,
.invoices-ops-table th,
.invoices-ops-table td,
.refunds-ops-table th,
.refunds-ops-table td,
.accounting-ops-table th,
.accounting-ops-table td,
.reports-ops-table th,
.reports-ops-table td,
.marketing-ops-table th,
.marketing-ops-table td,
.content-ops-table th,
.content-ops-table td,
.analytics-ops-table th,
.analytics-ops-table td,
.roles-ops-table th,
.roles-ops-table td,
.activity-ops-table th,
.activity-ops-table td,
.failure-ops-table th,
.failure-ops-table td,
.data-pools-ops-table th,
.data-pools-ops-table td { text-align: center; white-space: normal; overflow-wrap: anywhere; }
.orders-ops-table th:nth-child(1), .orders-ops-table td:nth-child(1) { width: 72px; }
.orders-ops-table th:nth-child(2), .orders-ops-table td:nth-child(2) { width: 110px; }
.orders-ops-table th:nth-child(3), .orders-ops-table td:nth-child(3) { width: 100px; }
.orders-ops-table th:nth-child(4), .orders-ops-table td:nth-child(4) { width: 82px; }
.orders-ops-table th:nth-child(5), .orders-ops-table td:nth-child(5) { width: 92px; }
.orders-ops-table th:nth-child(6), .orders-ops-table td:nth-child(6) { width: 86px; }
.orders-ops-table th:nth-child(7), .orders-ops-table td:nth-child(7) { width: 102px; }
.orders-ops-table th:nth-child(n+8), .orders-ops-table td:nth-child(n+8) { width: 84px; }
.orders-ops-table form { margin: 0; }
.orders-ops-table .mini-button { width: 100%; min-height: 32px; padding: 6px 7px; }
.customers-ops-table th:nth-child(1), .customers-ops-table td:nth-child(1) { width: 70px; }
.customers-ops-table th:nth-child(2), .customers-ops-table td:nth-child(2) { width: 190px; }
.customers-ops-table th:nth-child(3), .customers-ops-table td:nth-child(3) { width: 140px; }
.customers-ops-table th:nth-child(4), .customers-ops-table td:nth-child(4),
.customers-ops-table th:nth-child(5), .customers-ops-table td:nth-child(5) { width: 82px; }
.customers-ops-table th:nth-child(6), .customers-ops-table td:nth-child(6),
.customers-ops-table th:nth-child(7), .customers-ops-table td:nth-child(7),
.customers-ops-table th:nth-child(8), .customers-ops-table td:nth-child(8) { width: 110px; }
.customers-ops-table th:nth-child(9), .customers-ops-table td:nth-child(9) { width: 70px; }
.customers-ops-table th:nth-child(10), .customers-ops-table td:nth-child(10) { width: 220px; }
.customers-ops-table th:nth-child(11), .customers-ops-table td:nth-child(11) { width: 220px; }
.customers-ops-table th:nth-child(12), .customers-ops-table td:nth-child(12),
.customers-ops-table th:nth-child(13), .customers-ops-table td:nth-child(13),
.customers-ops-table th:nth-child(14), .customers-ops-table td:nth-child(14) { width: 110px; }
.providers-ops-table th:last-child,
.providers-ops-table td:last-child,
.packages-ops-table th:last-child,
.packages-ops-table td:last-child,
.marketing-ops-table th:last-child,
.marketing-ops-table td:last-child,
.content-ops-table th:last-child,
.content-ops-table td:last-child { width: 120px; }
.marketing-ops-table th:nth-child(2),
.marketing-ops-table td:nth-child(2),
.marketing-ops-table th:nth-child(3),
.marketing-ops-table td:nth-child(3),
.content-ops-table th:nth-child(3),
.content-ops-table td:nth-child(3) { width: 300px; }
.refunds-ops-table th:nth-child(1), .refunds-ops-table td:nth-child(1),
.refunds-ops-table th:nth-child(2), .refunds-ops-table td:nth-child(2) { width: 82px; }
.refunds-ops-table th:nth-child(3), .refunds-ops-table td:nth-child(3) { width: 230px; }
.refunds-ops-table th:nth-child(4), .refunds-ops-table td:nth-child(4) { width: 220px; }
.refunds-ops-table th:nth-child(5), .refunds-ops-table td:nth-child(5),
.refunds-ops-table th:nth-child(6), .refunds-ops-table td:nth-child(6) { width: 120px; }
.table-wrap { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.row-actions { display: flex; gap: 6px; align-items: center; flex-wrap: nowrap; }
.row-actions form { display: inline-flex; }
.row-actions input { width: 130px; min-height: 32px; padding: 6px 8px; border-radius: 6px; color: #172033; background: white; border: 1px solid #cfd7e6; }
.inline-note-form { display: flex; align-items: center; gap: 6px; min-width: 270px; max-width: 100%; }
.inline-note-form input { min-height: 32px; padding: 6px 8px; border-radius: 6px; min-width: 0; }
.mini-button { border: 1px solid #cfd7e6; background: #fff; color: #172033; border-radius: 6px; padding: 6px 9px; font-weight: 800; cursor: pointer; }
.mini-button:hover { background: #edf5ff; border-color: #8ab6f2; }
.danger-action { color: #a8243d; border-color: #f0b8c3; }
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 7px; background: #eef6ff; color: #24578f; font-weight: 800; }
.status-badge.success { background: #e9fbf1; color: #146c43; }
.status-badge.warning { background: #fff7e6; color: #8a5a00; }
.status-badge.danger { background: #fff1f2; color: #a3142d; }
.muted { color: #647084; }
.package-create { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; align-items: center; min-width: 0; max-width: 100%; }
.package-create input,
.package-create select,
.package-create button,
.package-create label { min-width: 0; max-width: 100%; }
.admin-workspace input, .admin-workspace select, .admin-workspace .package-create label { color: #172033; background: white; border-color: #cfd7e6; border-radius: 6px; }
.admin-workspace .button { border-radius: 6px; color: #172033; background: white; box-shadow: none; border: 1px solid #cfd7e6; }
.admin-workspace .button.primary { background: #2457d6; color: white; border-color: #2457d6; }
.admin-workspace .button.subtle { padding: 8px 11px; font-size: 12px; color: #0f3c56; background: #edf8fb; border-color: #b9e7f1; }
.admin-workspace .table-link { color: #075985; font-weight: 900; text-decoration: none; }
.admin-workspace .table-link:hover { text-decoration: underline; }
.admin-workspace .eyebrow { color: #2457d6; letter-spacing: .08em; }
.check-list { margin: 0; padding-inline-start: 20px; color: #273248; line-height: 1.8; }
.legal-shell { align-items: start; }
.legal-panel { max-width: 920px; width: 100%; }
.legal-panel h1 { font-size: clamp(34px, 5vw, 58px); line-height: 1.02; }
.legal-content { display: grid; gap: 18px; margin: 24px 0; }
.legal-content section { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; }
.legal-content h2 { font-size: 24px; letter-spacing: 0; }
@media (max-width: 1120px) {
  .admin-ops-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
  .admin-sidebar strong,
  .admin-sidebar-search { grid-column: 1 / -1; }
  .admin-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-grid { grid-template-columns: 1fr; }
  .package-create { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
  .table-wrap { overflow-x: visible; }
  .ops-table,
  .ops-table thead,
  .ops-table tbody,
  .ops-table tr,
  .ops-table th,
  .ops-table td { display: block; width: 100%; min-width: 0; }
  .ops-table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .ops-table thead { display: none; }
  .ops-table tr {
    margin: 0 0 10px;
    border: 1px solid #dde3ee;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
  }
  .ops-table td {
    display: grid;
    grid-template-columns: minmax(118px, .34fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .ops-table td::before {
    content: attr(data-label);
    color: #647084;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .ops-table td[colspan] {
    display: block;
  }
  .ops-table td[colspan]::before {
    content: "";
    display: none;
  }
  .orders-ops-table,
  .orders-ops-table thead,
  .orders-ops-table tbody,
  .orders-ops-table tr,
  .orders-ops-table th,
  .orders-ops-table td {
    display: table;
  }
  .orders-ops-table {
    display: table;
    min-width: 980px;
    table-layout: fixed;
    border-collapse: collapse;
  }
  .orders-ops-table thead { display: table-header-group; }
  .orders-ops-table tbody { display: table-row-group; }
  .orders-ops-table tr {
    display: table-row;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }
  .orders-ops-table th,
  .orders-ops-table td {
    display: table-cell;
    width: auto;
    padding: 8px 7px;
    white-space: normal;
  }
  .orders-ops-table td::before { content: none; }
  .orders-ops-table .mini-button { width: 100%; }
  .row-actions,
  .inline-note-form { min-width: 0; flex-wrap: wrap; justify-content: flex-start; }
  .row-actions form { flex: 1 1 120px; }
  .row-actions .mini-button,
  .inline-note-form .mini-button { width: 100%; }
  .inline-note-form input { flex: 1 1 100%; width: 100%; }
}
@media (max-width: 920px) {
  .admin-topbar, .section-title-row { align-items: flex-start; flex-direction: column; }
  .admin-table-tools { width: 100%; justify-content: flex-start; }
  .admin-search { max-width: 100%; width: 100%; }
}
@media (max-width: 720px) {
  .admin-workspace { padding: 18px 12px 36px; }
  .admin-ops-shell { gap: 12px; }
  .admin-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; gap: 6px; }
  .admin-sidebar a { padding: 8px; font-size: 12px; text-align: center; overflow-wrap: anywhere; }
  .admin-topbar h1 { font-size: 28px; line-height: 1.12; }
  .ops-section { padding: 12px; }
  .ops-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-create { grid-template-columns: 1fr; }
  .admin-table-tools { display: grid; grid-template-columns: 1fr; }
  .admin-table-tools .mini-button,
  .admin-table-tools .button { width: 100%; justify-content: center; }
  .admin-table-tools .admin-filter { width: 100%; }
  .admin-control-grid { grid-template-columns: 1fr; }
  .ops-table td { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .ops-metrics { grid-template-columns: 1fr; }
  .admin-sidebar { grid-template-columns: 1fr 1fr; }
  .health-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1120px) {
  .table-wrap { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
  .ops-table,
  .ops-table thead,
  .ops-table tbody,
  .ops-table tr,
  .ops-table th,
  .ops-table td {
    display: revert;
  }
  .ops-table {
    display: table;
    min-width: 860px;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .ops-table thead { display: table-header-group; }
  .ops-table tbody { display: table-row-group; }
  .ops-table tr {
    display: table-row;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }
  .ops-table th,
  .ops-table td {
    display: table-cell;
    width: auto;
    min-width: 0;
    padding: 8px 7px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .ops-table td::before { content: none; }
  .ops-table form { margin: 0; }
  .ops-table input,
  .ops-table .mini-button {
    width: 100%;
    min-width: 0;
    min-height: 32px;
    padding: 6px 7px;
  }
  .orders-ops-table { min-width: 980px; }
  .customers-ops-table { min-width: 1680px; }
  .providers-ops-table,
  .catalog-ops-table,
  .packages-ops-table { min-width: 920px; }
  .data-pools-ops-table { min-width: 1180px; }
  .payments-ops-table,
  .invoices-ops-table,
  .accounting-ops-table,
  .reports-ops-table,
  .analytics-ops-table,
  .roles-ops-table,
  .activity-ops-table,
  .failure-ops-table { min-width: 760px; }
  .refunds-ops-table { min-width: 980px; }
  .marketing-ops-table,
  .content-ops-table { min-width: 1040px; }
  .customers-ops-table th:nth-child(9),
  .customers-ops-table td:nth-child(9) { width: 70px; }
  .customers-ops-table th:nth-child(10),
  .customers-ops-table td:nth-child(10),
  .customers-ops-table th:nth-child(11),
  .customers-ops-table td:nth-child(11) { width: 220px; }
  .customers-ops-table th:nth-child(12),
  .customers-ops-table td:nth-child(12),
  .customers-ops-table th:nth-child(13),
  .customers-ops-table td:nth-child(13),
  .customers-ops-table th:nth-child(14),
  .customers-ops-table td:nth-child(14) { width: 110px; }
  .orders-ops-table th:nth-child(n+8),
  .orders-ops-table td:nth-child(n+8) { width: 108px; }
  .providers-ops-table th:last-child,
  .providers-ops-table td:last-child,
  .packages-ops-table th:last-child,
  .packages-ops-table td:last-child,
  .marketing-ops-table th:last-child,
  .marketing-ops-table td:last-child,
  .content-ops-table th:last-child,
  .content-ops-table td:last-child { width: 120px; }
  .refunds-ops-table th:nth-child(3),
  .refunds-ops-table td:nth-child(3),
  .refunds-ops-table th:nth-child(4),
  .refunds-ops-table td:nth-child(4) { width: 220px; }
  .refunds-ops-table th:nth-child(5),
  .refunds-ops-table td:nth-child(5),
  .refunds-ops-table th:nth-child(6),
  .refunds-ops-table td:nth-child(6) { width: 120px; }
  .marketing-ops-table th:nth-child(2),
  .marketing-ops-table td:nth-child(2),
  .marketing-ops-table th:nth-child(3),
  .marketing-ops-table td:nth-child(3),
  .content-ops-table th:nth-child(3),
  .content-ops-table td:nth-child(3) { width: 300px; }
}

/* Final homepage polish overrides: keep these after legacy rules. */
.travel-home {
  --travel-purple: #8b2cff;
  --travel-text: #101828;
  --travel-muted: #475467;
  --travel-card: #ffffff;
  --travel-border: #d8dee8;
  --travel-glass: rgba(255, 255, 255, 0.92);
  --travel-shadow: 0 18px 42px rgba(16, 24, 40, 0.14);
  --travel-hero-title: #101828;
  --travel-hero-subtitle: #1d2939;
  --travel-hero-overlay: linear-gradient(180deg, rgba(247, 250, 252, 0.7), rgba(255, 255, 255, 0.56) 48%, rgba(255, 255, 255, 0.92) 100%);
  font-family: Arial;
}

.travel-home[data-theme="dark"] {
  --travel-text: #f8fafc;
  --travel-muted: #cbd5e1;
  --travel-card: #111827;
  --travel-border: rgba(255, 255, 255, 0.16);
  --travel-glass: rgba(15, 23, 42, 0.9);
  --travel-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
  --travel-hero-title: #ffffff;
  --travel-hero-subtitle: #e5edf7;
  --travel-hero-overlay: linear-gradient(180deg, rgba(3, 7, 18, 0.38), rgba(3, 7, 18, 0.62) 48%, rgba(3, 7, 18, 0.96) 100%);
  background: #050914;
}

.travel-hero {
  min-height: 700px;
  padding: 54px 20px 90px;
  background:
    var(--travel-hero-overlay),
    url("https://upload.wikimedia.org/wikipedia/commons/1/1f/Airplane_taking_off_from_75_Mile_Beach%2C_Fraser_Island%2C_2001.jpg") center / cover;
}

.travel-hero__overlay {
  background:
    radial-gradient(circle at 14% 18%, rgba(139, 44, 255, 0.18), transparent 29%),
    radial-gradient(circle at 88% 24%, rgba(14, 165, 233, 0.18), transparent 31%);
}

.travel-hero h1 {
  color: var(--travel-hero-title);
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.06;
  text-shadow: 0 2px 18px rgba(255, 255, 255, 0.46);
}

.travel-home[data-theme="dark"] .travel-hero h1 {
  color: #fff;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.42);
}

.travel-hero__content > p:not(.travel-hero__eyebrow) {
  max-width: 640px;
  color: var(--travel-hero-subtitle);
  font-size: clamp(18px, 1.65vw, 25px);
  font-weight: 800;
}

.home-theme-toggle,
.home-mode-tab,
.home-trip-panel {
  background: var(--travel-glass);
  color: var(--travel-text);
  backdrop-filter: blur(14px);
}

.home-theme-toggle {
  min-height: 42px;
  margin: 0 auto 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(139, 44, 255, 0.28);
  border-radius: 999px;
  padding: 0 16px;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.1);
  cursor: pointer;
}

.home-search-widget { width: min(620px, 100%); }

.home-mode-tab {
  min-height: 94px;
  gap: 6px;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.12);
}

.home-mode-tab.is-active {
  color: var(--travel-purple);
  outline: 2px solid rgba(139, 44, 255, 0.24);
  outline-offset: -2px;
}

.home-tab-icon {
  width: 34px;
  height: 34px;
  display: block;
  border: 3px solid currentColor;
  border-radius: 12px;
  position: relative;
  font-size: 0;
  line-height: 0;
}

.home-mode-tab[data-mode="package"] .home-tab-icon { border-radius: 999px; }
.home-mode-tab[data-mode="package"] .home-tab-icon::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 3px;
  right: -9px;
  bottom: 1px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
}
.home-mode-tab[data-mode="personal"] .home-tab-icon::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 6px;
  left: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.home-mode-tab[data-mode="business"] .home-tab-icon::before {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  top: -8px;
  height: 9px;
  border: 3px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.home-trip-panel {
  padding: 18px;
  border: 1px solid var(--travel-border);
  border-radius: 14px;
  box-shadow: var(--travel-shadow);
}

.home-trip-card,
.home-tab-card,
.home-dialog,
.home-destination-chip,
.home-destination-list button,
.home-calendar,
.home-plan-card,
.home-article-grid article,
.home-package-row,
.home-cookie {
  border-color: var(--travel-border);
  background: var(--travel-card);
  color: var(--travel-text);
}

.home-trip-card,
.home-tab-card {
  padding: 18px 22px;
  border-radius: 12px;
  box-shadow: 0 5px 14px rgba(16, 24, 40, 0.08);
}

.home-trip-card__icon {
  width: 30px;
  height: 30px;
  border: 2px solid var(--travel-muted);
  border-radius: 999px;
  color: transparent;
  position: relative;
  font-size: 0;
}
.home-trip-card__icon::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: inherit;
  background: var(--travel-purple);
}

.home-trip-card__label { font-size: 22px; }
.home-trip-card strong { font-size: clamp(22px, 2.2vw, 30px); }
.home-trip-card small,
.home-tab-card p {
  color: var(--travel-muted);
  font-size: 15px;
}

.home-tab-card input,
.home-search-input input {
  background: var(--travel-card);
  color: var(--travel-text);
  border-color: var(--travel-border);
}

.home-search-cta {
  min-height: 58px;
  font-size: 20px;
}

.home-dialog {
  border: 1px solid var(--travel-border);
  border-radius: 14px;
}

.home-dialog h2 { font-size: 24px; }
.home-calendar__grid button { color: var(--travel-text); }

.home-featured-plans {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), #fff 70%),
    url("https://upload.wikimedia.org/wikipedia/commons/1/1f/Airplane_taking_off_from_75_Mile_Beach%2C_Fraser_Island%2C_2001.jpg") center top / cover fixed;
}
.travel-home[data-theme="dark"] .home-featured-plans {
  background:
    linear-gradient(180deg, rgba(3, 7, 18, 0.72), #050914 72%),
    url("https://upload.wikimedia.org/wikipedia/commons/1/1f/Airplane_taking_off_from_75_Mile_Beach%2C_Fraser_Island%2C_2001.jpg") center top / cover fixed;
}

.home-section-heading h2,
.home-benefit-band h2,
.home-preflight h2,
.home-faq h2,
.home-benefit-grid article,
.home-preflight-grid article,
.home-faq summary {
  color: var(--travel-text);
}
.home-section-heading p,
.home-preflight p,
.home-benefit-grid p,
.home-article-grid p,
.home-faq p {
  color: var(--travel-muted);
}

.home-plan-card,
.home-article-grid article,
.home-package-row {
  border: 1px solid var(--travel-border);
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(16, 24, 40, 0.13);
}

.home-plan-card__top {
  min-height: 220px;
  padding: 24px 20px 18px;
}
.home-plan-card__top strong { font-size: 48px; }
.home-plan-card__bottom { padding: 18px; }
.home-plan-price strong {
  color: var(--travel-text);
  font-size: 30px;
}
.home-plan-card__bottom p {
  min-height: 58px;
  border-radius: 10px;
  background: rgba(139, 44, 255, 0.13);
  color: var(--travel-text);
}

.home-articles,
.home-preflight,
.home-faq {
  background: #fff;
}
.travel-home[data-theme="dark"] .home-articles,
.travel-home[data-theme="dark"] .home-preflight,
.travel-home[data-theme="dark"] .home-faq {
  background: #050914;
}

.home-benefit-band {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.9), rgba(243, 232, 255, 0.78), rgba(255, 255, 255, 0.9)),
    url("https://upload.wikimedia.org/wikipedia/commons/1/1f/Airplane_taking_off_from_75_Mile_Beach%2C_Fraser_Island%2C_2001.jpg") center / cover;
}
.travel-home[data-theme="dark"] .home-benefit-band {
  background:
    linear-gradient(90deg, rgba(3, 7, 18, 0.92), rgba(36, 20, 67, 0.82), rgba(3, 7, 18, 0.92)),
    url("https://upload.wikimedia.org/wikipedia/commons/1/1f/Airplane_taking_off_from_75_Mile_Beach%2C_Fraser_Island%2C_2001.jpg") center / cover;
}

.home-cookie {
  top: auto;
  bottom: 24px;
  transform: translateX(-50%);
  width: min(430px, calc(100vw - 34px));
  gap: 14px;
  padding: 28px 28px 24px;
  border: 1px solid var(--travel-border);
  border-radius: 18px;
  box-shadow: var(--travel-shadow);
}
.home-cookie__icon { font-size: 54px; }
.home-cookie p { font-size: 18px; }
.home-cookie a { color: var(--travel-text); }
.home-cookie__accept {
  min-height: 48px;
  font-size: 18px;
}

@media (max-width: 900px) {
  .travel-hero {
    min-height: 680px;
    padding: 42px 12px 76px;
  }
  .home-mode-tab {
    min-height: 88px;
    font-size: 15px;
  }
  .home-tab-icon {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 560px) {
  .travel-hero {
    min-height: 650px;
    padding: 24px 12px 56px;
  }
  .travel-hero h1 { font-size: 28px; }
  .travel-hero__content > p:not(.travel-hero__eyebrow) {
    font-size: 17px;
    margin-bottom: 18px;
  }
  .home-theme-toggle {
    min-height: 38px;
    margin-bottom: 12px;
    font-size: 13px;
  }
  .home-mode-tab {
    min-height: 76px;
    border-radius: 10px;
    font-size: 13px;
  }
  .home-tab-icon {
    width: 24px;
    height: 24px;
    border-width: 2px;
  }
  .home-trip-panel {
    padding: 12px;
    gap: 10px;
  }
  .home-trip-card,
  .home-tab-card {
    padding: 14px 12px;
  }
  .home-trip-card__label { font-size: 19px; }
  .home-trip-card strong { font-size: 21px; }
  .home-trip-card small,
  .home-tab-card p { font-size: 13px; }
  .home-search-cta {
    min-height: 52px;
    font-size: 17px;
  }
  .home-plan-card__top { min-height: 180px; }
  .home-plan-card__top strong { font-size: 40px; }
  .home-cookie {
    bottom: 12px;
    padding: 20px 18px 18px;
  }
  .home-cookie__icon { font-size: 42px; }
  .home-cookie p { font-size: 15px; }
}

/* ESIMO brand layer */
.brand {
  letter-spacing: 0;
}

.brand-mark {
  border-radius: 999px 999px 999px 12px;
  color: #fff;
  background:
    radial-gradient(circle at 68% 32%, #101827 0 3px, transparent 4px),
    radial-gradient(circle at 42% 58%, #101827 0 2px, transparent 3px),
    linear-gradient(135deg, var(--watermelon-red), var(--watermelon-pink) 58%, var(--watermelon-green) 59%, var(--watermelon-deep));
  box-shadow: 0 14px 42px rgba(255, 79, 109, 0.3);
}

.button.primary,
.home-search-cta,
.home-plan-buy,
.home-cookie__accept {
  background: linear-gradient(135deg, var(--watermelon-green), var(--watermelon-red));
  box-shadow: 0 18px 48px rgba(255, 79, 109, 0.28);
}

.travel-home {
  --travel-purple: var(--watermelon-red);
  --travel-text: #122018;
  --travel-muted: #4f6b5d;
  --travel-card: #ffffff;
  --travel-border: rgba(15, 143, 91, 0.2);
  --travel-glass: rgba(255, 255, 255, 0.92);
  --travel-hero-title: #102018;
  --travel-hero-subtitle: #20392b;
}

.travel-home[data-theme="dark"] {
  --travel-text: #f5fff8;
  --travel-muted: #c8ead4;
  --travel-card: #0b1912;
  --travel-border: rgba(223, 249, 232, 0.16);
  --travel-glass: rgba(9, 25, 18, 0.9);
  --travel-hero-title: #ffffff;
  --travel-hero-subtitle: #dff9e8;
}

.travel-hero__eyebrow,
.home-calendar__grid button.is-start,
.home-calendar__grid button.is-end {
  background: linear-gradient(90deg, var(--watermelon-green), var(--watermelon-red));
}

.home-theme-toggle,
.home-mode-tab,
.home-trip-card,
.home-tab-card,
.home-plan-card,
.home-article-grid article,
.home-package-row {
  border-radius: 18px;
}

.home-mode-tab.is-active {
  color: var(--watermelon-red);
  outline-color: rgba(255, 79, 109, 0.34);
}

.home-tab-icon,
.home-trip-card__icon {
  color: var(--watermelon-green);
}

.home-trip-card__icon::after {
  background: var(--watermelon-red);
}

.home-plan-card__top {
  background:
    radial-gradient(circle at 66% 34%, rgba(19, 32, 25, 0.95) 0 4px, transparent 5px),
    radial-gradient(circle at 37% 56%, rgba(19, 32, 25, 0.88) 0 3px, transparent 4px),
    linear-gradient(160deg, var(--watermelon-red), var(--watermelon-pink) 66%, var(--watermelon-green) 67%, var(--watermelon-deep));
}

.home-plan-card__bottom p,
.home-destination-chip,
.home-destination-list button.is-selected {
  background: rgba(255, 79, 109, 0.12);
  border-color: rgba(255, 79, 109, 0.24);
}

.floating-tab.support-tab {
  background: linear-gradient(135deg, #ffd4dc, var(--watermelon-red));
  color: #132019;
}

.floating-tab.accessibility-tab {
  background: linear-gradient(135deg, var(--watermelon-mint), #ffffff);
  color: #123321;
}

.watermelon-card-icon {
  position: absolute;
  top: 14px;
  inset-inline-start: 14px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.watermelon-card-icon--package::before,
.watermelon-card-icon--package::after {
  content: "";
  position: absolute;
}

.watermelon-card-icon--package::before {
  left: 8px;
  right: 8px;
  bottom: 7px;
  height: 16px;
  border: 3px solid #fff;
  border-radius: 5px;
}

.watermelon-card-icon--package::after {
  left: 12px;
  right: 12px;
  top: 7px;
  height: 9px;
  border: 3px solid #fff;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
}

.home-mode-tab[data-icon="search"] .home-tab-icon { border-radius: 999px; }
.home-mode-tab[data-icon="search"] .home-tab-icon::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 3px;
  right: -9px;
  bottom: 1px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
}
.home-mode-tab[data-icon="user"] .home-tab-icon::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 6px;
  left: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.home-mode-tab[data-icon="user"] .home-tab-icon::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 5px;
  height: 7px;
  border: 2px solid currentColor;
  border-top-left-radius: 999px;
  border-top-right-radius: 999px;
}
.home-mode-tab[data-icon="subscription"] .home-tab-icon::before {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  top: -8px;
  height: 9px;
  border: 3px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.home-trip-card[data-icon="plane"] .home-trip-card__icon,
.home-tab-card[data-icon="mobile"] .home-trip-card__icon,
.home-tab-card[data-icon="phone"] .home-trip-card__icon,
.home-preflight-grid article[data-icon] span {
  border-radius: 8px;
}

.home-trip-card[data-icon="plane"] .home-trip-card__icon::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 13px;
  width: 20px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(-18deg);
}

.home-trip-card[data-icon="suitcase"] .home-trip-card__icon::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: -6px;
  height: 7px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
}

.home-tab-card[data-icon="phone"] .home-trip-card__icon::before,
.home-tab-card[data-icon="mobile"] .home-trip-card__icon::before {
  content: "";
  position: absolute;
  inset: 4px 8px;
  border: 2px solid currentColor;
  border-radius: 6px;
}

.home-preflight-grid article[data-icon] span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: var(--watermelon-mint);
  color: var(--watermelon-green);
  border: 2px solid rgba(15, 143, 91, 0.22);
}

.home-preflight-grid article[data-icon] span::before {
  content: "";
  width: 22px;
  height: 28px;
  border: 3px solid currentColor;
  border-radius: 8px;
}

/* ESIMO final visual guardrails. */
.travel-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 34px;
  height: auto;
  margin: 0 auto 14px;
  padding: 7px 16px;
  color: #132019;
  border: 1px solid rgba(15, 143, 91, 0.28);
  background: linear-gradient(135deg, #fff3bf, #dff9e8);
  box-shadow: 0 12px 34px rgba(15, 143, 91, 0.12);
  line-height: 1.2;
  letter-spacing: 0;
  white-space: normal;
  text-shadow: none;
}

.travel-home[data-theme="dark"] .travel-hero__eyebrow {
  color: #132019;
  background: linear-gradient(135deg, #ffe082, #8ef0b5);
}

.travel-home h1,
.travel-home h2,
.travel-home h3,
.travel-home p,
.travel-home a,
.travel-home button,
.travel-home span,
.travel-home strong,
.travel-home label {
  letter-spacing: 0;
}

.home-trip-card:not(:has(.home-trip-card__label)) {
  gap: 10px;
  padding-block: 22px;
}

.home-trip-card:not(:has(.home-trip-card__label)) strong {
  margin-top: 4px;
}

.account-login-shell {
  min-height: calc(100vh - 180px);
}

.account-login-panel {
  max-width: 520px;
}

.account-phone-form input[type="tel"] {
  direction: ltr;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
}

.otp-form {
  margin-top: 18px;
}

.otp-login-summary {
  display: grid;
  gap: 5px;
  padding: 14px;
  border-radius: 18px;
  text-align: center;
  color: var(--text);
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.otp-login-summary strong {
  font-size: 18px;
}

.otp-login-summary span {
  color: var(--muted-2);
  overflow-wrap: anywhere;
}

.otp-login-summary span[dir="ltr"],
.otp-login-summary .phone-display {
  direction: ltr;
  unicode-bidi: plaintext;
}

.otp-box-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.otp-box {
  aspect-ratio: 1;
  min-height: 64px;
  padding: 0;
  text-align: center;
  font-size: clamp(28px, 7vw, 42px);
  font-weight: 950;
  color: #132019;
  background: linear-gradient(180deg, #ffffff, #e9fff1);
  border: 2px solid rgba(15, 143, 91, 0.34);
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(15, 143, 91, 0.14);
}

.otp-box:focus {
  border-color: var(--watermelon-red);
  box-shadow: 0 0 0 4px rgba(255, 79, 109, 0.22), 0 16px 42px rgba(15, 143, 91, 0.18);
}

.otp-form .demo-otp {
  margin: -2px 0 2px;
  color: var(--watermelon-mint);
  text-align: center;
  font-size: 12px;
}

@media (max-width: 560px) {
  .otp-box-row {
    gap: 8px;
  }

  .otp-box {
    min-height: 58px;
    border-radius: 16px;
  }
}

body:has(.account-login-shell) .floating-actions {
  display: none;
}

.admin-password-fallback {
  margin-top: 18px;
  border-top: 1px solid rgba(15, 35, 30, .12);
  padding-top: 14px;
}

.home-login-card {
  gap: 6px;
}

.home-login-form {
  display: grid;
  gap: 5px;
  width: 100%;
  justify-items: center;
}

.home-login-form label,
.home-login-form strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
}

.home-login-form[data-home-phone-form] label {
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  opacity: 0;
  position: absolute;
}

.phone-split-input {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(3px, .45vw, 5px);
  width: 100%;
  max-width: min(100%, 520px);
  margin: 0 auto 3px;
  padding: 0;
}

.phone-digit-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(2px, .35vw, 4px);
  flex: 0 0 auto;
}

.phone-dash {
  color: #0f172a;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 900;
  text-align: center;
  line-height: 1;
  min-width: 12px;
}

.phone-digit-group input {
  appearance: none;
  direction: ltr;
  text-align: center;
  width: clamp(34px, 3.6vw, 44px);
  height: clamp(54px, 5.4vw, 66px);
  min-height: 0;
  padding: 0;
  border: 1px solid rgba(20, 184, 166, .35);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  color: #0f172a;
  font-family: Arial, sans-serif;
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 900;
  line-height: 1;
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
  caret-color: #14b8a6;
}

.phone-digit-group input:focus {
  border-color: rgba(20, 184, 166, .85);
  box-shadow: 0 0 0 4px rgba(20, 184, 166, .18);
}

@media (max-width: 560px) {
  .phone-split-input {
    gap: 2px;
    margin: 0 auto 2px;
  }

  .phone-digit-group {
    gap: 2px;
  }

  .phone-digit-group input {
    width: 27px;
    height: 52px;
    border-radius: 7px;
    font-size: 24px;
  }

  .phone-dash {
    font-size: 20px;
    min-width: 6px;
  }
}

@media (max-width: 360px) {
  .phone-split-input {
    gap: 2px;
  }

  .phone-digit-group {
    gap: 2px;
  }

  .phone-digit-group input {
    width: 23px;
    height: 52px;
    border-radius: 6px;
    font-size: 21px;
  }

  .phone-dash {
    font-size: 20px;
    min-width: 7px;
  }
}

.testimonial-rating {
  color: #8a5a00 !important;
  font-weight: 700 !important;
}

body.home-theme-dark .testimonial-rating {
  color: #ffd166 !important;
}

.home-login-form .otp-box-row {
  margin-top: 4px;
}

.home-login-form .demo-otp,
.home-login-form .form-error {
  text-align: center;
}

.form-error {
  color: #b91c1c;
  font-size: 12px;
  font-weight: 900;
}

/* Summer travel visual refresh. Keep after previous brand layers. */
:root {
  --summer-sky: #0ea5e9;
  --summer-sea: #0891b2;
  --summer-turquoise: #14b8a6;
  --summer-sun: #fbbf24;
  --summer-coral: #fb7185;
  --summer-ink: #102a43;
  --summer-muted: #52677a;
  --summer-sand: #fff7ed;
  --summer-card: rgba(255, 255, 255, 0.94);
}

.travel-home {
  --travel-purple: var(--summer-sea);
  --travel-text: var(--summer-ink);
  --travel-muted: var(--summer-muted);
  --travel-card: var(--summer-card);
  --travel-border: rgba(8, 145, 178, 0.18);
  --travel-glass: rgba(255, 255, 255, 0.78);
  --travel-shadow: 0 18px 46px rgba(15, 76, 117, 0.14);
  --travel-hero-title: #082f49;
  --travel-hero-subtitle: #164e63;
  --travel-hero-overlay:
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(224, 247, 250, 0.46) 46%, rgba(255, 255, 255, 0.88) 100%);
  background: linear-gradient(180deg, #f0fbff, #ffffff 44%, #fffaf0);
}

.travel-home[data-theme="dark"] {
  --travel-text: #f8fafc;
  --travel-muted: #c8e6f2;
  --travel-card: rgba(8, 26, 43, 0.92);
  --travel-border: rgba(125, 211, 252, 0.22);
  --travel-glass: rgba(8, 26, 43, 0.82);
  --travel-hero-title: #ffffff;
  --travel-hero-subtitle: #dff7ff;
  --travel-hero-overlay:
    linear-gradient(180deg, rgba(8, 32, 54, 0.42), rgba(8, 32, 54, 0.62) 48%, rgba(4, 18, 31, 0.92) 100%);
  background: #04121f;
}

.travel-hero {
  background:
    var(--travel-hero-overlay),
    url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1800&q=84") center / cover;
}

.home-featured-plans {
  background:
    linear-gradient(180deg, rgba(240, 251, 255, 0.9), #ffffff 68%),
    url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1800&q=78") center top / cover fixed;
}

.travel-home[data-theme="dark"] .home-featured-plans {
  background:
    linear-gradient(180deg, rgba(8, 32, 54, 0.82), #04121f 72%),
    url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1800&q=74") center top / cover fixed;
}

.home-benefit-band {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(224, 247, 250, 0.82), rgba(255, 247, 237, 0.92)),
    url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=78") center / cover;
}

.travel-home[data-theme="dark"] .home-benefit-band {
  background:
    linear-gradient(90deg, rgba(4, 18, 31, 0.93), rgba(12, 74, 110, 0.84), rgba(4, 18, 31, 0.93)),
    url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=74") center / cover;
}

.brand-mark {
  border-radius: 16px;
  background:
    linear-gradient(135deg, var(--summer-sky), var(--summer-turquoise) 58%, var(--summer-sun));
  box-shadow: 0 12px 34px rgba(14, 165, 233, 0.24);
}

.button.primary,
.home-search-cta,
.home-plan-buy,
.home-cookie__accept {
  background: linear-gradient(135deg, var(--summer-sea), var(--summer-turquoise) 58%, #38bdf8);
  box-shadow: 0 16px 36px rgba(8, 145, 178, 0.24);
}

.button.primary:hover,
.home-search-cta:hover,
.home-plan-buy:hover,
.home-cookie__accept:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 42px rgba(8, 145, 178, 0.28);
}

.travel-hero__overlay {
  background:
    radial-gradient(circle at 18% 20%, rgba(251, 191, 36, 0.24), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(20, 184, 166, 0.22), transparent 30%),
    radial-gradient(circle at 50% 78%, rgba(14, 165, 233, 0.16), transparent 36%);
}

.travel-hero__eyebrow {
  color: #7c2d12;
  border: 1px solid rgba(251, 191, 36, 0.42);
  background: linear-gradient(135deg, #fff7c2, #dffbff);
  box-shadow: 0 12px 30px rgba(251, 191, 36, 0.14);
}

.travel-home[data-theme="dark"] .travel-hero__eyebrow {
  color: #082f49;
  background: linear-gradient(135deg, #fde68a, #a7f3d0);
}

.home-theme-toggle,
.home-mode-tab,
.home-trip-card,
.home-tab-card,
.home-plan-card,
.home-article-grid article,
.home-package-row,
.home-cookie {
  border-radius: 16px;
}

.home-theme-toggle {
  border-color: rgba(14, 165, 233, 0.22);
}

.home-mode-tab {
  box-shadow: 0 10px 26px rgba(15, 76, 117, 0.11);
}

.home-mode-tab.is-active {
  color: var(--summer-sea);
  outline-color: rgba(8, 145, 178, 0.28);
  background: rgba(255, 255, 255, 0.94);
}

.home-tab-icon,
.home-trip-card__icon {
  color: var(--summer-sea);
}

.home-trip-card__icon::after {
  background: var(--summer-sun);
}

.home-trip-panel {
  background: rgba(255, 255, 255, 0.84);
  border-color: rgba(8, 145, 178, 0.18);
}

.travel-home[data-theme="dark"] .home-trip-panel,
.travel-home[data-theme="dark"] .home-mode-tab {
  background: rgba(8, 26, 43, 0.82);
}

.home-plan-card__top {
  background:
    radial-gradient(circle at 16% 16%, rgba(255, 255, 255, 0.34), transparent 24%),
    linear-gradient(160deg, #0284c7, #14b8a6 58%, #fbbf24);
}

.home-plan-card__top span {
  background: rgba(8, 47, 73, 0.74);
}

.home-plan-card__bottom p,
.home-destination-chip,
.home-destination-list button.is-selected {
  background: rgba(14, 165, 233, 0.1);
  border-color: rgba(14, 165, 233, 0.22);
}

.floating-tab.support-tab {
  background: linear-gradient(135deg, #fef3c7, #67e8f9);
  color: #082f49;
}

.floating-tab.accessibility-tab {
  background: linear-gradient(135deg, #e0f2fe, #ffffff);
  color: #082f49;
}

.home-preflight-grid article[data-icon] span {
  background: #e0f7ff;
  color: var(--summer-sea);
  border-color: rgba(8, 145, 178, 0.2);
}

.watermelon-card-icon {
  display: none;
}

.home-photo-credit {
  display: none !important;
}

.admin-password-fallback summary {
  cursor: pointer;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

/* Final floating help/accessibility buttons and preflight check icons. */
.home-preflight-grid article[data-icon] span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #e9fbff;
  color: #0794b5;
  border: 2px solid rgba(7, 148, 181, 0.26);
  box-shadow: 0 10px 22px rgba(8, 145, 178, 0.12);
}

.home-preflight-grid article[data-icon] span::before {
  content: "V";
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  color: #0f8f5b;
  font-size: 24px;
  line-height: 1;
  font-weight: 950;
  font-family: Arial, sans-serif;
}

.home-preflight-grid article:nth-child(1) span::before {
  content: "1";
}

.home-preflight-grid article:nth-child(2) span::before {
  content: "2";
}

.home-preflight-grid article:nth-child(3) span::before {
  content: "3";
}

.floating-actions {
  left: 8px;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  gap: 9px;
}

html[dir="ltr"] .floating-actions {
  left: auto;
  right: 8px;
}

.floating-tab,
.floating-tab.support-tab,
.floating-tab.accessibility-tab {
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: #082f49;
  border: 1px solid rgba(8, 145, 178, 0.22);
  box-shadow: 0 14px 34px rgba(15, 76, 117, 0.18);
  font-size: 0;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

.floating-tab span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 25px;
  line-height: 1;
  font-weight: 950;
  font-family: Arial, sans-serif;
}

.floating-tab.accessibility-tab span {
  font-size: 24px;
}

.floating-tab:hover,
.floating-tab:focus-visible {
  transform: translateX(5px) scale(1.04);
  box-shadow: 0 18px 42px rgba(15, 76, 117, 0.24);
}

html[dir="ltr"] .floating-tab:hover,
html[dir="ltr"] .floating-tab:focus-visible {
  transform: translateX(-5px) scale(1.04);
}

.floating-actions.has-open .floating-tab {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-18px) scale(.92);
}

html[dir="ltr"] .floating-actions.has-open .floating-tab {
  transform: translateX(18px) scale(.92);
}

.floating-panel {
  left: calc(100% + 10px);
  right: auto;
  top: 50%;
  width: min(310px, calc(100vw - 82px));
  border-radius: 16px;
  border: 1px solid rgba(8, 145, 178, 0.18);
  box-shadow: 0 22px 64px rgba(15, 76, 117, 0.22);
}

html[dir="ltr"] .floating-panel {
  left: auto;
  right: calc(100% + 10px);
}

.floating-panel-close,
.floating-panel button.floating-panel-close {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #d7e0ea;
  background: #ffffff;
  color: #102a43;
  font-size: 19px;
  line-height: 1;
  font-weight: 900;
}

.floating-panel strong {
  padding-inline-end: 34px;
}

@media (max-width: 560px) {
  .floating-actions {
    left: 8px;
    right: auto;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    gap: 8px;
  }

  html[dir="ltr"] .floating-actions {
    left: auto;
    right: 8px;
  }

  .floating-tab,
  .floating-tab.support-tab,
  .floating-tab.accessibility-tab {
    width: 46px;
    height: 46px;
    min-height: 46px;
  }

  .floating-panel {
    position: fixed;
    left: 66px;
    right: 12px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    width: auto;
    max-height: min(72vh, 470px);
  }

  html[dir="ltr"] .floating-panel {
    left: 12px;
    right: 66px;
  }
}

/* Final guardrail for the Home phone login fields. */
.home-login-form .phone-split-input {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: min(100%, 520px);
  min-height: 64px;
  margin: 6px auto 8px;
  gap: clamp(4px, .55vw, 7px);
}

.home-login-form .phone-digit-group {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  justify-content: center;
  gap: clamp(3px, .45vw, 6px);
}

.home-login-form .phone-digit-group input[data-phone-digit] {
  display: inline-grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  flex: 0 0 auto;
  width: clamp(34px, 3.4vw, 42px) !important;
  height: clamp(50px, 5vw, 60px) !important;
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 0 !important;
  border: 1.5px solid rgba(8, 145, 178, .42) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 6px 18px rgba(8, 145, 178, .08), inset 0 0 0 1px rgba(255,255,255,.72) !important;
}

.home-login-form .phone-dash {
  display: inline-grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  place-items: center;
  min-width: 10px;
  color: #0f172a;
}

@media (max-width: 560px) {
  .home-login-form .phone-split-input {
    min-height: 52px;
    margin: 4px auto 7px;
    gap: 2px;
  }

  .home-login-form .phone-digit-group {
    gap: 2px;
  }

  .home-login-form .phone-digit-group input[data-phone-digit] {
    width: 27px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 7px !important;
  }
}

@media (max-width: 360px) {
  .home-login-form .phone-digit-group input[data-phone-digit] {
    width: 23px !important;
    height: 46px !important;
    min-height: 46px !important;
  }
}

/* Final global font guardrail: the entire system must use Arial. */
html,
body,
body *,
button,
input,
select,
textarea,
option,
summary,
dialog {
  font-family: Arial, sans-serif !important;
}

/* Final Arial visual normalization: avoid synthetic heavy Hebrew rendering. */
html,
body,
body *,
button,
input,
select,
textarea,
option,
summary,
dialog {
  font-family: Arial, "Arial Hebrew", Helvetica, sans-serif !important;
  font-synthesis: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
.brand,
.nav-links,
.button,
.home-search-cta,
.home-trip-card,
.home-tab-card,
.home-trip-card__label,
.home-trip-card strong,
.home-tab-card h2,
.home-preflight h2,
.home-preflight-grid strong,
.travel-hero h1,
.travel-hero__content > p:not(.travel-hero__eyebrow) {
  font-family: Arial, "Arial Hebrew", Helvetica, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

/* Final Arial typography hardening for public sales surfaces. */
html,
body,
body *,
body *::before,
body *::after,
button,
input,
select,
textarea,
option,
summary,
dialog {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
}

.travel-home h1,
.travel-home h2,
.travel-home h3,
.home-section-heading h2,
.home-faq h2,
.home-plan-card__top h3,
.home-trip-card strong,
.home-tab-card h2 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.home-faq summary,
.home-faq details,
.home-faq p,
.home-mode-tab,
.home-mode-tab span,
.home-mode-tab strong,
.home-trip-card,
.home-trip-card__label,
.home-trip-card small,
.home-plan-card,
.home-plan-card__top span,
.home-plan-card__top small,
.home-plan-price span,
.home-plan-buy,
.home-plan-card__bottom p,
.home-search-cta,
.nav-logout button,
.floating-panel,
.floating-panel *,
.floating-tab,
.floating-tab * {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.home-plan-card__top strong,
.home-plan-price strong {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.home-faq summary::marker,
.home-faq summary::-webkit-details-marker {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
}

/* Final visual QA contrast and gender personalization polish. */
.language-chip {
  color: #f8fbff !important;
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.26) !important;
}

.language-chip.is-active,
.language-chip[aria-current="true"] {
  color: #082f49 !important;
  background: linear-gradient(135deg, #fef3c7, #bae6fd) !important;
}

.nav-logout button,
.nav form button {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.36) !important;
}

.pill.success {
  color: #06351f !important;
  background: #bbf7d0 !important;
  border-color: rgba(22, 101, 52, 0.22) !important;
}

.usage-progress {
  color: #082f49 !important;
  background: #dff7ff !important;
}

.usage-progress-text {
  color: #082f49 !important;
}

.travel-home[data-theme="dark"] .usage-progress,
body.home-theme-dark .usage-progress {
  color: #f8fbff !important;
  background: rgba(8, 145, 178, 0.28) !important;
}

.travel-home[data-theme="dark"] .usage-progress-text,
body.home-theme-dark .usage-progress-text {
  color: #f8fbff !important;
}

.support-center input,
.support-center textarea,
.form-shell input,
.form-shell select,
.form-shell textarea,
.checkout-panel input,
.checkout-panel select,
.checkout-panel textarea {
  color: #082f49 !important;
  background: #ffffff !important;
}

.travel-home[data-theme="dark"] .form-shell input,
.travel-home[data-theme="dark"] .form-shell select,
.travel-home[data-theme="dark"] .form-shell textarea,
body.home-theme-dark .checkout-panel input,
body.home-theme-dark .checkout-panel select,
body.home-theme-dark .checkout-panel textarea {
  color: #f8fbff !important;
  background: rgba(8, 26, 43, 0.96) !important;
}

/* Final mini-mobile and dialog typography hardening. */
.home-dialog,
.home-dialog *,
.home-dialog *::before,
.home-dialog *::after,
.home-calendar,
.home-calendar *,
.home-destination-list button,
.home-search-input input,
.account-shell,
.account-shell *,
.account-shell *::before,
.account-shell *::after {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.home-dialog h2,
.home-dialog__section-title,
.home-calendar__header,
.home-calendar__weekdays,
.home-destination-list button,
.home-search-input span,
.account-shell h1,
.account-shell h2,
.account-shell h3,
.account-shell strong,
.account-shell label,
.account-shell button,
.account-shell a,
.account-shell summary {
  font-weight: 600 !important;
}

.home-dialog__hint,
.account-shell p,
.account-shell span,
.account-shell input,
.account-shell td,
.account-shell th {
  font-weight: 400 !important;
}

.account-shell .button,
.account-shell .pill,
.account-shell .usage-progress-text,
.account-shell .affiliate-discount-meter strong,
.account-shell .affiliate-stats strong {
  font-weight: 600 !important;
}

@media (max-width: 380px) {
  html,
  body {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .nav {
    width: 100%;
    max-width: 100vw;
    padding: 12px 10px;
    overflow-x: hidden;
  }

  .brand {
    font-size: 18px !important;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
    min-width: 34px;
  }

  .nav-links {
    max-width: 100%;
    gap: 6px;
  }

  .customer-chip {
    max-width: 118px;
    overflow-wrap: anywhere;
  }

  .home-dialog {
    width: calc(100vw - 18px);
    max-width: calc(100vw - 18px);
    top: 52px;
    max-height: calc(100dvh - 66px);
    padding: 22px 12px 14px;
    border-radius: 14px;
  }

  .home-dialog h2 {
    font-size: 22px;
    line-height: 1.15;
  }

  .home-dialog__close {
    top: 10px;
    inset-inline-start: 10px;
    width: 32px;
    height: 32px;
  }

  .home-destination-list {
    max-height: min(46dvh, 360px);
    overflow: auto;
    padding-inline: 2px;
  }

  .home-destination-list button {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 15px;
  }

  .home-calendar {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
  }

  .home-calendar__header,
  .home-calendar__weekdays {
    padding: 10px 8px;
  }

  .home-calendar__grid {
    padding: 8px;
    gap: 4px;
  }

  .home-calendar__grid button {
    min-height: 34px;
    font-size: 15px;
  }

  .account-shell.form-shell {
    width: 100%;
    max-width: 100vw;
    padding: 18px 8px 34px;
    overflow-x: hidden;
  }

  .account-panel.panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 16px 10px;
    border-radius: 18px;
    overflow: hidden;
  }

  .account-panel h1 {
    font-size: 34px;
    line-height: 1.05;
    overflow-wrap: anywhere;
  }

  .account-profile-grid,
  .profile-edit-form,
  .security-form,
  .affiliate-card,
  .account-orders-heading,
  .account-package-list,
  .account-package-row,
  .activation-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .profile-edit-form,
  .security-form,
  .affiliate-card {
    padding: 12px;
    border-radius: 14px;
  }

  .account-shell input,
  .account-shell button,
  .account-shell .button {
    max-width: 100%;
    min-width: 0;
  }

  .account-package-row summary {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
    text-align: start;
  }

  .usage-progress {
    width: 100%;
    min-width: 0;
  }

  .usage-progress-text {
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 12px;
  }

  .activation-row {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .row-actions-inline {
    grid-template-columns: 1fr;
  }

  .affiliate-link-row,
  .affiliate-stats {
    grid-template-columns: 1fr;
  }

  .affiliate-table-wrap {
    max-width: 100%;
    overflow-x: auto;
  }

  .affiliate-table {
    min-width: 520px;
  }
}

/* Final narrow-screen overflow correction for account and Home pickers. */
.home-more-packages summary,
.home-more-packages summary *,
.account-mobile-logout,
.account-mobile-logout *,
.profile-edit-form,
.profile-edit-form *,
.security-form,
.security-form *,
.affiliate-card,
.affiliate-card *,
.account-orders-heading,
.account-orders-heading *,
.activation-row,
.activation-row * {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

@media (max-width: 640px) {
  html,
  body {
    max-width: 100vw;
    overflow-x: hidden;
  }

  .nav {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .nav-links {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
  }

  .account-shell.form-shell {
    width: 100%;
    max-width: 100vw;
    padding: 20px 8px 34px;
    overflow-x: hidden;
  }

  .account-panel.panel {
    width: 100%;
    max-width: calc(100vw - 16px);
    min-width: 0;
    padding: 18px 10px;
    border-radius: 18px;
    overflow: hidden;
  }

  .account-panel h1 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .account-panel p,
  .account-panel label,
  .account-panel input,
  .account-panel button,
  .account-panel .button {
    max-width: 100%;
    min-width: 0;
  }

  .account-profile-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .profile-edit-form,
  .security-form,
  .affiliate-card,
  .account-orders-heading,
  .account-package-list,
  .account-package-row,
  .activation-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .profile-edit-form,
  .security-form,
  .affiliate-card {
    padding: 12px;
    border-radius: 14px;
  }

  .affiliate-card-head,
  .affiliate-link-row,
  .affiliate-stats {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .affiliate-link-row input {
    width: 100%;
    max-width: 100%;
  }

  .account-package-row summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
    text-align: center;
  }

  .account-package-row summary > * {
    min-width: 0;
  }

  .usage-progress {
    width: 100%;
    min-width: 0;
  }

  .usage-progress-text {
    width: 100%;
    padding: 7px 8px;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.25;
  }

  .activation-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .activation-copy,
  .activation-copy code,
  .row-actions-inline {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .row-actions-inline {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-mobile-logout .button {
    width: 100%;
  }
}

/* Final visual polish pass for destinations, calendar, and package cards. */
.home-destination-list button,
.home-destination-chip {
  direction: inherit !important;
  border-radius: 9px !important;
  border-color: rgba(8, 145, 178, 0.22) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 8px 20px rgba(15, 76, 117, 0.06) !important;
}

html[dir="rtl"] .home-destination-list button,
html[dir="rtl"] .home-destination-chip {
  flex-direction: row-reverse !important;
  text-align: right !important;
}

html[dir="ltr"] .home-destination-list button,
html[dir="ltr"] .home-destination-chip {
  flex-direction: row !important;
  text-align: left !important;
}

.home-destination-list button span,
.home-destination-chip span {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  color: #075985;
  background: rgba(14, 165, 183, 0.1);
  flex: 0 0 auto;
}

.home-destination-list button.is-selected,
.home-destination-chip {
  border-color: rgba(14, 165, 183, 0.34) !important;
  background: linear-gradient(135deg, rgba(224, 242, 254, 0.94), rgba(255, 251, 235, 0.88)) !important;
}

.home-calendar {
  border-color: rgba(8, 145, 178, 0.18) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 14px 34px rgba(15, 76, 117, 0.1) !important;
}

.home-calendar__header,
.home-calendar__weekdays {
  background: linear-gradient(180deg, #eef9ff, #f8fcff) !important;
  color: #164e63 !important;
}

.home-calendar__grid {
  background: #ffffff !important;
}

.home-calendar__grid button {
  border-radius: 12px !important;
  color: #0f172a !important;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.home-calendar__grid button:not(:disabled):hover,
.home-calendar__grid button:not(:disabled):focus-visible {
  background: rgba(14, 165, 183, 0.12) !important;
  box-shadow: inset 0 0 0 1px rgba(14, 165, 183, 0.24) !important;
}

.home-calendar__grid button.is-start,
.home-calendar__grid button.is-end {
  background: linear-gradient(135deg, #0ea5b7, #38bdf8) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(14, 165, 183, 0.22) !important;
}

.home-calendar__grid button.is-range {
  background: #dff7ff !important;
  color: #075985 !important;
}

.home-plan-card,
.home-article-grid article,
.home-trip-card,
.home-tab-card,
.home-dialog,
.home-cookie,
.panel,
.package-card,
.checkout-panel {
  border-radius: 16px !important;
}

.home-plan-card {
  border: 1px solid rgba(8, 145, 178, 0.14) !important;
  box-shadow: 0 18px 42px rgba(15, 76, 117, 0.12) !important;
}

.home-plan-card__top {
  margin: 18px 18px 0 !important;
  min-height: 220px !important;
  border-radius: 14px !important;
  background: linear-gradient(160deg, #0284c7, #14b8a6 60%, #fbbf24) !important;
}

.home-plan-card__bottom p {
  border-radius: 12px !important;
  background: linear-gradient(135deg, #e0f7ff, #fff7d6) !important;
  border: 1px solid rgba(8, 145, 178, 0.12) !important;
}

.home-package-row,
.value-strip article,
.step-card,
.faq-list details,
.profile-edit-form,
.security-form,
.affiliate-card,
.account-orders-heading,
.account-package-row,
.ops-section,
.health-card,
.report-panel {
  border-radius: 14px !important;
}

/* Final dark-mode readability and destination tree polish. */
.home-destination-group {
  border: 1px solid rgba(8, 145, 178, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(15, 76, 117, 0.06);
}

.home-destination-group + .home-destination-group {
  margin-top: 8px;
}

.home-destination-group summary {
  cursor: pointer;
  list-style: none;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  color: #082f49;
  background: linear-gradient(135deg, rgba(224, 242, 254, 0.92), rgba(255, 251, 235, 0.82));
}

.home-destination-group summary::-webkit-details-marker {
  display: none;
}

.home-destination-group summary > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #075985;
  background: rgba(14, 165, 183, 0.12);
  font-weight: 700;
}

.home-destination-group[open] summary > span {
  transform: rotate(45deg);
}

.home-destination-group summary strong {
  flex: 1;
  font-weight: 700 !important;
}

.home-destination-group summary small {
  color: #516879;
  font-weight: 700 !important;
}

.home-destination-group__items {
  display: grid;
  gap: 6px;
  padding: 8px;
}

html[dir="rtl"] .home-destination-group summary {
  flex-direction: row-reverse;
  text-align: right;
}

html[dir="ltr"] .home-destination-group summary {
  flex-direction: row;
  text-align: left;
}

.travel-home[data-theme="dark"] {
  color-scheme: dark;
}

.travel-home[data-theme="dark"] .travel-hero__content,
.travel-home[data-theme="dark"] .home-search-widget,
.travel-home[data-theme="dark"] .home-trip-panel,
.travel-home[data-theme="dark"] .home-dialog,
.travel-home[data-theme="dark"] .home-cookie,
.travel-home[data-theme="dark"] .home-tab-card,
.travel-home[data-theme="dark"] .home-trip-card,
.travel-home[data-theme="dark"] .home-mode-tab,
.travel-home[data-theme="dark"] .home-plan-card,
.travel-home[data-theme="dark"] .home-more-packages summary {
  color: #f8fafc !important;
}

.travel-home[data-theme="dark"] .home-dialog,
.travel-home[data-theme="dark"] .home-cookie,
.travel-home[data-theme="dark"] .home-trip-panel,
.travel-home[data-theme="dark"] .home-tab-card,
.travel-home[data-theme="dark"] .home-trip-card,
.travel-home[data-theme="dark"] .home-mode-tab {
  background: rgba(8, 26, 43, 0.92) !important;
  border-color: rgba(125, 211, 252, 0.28) !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.34) !important;
}

.travel-home[data-theme="dark"] .home-dialog h2,
.travel-home[data-theme="dark"] .home-dialog__section-title,
.travel-home[data-theme="dark"] .home-search-input span,
.travel-home[data-theme="dark"] .home-dialog__hint,
.travel-home[data-theme="dark"] .home-trip-card strong,
.travel-home[data-theme="dark"] .home-trip-card small,
.travel-home[data-theme="dark"] .home-tab-card h2,
.travel-home[data-theme="dark"] .home-tab-card p,
.travel-home[data-theme="dark"] .home-mode-tab span,
.travel-home[data-theme="dark"] .home-plan-price span,
.travel-home[data-theme="dark"] .home-plan-price strong,
.travel-home[data-theme="dark"] .home-more-packages summary {
  color: #f8fafc !important;
}

.travel-home[data-theme="dark"] .home-dialog__hint,
.travel-home[data-theme="dark"] .home-trip-card small,
.travel-home[data-theme="dark"] .home-tab-card p,
.travel-home[data-theme="dark"] .home-calendar__weekdays {
  color: #c8e6f2 !important;
}

.travel-home[data-theme="dark"] .home-search-input input,
.travel-home[data-theme="dark"] .home-tab-card input {
  color: #f8fafc !important;
  background: #071b2d !important;
  border-color: rgba(125, 211, 252, 0.34) !important;
}

.travel-home[data-theme="dark"] .home-search-input input::placeholder,
.travel-home[data-theme="dark"] .home-tab-card input::placeholder {
  color: #9ccfe2 !important;
}

.travel-home[data-theme="dark"] .home-destination-group {
  background: rgba(8, 26, 43, 0.78) !important;
  border-color: rgba(125, 211, 252, 0.24) !important;
}

.travel-home[data-theme="dark"] .home-destination-group summary {
  color: #f8fafc !important;
  background: linear-gradient(135deg, rgba(14, 116, 144, 0.42), rgba(8, 47, 73, 0.92)) !important;
}

.travel-home[data-theme="dark"] .home-destination-group summary small {
  color: #c8e6f2 !important;
}

.travel-home[data-theme="dark"] .home-destination-list button,
.travel-home[data-theme="dark"] .home-destination-chip {
  color: #f8fafc !important;
  background: rgba(12, 38, 58, 0.94) !important;
  border-color: rgba(125, 211, 252, 0.28) !important;
}

.travel-home[data-theme="dark"] .home-destination-list button span,
.travel-home[data-theme="dark"] .home-destination-chip span,
.travel-home[data-theme="dark"] .home-destination-group summary > span {
  color: #67e8f9 !important;
  background: rgba(103, 232, 249, 0.14) !important;
}

.travel-home[data-theme="dark"] .home-destination-list button.is-selected,
.travel-home[data-theme="dark"] .home-destination-chip {
  color: #ffffff !important;
  background: linear-gradient(135deg, rgba(14, 165, 183, 0.42), rgba(2, 132, 199, 0.36)) !important;
}

.travel-home[data-theme="dark"] .home-calendar {
  background: #071b2d !important;
  border-color: rgba(125, 211, 252, 0.26) !important;
}

.travel-home[data-theme="dark"] .home-calendar__header,
.travel-home[data-theme="dark"] .home-calendar__weekdays {
  color: #f8fafc !important;
  background: linear-gradient(180deg, #0c263a, #071b2d) !important;
}

.travel-home[data-theme="dark"] .home-calendar__grid {
  background: #071b2d !important;
}

.travel-home[data-theme="dark"] .home-calendar__grid button {
  color: #f8fafc !important;
}

.travel-home[data-theme="dark"] .home-calendar__grid button:disabled {
  color: #66879a !important;
}

.travel-home[data-theme="dark"] .home-calendar__grid button.is-range {
  color: #dff7ff !important;
  background: rgba(14, 165, 183, 0.24) !important;
}

.travel-home[data-theme="dark"] .home-plan-card {
  background: rgba(8, 26, 43, 0.94) !important;
  border-color: rgba(125, 211, 252, 0.22) !important;
}

.travel-home[data-theme="dark"] .home-plan-card__bottom p {
  color: #f8fafc !important;
  background: rgba(12, 38, 58, 0.96) !important;
  border-color: rgba(125, 211, 252, 0.22) !important;
}

@media (max-width: 430px) {
  .home-dialog {
    top: 50px;
    width: calc(100vw - 18px);
    max-width: calc(100vw - 18px);
    max-height: calc(100dvh - 62px);
    padding: 22px 12px 14px;
    border-radius: 14px;
  }

  .home-dialog h2 {
    font-size: 22px !important;
    line-height: 1.15;
  }

  .home-dialog__hint {
    margin: 8px 0 10px;
    font-size: 15px !important;
    line-height: 1.45;
  }

  .home-search-input input {
    min-height: 46px;
    padding: 0 12px;
    font-size: 16px !important;
  }

  .home-destination-list {
    max-height: min(45dvh, 340px);
    overflow-y: auto;
  }

  .home-destination-list button,
  .home-destination-chip {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 15px !important;
  }

  .home-calendar__header,
  .home-calendar__weekdays {
    padding: 10px 8px;
  }

  .home-calendar__grid {
    padding: 8px;
    gap: 4px;
  }

  .home-calendar__grid button {
    min-height: 32px;
    font-size: 14px !important;
  }
}

/* Account page now follows the Home summer travel design language. */
body:has(.account-shell) .site-orb {
  display: none;
}

.account-shell {
  --account-sea: #0ea5b7;
  --account-sky: #38bdf8;
  --account-sun: #ffd166;
  --account-ink: #082f49;
  --account-muted: #516879;
  --account-border: rgba(8, 145, 178, 0.18);
  --account-card: rgba(255, 255, 255, 0.88);
  --account-glass: rgba(255, 255, 255, 0.74);
  --account-shadow: 0 18px 46px rgba(15, 76, 117, 0.14);
  min-height: calc(100vh - 74px);
  padding: 64px 20px 74px;
  color: var(--account-ink);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(244, 251, 255, 0.9) 48%, #ffffff 100%),
    url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=82") center top / cover fixed;
}

.account-panel.panel {
  width: min(1040px, 100%);
  color: var(--account-ink);
  background: var(--account-card);
  border: 1px solid var(--account-border);
  border-radius: 22px;
  box-shadow: var(--account-shadow);
  backdrop-filter: blur(14px);
  padding: 28px;
}

.account-panel .eyebrow {
  color: #036176;
  background: rgba(255, 209, 102, 0.42);
  border: 1px solid rgba(255, 209, 102, 0.62);
  border-radius: 999px;
  display: inline-flex;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700 !important;
}

.account-panel h1,
.account-panel h2,
.account-panel h3 {
  color: var(--account-ink);
}

.account-panel h1 {
  margin: 12px 0 10px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.04;
}

.account-panel > p {
  margin: 0 0 16px;
  color: var(--account-muted);
  font-size: 18px;
}

.account-mobile-logout {
  margin: 0 0 18px;
  display: flex;
  justify-content: flex-end;
}

.account-mobile-logout .button,
.account-panel .button,
.account-panel button.button {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #0ea5b7, #38bdf8);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(14, 165, 183, 0.24);
}

.account-panel .button.secondary,
.account-mobile-logout .button.secondary {
  color: var(--account-ink);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--account-border);
  box-shadow: none;
}

.profile-edit-form,
.security-form,
.affiliate-card,
.account-orders-heading,
.account-package-row {
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--account-border);
  box-shadow: 0 12px 30px rgba(15, 76, 117, 0.08);
}

.profile-edit-form label,
.security-form label,
.account-panel label {
  color: #164e63;
  font-weight: 700 !important;
}

.account-panel input,
.account-panel select,
.account-panel textarea {
  color: var(--account-ink);
  background: #ffffff;
  border: 1px solid rgba(8, 145, 178, 0.22);
  border-radius: 12px;
}

.account-panel input:focus,
.account-panel select:focus,
.account-panel textarea:focus {
  color: var(--account-ink);
  background: #ffffff;
  border-color: rgba(14, 165, 183, 0.62);
  box-shadow: 0 0 0 4px rgba(14, 165, 183, 0.12);
}

.account-security-card strong,
.affiliate-card h2,
.affiliate-stats strong,
.account-orders-heading h2,
.account-package-row summary strong,
.activation-copy strong {
  color: var(--account-ink);
}

.account-security-card p,
.affiliate-card p,
.affiliate-stats span,
.account-package-row summary,
.account-package-row summary span,
.activation-row p {
  color: var(--account-muted);
}

.security-toggle {
  color: var(--account-ink);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--account-border);
}

.affiliate-card {
  background:
    linear-gradient(135deg, rgba(14, 165, 183, 0.12), rgba(255, 209, 102, 0.18)),
    rgba(255, 255, 255, 0.78);
}

.affiliate-discount-meter {
  color: #8a5a00;
  background: rgba(255, 209, 102, 0.24);
  border-color: rgba(255, 209, 102, 0.52);
}

.affiliate-discount-meter strong {
  color: var(--account-ink);
}

.affiliate-link-row input {
  color: var(--account-ink);
  background: #ffffff;
}

.affiliate-stats div {
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid var(--account-border);
}

.affiliate-progress {
  background: rgba(14, 165, 183, 0.12);
  border-color: rgba(14, 165, 183, 0.18);
}

.affiliate-progress span {
  background: linear-gradient(90deg, #0ea5b7, #ffd166);
}

.affiliate-table-wrap {
  border-color: var(--account-border);
  background: rgba(255, 255, 255, 0.74);
}

.affiliate-table {
  background: transparent;
  color: var(--account-muted);
}

.affiliate-table th,
.affiliate-table td {
  border-color: rgba(8, 145, 178, 0.12);
}

.account-orders-heading {
  background:
    linear-gradient(135deg, rgba(255, 209, 102, 0.24), rgba(14, 165, 183, 0.1)),
    rgba(255, 255, 255, 0.78);
}

.account-package-row {
  background: rgba(255, 255, 255, 0.72);
  border-radius: 14px;
}

.account-package-row[open] summary {
  background: rgba(14, 165, 183, 0.08);
  border-color: rgba(8, 145, 178, 0.16);
}

.account-package-row summary {
  color: var(--account-ink);
}

.account-package-row .pill.success {
  background: rgba(14, 165, 183, 0.14);
  color: #036176;
  border: 1px solid rgba(14, 165, 183, 0.24);
}

.usage-progress {
  background: rgba(8, 145, 178, 0.09);
  border-color: rgba(8, 145, 178, 0.18);
}

.activation-row {
  background: rgba(255, 255, 255, 0.56);
}

.activation-copy code {
  color: #075985;
  background: rgba(14, 165, 183, 0.1);
  border-color: rgba(14, 165, 183, 0.22);
}

.activation-qr {
  border: 1px solid rgba(8, 145, 178, 0.18);
  box-shadow: 0 12px 26px rgba(15, 76, 117, 0.14);
}

body:has(.account-shell) .footer {
  margin-top: 0;
  background: #ffffff;
  color: var(--account-muted);
}

/* Final navigation centering and mini-mobile floating panel correction. */
@media (min-width: 981px) {
  .nav {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr);
    align-items: center;
    gap: 18px;
  }

  .brand {
    grid-column: 3;
    justify-self: end;
  }

  .nav-links {
    grid-column: 2;
    justify-self: center;
    justify-content: center;
    max-width: min(760px, 100%);
  }
}

@media (max-width: 420px) {
  .floating-actions {
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 120;
  }

  html[dir="ltr"] .floating-actions {
    left: auto !important;
    right: 8px !important;
  }

  .floating-tab,
  .floating-tab.support-tab,
  .floating-tab.accessibility-tab {
    width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .floating-actions.has-open .floating-tab {
    opacity: 0;
    pointer-events: none;
  }

  .floating-panel,
  html[dir="ltr"] .floating-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 50% !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(76dvh, 520px) !important;
    transform: translateY(-50%) !important;
    padding: 16px;
    border-radius: 16px;
    overflow: auto;
  }
}

/* Final nav item alignment: theme button must sit on the same row as links. */
.nav[data-global-nav] .nav-links {
  align-items: center !important;
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .nav-logout button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  margin-block: 0 !important;
  line-height: 1 !important;
}

.nav[data-global-nav] .nav-theme-toggle span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* Release 1.0.71: exact visual navigation order, independent of page text direction. */
.nav {
  direction: ltr !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 72px !important;
  padding: 7px 10px !important;
}

.nav-links {
  direction: ltr !important;
  order: 1 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.brand {
  direction: ltr !important;
  order: 2 !important;
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-inline-start: auto !important;
  color: #f8fbff !important;
}

.brand > span:first-child {
  display: inline-block !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.nav-language-grid {
  order: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 42px) !important;
  grid-auto-rows: 36px !important;
  gap: 7px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: start !important;
}

.language-chip {
  width: 42px !important;
  min-width: 42px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border-radius: 999px !important;
}

.customer-chip {
  order: 2 !important;
  direction: rtl !important;
  flex: 0 0 auto !important;
  min-width: 94px !important;
  max-width: 108px !important;
  min-height: 52px !important;
}

html[dir="ltr"] .customer-chip {
  direction: ltr !important;
}

.nav-logout {
  order: 3 !important;
  flex: 0 0 auto !important;
}

.nav-theme-toggle {
  order: 4 !important;
  flex: 0 0 auto !important;
}

.nav-pricing-link {
  order: 5 !important;
}

.nav-admin-link {
  order: 6 !important;
}

.nav-account-link {
  order: 7 !important;
}

.nav-action,
.nav-theme-toggle,
.nav-logout button {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

@media (min-width: 980px) {
  .brand {
    font-size: 23px !important;
  }

  .brand-mark {
    width: 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 760px) {
  .nav {
    gap: 8px !important;
    min-height: 64px !important;
    padding: 7px !important;
  }

  .nav-links {
    gap: 6px !important;
  }

  .nav-language-grid {
    grid-template-columns: repeat(2, 34px) !important;
    grid-auto-rows: 31px !important;
    gap: 5px !important;
  }

  .language-chip {
    width: 34px !important;
    min-width: 34px !important;
    height: 31px !important;
    min-height: 31px !important;
    font-size: 11px !important;
  }

  .customer-chip {
    min-width: 82px !important;
    max-width: 96px !important;
    min-height: 44px !important;
  }

  .nav-action,
  .nav-theme-toggle,
  .nav-logout button {
    height: 31px !important;
    min-height: 31px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  .brand {
    font-size: 18px !important;
    gap: 7px !important;
  }

  .brand-mark {
    width: 35px !important;
    height: 35px !important;
  }
}

@media (max-width: 520px) {
  .nav {
    align-items: flex-start !important;
  }

  .nav-links {
    max-width: calc(100vw - 135px) !important;
    flex-wrap: wrap !important;
  }

  .brand {
    max-width: 124px !important;
    white-space: normal !important;
    align-items: center !important;
  }

  .brand > span:first-child {
    max-width: 82px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }
}

@media (max-width: 360px) {
  .nav {
    padding: 6px !important;
    gap: 6px !important;
  }

  .nav-links {
    max-width: calc(100vw - 118px) !important;
    gap: 4px !important;
  }

  .nav-language-grid {
    grid-template-columns: repeat(2, 31px) !important;
    grid-auto-rows: 29px !important;
    gap: 4px !important;
  }

  .language-chip {
    width: 31px !important;
    min-width: 31px !important;
    height: 29px !important;
    min-height: 29px !important;
  }

  .customer-chip {
    min-width: 76px !important;
    max-width: 84px !important;
    min-height: 42px !important;
    font-size: 10px !important;
  }

  .nav-action,
  .nav-theme-toggle,
  .nav-logout button {
    height: 29px !important;
    min-height: 29px !important;
    max-width: 72px !important;
    padding: 0 6px !important;
    font-size: 10px !important;
  }

  .brand {
    max-width: 108px !important;
    font-size: 16px !important;
  }

  .brand > span:first-child {
    max-width: 72px !important;
  }

  .brand-mark {
    width: 30px !important;
    height: 30px !important;
    font-size: 10px !important;
  }
}

/* Definitive mobile floating overlay fix: opened panels must escape the side rail. */
@media (max-width: 640px) {
  .floating-actions {
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    width: 44px !important;
    height: auto !important;
    transform: translateY(-50%) !important;
    z-index: 180 !important;
    overflow: visible !important;
  }

  html[dir="ltr"] .floating-actions {
    left: auto !important;
    right: 8px !important;
  }

  .floating-actions.has-open {
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    transform: none !important;
    display: block !important;
    pointer-events: none !important;
  }

  .floating-actions.has-open .floating-action-group {
    position: static !important;
    pointer-events: none !important;
  }

  .floating-actions.has-open .floating-tab {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
  }

  .floating-actions.has-open .floating-panel,
  html[dir="ltr"] .floating-actions.has-open .floating-panel {
    position: fixed !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    top: 50% !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(78dvh, 540px) !important;
    transform: translateY(-50%) !important;
    overflow: auto !important;
    pointer-events: auto !important;
    border-radius: 18px !important;
    padding: 18px !important;
    box-shadow: 0 24px 70px rgba(15, 76, 117, 0.28) !important;
  }
}

/* Sales facelift: package discovery, purchase modal, profile details, and delivery. */
.home-plan-grid {
  width: min(1180px, calc(100% - 24px));
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.home-plan-card {
  border: 1px solid rgba(8, 145, 178, 0.18);
  border-radius: 22px;
  overflow: clip;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 54px rgba(15, 76, 117, 0.14);
}

.home-plan-card__top {
  min-height: 210px;
  margin: 18px 18px 0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.22), transparent 34%),
    linear-gradient(145deg, #16a4c7 0%, #19bcb3 56%, #f6c951 100%);
}

.home-plan-card__bottom {
  align-content: start;
}

.home-plan-card__bottom p {
  min-height: auto;
  border: 1px solid rgba(14, 165, 183, 0.14);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(14, 165, 183, 0.1), rgba(255, 209, 102, 0.18));
}

.home-plan-offers {
  width: 100%;
  border: 1px solid rgba(8, 145, 178, 0.18);
  border-radius: 14px;
  background: #f7fdff;
}

.home-plan-offers summary {
  cursor: pointer;
  padding: 10px 12px;
  color: #083344;
  font-weight: 900;
}

.home-plan-offer-list {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}

.home-plan-offer {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border-radius: 12px;
  background: #ffffff;
  color: #0f2d3f;
  font-weight: 850;
}

.home-plan-offer .button {
  min-height: 34px;
  padding: 0 12px;
  font-size: 13px;
}

.home-plan-offer em {
  font-style: normal;
  color: #0e7490;
  font-weight: 950;
}

.home-next-packages {
  display: block;
  margin: 26px auto 0;
  min-height: 46px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #0ea5b7, #38bdf8);
  color: #ffffff;
  font: 900 16px/1 Arial, sans-serif;
  box-shadow: 0 16px 38px rgba(14, 165, 183, 0.22);
  cursor: pointer;
}

.home-purchase-dialog .home-phone-digits,
.home-purchase-dialog .home-otp-digits {
  margin: 14px auto 12px;
}

.profile-upgrade-form {
  gap: 14px;
}

.checkout-verified-phone {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(0, 224, 255, 0.18);
  border-radius: 16px;
  background: rgba(0, 224, 255, 0.08);
  color: var(--text);
  font-weight: 900;
}

.choice-fieldset {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
}

.choice-fieldset legend {
  padding: 0 6px;
  color: var(--text);
  font-weight: 950;
}

.choice-fieldset label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.choice-fieldset input {
  width: auto;
  accent-color: #0ea5b7;
}

.company-fields {
  display: grid;
  gap: 12px;
}

body[data-customer-theme="woman"] .checkout-panel {
  border-color: rgba(244, 114, 182, 0.28);
  box-shadow: 0 24px 70px rgba(244, 114, 182, 0.12);
}

body[data-customer-theme="man"] .checkout-panel {
  border-color: rgba(56, 189, 248, 0.28);
  box-shadow: 0 24px 70px rgba(56, 189, 248, 0.12);
}

body[data-customer-theme="woman"] .account-flow-dialog,
body[data-customer-theme="woman"] .checkout-flow-main,
body[data-customer-theme="woman"] .account-panel.panel {
  border-color: rgba(244, 114, 182, 0.32);
  box-shadow: 0 24px 70px rgba(244, 114, 182, 0.13);
}

body[data-customer-theme="man"] .account-flow-dialog,
body[data-customer-theme="man"] .checkout-flow-main,
body[data-customer-theme="man"] .account-panel.panel {
  border-color: rgba(56, 189, 248, 0.32);
  box-shadow: 0 24px 70px rgba(56, 189, 248, 0.13);
}

.travel-home[data-theme="dark"] .home-plan-offers {
  background: rgba(8, 26, 43, 0.96);
  border-color: rgba(125, 211, 252, 0.24);
}

.travel-home[data-theme="dark"] .home-plan-offers summary,
.travel-home[data-theme="dark"] .home-plan-offer {
  color: #f8fafc;
}

.travel-home[data-theme="dark"] .home-plan-offer {
  background: rgba(12, 38, 58, 0.96);
  border: 1px solid rgba(125, 211, 252, 0.18);
}

.travel-home[data-theme="dark"] .home-plan-offer em {
  color: #67e8f9;
}

.delivery-esim-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid rgba(0, 224, 255, 0.18);
  border-radius: 20px;
  background: rgba(0, 224, 255, 0.07);
}

.delivery-esim-card img {
  width: 150px;
  max-width: 100%;
  border-radius: 16px;
  background: #ffffff;
  padding: 8px;
}

.delivery-esim-card code {
  display: block;
  margin: 8px 0 12px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--text);
  word-break: break-all;
}

@media (max-width: 980px) {
  .home-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .home-plan-grid {
    width: min(420px, calc(100% - 20px));
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .home-plan-card__top {
    min-height: 176px;
    margin: 14px 14px 0;
  }

  .home-plan-card__top strong {
    font-size: 42px;
  }

  .home-plan-offer {
    grid-template-columns: 1fr;
    justify-items: stretch;
    text-align: center;
  }

  .delivery-esim-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .delivery-esim-card img {
    margin: 0 auto;
  }
}

/* Home micro-mobile visual audit pass: keep the first screen readable down to 280px. */
@media (max-width: 430px) {
  .travel-hero {
    min-height: auto !important;
    padding: 18px 12px 34px !important;
  }

  .travel-hero__content {
    gap: 8px;
  }

  .travel-hero h1 {
    max-width: 12ch;
    margin-inline: auto;
    font-size: clamp(27px, 8.8vw, 34px) !important;
    line-height: 1.08 !important;
  }

  .travel-hero__content > p:not(.travel-hero__eyebrow) {
    max-width: 25ch;
    margin: 0 auto 12px !important;
    font-size: clamp(16px, 4.7vw, 18px) !important;
    line-height: 1.45 !important;
  }

  .travel-hero__eyebrow {
    max-width: calc(100vw - 32px);
    padding: 7px 12px;
    font-size: 14px !important;
    white-space: normal;
  }

  .home-theme-toggle {
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  .home-search-widget {
    width: min(100%, 360px) !important;
    margin-inline: auto;
  }

  .home-mode-tabs {
    gap: 6px !important;
  }

  .home-mode-tab {
    min-height: 72px !important;
    padding: 8px 4px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
  }

  .home-tab-icon {
    width: 25px !important;
    height: 25px !important;
  }

  .home-trip-panel {
    margin-top: 8px;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .home-trip-card,
  .home-tab-card {
    padding: 14px 10px !important;
    border-radius: 14px !important;
  }

  .home-trip-card__label,
  .home-tab-card h2 {
    font-size: clamp(20px, 6.2vw, 24px) !important;
  }

  .home-trip-card small,
  .home-tab-card p {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .home-cookie {
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: 1fr auto;
    gap: 8px 10px !important;
    justify-items: stretch !important;
    align-items: center;
    padding: 12px 12px 12px !important;
    border-radius: 16px !important;
    text-align: start !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(10px);
  }

  .home-cookie[hidden] {
    display: none !important;
  }

  .home-cookie .home-dialog__close {
    top: 6px;
    inset-inline-end: 8px;
    width: 28px;
    height: 28px;
    font-size: 22px;
  }

  .home-cookie__icon {
    display: none !important;
  }

  .home-cookie p {
    margin: 0 !important;
    padding-inline-end: 26px;
    color: #183247 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 800;
  }

  .home-cookie a {
    color: #0369a1 !important;
  }

  .home-cookie__accept {
    min-width: 92px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
  }

  .travel-home .floating-actions {
    top: 92px !important;
    bottom: auto !important;
    transform: none !important;
  }
}

@media (max-width: 320px) {
  .travel-hero h1 {
    font-size: 27px !important;
  }

  .home-mode-tab {
    min-height: 68px !important;
    font-size: 11px !important;
  }

  .home-tab-icon {
    width: 22px !important;
    height: 22px !important;
  }

  .home-cookie__accept {
    justify-self: stretch;
  }
}

/* Final Home micro-mobile floating rail placement after global floating rules. */
@media (max-width: 430px) {
  body:has(.travel-home) .floating-actions,
  html:has(.travel-home) .floating-actions {
    top: 92px !important;
    bottom: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, 44px) !important;
    grid-auto-flow: column !important;
    gap: 6px !important;
    width: auto !important;
    height: 44px !important;
  }

  body:has(.travel-home) .floating-action-group,
  html:has(.travel-home) .floating-action-group {
    width: 44px !important;
    height: 44px !important;
  }

  html[dir="rtl"]:has(.travel-home) .floating-actions {
    left: 8px !important;
    right: auto !important;
  }

  html[dir="ltr"]:has(.travel-home) .floating-actions {
    left: auto !important;
    right: 8px !important;
  }
}

/* Premium Travel sales palette for the Home page. */
.travel-home {
  --premium-ink: #061a2f;
  --premium-navy: #09243f;
  --premium-blue: #0f4c81;
  --premium-teal: #0aa6a6;
  --premium-mint: #8ee6d8;
  --premium-gold: #d9a441;
  --premium-champagne: #fff3d8;
  --premium-ivory: #fffaf0;
  --premium-cloud: #f5fbff;
  --premium-card: rgba(255, 255, 255, 0.94);
  --premium-border: rgba(9, 36, 63, 0.14);
  --premium-shadow: 0 22px 70px rgba(6, 26, 47, 0.16);
  --travel-purple: var(--premium-teal) !important;
  --travel-text: var(--premium-ink) !important;
  --travel-muted: #4a6076 !important;
  --travel-card: var(--premium-card) !important;
  --travel-hero-title: var(--premium-ink) !important;
  --travel-hero-subtitle: #183a56 !important;
  --travel-hero-overlay:
    linear-gradient(90deg, rgba(255, 250, 240, 0.9) 0%, rgba(245, 251, 255, 0.74) 48%, rgba(219, 247, 248, 0.58) 100%) !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(217, 164, 65, 0.2), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(10, 166, 166, 0.17), transparent 34%),
    linear-gradient(180deg, #fffaf0 0%, #f5fbff 42%, #ffffff 100%) !important;
  color: var(--premium-ink) !important;
}

.travel-home[data-theme="dark"] {
  --premium-card: rgba(9, 29, 52, 0.88);
  --premium-border: rgba(142, 230, 216, 0.2);
  --premium-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
  --travel-card: var(--premium-card) !important;
  --travel-muted: #c3d4e5 !important;
  --travel-hero-title: #f8fbff !important;
  --travel-hero-subtitle: #d7e7f5 !important;
  --travel-hero-overlay:
    linear-gradient(90deg, rgba(3, 14, 27, 0.82) 0%, rgba(7, 29, 51, 0.78) 50%, rgba(8, 67, 76, 0.62) 100%) !important;
  background:
    radial-gradient(circle at 14% 10%, rgba(217, 164, 65, 0.18), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(10, 166, 166, 0.2), transparent 34%),
    linear-gradient(180deg, #030e1b 0%, #061a2f 54%, #040b14 100%) !important;
}

.travel-home .travel-hero {
  background:
    var(--travel-hero-overlay),
    linear-gradient(90deg, rgba(255, 250, 240, 0.55), rgba(255, 255, 255, 0.16)),
    url("/static/images/hero-travel.svg") center / cover no-repeat !important;
}

.travel-home .travel-hero__overlay {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 250, 240, 0.68) 100%),
    radial-gradient(circle at 58% 28%, rgba(217, 164, 65, 0.15), transparent 28%) !important;
}

.travel-home .travel-hero__eyebrow {
  color: #6b4508 !important;
  border-color: rgba(217, 164, 65, 0.46) !important;
  background: linear-gradient(135deg, rgba(255, 243, 216, 0.96), rgba(255, 255, 255, 0.82)) !important;
  box-shadow: 0 14px 36px rgba(217, 164, 65, 0.18);
}

.travel-home .home-theme-toggle,
.travel-home .home-mode-tab,
.travel-home .home-trip-panel,
.travel-home .home-trip-card,
.travel-home .home-tab-card,
.travel-home .home-dialog,
.travel-home .home-cookie,
.travel-home .home-plan-card,
.travel-home .home-plan-offers summary,
.travel-home .home-plan-offer {
  background: var(--premium-card) !important;
  border-color: var(--premium-border) !important;
  box-shadow: var(--premium-shadow) !important;
}

.travel-home .home-cookie {
  background: rgba(255, 250, 240, 0.98) !important;
}

.travel-home .home-cookie p,
.travel-home .home-cookie a {
  color: var(--premium-ink) !important;
}

.travel-home .home-cookie a {
  text-decoration-color: rgba(15, 76, 129, 0.42);
}

.travel-home .home-search-widget {
  filter: drop-shadow(0 22px 55px rgba(6, 26, 47, 0.12));
}

.travel-home .home-mode-tab {
  color: var(--premium-navy) !important;
}

.travel-home .home-mode-tab.is-active {
  color: var(--premium-blue) !important;
  border-color: rgba(217, 164, 65, 0.48) !important;
  background:
    linear-gradient(180deg, rgba(255, 243, 216, 0.84), rgba(255, 255, 255, 0.96)) !important;
  box-shadow: 0 18px 44px rgba(217, 164, 65, 0.18) !important;
}

.travel-home .home-tab-icon,
.travel-home .home-trip-card__icon {
  color: var(--premium-blue) !important;
}

.travel-home .home-trip-card__icon::after {
  background: var(--premium-gold) !important;
}

.travel-home .home-trip-card:hover,
.travel-home .home-mode-tab:hover,
.travel-home .home-plan-card:hover {
  border-color: rgba(10, 166, 166, 0.42) !important;
  box-shadow: 0 24px 72px rgba(6, 26, 47, 0.2) !important;
}

.travel-home .home-search-cta,
.travel-home .home-plan-buy,
.travel-home .home-cookie__accept {
  color: #ffffff !important;
  background:
    linear-gradient(135deg, #09243f 0%, #0f4c81 48%, #0aa6a6 100%) !important;
  box-shadow: 0 18px 42px rgba(15, 76, 129, 0.28) !important;
}

.travel-home .home-search-cta:hover,
.travel-home .home-plan-buy:hover,
.travel-home .home-cookie__accept:hover {
  box-shadow: 0 22px 52px rgba(10, 166, 166, 0.32) !important;
}

.travel-home .home-featured-plans {
  background:
    linear-gradient(180deg, rgba(245, 251, 255, 0.92), #ffffff 68%),
    radial-gradient(circle at 15% 0%, rgba(217, 164, 65, 0.14), transparent 34%) !important;
}

.travel-home .home-benefit-band {
  background:
    linear-gradient(90deg, rgba(255, 250, 240, 0.96), rgba(232, 249, 248, 0.92), rgba(255, 255, 255, 0.96)) !important;
  border-block: 1px solid rgba(9, 36, 63, 0.08);
}

.travel-home .home-benefit-grid article,
.travel-home .home-article-card,
.travel-home .home-preflight,
.travel-home .home-faq {
  border-color: var(--premium-border) !important;
  box-shadow: 0 16px 52px rgba(6, 26, 47, 0.1) !important;
}

.travel-home .home-plan-card {
  border-radius: 22px !important;
  overflow: hidden;
}

.travel-home .home-plan-card__top {
  background:
    radial-gradient(circle at 20% 12%, rgba(255, 255, 255, 0.28), transparent 26%),
    linear-gradient(145deg, #09243f 0%, #0f4c81 50%, #0aa6a6 100%) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.travel-home .home-plan-card__top span {
  color: #fff7dc !important;
  background: rgba(6, 26, 47, 0.72) !important;
}

.travel-home .home-plan-card__top strong {
  color: #ffffff !important;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}

.travel-home .home-plan-price strong {
  color: var(--premium-ink) !important;
}

.travel-home .home-plan-card__bottom p,
.travel-home .home-plan-offers {
  color: var(--premium-ink) !important;
  background:
    linear-gradient(135deg, rgba(255, 243, 216, 0.72), rgba(232, 249, 248, 0.74)) !important;
  border-color: rgba(217, 164, 65, 0.22) !important;
}

.travel-home .home-plan-offer em {
  color: #6b4508 !important;
}

.travel-home .home-search-input input,
.travel-home .home-tab-card input {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: rgba(15, 76, 129, 0.18) !important;
  color: var(--premium-ink) !important;
}

.travel-home .home-destination-group summary,
.travel-home .home-destination-list button,
.travel-home .home-destination-chip {
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(15, 76, 129, 0.16) !important;
  color: var(--premium-ink) !important;
}

.travel-home .home-calendar__grid button.is-start,
.travel-home .home-calendar__grid button.is-end {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--premium-blue), var(--premium-teal)) !important;
}

.travel-home .home-calendar__grid button.is-range {
  color: var(--premium-ink) !important;
  background: rgba(217, 164, 65, 0.18) !important;
}

.travel-home[data-theme="dark"] .home-theme-toggle,
.travel-home[data-theme="dark"] .home-mode-tab,
.travel-home[data-theme="dark"] .home-trip-panel,
.travel-home[data-theme="dark"] .home-trip-card,
.travel-home[data-theme="dark"] .home-tab-card,
.travel-home[data-theme="dark"] .home-dialog,
.travel-home[data-theme="dark"] .home-cookie,
.travel-home[data-theme="dark"] .home-plan-card,
.travel-home[data-theme="dark"] .home-plan-offers,
.travel-home[data-theme="dark"] .home-plan-offers summary,
.travel-home[data-theme="dark"] .home-plan-offer {
  color: #f8fbff !important;
  background: rgba(8, 28, 50, 0.92) !important;
  border-color: rgba(142, 230, 216, 0.18) !important;
}

.travel-home[data-theme="dark"] .home-cookie p,
.travel-home[data-theme="dark"] .home-cookie a {
  color: #f8fbff !important;
}

.travel-home[data-theme="dark"] .home-featured-plans,
.travel-home[data-theme="dark"] .home-preflight,
.travel-home[data-theme="dark"] .home-articles,
.travel-home[data-theme="dark"] .home-faq {
  background: #030e1b !important;
}

.travel-home[data-theme="dark"] .home-benefit-band {
  background:
    linear-gradient(90deg, rgba(3, 14, 27, 0.96), rgba(9, 36, 63, 0.9), rgba(3, 14, 27, 0.96)) !important;
}

.travel-home[data-theme="dark"] .home-plan-card__bottom p,
.travel-home[data-theme="dark"] .home-plan-offers {
  color: #f8fbff !important;
  background: rgba(9, 36, 63, 0.88) !important;
  border-color: rgba(217, 164, 65, 0.22) !important;
}

@media (max-width: 430px) {
  .travel-home .travel-hero__eyebrow {
    color: #6b4508 !important;
    background: rgba(255, 243, 216, 0.94) !important;
  }

  .travel-home .home-cookie {
    background: rgba(255, 250, 240, 0.97) !important;
    border-color: rgba(217, 164, 65, 0.26) !important;
  }
}

/* Home redesign: mobile-first eSIM sales and checkout experience. */
.home-redesign {
  --sales-ink: #061a2f;
  --sales-muted: #516579;
  --sales-navy: #09243f;
  --sales-blue: #0f4c81;
  --sales-teal: #0aa6a6;
  --sales-gold: #d9a441;
  --sales-ivory: #fffaf0;
  --sales-card: rgba(255, 255, 255, 0.94);
  --sales-border: rgba(9, 36, 63, 0.14);
  --sales-shadow: 0 24px 80px rgba(6, 26, 47, 0.16);
  background:
    radial-gradient(circle at 10% 8%, rgba(217, 164, 65, 0.16), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(10, 166, 166, 0.16), transparent 32%),
    linear-gradient(180deg, #fffaf0 0%, #f5fbff 38%, #ffffff 100%) !important;
  color: var(--sales-ink);
}

.home-redesign[data-theme="dark"] {
  --sales-ink: #f8fbff;
  --sales-muted: #c8d7e6;
  --sales-card: rgba(8, 28, 50, 0.92);
  --sales-border: rgba(142, 230, 216, 0.2);
  background:
    radial-gradient(circle at 10% 8%, rgba(217, 164, 65, 0.14), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(10, 166, 166, 0.2), transparent 32%),
    linear-gradient(180deg, #030e1b 0%, #061a2f 56%, #040b14 100%) !important;
}

.sales-hero {
  position: relative;
  min-height: auto;
  padding: clamp(22px, 5vw, 72px) 5vw clamp(28px, 6vw, 82px);
  display: grid;
  grid-template-columns: minmax(0, 980px);
  justify-content: center;
  gap: clamp(18px, 4vw, 46px);
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255, 250, 240, 0.9), rgba(245, 251, 255, 0.72)),
    url("/static/images/hero-travel.svg") center / cover no-repeat;
}

.sales-hero:has(.sales-summary-card:not([hidden])) {
  grid-template-columns: minmax(0, 980px) minmax(280px, 360px);
}

.sales-hero__content {
  width: min(980px, 100%);
  margin-inline: auto;
}

.sales-hero__topline {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.sales-pill {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(217, 164, 65, 0.42);
  border-radius: 999px;
  color: #6b4508;
  background: rgba(255, 243, 216, 0.9);
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 12px 34px rgba(217, 164, 65, 0.16);
}

.sales-copy {
  text-align: center;
  margin-bottom: clamp(18px, 3vw, 30px);
}

.sales-copy h1 {
  margin: 12px auto 10px;
  max-width: 12ch;
  color: var(--sales-ink);
  font-size: clamp(42px, 7vw, 82px);
  line-height: 0.96;
  font-weight: 950;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 260ms ease, transform 260ms ease;
}

.sales-copy p {
  max-width: 680px;
  margin: 0 auto;
  color: #183a56;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.45;
  font-weight: 850;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 260ms ease, transform 260ms ease;
}

.sales-copy h1.is-fading,
.sales-copy p.is-fading {
  opacity: 0;
  transform: translateY(8px);
}

@media (prefers-reduced-motion: reduce) {
  .sales-copy h1,
  .sales-copy p {
    transition: none;
  }

  .sales-copy h1.is-fading,
  .sales-copy p.is-fading {
    opacity: 1;
    transform: none;
  }
}

.home-redesign[data-theme="dark"] .sales-copy p {
  color: #d7e7f5;
}

.booking-shell,
.sales-summary-card,
.checkout-flow-main,
.checkout-sticky-summary,
.duration-plan-card,
.trip-result-card,
.how-grid article,
.success-delivery-card {
  border: 1px solid var(--sales-border);
  background: var(--sales-card);
  box-shadow: var(--sales-shadow);
}

.booking-shell {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: clamp(14px, 2.2vw, 24px);
  border-radius: 26px;
  backdrop-filter: blur(18px);
}

.booking-search {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.booking-search label,
.date-range-field,
.inline-checkout-form label {
  display: grid;
  gap: 7px;
  color: var(--sales-ink);
  font-size: 13px;
  font-weight: 900;
}

.date-range-field {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.date-range-field legend {
  padding: 0;
  color: var(--sales-ink);
  font-size: 13px;
  font-weight: 900;
}

.date-range-control {
  position: relative;
  min-width: 0;
}

.date-range-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(15, 76, 129, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  color: #061a2f;
  padding: 0 14px;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 850;
  text-align: start;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.date-range-display::after {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 50%;
  background:
    linear-gradient(var(--sales-blue), var(--sales-blue)) center / 10px 2px no-repeat,
    linear-gradient(90deg, var(--sales-blue), var(--sales-blue)) center / 2px 10px no-repeat;
  opacity: 0.85;
  color: var(--sales-blue);
}

.date-range-display[aria-expanded="true"]::after {
  background: linear-gradient(var(--sales-blue), var(--sales-blue)) center / 10px 2px no-repeat;
}

.date-range-display span:empty::before {
  content: "";
}

.date-range-popover {
  position: absolute;
  z-index: 24;
  inset-inline: 0;
  top: calc(100% + 8px);
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(15, 76, 129, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 48px rgba(9, 36, 63, 0.18);
}

.date-range-popover[hidden] {
  display: none !important;
}

.date-range-calendar {
  display: grid;
  gap: 10px;
  font-family: Arial, Helvetica, sans-serif;
}

.date-range-calendar__header {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;
}

.date-range-calendar__header strong {
  color: var(--sales-ink);
  font-size: 16px;
  font-weight: 950;
  text-align: center;
}

.date-range-calendar__header button,
.date-range-calendar__grid button {
  border: 1px solid rgba(28, 168, 191, 0.18);
  border-radius: 12px;
  background: rgba(238, 252, 255, 0.78);
  color: var(--sales-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  cursor: pointer;
}

.date-range-calendar__header button {
  width: 40px;
  height: 38px;
  font-size: 22px;
}

.date-range-calendar__weekdays,
.date-range-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.date-range-calendar__weekdays span {
  color: var(--sales-muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.date-range-calendar__grid button,
.date-range-calendar__blank {
  min-height: 38px;
}

.date-range-calendar__grid button:hover,
.date-range-calendar__grid button:focus-visible {
  border-color: rgba(28, 168, 191, 0.46);
  background: rgba(28, 168, 191, 0.14);
  outline: none;
}

.date-range-calendar__grid button:disabled {
  color: #9badbd;
  background: rgba(241, 245, 249, 0.58);
  cursor: not-allowed;
}

.date-range-calendar__grid button.is-start,
.date-range-calendar__grid button.is-end {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #0f4c81, #10a8bd);
}

.date-range-calendar__grid button.is-range {
  color: #0f4c81;
  background: rgba(28, 168, 191, 0.16);
}

.date-range-calendar p {
  margin: 0;
  color: var(--sales-muted);
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.date-range-popover span {
  color: var(--sales-ink);
  font-size: 12px;
  font-weight: 900;
}

.booking-search select,
.booking-search input,
.inline-checkout-form input,
.inline-checkout-form select {
  min-height: 54px;
  border: 1px solid rgba(15, 76, 129, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  color: #061a2f;
  padding: 0 14px;
  font-size: 16px;
  font-weight: 850;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.destination-autocomplete {
  position: relative;
  min-width: 0;
}

.destination-suggestions {
  position: absolute;
  z-index: 20;
  inset-inline: 0;
  top: calc(100% + 8px);
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid rgba(15, 76, 129, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 48px rgba(6, 26, 47, 0.16);
}

.destination-suggestions[hidden] {
  display: none !important;
}

.destination-suggestions button {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(28, 168, 191, 0.16);
  border-radius: 12px;
  padding: 8px 12px;
  color: var(--sales-ink);
  background: rgba(238, 252, 255, 0.72);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.destination-suggestions button:hover,
.destination-suggestions button:focus {
  border-color: rgba(28, 168, 191, 0.42);
  background: rgba(28, 168, 191, 0.12);
  outline: none;
}

.booking-search .home-search-cta {
  min-height: 54px;
  white-space: nowrap;
}

.booking-feedback,
.checkout-state-banner {
  margin-top: 12px;
  padding: 11px 14px;
  border-radius: 14px;
  background: rgba(15, 76, 129, 0.08);
  color: var(--sales-ink);
  font-weight: 850;
}

.booking-feedback[data-type="error"],
.checkout-state-banner[data-type="error"] {
  background: #fff1f2;
  color: #9f1239;
}

.booking-feedback[data-type="loading"],
.checkout-state-banner[data-type="loading"] {
  background: rgba(217, 164, 65, 0.16);
  color: #6b4508;
}

.checkout-state-banner[data-type="success"] {
  background: rgba(10, 166, 166, 0.12);
  color: #075e61;
}

.sales-summary-card {
  position: sticky;
  top: 96px;
  border-radius: 26px;
  padding: 22px;
  align-self: start;
}

.sales-summary-card[hidden],
.package-results[hidden] {
  display: none !important;
}

.sales-summary-card > span,
.order-summary-heading > span,
.trip-result-card span,
.home-section-heading span {
  color: #6b4508;
  font-size: 13px;
  font-weight: 950;
}

.sales-summary-card > strong,
.order-summary-heading > strong {
  display: block;
  margin: 8px 0 14px;
  font-size: 28px;
  line-height: 1.1;
}

.sales-summary-card dl,
.checkout-sticky-summary dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.sales-summary-card dl div,
.checkout-sticky-summary dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(9, 36, 63, 0.1);
}

.sales-summary-card dt,
.sales-summary-card dd,
.checkout-sticky-summary dt,
.checkout-sticky-summary dd {
  margin: 0;
  color: var(--sales-muted);
  font-size: 13px;
  font-weight: 850;
}

.sales-summary-card dd,
.checkout-sticky-summary dd {
  color: var(--sales-ink);
  text-align: end;
}

.order-summary-lines {
  margin-bottom: 12px !important;
}

.order-summary-totals {
  margin-top: 12px !important;
  padding: 12px;
  border-radius: 18px;
  background: rgba(238, 252, 255, 0.76);
  border: 1px solid rgba(28, 168, 191, 0.16);
}

.order-summary-totals .order-summary-grand-total {
  align-items: center;
  margin-top: 2px;
  padding: 12px 0 0;
  border-bottom: 0;
  border-top: 1px solid rgba(9, 36, 63, 0.12);
}

.order-summary-grand-total dt,
.order-summary-grand-total dd {
  color: var(--sales-ink);
  font-size: 16px;
  font-weight: 950;
}

.order-summary-grand-total dd {
  font-size: 24px;
  color: var(--sales-blue);
}

.sales-summary-card p {
  margin: 16px 0 0;
  color: var(--sales-muted);
  line-height: 1.45;
  font-weight: 800;
}

.package-results,
.home-checkout-flow,
.how-it-works,
.home-benefit-band,
.home-faq {
  padding: clamp(34px, 6vw, 76px) 5vw;
}

.home-section-heading {
  max-width: 760px;
  margin: 0 auto 24px;
  text-align: center;
}

.home-section-heading.compact {
  margin-bottom: 18px;
  text-align: start;
}

.home-section-heading h2 {
  margin: 8px 0;
  color: var(--sales-ink);
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.05;
}

.home-section-heading p {
  margin: 0;
  color: var(--sales-muted);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 800;
}

.trip-result-card {
  width: min(980px, 100%);
  margin: 0 auto 20px;
  padding: 16px;
  border-radius: 20px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.trip-result-card strong {
  display: block;
  margin-top: 4px;
  color: var(--sales-ink);
  font-size: 18px;
}

.duration-plan-grid {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.duration-plan-card {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 22px;
  border-radius: 24px;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.duration-plan-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(217, 164, 65, 0.13), transparent 42%, rgba(10, 166, 166, 0.1));
  pointer-events: none;
}

.duration-plan-card > * {
  position: relative;
}

.duration-plan-card:hover,
.duration-plan-card.is-selected {
  transform: translateY(-3px);
  border-color: rgba(10, 166, 166, 0.48);
  box-shadow: 0 28px 82px rgba(6, 26, 47, 0.22);
}

.recommended-badge {
  justify-self: start;
  padding: 6px 10px;
  border-radius: 999px;
  color: #6b4508;
  background: rgba(217, 164, 65, 0.22);
  font-size: 12px;
  font-weight: 950;
}

.duration-plan-card h3 {
  margin: 0;
  color: var(--sales-ink);
  font-size: 28px;
}

.duration-plan-card strong {
  color: var(--sales-blue);
  font-size: 44px;
  line-height: 1;
}

.duration-plan-card p {
  margin: 0;
  color: var(--sales-muted);
  line-height: 1.45;
  font-weight: 800;
}

.duration-plan-price {
  color: var(--sales-ink);
  font-size: 30px;
  font-weight: 950;
}

.duration-plan-card.is-empty {
  opacity: .62;
}

.duration-plan-card.is-empty .home-plan-buy {
  cursor: not-allowed;
  filter: grayscale(1);
}

.destination-plan-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.destination-plan-card {
  overflow: hidden;
  border: 1px solid rgba(15, 76, 129, 0.16);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 24px 70px rgba(9, 36, 63, 0.12);
}

.destination-plan-card[hidden],
.destination-plan-options[hidden] {
  display: none !important;
}

.destination-plan-main {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(150px, 0.4fr);
  gap: 10px 18px;
  padding: clamp(18px, 3vw, 28px);
  border: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(231, 248, 252, 0.88));
  color: var(--sales-ink);
  text-align: start;
  cursor: pointer;
}

.destination-plan-main .recommended-badge,
.destination-plan-main small {
  width: fit-content;
  grid-column: 1 / -1;
}

.destination-plan-main h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1;
}

.destination-plan-main p {
  margin: 0;
  color: var(--sales-muted);
  font-size: 16px;
  font-weight: 850;
  line-height: 1.55;
}

.destination-plan-details {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.destination-plan-details li {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(22, 178, 194, 0.09);
  color: var(--sales-ink);
  font-weight: 900;
}

.destination-plan-main > strong {
  align-self: center;
  justify-self: end;
  color: var(--sales-navy);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 950;
}

.destination-plan-main small {
  color: var(--sales-blue);
  font-weight: 950;
}

.destination-plan-options {
  display: grid;
  gap: 14px;
  padding: 0 clamp(18px, 3vw, 28px) clamp(18px, 3vw, 28px);
}

.destination-plan-options h4 {
  margin: 0;
  color: var(--sales-ink);
  font-size: 18px;
}

.destination-plan-options [data-plan-option-list] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.destination-plan-option {
  display: grid;
  gap: 4px;
  min-height: 104px;
  padding: 14px;
  border: 1px solid rgba(15, 76, 129, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--sales-ink);
  text-align: start;
  cursor: pointer;
}

.destination-plan-option.is-selected {
  border-color: rgba(22, 178, 194, 0.72);
  background: rgba(22, 178, 194, 0.12);
  box-shadow: inset 0 0 0 1px rgba(22, 178, 194, 0.25);
}

.destination-plan-option span,
.destination-plan-option strong,
.destination-plan-option b {
  font-weight: 950;
}

.destination-plan-option em {
  color: var(--sales-muted);
  font-style: normal;
  font-weight: 850;
}

.home-checkout-flow {
  width: min(1180px, calc(100% - 10vw));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 20px;
  align-items: start;
}

.account-flow-modal[hidden] {
  display: none !important;
}

.account-flow-modal {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: clamp(8px, 2.2vw, 24px);
  overflow: hidden;
}

.account-flow-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 214, 102, 0.18), transparent 28%),
    rgba(5, 20, 36, 0.54);
  backdrop-filter: blur(12px);
  cursor: pointer;
}

.account-flow-dialog {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 16px));
  max-width: 100%;
  max-height: calc(100dvh - 16px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  border-radius: 26px;
  padding: clamp(14px, 1.8vw, 22px);
  color: var(--sales-ink);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(238, 252, 255, 0.94)),
    var(--system-surface-strong);
  border: 1px solid rgba(28, 168, 191, 0.28);
  box-shadow: 0 34px 110px rgba(7, 38, 61, 0.28);
}

.account-flow-close {
  position: sticky;
  top: 8px;
  z-index: 4;
  float: inline-end;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid rgba(28, 168, 191, 0.26);
  color: var(--sales-ink);
  background: rgba(255, 255, 255, 0.9);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.account-flow-header {
  min-height: 42px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 54px 10px 0;
}

html[dir="ltr"] .account-flow-header {
  margin: 0 0 10px 54px;
}

.account-flow-header small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 30px;
  padding: 5px 12px;
  border: 1px solid rgba(28, 168, 191, 0.22);
  border-radius: 999px;
  color: var(--sales-muted);
  background: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-flow-header b {
  color: var(--sales-ink);
}

.account-flow-dialog .home-checkout-flow {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.account-flow-dialog .checkout-flow-main,
.account-flow-dialog .checkout-sticky-summary {
  box-shadow: none;
}

body.account-flow-open {
  overflow: hidden;
}

.checkout-flow-main {
  border-radius: 28px;
  padding: clamp(18px, 3vw, 30px);
  min-width: 0;
  max-width: 100%;
}

.checkout-step-panel {
  display: none;
}

.checkout-step-panel.is-active {
  display: block;
  animation: fadeInUp .2s ease both;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.checkout-step-panel h3 {
  margin: 0 0 8px;
  color: var(--sales-ink);
  font-size: clamp(24px, 3vw, 36px);
}

.checkout-step-panel p {
  margin: 0 0 16px;
  color: var(--sales-muted);
  line-height: 1.55;
  font-weight: 800;
}

.inline-checkout-form {
  display: grid;
  gap: 14px;
}

.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.compact-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border: 1px solid var(--sales-border);
  border-radius: 16px;
  padding: 12px;
}

.compact-choice legend {
  padding: 0 6px;
  font-weight: 950;
}

.checkout-sticky-summary {
  position: sticky;
  top: 96px;
  border-radius: 24px;
  padding: 20px;
}

.checkout-sticky-summary .order-summary-heading strong {
  display: block;
  margin-top: 8px;
  color: var(--sales-ink);
  font-size: 24px;
  font-weight: 950;
}

.checkout-sticky-summary p {
  color: var(--sales-muted);
  font-weight: 850;
}

.order-invoice-summary--compact {
  display: grid;
  gap: 12px;
}

.order-invoice-summary--compact .order-summary-totals {
  padding: 10px;
}

.success-delivery-card {
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
  border-radius: 24px;
  padding: 24px;
}

.success-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: linear-gradient(135deg, var(--sales-blue), var(--sales-teal));
  font-size: 32px;
  font-weight: 950;
}

.success-delivery-card code {
  display: block;
  max-width: 100%;
  padding: 12px;
  border-radius: 14px;
  color: var(--sales-ink);
  background: rgba(15, 76, 129, 0.08);
  word-break: break-all;
}

.success-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.home-plan-buy.secondary {
  color: var(--sales-ink) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid var(--sales-border);
}

.how-grid {
  width: min(1060px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.how-grid article {
  border-radius: 24px;
  padding: 22px;
  text-align: center;
}

.how-grid span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  border-radius: 16px;
  color: white;
  background: linear-gradient(135deg, var(--sales-blue), var(--sales-teal));
  font-size: 22px;
  font-weight: 950;
}

.how-grid h3 {
  margin: 0 0 8px;
  color: var(--sales-ink);
}

.how-grid p {
  margin: 0;
  color: var(--sales-muted);
  line-height: 1.5;
  font-weight: 800;
}

.home-redesign[data-theme="dark"] .booking-search input,
.home-redesign[data-theme="dark"] .booking-search select,
.home-redesign[data-theme="dark"] .inline-checkout-form input,
.home-redesign[data-theme="dark"] .inline-checkout-form select {
  color: #f8fbff;
  background: rgba(3, 14, 27, 0.8);
  border-color: rgba(142, 230, 216, 0.22);
}

.home-redesign[data-theme="dark"] .destination-suggestions {
  background: rgba(8, 28, 50, 0.98);
  border-color: rgba(142, 230, 216, 0.24);
}

.home-redesign[data-theme="dark"] .destination-suggestions button {
  color: #f8fbff;
  background: rgba(238, 252, 255, 0.08);
  border-color: rgba(142, 230, 216, 0.2);
}

.home-redesign[data-theme="dark"] .destination-suggestions button:hover,
.home-redesign[data-theme="dark"] .destination-suggestions button:focus {
  background: rgba(53, 184, 230, 0.18);
}

.home-redesign[data-theme="dark"] .destination-plan-card,
.home-redesign[data-theme="dark"] .destination-plan-main,
.home-redesign[data-theme="dark"] .destination-plan-option {
  color: #f8fbff;
  background: rgba(8, 28, 50, 0.92);
  border-color: rgba(142, 230, 216, 0.24);
}

.home-redesign[data-theme="dark"] .destination-plan-main p,
.home-redesign[data-theme="dark"] .destination-plan-option em {
  color: #d9e9f7;
}

.home-redesign[data-theme="dark"] .destination-plan-details li {
  color: #f8fbff;
  background: rgba(238, 252, 255, 0.08);
}

.home-redesign[data-theme="dark"] .destination-plan-main > strong,
.home-redesign[data-theme="dark"] .destination-plan-main small {
  color: #8ee6d8;
}

.home-redesign[data-theme="dark"] .sales-pill,
.home-redesign[data-theme="dark"] .recommended-badge {
  color: #ffe8ac;
  background: rgba(217, 164, 65, 0.14);
}

/* Definitive dark-mode contrast pass for every Home purchase surface. */
.home-redesign[data-theme="dark"] {
  --sales-ink: #f8fbff;
  --sales-muted: #d7e7f5;
  --sales-card: rgba(7, 23, 40, 0.96);
  --sales-border: rgba(142, 230, 216, 0.3);
  color: #f8fbff !important;
}

.home-redesign[data-theme="dark"] .sales-hero {
  background:
    linear-gradient(90deg, rgba(3, 14, 27, 0.92), rgba(6, 26, 47, 0.84)),
    url("/static/images/hero-travel.svg") center / cover no-repeat !important;
}

.home-redesign[data-theme="dark"] .sales-copy h1,
.home-redesign[data-theme="dark"] .sales-copy p,
.home-redesign[data-theme="dark"] .home-section-heading h2,
.home-redesign[data-theme="dark"] .home-section-heading p,
.home-redesign[data-theme="dark"] .checkout-step-panel h3,
.home-redesign[data-theme="dark"] .checkout-step-panel p,
.home-redesign[data-theme="dark"] .destination-plan-main h3,
.home-redesign[data-theme="dark"] .destination-plan-options h4,
.home-redesign[data-theme="dark"] .how-grid h3,
.home-redesign[data-theme="dark"] .how-grid p,
.home-redesign[data-theme="dark"] .home-benefit-band h2,
.home-redesign[data-theme="dark"] .home-benefit-grid strong,
.home-redesign[data-theme="dark"] .home-benefit-grid p,
.home-redesign[data-theme="dark"] .home-faq h2,
.home-redesign[data-theme="dark"] .home-faq summary,
.home-redesign[data-theme="dark"] .home-faq p,
.home-redesign[data-theme="dark"] .success-delivery-card h3,
.home-redesign[data-theme="dark"] .success-delivery-card p {
  color: #f8fbff !important;
  text-shadow: none !important;
}

.home-redesign[data-theme="dark"] .home-section-heading span,
.home-redesign[data-theme="dark"] .sales-summary-card > span,
.home-redesign[data-theme="dark"] .order-summary-heading > span,
.home-redesign[data-theme="dark"] .trip-result-card span,
.home-redesign[data-theme="dark"] .recommended-badge {
  color: #ffe8ac !important;
}

.home-redesign[data-theme="dark"] .booking-shell,
.home-redesign[data-theme="dark"] .sales-summary-card,
.home-redesign[data-theme="dark"] .checkout-flow-main,
.home-redesign[data-theme="dark"] .checkout-sticky-summary,
.home-redesign[data-theme="dark"] .trip-result-card,
.home-redesign[data-theme="dark"] .destination-plan-card,
.home-redesign[data-theme="dark"] .destination-plan-main,
.home-redesign[data-theme="dark"] .destination-plan-options,
.home-redesign[data-theme="dark"] .destination-plan-option,
.home-redesign[data-theme="dark"] .account-flow-dialog,
.home-redesign[data-theme="dark"] .account-flow-header small,
.home-redesign[data-theme="dark"] .checkout-step-panel,
.home-redesign[data-theme="dark"] .success-delivery-card,
.home-redesign[data-theme="dark"] .how-grid article,
.home-redesign[data-theme="dark"] .home-benefit-grid article,
.home-redesign[data-theme="dark"] .home-faq details,
.home-redesign[data-theme="dark"] .date-range-popover,
.home-redesign[data-theme="dark"] .destination-suggestions,
.home-redesign[data-theme="dark"] .order-summary-totals,
.home-redesign[data-theme="dark"] .compact-choice {
  color: #f8fbff !important;
  background: rgba(7, 23, 40, 0.96) !important;
  border-color: rgba(142, 230, 216, 0.28) !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.36) !important;
}

.home-redesign[data-theme="dark"] .sales-summary-card strong,
.home-redesign[data-theme="dark"] .sales-summary-card dd,
.home-redesign[data-theme="dark"] .checkout-sticky-summary strong,
.home-redesign[data-theme="dark"] .checkout-sticky-summary dd,
.home-redesign[data-theme="dark"] .checkout-sticky-summary p,
.home-redesign[data-theme="dark"] .order-summary-grand-total dt,
.home-redesign[data-theme="dark"] .order-summary-grand-total dd,
.home-redesign[data-theme="dark"] .trip-result-card strong,
.home-redesign[data-theme="dark"] .destination-plan-main > strong,
.home-redesign[data-theme="dark"] .destination-plan-main small,
.home-redesign[data-theme="dark"] .destination-plan-details li,
.home-redesign[data-theme="dark"] .destination-plan-option span,
.home-redesign[data-theme="dark"] .destination-plan-option strong,
.home-redesign[data-theme="dark"] .destination-plan-option em,
.home-redesign[data-theme="dark"] .destination-plan-option b,
.home-redesign[data-theme="dark"] .account-flow-header b,
.home-redesign[data-theme="dark"] .compact-choice legend,
.home-redesign[data-theme="dark"] .checkout-verified-phone,
.home-redesign[data-theme="dark"] .checkout-verified-phone span,
.home-redesign[data-theme="dark"] .checkout-verified-phone strong,
.home-redesign[data-theme="dark"] .success-delivery-card code {
  color: #f8fbff !important;
}

.home-redesign[data-theme="dark"] .sales-summary-card dt,
.home-redesign[data-theme="dark"] .sales-summary-card p,
.home-redesign[data-theme="dark"] .checkout-sticky-summary dt,
.home-redesign[data-theme="dark"] .destination-plan-main p,
.home-redesign[data-theme="dark"] .account-flow-header small,
.home-redesign[data-theme="dark"] .inline-checkout-form label,
.home-redesign[data-theme="dark"] .profile-grid small,
.home-redesign[data-theme="dark"] .checkbox-line span {
  color: #d7e7f5 !important;
}

.home-redesign[data-theme="dark"] .booking-search label > span,
.home-redesign[data-theme="dark"] .date-range-field legend,
.home-redesign[data-theme="dark"] .date-range-popover span,
.home-redesign[data-theme="dark"] .date-range-calendar__header strong,
.home-redesign[data-theme="dark"] .date-range-calendar__grid button,
.home-redesign[data-theme="dark"] .inline-checkout-form label,
.home-redesign[data-theme="dark"] .payment-method span {
  color: #f8fbff !important;
}

.home-redesign[data-theme="dark"] .booking-search input,
.home-redesign[data-theme="dark"] .booking-search select,
.home-redesign[data-theme="dark"] .date-range-display,
.home-redesign[data-theme="dark"] .date-range-popover input,
.home-redesign[data-theme="dark"] .inline-checkout-form input,
.home-redesign[data-theme="dark"] .inline-checkout-form select,
.home-redesign[data-theme="dark"] .phone-split-input input,
.home-redesign[data-theme="dark"] .otp-box,
.home-redesign[data-theme="dark"] .payment-method,
.home-redesign[data-theme="dark"] .checkbox-line {
  color: #f8fbff !important;
  background: #061a2f !important;
  border-color: rgba(142, 230, 216, 0.34) !important;
}

.home-redesign[data-theme="dark"] .date-range-calendar__header button,
.home-redesign[data-theme="dark"] .date-range-calendar__grid button {
  color: #f8fbff !important;
  background: rgba(8, 28, 50, 0.92) !important;
  border-color: rgba(142, 230, 216, 0.28) !important;
}

.home-redesign[data-theme="dark"] .date-range-calendar__grid button.is-start,
.home-redesign[data-theme="dark"] .date-range-calendar__grid button.is-end {
  color: #061a2f !important;
  background: linear-gradient(135deg, #8ee6d8, #35c6d9) !important;
}

.home-redesign[data-theme="dark"] .date-range-calendar__grid button.is-range {
  color: #f8fbff !important;
  background: rgba(142, 230, 216, 0.18) !important;
}

.home-redesign[data-theme="dark"] .date-range-calendar__grid button:disabled {
  color: #7d93a8 !important;
  background: rgba(8, 28, 50, 0.42) !important;
}

.home-redesign[data-theme="dark"] .date-range-calendar__weekdays span,
.home-redesign[data-theme="dark"] .date-range-calendar p {
  color: #d7e7f5 !important;
}

.home-redesign[data-theme="dark"] input::placeholder,
.home-redesign[data-theme="dark"] textarea::placeholder {
  color: #a9c7dc !important;
  opacity: 1 !important;
}

.home-redesign[data-theme="dark"] .destination-suggestions button,
.home-redesign[data-theme="dark"] .destination-plan-details li,
.home-redesign[data-theme="dark"] .destination-plan-option.is-selected,
.home-redesign[data-theme="dark"] .booking-feedback,
.home-redesign[data-theme="dark"] .checkout-state-banner,
.home-redesign[data-theme="dark"] .success-delivery-card code {
  background: rgba(20, 64, 91, 0.92) !important;
  border-color: rgba(142, 230, 216, 0.32) !important;
}

.home-redesign[data-theme="dark"] .booking-feedback[data-type="error"],
.home-redesign[data-theme="dark"] .checkout-state-banner[data-type="error"],
.home-redesign[data-theme="dark"] .notice.danger,
.home-redesign[data-theme="dark"] .form-error {
  color: #fecdd3 !important;
  background: rgba(127, 29, 29, 0.72) !important;
  border-color: rgba(254, 205, 211, 0.36) !important;
}

.home-redesign[data-theme="dark"] .booking-feedback[data-type="loading"],
.home-redesign[data-theme="dark"] .checkout-state-banner[data-type="loading"] {
  color: #ffe8ac !important;
  background: rgba(113, 63, 18, 0.64) !important;
}

.home-redesign[data-theme="dark"] .checkout-state-banner[data-type="success"],
.home-redesign[data-theme="dark"] .booking-feedback[data-type="success"] {
  color: #b7fff2 !important;
  background: rgba(6, 95, 70, 0.66) !important;
}

.home-redesign[data-theme="dark"] .home-search-cta,
.home-redesign[data-theme="dark"] .home-plan-buy,
.home-redesign[data-theme="dark"] .button.primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0f8fb0, #12b981) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

.home-redesign[data-theme="dark"] .home-plan-buy.secondary,
.home-redesign[data-theme="dark"] .account-flow-close {
  color: #f8fbff !important;
  background: rgba(20, 64, 91, 0.92) !important;
  border-color: rgba(142, 230, 216, 0.34) !important;
}

.home-redesign[data-theme="dark"] .home-benefit-band,
.home-redesign[data-theme="dark"] .package-results,
.home-redesign[data-theme="dark"] .home-checkout-flow,
.home-redesign[data-theme="dark"] .how-it-works,
.home-redesign[data-theme="dark"] .home-faq {
  background: transparent !important;
}

body.home-theme-dark .footer,
body.home-theme-dark .floating-panel {
  color: #f8fbff !important;
  background: rgba(7, 23, 40, 0.98) !important;
  border-color: rgba(142, 230, 216, 0.28) !important;
}

body.home-theme-dark .footer p,
body.home-theme-dark .footer a,
body.home-theme-dark .floating-panel p,
body.home-theme-dark .floating-panel strong,
body.home-theme-dark .floating-panel a,
body.home-theme-dark .floating-panel button {
  color: #f8fbff !important;
}

body.home-theme-dark .floating-panel button:not(.floating-panel-close) {
  background: rgba(20, 64, 91, 0.92) !important;
  border-color: rgba(142, 230, 216, 0.28) !important;
}

/* Release 1.0.69: definitive responsive nav, post-search hero, and floating tools layout. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.nav {
  width: 100%;
  max-width: 100vw;
  overflow-x: clip;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(170px, 0.9fr) minmax(0, 1.8fr);
  align-items: center;
  gap: clamp(10px, 2vw, 22px);
  padding: 14px clamp(12px, 4vw, 64px);
}

.brand {
  min-width: 0;
  max-width: 100%;
  justify-self: start;
  white-space: nowrap;
}

.brand > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nav-links {
  min-width: 0;
  max-width: 100%;
  justify-self: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible !important;
  color: #eaf6ff;
}

.nav-links a,
.nav-links button,
.nav-logout button,
.language-chip,
.customer-chip {
  max-width: min(170px, 100%);
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 999px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  line-height: 1.15;
}

.nav-links > a:not(.customer-chip):not(.language-chip),
.nav-theme-toggle,
.nav-logout button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
}

.nav-links > a:not(.customer-chip):not(.language-chip):hover,
.nav-theme-toggle:hover,
.nav-logout button:hover {
  color: #ffffff;
  border-color: rgba(125, 211, 252, 0.42);
  background: rgba(255, 255, 255, 0.13);
}

.sales-hero:has(.sales-summary-card:not([hidden])) {
  justify-content: center;
}

.sales-summary-card {
  width: min(360px, 100%);
  justify-self: center;
}

.floating-actions {
  position: fixed !important;
  inset-inline-start: max(10px, env(safe-area-inset-left)) !important;
  inset-inline-end: auto !important;
  top: 50% !important;
  bottom: auto !important;
  width: 48px !important;
  max-width: 48px !important;
  transform: translateY(-50%) !important;
  z-index: 240 !important;
  display: grid !important;
  gap: 10px !important;
  align-items: center !important;
  justify-items: center !important;
  overflow: visible !important;
  pointer-events: none !important;
}

html[dir="ltr"] .floating-actions {
  inset-inline-start: auto !important;
  inset-inline-end: max(10px, env(safe-area-inset-right)) !important;
}

.floating-action-group {
  position: static !important;
  width: 48px !important;
  height: 48px !important;
  pointer-events: none !important;
}

.floating-tab,
.floating-tab.support-tab,
.floating-tab.accessibility-tab {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14, 165, 183, 0.28) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #073251 !important;
  box-shadow: 0 14px 34px rgba(9, 36, 63, 0.18) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

.floating-tab span {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  color: #073251 !important;
  font-size: 24px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.floating-tab.accessibility-tab span {
  font-size: 21px !important;
}

.floating-tab:hover,
.floating-tab:focus-visible {
  transform: translateY(-1px) scale(1.04) !important;
  border-color: rgba(14, 165, 183, 0.52) !important;
  box-shadow: 0 18px 44px rgba(9, 36, 63, 0.24) !important;
  outline: none !important;
}

.floating-actions.has-open .floating-tab {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.floating-panel,
html[dir="ltr"] .floating-panel {
  position: fixed !important;
  inset-block-start: 50% !important;
  inset-block-end: auto !important;
  inset-inline-start: 72px !important;
  inset-inline-end: auto !important;
  width: min(330px, calc(100vw - 92px)) !important;
  max-width: none !important;
  max-height: min(78dvh, 560px) !important;
  transform: translateY(-50%) !important;
  overflow: auto !important;
  border-radius: 22px !important;
  padding: 18px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #061a2f !important;
  border: 1px solid rgba(14, 165, 183, 0.22) !important;
  box-shadow: 0 24px 70px rgba(9, 36, 63, 0.24) !important;
  pointer-events: auto !important;
}

html[dir="ltr"] .floating-panel {
  inset-inline-start: auto !important;
  inset-inline-end: 72px !important;
}

.floating-panel[hidden] {
  display: none !important;
}

.floating-panel-close,
.floating-panel button.floating-panel-close {
  position: absolute !important;
  inset-block-start: 10px !important;
  inset-inline-end: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 999px !important;
}

@media (min-width: 1180px) {
  .nav {
    grid-template-columns: minmax(220px, 1fr) minmax(0, 2.2fr) minmax(220px, 1fr) !important;
  }

  .brand {
    grid-column: 1 !important;
  }

  .nav-links {
    grid-column: 2 !important;
    width: min(980px, 100%) !important;
  }
}

@media (max-width: 980px) {
  .nav {
    grid-template-columns: 1fr !important;
    justify-items: center;
    padding: 10px 12px;
  }

  .brand {
    justify-self: center;
  }

  .nav-links {
    width: 100%;
  }

  .sales-hero:has(.sales-summary-card:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sales-summary-card {
    width: min(100%, 520px);
  }
}

@media (max-width: 560px) {
  .nav {
    padding: 8px 10px;
  }

  .brand {
    font-size: 18px;
  }

  .brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }

  .nav-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .nav-links a,
  .nav-links button,
  .nav-logout,
  .nav-logout button,
  .language-chip,
  .customer-chip {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .customer-chip {
    grid-column: 1 / -1;
  }

  .sales-copy {
    width: 100%;
    margin-inline: auto;
  }

  .floating-actions {
    inset-inline-start: max(8px, env(safe-area-inset-left)) !important;
    width: 42px !important;
    max-width: 42px !important;
    gap: 8px !important;
  }

  html[dir="ltr"] .floating-actions {
    inset-inline-end: max(8px, env(safe-area-inset-right)) !important;
  }

  .floating-action-group,
  .floating-tab,
  .floating-tab.support-tab,
  .floating-tab.accessibility-tab {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }

  .floating-tab span {
    font-size: 22px !important;
  }

  .floating-tab.accessibility-tab span {
    font-size: 19px !important;
  }

  .floating-actions.has-open {
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    transform: none !important;
    display: block !important;
    pointer-events: none !important;
  }

  .floating-panel,
  html[dir="ltr"] .floating-panel {
    inset-inline-start: max(12px, env(safe-area-inset-left)) !important;
    inset-inline-end: max(12px, env(safe-area-inset-right)) !important;
    width: auto !important;
    max-height: min(76dvh, 540px) !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }
}

/* Release 1.0.69 acceptance tightening after visual audit. */
.sales-hero:has(.sales-summary-card:not([hidden])) {
  grid-template-columns: minmax(0, 980px) !important;
  justify-items: center !important;
}

.sales-hero:has(.sales-summary-card:not([hidden])) .sales-hero__content,
.sales-hero:has(.sales-summary-card:not([hidden])) .booking-shell,
.sales-hero:has(.sales-summary-card:not([hidden])) .sales-copy {
  width: min(980px, 100%) !important;
  margin-inline: auto !important;
  justify-self: center !important;
}

.sales-hero:has(.sales-summary-card:not([hidden])) .sales-summary-card {
  width: min(720px, 100%) !important;
  margin-inline: auto !important;
  justify-self: center !important;
}

.floating-panel {
  left: 72px !important;
  right: auto !important;
}

html[dir="ltr"] .floating-panel {
  left: auto !important;
  right: 72px !important;
}

@media (max-width: 560px) {
  .floating-actions.has-open .floating-action-group {
    position: static !important;
    width: auto !important;
    height: auto !important;
    pointer-events: none !important;
  }

  .floating-actions.has-open .floating-panel,
  html[dir="rtl"] .floating-actions.has-open .floating-panel,
  html[dir="ltr"] .floating-actions.has-open .floating-panel {
    left: 12px !important;
    right: 12px !important;
    top: 50% !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: translateY(-50%) !important;
  }
}

@media (max-width: 340px) {
  .nav-links {
    grid-template-columns: 1fr;
  }

  .sales-hero {
    padding-inline: 10px;
  }

  .booking-shell,
  .sales-summary-card {
    border-radius: 18px;
  }
}

@media (max-width: 980px) {
  .sales-hero,
  .home-checkout-flow {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .sales-summary-card,
  .checkout-sticky-summary {
    position: static;
  }

  .booking-search {
    grid-template-columns: 1fr 1fr;
  }

  .booking-search .home-search-cta {
    grid-column: 1 / -1;
  }

  .destination-autocomplete,
  .date-range-field {
    grid-column: 1 / -1;
  }

  .duration-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .sales-hero {
    padding: 18px 12px 28px;
  }

  .sales-copy h1 {
    font-size: clamp(34px, 12vw, 48px);
  }

  .sales-copy p {
    font-size: 16px;
  }

  .booking-search,
  .trip-result-card,
  .duration-plan-grid,
  .destination-plan-main,
  .profile-grid,
  .how-grid {
    grid-template-columns: 1fr;
  }

  .destination-plan-main > strong {
    justify-self: start;
  }

  .date-range-popover {
    position: fixed;
    inset-inline: 10px;
    top: auto;
    bottom: 12px;
    border-radius: 20px;
  }

  .booking-shell,
  .checkout-flow-main,
  .checkout-sticky-summary,
  .account-flow-dialog {
    border-radius: 20px;
  }

  .account-flow-modal {
    align-items: end;
    padding: 6px;
  }

  .account-flow-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
    padding: 10px;
  }

  .account-flow-header {
    min-height: 38px;
    margin: 0 46px 8px 0;
  }

  html[dir="ltr"] .account-flow-header {
    margin: 0 0 8px 46px;
  }

  .account-flow-header small {
    min-height: 28px;
    padding: 4px 10px;
    font-size: 12px;
  }

  .account-flow-close {
    top: 6px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    font-size: 24px;
  }

  .account-flow-dialog .home-section-heading.compact {
    margin-bottom: 12px;
  }

  .account-flow-dialog .home-section-heading.compact h2 {
    font-size: clamp(25px, 8vw, 34px);
  }

  .account-flow-dialog .home-section-heading.compact p {
    font-size: 14px;
    line-height: 1.45;
  }

  .package-results,
  .how-it-works,
  .home-benefit-band,
  .home-faq {
    padding: 32px 12px;
  }

  .home-checkout-flow {
    padding: 24px 12px;
  }

  .account-flow-dialog .home-checkout-flow {
    padding: 0;
  }

  .account-flow-dialog .checkout-flow-main,
  .account-flow-dialog .checkout-sticky-summary {
    padding: 16px 12px;
  }

  .duration-plan-card {
    padding: 18px;
  }

  .duration-plan-card strong {
    font-size: 38px;
  }

  .sales-summary-card {
    display: none;
  }
}

@media (max-width: 320px) {
  .account-flow-dialog {
    width: calc(100vw - 8px);
    max-height: calc(100dvh - 8px);
    padding: 8px;
    border-radius: 16px;
  }

  .account-flow-dialog .checkout-flow-main,
  .account-flow-dialog .checkout-sticky-summary {
    padding: 14px 10px;
    border-radius: 16px;
  }

  .account-flow-dialog .home-section-heading.compact h2,
  .checkout-step-panel h3 {
    font-size: 24px;
    line-height: 1.12;
  }

  .account-flow-dialog .checkout-sticky-summary {
    display: none;
  }

  .booking-search select,
  .booking-search input,
  .inline-checkout-form input,
  .inline-checkout-form select {
    min-height: 48px;
    font-size: 14px;
  }

  .phone-split-input {
    gap: 5px !important;
  }

  .phone-digit-group {
    gap: 4px !important;
  }

  .phone-digit-group input {
    width: 24px !important;
    height: 42px !important;
  }
}

/* Final Home sales redesign polish: keep legacy audit text invisible and keep floating help away from the hero funnel. */
.home-legacy-copy {
  display: none !important;
}

body:has(.home-redesign) .floating-actions,
html:has(.home-redesign) .floating-actions {
  top: 56vh !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 620px) {
  body:has(.home-redesign) .floating-actions,
  html:has(.home-redesign) .floating-actions {
    top: 58vh !important;
  }
}

/* Final system alignment: Arial typography and Home-style surfaces across public, account, and admin screens. */
:root {
  --system-font: Arial, "Arial Hebrew", Helvetica, sans-serif;
  --system-ink: #07263d;
  --system-muted: #52657a;
  --system-surface: rgba(255, 255, 255, 0.91);
  --system-surface-strong: rgba(255, 255, 255, 0.97);
  --system-line: rgba(28, 168, 191, 0.22);
  --system-accent: #10a8bd;
  --system-accent-2: #35c6d9;
  --system-warm: #fff3bf;
}

html,
body,
body *,
body *::before,
body *::after,
button,
input,
select,
textarea,
option,
optgroup,
summary,
dialog,
table,
th,
td,
code,
pre,
kbd,
samp,
.nav,
.brand,
.button,
.panel,
.card,
.ops-table {
  font-family: var(--system-font) !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
}

body:not(:has(.home-redesign)) {
  color: var(--system-ink);
  background:
    linear-gradient(135deg, rgba(255, 246, 216, 0.72), rgba(213, 245, 250, 0.8)),
    linear-gradient(180deg, #f8fdff, #eef9fb);
}

.section,
.form-shell,
.checkout-shell,
.admin-shell {
  color: var(--system-ink);
}

.panel,
.package-card,
.checkout-panel,
.account-panel.panel,
.legal-panel,
.report-panel,
.health-card,
.metric-card,
.metrics > div,
.step-card,
.faq-list details,
.admin-shell > section,
.admin-shell > div:not(.table-wrap) {
  color: var(--system-ink);
  background: var(--system-surface);
  border: 1px solid var(--system-line);
  border-radius: 24px;
  box-shadow: 0 22px 70px rgba(7, 38, 61, 0.09);
  backdrop-filter: blur(14px);
}

.admin-shell {
  min-height: calc(100vh - 90px);
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 227, 136, 0.22), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(53, 198, 217, 0.2), transparent 32%);
}

.admin-shell h1,
.admin-shell h2,
.admin-shell h3,
.account-panel h1,
.account-panel h2,
.legal-panel h1,
.legal-panel h2 {
  color: var(--system-ink);
  font-weight: 900;
}

.admin-shell p,
.admin-shell small,
.muted,
.account-panel p,
.legal-panel p {
  color: var(--system-muted);
}

.table-wrap {
  border: 1px solid var(--system-line);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 50px rgba(7, 38, 61, 0.07);
}

.ops-table {
  color: var(--system-ink);
  background: transparent;
}

.ops-table th {
  color: #365069;
  background: rgba(234, 248, 251, 0.96);
}

.ops-table td {
  color: var(--system-ink);
  background: rgba(255, 255, 255, 0.72);
}

.ops-table tr:hover td {
  background: rgba(223, 248, 252, 0.86);
}

.language-chip {
  min-width: 42px;
  text-align: center;
}

html[dir="ltr"] body,
html[dir="ltr"] .panel,
html[dir="ltr"] .admin-shell,
html[dir="ltr"] .account-panel,
html[dir="ltr"] .checkout-panel {
  direction: ltr;
}

html[dir="rtl"] body,
html[dir="rtl"] .panel,
html[dir="rtl"] .admin-shell,
html[dir="rtl"] .account-panel,
html[dir="rtl"] .checkout-panel {
  direction: rtl;
}

@media (max-width: 620px) {
  .form-grid.two,
  .company-fields {
    grid-template-columns: 1fr;
  }

  .checkout-section {
    padding: 14px;
    border-radius: 18px;
  }

  .checkout-otp-card {
    padding: 24px 16px 18px;
    border-radius: 22px;
  }

  .checkout-otp-card .otp-box-row {
    grid-template-columns: repeat(4, minmax(38px, 52px));
    gap: 8px;
  }

  .checkout-otp-card .otp-box {
    height: 52px;
    font-size: 24px;
  }

  .panel,
  .package-card,
  .checkout-panel,
  .account-panel.panel,
  .legal-panel,
  .report-panel,
  .health-card,
  .metric-card {
    border-radius: 20px;
  }

  .admin-shell {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* Release 1.0.69 final viewport lock: no horizontal nav rail, centered post-search hero, clean floating tools. */
html,
body {
  overflow-x: clip !important;
}

.nav {
  overflow-x: clip !important;
  max-width: 100vw !important;
}

.nav,
.nav * {
  box-sizing: border-box;
}

.nav-links {
  min-width: 0 !important;
  overflow: visible !important;
  flex-wrap: wrap !important;
}

.nav-links > * {
  min-width: 0;
}

@media (max-width: 980px) {
  .sales-hero:has(.sales-summary-card:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
  }

  .sales-hero:has(.sales-summary-card:not([hidden])) .sales-hero__content,
  .sales-hero:has(.sales-summary-card:not([hidden])) .sales-copy,
  .sales-hero:has(.sales-summary-card:not([hidden])) .booking-shell,
  .sales-summary-card {
    width: min(100%, 560px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    justify-self: center !important;
  }
}

body:has(.home-redesign) .floating-actions,
html:has(.home-redesign) .floating-actions,
.floating-actions {
  position: fixed !important;
  inset-inline-start: max(10px, env(safe-area-inset-left)) !important;
  inset-inline-end: auto !important;
  top: 50% !important;
  bottom: auto !important;
  width: 48px !important;
  max-width: 48px !important;
  height: auto !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  gap: 10px !important;
  z-index: 240 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

html[dir="ltr"]:has(.home-redesign) .floating-actions,
html[dir="ltr"] .floating-actions {
  inset-inline-start: auto !important;
  inset-inline-end: max(10px, env(safe-area-inset-right)) !important;
}

.floating-action-group {
  width: 48px !important;
  height: 48px !important;
  pointer-events: none !important;
}

.floating-tab,
.floating-tab.support-tab,
.floating-tab.accessibility-tab {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #073251 !important;
  border: 1px solid rgba(14, 165, 183, 0.28) !important;
  box-shadow: 0 14px 34px rgba(9, 36, 63, 0.18) !important;
  transform: none !important;
  pointer-events: auto !important;
}

.floating-tab span {
  display: grid !important;
  place-items: center !important;
  color: #073251 !important;
  font-size: 24px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.floating-tab.accessibility-tab span {
  font-size: 21px !important;
}

.floating-actions.has-open .floating-tab {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.floating-panel,
html[dir="ltr"] .floating-panel {
  position: fixed !important;
  inset-block-start: 50% !important;
  inset-block-end: auto !important;
  inset-inline-start: 72px !important;
  inset-inline-end: auto !important;
  width: min(330px, calc(100vw - 92px)) !important;
  max-width: none !important;
  max-height: min(78dvh, 560px) !important;
  transform: translateY(-50%) !important;
  overflow: auto !important;
  border-radius: 22px !important;
  padding: 18px !important;
  pointer-events: auto !important;
}

html[dir="ltr"] .floating-panel {
  inset-inline-start: auto !important;
  inset-inline-end: 72px !important;
}

@media (max-width: 560px) {
  body:has(.home-redesign) .floating-actions,
  html:has(.home-redesign) .floating-actions,
  .floating-actions {
    inset-inline-start: max(8px, env(safe-area-inset-left)) !important;
    width: 42px !important;
    max-width: 42px !important;
    gap: 8px !important;
  }

  html[dir="ltr"]:has(.home-redesign) .floating-actions,
  html[dir="ltr"] .floating-actions {
    inset-inline-start: auto !important;
    inset-inline-end: max(8px, env(safe-area-inset-right)) !important;
  }

  .floating-action-group,
  .floating-tab,
  .floating-tab.support-tab,
  .floating-tab.accessibility-tab {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
  }

  .floating-actions.has-open {
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    transform: none !important;
    display: block !important;
    pointer-events: none !important;
  }

  .floating-panel,
  html[dir="ltr"] .floating-panel {
    inset-inline-start: max(12px, env(safe-area-inset-left)) !important;
    inset-inline-end: max(12px, env(safe-area-inset-right)) !important;
    width: auto !important;
    max-height: min(76dvh, 540px) !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }
}

/* Release 1.0.70: canonical Arial law and requested compact navigation structure. */
:root {
  --system-font: Arial, Helvetica, sans-serif !important;
}

html,
body,
body *,
body *::before,
body *::after,
button,
input,
select,
textarea,
option,
optgroup,
summary,
dialog,
table,
thead,
tbody,
tfoot,
tr,
th,
td,
label,
legend,
fieldset,
code,
pre,
kbd,
samp,
svg,
svg *,
canvas {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
}

.nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(8px, 1.4vw, 18px) !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-height: 72px !important;
  padding: 8px clamp(8px, 2vw, 26px) !important;
  overflow: clip !important;
  background: rgba(7, 13, 27, 0.96) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.brand {
  order: 100 !important;
  flex: 0 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  min-width: 0 !important;
  color: #f8fbff !important;
  font-size: clamp(20px, 2.2vw, 24px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.brand > span:last-child {
  max-width: min(260px, 34vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.brand-mark {
  flex: 0 0 auto !important;
  width: clamp(38px, 4vw, 44px) !important;
  height: clamp(38px, 4vw, 44px) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
}

.nav-links {
  order: 1 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  direction: rtl !important;
}

html[dir="ltr"] .nav-links {
  direction: ltr !important;
}

.nav-action,
.nav-theme-toggle,
.nav-logout button,
.language-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.11) !important;
  color: #f8fbff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03) !important;
}

.language-chip {
  width: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.18) !important;
}

.nav-theme-toggle {
  gap: 6px !important;
}

.customer-chip {
  display: inline-flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 96px !important;
  max-width: 128px !important;
  min-height: 52px !important;
  padding: 5px 10px !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
  color: #0b1b30 !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
}

.customer-chip small {
  color: #42536a !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.nav-account-link { order: 10 !important; }
.nav-admin-link { order: 20 !important; }
.nav-pricing-link { order: 30 !important; }
.nav-theme-toggle { order: 40 !important; }
.nav-logout { order: 50 !important; margin: 0 !important; }
.customer-chip { order: 60 !important; }
.language-chip { order: 70 !important; }

.nav-action:hover,
.nav-action:focus-visible,
.nav-theme-toggle:hover,
.nav-theme-toggle:focus-visible,
.nav-logout button:hover,
.nav-logout button:focus-visible,
.language-chip:hover,
.language-chip:focus-visible {
  color: #ffffff !important;
  border-color: rgba(125, 211, 252, 0.45) !important;
  background: rgba(255, 255, 255, 0.17) !important;
  outline: none !important;
}

@media (max-width: 760px) {
  .nav {
    min-height: 64px !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .brand {
    font-size: 18px !important;
    gap: 7px !important;
  }

  .brand > span:last-child {
    max-width: 37vw !important;
  }

  .brand-mark {
    width: 36px !important;
    height: 36px !important;
  }

  .nav-links {
    flex: 1 1 0 !important;
    gap: 6px !important;
    justify-content: flex-start !important;
  }

  .nav-action,
  .nav-theme-toggle,
  .nav-logout button,
  .language-chip {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
  }

  .language-chip {
    width: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
  }

  .customer-chip {
    min-width: 86px !important;
    max-width: 108px !important;
    min-height: 46px !important;
    padding: 4px 7px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 420px) {
  .nav {
    align-items: center !important;
  }

  .brand {
    max-width: 43vw !important;
  }

  .brand > span:last-child {
    max-width: 30vw !important;
  }

  .nav-links {
    max-width: calc(57vw - 12px) !important;
    gap: 5px !important;
  }

  .nav-action,
  .nav-theme-toggle,
  .nav-logout button {
    max-width: 78px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }

  .language-chip {
    width: 33px !important;
    min-width: 33px !important;
    font-size: 11px !important;
  }

  .customer-chip {
    min-width: 82px !important;
    max-width: 96px !important;
  }
}

/* Release 1.0.74: single source of truth for the navigation.
   Physical order is always LTR: languages, customer, logout, theme, pricing, admin, account, brand.
   Only the readable text direction changes by locale. */
.nav,
.nav * {
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

.nav {
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
  min-height: 72px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 8px 10px !important;
  background: rgba(7, 12, 28, 0.96) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  direction: ltr !important;
  overflow-x: clip !important;
}

html[dir="rtl"] .nav,
html[dir="ltr"] .nav {
  direction: ltr !important;
}

.nav-links {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  direction: ltr !important;
  overflow: visible !important;
}

.nav-left-cluster,
.nav-action-cluster {
  min-width: 0 !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  direction: ltr !important;
}

.nav-language-grid {
  order: 1 !important;
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, 42px) !important;
  grid-template-rows: repeat(2, 36px) !important;
  gap: 4px !important;
  direction: ltr !important;
}

.language-chip,
.nav-action,
.nav-theme-toggle,
.nav-logout button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #f8fbff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.language-chip {
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  direction: ltr !important;
}

.customer-chip {
  order: 2 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  min-height: 52px !important;
  padding: 5px 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
  color: #0b1b30 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.16 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
}

.customer-chip small {
  margin-top: 2px !important;
  color: #42536a !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.nav-logout {
  order: 3 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nav-theme-toggle {
  order: 4 !important;
  flex: 0 0 auto !important;
  gap: 6px !important;
}

.nav-pricing-link { order: 5 !important; }
.nav-admin-link { order: 6 !important; }
.nav-account-link { order: 7 !important; }

.brand {
  order: 8 !important;
  margin-inline-start: auto !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  color: #f8fbff !important;
  font-size: clamp(20px, 2vw, 24px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  direction: ltr !important;
}

.brand-mark {
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #06b6d4, #22c55e, #fde047) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 30px rgba(6, 182, 212, 0.22) !important;
}

.nav-action:hover,
.nav-action:focus-visible,
.nav-theme-toggle:hover,
.nav-theme-toggle:focus-visible,
.nav-logout button:hover,
.nav-logout button:focus-visible,
.language-chip:hover,
.language-chip:focus-visible,
.customer-chip:hover,
.customer-chip:focus-visible,
.brand:hover,
.brand:focus-visible {
  border-color: rgba(125, 211, 252, 0.58) !important;
  outline: none !important;
}

html[dir="rtl"] .customer-chip,
html[dir="rtl"] .nav-logout button,
html[dir="rtl"] .nav-theme-toggle,
html[dir="rtl"] .nav-action {
  direction: rtl !important;
  text-align: center !important;
}

html[dir="ltr"] .customer-chip,
html[dir="ltr"] .nav-logout button,
html[dir="ltr"] .nav-theme-toggle,
html[dir="ltr"] .nav-action {
  direction: ltr !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  .nav {
    align-items: flex-start !important;
    gap: 8px !important;
    min-height: 64px !important;
    padding: 8px !important;
  }

  .nav-links {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .nav-left-cluster,
  .nav-action-cluster {
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  .nav-language-grid {
    grid-template-columns: repeat(2, 34px) !important;
    grid-template-rows: repeat(2, 31px) !important;
  }

  .language-chip {
    width: 34px !important;
    min-width: 34px !important;
    height: 31px !important;
    min-height: 31px !important;
    font-size: 11px !important;
  }

  .language-chip,
  .nav-action,
  .nav-theme-toggle,
  .nav-logout button {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
  }

  .customer-chip {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    min-height: 46px !important;
    padding: 4px 7px !important;
    font-size: 11px !important;
  }

  .brand {
    max-width: 124px !important;
    gap: 7px !important;
    font-size: 18px !important;
  }

  .brand > span:first-child {
    max-width: 78px !important;
    white-space: normal !important;
  }

  .brand-mark {
    width: 36px !important;
    height: 36px !important;
  }
}

@media (max-width: 360px) {
  .nav-links {
    max-width: calc(100% - 118px) !important;
  }

  .nav-action-cluster {
    max-width: 182px !important;
  }

  .nav-action,
  .nav-theme-toggle,
  .nav-logout button {
    max-width: 82px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }

  .brand {
    max-width: 110px !important;
  }
}

/* Release 1.0.75: absolute Arial law.
   This must remain the final typography rule in the stylesheet. */
:root {
  --system-font: Arial, Helvetica, sans-serif !important;
}

html,
body,
body *,
body *::before,
body *::after,
button,
input,
select,
textarea,
option,
optgroup,
summary,
details,
dialog,
table,
thead,
tbody,
tfoot,
tr,
th,
td,
label,
legend,
fieldset,
code,
pre,
kbd,
samp,
small,
strong,
b,
i,
em,
a,
span,
p,
li,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
svg text {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
}

/* Release 1.0.109: contrast acceptance lock for light and dark reading surfaces. */
.nav,
.nav *,
.nav a,
.nav button,
.nav .nav-action,
.nav .nav-admin-link,
.nav .nav-pricing-link,
.nav .nav-theme-toggle,
.nav .nav-language-grid,
.nav .nav-language-grid a,
.nav .brand,
.nav .brand span {
  color: #f8fbff !important;
}

.nav .customer-pill {
  background: #f8fbff !important;
  color: #082032 !important;
}

.nav .customer-pill * {
  color: #082032 !important;
}

.home-search-cta,
.button.primary,
.checkout-panel .button.primary {
  background-color: #0f8f91 !important;
  color: #ffffff !important;
}

.floating-actions {
  color: #082032 !important;
}

.floating-tab,
.floating-panel,
.floating-panel * {
  color: #082032 !important;
}

.support-center,
.support-center .panel,
.support-center .step-card,
.legal-panel,
.legal-content,
.legal-document-body {
  color: #082032 !important;
}

.support-center p,
.support-center .muted,
.support-center .step-card p,
.legal-meta,
.legal-meta span,
.legal-content,
.legal-content *,
.legal-document-body,
.legal-document-body * {
  color: #24415a !important;
}

.support-center h1,
.support-center h2,
.support-center h3,
.legal-panel h1,
.legal-panel h2,
.legal-panel h3 {
  color: #082032 !important;
}

.support-center .step-card > span {
  background-color: #d9fbff !important;
  color: #064f44 !important;
}

body.home-theme-dark,
body.home-theme-dark .travel-home,
.travel-home[data-theme="dark"],
.home-redesign[data-theme="dark"] {
  background-color: #061827 !important;
  color: #f8fbff !important;
}

.travel-home[data-theme="dark"] .sales-hero,
.travel-home[data-theme="dark"] .sales-hero__content,
.travel-home[data-theme="dark"] .sales-copy,
.travel-home[data-theme="dark"] .how-it-works,
.travel-home[data-theme="dark"] .home-benefit-band,
.travel-home[data-theme="dark"] .home-faq,
.home-redesign[data-theme="dark"] .sales-hero,
.home-redesign[data-theme="dark"] .sales-hero__content,
.home-redesign[data-theme="dark"] .sales-copy,
.home-redesign[data-theme="dark"] .how-it-works,
.home-redesign[data-theme="dark"] .home-benefit-band,
.home-redesign[data-theme="dark"] .home-faq {
  background-color: #061827 !important;
  color: #f8fbff !important;
}

.travel-home[data-theme="dark"] .sales-copy h1,
.travel-home[data-theme="dark"] .sales-copy p,
.travel-home[data-theme="dark"] .home-section-heading h2,
.travel-home[data-theme="dark"] .home-section-heading p,
.travel-home[data-theme="dark"] .how-it-works h2,
.travel-home[data-theme="dark"] .how-it-works h3,
.travel-home[data-theme="dark"] .how-it-works p,
.travel-home[data-theme="dark"] .home-benefit-band h2,
.travel-home[data-theme="dark"] .home-benefit-band strong,
.travel-home[data-theme="dark"] .home-benefit-band p,
.travel-home[data-theme="dark"] .home-faq h2,
.travel-home[data-theme="dark"] .home-faq summary,
.travel-home[data-theme="dark"] .home-faq p,
.home-redesign[data-theme="dark"] .sales-copy h1,
.home-redesign[data-theme="dark"] .sales-copy p,
.home-redesign[data-theme="dark"] .home-section-heading h2,
.home-redesign[data-theme="dark"] .home-section-heading p,
.home-redesign[data-theme="dark"] .how-it-works h2,
.home-redesign[data-theme="dark"] .how-it-works h3,
.home-redesign[data-theme="dark"] .how-it-works p,
.home-redesign[data-theme="dark"] .home-benefit-band h2,
.home-redesign[data-theme="dark"] .home-benefit-band strong,
.home-redesign[data-theme="dark"] .home-benefit-band p,
.home-redesign[data-theme="dark"] .home-faq h2,
.home-redesign[data-theme="dark"] .home-faq summary,
.home-redesign[data-theme="dark"] .home-faq p {
  color: #f8fbff !important;
}

body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel *,
body.home-theme-dark .checkout-shell .checkout-panel,
body.home-theme-dark .checkout-shell .checkout-panel * {
  color: #082032 !important;
}

body.home-theme-dark .checkout-panel .muted,
body.home-theme-dark .checkout-panel small,
body.home-theme-dark .checkout-panel .checkout-offer-summary p {
  color: #24415a !important;
}

.plans-page .plan-capacity-control,
.plans-page .plan-capacity-control * {
  color: #f8fbff !important;
}

.plans-page .capacity-value {
  background-color: #ffffff !important;
  color: #082032 !important;
}

/* Release 1.0.109: component-level contrast fallbacks for pages without body route classes. */
.home-search-cta,
button.home-search-cta,
.button.primary,
button.button.primary,
.checkout-panel .button.primary,
.form-shell .button.primary {
  background: #0f7670 !important;
  color: #ffffff !important;
}

.button.primary.full,
button.button.primary.full,
.checkout-panel .button.primary.full,
.form-shell .button.primary.full {
  background: #0f7670 !important;
  color: #ffffff !important;
}

.travel-hero__eyebrow {
  background: #fff4d7 !important;
  color: #082032 !important;
}

.section-heading.centered p,
.section-heading p,
.steps-grid p,
.step-card p,
.panel p,
.checkout-panel p {
  color: #24415a !important;
}

.section-heading.centered span,
.section-heading.centered h1,
.section-heading.centered h2,
.section-heading h1,
.section-heading h2,
.step-card h3,
.checkout-panel h1,
.checkout-panel h2,
.checkout-panel h3 {
  color: #082032 !important;
}

.step-card > span,
.steps-grid .step-card > span {
  background: #d9fbff !important;
  color: #064f44 !important;
  font-weight: 800 !important;
}

.form-shell input,
.form-shell textarea,
.form-shell select,
.checkout-panel input,
.checkout-panel textarea,
.checkout-panel select {
  background: #ffffff !important;
  color: #082032 !important;
}

.form-shell input::placeholder,
.form-shell textarea::placeholder,
.checkout-panel input::placeholder,
.checkout-panel textarea::placeholder {
  color: #52687d !important;
  opacity: 1 !important;
}

.plan-capacity-control,
.plan-capacity-control * {
  color: #f8fbff !important;
}

.capacity-value,
output.capacity-value {
  background: #ffffff !important;
  color: #082032 !important;
}

/* Release 1.0.109: global readability contrast lock for light and dark modes. */
.nav {
  color: #f8fbff !important;
}

.nav,
.nav *,
.nav a,
.nav button {
  color: #f8fbff;
}

.nav .nav-session-card,
.nav .nav-session-card *,
.nav .nav-language-grid a,
.nav .nav-action,
.nav .nav-theme-toggle {
  color: #f8fbff !important;
}

.home-search-cta,
.button.primary,
button.primary,
a.button.primary {
  background-color: #087f8f !important;
  color: #ffffff !important;
}

.floating-actions {
  color: #082032 !important;
}

.floating-tab,
.floating-tab *,
.floating-panel,
.floating-panel * {
  color: #082032 !important;
}

.support-center p,
.support-center .muted,
.step-card p,
.form-shell p,
.form-shell .muted,
.legal-meta,
.legal-meta span,
.legal-document-body,
.legal-content,
.legal-content *,
.legal-panel p,
.legal-panel li {
  color: #183247 !important;
}

.support-center .step-card span {
  color: #075f6e !important;
  background-color: #d7f7fb !important;
}

.legal-meta span {
  background-color: #eef9fb !important;
  border-color: rgba(8, 127, 143, .22) !important;
}

.plans-page .plan-capacity-control {
  background-color: #082032 !important;
  color: #ffffff !important;
}

.plans-page .plan-capacity-control,
.plans-page .plan-capacity-control * {
  color: #ffffff !important;
}

.plans-page .capacity-value {
  color: #ffffff !important;
}

body.home-theme-dark,
body.home-theme-dark .travel-home,
body.home-theme-dark .home-redesign,
.travel-home[data-theme="dark"],
.home-redesign[data-theme="dark"] {
  background-color: #071522 !important;
  color: #f8fbff !important;
}

body.home-theme-dark .sales-hero,
body.home-theme-dark .how-it-works,
body.home-theme-dark .home-benefit-band,
body.home-theme-dark .home-faq,
.travel-home[data-theme="dark"] .sales-hero,
.travel-home[data-theme="dark"] .how-it-works,
.travel-home[data-theme="dark"] .home-benefit-band,
.travel-home[data-theme="dark"] .home-faq,
.home-redesign[data-theme="dark"] .sales-hero,
.home-redesign[data-theme="dark"] .how-it-works,
.home-redesign[data-theme="dark"] .home-benefit-band,
.home-redesign[data-theme="dark"] .home-faq {
  background-color: #071522 !important;
  color: #f8fbff !important;
}

body.home-theme-dark .sales-copy,
body.home-theme-dark .sales-copy *,
body.home-theme-dark .home-section-heading,
body.home-theme-dark .home-section-heading *,
body.home-theme-dark .how-grid,
body.home-theme-dark .how-grid *,
body.home-theme-dark .home-benefit-band,
body.home-theme-dark .home-benefit-band *,
body.home-theme-dark .home-faq,
body.home-theme-dark .home-faq *,
.travel-home[data-theme="dark"] .sales-copy,
.travel-home[data-theme="dark"] .sales-copy *,
.travel-home[data-theme="dark"] .home-section-heading,
.travel-home[data-theme="dark"] .home-section-heading *,
.travel-home[data-theme="dark"] .how-grid,
.travel-home[data-theme="dark"] .how-grid *,
.travel-home[data-theme="dark"] .home-benefit-band,
.travel-home[data-theme="dark"] .home-benefit-band *,
.travel-home[data-theme="dark"] .home-faq,
.travel-home[data-theme="dark"] .home-faq * {
  color: #f8fbff !important;
}

body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel *,
body.home-theme-dark .support-center p,
body.home-theme-dark .support-center .muted,
body.home-theme-dark .step-card p,
body.home-theme-dark .legal-meta,
body.home-theme-dark .legal-meta span,
body.home-theme-dark .legal-document-body,
body.home-theme-dark .legal-content,
body.home-theme-dark .legal-content *,
body.home-theme-dark .legal-panel p,
body.home-theme-dark .legal-panel li {
  color: #082032 !important;
}

body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel .checkout-section,
body.home-theme-dark .legal-panel,
body.home-theme-dark .step-card,
body.home-theme-dark .support-center .panel {
  background-color: rgba(255, 255, 255, .96) !important;
}

input::placeholder,
textarea::placeholder {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Release 1.0.76: visual Arial weight normalization.
   Heavy synthetic weights make Hebrew look like a different font; cap visible text to real Arial weights. */
body,
body *,
body *::before,
body *::after {
  font-synthesis: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
th,
summary,
legend,
label,
button,
a,
.button,
.home-search-cta,
.home-trip-card strong,
.home-trip-card__label,
.home-preflight h2,
.home-preflight-grid strong,
.travel-hero h1,
.travel-hero__eyebrow,
.date-range-field legend,
.date-range-display,
.date-range-calendar__header strong,
.date-range-calendar__grid button,
.destination-suggestions button,
.destination-plan-main h3,
.destination-plan-main > strong,
.destination-plan-option strong,
.destination-plan-option b,
.nav,
.nav *,
.brand,
.customer-chip,
.status-badge,
.mini-button {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

p,
li,
dd,
dt,
small,
span,
input,
select,
textarea,
option,
td,
.home-trip-card small,
.home-preflight p,
.travel-hero__content > p,
.destination-plan-main p,
.destination-plan-option em,
.date-range-calendar p {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.nav *,
.home-search-cta,
.button,
.language-chip,
.brand-mark,
.home-preflight-grid article[data-icon] span::before {
  font-weight: 700 !important;
}

/* Release 1.0.76b: high-specificity cleanup for legacy heavy selectors. */
fieldset.date-range-field,
fieldset.date-range-field legend,
.date-range-field,
.date-range-field legend,
.nav .customer-chip small,
.nav .nav-logout button,
.eyebrow,
.section-heading span,
.hero-punchline,
.flag,
.price,
.mega-price,
.floating-tab,
.floating-tab span,
.floating-panel strong,
.usage-progress,
.price-label,
.wizard-steps span,
.payment-method,
.status-badge,
.mini-button,
.home-destination-group summary strong,
.date-range-calendar__header strong,
.date-range-calendar__weekdays span,
.date-range-popover span,
.destination-plan-main > strong,
.destination-plan-main small,
.destination-plan-details li,
.destination-plan-option span,
.destination-plan-option strong,
.destination-plan-option b,
.destination-plan-option em {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

/* Release 1.0.77: guided travel purchase shell from the global UX plan. */
.nav {
  direction: ltr !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 18px !important;
  grid-auto-flow: column !important;
  padding: 14px clamp(14px, 4vw, 52px) !important;
  overflow: visible !important;
}

.nav .brand {
  order: 3 !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  min-width: max-content !important;
  width: max-content !important;
  margin-inline-start: 0 !important;
}

.nav .nav-links,
.nav .nav-session {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.nav .nav-links {
  order: 2 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

.nav .nav-session {
  order: 1 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-content: start !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

.nav .nav-action,
.nav .nav-theme-toggle,
.nav .nav-logout button,
.nav .language-chip,
.nav .customer-chip {
  min-height: 38px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}

.customer-ux-page {
  --text: #082032;
  --muted: #425466;
  --muted-2: #1f3a4d;
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(34px, 7vw, 86px) 0;
  color: var(--text);
}

.plans-hero {
  text-align: center;
  display: grid;
  gap: 12px;
  margin-bottom: 24px;
}

.plans-hero h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  color: #082032;
}

.plans-hero p {
  margin: 0 auto;
  max-width: 720px;
  color: #425466;
  font-size: clamp(16px, 2vw, 20px);
}

.customer-ux-page .eyebrow,
.checkout-shell .checkout-copy .eyebrow {
  color: #0f766e !important;
}

.plans-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
}

.plans-main {
  min-width: 0;
}

.plan-duration-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  overflow: visible;
  padding: 8px 0 18px;
}

.plan-duration-tabs a {
  flex: 0 0 auto;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(15, 23, 42, .12);
  color: var(--text);
  text-decoration: none;
}

.plan-duration-tabs a.is-active {
  background: linear-gradient(135deg, #0f766e, #38bdf8);
  color: #fff;
  border-color: transparent;
}

.plan-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.plan-result-card {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid rgba(14, 116, 144, .18);
  border-radius: 22px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 22px 48px rgba(15, 23, 42, .08);
}

.plan-result-card.is-recommended {
  border-color: rgba(14, 165, 233, .65);
  box-shadow: 0 26px 58px rgba(14, 165, 233, .16);
}

.plan-result-card__top {
  display: grid;
  gap: 8px;
}

.plan-result-card h2,
.plan-result-card p {
  margin: 0;
}

.plan-result-card__top > strong {
  color: #0e7490;
  font-size: 21px;
}

.muted-badge {
  background: #eaf7fb !important;
  color: #0f2a3d !important;
  border-color: rgba(14, 116, 144, .22) !important;
}

.plan-feature-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
}

.plan-feature-list li::before {
  content: "✓";
  margin-inline-end: 8px;
  color: #0f766e;
}

.plan-result-price {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding-top: 10px;
  border-top: 1px solid rgba(15, 23, 42, .1);
}

.plan-result-price strong {
  font-size: 30px;
  color: #082032;
}

.plans-summary {
  position: sticky;
  top: 100px;
}

.empty-state {
  padding: 32px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(15, 23, 42, .1);
  text-align: center;
  color: #082032;
}

.customer-ux-page label,
.customer-ux-page .balance-search-card label,
.customer-ux-page .order-summary-lines dt,
.customer-ux-page .order-summary-lines dd {
  color: #1f3a4d !important;
}

.customer-ux-page input,
.customer-ux-page select,
.customer-ux-page textarea {
  background-color: #ffffff !important;
  color: #082032 !important;
  border-color: rgba(14, 116, 144, .25) !important;
}

.button.primary,
.home-search-cta,
.checkout-panel .button.primary,
.customer-ux-page .button.primary {
  background: #0f766e !important;
  background-color: #0f766e !important;
  color: #ffffff !important;
}

.button.secondary,
.customer-ux-page .button.secondary {
  background: #eef8fb !important;
  background-color: #eef8fb !important;
  color: #0f2a3d !important;
  border-color: rgba(14, 116, 144, .22) !important;
}

.customer-ux-page .plan-duration-tabs a.is-active,
.customer-ux-page .recommended-badge {
  background: #0f766e !important;
  background-color: #0f766e !important;
  color: #ffffff !important;
  border-color: #0f766e !important;
}

body:not(.home-theme-dark) .footer,
body:not(.home-theme-dark) .footer p,
body:not(.home-theme-dark) .footer a,
body:not(.home-theme-dark) .footer strong {
  color: #334155 !important;
}

body:not(.home-theme-dark) .checkout-shell .checkout-copy h1,
body:not(.home-theme-dark) .checkout-shell .checkout-copy p,
body:not(.home-theme-dark) .checkout-shell .checkout-copy .eyebrow,
body:not(.home-theme-dark) .checkout-panel label,
body:not(.home-theme-dark) .checkout-panel p,
body:not(.home-theme-dark) .checkout-panel h2 {
  color: #082032 !important;
}

body:not(.home-theme-dark) .checkout-panel input,
body:not(.home-theme-dark) .checkout-panel select,
body:not(.home-theme-dark) .checkout-panel textarea {
  background-color: #ffffff !important;
  color: #082032 !important;
  border-color: rgba(14, 116, 144, .25) !important;
}

body.home-theme-dark .plan-duration-tabs a,
body.home-theme-dark .plan-result-card,
body.home-theme-dark .empty-state {
  background: rgba(15, 23, 42, .92);
  border-color: rgba(148, 163, 184, .28);
  color: #f8fafc;
}

body.home-theme-dark .customer-ux-page {
  --text: #f8fafc;
  --muted: #dbeafe;
  --muted-2: #e2e8f0;
  color: #f8fafc;
}

body.home-theme-dark .customer-ux-page .plans-hero h1,
body.home-theme-dark .customer-ux-page .plan-result-card h2,
body.home-theme-dark .customer-ux-page .plan-result-price strong,
body.home-theme-dark .customer-ux-page .plan-result-card__top > strong,
body.home-theme-dark .customer-ux-page .empty-state h2 {
  color: #f8fafc !important;
}

body.home-theme-dark .plan-result-card p,
body.home-theme-dark .plan-feature-list,
body.home-theme-dark .plans-hero p {
  color: #dbeafe;
}

@media (max-width: 920px) {
  .nav {
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    justify-items: center !important;
  }

  .nav .brand,
  .nav .nav-links,
  .nav .nav-session {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-self: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .plans-layout {
    grid-template-columns: 1fr;
  }

  .plans-summary {
    position: static;
    order: -1;
  }

  .plan-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .customer-ux-page {
    width: min(100% - 18px, 420px);
    padding-top: 28px;
  }

  .nav {
    gap: 10px !important;
    padding-inline: 10px !important;
  }

  .nav .nav-links,
  .nav .nav-session {
    gap: 7px !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle,
  .nav .nav-logout button,
  .nav .language-chip,
  .nav .customer-chip {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }

  .plan-results-grid {
    grid-template-columns: 1fr;
  }

  .plan-result-card {
    padding: 18px;
    border-radius: 18px;
  }
}

/* Release 1.0.79: final contrast safety layer for light cards and CTA buttons. */
.home-search-cta,
.button.primary,
a.button.primary,
button.button.primary,
.customer-ux-page .button.primary,
.checkout-panel .button.primary {
  background: #0f766e !important;
  background-color: #0f766e !important;
  color: #ffffff !important;
  border-color: #0f766e !important;
}

.customer-ux-page,
body:not(.home-theme-dark) .customer-ux-page {
  --text: #082032 !important;
  --muted: #425466 !important;
  --muted-2: #1f3a4d !important;
  color: #082032 !important;
}

.customer-ux-page .plans-hero h1,
.customer-ux-page .plans-hero p,
.customer-ux-page .plans-summary strong,
.customer-ux-page .plans-summary p,
.customer-ux-page .plan-result-card,
.customer-ux-page .plan-result-card h2,
.customer-ux-page .plan-result-card p,
.customer-ux-page .plan-result-card strong,
.customer-ux-page .plan-result-price span,
.customer-ux-page .plan-result-price strong,
.customer-ux-page .plan-feature-list,
.customer-ux-page .order-summary-lines,
.customer-ux-page .order-summary-lines dt,
.customer-ux-page .order-summary-lines dd {
  color: #082032 !important;
}

.customer-ux-page .plans-hero p,
.customer-ux-page .plan-result-card p,
.customer-ux-page .plan-feature-list,
.customer-ux-page .plans-summary p {
  color: #425466 !important;
}

.customer-ux-page .eyebrow,
.customer-ux-page .recommended-badge.muted-badge {
  background: #eaf7fb !important;
  background-color: #eaf7fb !important;
  color: #0f2a3d !important;
  border-color: rgba(14, 116, 144, .24) !important;
}

.customer-ux-page .recommended-badge:not(.muted-badge),
.customer-ux-page .plan-duration-tabs a.is-active {
  background: #0f766e !important;
  background-color: #0f766e !important;
  color: #ffffff !important;
  border-color: #0f766e !important;
}

body.home-theme-dark .customer-ux-page {
  --text: #082032 !important;
  --muted: #425466 !important;
  --muted-2: #1f3a4d !important;
  background: #eef8fb !important;
  background-color: #eef8fb !important;
  color: #082032 !important;
}

body.home-theme-dark .customer-ux-page .plans-hero h1,
body.home-theme-dark .customer-ux-page .plans-hero p,
body.home-theme-dark .customer-ux-page .plans-summary strong,
body.home-theme-dark .customer-ux-page .plans-summary p,
body.home-theme-dark .customer-ux-page .plan-result-card h2,
body.home-theme-dark .customer-ux-page .plan-result-card p,
body.home-theme-dark .customer-ux-page .plan-result-card strong,
body.home-theme-dark .customer-ux-page .plan-result-price span,
body.home-theme-dark .customer-ux-page .plan-result-price strong,
body.home-theme-dark .customer-ux-page .plan-feature-list,
body.home-theme-dark .customer-ux-page .order-summary-lines,
body.home-theme-dark .customer-ux-page .order-summary-lines dt,
body.home-theme-dark .customer-ux-page .order-summary-lines dd {
  color: #082032 !important;
}

body.home-theme-dark .customer-ux-page .plans-hero p,
body.home-theme-dark .customer-ux-page .plan-result-card p,
body.home-theme-dark .customer-ux-page .plan-feature-list,
body.home-theme-dark .customer-ux-page .plans-summary p {
  color: #425466 !important;
}

/* Release 1.0.97 checkout contrast lock: unified checkout uses light cards in both themes. */
.checkout-shell .checkout-copy .feature-list span {
  color: #f8fafc !important;
}

body:not(.home-theme-dark) .checkout-shell .checkout-copy .feature-list span {
  color: #082032 !important;
}

.checkout-panel,
.checkout-panel .checkout-summary,
.checkout-panel .checkout-offer-summary,
.checkout-panel .checkout-section,
body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel .checkout-summary,
body.home-theme-dark .checkout-panel .checkout-offer-summary,
body.home-theme-dark .checkout-panel .checkout-section {
  background: rgba(255, 255, 255, 0.94) !important;
  background-color: rgba(255, 255, 255, 0.94) !important;
  color: #082032 !important;
}

.checkout-panel h1,
.checkout-panel h2,
.checkout-panel h3,
.checkout-panel p,
.checkout-panel label,
.checkout-panel legend,
.checkout-panel span,
.checkout-panel dt,
.checkout-panel dd,
.checkout-panel strong,
.checkout-panel small,
body.home-theme-dark .checkout-panel h1,
body.home-theme-dark .checkout-panel h2,
body.home-theme-dark .checkout-panel h3,
body.home-theme-dark .checkout-panel p,
body.home-theme-dark .checkout-panel label,
body.home-theme-dark .checkout-panel legend,
body.home-theme-dark .checkout-panel span,
body.home-theme-dark .checkout-panel dt,
body.home-theme-dark .checkout-panel dd,
body.home-theme-dark .checkout-panel strong,
body.home-theme-dark .checkout-panel small {
  color: #082032 !important;
}

.checkout-panel .muted,
.checkout-panel .checkout-offer-summary p,
body.home-theme-dark .checkout-panel .muted,
body.home-theme-dark .checkout-panel .checkout-offer-summary p {
  color: #425466 !important;
}

body.home-theme-dark .checkout-shell .checkout-copy h1,
body.home-theme-dark .checkout-shell .checkout-copy p,
body.home-theme-dark .checkout-shell .checkout-copy .eyebrow,
body.home-theme-dark .checkout-panel label,
body.home-theme-dark .checkout-panel p,
body.home-theme-dark .checkout-panel h2 {
  color: #f8fafc !important;
}

/* Release 1.0.79: targeted high-contrast corrections from browser contrast audit. */
.brand-mark {
  background: #063b4b !important;
  background-color: #063b4b !important;
  color: #ffffff !important;
  text-shadow: none !important;
}

.home-section-heading span,
.section-heading span,
.how-it-works .home-section-heading span {
  color: #031827 !important;
  background: transparent !important;
  text-shadow: none !important;
}

body.home-theme-dark .checkout-shell {
  background: #071728 !important;
  background-color: #071728 !important;
  color: #f8fafc !important;
}

body.home-theme-dark .checkout-shell .checkout-panel,
body.home-theme-dark .checkout-shell .panel {
  background: #0f1f35 !important;
  background-color: #0f1f35 !important;
  border-color: rgba(142, 230, 216, .28) !important;
  color: #f8fafc !important;
}

body.home-theme-dark .checkout-shell input,
body.home-theme-dark .checkout-shell select,
body.home-theme-dark .checkout-shell textarea {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #082032 !important;
}

body.home-theme-dark .customer-ux-page .plan-result-card {
  background: #152238 !important;
  background-color: #152238 !important;
  border-color: rgba(142, 230, 216, .22) !important;
  color: #f8fafc !important;
}

body.home-theme-dark .customer-ux-page .plan-result-card h2,
body.home-theme-dark .customer-ux-page .plan-result-card p,
body.home-theme-dark .customer-ux-page .plan-result-card strong,
body.home-theme-dark .customer-ux-page .plan-result-price span,
body.home-theme-dark .customer-ux-page .plan-result-price strong,
body.home-theme-dark .customer-ux-page .plan-feature-list,
body.home-theme-dark .customer-ux-page .plan-feature-list li {
  color: #f8fafc !important;
}

body.home-theme-dark .customer-ux-page .plan-result-card p,
body.home-theme-dark .customer-ux-page .plan-feature-list,
body.home-theme-dark .customer-ux-page .plan-feature-list li,
body.home-theme-dark .customer-ux-page .plan-result-price span {
  color: #dbeafe !important;
}

body.home-theme-dark .customer-ux-page .plan-result-card .muted-badge,
body.home-theme-dark .customer-ux-page .plan-result-card .recommended-badge.muted-badge {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #082032 !important;
}

/* Release 1.0.82: readable phone and OTP digit fields from micro-mobile to wide desktop. */
.account-flow-dialog .phone-split-input {
  width: min(100%, 560px) !important;
  max-width: 100% !important;
  margin: clamp(8px, 2vw, 18px) auto clamp(14px, 2.4vw, 24px) !important;
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(24px, 42px))
    minmax(8px, 14px)
    repeat(7, minmax(24px, 42px)) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(3px, .9vw, 8px) !important;
  direction: ltr !important;
  overflow: visible !important;
}

.account-flow-dialog .phone-digit-group {
  display: contents !important;
}

.account-flow-dialog .phone-dash {
  min-width: 0 !important;
  width: auto !important;
  height: clamp(44px, 6vw, 58px) !important;
  display: grid !important;
  place-items: center !important;
  color: #0b1728 !important;
  font-size: clamp(20px, 4vw, 26px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.account-flow-dialog .phone-digit-group input[data-phone-digit],
.account-flow-dialog .otp-box {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: clamp(46px, 7vw, 58px) !important;
  min-height: clamp(46px, 7vw, 58px) !important;
  padding: 0 !important;
  display: block !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
  text-align: center !important;
  color: #0b1728 !important;
  -webkit-text-fill-color: #0b1728 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1.5px solid rgba(8, 145, 178, .34) !important;
  border-radius: 10px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(21px, 5.2vw, 30px) !important;
  font-weight: 800 !important;
  line-height: clamp(46px, 7vw, 58px) !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  caret-color: #0f8f9d !important;
  box-shadow: 0 8px 22px rgba(8, 145, 178, .08), inset 0 0 0 1px rgba(255, 255, 255, .7) !important;
}

.account-flow-dialog .phone-digit-group input[data-phone-digit]:focus,
.account-flow-dialog .otp-box:focus {
  border-color: rgba(20, 184, 166, .92) !important;
  box-shadow: 0 0 0 4px rgba(20, 184, 166, .18), 0 10px 26px rgba(8, 145, 178, .12) !important;
  outline: none !important;
}

.account-flow-dialog .otp-box-row {
  width: min(100%, 320px) !important;
  margin: clamp(8px, 2vw, 18px) auto clamp(10px, 2vw, 18px) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(48px, 64px)) !important;
  justify-content: center !important;
  gap: clamp(7px, 2vw, 12px) !important;
  direction: ltr !important;
}

.account-flow-dialog .otp-box {
  aspect-ratio: auto !important;
  height: clamp(54px, 11vw, 68px) !important;
  min-height: clamp(54px, 11vw, 68px) !important;
  border-radius: 12px !important;
  font-size: clamp(28px, 8vw, 38px) !important;
  line-height: clamp(54px, 11vw, 68px) !important;
}

.account-flow-dialog .demo-otp {
  display: block !important;
  margin: 2px auto 12px !important;
  color: #0f3c52 !important;
  -webkit-text-fill-color: #0f3c52 !important;
  font-size: clamp(12px, 3.4vw, 14px) !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.home-redesign[data-theme="dark"] .account-flow-dialog .phone-digit-group input[data-phone-digit],
.home-redesign[data-theme="dark"] .account-flow-dialog .otp-box {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #061a2f !important;
  background-color: #061a2f !important;
  border-color: rgba(142, 230, 216, .42) !important;
}

.home-redesign[data-theme="dark"] .account-flow-dialog .phone-dash,
.home-redesign[data-theme="dark"] .account-flow-dialog .demo-otp {
  color: #f8fbff !important;
  -webkit-text-fill-color: #f8fbff !important;
}

@media (max-width: 340px) {
  .account-flow-dialog .phone-split-input {
    grid-template-columns:
      repeat(3, minmax(22px, 1fr))
      8px
      repeat(7, minmax(22px, 1fr)) !important;
    gap: 2px !important;
  }

  .account-flow-dialog .phone-digit-group input[data-phone-digit] {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    line-height: 44px !important;
  }

  .account-flow-dialog .phone-dash {
    height: 44px !important;
    font-size: 18px !important;
  }

  .account-flow-dialog .otp-box-row {
    grid-template-columns: repeat(4, minmax(44px, 56px)) !important;
    gap: 6px !important;
  }
}

/* Release 1.0.83: compact global navigation that stays usable on real mobile browsers. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.nav,
.nav *,
.site-nav,
.site-nav * {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

.nav {
  width: 100% !important;
  max-width: 100vw !important;
  direction: ltr !important;
  box-sizing: border-box !important;
}

.nav .brand {
  white-space: nowrap !important;
  min-width: 0 !important;
}

.nav .brand-text {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 760px) {
  .nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand session"
      "actions actions" !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 7px !important;
    padding: 8px 10px !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nav .brand {
    grid-area: brand !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: 100% !important;
    font-size: clamp(16px, 4.6vw, 20px) !important;
    line-height: 1.05 !important;
    color: #f8fbff !important;
  }

  .nav .brand-mark {
    width: 31px !important;
    height: 31px !important;
    min-width: 31px !important;
    flex: 0 0 31px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .nav .nav-session,
  .nav .nav-left-cluster {
    grid-area: session !important;
    justify-self: end !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    min-width: 0 !important;
    max-width: min(58vw, 210px) !important;
    overflow: hidden !important;
  }

  .nav .nav-language-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 24px) !important;
    gap: 3px !important;
    flex: 0 0 auto !important;
    min-width: 51px !important;
  }

  .nav .language-chip {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
  }

  .nav .customer-chip {
    width: auto !important;
    min-width: 58px !important;
    max-width: 86px !important;
    min-height: 34px !important;
    padding: 4px 7px !important;
    border-radius: 8px !important;
    display: grid !important;
    place-items: center !important;
    gap: 1px !important;
    overflow: hidden !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
  }

  .nav .customer-chip strong,
  .nav .customer-chip small {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .nav .customer-chip small {
    font-size: 9px !important;
  }

  .nav .nav-logout {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  .nav .nav-logout button {
    width: auto !important;
    max-width: 76px !important;
    min-height: 26px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .nav .nav-links,
  .nav .nav-action-cluster {
    grid-area: actions !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 0 3px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .nav .nav-links::-webkit-scrollbar,
  .nav .nav-action-cluster::-webkit-scrollbar {
    display: none !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle,
  .nav .nav-pricing-link,
  .nav .nav-admin-link {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .nav .nav-action-icon,
  .nav .nav-theme-toggle svg,
  .nav .nav-action svg {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
  }
}

@media (max-width: 390px) {
  .nav {
    padding: 7px 8px !important;
    gap: 6px !important;
  }

  .nav .brand {
    gap: 6px !important;
    font-size: clamp(15px, 4.4vw, 17px) !important;
  }

  .nav .brand-mark {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    flex-basis: 29px !important;
    font-size: 9px !important;
  }

  .nav .nav-session,
  .nav .nav-left-cluster {
    max-width: 57vw !important;
    gap: 4px !important;
  }

  .nav .nav-language-grid {
    grid-template-columns: repeat(2, 22px) !important;
    gap: 3px !important;
    min-width: 47px !important;
  }

  .nav .language-chip {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    font-size: 9px !important;
  }

  .nav .customer-chip {
    max-width: 78px !important;
    min-width: 54px !important;
    min-height: 32px !important;
    padding: 3px 6px !important;
    font-size: 9px !important;
  }

  .nav .customer-chip small {
    font-size: 8px !important;
  }

  .nav .nav-logout button {
    max-width: 66px !important;
    min-height: 24px !important;
    padding: 0 6px !important;
    font-size: 9px !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle,
  .nav .nav-pricing-link,
  .nav .nav-admin-link {
    min-height: 26px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 340px) {
  .nav .nav-session,
  .nav .nav-left-cluster {
    max-width: 52vw !important;
  }

  .nav .customer-chip {
    display: none !important;
  }
}

/* Release 1.0.83 follow-up: mobile nav acceptance cleanup. */
@media (max-width: 760px) {
  .nav {
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "session brand"
      "actions actions" !important;
    background: #071728 !important;
    background-color: #071728 !important;
    color: #f8fbff !important;
  }

  .nav .brand {
    justify-self: end !important;
    color: #f8fbff !important;
    font-weight: 700 !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  .nav .brand > span:first-child {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(14px, 4.3vw, 18px) !important;
    line-height: 1 !important;
  }

  .nav .nav-session,
  .nav .nav-left-cluster {
    justify-self: start !important;
    max-width: min(34vw, 112px) !important;
    overflow: visible !important;
  }

  .nav .customer-chip,
  .nav .nav-logout {
    display: none !important;
  }

  .nav .nav-action-cluster {
    justify-content: center !important;
    overflow: hidden !important;
    min-height: 30px !important;
    height: auto !important;
  }

  .nav .nav-action[href^="/top-up"],
  .nav .nav-action[href^="/check-balance"],
  .nav .nav-action[href^="/support-center"],
  .nav .nav-pricing-link,
  .nav .nav-admin-link {
    display: none !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle,
  .nav .language-chip,
  .nav .customer-chip,
  .nav .nav-logout button {
    font-weight: 700 !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #173552 !important;
    background-color: #173552 !important;
    border-color: rgba(255, 255, 255, .24) !important;
  }

  .nav .nav-action:hover,
  .nav .nav-theme-toggle:hover,
  .nav .nav-action:focus-visible,
  .nav .nav-theme-toggle:focus-visible {
    background: #0f8f9d !important;
    background-color: #0f8f9d !important;
    color: #ffffff !important;
  }

  .nav .language-chip {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #243447 !important;
    background-color: #243447 !important;
    border-color: rgba(255, 255, 255, .2) !important;
  }

  .nav .customer-chip,
  .nav .nav-logout button {
    color: #0b1728 !important;
    -webkit-text-fill-color: #0b1728 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
  }
}

@media (max-width: 390px) {
  .nav .nav-action-cluster {
    gap: 4px !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle {
    min-height: 26px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
  }
}

/* Release 1.0.84: requested nav labels and destination field emphasis. */
.booking-search .destination-autocomplete > span,
.booking-search .date-range-field > legend {
  color: var(--sales-ink, #082032) !important;
  font-weight: 700 !important;
  font-size: clamp(12px, 2vw, 13px) !important;
  line-height: 1.2 !important;
}

.home-redesign[data-theme="dark"] .booking-search .destination-autocomplete > span,
.home-redesign[data-theme="dark"] .booking-search .date-range-field > legend {
  color: #f8fbff !important;
}

/* Release 1.0.85: date-driven plan selection uses data-volume cards instead of duration tabs. */
.plans-page.customer-ux-page,
.plans-page.customer-ux-page * {
  font-family: Arial, Helvetica, sans-serif !important;
  box-sizing: border-box;
}

.plans-page.customer-ux-page {
  width: min(1160px, calc(100% - 28px)) !important;
  padding-block: 34px 58px !important;
}

.plans-page .plans-hero {
  max-width: 860px;
  margin-inline: auto;
  margin-bottom: 22px;
  padding-inline: 8px;
}

.plans-page .plans-hero h1 {
  font-size: 46px !important;
  line-height: 1.08 !important;
  color: #082032 !important;
}

.plans-page .plans-hero p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: #334155 !important;
}

.plans-page .plans-layout {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
  gap: 22px !important;
  align-items: start;
}

.plans-page .plans-main {
  min-width: 0;
  display: grid;
  gap: 18px;
}

.plan-trip-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
  gap: 16px;
  align-items: center;
  padding: 22px;
  border: 1px solid rgba(14, 116, 144, .18);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 12%, rgba(251, 191, 36, .18), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(236, 254, 255, .86));
  box-shadow: 0 22px 54px rgba(15, 23, 42, .1);
}

.plan-trip-panel__copy {
  display: grid;
  gap: 8px;
}

.plan-trip-panel__copy h2,
.plan-trip-panel__copy p,
.plan-trip-facts span,
.plan-trip-facts strong,
.plan-trip-facts small {
  margin: 0;
}

.plan-trip-panel__copy h2 {
  font-size: 26px !important;
  line-height: 1.2 !important;
  color: #082032 !important;
}

.plan-trip-panel__copy p {
  color: #425466 !important;
  line-height: 1.65 !important;
}

.plan-trip-facts {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 18px;
  background: #082032;
  color: #ffffff;
  text-align: center;
}

.plan-trip-facts span,
.plan-trip-facts small {
  color: rgba(255, 255, 255, .82) !important;
}

.plan-trip-facts strong {
  color: #ffffff !important;
  font-size: 24px !important;
}

.plan-volume-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.plan-volume-selector {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 18px 0;
}

.plan-volume-selector a {
  min-width: 112px;
  display: grid;
  gap: 3px;
  justify-items: center;
  padding: 12px 16px;
  border-radius: 18px;
  border: 1px solid rgba(10, 91, 135, .22);
  background: #fff;
  color: #08233d;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(8, 39, 70, .08);
}

.plan-volume-selector a.is-active {
  border-color: rgba(0, 156, 177, .7);
  background: linear-gradient(135deg, #06345a, #12b8bd);
  color: #fff;
}

.plan-volume-selector strong,
.plan-volume-selector span {
  font-family: Arial, sans-serif !important;
}

.plan-volume-selector strong {
  font-size: 18px;
  font-weight: 700;
}

.plan-volume-selector span {
  font-size: 14px;
  font-weight: 700;
}

.plan-volume-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 14px;
  padding: 20px;
  border: 1px solid rgba(14, 116, 144, .2);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 20px 46px rgba(15, 23, 42, .08);
}

.plan-volume-card.is-selected {
  border-color: rgba(15, 118, 110, .7);
  box-shadow: 0 24px 58px rgba(15, 118, 110, .16);
}

.plan-volume-card__head {
  display: grid;
  gap: 8px;
}

.plan-volume-card__head h2 {
  margin: 0;
  font-size: 42px !important;
  line-height: 1 !important;
  color: #082032 !important;
}

.plan-volume-card__head p,
.plan-volume-card__body {
  margin: 0;
  color: #425466 !important;
  line-height: 1.55 !important;
}

.plan-volume-card .plan-feature-list {
  padding: 14px;
  border-radius: 16px;
  background: #eef8fb;
}

.plan-volume-card .plan-result-price {
  align-items: center;
}

.plan-volume-card .plan-result-price span {
  color: #425466 !important;
}

.plan-volume-card .plan-result-price strong {
  color: #082032 !important;
  font-size: 28px !important;
}

.plans-page .plans-summary {
  position: sticky;
  top: 92px;
  width: 100%;
  max-width: 320px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .96) !important;
  border-color: rgba(14, 116, 144, .18) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}

.plans-page .plans-summary,
.plans-page .plans-summary * {
  color: #082032 !important;
}

.plans-page .plans-summary p,
.plans-page .order-summary-lines dt {
  color: #425466 !important;
}

body.home-theme-dark .plans-page.customer-ux-page {
  background: transparent !important;
  color: #f8fafc !important;
}

body.home-theme-dark .plans-page .plans-hero h1,
body.home-theme-dark .plans-page .plan-trip-panel__copy h2,
body.home-theme-dark .plans-page .plan-volume-card__head h2,
body.home-theme-dark .plans-page .plan-result-price strong {
  color: #f8fafc !important;
}

body.home-theme-dark .plans-page .plans-hero p,
body.home-theme-dark .plans-page .plan-trip-panel__copy p,
body.home-theme-dark .plans-page .plan-volume-card__head p,
body.home-theme-dark .plans-page .plan-volume-card__body,
body.home-theme-dark .plans-page .plan-feature-list,
body.home-theme-dark .plans-page .plan-result-price span {
  color: #dbeafe !important;
}

body.home-theme-dark .plans-page .plan-trip-panel,
body.home-theme-dark .plans-page .plan-volume-card,
body.home-theme-dark .plans-page .plans-summary {
  background: #0f1f35 !important;
  border-color: rgba(142, 230, 216, .28) !important;
}

body.home-theme-dark .plans-page .plan-volume-selector a {
  background: rgba(255, 255, 255, .92);
  color: #071f36;
  border-color: rgba(125, 211, 252, .35);
}

body.home-theme-dark .plans-page .plan-volume-selector a.is-active {
  background: linear-gradient(135deg, #0b4b73, #11b7bd);
  color: #fff;
}

body.home-theme-dark .plans-page .plan-volume-card .plan-feature-list,
body.home-theme-dark .plans-page .plan-trip-facts {
  background: #071728 !important;
}

body.home-theme-dark .plans-page .plans-summary,
body.home-theme-dark .plans-page .plans-summary * {
  color: #f8fafc !important;
}

body.home-theme-dark .plans-page .plans-summary p,
body.home-theme-dark .plans-page .order-summary-lines dt {
  color: #dbeafe !important;
}

@media (max-width: 980px) {
  .plans-page .plans-layout {
    grid-template-columns: 1fr !important;
  }

  .plans-page .plans-summary {
    position: static;
    max-width: none;
    order: -1;
  }
}

@media (max-width: 640px) {
  .plans-page.customer-ux-page {
    width: min(100% - 16px, 440px) !important;
    padding-block: 24px 42px !important;
  }

  .plans-page .plans-hero h1 {
    font-size: 31px !important;
  }

  .plans-page .plans-hero p {
    font-size: 15px !important;
  }

  .plan-trip-panel {
    grid-template-columns: 1fr;
    padding: 18px;
    border-radius: 20px;
  }

  .plan-trip-panel__copy h2 {
    font-size: 22px !important;
  }

  .plan-volume-grid {
    grid-template-columns: 1fr;
  }

  .plan-volume-card {
    padding: 18px;
    border-radius: 20px;
  }

  .plan-volume-card__head h2 {
    font-size: 36px !important;
  }
}

@media (max-width: 360px) {
  .plans-page.customer-ux-page {
    width: calc(100% - 10px) !important;
  }

  .plans-page .plans-hero h1 {
    font-size: 27px !important;
  }

  .plan-trip-panel,
  .plan-volume-card,
  .plans-page .plans-summary {
    padding: 14px !important;
    border-radius: 17px !important;
  }
}

/* Release 1.0.85: final contrast lock for public plans and regional pages. */
.plans-page .plan-trip-panel {
  background: linear-gradient(135deg, #ffffff, #eefcff) !important;
}

.plans-page .plan-trip-panel__copy p {
  color: #24384a !important;
}

body.home-theme-dark .plans-page.customer-ux-page,
body.home-theme-dark section.customer-ux-page.plans-page {
  background: #eef8f3 !important;
  color: #082032 !important;
}

body.home-theme-dark .plans-page .plans-hero h1,
body.home-theme-dark .plans-page .plans-hero p,
body.home-theme-dark .plans-page .plan-trip-panel__copy h2,
body.home-theme-dark .plans-page .plan-trip-panel__copy p,
body.home-theme-dark .plans-page .plan-result-card h2,
body.home-theme-dark .plans-page .plan-result-card p,
body.home-theme-dark .plans-page .plan-result-card strong,
body.home-theme-dark .plans-page .plan-result-price span,
body.home-theme-dark .plans-page .plan-result-price strong,
body.home-theme-dark .plans-page .plan-feature-list,
body.home-theme-dark .plans-page .plans-summary,
body.home-theme-dark .plans-page .plans-summary *,
body.home-theme-dark .plans-page .order-summary-lines,
body.home-theme-dark .plans-page .order-summary-lines dt,
body.home-theme-dark .plans-page .order-summary-lines dd {
  color: #082032 !important;
}

body.home-theme-dark .plans-page .plans-hero p,
body.home-theme-dark .plans-page .plan-result-card p,
body.home-theme-dark .plans-page .plan-result-price span,
body.home-theme-dark .plans-page .plan-feature-list,
body.home-theme-dark .plans-page .plans-summary p,
body.home-theme-dark .plans-page .order-summary-lines dt {
  color: #24384a !important;
}

body.home-theme-dark .plans-page .plan-trip-panel,
body.home-theme-dark .plans-page .plan-volume-card,
body.home-theme-dark .plans-page .plan-result-card,
body.home-theme-dark .plans-page .plans-summary {
  background: #ffffff !important;
  border-color: rgba(14, 116, 144, .22) !important;
}

body.home-theme-dark .plans-page .plan-volume-card .plan-feature-list {
  background: #eef8fb !important;
}

body.home-theme-dark .plans-page .plan-trip-facts {
  background: #082032 !important;
}

body.home-theme-dark .plans-page .plan-trip-facts,
body.home-theme-dark .plans-page .plan-trip-facts * {
  color: #ffffff !important;
}

body.home-theme-dark .plans-page .plan-volume-card .plan-volume-card__head h2,
body.home-theme-dark .plans-page .plan-volume-card .plan-volume-card__head p,
body.home-theme-dark .plans-page .plan-volume-card .plan-volume-card__body,
body.home-theme-dark .plans-page .plan-volume-card .plan-feature-list,
body.home-theme-dark .plans-page .plan-volume-card .plan-feature-list li,
body.home-theme-dark .plans-page .plan-volume-card .plan-result-price span,
body.home-theme-dark .plans-page .plan-volume-card .plan-result-price strong {
  color: #082032 !important;
}

body.home-theme-dark .plans-page .plan-volume-card .plan-volume-card__head p,
body.home-theme-dark .plans-page .plan-volume-card .plan-volume-card__body,
body.home-theme-dark .plans-page .plan-volume-card .plan-feature-list,
body.home-theme-dark .plans-page .plan-volume-card .plan-feature-list li,
body.home-theme-dark .plans-page .plan-volume-card .plan-result-price span {
  color: #24384a !important;
}

/* Release 1.0.86: polished order summary card on the dated plans page. */
.plans-page .plans-order-card {
  isolation: isolate;
  overflow: hidden;
  display: grid !important;
  gap: 16px !important;
  padding: 22px !important;
  text-align: initial !important;
}

.plans-page .plans-order-card::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 5px;
  background: linear-gradient(90deg, #0f766e, #38bdf8);
}

.plans-page .plans-order-card .order-summary-heading {
  display: grid !important;
  gap: 6px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(14, 116, 144, .14) !important;
}

.plans-page .plans-order-card .order-summary-heading > span {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eaf7fb !important;
  color: #0f2a3d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.plans-page .plans-order-card .order-summary-heading > strong {
  color: #082032 !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
}

.plans-page .plans-order-card .order-summary-lines {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

.plans-page .plans-order-card .order-summary-lines > div {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 5px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(14, 116, 144, .12) !important;
  border-radius: 14px !important;
  background: #f7fcfd !important;
}

.plans-page .plans-order-card .order-summary-lines dt,
.plans-page .plans-order-card .order-summary-lines dd {
  margin: 0 !important;
  line-height: 1.35 !important;
}

.plans-page .plans-order-card .order-summary-lines dt {
  color: #425466 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.plans-page .plans-order-card .order-summary-lines dd {
  color: #082032 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}

.plans-summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, #082032, #0f766e);
  box-shadow: 0 18px 36px rgba(15, 118, 110, .18);
}

.plans-summary-total span {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.plans-summary-total strong {
  color: #ffffff !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

.plans-page .plans-order-card > p {
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: #eef8fb !important;
  color: #24384a !important;
  line-height: 1.55 !important;
}

body.home-theme-dark .plans-page .plans-order-card .order-summary-heading > span,
body.home-theme-dark .plans-page .plans-order-card .order-summary-lines > div,
body.home-theme-dark .plans-page .plans-order-card > p {
  background: #eef8fb !important;
}

body.home-theme-dark .plans-page .plans-order-card .order-summary-heading > strong,
body.home-theme-dark .plans-page .plans-order-card .order-summary-lines dd {
  color: #082032 !important;
}

body.home-theme-dark .plans-page .plans-order-card .order-summary-lines dt,
body.home-theme-dark .plans-page .plans-order-card > p {
  color: #24384a !important;
}

@media (max-width: 980px) {
  .plans-page .plans-order-card {
    width: min(100%, 780px) !important;
    max-width: 780px !important;
    margin-inline: auto !important;
  }

  .plans-page .plans-order-card .order-summary-lines {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .plans-page .plans-order-card .order-summary-lines > div {
    grid-template-columns: 1fr !important;
    align-content: start !important;
  }
}

@media (max-width: 640px) {
  .plans-page .plans-order-card {
    padding: 18px !important;
    gap: 13px !important;
  }

  .plans-page .plans-order-card .order-summary-lines {
    grid-template-columns: 1fr !important;
  }

  .plans-page .plans-order-card .order-summary-heading > strong {
    font-size: 24px !important;
  }

  .plans-summary-total strong {
    font-size: 26px !important;
  }
}

.plans-page .plans-order-card .plans-summary-total,
body.home-theme-dark .plans-page .plans-order-card .plans-summary-total {
  background: linear-gradient(135deg, #082032, #0f766e) !important;
}

.plans-page .plans-order-card .plans-summary-total span,
.plans-page .plans-order-card .plans-summary-total strong,
body.home-theme-dark .plans-page .plans-order-card .plans-summary-total span,
body.home-theme-dark .plans-page .plans-order-card .plans-summary-total strong {
  color: #ffffff !important;
}

.plans-page .plans-order-card .plans-summary-total span,
body.home-theme-dark .plans-page .plans-order-card .plans-summary-total span {
  color: rgba(255, 255, 255, .84) !important;
}

.plans-page .plans-order-card .summary-date-value {
  direction: ltr !important;
  unicode-bidi: plaintext !important;
  text-align: start !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Release 1.0.91: whole-GB trip plan selector with customer-controlled +/- volume. */
.plans-page .plans-main .plan-capacity-selector {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, .8fr);
  gap: 18px;
  align-items: center;
  padding: 26px;
  border: 1px solid rgba(14, 116, 144, .18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 90% 0%, rgba(56, 189, 248, .18), transparent 35%),
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(239, 252, 255, .9));
  box-shadow: 0 24px 58px rgba(8, 32, 50, .1);
}

.plan-capacity-copy,
.plan-capacity-price {
  display: grid;
  gap: 8px;
}

.plan-capacity-copy h2 {
  margin: 0 !important;
  color: #082032 !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  line-height: 1.05 !important;
}

.plan-capacity-copy p,
.plan-capacity-price small {
  margin: 0 !important;
  color: #425466 !important;
  line-height: 1.6 !important;
}

.plan-capacity-control {
  display: grid;
  grid-template-columns: 60px minmax(130px, 1fr) 60px;
  gap: 12px;
  align-items: center;
  justify-items: center;
  padding: 14px;
  border-radius: 22px;
  background: #082032;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.capacity-step {
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 17px;
  background: linear-gradient(135deg, #0ea5a9, #38bdf8);
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 16px 28px rgba(14, 165, 169, .22);
}

.capacity-step:disabled {
  cursor: not-allowed;
  opacity: .42;
  box-shadow: none;
}

.capacity-value {
  min-width: 120px;
  color: #fff !important;
  font-size: clamp(38px, 5vw, 58px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-align: center;
}

.plan-capacity-price {
  justify-self: stretch;
  padding: 18px;
  border-radius: 20px;
  background: #eef8fb;
  border: 1px solid rgba(14, 116, 144, .12);
}

.plan-capacity-price span {
  color: #425466 !important;
  font-weight: 700 !important;
}

.plan-capacity-price strong {
  color: #082032 !important;
  font-size: clamp(32px, 4vw, 46px) !important;
  line-height: 1 !important;
}

.plan-capacity-selector .plan-feature-list {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none;
}

.plan-capacity-selector .plan-feature-list li {
  padding: 13px 14px;
  border-radius: 16px;
  background: #f7fcfd;
  color: #24384a !important;
  font-weight: 700;
  line-height: 1.45;
}

.plan-capacity-selector > .button {
  grid-column: 1 / -1;
  width: min(100%, 520px);
  justify-self: center;
}

.plans-date-update {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid rgba(14, 116, 144, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .78);
}

.plans-date-update label {
  display: grid;
  gap: 6px;
  margin: 0;
}

.plans-date-update label span {
  color: #24384a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.plans-date-update input {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(14, 116, 144, .22);
  border-radius: 14px;
  color: #082032 !important;
  background: #fff !important;
  font-weight: 700;
}

.plans-date-update .date-range-separator {
  color: #082032 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  padding-bottom: 10px;
}

.plans-date-update .button {
  min-height: 46px;
  white-space: nowrap;
}

body.home-theme-dark .plans-page .plans-main .plan-capacity-selector,
body.home-theme-dark .plans-page .plans-date-update {
  background: #ffffff !important;
  border-color: rgba(14, 116, 144, .22) !important;
}

body.home-theme-dark .plans-page .plan-capacity-copy h2,
body.home-theme-dark .plans-page .plan-capacity-price strong,
body.home-theme-dark .plans-page .capacity-step,
body.home-theme-dark .plans-page .plans-date-update input {
  color: #082032 !important;
}

body.home-theme-dark .plans-page .capacity-value,
body.home-theme-dark .plans-page .capacity-step:not(:disabled) {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  .plans-page .plans-main .plan-capacity-selector {
    grid-template-columns: 1fr;
    padding: 20px;
    border-radius: 22px;
  }

  .plan-capacity-selector .plan-feature-list {
    grid-template-columns: 1fr;
  }

  .plans-date-update {
    grid-template-columns: 1fr;
  }

  .plans-date-update .date-range-separator {
    display: none;
  }
}

@media (max-width: 380px) {
  .plans-page .plans-main .plan-capacity-selector {
    padding: 15px !important;
    gap: 14px;
  }

  .plan-capacity-control {
    grid-template-columns: 48px minmax(88px, 1fr) 48px;
    gap: 8px;
    padding: 10px;
    border-radius: 18px;
  }

  .capacity-step {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    font-size: 24px;
  }

  .capacity-value {
    min-width: 86px;
    font-size: 34px !important;
  }
}

/* Release 1.0.95: acceptance contrast lock for dated trip capacity selection. */
.plans-page .plans-main .plan-capacity-selector {
  background: #f8fbfd !important;
  color: #08243a !important;
}

.plans-page .plan-capacity-copy p,
.plans-page .plan-capacity-selector .plan-feature-list,
.plans-page .plan-capacity-selector .plan-feature-list li,
.plans-page .plan-capacity-price span,
.plans-page .plan-capacity-price small {
  color: #12324a !important;
}

.plans-page .plan-capacity-selector .plan-feature-list li {
  background: #ffffff !important;
  border: 1px solid rgba(7, 95, 66, 0.18) !important;
}

body.home-theme-dark .plans-page .plans-main .plan-capacity-selector {
  background: #09263a !important;
  color: #f8fafc !important;
  border-color: rgba(125, 211, 252, 0.35) !important;
}

body.home-theme-dark .plans-page .plan-capacity-copy h2,
body.home-theme-dark .plans-page .plan-capacity-copy p,
body.home-theme-dark .plans-page .plan-capacity-selector .plan-feature-list,
body.home-theme-dark .plans-page .plan-capacity-selector .plan-feature-list li,
body.home-theme-dark .plans-page .plan-capacity-price span,
body.home-theme-dark .plans-page .plan-capacity-price small,
body.home-theme-dark .plans-page .plan-capacity-price strong {
  color: #f8fafc !important;
}

body.home-theme-dark .plans-page .plan-capacity-selector .plan-feature-list li {
  background: rgba(7, 31, 48, 0.86) !important;
  border-color: rgba(125, 211, 252, 0.32) !important;
}

body.home-theme-dark .plans-page .plan-capacity-price {
  background: rgba(7, 31, 48, 0.9) !important;
  border-color: rgba(125, 211, 252, 0.32) !important;
}

/* Checkout offer pricing summary */
.checkout-offer-summary {
  width: 100%;
  margin: 16px 0 10px;
  padding: 16px;
  border: 1px solid rgba(10, 126, 149, .18);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(232, 250, 255, .76));
  color: #071d33;
  box-shadow: 0 16px 34px rgba(7, 29, 51, .08);
}

.checkout-offer-summary,
.checkout-offer-summary * {
  font-family: Arial, sans-serif !important;
}

.checkout-offer-summary__title {
  font-weight: 700;
  font-size: 17px;
  color: #07233d;
  margin-bottom: 12px;
}

.checkout-offer-summary dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.checkout-offer-summary dl div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(7, 29, 51, .08);
}

.checkout-offer-summary dt,
.checkout-offer-summary dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
}

.checkout-offer-summary dt {
  color: #456075;
  font-weight: 800;
}

.checkout-offer-summary dd {
  color: #071d33;
  font-weight: 900;
  text-align: end;
}

.checkout-offer-summary__totals {
  margin-top: 12px !important;
  padding: 12px;
  border-radius: 14px;
  background: rgba(218, 248, 252, .68);
}

.checkout-offer-summary__totals div:last-child {
  border-bottom: 0;
}

.checkout-offer-summary__grand {
  padding-top: 12px !important;
}

.checkout-offer-summary__grand dt,
.checkout-offer-summary__grand dd {
  color: #06213a;
  font-size: 17px;
}

.checkout-offer-summary p {
  margin: 12px 0 0;
  color: #456075;
  font-size: 13px;
  line-height: 1.55;
}

body.home-theme-dark .checkout-offer-summary {
  background: linear-gradient(145deg, rgba(245,251,255,.98), rgba(219, 246, 253, .9));
  color: #071d33;
  border-color: rgba(47, 190, 210, .32);
}

@media (max-width: 480px) {
  .checkout-offer-summary {
    padding: 13px;
    border-radius: 14px;
  }

  .checkout-offer-summary dl div {
    align-items: flex-start;
    gap: 8px;
  }

  .checkout-offer-summary dt,
  .checkout-offer-summary dd {
    font-size: 13px;
  }
}

/* Release 1.0.97 final checkout readable text lock. Keep this block last. */
body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel *:not(.button):not(button):not(a.button),
.checkout-panel,
.checkout-panel *:not(.button):not(button):not(a.button) {
  color: #082032 !important;
}

body.home-theme-dark .checkout-panel .muted,
body.home-theme-dark .checkout-panel small,
body.home-theme-dark .checkout-panel .checkout-offer-summary p,
.checkout-panel .muted,
.checkout-panel small,
.checkout-panel .checkout-offer-summary p {
  color: #425466 !important;
}

body.home-theme-dark .checkout-otp-card .demo-otp,
.checkout-otp-card .demo-otp {
  background: #ecfdf5 !important;
  border: 1px solid rgba(15, 118, 110, .22) !important;
  color: #0f5132 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}

body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel .checkout-section,
body.home-theme-dark .checkout-panel .checkout-summary,
body.home-theme-dark .checkout-shell .checkout-panel,
body.home-theme-dark .checkout-shell .panel.checkout-panel,
.checkout-panel,
.checkout-panel .checkout-section,
.checkout-panel .checkout-summary {
  background: rgba(255, 255, 255, .96) !important;
  background-color: rgba(255, 255, 255, .96) !important;
}

body.home-theme-dark .checkout-shell .checkout-panel label,
body.home-theme-dark .checkout-shell .checkout-panel p,
body.home-theme-dark .checkout-shell .checkout-panel h2,
body.home-theme-dark .checkout-shell .checkout-panel span,
body.home-theme-dark .checkout-shell .checkout-panel strong,
body.home-theme-dark .checkout-shell .checkout-panel small {
  color: #082032 !important;
}

/* Release 1.0.99: checkout demo OTP must be readable and copyable for QA. */
.checkout-otp-card .checkout-demo-code,
body.home-theme-dark .checkout-otp-card .checkout-demo-code {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  justify-self: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(8, 145, 178, .28) !important;
  color: #082032 !important;
  box-shadow: 0 10px 28px rgba(7, 38, 61, .08) !important;
}

.checkout-otp-card .checkout-demo-code span,
.checkout-otp-card .checkout-demo-code strong,
body.home-theme-dark .checkout-otp-card .checkout-demo-code span,
body.home-theme-dark .checkout-otp-card .checkout-demo-code strong {
  color: #082032 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}

.checkout-otp-card .checkout-demo-code strong,
body.home-theme-dark .checkout-otp-card .checkout-demo-code strong {
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #dcfce7 !important;
  color: #14532d !important;
  letter-spacing: .08em !important;
}

.checkout-otp-card .checkout-demo-code button,
body.home-theme-dark .checkout-otp-card .checkout-demo-code button {
  appearance: none !important;
  border: 1px solid rgba(15, 118, 110, .22) !important;
  border-radius: 999px !important;
  background: #0f766e !important;
  color: #ffffff !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  font: 900 12px Arial, sans-serif !important;
  cursor: pointer !important;
}

@media (max-width: 420px) {
  .checkout-otp-card .checkout-demo-code {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    border-radius: 16px !important;
  }

  .checkout-otp-card .checkout-demo-code span {
    grid-column: 1 / -1 !important;
  }
}

/* Release 1.0.103: simplified data-first plans flow with editable summary dates. */
.plans-page .plans-summary[hidden],
.plans-date-popover[hidden] {
  display: none !important;
}

.plans-page .plans-layout:has(.plans-summary[hidden]) {
  grid-template-columns: minmax(0, 860px) !important;
  justify-content: center !important;
}

.plans-page .plan-trip-panel {
  align-items: center !important;
  gap: 18px !important;
}

.plans-page .plan-trip-panel__copy h2 {
  font-size: clamp(24px, 3vw, 36px) !important;
}

.plans-page .plans-main .plan-capacity-selector {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
}

.plans-page .plan-capacity-copy {
  max-width: 620px;
  margin-inline: auto;
}

.plans-page .plan-capacity-copy h2 {
  font-size: clamp(28px, 4vw, 46px) !important;
}

.plans-page .plan-capacity-control {
  width: min(100%, 520px);
  margin-inline: auto;
}

.plans-page .plan-capacity-price {
  width: min(100%, 520px);
  margin-inline: auto;
  text-align: center;
}

.plans-page .summary-edit-button {
  display: grid;
  width: 100%;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}

.plans-page .summary-edit-button small {
  color: #0f8ea3 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.plans-page .summary-edit-button:hover .summary-date-value {
  color: #0f8ea3 !important;
}

.plans-page .plans-date-popover {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid rgba(14, 116, 144, .22);
  border-radius: 18px;
  background: #f8fbfd !important;
  box-shadow: 0 18px 34px rgba(8, 32, 50, .1);
}

.plans-page .plans-date-popover > strong {
  grid-column: 1 / -1;
  color: #082032 !important;
  font-size: 15px !important;
}

.plans-page .plans-date-popover label {
  display: grid;
  gap: 6px;
  margin: 0;
}

.plans-page .plans-date-popover input {
  min-height: 46px;
}

body.home-theme-dark .plans-page .summary-edit-button small {
  color: #7dd3fc !important;
}

body.home-theme-dark .plans-page .plans-date-popover {
  background: #ffffff !important;
}

body.home-theme-dark .plans-page .plans-date-popover,
body.home-theme-dark .plans-page .plans-date-popover * {
  color: #082032 !important;
}

@media (max-width: 900px) {
  .plans-page .plans-layout,
  .plans-page .plans-layout:has(.plans-summary[hidden]) {
    grid-template-columns: 1fr !important;
  }

  .plans-page .plans-date-popover {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .plans-page .plans-main .plan-capacity-selector {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .plans-page .plan-capacity-copy h2 {
    font-size: 28px !important;
  }

  .plans-page .plan-capacity-control {
    grid-template-columns: 48px minmax(0, 1fr) 48px;
  }
}

/* Release 1.0.104: compact plans page, no duplicate copy, trip facts opens date editing. */
.plans-page .plan-trip-panel {
  grid-template-columns: minmax(0, 420px) !important;
  justify-content: center !important;
  max-width: 860px;
  margin-inline: auto;
}

.plans-page .plan-trip-facts {
  appearance: none !important;
  border: 1px solid rgba(125, 211, 252, .28) !important;
  width: min(100%, 420px);
  margin-inline: auto;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.plans-page .plan-trip-facts:hover,
.plans-page .plan-trip-facts:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(45, 212, 191, .55) !important;
  box-shadow: 0 22px 42px rgba(8, 32, 50, .18);
  outline: none;
}

.plans-page .plans-date-popover {
  width: min(100%, 720px);
  margin-inline: auto;
}

.plans-page .plans-hero + .plans-layout {
  margin-top: 18px;
}

.plans-page .plan-capacity-copy .recommended-badge {
  display: none !important;
}

/* Release 1.0.105: plans page has no order summary; the dark trip card opens a visual date-range calendar. */
.plans-page .plans-layout,
.plans-page .plans-layout:has(.plans-summary[hidden]) {
  grid-template-columns: minmax(0, 860px) !important;
  justify-content: center !important;
}

.plans-page .plans-summary,
.plans-page .plans-order-card {
  display: none !important;
}

.plans-date-range-control {
  position: relative;
  width: min(100%, 430px);
  margin-inline: auto;
}

.plans-date-range-control .plan-trip-facts {
  width: 100%;
}

.plans-date-calendar-popover {
  position: absolute !important;
  inset-inline: auto !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  top: calc(100% + 12px) !important;
  bottom: auto !important;
  width: min(92vw, 390px) !important;
  max-height: min(78vh, 520px);
  overflow: auto;
  z-index: 30 !important;
}

.plans-date-calendar-popover .date-range-calendar {
  width: 100%;
}

body.home-theme-dark .plans-date-calendar-popover,
body.home-theme-dark .plans-date-calendar-popover * {
  color: #082032 !important;
}

@media (max-width: 420px) {
  .plans-date-range-control {
    width: 100%;
  }

  .plans-date-calendar-popover {
    width: min(92vw, 330px) !important;
  }
}

/* Release 1.0.107: stronger trip destination emphasis and aligned plan blocks. */
.plans-page .plan-trip-panel {
  grid-template-columns: minmax(0, 860px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.plans-date-range-control {
  width: min(100%, 860px) !important;
}

.plans-date-range-control .plan-trip-facts {
  min-height: 190px;
  justify-content: center;
  gap: 14px;
  padding: clamp(22px, 4vw, 34px) !important;
}

.plans-page .plan-trip-facts span {
  color: #ffffff !important;
  font-size: clamp(44px, 8vw, 72px) !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.plans-page .plan-trip-facts strong {
  font-size: clamp(24px, 4vw, 36px) !important;
  font-weight: 900 !important;
}

.plans-page .plan-trip-facts small {
  font-size: clamp(15px, 2.2vw, 20px) !important;
  font-weight: 800 !important;
}

@media (max-width: 420px) {
  .plans-date-range-control .plan-trip-facts {
    min-height: 156px;
  }

  .plans-page .plan-trip-facts span {
    font-size: clamp(34px, 13vw, 48px) !important;
  }
}

/* Release 1.0.108: final global Arial-only font law for every system surface. */
:root,
html,
body,
body *,
body *::before,
body *::after,
button,
input,
select,
textarea,
option,
summary,
dialog,
pre,
code,
kbd,
samp,
svg text {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
}

/* Release 1.0.109: final contrast override, kept after the final Arial law. */
.home-search-cta,
button.home-search-cta,
.button.primary,
button.primary,
button.button.primary,
a.button.primary {
  background: #0f7670 !important;
  background-image: none !important;
  color: #ffffff !important;
}

.travel-hero__eyebrow {
  background: #fff4d7 !important;
  background-image: none !important;
  color: #082032 !important;
}

.capacity-value,
output.capacity-value,
.plans-page .capacity-value {
  background: #ffffff !important;
  background-image: none !important;
  color: #082032 !important;
}

.section-heading.centered p,
.section-heading p,
.step-card p,
.steps-grid p {
  color: #24415a !important;
}

.section-heading.centered span,
.section-heading.centered h1,
.section-heading.centered h2,
.section-heading h1,
.section-heading h2 {
  color: #082032 !important;
}

.step-card > span,
.steps-grid .step-card > span {
  background: #d9fbff !important;
  color: #064f44 !important;
  font-weight: 800 !important;
}

body.home-theme-dark .section-heading.centered span,
body.home-theme-dark .section-heading.centered h1,
body.home-theme-dark .section-heading.centered h2,
body.home-theme-dark .section-heading.centered p,
body.home-theme-dark .section-heading h1,
body.home-theme-dark .section-heading h2,
body.home-theme-dark .section-heading p {
  color: #f8fbff !important;
}

body.home-theme-dark .form-shell .checkout-panel,
body.home-theme-dark .form-shell .checkout-panel *,
body.home-theme-dark .checkout-panel,
body.home-theme-dark .checkout-panel * {
  color: #082032 !important;
}

body.home-theme-dark .form-shell .checkout-panel,
body.home-theme-dark .checkout-panel,
body.home-theme-dark .step-card {
  background: #ffffff !important;
}

body.home-theme-dark .form-shell input,
body.home-theme-dark .form-shell textarea,
body.home-theme-dark .form-shell select,
body.home-theme-dark .checkout-panel input,
body.home-theme-dark .checkout-panel textarea,
body.home-theme-dark .checkout-panel select {
  background: #ffffff !important;
  color: #082032 !important;
}

body.home-theme-dark .button.primary,
body.home-theme-dark button.primary,
body.home-theme-dark button.button.primary,
body.home-theme-dark .checkout-panel .button.primary,
body.home-theme-dark .form-shell .button.primary {
  background: #0f7670 !important;
  background-image: none !important;
  color: #ffffff !important;
}

/* Release 1.0.109: high-specificity contrast closures for legacy important rules. */
.travel-home .home-search-cta,
.home-redesign .home-search-cta,
.travel-home button.home-search-cta,
.home-redesign button.home-search-cta {
  background: #0f7670 !important;
  background-image: none !important;
  color: #ffffff !important;
}

.travel-home .travel-hero__eyebrow,
.home-redesign .travel-hero__eyebrow,
.travel-home[data-theme="dark"] .travel-hero__eyebrow,
.home-redesign[data-theme="dark"] .travel-hero__eyebrow,
body.home-theme-dark .travel-hero__eyebrow {
  background: #fff4d7 !important;
  background-image: none !important;
  color: #082032 !important;
}

.plan-capacity-control .capacity-value,
.plan-capacity-control output.capacity-value,
.plans-page .plan-capacity-control .capacity-value,
body.home-theme-dark .plan-capacity-control .capacity-value {
  background: #ffffff !important;
  background-image: none !important;
  color: #082032 !important;
}

/* Release 1.0.110: keep language switchers compact but usable on mobile. */
.nav .language-chip,
a.language-chip {
  min-width: 34px !important;
  min-height: 34px !important;
  width: auto !important;
  height: 34px !important;
  padding: 0 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}

@media (max-width: 360px) {
  .nav .language-chip,
  a.language-chip {
    min-width: 32px !important;
    min-height: 32px !important;
    height: 32px !important;
    padding-inline: 8px !important;
  }
}

/* Release 1.0.111: admin pricing simulator is part of the protected admin cockpit. */
.admin-pricing-simulator .pricing-admin-grid {
  align-items: stretch;
  grid-template-columns: minmax(320px, 1.15fr) minmax(280px, 0.85fr);
}

.admin-pricing-simulator .pricing-admin-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 12px;
}

.admin-pricing-simulator .pricing-admin-form label {
  color: #082032;
  font-weight: 800;
}

.admin-pricing-simulator .pricing-admin-form input {
  min-height: 46px;
  border-radius: 12px;
}

.admin-pricing-simulator .pricing-admin-form .inline-check {
  grid-column: span 2;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 32, 50, 0.14);
  border-radius: 12px;
  background: #f7fcff;
}

.admin-pricing-simulator .pricing-admin-form .inline-check input {
  min-height: auto;
}

.admin-pricing-simulator .pricing-result-card {
  border: 1px solid rgba(14, 118, 112, 0.22);
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(135deg, #ffffff, #eefbff);
  box-shadow: 0 18px 48px rgba(8, 32, 50, 0.08);
}

.admin-pricing-simulator .pricing-result-hero {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, #073452, #0f9f9a);
  color: #ffffff;
}

.admin-pricing-simulator .pricing-result-hero span,
.admin-pricing-simulator .pricing-result-hero small {
  color: #e7fbff;
  font-weight: 800;
}

.admin-pricing-simulator .pricing-result-hero strong {
  color: #ffffff;
  font-size: clamp(2.1rem, 5vw, 3.8rem);
  line-height: 1;
}

.admin-pricing-simulator .invoice-summary {
  margin-block: 14px;
}

.admin-pricing-simulator .invoice-summary div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(8, 32, 50, 0.1);
  padding: 10px 0;
}

.admin-pricing-simulator .invoice-summary dt,
.admin-pricing-simulator .invoice-summary dd {
  color: #082032;
  font-weight: 800;
}

@media (max-width: 900px) {
  .admin-pricing-simulator .pricing-admin-grid,
  .admin-pricing-simulator .pricing-admin-form {
    grid-template-columns: 1fr;
  }

  .admin-pricing-simulator .pricing-admin-form .inline-check {
    grid-column: auto;
  }
}

/* Release 1.0.111: contrast closure for dark-mode modal and how-it-works cards. */
.home-redesign[data-theme="dark"] .account-flow-dialog,
.home-redesign[data-theme="dark"] .account-flow-dialog .home-checkout-flow,
.home-redesign[data-theme="dark"] .account-flow-dialog .checkout-flow-main,
.home-redesign[data-theme="dark"] .account-flow-dialog .checkout-step-panel,
body.home-theme-dark .account-flow-dialog,
body.home-theme-dark .account-flow-dialog .home-checkout-flow,
body.home-theme-dark .account-flow-dialog .checkout-flow-main,
body.home-theme-dark .account-flow-dialog .checkout-step-panel {
  background: #ffffff !important;
  color: #082032 !important;
}

.home-redesign[data-theme="dark"] .account-flow-dialog .home-section-heading span,
.home-redesign[data-theme="dark"] .account-flow-dialog .home-section-heading h2,
.home-redesign[data-theme="dark"] .account-flow-dialog .home-section-heading h3,
.home-redesign[data-theme="dark"] .account-flow-dialog .home-section-heading p,
.home-redesign[data-theme="dark"] .account-flow-dialog .checkout-step-panel h3,
.home-redesign[data-theme="dark"] .account-flow-dialog .checkout-step-panel p,
body.home-theme-dark .account-flow-dialog .home-section-heading span,
body.home-theme-dark .account-flow-dialog .home-section-heading h2,
body.home-theme-dark .account-flow-dialog .home-section-heading h3,
body.home-theme-dark .account-flow-dialog .home-section-heading p,
body.home-theme-dark .account-flow-dialog .checkout-step-panel h3,
body.home-theme-dark .account-flow-dialog .checkout-step-panel p {
  color: #082032 !important;
}

.home-redesign[data-theme="dark"] .home-section-heading > span,
body.home-theme-dark .home-section-heading > span {
  color: #ffe8ac !important;
}

.home-redesign[data-theme="dark"] .how-grid article,
body.home-theme-dark .step-card {
  background: #ffffff !important;
  color: #082032 !important;
}

.home-redesign[data-theme="dark"] .how-grid article h3,
.home-redesign[data-theme="dark"] .how-grid article p,
body.home-theme-dark .step-card h3,
body.home-theme-dark .step-card p,
body.home-theme-dark .how-grid article h3,
body.home-theme-dark .how-grid article p {
  color: #082032 !important;
}

.home-redesign[data-theme="dark"] .how-grid article > span,
body.home-theme-dark .step-card > span,
body.home-theme-dark .how-grid article > span {
  background: #d9fbff !important;
  color: #064f44 !important;
}

/* Release 1.0.113: admin management cockpit, compact controls, summaries, and no horizontal table scrolling. */
.admin-table-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 12px;
}

.admin-table-summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #d8e2ef;
  border-radius: 999px;
  background: #f8fbff;
  color: #435066;
  font-size: 12px;
  font-weight: 900;
}

.admin-table-summary strong {
  color: #082032;
  font-size: 14px;
}

.admin-table-tools .date-filter {
  display: inline-grid;
  gap: 3px;
  color: #536176;
  font-size: 11px;
  font-weight: 900;
}

.admin-table-tools .date-filter input {
  min-height: 38px;
  max-width: 145px;
  border-radius: 7px;
}

.admin-workspace .table-wrap {
  overflow-x: visible !important;
}

.admin-workspace .ops-table {
  width: 100%;
}

.admin-workspace .ops-table input,
.admin-workspace .ops-table .mini-button {
  width: 100%;
  min-width: 0;
}

@media (max-width: 1600px) {
  .admin-workspace .ops-table,
  .admin-workspace .ops-table thead,
  .admin-workspace .ops-table tbody,
  .admin-workspace .ops-table tr,
  .admin-workspace .ops-table th,
  .admin-workspace .ops-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .admin-workspace .ops-table {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 12px;
  }

  .admin-workspace .ops-table thead {
    display: none !important;
  }

  .admin-workspace .ops-table tbody {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 10px;
  }

  .admin-workspace .ops-table tr {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid #d8e2ef;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(31,45,61,.05);
  }

  .admin-workspace .ops-table tr[hidden] {
    display: none !important;
  }

  .admin-workspace .ops-table td {
    display: grid !important;
    grid-template-columns: minmax(92px, .34fr) minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px;
    border-bottom: 1px solid #edf1f7;
    color: #172033;
    text-align: start !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .admin-workspace .ops-table td:last-child {
    border-bottom: 0;
  }

  .admin-workspace .ops-table td::before {
    content: attr(data-label);
    color: #647084;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
  }

  .admin-workspace .ops-table td[colspan]::before {
    display: none;
    content: "";
  }
}

@media (max-width: 720px) {
  .admin-table-tools {
    grid-template-columns: 1fr 1fr;
  }

  .admin-table-tools .admin-search,
  .admin-table-tools .admin-filter,
  .admin-table-tools .date-filter,
  .admin-table-tools [data-export-table] {
    grid-column: 1 / -1;
  }

  .admin-table-tools .date-filter input {
    max-width: 100%;
  }

  .admin-workspace .ops-table tbody {
    grid-template-columns: 1fr;
  }

  .admin-workspace .ops-table td {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}
/* Release 1.0.119: growth blocks, family tools, and rebuilt two-row mobile navigation. */
.home-growth-grid {
  width: min(1180px, calc(100% - 32px));
  margin: 28px auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.growth-rotator-card,
.family-card {
  border: 1px solid rgba(34, 166, 179, .22);
  border-radius: 24px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 22px 64px rgba(9, 36, 63, .12);
  padding: 20px;
  color: #09243f;
}

.rotator-stack {
  position: relative;
  min-height: 156px;
}

.rotator-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease;
}

.rotator-item.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.promotions-card .rotator-item,
.testimonials-card .rotator-item {
  display: grid;
  gap: 10px;
  align-content: center;
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(232, 246, 249, .92), rgba(255, 249, 235, .92));
  border: 1px solid rgba(34, 166, 179, .18);
  color: #09243f;
  text-decoration: none;
}

.promotions-card .rotator-item strong,
.testimonials-card .rotator-item strong {
  color: #08233d;
  font-weight: 900;
}

.testimonials-card .rotator-item p {
  margin: 0;
  color: #31445b;
  line-height: 1.55;
}

.testimonial-rating {
  color: #f2a900;
  font-size: 18px;
  letter-spacing: 1px !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.quick-testimonial-form,
.affiliate-phone-share,
.family-add-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 16px;
}

.quick-testimonial-form label,
.star-rating-field,
.family-add-form label {
  display: grid;
  gap: 6px;
  font-weight: 850;
  color: #102a43;
}

.star-rating-field {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: 400;
}

.star-rating-picker {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid #b8dbe4;
  border-radius: 14px;
  background: #fff;
  font-weight: 400;
}

.star-rating-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  clip-path: inset(50%);
  pointer-events: none;
}

.star-rating-picker label {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #b8cad5;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  transition: color .15s ease, transform .15s ease;
}

.star-rating-picker label:hover,
.star-rating-picker label:hover ~ label,
.star-rating-picker input:focus-visible + label,
.star-rating-picker input:checked ~ label {
  color: #f2a900;
}

.star-rating-picker label:hover {
  transform: translateY(-1px) scale(1.06);
}

.quick-testimonial-form input,
.quick-testimonial-form select,
.affiliate-phone-share input,
.family-add-form input {
  min-height: 44px;
  border: 1px solid #b8dbe4;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  color: #09243f;
  font-weight: 800;
}

.quick-testimonial-form .testimonial-body-field {
  gap: 0;
}

.affiliate-quick-card .home-section-heading p,
.affiliate-program-note,
.affiliate-mini-summary {
  color: #31445b;
}

.family-card {
  margin: 26px 0;
}

.family-add-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.family-member-list,
.family-checkout-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.family-member-row,
.family-checkout-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(34, 166, 179, .22);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(232, 246, 249, .7);
  color: #09243f;
}

.family-member-row div,
.family-checkout-row span {
  display: grid;
  gap: 3px;
}

.family-checkout-row em {
  font-style: normal;
  font-weight: 900;
  color: #0f8f90;
}

.inline-admin-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

body.home-theme-dark .growth-rotator-card,
body.home-theme-dark .family-card,
.home-redesign[data-theme="dark"] .growth-rotator-card {
  background: rgba(8, 28, 49, .94);
  color: #f6fbff;
  border-color: rgba(125, 219, 229, .35);
}

body.home-theme-dark .promotions-card .rotator-item,
body.home-theme-dark .testimonials-card .rotator-item,
.home-redesign[data-theme="dark"] .promotions-card .rotator-item,
.home-redesign[data-theme="dark"] .testimonials-card .rotator-item {
  background: rgba(12, 44, 70, .96);
  color: #f6fbff;
}

body.home-theme-dark .promotions-card .rotator-item strong,
body.home-theme-dark .testimonials-card .rotator-item strong,
body.home-theme-dark .testimonials-card .rotator-item p,
body.home-theme-dark .affiliate-mini-summary,
body.home-theme-dark .affiliate-program-note,
body.home-theme-dark .affiliate-quick-card .home-section-heading p {
  color: #f6fbff;
}

@media (max-width: 980px) {
  .home-growth-grid {
    grid-template-columns: 1fr;
  }

  .quick-testimonial-form,
  .affiliate-phone-share,
  .family-add-form {
    grid-template-columns: 1fr;
  }

  .family-member-row,
  .family-checkout-row {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .nav {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "langs session brand"
      "langs links links" !important;
    align-items: center !important;
    gap: 8px 10px !important;
    padding: 8px 10px !important;
    overflow: hidden !important;
    direction: ltr !important;
  }

  html[dir="ltr"] .nav {
    grid-template-areas:
      "brand session langs"
      "links links langs" !important;
  }

  .nav .brand {
    grid-area: brand !important;
    justify-self: end !important;
    min-width: 0 !important;
    font-size: clamp(14px, 4vw, 20px) !important;
    white-space: nowrap !important;
  }

  html[dir="ltr"] .nav .brand {
    justify-self: start !important;
  }

  .nav .brand-mark {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 12px !important;
  }

  .nav .nav-session {
    grid-area: session !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  .nav .nav-language-grid {
    grid-area: langs !important;
    width: 62px !important;
    min-width: 62px !important;
    display: grid !important;
    grid-template-columns: repeat(2, 28px) !important;
    gap: 4px !important;
    justify-content: start !important;
  }

  .nav .language-chip {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nav .nav-links {
    grid-area: links !important;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  html[dir="ltr"] .nav .nav-links {
    justify-content: flex-start !important;
  }

  .nav .nav-action,
  .nav .nav-theme-toggle,
  .nav .nav-logout button {
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nav .customer-chip {
    max-width: 132px !important;
    min-height: 38px !important;
    padding: 5px 8px !important;
    border-radius: 12px !important;
    font-size: 10px !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }

  .nav .customer-chip small {
    font-size: 10px !important;
  }

  .nav .nav-logout {
    margin: 0 !important;
  }
}

/* Release 1.0.119 nav hard reset: one physical layout, readable on every viewport. */
.nav[data-global-nav] {
  direction: ltr !important;
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
  grid-template-areas: "langs session links brand" !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-height: 86px !important;
  padding: 12px clamp(10px, 3vw, 52px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.nav[data-global-nav] .nav-language-grid {
  grid-area: langs !important;
  display: grid !important;
  grid-template-columns: repeat(2, 34px) !important;
  gap: 6px !important;
  width: 74px !important;
  min-width: 74px !important;
  justify-self: start !important;
}

.nav[data-global-nav] .language-chip {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.nav[data-global-nav] .nav-session {
  grid-area: session !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  height: auto !important;
}

.nav[data-global-nav] .customer-chip {
  width: auto !important;
  min-width: 0 !important;
  max-width: 150px !important;
  min-height: 38px !important;
  height: auto !important;
  padding: 6px 10px !important;
  border-radius: 14px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  font-size: 12px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: #0d2236 !important;
  background: #f7fbff !important;
}

.nav[data-global-nav] .customer-chip small {
  font-size: 11px !important;
  line-height: 1.1 !important;
  color: #39536d !important;
}

.nav[data-global-nav] .nav-logout {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

.nav[data-global-nav] .nav-links {
  grid-area: links !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  direction: ltr !important;
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .nav-logout button {
  min-width: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  max-width: 150px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: #f8fbff !important;
  background: rgba(4, 20, 38, .88) !important;
  border-color: rgba(205, 231, 242, .45) !important;
}

.nav[data-global-nav] .brand {
  grid-area: brand !important;
  justify-self: end !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  min-width: 0 !important;
  max-width: min(280px, 26vw) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  direction: ltr !important;
  font-size: clamp(19px, 1.8vw, 24px) !important;
  font-weight: 700 !important;
}

.nav[data-global-nav] .brand > span:first-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.nav[data-global-nav] .brand-mark {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  font-size: 12px !important;
}

@media (max-width: 900px) {
  .nav[data-global-nav] {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "langs session brand"
      "langs links links" !important;
    gap: 7px 8px !important;
    min-height: 96px !important;
    padding: 8px 10px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    width: 62px !important;
    min-width: 62px !important;
    grid-template-columns: repeat(2, 28px) !important;
    gap: 4px !important;
  }

  .nav[data-global-nav] .language-chip {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    font-size: 10px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 45vw !important;
    font-size: clamp(14px, 4vw, 19px) !important;
    gap: 6px !important;
  }

  .nav[data-global-nav] .brand-mark {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    font-size: 10px !important;
  }

  .nav[data-global-nav] .nav-session {
    justify-content: center !important;
  }

  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout button {
    max-width: 108px !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 7px !important;
    font-size: 9px !important;
  }

  .nav[data-global-nav] .customer-chip small {
    font-size: 9px !important;
  }

  .nav[data-global-nav] .nav-links {
    justify-content: flex-end !important;
    gap: 5px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    height: 28px !important;
    min-height: 28px !important;
    max-width: 86px !important;
    padding: 0 8px !important;
    font-size: 9px !important;
  }
}

/* Release 1.0.119 visual audit cleanup: keep readable hierarchy without synthetic-heavy text. */
.plans-page .plan-trip-facts span,
.plans-page .plan-trip-facts strong,
.plans-page .plan-trip-facts small,
.support-center .step-card span,
.section .step-card span {
  font-weight: 700 !important;
}

.admin-sidebar-search {
  color: #0d2236 !important;
  background: #f7fbff !important;
  border-color: rgba(129, 188, 207, .55) !important;
}

.admin-sidebar-search input,
.admin-sidebar-search::placeholder {
  color: #0d2236 !important;
}

.table-wrap,
.admin-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

.admin-workspace .table-wrap {
  direction: ltr !important;
}

.admin-workspace .ops-table {
  direction: rtl !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.ops-table,
.admin-table,
.affiliate-table {
  max-width: 100% !important;
}

@media (max-width: 700px) {
  .affiliate-table,
  .affiliate-table thead,
  .affiliate-table tbody,
  .affiliate-table tr,
  .affiliate-table th,
  .affiliate-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .affiliate-table thead {
    display: none !important;
  }

  .affiliate-table tr {
    border: 1px solid rgba(34, 166, 179, .24) !important;
    border-radius: 14px !important;
    margin: 0 0 10px !important;
    padding: 8px !important;
    background: rgba(255, 255, 255, .86) !important;
  }

  .affiliate-table td {
    border: 0 !important;
    padding: 6px 8px !important;
    text-align: inherit !important;
  }
}

@media (max-width: 900px) {
  html[dir="ltr"] .nav[data-global-nav],
  html[dir="rtl"] .nav[data-global-nav] {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "langs session brand"
      "langs links links" !important;
    direction: ltr !important;
  }

  html[dir="ltr"] .nav[data-global-nav] .brand,
  html[dir="rtl"] .nav[data-global-nav] .brand {
    justify-self: end !important;
  }

  html[dir="ltr"] .nav[data-global-nav] .nav-language-grid,
  html[dir="rtl"] .nav[data-global-nav] .nav-language-grid {
    justify-self: start !important;
  }

  html[dir="ltr"] .nav[data-global-nav] .nav-links,
  html[dir="rtl"] .nav[data-global-nav] .nav-links {
    justify-content: flex-end !important;
  }
}

@media (max-width: 360px) {
  .nav[data-global-nav] {
    padding-inline: 6px !important;
    gap: 6px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 43vw !important;
    font-size: 13px !important;
  }

  .nav[data-global-nav] .brand-mark {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 9px !important;
  }

  .nav[data-global-nav] .nav-links {
    gap: 4px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    max-width: 68px !important;
    padding: 0 6px !important;
    font-size: 8px !important;
  }

  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout button {
    max-width: 88px !important;
    font-size: 8px !important;
  }
}

/* Release 1.0.121: centered modals, compact nav, balance cleanup, and directional floating tools. */
.account-flow-modal,
.checkout-otp-modal,
.home-dialog {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  padding: clamp(10px, 2.5vw, 24px) !important;
  overflow: hidden !important;
}

.account-flow-modal[hidden],
.checkout-otp-modal[hidden],
.home-dialog[hidden] {
  display: none !important;
}

.account-flow-dialog,
.checkout-otp-card,
.home-dialog > *:not(.home-dialog__close) {
  margin: auto !important;
}

.account-flow-dialog {
  width: min(1040px, calc(100vw - 24px)) !important;
  max-height: min(760px, calc(100dvh - 24px)) !important;
}

@media (max-width: 520px) {
  .account-flow-modal,
  .checkout-otp-modal {
    padding: 10px !important;
  }

  .account-flow-dialog,
  .checkout-otp-card {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 20px !important;
  }

  .account-flow-dialog .home-section-heading.compact h2 {
    font-size: clamp(30px, 10vw, 44px) !important;
  }
}

.floating-actions,
html[dir="rtl"] .floating-actions,
body:has(.home-redesign) .floating-actions,
html[dir="rtl"]:has(.home-redesign) .floating-actions {
  position: fixed !important;
  left: 10px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 7000 !important;
  display: grid !important;
  gap: 10px !important;
  pointer-events: none !important;
}

html[dir="ltr"] .floating-actions,
html[dir="ltr"]:has(.home-redesign) .floating-actions {
  left: auto !important;
  right: 10px !important;
}

.floating-tab {
  pointer-events: auto !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: #ffffff !important;
  color: #09243f !important;
  border: 1px solid rgba(34, 166, 179, .38) !important;
  box-shadow: 0 16px 42px rgba(7, 38, 61, .18) !important;
}

.floating-actions.has-open .floating-tab {
  opacity: 0 !important;
  pointer-events: none !important;
}

.floating-panel,
html[dir="rtl"] .floating-panel,
html[dir="ltr"] .floating-panel {
  pointer-events: auto !important;
  position: fixed !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: min(330px, calc(100vw - 84px)) !important;
  max-height: min(70dvh, 520px) !important;
  overflow: auto !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: #102a43 !important;
  border: 1px solid rgba(34, 166, 179, .22) !important;
  box-shadow: 0 24px 70px rgba(7, 38, 61, .28) !important;
}

.floating-panel,
html[dir="rtl"] .floating-panel {
  left: 66px !important;
  right: auto !important;
}

html[dir="ltr"] .floating-panel {
  left: auto !important;
  right: 66px !important;
}

.floating-panel[hidden] {
  display: none !important;
}

@media (max-width: 380px) {
  .floating-actions,
  html[dir="rtl"] .floating-actions {
    left: 6px !important;
  }

  html[dir="ltr"] .floating-actions {
    right: 6px !important;
  }

  .floating-panel,
  html[dir="rtl"] .floating-panel {
    left: 56px !important;
    width: calc(100vw - 64px) !important;
  }

  html[dir="ltr"] .floating-panel {
    right: 56px !important;
    width: calc(100vw - 64px) !important;
  }
}

.nav[data-global-nav] {
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
}

.nav[data-global-nav] .nav-links {
  gap: clamp(4px, .8vw, 8px) !important;
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .nav-logout button {
  color: #ffffff !important;
  background: rgba(7, 24, 43, .96) !important;
  border-color: rgba(188, 221, 235, .6) !important;
}

.nav[data-global-nav] .nav-logout button {
  color: #ffffff !important;
  background: #12304d !important;
}

@media (max-width: 900px) {
  .nav[data-global-nav] {
    min-height: 88px !important;
    padding-block: 6px !important;
  }

  .nav[data-global-nav] .nav-links {
    align-self: start !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle,
  .nav[data-global-nav] .nav-logout button {
    height: 26px !important;
    min-height: 26px !important;
    max-width: 76px !important;
    padding-inline: 7px !important;
    font-size: 8px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 44vw !important;
    font-size: clamp(13px, 4vw, 18px) !important;
  }
}

.balance-page .plans-layout {
  display: block !important;
}

.balance-page .plans-main {
  width: min(680px, calc(100vw - 24px)) !important;
  margin-inline: auto !important;
}

.balance-search-card {
  text-align: center !important;
}

.balance-centered-label {
  align-items: center !important;
  text-align: center !important;
}

.balance-centered-label input {
  text-align: center !important;
}

.balance-usage-note {
  margin: 12px auto 0 !important;
  max-width: 560px !important;
  color: #425970 !important;
  line-height: 1.55 !important;
  font-size: 14px !important;
}

.faq-page-list {
  width: min(920px, calc(100vw - 28px));
  margin: 0 auto 64px;
  display: grid;
  gap: 12px;
}

.faq-page-list details {
  border: 1px solid rgba(34, 166, 179, .22);
  border-radius: 18px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 16px 46px rgba(7, 38, 61, .08);
}

.faq-page-list summary {
  cursor: pointer;
  color: #09243f;
  font-weight: 700;
}

.faq-page-list p {
  color: #425970;
  line-height: 1.7;
}

/* Final responsive shell polish: modals, floating tools, mobile navigation. */
.account-flow-modal:not([hidden]),
.checkout-otp-modal:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  align-items: center !important;
  justify-items: center !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100svh !important;
  padding: clamp(8px, 2vw, 24px) !important;
  overflow: hidden !important;
}

.account-flow-dialog,
.checkout-otp-card {
  margin: auto !important;
  max-height: min(760px, calc(100dvh - 24px)) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  transform: none !important;
}

@media (max-width: 520px) {
  .account-flow-modal:not([hidden]),
  .checkout-otp-modal:not([hidden]) {
    padding: 8px !important;
  }

  .account-flow-dialog,
  .checkout-otp-card {
    width: calc(100vw - 16px) !important;
    max-height: calc(100svh - 16px) !important;
    border-radius: 22px !important;
    padding: 12px !important;
  }

  .account-flow-dialog .home-section-heading.compact {
    gap: 8px !important;
  }

  .account-flow-dialog .home-section-heading.compact h2,
  .checkout-otp-card h1 {
    font-size: clamp(28px, 8.2vw, 40px) !important;
    line-height: 1.08 !important;
  }
}

.floating-actions,
html[dir="rtl"] .floating-actions,
body:has(.home-redesign) .floating-actions,
html[dir="rtl"]:has(.home-redesign) .floating-actions {
  position: fixed !important;
  left: max(6px, env(safe-area-inset-left)) !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 9000 !important;
  display: grid !important;
  gap: 9px !important;
  width: 44px !important;
  pointer-events: none !important;
}

html[dir="ltr"] .floating-actions,
html[dir="ltr"]:has(.home-redesign) .floating-actions {
  left: auto !important;
  right: max(6px, env(safe-area-inset-right)) !important;
}

.floating-tab {
  pointer-events: auto !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  background: #ffffff !important;
  color: #09243f !important;
  border: 1px solid rgba(34, 166, 179, .42) !important;
  box-shadow: 0 14px 34px rgba(7, 38, 61, .18) !important;
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
}

.floating-actions.has-open .floating-tab {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: scale(.9) !important;
}

.floating-panel,
html[dir="rtl"] .floating-panel,
html[dir="ltr"] .floating-panel {
  pointer-events: auto !important;
  position: fixed !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: min(330px, calc(100vw - 70px)) !important;
  max-height: min(78dvh, 560px) !important;
  overflow: auto !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  color: #102a43 !important;
  border: 1px solid rgba(34, 166, 179, .26) !important;
  box-shadow: 0 24px 70px rgba(7, 38, 61, .28) !important;
}

.floating-panel,
html[dir="rtl"] .floating-panel {
  left: 56px !important;
  right: auto !important;
}

html[dir="ltr"] .floating-panel {
  left: auto !important;
  right: 56px !important;
}

.floating-panel[hidden] {
  display: none !important;
}

@media (max-width: 380px) {
  .floating-actions,
  html[dir="rtl"] .floating-actions {
    left: 4px !important;
    width: 38px !important;
    gap: 7px !important;
  }

  html[dir="ltr"] .floating-actions {
    right: 4px !important;
    left: auto !important;
  }

  .floating-tab {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .floating-panel,
  html[dir="rtl"] .floating-panel {
    left: 44px !important;
    width: calc(100vw - 52px) !important;
    border-radius: 16px !important;
  }

  html[dir="ltr"] .floating-panel {
    right: 44px !important;
    left: auto !important;
  }
}

.nav[data-global-nav] {
  overflow: hidden !important;
}

.nav[data-global-nav] .nav-links,
.nav[data-global-nav] .nav-left-cluster,
.nav[data-global-nav] .nav-action-cluster {
  min-width: 0 !important;
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .nav-logout button {
  color: #ffffff !important;
  background: #17263d !important;
  border-color: rgba(208, 228, 238, .62) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
  text-shadow: none !important;
}

.nav[data-global-nav] .nav-theme-toggle {
  order: 10 !important;
}

.nav[data-global-nav] .nav-action[href^="/check-balance"] {
  order: 20 !important;
}

.nav[data-global-nav] .nav-account-link {
  order: 30 !important;
}

.nav[data-global-nav] .nav-admin-link {
  order: 40 !important;
}

.nav[data-global-nav] .nav-logout {
  order: 30 !important;
}

.nav[data-global-nav] .nav-logout button {
  color: #ffffff !important;
  background: #23344c !important;
}

@media (max-width: 900px) {
  .nav[data-global-nav] {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "languages session brand"
      "languages links brand" !important;
    align-items: center !important;
    gap: 4px 6px !important;
    min-height: 92px !important;
    padding: 6px 6px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    grid-area: languages !important;
    justify-self: start !important;
    align-self: center !important;
    display: grid !important;
    grid-template-columns: repeat(2, 28px) !important;
    grid-auto-rows: 28px !important;
    gap: 4px !important;
  }

  .nav[data-global-nav] .nav-language {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    font-size: 10px !important;
  }

  .nav[data-global-nav] .nav-left-cluster {
    display: contents !important;
  }

  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout {
    grid-area: session !important;
    justify-self: center !important;
    min-width: 0 !important;
  }

  .nav[data-global-nav] .customer-chip {
    max-width: min(34vw, 134px) !important;
    padding: 4px 8px !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  .nav[data-global-nav] .nav-logout button {
    height: 26px !important;
    min-height: 26px !important;
    max-width: min(34vw, 128px) !important;
    padding-inline: 9px !important;
    font-size: 9px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .nav[data-global-nav] .brand {
    grid-area: brand !important;
    justify-self: end !important;
    max-width: 34vw !important;
    gap: 5px !important;
    font-size: clamp(13px, 4vw, 17px) !important;
  }

  .nav[data-global-nav] .brand span:first-child {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .nav[data-global-nav] .logo-mark {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 10px !important;
  }

  .nav[data-global-nav] .nav-links {
    grid-area: links !important;
    justify-self: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    height: 26px !important;
    min-height: 26px !important;
    max-width: 72px !important;
    min-width: 0 !important;
    padding-inline: 7px !important;
    font-size: clamp(8px, 2.35vw, 10px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 360px) {
  .nav[data-global-nav] {
    gap: 3px 4px !important;
    padding-inline: 4px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    grid-template-columns: repeat(2, 25px) !important;
    grid-auto-rows: 25px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .nav-language {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    font-size: 9px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    height: 24px !important;
    min-height: 24px !important;
    max-width: 58px !important;
    padding-inline: 5px !important;
    font-size: 7.5px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 31vw !important;
    font-size: 12px !important;
  }

  .nav[data-global-nav] .logo-mark {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }
}

/* Final mobile navigation reset: physical layout stays stable across UI languages. */
@media (max-width: 900px) {
  .nav[data-global-nav] {
    position: relative !important;
    display: block !important;
    min-height: 96px !important;
    height: auto !important;
    padding: 6px !important;
    overflow: hidden !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    position: absolute !important;
    left: 6px !important;
    right: auto !important;
    top: 8px !important;
    z-index: 3 !important;
    width: 62px !important;
    display: grid !important;
    grid-template-columns: repeat(2, 28px) !important;
    grid-auto-rows: 28px !important;
    gap: 4px !important;
  }

  .nav[data-global-nav] .brand {
    position: absolute !important;
    right: 6px !important;
    left: auto !important;
    top: 11px !important;
    z-index: 3 !important;
    display: flex !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: calc(100vw - 190px) !important;
    min-width: 0 !important;
  }

  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout {
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    z-index: 4 !important;
  }

  .nav[data-global-nav] .customer-chip {
    width: min(136px, 36vw) !important;
  }

  .nav[data-global-nav] .nav-logout button {
    width: min(118px, 34vw) !important;
  }

  .nav[data-global-nav] .nav-links {
    position: absolute !important;
    left: 74px !important;
    right: 74px !important;
    top: 50px !important;
    z-index: 2 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    max-width: none !important;
    overflow: hidden !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    height: 26px !important;
    min-height: 26px !important;
    max-width: 70px !important;
    min-width: 0 !important;
    padding-inline: 6px !important;
    font-size: clamp(7.5px, 2.2vw, 10px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 360px) {
  .nav[data-global-nav] {
    min-height: 94px !important;
    padding: 4px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    left: 4px !important;
    top: 7px !important;
    width: 53px !important;
    grid-template-columns: repeat(2, 25px) !important;
    grid-auto-rows: 25px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .brand {
    right: 4px !important;
    top: 10px !important;
    max-width: calc(100vw - 164px) !important;
  }

  .nav[data-global-nav] .nav-links {
    left: 60px !important;
    right: 60px !important;
    top: 48px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    height: 24px !important;
    min-height: 24px !important;
    max-width: 54px !important;
    padding-inline: 4px !important;
    font-size: 7px !important;
  }
}

/* Absolute final visual acceptance guardrails. */
.testimonial-rating {
  color: #8a5a00 !important;
  font-weight: 700 !important;
}

body.home-theme-dark .testimonial-rating {
  color: #ffd166 !important;
}

.language-chip {
  color: #ffffff !important;
  background: #203149 !important;
  border-color: rgba(210, 231, 240, .58) !important;
}

/* Customer-session and balance polish. Keep this block last for nav acceptance. */
.balance-customer-overview {
  display: grid;
  gap: 18px;
  width: min(100%, 1120px);
  margin: 0 auto 22px;
}

.balance-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.balance-customer-overview .empty-state.compact {
  width: min(100%, 720px);
  margin-inline: auto;
  padding: 24px;
}

.balance-result-card h3 {
  margin: 8px 0 6px;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.family-checkout-row em {
  font-weight: 700 !important;
}

.account-flow-modal .account-flow-header:empty {
  display: none !important;
}

/* Release 1.0.135: balance page centering and compact responsive alignment. */
.balance-page {
  overflow-x: hidden !important;
}

.balance-page .plans-hero,
.balance-page .plans-layout,
.balance-page .plans-main,
.balance-page .balance-customer-overview,
.balance-page .balance-search-card,
.balance-page .empty-state,
.balance-page .balance-result-card {
  width: min(100%, 760px) !important;
  max-width: calc(100vw - 28px) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.balance-page .plans-hero {
  padding-inline: 14px !important;
}

.balance-page .plans-hero h1 {
  max-width: 720px !important;
  margin-inline: auto !important;
}

.balance-page .plans-hero p {
  max-width: 620px !important;
  margin-inline: auto !important;
}

.balance-page .plans-main {
  display: grid !important;
  justify-items: center !important;
  gap: 18px !important;
}

.balance-page .balance-customer-overview {
  justify-items: center !important;
  margin-bottom: 0 !important;
}

.balance-page .balance-customer-overview .empty-state.compact {
  width: min(100%, 680px) !important;
  max-width: 100% !important;
  display: grid !important;
  justify-items: center !important;
  gap: 14px !important;
  padding: clamp(22px, 5vw, 38px) clamp(16px, 5vw, 40px) !important;
}

.balance-page .balance-customer-overview .empty-state.compact h2 {
  max-width: 620px !important;
  margin-inline: auto !important;
  text-wrap: balance !important;
}

.balance-page .balance-search-card {
  display: grid !important;
  justify-items: center !important;
  gap: 12px !important;
  padding: clamp(18px, 4vw, 28px) !important;
  border-radius: 22px !important;
}

.balance-page .balance-centered-label {
  width: min(100%, 620px) !important;
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
  margin-inline: auto !important;
  font-weight: 900 !important;
}

.balance-page .balance-centered-label input {
  width: 100% !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.balance-page .balance-search-card .button.full {
  width: min(100%, 620px) !important;
  margin-inline: auto !important;
}

.balance-page .balance-usage-note {
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  text-align: center !important;
  text-wrap: balance !important;
}

/* Release 1.0.136: recommendation block order, random social proof, and inline OTP confirmation. */
.testimonials-card {
  min-height: 100% !important;
}

.testimonials-card .home-section-heading {
  display: none !important;
}

.testimonial-otp-form {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: rgba(232, 246, 249, .68) !important;
  border: 1px solid rgba(34, 166, 179, .22) !important;
}

.testimonial-otp-copy {
  display: grid !important;
  gap: 4px !important;
  justify-items: center !important;
  text-align: center !important;
  color: #102a43 !important;
}

.testimonial-otp-copy strong {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #08233d !important;
}

.testimonial-otp-copy span,
.testimonial-otp-copy em {
  font-style: normal !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #425970 !important;
}

.testimonial-otp-copy em {
  color: #b42318 !important;
  font-weight: 900 !important;
}

.testimonial-otp-row {
  width: min(100%, 260px) !important;
  grid-template-columns: repeat(4, minmax(44px, 58px)) !important;
  gap: 8px !important;
}

.testimonial-otp-form .demo-otp {
  color: #0f3c52 !important;
  -webkit-text-fill-color: #0f3c52 !important;
  font-weight: 900 !important;
}

.testimonial-success-note {
  margin: 14px auto 0 !important;
  width: min(100%, 420px) !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(209, 250, 229, .86) !important;
  color: #065f46 !important;
  font-weight: 900 !important;
  text-align: center !important;
}

body.home-theme-dark .testimonial-otp-form,
.home-redesign[data-theme="dark"] .testimonial-otp-form {
  background: rgba(255, 255, 255, .92) !important;
}

@media (max-width: 620px) {
  .quick-testimonial-form {
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
  }

  .quick-testimonial-form .button {
    width: 100% !important;
  }
}

@media (max-width: 420px) {
  .balance-page .plans-hero,
  .balance-page .plans-layout,
  .balance-page .plans-main,
  .balance-page .balance-customer-overview,
  .balance-page .balance-search-card,
  .balance-page .empty-state,
  .balance-page .balance-result-card {
    max-width: calc(100vw - 18px) !important;
  }

  .balance-page .plans-hero h1 {
    font-size: clamp(30px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  .balance-page .plans-hero p,
  .balance-page .balance-usage-note {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .balance-page .balance-customer-overview .empty-state.compact h2 {
    font-size: clamp(23px, 7.2vw, 31px) !important;
    line-height: 1.15 !important;
  }
}

html[dir="rtl"] .nav[data-global-nav] .nav-links {
  direction: rtl !important;
}

html[dir="ltr"] .nav[data-global-nav] .nav-links {
  direction: ltr !important;
}

@media (max-width: 900px) {
  .nav[data-global-nav] {
    min-height: 108px !important;
  }

  .nav[data-global-nav] .customer-chip {
    top: 7px !important;
    left: 50% !important;
    width: min(132px, 35vw) !important;
    max-width: min(132px, 35vw) !important;
    transform: translateX(-50%) !important;
    font-size: 9px !important;
  }

  .nav[data-global-nav] .nav-logout {
    top: 38px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .nav[data-global-nav] .nav-logout button {
    width: auto !important;
    min-width: 54px !important;
    max-width: 70px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding-inline: 9px !important;
    color: #ffffff !important;
    background: #26374f !important;
    font-size: 8.5px !important;
  }

  .nav[data-global-nav] .nav-links {
    top: 70px !important;
    left: 70px !important;
    right: 70px !important;
    justify-content: flex-start !important;
  }

  html[dir="rtl"] .nav[data-global-nav] .nav-links {
    justify-content: flex-start !important;
  }

  html[dir="ltr"] .nav[data-global-nav] .nav-links {
    justify-content: flex-start !important;
  }
}

@media (max-width: 390px) {
  .nav[data-global-nav] {
    min-height: 112px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    width: 52px !important;
    grid-template-columns: repeat(2, 24px) !important;
    grid-auto-rows: 24px !important;
  }

  .nav[data-global-nav] .language-chip {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 8px !important;
  }

  .nav[data-global-nav] .customer-chip {
    width: min(116px, 34vw) !important;
    max-width: min(116px, 34vw) !important;
    padding: 4px 6px !important;
    font-size: 8px !important;
  }

  .nav[data-global-nav] .nav-links {
    top: 72px !important;
    left: 58px !important;
    right: 58px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle {
    max-width: 58px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding-inline: 4px !important;
    font-size: 7.2px !important;
  }

  .balance-card-list {
    grid-template-columns: 1fr;
  }
}

.language-chip:hover,
.language-chip:focus-visible {
  background: #0f9bad !important;
  color: #ffffff !important;
}

.floating-panel,
html[dir="rtl"] .floating-panel,
html[dir="ltr"] .floating-panel,
.floating-actions.has-open .floating-panel,
html[dir="rtl"] .floating-actions.has-open .floating-panel,
html[dir="ltr"] .floating-actions.has-open .floating-panel {
  position: fixed !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: min(330px, calc(100vw - 76px)) !important;
  max-height: min(78dvh, 540px) !important;
  overflow: auto !important;
  border-radius: 20px !important;
}

/* Release 1.0.127: keep logged-in customer and logout controls on one compact row. */
.nav[data-global-nav] .nav-left-cluster {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.nav[data-global-nav] .customer-chip,
.nav[data-global-nav] .nav-logout,
.nav[data-global-nav] .nav-logout button {
  flex: 0 1 auto !important;
}

.nav[data-global-nav] .customer-chip {
  min-height: 28px !important;
  max-width: 112px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  line-height: 1.05 !important;
}

.nav[data-global-nav] .customer-chip small {
  font-size: 8px !important;
  line-height: 1 !important;
}

.nav[data-global-nav] .nav-logout button {
  min-height: 26px !important;
  height: 26px !important;
  min-width: 50px !important;
  max-width: 70px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  font-size: 8.5px !important;
}

@media (max-width: 900px) {
  .nav[data-global-nav] .nav-left-cluster {
    position: absolute !important;
    top: 8px !important;
    left: 74px !important;
    right: 118px !important;
    z-index: 4 !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
  }

  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    grid-area: auto !important;
    justify-self: auto !important;
  }

  .nav[data-global-nav] .customer-chip {
    width: auto !important;
    max-width: min(98px, 29vw) !important;
    min-height: 25px !important;
    height: 25px !important;
    padding: 3px 7px !important;
    font-size: 7.6px !important;
  }

  .nav[data-global-nav] .customer-chip small {
    font-size: 7.2px !important;
  }

  .nav[data-global-nav] .nav-logout button {
    width: auto !important;
    min-width: 46px !important;
    max-width: 58px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    font-size: 7.4px !important;
  }
}

@media (max-width: 390px) {
  .nav[data-global-nav] .nav-left-cluster {
    left: 60px !important;
    right: 92px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .customer-chip {
    max-width: min(82px, 28vw) !important;
    padding-inline: 5px !important;
    font-size: 6.8px !important;
  }

  .nav[data-global-nav] .customer-chip small {
    font-size: 6.6px !important;
  }

  .nav[data-global-nav] .nav-logout button {
    min-width: 40px !important;
    max-width: 48px !important;
    padding-inline: 6px !important;
    font-size: 6.8px !important;
  }
}

.floating-panel,
html[dir="rtl"] .floating-panel,
.floating-actions.has-open .floating-panel,
html[dir="rtl"] .floating-actions.has-open .floating-panel {
  left: 58px !important;
  right: auto !important;
}

html[dir="ltr"] .floating-panel,
html[dir="ltr"] .floating-actions.has-open .floating-panel {
  left: auto !important;
  right: 58px !important;
}

@media (max-width: 420px) {
  .floating-actions,
  html[dir="rtl"] .floating-actions,
  body:has(.home-redesign) .floating-actions,
  html[dir="rtl"]:has(.home-redesign) .floating-actions {
    left: 4px !important;
    right: auto !important;
    width: 38px !important;
  }

  html[dir="ltr"] .floating-actions,
  html[dir="ltr"]:has(.home-redesign) .floating-actions {
    left: auto !important;
    right: 4px !important;
  }

  .floating-panel,
  html[dir="rtl"] .floating-panel,
  .floating-actions.has-open .floating-panel,
  html[dir="rtl"] .floating-actions.has-open .floating-panel {
    left: 42px !important;
    right: auto !important;
    width: calc(100vw - 48px) !important;
    max-height: calc(100dvh - 100px) !important;
  }

  html[dir="ltr"] .floating-panel,
  html[dir="ltr"] .floating-actions.has-open .floating-panel {
    left: auto !important;
    right: 42px !important;
    width: calc(100vw - 48px) !important;
    max-height: calc(100dvh - 100px) !important;
  }
}

/* Release 1.0.128: compact ESIMO navigation with one inline action row. */
.nav[data-global-nav] {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "languages links brand" !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 72px !important;
  padding: 8px clamp(8px, 2vw, 28px) !important;
}

.nav[data-global-nav] .nav-language-grid {
  grid-area: languages !important;
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(2, 30px) !important;
  grid-auto-rows: 26px !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
}

.nav[data-global-nav] .language-chip {
  width: 30px !important;
  height: 26px !important;
  min-width: 30px !important;
  min-height: 26px !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

.nav[data-global-nav] .nav-action-cluster {
  grid-area: links !important;
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

html[dir="rtl"] .nav[data-global-nav] .nav-action-cluster {
  direction: rtl !important;
}

html[dir="ltr"] .nav[data-global-nav] .nav-action-cluster {
  direction: ltr !important;
}

.nav[data-global-nav] .nav-left-cluster,
.nav[data-global-nav] .nav-session {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  grid-area: auto !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  order: 50 !important;
}

.nav[data-global-nav] .nav-theme-toggle {
  order: 10 !important;
}

.nav[data-global-nav] .nav-action[href^="/check-balance"] {
  order: 20 !important;
}

.nav[data-global-nav] .nav-account-link {
  order: 30 !important;
}

.nav[data-global-nav] .nav-admin-link {
  order: 40 !important;
}

html[dir="rtl"] .nav[data-global-nav] .nav-left-cluster {
  direction: rtl !important;
}

html[dir="ltr"] .nav[data-global-nav] .nav-left-cluster {
  direction: ltr !important;
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .customer-chip,
.nav[data-global-nav] .nav-logout button {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border-radius: 10px !important;
  padding: 0 11px !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.nav[data-global-nav] .customer-chip {
  display: inline-flex !important;
  flex-direction: column !important;
  min-width: 76px !important;
  max-width: 112px !important;
  color: #08233d !important;
  background: #ffffff !important;
}

.nav[data-global-nav] .customer-chip small {
  font-size: 8px !important;
  line-height: 1 !important;
}

.nav[data-global-nav] .nav-logout {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: inline-flex !important;
  margin: 0 !important;
}

.nav[data-global-nav] .brand {
  grid-area: brand !important;
  position: static !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: clamp(110px, 16vw, 190px) !important;
  height: 44px !important;
}

.nav[data-global-nav] .brand-logo {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 40px !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .nav[data-global-nav] {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "languages links brand" !important;
    gap: 5px !important;
    min-height: 66px !important;
    padding: 5px 6px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    grid-template-columns: repeat(2, 25px) !important;
    grid-auto-rows: 23px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .language-chip {
    width: 25px !important;
    height: 23px !important;
    min-width: 25px !important;
    min-height: 23px !important;
    border-radius: 8px !important;
    font-size: 8px !important;
  }

  .nav[data-global-nav] .nav-action-cluster {
    justify-content: center !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle,
  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout button {
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    border-radius: 8px !important;
    padding: 0 6px !important;
    font-size: clamp(6.4px, 1.9vw, 8px) !important;
    max-width: 62px !important;
  }

  .nav[data-global-nav] .customer-chip {
    min-width: 54px !important;
    max-width: 68px !important;
    padding-inline: 5px !important;
  }

  .nav[data-global-nav] .customer-chip small {
    font-size: clamp(5.8px, 1.7vw, 7px) !important;
  }

  .nav[data-global-nav] .nav-logout button {
    min-width: 36px !important;
    max-width: 44px !important;
  }

  .nav[data-global-nav] .brand {
    height: 40px !important;
    max-width: clamp(72px, 22vw, 105px) !important;
  }

  .nav[data-global-nav] .brand-logo {
    height: 34px !important;
  }
}

@media (max-width: 360px) {
  .nav[data-global-nav] {
    min-height: 64px !important;
    gap: 4px !important;
    padding-inline: 4px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    grid-template-columns: repeat(2, 23px) !important;
    grid-auto-rows: 22px !important;
    gap: 2px !important;
  }

  .nav[data-global-nav] .language-chip {
    width: 23px !important;
    height: 22px !important;
    min-width: 23px !important;
    min-height: 22px !important;
    font-size: 7px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle,
  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout button {
    height: 21px !important;
    min-height: 21px !important;
    max-height: 21px !important;
    padding: 0 4px !important;
    font-size: 6.2px !important;
    max-width: 50px !important;
  }

  .nav[data-global-nav] .customer-chip {
    min-width: 46px !important;
    max-width: 54px !important;
  }

  .nav[data-global-nav] .nav-logout button {
    min-width: 34px !important;
    max-width: 39px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 70px !important;
  }

  .nav[data-global-nav] .brand-logo {
    height: 30px !important;
  }
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .customer-chip,
.nav[data-global-nav] .nav-logout button,
.nav[data-global-nav] .language-chip {
  font-weight: 700 !important;
}

/* Release 1.0.129: hard reset the global navigation grid.
   The visual structure is intentionally physical and stable:
   languages on the left, actions in one row, brand on the right. */
.nav[data-global-nav] {
  direction: ltr !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "langs links brand" !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 8px !important;
  min-height: 58px !important;
  padding: 6px 8px !important;
}

.nav[data-global-nav] .nav-language-grid {
  grid-area: langs !important;
  justify-self: start !important;
  align-self: center !important;
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(2, 28px) !important;
  grid-auto-rows: 25px !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 0 !important;
}

.nav[data-global-nav] .nav-action-cluster {
  grid-area: links !important;
  justify-self: stretch !important;
  align-self: center !important;
  position: static !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html[dir="rtl"] .nav[data-global-nav] .nav-action-cluster {
  direction: rtl !important;
}

html[dir="ltr"] .nav[data-global-nav] .nav-action-cluster {
  direction: ltr !important;
}

.nav[data-global-nav] .nav-left-cluster,
.nav[data-global-nav] .nav-session {
  grid-area: auto !important;
  position: static !important;
  display: inline-flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  transform: none !important;
}

html[dir="rtl"] .nav[data-global-nav] .nav-left-cluster {
  direction: rtl !important;
}

html[dir="ltr"] .nav[data-global-nav] .nav-left-cluster {
  direction: ltr !important;
}

.nav[data-global-nav] .brand {
  grid-area: brand !important;
  justify-self: end !important;
  align-self: center !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  max-width: clamp(82px, 14vw, 150px) !important;
  height: 38px !important;
  transform: none !important;
}

.nav[data-global-nav] .brand-logo {
  height: 34px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.nav[data-global-nav] .language-chip {
  width: 28px !important;
  height: 25px !important;
  min-width: 28px !important;
  min-height: 25px !important;
  border-radius: 8px !important;
  font-size: 9px !important;
}

.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .customer-chip,
.nav[data-global-nav] .nav-logout button {
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  border-radius: 8px !important;
  padding: 0 9px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.nav[data-global-nav] .customer-chip {
  min-width: 74px !important;
  max-width: 104px !important;
  padding-inline: 8px !important;
}

.nav[data-global-nav] .customer-chip small {
  font-size: 7px !important;
}

.nav[data-global-nav] .nav-logout {
  display: inline-flex !important;
  margin: 0 !important;
}

.nav[data-global-nav] .nav-logout button {
  min-width: 42px !important;
  max-width: 58px !important;
}

@media (max-width: 560px) {
  .nav[data-global-nav] {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas: "langs links brand" !important;
    gap: 5px !important;
    min-height: 58px !important;
    padding: 5px 5px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    grid-template-columns: repeat(2, 24px) !important;
    grid-auto-rows: 22px !important;
    gap: 3px !important;
  }

  .nav[data-global-nav] .language-chip {
    width: 24px !important;
    height: 22px !important;
    min-width: 24px !important;
    min-height: 22px !important;
    font-size: 7px !important;
  }

  .nav[data-global-nav] .nav-action-cluster {
    gap: 3px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle,
  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout button {
    height: 21px !important;
    min-height: 21px !important;
    max-height: 21px !important;
    padding: 0 5px !important;
    font-size: clamp(5.8px, 1.7vw, 7px) !important;
    max-width: 52px !important;
  }

  .nav[data-global-nav] .customer-chip {
    min-width: 48px !important;
    max-width: 58px !important;
    padding-inline: 4px !important;
  }

  .nav[data-global-nav] .customer-chip small {
    font-size: 5.8px !important;
  }

  .nav[data-global-nav] .nav-logout button {
    min-width: 34px !important;
    max-width: 40px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 66px !important;
    height: 34px !important;
  }

  .nav[data-global-nav] .brand-logo {
    height: 28px !important;
  }
}

@media (max-width: 560px) {
  html[dir="rtl"] .nav[data-global-nav],
  html[dir="ltr"] .nav[data-global-nav],
  body .nav[data-global-nav] {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas: "langs links brand" !important;
  }

  html[dir="rtl"] .nav[data-global-nav] .nav-language-grid,
  html[dir="ltr"] .nav[data-global-nav] .nav-language-grid,
  body .nav[data-global-nav] .nav-language-grid {
    grid-area: langs !important;
  }

  html[dir="rtl"] .nav[data-global-nav] .nav-action-cluster,
  html[dir="ltr"] .nav[data-global-nav] .nav-action-cluster,
  body .nav[data-global-nav] .nav-action-cluster {
    grid-area: links !important;
  }

  html[dir="rtl"] .nav[data-global-nav] .brand,
  html[dir="ltr"] .nav[data-global-nav] .brand,
  body .nav[data-global-nav] .brand {
    grid-area: brand !important;
  }
}

@media (max-width: 360px) {
  html[dir="rtl"] .nav[data-global-nav],
  html[dir="ltr"] .nav[data-global-nav],
  body .nav[data-global-nav] {
    grid-template-columns: 42px minmax(0, 1fr) 40px !important;
    gap: 4px !important;
    min-height: 70px !important;
    padding: 4px !important;
  }

  .nav[data-global-nav] .nav-language-grid {
    grid-template-columns: repeat(2, 20px) !important;
    grid-auto-rows: 20px !important;
    gap: 2px !important;
  }

  .nav[data-global-nav] .language-chip {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border-radius: 7px !important;
    font-size: 6.4px !important;
  }

  .nav[data-global-nav] .brand {
    max-width: 40px !important;
    height: 30px !important;
  }

  .nav[data-global-nav] .brand-logo {
    height: 24px !important;
  }

  .nav[data-global-nav] .nav-action-cluster {
    gap: 2px !important;
  }

  .nav[data-global-nav] .nav-action,
  .nav[data-global-nav] .nav-theme-toggle,
  .nav[data-global-nav] .customer-chip,
  .nav[data-global-nav] .nav-logout button {
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    border-radius: 7px !important;
    padding: 0 3px !important;
    font-size: 5.5px !important;
    max-width: 38px !important;
  }

  .nav[data-global-nav] .customer-chip {
    min-width: 39px !important;
    max-width: 42px !important;
    padding-inline: 2px !important;
  }

  .nav[data-global-nav] .customer-chip small {
    font-size: 5.1px !important;
  }

  .nav[data-global-nav] .nav-logout button {
    min-width: 28px !important;
    max-width: 30px !important;
  }
}

/* Release 1.0.137: tighter home radius system, centered account modal, and lower social proof. */
:root {
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --ui-radius-card: 16px;
  --ui-radius-control: 10px;
}

.travel-home .booking-shell,
.travel-home .booking-search,
.travel-home .sales-summary-card,
.travel-home .trip-result-card,
.travel-home .destination-plan-card,
.travel-home .destination-plan-main,
.travel-home .destination-plan-options,
.travel-home .checkout-step-panel,
.travel-home .checkout-sticky-summary,
.travel-home .growth-rotator-card,
.travel-home .rotator-item,
.travel-home .home-benefit-grid article,
.travel-home .home-faq details,
.travel-home .home-recommendations-row,
.travel-home .success-delivery-card,
.travel-home .order-invoice-summary,
.travel-home .profile-grid input,
.travel-home .profile-grid select,
.travel-home .payment-method,
.travel-home .checkbox-line,
.customer-ux-page .panel,
.customer-ux-page .package-card,
.customer-ux-page .empty-state,
.customer-ux-page .balance-search-card,
.customer-ux-page .balance-result-card {
  border-radius: var(--ui-radius-card) !important;
}

.travel-home button,
.travel-home .button,
.travel-home input,
.travel-home select,
.travel-home textarea,
.travel-home .home-search-cta,
.travel-home .home-plan-buy,
.travel-home .recommended-badge,
.travel-home .destination-suggestions button,
.travel-home .date-range-display,
.travel-home .date-range-popover,
.travel-home .date-range-calendar,
.travel-home .otp-box,
.travel-home .phone-digit-group input[data-phone-digit],
.nav[data-global-nav] .nav-action,
.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .customer-chip,
.nav[data-global-nav] .nav-logout button,
.nav[data-global-nav] .language-chip,
.floating-toggle,
.floating-panel button,
.floating-panel input {
  border-radius: var(--ui-radius-control) !important;
}

.account-flow-modal:not([hidden]) {
  display: grid !important;
  place-items: center !important;
  padding: clamp(14px, 3vw, 34px) !important;
  overflow: auto !important;
}

.account-flow-dialog {
  width: min(760px, calc(100vw - 28px)) !important;
  max-width: min(760px, calc(100vw - 28px)) !important;
  max-height: min(86dvh, 720px) !important;
  margin: auto !important;
  padding: clamp(20px, 3vw, 36px) !important;
  display: block !important;
  overflow: auto !important;
  border-radius: var(--ui-radius-card) !important;
}

.account-flow-dialog .home-checkout-flow {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.account-flow-dialog .checkout-flow-main {
  width: min(620px, 100%) !important;
  max-width: 620px !important;
  margin-inline: auto !important;
  padding: clamp(18px, 3vw, 32px) !important;
  border-radius: var(--ui-radius-card) !important;
}

.account-flow-dialog .checkout-sticky-summary {
  display: none !important;
}

.account-flow-dialog .checkout-step-panel {
  width: 100% !important;
  margin-inline: auto !important;
  border-radius: var(--ui-radius-card) !important;
}

.account-flow-dialog .home-section-heading.compact {
  margin-bottom: 14px !important;
}

.account-flow-dialog .home-section-heading.compact h2,
.account-flow-dialog .inline-checkout-form h3 {
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.1 !important;
}

.account-flow-dialog .phone-split-input,
.account-flow-dialog .otp-box-row {
  justify-content: center !important;
}

.account-flow-dialog .home-search-cta {
  width: 100% !important;
  min-height: 54px !important;
}

.home-recommendations-row {
  width: min(1120px, calc(100% - 32px));
  margin: 34px auto 48px;
  padding: 0;
  background: transparent !important;
}

.home-recommendations-row .testimonials-card {
  width: min(720px, 100%);
  margin-inline: auto;
}

@media (min-width: 1180px) {
  .home-recommendations-row {
    margin-top: 38px;
    margin-bottom: 52px;
  }
}

@media (max-width: 620px) {
  .account-flow-modal:not([hidden]) {
    align-items: center !important;
    padding: 10px !important;
  }

  .account-flow-dialog {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    max-height: calc(100dvh - 22px) !important;
    padding: 16px !important;
  }

  .account-flow-dialog .checkout-flow-main {
    padding: 16px !important;
  }

  .account-flow-dialog .home-section-heading.compact h2,
  .account-flow-dialog .inline-checkout-form h3 {
    font-size: clamp(27px, 8.5vw, 36px) !important;
  }
}

/* Release 1.0.138: destination search layering, split growth bands, two-row session navigation, and approved SVG icons. */
.ui-icon {
  width: 34px;
  height: 34px;
  display: block;
  object-fit: contain;
}

.ui-icon-inline {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.floating-tab img {
  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
}

.sales-hero,
.sales-hero__content,
.booking-shell,
.booking-search,
.destination-autocomplete {
  position: relative;
}

.sales-hero {
  z-index: 8;
}

.booking-shell {
  z-index: 30;
  overflow: visible !important;
}

.booking-search,
.destination-autocomplete {
  overflow: visible !important;
}

.destination-suggestions {
  z-index: 1000 !important;
  max-height: min(360px, 54vh);
  overflow-y: auto;
  isolation: isolate;
}

.home-growth-grid {
  grid-template-columns: 1fr !important;
  width: min(1180px, calc(100% - 32px)) !important;
  margin: 34px auto 38px !important;
}

.promotions-card {
  min-height: 188px;
  display: grid;
  grid-template-columns: minmax(180px, 0.28fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.promotions-card .home-section-heading {
  margin: 0 !important;
  text-align: inherit;
}

.promotions-card .home-section-heading span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.promotions-card .home-section-heading span::before {
  content: "";
  width: 30px;
  height: 30px;
  display: inline-block;
  background: url("/static/icons/esimo-micro/06-deals-benefits-10px.svg") center / contain no-repeat;
}

.promotions-card .rotator-stack {
  min-height: 132px;
}

.home-affiliate-row,
.home-recommendations-row {
  width: min(1180px, calc(100% - 32px)) !important;
  margin-inline: auto !important;
}

.home-affiliate-row {
  margin-top: 34px;
  margin-bottom: 42px;
}

.home-affiliate-row .affiliate-quick-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(280px, 1.1fr);
  gap: 18px 22px;
  align-items: center;
}

.home-affiliate-row .affiliate-quick-card .home-section-heading {
  grid-row: span 3;
  margin: 0 !important;
  text-align: inherit;
}

.home-affiliate-row .affiliate-quick-card .home-section-heading h2::before {
  content: "";
  width: 38px;
  height: 38px;
  display: inline-block;
  vertical-align: middle;
  margin-inline-end: 10px;
  background: url("/static/icons/esimo-micro/08-share-10px.svg") center / contain no-repeat;
}

.home-affiliate-row .affiliate-link-row,
.home-affiliate-row .affiliate-phone-share {
  margin-top: 0 !important;
}

.home-recommendations-row {
  margin-top: 10px !important;
  margin-bottom: 54px !important;
}

.home-recommendations-row .testimonials-card {
  width: min(900px, 100%) !important;
}

.home-recommendations-row .testimonials-card::before {
  content: "";
  width: 34px;
  height: 34px;
  display: block;
  margin: 0 auto 12px;
  background: url("/static/icons/esimo-micro/07-recommendations-10px.svg") center / contain no-repeat;
}

.home-benefit-grid span {
  width: 52px;
  height: 52px;
  display: grid !important;
  place-items: center;
}

.home-benefit-grid span .ui-icon {
  width: 46px;
  height: 46px;
}

.nav[data-global-nav] {
  min-height: 86px !important;
}

.nav[data-global-nav] .nav-action-cluster {
  display: flex !important;
  flex-flow: row wrap !important;
  align-content: center !important;
  justify-content: center !important;
  row-gap: 6px !important;
}

.nav[data-global-nav] .nav-session,
.nav[data-global-nav] .nav-left-cluster {
  order: 0 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  justify-content: center !important;
}

.nav[data-global-nav] .nav-theme-toggle,
.nav[data-global-nav] .nav-action {
  order: 10 !important;
}

.nav[data-global-nav] .customer-chip,
.nav[data-global-nav] .nav-logout button {
  height: 26px !important;
  min-height: 26px !important;
}

@media (min-width: 1180px) {
  .home-recommendations-row {
    margin-top: 20px !important;
  }
}

@media (min-width: 1440px) {
  .home-growth-grid,
  .home-affiliate-row,
  .home-recommendations-row,
  .how-steps,
  .home-benefits,
  .faq-section {
    width: min(1180px, calc(100% - 160px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .promotions-card,
  .home-affiliate-row .affiliate-quick-card,
  .home-recommendations-row .testimonials-card,
  .how-steps .steps-grid,
  .home-benefits .home-benefit-grid {
    width: 100% !important;
    max-width: 1180px !important;
  }

  .home-recommendations-row .testimonials-card {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 760px) {
  .promotions-card,
  .home-affiliate-row .affiliate-quick-card {
    grid-template-columns: 1fr;
  }

  .home-affiliate-row .affiliate-quick-card .home-section-heading {
    grid-row: auto;
  }

  .promotions-card {
    min-height: 0;
  }

  .nav[data-global-nav] {
    min-height: 82px !important;
  }
}

@media (max-width: 420px) {
  .destination-suggestions {
    max-height: min(320px, 48vh);
  }

  .home-growth-grid,
  .home-affiliate-row,
  .home-recommendations-row {
    width: min(100% - 18px, 1180px) !important;
  }

  .nav[data-global-nav] {
    min-height: 76px !important;
  }
}

/* Release 1.0.140: approved SVG icon rendering lock. */
.ui-icon,
img.ui-icon,
.icon-frame img,
.floating-tab img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
  filter: saturate(1.18) contrast(1.12) !important;
}

.icon-frame,
.home-benefit-grid span.icon-frame,
.home-benefit-grid article > span.icon-frame {
  width: clamp(44px, 5vw, 58px) !important;
  height: clamp(44px, 5vw, 58px) !important;
  min-width: clamp(44px, 5vw, 58px) !important;
  min-height: clamp(44px, 5vw, 58px) !important;
  max-width: 58px !important;
  max-height: 58px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto 14px !important;
  padding: 7px !important;
  border-radius: 12px !important;
  background: rgba(232, 249, 253, 0.92) !important;
  border: 1px solid rgba(0, 155, 190, 0.28) !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

.home-benefit-grid span.icon-frame .ui-icon,
.home-benefit-grid article > span.icon-frame .ui-icon {
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}

.home-benefit-grid article {
  text-align: center !important;
}

.promotions-card .home-section-heading span::before,
.home-affiliate-row .affiliate-quick-card .home-section-heading h2::before,
.home-recommendations-row .testimonials-card::before {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
}

.promotions-card .home-section-heading span::before {
  width: 30px !important;
  height: 30px !important;
}

.home-affiliate-row .affiliate-quick-card .home-section-heading h2::before {
  width: 38px !important;
  height: 38px !important;
}

.home-recommendations-row .testimonials-card::before {
  width: 34px !important;
  height: 34px !important;
}

.floating-tab {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  padding: 9px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.floating-tab img {
  width: 24px !important;
  height: 24px !important;
}

img.ui-icon.ui-icon-inline,
.ui-icon-inline {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
}

@media (max-width: 420px) {
  .icon-frame,
  .home-benefit-grid span.icon-frame,
  .home-benefit-grid article > span.icon-frame {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 7px !important;
    margin-bottom: 10px !important;
  }

  .floating-tab {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 8px !important;
  }

  .floating-tab img {
    width: 23px !important;
    height: 23px !important;
  }
}
