/* ============================================================================
   Design tokens — premium telecom red/white/black direction. Reseller branding
   overrides --brand at runtime (see main.js applyBranding); everything else is
   derived so a single primary color re-themes the storefront.
   ========================================================================== */
:root {
  /* Brand / semantic colors */
  --brand: #e50914;            /* primary red */
  --brand-strong: #b00020;
  --brand-tint: rgba(230, 0, 0, 0.12);
  --success: #16a34a;          /* green success */
  --warning: #f59e0b;          /* orange warning */
  --error: #dc2626;            /* red error */
  /* Surfaces / text */
  --bg: #f5f6f8;               /* soft gray sections */
  --surface: #ffffff;          /* white background */
  --text: #14171a;             /* near-black text */
  --muted: #6b7280;
  --border: #e6e8eb;
  /* Spacing scale (4pt base) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  /* Shape / elevation */
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-lg: 0 8px 24px rgba(16, 24, 40, 0.12);
  --max: 1200px;
}

/* AleoFly v251: compact header bell + small notification popover */
body .site-header .header-notification-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body .site-header .header-actions > .mobile-notification-action {
  order: 2 !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !important;
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  background: rgba(255, 255, 255, 0.62) !important;
  color: #071126 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 10px 22px rgba(229, 9, 20, 0.08) !important;
}

body .site-header .header-lang-shell {
  order: 1 !important;
}

body .site-header .header-currency-shell {
  order: 3 !important;
}

body .site-header .header-theme-toggle {
  order: 4 !important;
}

body .site-header .account-header-action {
  order: 5 !important;
}

body .site-header .header-actions > .mobile-notification-action::before,
body .site-header .header-actions > .mobile-notification-action::after {
  display: none !important;
  content: none !important;
}

body .site-header .header-notification-badge {
  top: 4px !important;
  right: 3px !important;
  width: 17px !important;
  min-width: 17px !important;
  height: 17px !important;
  border-color: rgba(255, 244, 246, 0.98) !important;
  box-shadow: 0 4px 10px rgba(229, 9, 20, 0.24) !important;
}

body .site-header .header-notification-menu {
  width: min(324px, calc(100vw - 32px)) !important;
  max-height: min(460px, calc(100vh - 132px)) !important;
  border-color: rgba(255, 213, 220, 0.95) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(180deg, rgba(255, 247, 248, 0.98), rgba(255, 255, 255, 0.99)) !important;
  box-shadow: 0 24px 64px rgba(80, 20, 30, 0.16) !important;
}

body .site-header .header-notification-menu-head {
  min-height: 54px !important;
  padding: 12px 14px !important;
  border-bottom-color: rgba(255, 218, 224, 0.9) !important;
  background: linear-gradient(135deg, #fff4f6, #ffffff) !important;
}

body .site-header .header-notification-menu-head strong {
  color: #071126 !important;
  font-size: 14px !important;
}

body .site-header .header-notification-menu-head span {
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: #ffe8ec !important;
  color: #e50914 !important;
  font-size: 11px !important;
}

body .site-header .header-notification-menu-actions {
  padding: 9px 12px !important;
  background: rgba(255, 250, 251, 0.96) !important;
}

body .site-header .header-notification-menu-actions button {
  min-height: 30px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-size: 10.5px !important;
}

body .site-header .header-notification-item {
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  gap: 9px !important;
  padding: 12px 14px !important;
  border-top-color: rgba(255, 226, 231, 0.72) !important;
}

body .site-header .header-notification-item:hover {
  background: #fff3f5 !important;
}

body .site-header .header-notification-item strong {
  font-size: 12.5px !important;
}

body .site-header .header-notification-item small {
  color: #667085 !important;
  font-size: 11.5px !important;
}

body .site-header .header-notification-empty {
  padding: 20px 14px !important;
  color: #667085 !important;
}

.account-notification-preferences-v250 {
  position: relative;
}

.account-notification-toggle-v250 {
  display: flex !important;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px !important;
  border: 1px solid #ffe0e5;
  border-radius: 16px;
  background: #fff7f8;
}

.account-notification-toggle-v250 input {
  width: 48px !important;
  height: 28px !important;
  order: 2;
}

.account-notification-toggle-v250 span {
  color: #e50914;
  font-weight: 950;
}

@media (max-width: 760px) {
  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    width: clamp(128px, 38vw, 172px) !important;
    min-width: 0 !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: clamp(128px, 38vw, 172px) !important;
    max-width: clamp(128px, 38vw, 172px) !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions {
    gap: 4px !important;
  }

  body .site-header .header-select-shell {
    height: 34px !important;
    min-height: 34px !important;
  }

  body .site-header .header-lang-shell {
    width: 54px !important;
    min-width: 54px !important;
    flex-basis: 54px !important;
  }

  body .site-header .header-currency-shell {
    width: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }

  body .site-header .header-actions > .mobile-notification-action,
  body:has(.aleo-home-v59) .site-header .header-actions > .mobile-notification-action,
  body:has(.checkout-page-v113) .site-header .header-actions > .mobile-notification-action,
  body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex: 0 0 34px !important;
    border-color: #edf1f6 !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body .site-header .header-notification-svg {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 2.2 !important;
  }

  body .site-header .header-notification-badge {
    top: -2px !important;
    right: -2px !important;
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
    border-width: 2px !important;
    font-size: 8px !important;
  }

  body .site-header .header-notification-menu {
    top: calc(100% + 9px) !important;
    right: 0 !important;
    width: min(292px, calc(100vw - 24px)) !important;
    max-height: min(360px, calc(100vh - 110px)) !important;
    border-radius: 16px !important;
  }

  body .site-header .header-notification-menu-head {
    min-height: 48px !important;
    padding: 10px 12px !important;
  }

  body .site-header .header-notification-menu-actions {
    padding: 8px 10px !important;
  }

  body .site-header .header-notification-item {
    padding: 10px 12px !important;
  }

  body .site-header .header-notification-item small {
    -webkit-line-clamp: 1 !important;
  }
}

/* AleoFly v169: one-country category reference redesign and carrier wordmarks. */
.network-icon-strip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
  vertical-align: middle !important;
}

.network-icon {
  width: auto !important;
  min-width: 36px !important;
  max-width: 96px !important;
  height: 24px !important;
  padding: 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border: 1px solid #edf0f4 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #101827 !important;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.07) !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

.network-icon i {
  min-width: 0 !important;
  overflow: hidden !important;
  font-style: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.network-icon-more {
  width: 24px !important;
  height: 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border: 1px solid #e5eaf2 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #071126 !important;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.06) !important;
  cursor: pointer !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.network-icon-more:hover,
.network-icon-more:focus-visible {
  border-color: #e50914 !important;
  color: #e50914 !important;
}

.network-icons-modal-grid .network-icon {
  min-width: 72px !important;
  height: 32px !important;
  padding-inline: 10px !important;
  font-size: 12px !important;
}

.network-turkcell { background: #fff7c0 !important; color: #153a78 !important; border-color: #ffe26a !important; }
.network-orange { background: #ff7900 !important; color: #fff !important; border-color: #ff7900 !important; }
.network-vodafone { background: #fff !important; color: #e60000 !important; border-color: #ffd4d4 !important; }
.network-tmobile,
.network-telekom { background: #fff0f8 !important; color: #e20074 !important; border-color: #ffd1e9 !important; font-size: 13px !important; }
.network-a1 { background: #fff !important; color: #d0021b !important; border-color: #ffd8df !important; font-size: 13px !important; }
.network-three { background: #fff !important; color: #20252e !important; border-color: #cfd8e3 !important; font-size: 15px !important; }
.network-proximus { background: #fff !important; color: #662d91 !important; border-color: #eadcf7 !important; }
.network-base { background: #ecfff2 !important; color: #009a44 !important; border-color: #bff3d0 !important; }
.network-sunrise { background: #fff3ed !important; color: #e74711 !important; border-color: #ffd4bf !important; }
.network-salt { background: #fff !important; color: #111827 !important; border-color: #cfd8e3 !important; font-size: 13px !important; }
.network-swisscom { background: #fff !important; color: #e30613 !important; border-color: #ffd2d8 !important; }
.network-yettel { background: #fff !important; color: #111827 !important; border-color: #d7e1ee !important; }
.network-vivacom { background: #fff !important; color: #111827 !important; border-color: #d7e1ee !important; }
.network-sfr { background: #e30613 !important; color: #fff !important; border-color: #e30613 !important; }
.network-bouygues { background: #eaf7ff !important; color: #009fe3 !important; border-color: #b7e8ff !important; }
.network-tim { background: #fff !important; color: #0b4ea2 !important; border-color: #c8ddff !important; }
.network-windtre { background: #fff5e8 !important; color: #f08300 !important; border-color: #ffdca8 !important; }
.network-kpn { background: #f1fff7 !important; color: #00a651 !important; border-color: #c4f0d5 !important; }
.network-o2 { background: #eef6ff !important; color: #004b93 !important; border-color: #c7e2ff !important; font-size: 13px !important; }
.network-ee { background: #fffbe5 !important; color: #007c89 !important; border-color: #ffec85 !important; font-size: 13px !important; }
.network-etisalat { background: #f1fff2 !important; color: #00843d !important; border-color: #c8f0ce !important; }
.network-du { background: #eafaff !important; color: #00a9e0 !important; border-color: #bceeff !important; font-size: 13px !important; }
.network-att { background: #eefbff !important; color: #0073cf !important; border-color: #bcecff !important; }
.network-docomo { background: #fff !important; color: #d6001c !important; border-color: #ffd3da !important; }
.network-kddi,
.network-au { background: #fff2f2 !important; color: #e60012 !important; border-color: #ffcfd2 !important; }
.network-softbank { background: #fff !important; color: #111827 !important; border-color: #d7e1ee !important; }

.one-country-category-page {
  max-width: 1320px;
  margin: 0 auto;
  padding: 34px 24px 56px;
}

.one-country-category-hero {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid #fde5eb;
  border-radius: 22px;
  background: linear-gradient(100deg, #fff7f9 0%, #fff3f7 49%, #ffeef4 100%);
  box-shadow: 0 18px 46px rgba(229, 9, 20, 0.08);
}

.one-country-category-hero-art {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 0;
  width: 68%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.1) 11%, rgba(0, 0, 0, 0.72) 25%, #000 48%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.1) 11%, rgba(0, 0, 0, 0.72) 25%, #000 48%);
}

.one-country-category-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 76% 48%, rgba(255, 255, 255, 0) 0 30%, rgba(255, 255, 255, 0.42) 78%, #fff8fa 100%),
    linear-gradient(90deg, #fff7f9 0%, rgba(255, 247, 249, 0.96) 35%, rgba(255, 247, 249, 0.18) 64%, rgba(255, 247, 249, 0) 100%);
}

.one-country-category-hero-copy {
  position: relative;
  z-index: 1;
  width: min(55%, 650px);
  padding: 46px 54px;
}

.one-country-category-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.one-country-category-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.one-country-category-breadcrumb strong {
  color: #475569;
  font-weight: 850;
}

.one-country-category-hero .eyebrow {
  margin: 0 0 10px;
  color: #e50914;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: 0.02em;
  text-transform: none;
}

.one-country-category-hero h1 {
  max-width: 620px;
  margin: 0;
  color: #071126;
  font-size: clamp(46px, 5vw, 64px);
  line-height: 0.98;
  font-weight: 950;
  letter-spacing: 0;
}

.one-country-category-hero-copy > p:not(.eyebrow) {
  max-width: 580px;
  margin: 22px 0 34px;
  color: #475569;
  font-size: 21px;
  line-height: 1.35;
  font-weight: 700;
}

[dir='rtl'] .one-country-category-hero {
  direction: ltr;
}

[dir='rtl'] .one-country-category-hero-art {
  left: auto;
  right: 0;
  object-position: center right;
}

[dir='rtl'] .one-country-category-hero::after {
  background:
    radial-gradient(circle at 76% 48%, rgba(255, 255, 255, 0) 0 30%, rgba(255, 255, 255, 0.42) 78%, #fff8fa 100%),
    linear-gradient(90deg, #fff7f9 0%, rgba(255, 247, 249, 0.96) 35%, rgba(255, 247, 249, 0.18) 64%, rgba(255, 247, 249, 0) 100%);
}

[dir='rtl'] .one-country-category-hero-copy {
  margin-left: 0;
  margin-right: auto;
  text-align: right;
  direction: rtl;
}

[dir='rtl'] .one-country-category-breadcrumb,
[dir='rtl'] .one-country-category-cta {
  direction: rtl;
}

.one-country-category-cta {
  width: fit-content;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 0 24px;
  border: 1px solid #eef1f5;
  border-radius: 12px;
  background: #fff;
  color: #071126;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
  font-size: 15px;
  font-weight: 900;
}

.one-country-category-cta .ui-icon {
  width: 18px;
  height: 18px;
  color: #e50914;
}

.one-country-category-search-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: stretch;
  gap: 18px;
  margin-top: 34px;
}

.one-country-category-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  min-height: 66px;
  overflow: hidden;
  border: 1px solid #e5eaf2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.one-country-category-search label {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 0 22px;
  color: #e50914;
}

.one-country-category-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #071126;
  font-size: 16px;
  font-weight: 800;
}

.one-country-category-search input::placeholder {
  color: #8a96a8;
}

.one-country-category-search button {
  border: 0;
  border-left: 1px solid #eef1f5;
  background: #fff;
  color: #e50914;
}

.one-country-category-sort {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  min-height: 66px;
  padding: 0 18px;
  border: 1px solid #e5eaf2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  color: #071126;
  font-size: 15px;
  font-weight: 850;
}

.one-country-category-sort select,
.one-country-category-filter-bar select {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #071126;
  font: inherit;
}

.one-country-category-popover {
  position: absolute;
  z-index: 8;
  left: 0;
  top: calc(100% + 10px);
  width: min(760px, 100%);
  max-height: 430px;
  overflow: auto;
  border: 1px solid #e5eaf2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

.one-country-category-filter-bar {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.one-country-category-filter-bar label {
  min-height: 62px;
  display: grid;
  grid-template-columns: 22px auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border: 1px solid #e5eaf2;
  border-radius: 14px;
  background: #fff;
  color: #071126;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.04);
  font-size: 15px;
  font-weight: 850;
}

.one-country-category-filter-bar .ui-icon {
  color: #071126;
}

.one-country-category-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 28px;
  overflow: hidden;
  border: 1px solid #e5eaf2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
}

.one-country-category-benefits span {
  min-height: 104px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 6px 16px;
  padding: 22px 26px;
  border-right: 1px solid #eef1f5;
}

.one-country-category-benefits span:last-child {
  border-right: 0;
}

.one-country-category-benefits .ui-icon {
  grid-row: 1 / 3;
  width: 31px;
  height: 31px;
  color: #071126;
}

.one-country-category-benefits strong {
  color: #071126;
  font-size: 14px;
  font-weight: 950;
}

.one-country-category-benefits small {
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

.one-country-category-plans {
  margin-top: 42px;
}

.one-country-category-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.one-country-category-section-head h2 {
  margin: 0;
  color: #071126;
  font-size: 27px;
  line-height: 1.1;
  font-weight: 950;
}

.one-country-category-section-head .see-all {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #e50914;
  text-decoration: none;
  font-size: 15px;
  font-weight: 950;
}

.one-country-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.one-country-category-card {
  position: relative;
  min-height: 218px;
  display: grid;
  grid-template-rows: auto auto auto minmax(38px, auto) auto;
  gap: 11px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid #e5eaf2;
  border-radius: 18px;
  background: #fff;
  color: #071126;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.one-country-category-card:hover,
.one-country-category-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(229, 9, 20, 0.28);
  box-shadow: 0 22px 42px rgba(229, 9, 20, 0.11);
}

.one-country-category-card header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
}

.one-country-category-card header > span {
  min-width: 0;
  display: inline-grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.one-country-category-card .country-mini-flag {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.one-country-category-card header strong {
  min-width: 0;
  display: -webkit-box;
  overflow: hidden;
  color: #071126;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 950;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.one-country-category-card header b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #e50914;
  font-size: 19px;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}

.one-country-category-card header b .ui-icon {
  width: 16px;
  height: 16px;
}

.one-country-category-card > p {
  margin: -2px 0 0 54px;
  color: #64748b;
  font-size: 15px;
  font-weight: 850;
}

.one-country-category-card > em {
  width: fit-content;
  margin-left: 54px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff3f5;
  color: #e50914;
  font-style: normal;
  font-size: 12px;
  font-weight: 950;
}

.one-country-category-networks {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.one-country-category-networks small {
  color: #071126;
  font-size: 12px;
  font-weight: 950;
}

.one-country-category-card footer,
.one-country-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.one-country-category-card footer span,
.one-country-badges span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff4f6;
  color: #e50914;
  font-size: 12px;
  font-weight: 950;
}

.one-country-category-card footer .ui-icon,
.one-country-badges .ui-icon {
  width: 14px;
  height: 14px;
}

.one-country-category-plans.is-collapsed [data-display-overflow] {
  display: none;
}

.one-country-load-more {
  width: min(390px, 100%);
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 28px auto 0;
  border: 1px solid #e5eaf2;
  border-radius: 999px;
  background: #fff;
  color: #071126;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  font-size: 15px;
  font-weight: 950;
}

.one-country-load-more .ui-icon {
  width: 20px;
  height: 20px;
  color: #e50914;
}

@media (max-width: 1020px) {
  .one-country-category-hero-copy {
    width: 62%;
    padding: 36px 34px;
  }

  .one-country-category-hero-art {
    width: 72%;
  }

  .one-country-category-grid,
  .one-country-category-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .one-country-category-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .one-country-category-benefits span:nth-child(2) {
    border-right: 0;
  }
}

/* AleoFly v184: post-purchase account flow, no dashboard wallet top-up block, no fake table controls. */
.account-dashboard-v174:not(.account-data-shell-v175) .account-main-panel {
  max-width: none !important;
}

.account-dashboard-v174 .account-wallet-topup {
  display: none !important;
}

.account-settings-head-v183 {
  min-height: auto !important;
  align-items: center !important;
  padding: 18px 20px !important;
}

.account-settings-head-v183 h1 {
  font-size: clamp(25px, 2.2vw, 32px) !important;
}

.account-settings-head-v183 p {
  max-width: 680px !important;
}

.account-continue-card-v184 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: center;
  padding: 20px;
  border: 1px solid #ffd7dd;
  border-radius: 20px;
  background:
    radial-gradient(circle at 86% 18%, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0) 28%),
    linear-gradient(135deg, #fff5f6 0%, #fff 45%, #f7fbff 100%);
  box-shadow: 0 18px 46px rgba(229, 9, 20, 0.075);
}

.account-continue-copy-v184 {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.account-continue-copy-v184 > span {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  color: #e50914;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 8px 20px rgba(229, 9, 20, 0.08);
}

.account-continue-copy-v184 .ui-icon {
  width: 16px;
  height: 16px;
}

.account-continue-copy-v184 h2 {
  margin: 0;
  color: #071126;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.04;
  overflow-wrap: anywhere;
}

.account-continue-copy-v184 p {
  margin: 0;
  color: #66758c;
  font-size: 14px;
  font-weight: 850;
}

.account-continue-metrics-v184 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 4px;
}

.account-continue-metrics-v184 b,
.account-order-usage-v184 span {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #edf2f7;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.86);
  color: #071126;
  font-size: 15px;
  font-weight: 950;
}

.account-continue-metrics-v184 small,
.account-order-usage-v184 small {
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.account-continue-side-v184 {
  display: grid;
  justify-items: end;
  gap: 14px;
}

.account-continue-flag-v184 {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14);
}

.account-flow-actions-v184 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.account-flow-actions-v184 .btn,
.account-flow-actions-v184 .btn-ghost {
  min-height: 42px;
  border-radius: 12px;
  padding-inline: 14px;
  font-size: 13px;
  font-weight: 950;
}

.account-flow-actions-v184 .btn {
  background: #e50914;
  color: #fff;
  box-shadow: 0 12px 26px rgba(229, 9, 20, 0.22);
}

.account-flow-actions-v184 .btn-ghost {
  border: 1px solid #e5edf7;
  background: #fff;
  color: #071126;
}

.account-continue-ready,
.account-continue-active {
  border-color: #c6f6d5;
  background:
    radial-gradient(circle at 88% 12%, rgba(16, 185, 129, 0.16), transparent 30%),
    linear-gradient(135deg, #f0fff8, #fff 44%, #f7fbff);
}

.account-continue-issuing {
  border-color: #fde68a;
  background:
    radial-gradient(circle at 88% 12%, rgba(245, 158, 11, 0.16), transparent 30%),
    linear-gradient(135deg, #fffaf0, #fff 48%, #f7fbff);
}

.account-continue-failed {
  border-color: #fecdd3;
  background:
    radial-gradient(circle at 88% 12%, rgba(229, 9, 20, 0.16), transparent 30%),
    linear-gradient(135deg, #fff1f2, #fff 50%, #f7fbff);
}

.account-esim-tabs-v175 > span,
.account-esim-section-head > div > span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #edf2f7;
  border-radius: 11px;
  background: #fff;
  color: #071126;
  font-size: 12px;
  font-weight: 950;
}

.account-esim-tabs-v175 > span.active,
.account-esim-section-head > div > span.active {
  border-color: #ffdbe0;
  background: #fff1f3;
  color: #e50914;
}

.account-esim-view-label-v184 .ui-icon {
  width: 15px;
  height: 15px;
}

.account-order-card-v184 {
  grid-template-columns: minmax(250px, 1.1fr) 150px minmax(210px, 0.9fr) 110px 220px !important;
  min-height: 132px !important;
}

.account-order-usage-v184 {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.account-order-usage-v184 span {
  padding: 8px 10px;
  background: #fbfdff;
}

.account-order-card-actions-v184 {
  width: auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.account-order-card-actions-v184 .account-flow-actions-v184 {
  display: contents;
}

.account-order-card-actions-v184 .btn,
.account-order-card-actions-v184 .btn-ghost {
  min-height: 38px;
  justify-content: center;
  border-radius: 11px;
  font-size: 12px;
}

.account-order-linked-esim-v184 {
  display: grid;
  gap: 14px;
}

.account-order-linked-esim-v184 .account-esim-row-v175 {
  box-shadow: none !important;
}

.account-dashboard-lower {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(260px, 0.75fr) !important;
}

@media (max-width: 1120px) {
  .account-continue-card-v184,
  .account-order-card-v184 {
    grid-template-columns: 1fr !important;
  }

  .account-continue-side-v184 {
    justify-items: start;
  }

  .account-flow-actions-v184 {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .account-settings-head-v183 {
    display: grid !important;
    gap: 10px !important;
    padding: 15px !important;
    border-radius: 17px !important;
  }

  .account-settings-head-v183 h1 {
    font-size: 25px !important;
  }

  .account-continue-card-v184 {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
    padding: 15px !important;
    border-radius: 18px !important;
  }

  .account-continue-copy-v184 h2 {
    font-size: 24px !important;
  }

  .account-continue-metrics-v184 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .account-continue-side-v184 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .account-continue-flag-v184 {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
  }

  .account-flow-actions-v184 {
    width: 100% !important;
    justify-content: stretch !important;
  }

  .account-flow-actions-v184 .btn,
  .account-flow-actions-v184 .btn-ghost {
    flex: 1 1 100%;
    justify-content: center;
    min-height: 44px;
  }

  .account-dashboard-lower {
    grid-template-columns: 1fr !important;
  }

  .account-order-card-v184 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-height: 0 !important;
  }

  .account-order-card-v184 .account-order-card-meta-v183 {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  .account-order-card-v184 .account-order-card-total-v183 {
    grid-column: auto !important;
    justify-self: start;
  }

  .account-order-usage-v184 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .account-order-card-actions-v184 {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .account-esim-row-v175 {
    grid-template-columns: minmax(0, 1fr) 28px !important;
  }

  .account-esim-row-action {
    display: block !important;
    grid-column: 1 / -1 !important;
  }

  .account-esim-row-action .btn,
  .account-esim-row-action .btn-ghost {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* AleoFly v185 FINAL: header logo/nav scale and soft brand gradient across every route. */
body .site-header {
  min-height: 112px !important;
  padding: 0 62px !important;
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
  border-bottom: 1px solid rgba(229, 9, 20, 0.09) !important;
  background:
    radial-gradient(circle at 9% 42%, rgba(229, 9, 20, 0.105) 0, rgba(229, 9, 20, 0.038) 24%, rgba(255, 255, 255, 0) 48%),
    linear-gradient(90deg, #fff7f9 0%, #ffffff 34%, #ffffff 63%, #fff6f8 100%) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035) !important;
}

body .site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
  min-width: 244px !important;
  width: 244px !important;
  height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 244px !important;
  overflow: visible !important;
}

body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
  width: 226px !important;
  max-width: 226px !important;
  height: 86px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 8px 14px rgba(229, 9, 20, 0.09)) !important;
}

body .site-header > .brand .brand-text {
  display: none !important;
}

body .site-header > .top-nav,
body:has(.aleo-home-v59) .site-header > .top-nav,
body:has(.checkout-page-v113) .site-header > .top-nav,
body:has(.one-country-page) .site-header > .top-nav,
body:has(.one-country-category-page) .site-header > .top-nav,
body:has(.account-dashboard-v174) .site-header > .top-nav {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(26px, 3.2vw, 54px) !important;
  min-width: 0 !important;
}

body .site-header > .top-nav a,
body:has(.aleo-home-v59) .site-header > .top-nav a,
body:has(.checkout-page-v113) .site-header > .top-nav a,
body:has(.one-country-page) .site-header > .top-nav a,
body:has(.one-country-category-page) .site-header > .top-nav a,
body:has(.account-dashboard-v174) .site-header > .top-nav a {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 2px !important;
  color: #071126 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body .site-header > .top-nav a.active,
body .site-header > .top-nav a:hover,
body:has(.aleo-home-v59) .site-header > .top-nav a.active,
body:has(.aleo-home-v59) .site-header > .top-nav a:hover,
body:has(.checkout-page-v113) .site-header > .top-nav a.active,
body:has(.checkout-page-v113) .site-header > .top-nav a:hover,
body:has(.one-country-page) .site-header > .top-nav a.active,
body:has(.one-country-page) .site-header > .top-nav a:hover,
body:has(.one-country-category-page) .site-header > .top-nav a.active,
body:has(.one-country-category-page) .site-header > .top-nav a:hover,
body:has(.account-dashboard-v174) .site-header > .top-nav a.active,
body:has(.account-dashboard-v174) .site-header > .top-nav a:hover {
  color: #e50914 !important;
}

body .site-header > .header-actions,
body:has(.aleo-home-v59) .site-header > .header-actions,
body:has(.checkout-page-v113) .site-header > .header-actions,
body:has(.one-country-page) .site-header > .header-actions,
body:has(.one-country-category-page) .site-header > .header-actions,
body:has(.account-dashboard-v174) .site-header > .header-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex: 0 0 auto !important;
}

body .site-header .header-actions .lang-select,
body .site-header .header-actions .currency-select,
body:has(.aleo-home-v59) .site-header .header-actions .lang-select,
body:has(.aleo-home-v59) .site-header .header-actions .currency-select,
body:has(.one-country-page) .site-header .header-actions .lang-select,
body:has(.one-country-page) .site-header .header-actions .currency-select,
body:has(.account-dashboard-v174) .site-header .header-actions .lang-select,
body:has(.account-dashboard-v174) .site-header .header-actions .currency-select {
  min-height: 46px !important;
  padding: 0 18px !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.68) !important;
  color: #071126 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: none !important;
}

body .site-header .header-actions > a[href="/login"],
body .site-header .header-actions .account-header-action {
  min-height: 54px !important;
  padding: 0 28px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

body .site-header .header-actions > button[data-toggle-theme-quick] {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  border-radius: 18px !important;
  border-color: rgba(229, 9, 20, 0.12) !important;
  background: rgba(255, 255, 255, 0.74) !important;
}

@media (max-width: 1120px) {
  body .site-header {
    min-height: 102px !important;
    padding-inline: 28px !important;
    gap: 20px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    min-width: 210px !important;
    width: 210px !important;
    flex-basis: 210px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 202px !important;
    max-width: 202px !important;
    height: 76px !important;
    max-height: 76px !important;
  }

  body .site-header > .top-nav {
    gap: 24px !important;
  }

  body .site-header > .top-nav a {
    font-size: 15px !important;
  }
}

@media (max-width: 760px) {
  body .site-header {
    min-height: 132px !important;
    padding: 15px 18px 13px !important;
    align-items: center !important;
    background:
      radial-gradient(circle at 46% 18%, rgba(229, 9, 20, 0.105), rgba(255, 255, 255, 0) 48%),
      linear-gradient(180deg, #fff7f9 0%, #ffffff 74%) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035) !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav {
    display: none !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    min-width: 198px !important;
    width: 198px !important;
    height: 86px !important;
    flex: 0 0 198px !important;
    justify-content: flex-start !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 188px !important;
    max-width: 188px !important;
    height: 76px !important;
    max-height: 76px !important;
    object-fit: contain !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions {
    margin-left: auto !important;
    gap: 9px !important;
  }

  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select {
    min-width: 70px !important;
    max-width: 78px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(229, 9, 20, 0.10) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    font-size: 12px !important;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.06) !important;
  }

  body .site-header .header-actions > button[data-toggle-theme-quick],
  body .site-header .header-actions > .mobile-notification-action {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
  }

  body .site-header .header-actions > a:not(.mobile-notification-action),
  body .site-header .header-actions .account-header-action {
    min-height: 40px !important;
    padding: 0 13px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 390px) {
  body .site-header {
    padding-inline: 14px !important;
    gap: 8px !important;
  }

  body .site-header > .brand.brand-image-lockup {
    min-width: 176px !important;
    width: 176px !important;
    flex-basis: 176px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image {
    width: 170px !important;
    max-width: 170px !important;
  }

  body .site-header .header-actions .lang-select {
    display: none !important;
  }
}

/* AleoFly v185: global header scale and soft brand gradient across every route. */
body .site-header {
  min-height: 112px !important;
  padding: 0 62px !important;
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
  border-bottom: 1px solid rgba(229, 9, 20, 0.09) !important;
  background:
    radial-gradient(circle at 9% 42%, rgba(229, 9, 20, 0.105) 0, rgba(229, 9, 20, 0.038) 24%, rgba(255, 255, 255, 0) 48%),
    linear-gradient(90deg, #fff7f9 0%, #ffffff 34%, #ffffff 63%, #fff6f8 100%) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035) !important;
}

body .site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
  min-width: 244px !important;
  width: 244px !important;
  height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 244px !important;
  overflow: visible !important;
}

body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
  width: 226px !important;
  max-width: 226px !important;
  height: 86px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 8px 14px rgba(229, 9, 20, 0.09)) !important;
}

body .site-header > .brand .brand-text {
  display: none !important;
}

body .site-header > .top-nav,
body:has(.aleo-home-v59) .site-header > .top-nav,
body:has(.checkout-page-v113) .site-header > .top-nav,
body:has(.one-country-page) .site-header > .top-nav,
body:has(.one-country-category-page) .site-header > .top-nav,
body:has(.account-dashboard-v174) .site-header > .top-nav {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(26px, 3.2vw, 54px) !important;
  min-width: 0 !important;
}

body .site-header > .top-nav a,
body:has(.aleo-home-v59) .site-header > .top-nav a,
body:has(.checkout-page-v113) .site-header > .top-nav a,
body:has(.one-country-page) .site-header > .top-nav a,
body:has(.one-country-category-page) .site-header > .top-nav a,
body:has(.account-dashboard-v174) .site-header > .top-nav a {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 2px !important;
  color: #071126 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body .site-header > .top-nav a.active,
body .site-header > .top-nav a:hover,
body:has(.aleo-home-v59) .site-header > .top-nav a.active,
body:has(.aleo-home-v59) .site-header > .top-nav a:hover,
body:has(.checkout-page-v113) .site-header > .top-nav a.active,
body:has(.checkout-page-v113) .site-header > .top-nav a:hover,
body:has(.one-country-page) .site-header > .top-nav a.active,
body:has(.one-country-page) .site-header > .top-nav a:hover,
body:has(.one-country-category-page) .site-header > .top-nav a.active,
body:has(.one-country-category-page) .site-header > .top-nav a:hover,
body:has(.account-dashboard-v174) .site-header > .top-nav a.active,
body:has(.account-dashboard-v174) .site-header > .top-nav a:hover {
  color: #e50914 !important;
}

body .site-header > .header-actions,
body:has(.aleo-home-v59) .site-header > .header-actions,
body:has(.checkout-page-v113) .site-header > .header-actions,
body:has(.one-country-page) .site-header > .header-actions,
body:has(.one-country-category-page) .site-header > .header-actions,
body:has(.account-dashboard-v174) .site-header > .header-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex: 0 0 auto !important;
}

body .site-header .header-actions .lang-select,
body .site-header .header-actions .currency-select,
body:has(.aleo-home-v59) .site-header .header-actions .lang-select,
body:has(.aleo-home-v59) .site-header .header-actions .currency-select,
body:has(.one-country-page) .site-header .header-actions .lang-select,
body:has(.one-country-page) .site-header .header-actions .currency-select,
body:has(.account-dashboard-v174) .site-header .header-actions .lang-select,
body:has(.account-dashboard-v174) .site-header .header-actions .currency-select {
  min-height: 46px !important;
  padding: 0 18px !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.68) !important;
  color: #071126 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: none !important;
}

body .site-header .header-actions > a[href="/login"],
body .site-header .header-actions .account-header-action {
  min-height: 54px !important;
  padding: 0 28px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

body .site-header .header-actions > button[data-toggle-theme-quick] {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  border-radius: 18px !important;
  border-color: rgba(229, 9, 20, 0.12) !important;
  background: rgba(255, 255, 255, 0.74) !important;
}

@media (max-width: 1120px) {
  body .site-header {
    min-height: 102px !important;
    padding-inline: 28px !important;
    gap: 20px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    min-width: 210px !important;
    width: 210px !important;
    flex-basis: 210px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 202px !important;
    max-width: 202px !important;
    height: 76px !important;
    max-height: 76px !important;
  }

  body .site-header > .top-nav {
    gap: 24px !important;
  }

  body .site-header > .top-nav a {
    font-size: 15px !important;
  }
}

@media (max-width: 760px) {
  body .site-header {
    min-height: 132px !important;
    padding: 15px 18px 13px !important;
    align-items: center !important;
    background:
      radial-gradient(circle at 46% 18%, rgba(229, 9, 20, 0.105), rgba(255, 255, 255, 0) 48%),
      linear-gradient(180deg, #fff7f9 0%, #ffffff 74%) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035) !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav {
    display: none !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    min-width: 198px !important;
    width: 198px !important;
    height: 86px !important;
    flex: 0 0 198px !important;
    justify-content: flex-start !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 188px !important;
    max-width: 188px !important;
    height: 76px !important;
    max-height: 76px !important;
    object-fit: contain !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions {
    margin-left: auto !important;
    gap: 9px !important;
  }

  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select {
    min-width: 70px !important;
    max-width: 78px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(229, 9, 20, 0.10) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    font-size: 12px !important;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.06) !important;
  }

  body .site-header .header-actions > button[data-toggle-theme-quick],
  body .site-header .header-actions > .mobile-notification-action {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
  }

  body .site-header .header-actions > a:not(.mobile-notification-action),
  body .site-header .header-actions .account-header-action {
    min-height: 40px !important;
    padding: 0 13px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 390px) {
  body .site-header {
    padding-inline: 14px !important;
    gap: 8px !important;
  }

  body .site-header > .brand.brand-image-lockup {
    min-width: 176px !important;
    width: 176px !important;
    flex-basis: 176px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image {
    width: 170px !important;
    max-width: 170px !important;
  }

  body .site-header .header-actions .lang-select {
    display: none !important;
  }
}

@media (max-width: 760px) {
  main.app:has(.one-country-category-page) {
    max-width: none !important;
    width: 100% !important;
    padding: 0 0 74px !important;
    background: #fff !important;
  }

  .one-country-category-page {
    width: 100%;
    padding: 12px 13px 26px;
  }

  .one-country-category-hero {
    min-height: 270px;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(229, 9, 20, 0.08);
  }

  .one-country-category-hero-art {
    width: 86%;
    object-position: center right;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.16) 19%, rgba(0, 0, 0, 0.82) 39%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.16) 19%, rgba(0, 0, 0, 0.82) 39%, #000 100%);
  }

  .one-country-category-hero::after {
    background:
      radial-gradient(circle at 82% 52%, rgba(255, 255, 255, 0) 0 34%, rgba(255, 255, 255, 0.66) 91%, #fff8fa 100%),
      linear-gradient(90deg, #fff7f9 0%, rgba(255, 247, 249, 0.98) 37%, rgba(255, 247, 249, 0.16) 72%, rgba(255, 247, 249, 0) 100%);
  }

  .one-country-category-hero-copy {
    width: 60%;
    max-width: 250px;
    padding: 22px 18px;
  }

  .one-country-category-breadcrumb {
    margin-bottom: 20px;
    gap: 7px;
    font-size: 9.5px;
  }

  .one-country-category-hero .eyebrow {
    margin-bottom: 8px;
    font-size: 10px;
  }

  .one-country-category-hero h1 {
    font-size: 30px;
    line-height: 1.02;
  }

  .one-country-category-hero-copy > p:not(.eyebrow) {
    max-width: 190px;
    margin: 13px 0 16px;
    color: #334155;
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 800;
  }

  .one-country-category-cta {
    min-height: 40px;
    gap: 10px;
    padding: 0 14px;
    border-radius: 9px;
    font-size: 10.5px;
  }

  .one-country-category-search-shell {
    grid-template-columns: minmax(0, 1fr) 110px;
    gap: 8px;
    margin-top: 18px;
  }

  .one-country-category-search {
    min-height: 52px;
    grid-template-columns: minmax(0, 1fr) 0;
    border-radius: 13px;
  }

  .one-country-category-search label {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    padding: 0 14px;
  }

  .one-country-category-search input {
    font-size: 12.5px;
  }

  .one-country-category-search button {
    display: none;
  }

  .one-country-category-sort {
    min-height: 52px;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 10px;
    border-radius: 13px;
    font-size: 11px;
  }

  .one-country-category-sort span {
    display: none;
  }

  .one-country-category-popover {
    width: 100%;
    max-height: 310px;
  }

  .one-country-category-filter-bar {
    display: flex;
    gap: 8px;
    margin: 14px -13px 0;
    padding: 0 13px 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .one-country-category-filter-bar::-webkit-scrollbar {
    display: none;
  }

  .one-country-category-filter-bar label {
    min-width: 118px;
    min-height: 48px;
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 7px;
    padding: 0 11px;
    border-radius: 12px;
    font-size: 11px;
  }

  .one-country-category-filter-bar label span {
    display: none;
  }

  .one-country-category-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 10px;
    border-radius: 14px;
  }

  .one-country-category-benefits span {
    min-height: 72px;
    grid-template-columns: 27px minmax(0, 1fr);
    gap: 3px 8px;
    padding: 12px 10px;
  }

  .one-country-category-benefits span:nth-child(2n) {
    border-right: 0;
  }

  .one-country-category-benefits .ui-icon {
    width: 22px;
    height: 22px;
  }

  .one-country-category-benefits strong {
    font-size: 9.5px;
  }

  .one-country-category-benefits small {
    font-size: 8.4px;
  }

  .one-country-category-plans {
    margin-top: 22px;
  }

  .one-country-category-section-head {
    margin-bottom: 12px;
  }

  .one-country-category-section-head h2 {
    font-size: 18px;
  }

  .one-country-category-section-head .see-all {
    font-size: 11px;
  }

  .one-country-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .one-country-category-card {
    min-height: 186px;
    gap: 8px;
    padding: 12px 10px;
    border-radius: 13px;
  }

  .one-country-category-card header {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .one-country-category-card header > span {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    padding-right: 52px;
  }

  .one-country-category-card .country-mini-flag {
    width: 28px;
    height: 28px;
  }

  .one-country-category-card header strong {
    font-size: 12px;
  }

  .one-country-category-card header b {
    position: absolute;
    top: 13px;
    right: 10px;
    font-size: 13px;
  }

  .one-country-category-card header b .ui-icon {
    width: 13px;
    height: 13px;
  }

  .one-country-category-card > p {
    margin: -4px 0 0 38px;
    font-size: 10px;
  }

  .one-country-category-card > em {
    margin-left: 38px;
    padding: 3px 7px;
    font-size: 8.6px;
  }

  .one-country-category-networks {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .one-country-category-networks small {
    font-size: 8.8px;
  }

  .network-icon-strip {
    gap: 4px !important;
  }

  .network-icon {
    min-width: 30px !important;
    max-width: 62px !important;
    height: 21px !important;
    padding: 0 5px !important;
    border-radius: 6px !important;
    font-size: 8px !important;
  }

  .network-tmobile,
  .network-telekom,
  .network-a1,
  .network-three,
  .network-o2,
  .network-ee {
    font-size: 10px !important;
  }

  .network-icon-more {
    width: 21px !important;
    height: 21px !important;
    border-radius: 6px !important;
  }

  .one-country-category-card footer,
  .one-country-badges {
    gap: 5px;
  }

  .one-country-category-card footer span,
  .one-country-badges span {
    min-height: 22px;
    gap: 4px;
    padding: 0 7px;
    font-size: 8.5px;
  }

  .one-country-category-card footer .ui-icon,
  .one-country-badges .ui-icon {
    width: 11px;
    height: 11px;
  }

  .one-country-load-more {
    min-height: 48px;
    margin-top: 16px;
    font-size: 12px;
  }
}

/* AleoFly v154: tighter mobile home reference pass. */
@media (max-width: 760px) {
  body:has(.aleo-home-v59) .site-header > .header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    width: 44px !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 !important;
  }

  body:has(.aleo-home-v59) .header-actions > a[href] {
    position: relative !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #edf0f4 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body:has(.aleo-home-v59) .header-actions > a[href]::before {
    content: "" !important;
    width: 15px !important;
    height: 17px !important;
    border: 2px solid #071126 !important;
    border-top-left-radius: 9px !important;
    border-top-right-radius: 9px !important;
    border-bottom: 0 !important;
  }

  body:has(.aleo-home-v59) .header-actions > a[href]::after {
    content: "" !important;
    position: absolute !important;
    top: 7px !important;
    right: 7px !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: #e50914 !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    min-height: 388px !important;
    padding: 30px 16px 100px !important;
    background: #fff !important;
  }

  .aleo-home-desktop-ref .hero-copy {
    position: static !important;
    width: 50% !important;
    max-width: 168px !important;
  }

  .aleo-home-desktop-ref .hero-copy h1,
  .aleo-home-desktop-ref .hero-copy .hero-sub {
    position: relative !important;
    z-index: 4 !important;
  }

  .aleo-home-desktop-ref .aleo-home-art {
    left: 98px !important;
    right: -80px !important;
    top: 4px !important;
    height: 286px !important;
    min-height: 286px !important;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    width: 382px !important;
    height: 286px !important;
    object-position: center bottom !important;
  }

  .aleo-home-desktop-ref .home-phone-ui {
    position: absolute !important;
    left: 54% !important;
    top: 61% !important;
    z-index: 5 !important;
    width: 64px !important;
    height: 118px !important;
    min-height: 0 !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 6px !important;
    padding: 13px 6px 9px !important;
    border: 2px solid rgba(8, 10, 20, 0.8) !important;
    border-radius: 14px !important;
    background: linear-gradient(160deg, #fa1b25 0%, #df0712 58%, #a5000a 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 10px 18px rgba(118, 0, 10, 0.22) !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    pointer-events: none !important;
  }

  .home-phone-ui::before {
    content: "" !important;
    position: absolute !important;
    top: 6px !important;
    left: 50% !important;
    width: 24px !important;
    height: 5px !important;
    border-radius: 0 0 999px 999px !important;
    background: #111827 !important;
    transform: translateX(-50%) !important;
  }

  .home-phone-ui span {
    margin-top: 3px !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .home-phone-ui strong {
    padding: 3px 5px !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 5px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .home-phone-qr {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2px !important;
    padding: 4px !important;
    border: 2px solid #fff !important;
    border-radius: 4px !important;
    background: rgba(5, 12, 26, 0.14) !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 12px !important;
    z-index: 6 !important;
    display: grid !important;
    width: auto !important;
    max-width: none !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip div {
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 9px 3px 8px !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip strong {
    max-width: 58px !important;
    margin: 0 auto !important;
    font-size: 8.7px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip small {
    font-size: 7px !important;
    line-height: 1.08 !important;
  }

  .home-plan-card {
    grid-template-columns: minmax(0, 1fr) 88px !important;
    overflow: hidden !important;
  }

  .home-plan-action {
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 88px !important;
    min-width: 0 !important;
    max-width: 88px !important;
    justify-self: end !important;
    padding: 0 7px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    background: #e50914 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    transform: none !important;
    white-space: nowrap !important;
  }

  .aleo-home-desktop-ref .region-showcase-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .aleo-home-desktop-ref .region-showcase-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 86px !important;
    padding: 10px !important;
    border-radius: 8px !important;
  }

  .aleo-home-desktop-ref .region-showcase-card strong {
    font-size: 15px !important;
    line-height: 1.02 !important;
  }

  .aleo-home-desktop-ref .region-showcase-card small,
  .aleo-home-desktop-ref .region-showcase-card em {
    font-size: 9px !important;
  }

  .aleo-home-desktop-ref .region-showcase-card b {
    right: 8px !important;
    bottom: 8px !important;
    width: 28px !important;
    height: 28px !important;
  }

  body:has(.aleo-home-v59) .aleo-home-desktop-ref .region-showcase-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    overflow: visible !important;
  }

  body:has(.aleo-home-v59) .aleo-home-desktop-ref .region-showcase-card {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}
[data-theme='dark'] {
  --brand-tint: rgba(255, 99, 99, 0.16);
  --bg: #0d1117;
  --surface: #161b22;
  --text: #e6edf3;
  --muted: #9aa4b2;
  --border: #30363d;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 10px 28px rgba(0, 0, 0, 0.6);
}
* { box-sizing: border-box; }
/* Native form controls (radio/checkbox/range) adopt the brand color. */
input[type="checkbox"], input[type="radio"], input[type="range"], progress { accent-color: var(--brand); }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
code { background: rgba(127, 127, 127, 0.15); padding: 2px 6px; border-radius: 6px; }
.muted { color: var(--muted); }

/* Header / footer */
.site-header {
  display: flex; align-items: center; gap: 20px;
  padding: 14px 24px; background: var(--surface);
  border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 10;
}
.brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; }
.brand .logo { height: 28px; }
.top-nav { display: flex; gap: 18px; }
.top-nav a:hover { color: var(--brand); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.site-footer {
  padding: 32px 24px; color: var(--muted); border-top: 1px solid var(--border);
  margin-top: 48px; display: flex; gap: 12px; align-items: center;
}
.footer-demo { background: #b45309; color: #fff; border-radius: 999px; padding: 2px 10px; font-size: 12px; }

.app { max-width: var(--max); margin: 0 auto; padding: 24px; }

/* Buttons */
.btn { background: var(--brand); color: #fff; border: 0; border-radius: var(--radius); padding: 12px 20px; font-size: 15px; cursor: pointer; }
.btn:hover { filter: brightness(1.05); }
.btn:disabled { opacity: 0.6; cursor: default; }
.btn-ghost { background: transparent; color: var(--brand); border: 1px solid var(--border); border-radius: var(--radius); padding: 8px 14px; cursor: pointer; }
.btn-buy { font-size: 18px; padding: 14px 28px; margin-top: 12px; }

/* Hero + search */
.hero { text-align: center; padding: 48px 16px; }
.hero h1 { font-size: 36px; margin: 0 0 8px; }
.search-bar { display: flex; gap: 8px; max-width: 560px; margin: 24px auto 0; }
.search-bar input { flex: 1; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); }

/* Rows + grid */
.row { margin: 36px 0; }
.row-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.row-head h2 { margin: 0; font-size: 20px; }
.see-all { color: var(--brand); font-size: 14px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }

/* Cards */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); display: block; }
.esim-card-link { display: block; color: inherit; }
.esim-card-actions { display: flex; gap: 10px; margin-top: 14px; }
.esim-card-actions .btn,
.esim-card-actions .btn-ghost { text-align: center; }
.plan-card:hover { border-color: var(--brand); }
.plan-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.plan-head h3 { margin: 0; font-size: 16px; }
.plan-title { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; }
.plan-flag { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #eef2f5; flex: 0 0 auto; font-size: 22px; }
.plan-flag-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; max-width: 160px; flex: 0 0 auto; }
.plan-flag-small { width: 20px; height: 20px; font-size: 12px; }
.plan-flag-small .flag-img { width: 100%; height: 100%; object-fit: cover; }
.price-stack { display: grid; justify-items: end; line-height: 1.1; }
.price { font-weight: 700; color: var(--brand); white-space: nowrap; }
.old-price { color: var(--muted); text-decoration: line-through; font-size: 12px; white-space: nowrap; }
.plan-meta { color: var(--muted); display: flex; gap: 6px; margin: 8px 0; font-size: 14px; }
.badges { display: flex; gap: 6px; flex-wrap: wrap; }
.badge { background: var(--brand-tint); color: var(--brand); border-radius: 999px; padding: 2px 10px; font-size: 12px; }
.badge-discount { background: #ffe34d; color: #111; font-weight: 800; }

.country-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.country-chip { display: flex; align-items: center; gap: 10px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; }
.country-chip:hover { border-color: var(--brand); }
.country-chip .cc { font-weight: 700; background: rgba(127,127,127,0.12); border-radius: 6px; padding: 2px 8px; }
.country-chip .country-flag { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0; font-size: 22px; }

/* Status */
.status { border-radius: 999px; padding: 2px 10px; font-size: 12px; background: rgba(127,127,127,0.15); text-transform: capitalize; }
.status-active { background: #16a34a22; color: #16a34a; }
.status-expired, .status-cancelled { background: #dc262622; color: #dc2626; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }
.chip { background: rgba(127,127,127,0.12); border-radius: 6px; padding: 2px 8px; font-size: 13px; }
.flag-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; }
.chip-flag { width: 20px; height: 20px; border-radius: 50%; overflow: hidden; flex: 0 0 auto; }
.chip-flag .flag-img { width: 100%; height: 100%; object-fit: cover; }

/* Search layout */
.search-layout { display: grid; grid-template-columns: 260px 1fr; gap: 24px; }
.filters form { display: flex; flex-direction: column; gap: 10px; }
.filters label, .checkout-form label, .auth-card label, .settings-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.filters input, .filters select, .checkout-form input, .auth-card input, .settings-grid select, .settings-grid input, textarea {
  padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text);
}
.check { flex-direction: row !important; align-items: center; gap: 8px; }

.app-search-page {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
}
.app-page-title {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: 10px;
}
.app-page-title h1 {
  margin: 0;
  text-align: center;
  font-size: 30px;
  line-height: 1.08;
}
.country-search-card {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 12px 16px;
  box-shadow: var(--shadow);
}
.country-search-card span {
  color: var(--muted);
  font-size: 22px;
}
.country-search-card input {
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  min-height: 36px;
  font: inherit;
  font-size: 18px;
}
.country-result-list {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.country-result-row {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
}
.country-result-row:last-child { border-bottom: 0; }
.country-result-row[hidden] { display: none; }
.country-result-flag {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(127,127,127,0.10);
  font-size: 24px;
}
.country-result-row strong {
  display: block;
  font-size: 18px;
}
.country-result-row small {
  color: var(--muted);
  display: block;
}
.country-result-row b {
  color: var(--muted);
  font-size: 26px;
  font-weight: 500;
}

/* Plan detail */
.plan-detail h1 { margin-top: 0; }
.plan-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.plan-detail dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; }
.plan-detail dt { color: var(--muted); }
.features { display: flex; gap: 8px; list-style: none; padding: 0; flex-wrap: wrap; }
.features li { background: var(--brand-tint); color: var(--brand); border-radius: 999px; padding: 4px 12px; }

/* Checkout */
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.checkout-form { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.checkout-layout.app-checkout .order-summary,
.stripe-payment-box,
.payment-sheet {
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.checkout-layout.app-checkout .order-summary { padding: 18px; }
.checkout-layout.app-checkout .order-summary h2 { margin: 0 0 12px; font-size: 20px; }
.summary-line, .summary-total { display: flex; justify-content: space-between; gap: 14px; align-items: center; min-width: 0; }
.summary-line span:first-child, .summary-total span:first-child { flex: 0 0 auto; }
.summary-line span:last-child, .summary-total span:last-child {
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.cashback-line span:last-child { color: #ea7a1a; font-weight: 800; }
.stripe-payment-box { padding: 16px; }
.stripe-payment-box h3 { margin: 0 0 12px; font-size: 18px; }
.stripe-payment-element { min-height: 118px; }
.order-summary { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; height: fit-content; }
.summary-line, .summary-total { display: flex; justify-content: space-between; padding: 8px 0; }
.summary-total { border-top: 1px solid var(--border); font-weight: 700; font-size: 18px; }
.payment-sheet { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; }
.payment-option, .switch-row, .app-input { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; }
.payment-option { display: flex; align-items: center; gap: 12px; font-weight: 700; }
.switch-row { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; font-weight: 700; }
.stripe-payment-box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; }
.stripe-payment-box h3 { margin: 0 0 12px; }
.stripe-payment-element { min-height: 120px; }
.checkout-pay { width: 100%; font-weight: 800; }

/* Success */
.success { max-width: 720px; margin: 0 auto; text-align: center; }
.install { display: flex; gap: 24px; text-align: left; margin: 24px 0; flex-wrap: wrap; }
.qr, .qr-placeholder { width: 200px; height: 200px; border: 1px solid var(--border); border-radius: var(--radius); object-fit: contain; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--muted); }
.install-steps { flex: 1; min-width: 260px; }

/* Auth */
.auth-card { max-width: 380px; margin: 48px auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; }
.auth-card form { display: flex; flex-direction: column; gap: 14px; }
.checkout-login-required {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 28px;
  min-height: 560px;
  border: 1px solid var(--border);
  border-radius: 28px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.checkout-login-required h2 {
  max-width: 620px;
  margin: 34px 0 4px;
  font-size: clamp(34px, 7vw, 58px);
  line-height: 1.04;
  letter-spacing: 0;
}
.checkout-login-required ul {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.checkout-login-required li {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 18px;
  font-weight: 750;
}
.checkout-login-required li span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 115, 255, 0.1);
  color: #2487ff;
  font-weight: 900;
}
.login-required-close {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(127, 127, 127, 0.1);
  color: var(--muted);
  font-size: 28px;
  font-weight: 800;
}
.login-required-kicker {
  margin: auto 0 0;
  text-align: center;
  color: var(--muted);
  font-weight: 900;
  letter-spacing: 0;
}
.social-login-btn,
.email-login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  border-radius: 999px;
}
.social-login-btn { background: #20242c; color: white; }
.email-login-btn { background: rgba(127, 127, 127, 0.1); color: var(--text); }
.social-login-btn b,
.email-login-btn b {
  width: 24px;
  text-align: center;
  font-size: 22px;
}

/* Account / tables */
.account-grid, .settings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.account-stack { max-width: 680px; margin: 0 auto; display: grid; gap: 18px; }
.wallet-card, .level-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-radius: 22px; padding: 22px; background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); }
.wallet-card strong, .level-card strong { display: block; font-size: 22px; }
.pill-action { background: #fff; color: #1f2328; border-radius: 999px; padding: 10px 18px; font-weight: 800; border: 1px solid var(--border); }
.level-card { background: linear-gradient(135deg, var(--brand), #111827); color: #fff; border: 0; }
.level-card .muted { color: rgba(255,255,255,0.75); }
.level-medal { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--brand); font-size: 28px; }
.settings-list { display: grid; background: var(--surface); border: 1px solid var(--border); border-radius: 22px; overflow: hidden; }
.settings-list a { display: flex; align-items: center; gap: 14px; padding: 18px; border-bottom: 1px solid var(--border); }
.settings-list a:last-child { border-bottom: 0; }
.settings-list a > span { width: 42px; height: 42px; border-radius: 14px; background: rgba(127,127,127,0.12); display: inline-flex; align-items: center; justify-content: center; }
.settings-list strong { display: block; }
.settings-list small { color: var(--muted); }
.app-settings-list { max-width: 720px; margin: 0 auto; }
.danger-zone, .account-settings-card, .preference-card, .wallet-topup-cta {
  max-width: 720px;
  margin: 18px auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 22px;
  box-shadow: var(--shadow);
}
.danger-zone h3 { margin: 0 0 4px; color: var(--error); }
.section-caption { max-width: 720px; margin: 8px auto 10px; color: var(--muted); font-size: 15px; }
.account-email-row {
  border-radius: 18px;
  background: rgba(127,127,127,0.10);
  padding: 16px 18px;
  font-size: 20px;
  overflow-wrap: anywhere;
}
.settings-divider { height: 1px; background: var(--border); margin: 20px 0; }
.account-id-row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; }
.logout-btn { display: block; max-width: 720px; width: 100%; margin: 44px auto 20px; background: #d64040; }
.delete-link { display: block; text-align: center; color: #d64040; font-weight: 800; margin: 90px 0 20px; }
.preference-head, .topup-head {
  max-width: 720px;
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 12px;
}
.preference-head h1 { margin: 0; text-align: center; font-size: 28px; }
.back-link { font-size: 34px; line-height: 1; color: var(--muted); }
.preference-card { padding: 0; overflow: hidden; }
.preference-card.tall { max-height: min(720px, 70vh); overflow: auto; }
.preference-row {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  color: var(--text);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px;
  font: inherit;
  font-size: 20px;
  cursor: pointer;
}
.preference-row:last-child { border-bottom: 0; }
.preference-row b {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(127,127,127,0.12);
  color: transparent;
}
.preference-row.is-selected b { background: #ff7a1a; color: #fff; }
.settings-intro { max-width: 720px; margin: 0 auto 16px; font-size: 18px; color: var(--text); }
.notification-card label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
}
.notification-card label:last-child { border-bottom: 0; }
.notification-card strong, .notification-card small { display: block; }
.notification-card small { color: var(--muted); }
.notification-card input { width: 48px; height: 28px; }
.wallet-topup-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.wallet-topup-cta strong { display: block; font-size: 30px; }
.topup-page { max-width: 760px; margin: 0 auto; min-height: 70vh; }
.topup-head strong { color: #ea7a1a; font-size: 18px; }
.topup-page form { display: grid; gap: 28px; text-align: center; padding-top: 18px; }
.topup-page h1 { margin: 0; font-size: clamp(42px, 8vw, 64px); line-height: 0.95; }
.amount-stepper { display: grid; grid-template-columns: 72px 1fr 72px; gap: 24px; align-items: center; margin-top: 120px; }
.amount-stepper button {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-size: 34px;
  cursor: pointer;
}
.amount-stepper label { display: grid; gap: 4px; }
.amount-stepper label span { color: var(--muted); font-size: 13px; }
.amount-stepper input {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: center;
  font-size: clamp(48px, 9vw, 76px);
  font-weight: 900;
}
.preset-row { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.preset-row button {
  border: 0;
  border-radius: 999px;
  background: rgba(127,127,127,0.10);
  color: var(--text);
  padding: 14px 22px;
  font-size: 18px;
  cursor: pointer;
}
.preset-row button.active { background: #20242c; color: #fff; }
.esim-stack { display: grid; gap: 16px; max-width: 740px; margin: 0 auto; }
.orders-table { width: 100%; border-collapse: collapse; }
.orders-table th, .orders-table td { text-align: left; padding: 12px; border-bottom: 1px solid var(--border); }
.table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.page-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }

/* States */
.state { text-align: center; padding: 48px 16px; }
.state.error { color: #b91c1c; }
.demo-banner { background: #fde68a; color: #78350f; border-radius: 8px; padding: 10px 14px; margin-bottom: 16px; text-align: center; }
.purchase-pending { background: var(--surface, #f8fafc); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; margin: 12px 0; text-align: center; }
.purchase-pending .spinner { margin-bottom: 10px; }

/* Skeletons */
.skeleton { pointer-events: none; }
.sk-line, .sk-pill { background: linear-gradient(90deg, rgba(127,127,127,0.12), rgba(127,127,127,0.22), rgba(127,127,127,0.12)); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 6px; }
.sk-line { height: 14px; margin-bottom: 10px; }
.sk-line.short { width: 60%; }
.sk-pill { height: 22px; width: 80px; border-radius: 999px; }
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.spinner { width: 28px; height: 28px; border: 3px solid var(--border); border-top-color: var(--brand); border-radius: 50%; animation: spin 0.8s linear infinite; margin: 0 auto 12px; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Toast */
#toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px); background: #111; color: #fff; padding: 12px 20px; border-radius: 999px; opacity: 0; transition: all 0.2s; pointer-events: none; }
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

.tx-list, .faq { list-style: none; padding: 0; }
.code-row { display: flex; align-items: center; gap: 8px; }
.code-row input { flex: 1; }

@media (max-width: 860px) {
  .search-layout, .checkout-layout, .plan-detail-grid { grid-template-columns: 1fr; }
  .top-nav,
  .site-header > .top-nav { display: none !important; }
  .app { padding: 18px; }
  .site-header { padding: 12px 16px; }
  .brand span { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .header-actions { gap: 8px; }
  .header-actions > a:not([href="/login"]) { display: none; }
  .app-hero { grid-template-columns: 1fr; align-items: start; padding-top: 18px; }
  .app-hero h1 { font-size: 36px; }
  .search-bar { margin: 8px 0 0; max-width: none; }
  .search-bar .btn { width: 92px; padding-inline: 10px; }
  .row { margin: 28px 0; }
  .row-head h2 { font-size: 26px; }
  .grid { grid-template-columns: 1fr; }
  .country-chips { grid-template-columns: 1fr; }
  .card, .country-chip, .order-summary, .auth-card { border-radius: 22px; }
  .plan-card { padding: 20px; }
  .plan-head h3 { font-size: 20px; }
  .price { font-size: 22px; }
  .badges { margin-top: 10px; }
  .app-country-head h1 { font-size: 44px; }
  .highlights { grid-template-columns: 1fr; }
  .country-plans .grid { gap: 12px; }
  .mobile-checkout-bar {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    position: fixed; left: 0; right: 0; bottom: 56px; z-index: 19;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0));
    background: rgba(255,255,255,0.96); border-top: 1px solid var(--border);
    box-shadow: 0 -10px 28px rgba(16, 24, 40, 0.12);
  }
  [data-theme='dark'] .mobile-checkout-bar { background: rgba(13, 17, 23, 0.96); }
  .mobile-checkout-bar div { display: grid; min-width: 0; }
  .mobile-checkout-bar strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-checkout-bar span { color: var(--brand); font-weight: 900; }
  .checkout-layout.app-checkout { display: flex; flex-direction: column; }
  .checkout-layout.app-checkout .order-summary { order: -1; }
  .payment-option, .switch-row, .app-input { border-radius: 20px; }
  .checkout-pay { border-radius: 22px; padding: 16px 20px; position: sticky; bottom: 72px; }
  .account-stack { gap: 14px; }
  .wallet-card, .level-card { border-radius: 26px; padding: 20px; }
  .settings-list { border-radius: 26px; }
}

/* ============================================================================
   Loading logo overlay — the brand mark draws fully, then progressively trims
   while the app boots. Geometry mirrors js/views/logo.js.
   ========================================================================== */
.app-loader {
  position: fixed; inset: 0; z-index: 100;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface);
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.app-loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.app-loader__inner { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); }
.app-loader__name { font-weight: 700; letter-spacing: 0.02em; color: var(--text); }
.loader-logo {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: contain;
  animation: loader-logo-breathe 1.8s ease-in-out infinite;
}
.loader-logo__path {
  /* "V" stroke length ≈78 user units; dash the whole stroke so it can trim. */
  stroke-dasharray: 80;
  stroke-dashoffset: 0;
  animation: logo-trim 1.6s ease-in-out infinite;
}
/* The signal node stays solid so the mark always reads as AleoFly. */
.loader-logo__node { animation: node-pulse 1.6s ease-in-out infinite; }
@keyframes logo-trim {
  0% { stroke-dashoffset: 0; opacity: 1; }      /* fully drawn first */
  55% { stroke-dashoffset: 80; opacity: 0.55; } /* progressively trimmed */
  100% { stroke-dashoffset: 0; opacity: 1; }
}
@keyframes node-pulse {
  0%, 100% { opacity: 1; }
  55% { opacity: 0.55; }
}
@keyframes loader-logo-breathe {
  0%, 100% { transform: scale(1); opacity: 1; }
  55% { transform: scale(0.96); opacity: 0.78; }
}
@media (prefers-reduced-motion: reduce) {
  .loader-logo { animation: none; }
}

/* Final storefront polish: stable flags, field-level errors and checkout layout. */
.flag-badge {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(20, 23, 26, 0.08);
  background-image: var(--flag-url);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.flag-badge .flag-emoji {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: inherit;
  line-height: 1;
}
.flag-badge[style*="--flag-url"] .flag-emoji {
  opacity: 1;
}
.flag-badge .flag-code {
  position: absolute;
  right: -1px;
  bottom: -1px;
  min-width: 20px;
  padding: 1px 4px;
  border-radius: 999px 0 999px 999px;
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  font-size: 9px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
}
.country-title-flag {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(127,127,127,0.10);
  font-size: 28px;
}
.checkout-form > .app-input {
  display: grid;
  gap: 8px;
}
.app-input.is-invalid {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10), 0 10px 28px rgba(15, 17, 20, 0.06) !important;
}
.app-input.is-invalid input {
  border-color: var(--error) !important;
}
.field-error {
  color: var(--error);
  font-size: 13px;
  line-height: 1.35;
}
.field-error a {
  color: var(--error);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.checkout-layout.app-checkout {
  align-items: start;
}
.checkout-layout.app-checkout .order-summary {
  position: sticky;
  top: 110px;
}
.checkout-form {
  gap: 16px;
}
.payment-sheet legend {
  padding: 0 6px;
  color: var(--muted);
  font-weight: 800;
}
.plan-tabs {
  max-width: 620px;
}
.plan-group .grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

@media (max-width: 860px) {
  .country-title-flag {
    width: 42px;
    height: 42px;
    font-size: 24px;
  }
  .checkout-layout.app-checkout {
    max-width: 620px;
    margin: 0 auto;
    gap: 14px;
  }
  .checkout-layout.app-checkout .order-summary {
    position: static;
    width: 100%;
  }
  .checkout-form {
    width: 100%;
  }
  .checkout-form > .app-input,
  .checkout-form > .switch-row,
  .payment-sheet,
  .stripe-payment-box {
    width: 100%;
  }
  .plan-tabs {
    width: 100%;
  }
  .plan-group .grid {
    grid-template-columns: 1fr;
  }
  .flag-badge .flag-code {
    font-size: 8px;
  }
}

/* AleoFly v251 final override: compact header bell + small notification popover */
body .site-header .header-notification-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body .site-header .header-lang-shell { order: 1 !important; }
body .site-header .header-currency-shell { order: 3 !important; }
body .site-header .header-theme-toggle { order: 4 !important; }
body .site-header .account-header-action { order: 5 !important; }

body .site-header .header-actions > .mobile-notification-action,
body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
  order: 2 !important;
  display: inline-grid !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  color: #071126 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 10px 22px rgba(229, 9, 20, 0.08) !important;
}

body .site-header .header-actions > .mobile-notification-action::before,
body .site-header .header-actions > .mobile-notification-action::after {
  display: none !important;
  content: none !important;
}

body .site-header .header-notification-badge {
  top: 4px !important;
  right: 3px !important;
  width: 17px !important;
  min-width: 17px !important;
  height: 17px !important;
  border-color: rgba(255, 244, 246, 0.98) !important;
  box-shadow: 0 4px 10px rgba(229, 9, 20, 0.24) !important;
}

body .site-header .header-notification-menu {
  width: min(324px, calc(100vw - 32px)) !important;
  max-height: min(460px, calc(100vh - 132px)) !important;
  border-color: rgba(255, 213, 220, 0.95) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255, 247, 248, 0.98), rgba(255, 255, 255, 0.99)) !important;
  box-shadow: 0 24px 64px rgba(80, 20, 30, 0.16) !important;
}

body .site-header .header-notification-menu-head {
  min-height: 54px !important;
  padding: 12px 14px !important;
  border-bottom-color: rgba(255, 218, 224, 0.9) !important;
  background: linear-gradient(135deg, #fff4f6, #ffffff) !important;
}

body .site-header .header-notification-menu-head strong {
  color: #071126 !important;
  font-size: 14px !important;
}

body .site-header .header-notification-menu-head span {
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: #ffe8ec !important;
  color: #e50914 !important;
  font-size: 11px !important;
}

body .site-header .header-notification-menu-actions {
  padding: 9px 12px !important;
  background: rgba(255, 250, 251, 0.96) !important;
}

body .site-header .header-notification-menu-actions button {
  min-height: 30px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-size: 10.5px !important;
}

body .site-header .header-notification-item {
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  gap: 9px !important;
  padding: 12px 14px !important;
  border-top-color: rgba(255, 226, 231, 0.72) !important;
}

body .site-header .header-notification-item:hover {
  background: #fff3f5 !important;
}

body .site-header .header-notification-item strong {
  font-size: 12.5px !important;
}

body .site-header .header-notification-item small {
  color: #667085 !important;
  font-size: 11.5px !important;
}

body .site-header .header-notification-empty {
  padding: 20px 14px !important;
  color: #667085 !important;
}

.account-notification-preferences-v250 {
  position: relative;
}

.account-notification-toggle-v250 {
  display: flex !important;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px !important;
  border: 1px solid #ffe0e5;
  border-radius: 16px;
  background: #fff7f8;
}

.account-notification-toggle-v250 input {
  width: 48px !important;
  height: 28px !important;
  order: 2;
}

.account-notification-toggle-v250 span {
  color: #e50914;
  font-weight: 950;
}

@media (max-width: 760px) {
  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    width: clamp(128px, 38vw, 172px) !important;
    min-width: 0 !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: clamp(128px, 38vw, 172px) !important;
    max-width: clamp(128px, 38vw, 172px) !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions {
    gap: 4px !important;
  }

  body .site-header .header-lang-shell {
    width: 54px !important;
    min-width: 54px !important;
    flex-basis: 54px !important;
  }

  body .site-header .header-currency-shell {
    width: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }

  body .site-header .header-actions > .mobile-notification-action,
  body:has(.aleo-home-v59) .site-header .header-actions > .mobile-notification-action,
  body:has(.checkout-page-v113) .site-header .header-actions > .mobile-notification-action,
  body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex: 0 0 34px !important;
    border-color: #edf1f6 !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body .site-header .header-notification-svg {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 2.2 !important;
  }

  body .site-header .header-notification-badge {
    top: -2px !important;
    right: -2px !important;
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
    border-width: 2px !important;
    font-size: 8px !important;
  }

  body .site-header .header-notification-menu {
    top: calc(100% + 9px) !important;
    right: 0 !important;
    width: min(292px, calc(100vw - 24px)) !important;
    max-height: min(360px, calc(100vh - 110px)) !important;
    border-radius: 16px !important;
  }

  body .site-header .header-notification-menu-head {
    min-height: 48px !important;
    padding: 10px 12px !important;
  }

  body .site-header .header-notification-menu-actions {
    padding: 8px 10px !important;
  }

  body .site-header .header-notification-item {
    padding: 10px 12px !important;
  }

  body .site-header .header-notification-item small {
    -webkit-line-clamp: 1 !important;
  }
}

/* AleoFly v61 absolute-end storefront overrides. */
main.app:has(.aleo-home-v59),
main.app:has(.aleo-listing-page),
main.app:has(.app-search-page) {
  width: 100%;
  max-width: none;
}

.aleo-home-v59,
.aleo-listing-page,
.app-search-page {
  width: min(1240px, calc(100vw - 48px));
  margin-left: auto;
  margin-right: auto;
}

.aleo-home-v59 .aleo-search-panel {
  grid-template-columns: minmax(260px, 1.4fr) minmax(160px, 0.78fr) minmax(150px, 0.72fr) minmax(270px, 1.16fr) 110px;
}

.aleo-home-v59 .aleo-search-submit {
  min-height: 46px;
  border-radius: 999px;
  align-self: end;
}

.aleo-home-v59 .aleo-category-nav {
  display: flex;
  gap: 10px;
  margin: 6px 0 22px;
  overflow-x: auto;
  scrollbar-width: none;
}

.aleo-home-v59 .aleo-category-nav::-webkit-scrollbar {
  display: none;
}

.aleo-home-v59 .aleo-category-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #edf0f3;
  background: #fff;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.aleo-home-v59 .aleo-category-nav a.active,
.aleo-home-v59 .aleo-category-nav a:hover {
  border-color: #ffd3df;
  background: #fff0f5;
  color: var(--brand);
}

.aleo-home-v59 .region-showcase-card {
  min-height: 142px;
  display: grid;
  align-content: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  display: block;
  padding: 0 14px;
  writing-mode: horizontal-tb;
  word-break: normal;
}

.aleo-home-v59 .region-showcase-card strong {
  margin-top: 12px;
}

.aleo-home-v59 .region-showcase-card small {
  padding-bottom: 14px;
}

.aleo-home-v59 .plan-finder-card {
  min-height: 178px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px;
  align-items: center;
  gap: 14px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #ffdce6;
  border-radius: 16px;
  background: radial-gradient(circle at 82% 30%, rgba(255, 45, 99, 0.18), transparent 32%), linear-gradient(145deg, #fff1f6, #fff);
}

.aleo-home-v59 .plan-finder-card strong,
.aleo-home-v59 .plan-finder-card small,
.aleo-home-v59 .plan-finder-card span {
  display: block;
}

.aleo-home-v59 .plan-finder-card strong {
  color: #111827;
  font-size: 17px;
  line-height: 1.25;
}

.aleo-home-v59 .plan-finder-card small {
  margin-top: 8px;
  color: #667085;
  line-height: 1.4;
}

.aleo-home-v59 .plan-finder-card span {
  width: max-content;
  margin-top: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
}

.aleo-home-v59 .plan-finder-card b {
  width: 88px;
  height: 118px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(255,255,255,0.18) 0 8px, transparent 8px 18px), linear-gradient(160deg, #e50914, #ff7a9a);
  box-shadow: 0 18px 36px rgba(255, 45, 99, 0.18);
}

@media (max-width: 1120px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .aleo-home-v59,
  .aleo-listing-page,
  .app-search-page {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: auto;
  }

  .aleo-home-v59 .plan-finder-card {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .plan-finder-card b {
    display: none;
  }
}

/* AleoFly v69 final override: keep multi-country search flat and home-like. */
.flow-search-like-home {
  overflow: visible;
}

.flow-search-like-home .flow-search-card {
  width: min(100%, 720px);
  max-width: 720px;
  min-height: 60px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
}

.flow-search-like-home .flow-search-card:focus-within {
  border-color: #e50914;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08);
}

.flow-search-like-home .flow-search-card input,
.flow-search-like-home .flow-search-card input:focus {
  min-height: 52px;
  border: 0;
  box-shadow: none;
  outline: 0;
}

.flow-search-like-home .flow-country-popover {
  position: static !important;
  inset: auto !important;
  width: min(100%, 960px);
  max-height: none;
  margin: 12px 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
}

.flow-search-like-home .country-result-list {
  max-height: 390px;
  overflow-y: auto;
  padding: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.flow-search-like-home .flow-country-row {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 74px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.flow-search-like-home .flow-country-row + .flow-country-row {
  margin-top: 4px;
}

.flow-search-like-home .flow-country-row.is-selected {
  border-color: #ffc7cf;
  background: #fff1f2;
}

/* AleoFly v69 final override: multi-country search is inline, not a modal. */
.flow-search-like-home {
  overflow: visible;
}

.flow-search-like-home .flow-search-card {
  width: min(100%, 720px);
  max-width: 720px;
  min-height: 60px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
}

.flow-search-like-home .flow-search-card:focus-within {
  border-color: #e50914;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08);
}

.flow-search-like-home .flow-search-card input,
.flow-search-like-home .flow-search-card input:focus {
  min-height: 52px;
  border: 0;
  box-shadow: none;
  outline: 0;
}

.flow-search-like-home .flow-country-popover {
  position: static !important;
  inset: auto !important;
  width: min(100%, 960px);
  max-height: none;
  margin: 12px 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
}

.flow-search-like-home .country-result-list {
  max-height: 390px;
  overflow-y: auto;
  padding: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.flow-search-like-home .flow-country-row {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 74px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.flow-search-like-home .flow-country-row + .flow-country-row {
  margin-top: 4px;
}

.flow-search-like-home .flow-country-row.is-selected {
  border-color: #ffc7cf;
  background: #fff1f2;
}

/* AleoFly v69: multi-country uses the same inline search dropdown pattern as Home. */
.flow-search-like-home {
  overflow: visible;
}

.flow-search-like-home .flow-country-popover {
  position: static !important;
  inset: auto !important;
  width: min(100%, 960px);
  max-height: none;
  margin: 10px 0 0;
  padding: 0;
  background: #fff;
}

.flow-search-like-home .country-result-list {
  max-height: 390px;
  overflow-y: auto;
}

.flow-search-like-home .flow-country-row {
  grid-template-columns: 48px minmax(0, 1fr) auto;
}

.flow-chooser-compact {
  position: relative;
  display: grid;
  gap: 14px;
}

.flow-search-like-home .flow-search-card {
  max-width: 720px;
}

.flow-search-like-home .flow-country-popover {
  position: relative;
  z-index: 20;
  max-width: 100%;
  margin-top: -2px;
  border-radius: 20px;
  background: #fff;
}

.flow-search-like-home .country-result-list {
  max-height: 390px;
  overflow-y: auto;
  padding: 8px;
}

.flow-search-like-home .flow-country-row {
  min-height: 72px;
  margin: 0;
  border-color: transparent;
  box-shadow: none;
}

.flow-search-like-home .flow-country-row + .flow-country-row {
  border-top-color: #eef2f6;
}

.flow-search-like-home .country-search-section-label {
  padding: 14px 18px 0;
  color: #667085;
  font-size: 14px;
  font-weight: 900;
}

.flow-search-like-home .country-search-empty {
  padding: 22px;
}

.flow-filter-panel {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 22px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06);
}

.flow-filter-panel h2,
.flow-filter-panel p {
  margin: 0;
}

.flow-filter-panel p {
  margin-top: 6px;
  color: #667085;
}

.flow-filter-group {
  display: grid;
  gap: 9px;
}

.flow-filter-group small {
  color: #475467;
  font-weight: 900;
}

.flow-filter-group > span {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.flow-filter-group .filter-chip {
  min-height: 36px;
  padding: 9px 13px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #f8fafc;
  color: #344054;
  font-weight: 900;
}

.flow-filter-group .filter-chip.active,
.flow-filter-group .filter-chip:hover {
  border-color: #e50914;
  background: #e50914;
  color: #fff;
}

@media (max-width: 860px) {
  .flow-filter-panel {
    grid-template-columns: 1fr;
    padding: 18px;
  }
}

/* AleoFly v67 final red design system.
   This sits last on purpose: it unifies the storefront after the iterative
   recovery/search work without changing the API-facing markup contract. */
:root {
  --brand: #e50914;
  --brand-strong: #a40012;
  --brand-deep: #7f0d12;
  --brand-tint: rgba(229, 9, 20, 0.12);
  --brand-soft: #fff1f2;
  --brand-soft-2: #ffe4e7;
  --ink: #111827;
  --ink-2: #1f2937;
  --muted: #667085;
  --bg: #f7f8fa;
  --surface: #ffffff;
  --border: #e5e7eb;
  --shadow: 0 1px 2px rgba(16, 24, 40, 0.05), 0 10px 30px rgba(16, 24, 40, 0.07);
  --shadow-lg: 0 22px 60px rgba(16, 24, 40, 0.12);
}

body {
  color: var(--ink);
  background:
    linear-gradient(180deg, #ffffff 0, #f8fafc 360px, #f7f8fa 100%);
}

.site-header {
  min-height: 72px;
  border-bottom: 1px solid rgba(229, 231, 235, 0.9);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
}

.brand {
  color: var(--ink);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0;
}

.top-nav a {
  color: var(--ink-2);
  font-weight: 850;
}

.top-nav a.active,
.top-nav a:hover {
  color: var(--brand);
}

.btn,
.button,
button.btn,
.checkout-pay,
.btn-buy,
.aleo-search-submit {
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  box-shadow: 0 12px 28px rgba(229, 9, 20, 0.18);
  font-weight: 900;
}

.btn:hover,
.button:hover,
button.btn:hover,
.checkout-pay:hover,
.btn-buy:hover,
.aleo-search-submit:hover {
  background: var(--brand-strong);
  filter: none;
}

.btn-ghost,
.see-all,
.back-link {
  color: var(--brand);
  font-weight: 900;
}

.card,
.panel,
.order-summary,
.checkout-form,
.payment-sheet,
.stripe-payment-box,
.country-result-list,
.search-refine-panel,
.flow-chooser,
.flow-selected-panel,
.flow-help-card,
.country-search-card,
.destinations-panel,
.plan-purchase-panel {
  border-color: rgba(17, 24, 39, 0.08);
  box-shadow: var(--shadow);
}

.aleo-home-v59 {
  padding-top: 28px;
}

.aleo-home-hero {
  min-height: 360px;
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid #ffd3d8;
  border-radius: 28px;
  background:
    radial-gradient(circle at 78% 20%, rgba(229, 9, 20, 0.18), transparent 30%),
    linear-gradient(105deg, #ffffff 0 38%, #fff4f4 38% 100%);
  overflow: hidden;
}

.aleo-home-hero h1 {
  max-width: 640px;
  color: #09111f;
  font-size: clamp(44px, 5.6vw, 78px);
  line-height: 0.96;
  letter-spacing: 0;
}

.aleo-home-hero h1 span,
.eyebrow {
  color: var(--brand);
}

.hero-sub {
  color: #344054;
  font-weight: 750;
}

.rating-pill {
  background: #16a34a;
  color: #fff;
  border-radius: 999px;
  padding: 5px 10px;
  font-weight: 900;
}

.aleo-feature-strip {
  grid-template-columns: repeat(4, minmax(126px, 1fr));
  max-width: 720px;
}

.aleo-feature-strip > div {
  min-height: 66px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
}

.phone-card,
.suitcase-card {
  background: linear-gradient(160deg, #e50914, #ff7b86);
  box-shadow: 0 22px 48px rgba(229, 9, 20, 0.22);
}

.aleo-home-art {
  min-height: 360px;
  border-radius: 26px;
  background-image: url('/assets/images/aleofly-hero-red.png');
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
}

.aleo-home-art > * {
  display: none !important;
}

.plane-card,
.map-pin {
  color: var(--brand);
}

.aleo-finder-card {
  margin-top: -34px;
  padding: 26px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 28px 70px rgba(17, 24, 39, 0.12);
}

.aleo-search-panel {
  align-items: end;
}

.trip-mode-switch {
  grid-column: 1 / -1;
  width: min(380px, 100%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border: 1px solid #eef1f5;
  border-radius: 999px;
  background: #f4f6f8;
}

.trip-mode-switch button {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #475467;
  font-weight: 900;
  cursor: pointer;
}

.trip-mode-switch button.active {
  background: #fff;
  color: var(--brand);
  box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08);
}

.search-field,
.filter-block {
  min-width: 0;
}

.search-field input,
.country-search-card input,
.flow-search-card input,
.checkout-form input,
.checkout-form select,
.checkout-form textarea {
  min-height: 54px;
  border: 1px solid #d7dde6;
  border-radius: 16px;
  background: #fff;
  color: var(--ink);
  font-size: 16px;
}

.search-field input:focus,
.country-search-card input:focus,
.flow-search-card input:focus,
.checkout-form input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.09);
  outline: none;
}

.filter-block small,
.search-field small {
  color: var(--ink);
  font-weight: 900;
}

.filter-block small span {
  color: #98a2b3;
  font-weight: 800;
}

.filter-chip,
.search-refine-panel a,
.flow-active-filters span {
  border: 1px solid transparent;
  border-radius: 999px;
  background: #f1f4f7;
  color: #27364a;
  font-weight: 900;
}

.filter-chip.active,
.search-refine-panel a.active {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 10px 24px rgba(229, 9, 20, 0.16);
}

.home-selected-destinations button,
.selected-destination-chips a,
.selected-destination-chips span {
  border-color: #ffd4d8;
  background: var(--brand-soft);
  color: var(--brand-strong);
}

.country-search-popover {
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 20px;
  box-shadow: var(--shadow-lg);
}

.country-result-row {
  min-height: 72px;
  border-radius: 14px;
}

.country-result-row:hover {
  background: var(--brand-soft);
}

.aleo-category-nav a,
.popular-country-card,
.explore-card,
.region-showcase-card,
.plan-card,
.plan-finder-card {
  border-color: rgba(17, 24, 39, 0.08);
  box-shadow: var(--shadow);
}

.aleo-category-nav a.active,
.aleo-category-nav a:hover {
  border-color: #ffc7cf;
  background: var(--brand-soft);
  color: var(--brand);
}

.aleo-explore-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.explore-card {
  min-height: 160px;
  border-radius: 20px;
}

.explore-card.one {
  background: linear-gradient(145deg, #fff2f3, #fff);
}

.explore-card.multi {
  background: linear-gradient(145deg, #f3f7ff, #fff);
}

.explore-card.global {
  background: linear-gradient(145deg, #effaf3, #fff);
}

.popular-country-strip {
  gap: 12px;
}

.popular-country-card {
  border-radius: 18px;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.popular-country-card:hover,
.plan-card:hover,
.explore-card:hover,
.region-showcase-card:hover {
  transform: translateY(-2px);
  border-color: #ffc7cf;
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.1);
}

.aleo-plan-grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}

.plan-card {
  min-height: 166px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  overflow: hidden;
}

.plan-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

.plan-title {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.plan-title h3,
.plan-card h3 {
  min-width: 0;
  margin: 0;
  color: #101828;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

@supports (-webkit-line-clamp: 2) {
  .plan-title h3,
  .plan-card h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}

.price-stack {
  justify-self: end;
  color: var(--brand);
  white-space: nowrap;
}

.plan-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  color: #667085;
  line-height: 1.4;
}

.badges,
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.badge,
.chip {
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-weight: 850;
}

.plan-flag-strip {
  max-width: 128px;
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  overflow: hidden;
}

.plan-flag,
.plan-flag-small,
.chip-flag,
.popular-country-flag,
.country-result-flag,
.country-title-flag {
  flex: none;
  border: 1px solid #fff;
  background: #f3f4f6;
  box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.08);
}

.plan-flag-strip .plan-flag-small {
  margin-right: -6px;
}

.plan-flag-more {
  min-width: 32px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
  border-radius: 999px;
  background: #f2f4f7;
  color: #475467;
  font-size: 11px;
  font-weight: 900;
}

.web-plan-detail {
  width: min(1120px, calc(100vw - 48px));
  margin: 44px auto 0;
  display: grid;
  grid-template-columns: minmax(320px, 0.94fr) minmax(360px, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: stretch;
}

.plan-visual {
  min-height: 560px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.24), transparent 26%),
    linear-gradient(145deg, #e50914 0%, #7f0d12 56%, #111827 100%);
  display: grid;
  place-items: end start;
  padding: clamp(22px, 4vw, 48px);
  box-shadow: var(--shadow-lg);
}

.plan-visual-card {
  width: min(360px, 100%);
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  backdrop-filter: blur(10px);
}

.plan-visual-card strong {
  display: block;
  margin-top: 18px;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
}

.plan-purchase-panel {
  padding: clamp(24px, 4vw, 44px);
  border-radius: 30px;
  background: #fff;
}

.plan-purchase-panel h1 {
  margin: 16px 0 20px;
  color: #0b1220;
  font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1;
  letter-spacing: 0;
}

.plan-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border-radius: 999px;
  background: #f1f3f5;
}

.plan-mode span {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #667085;
  font-weight: 900;
}

.plan-mode span.active {
  background: #fff;
  color: #101828;
  box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08);
}

.plan-detail-grid {
  gap: 24px;
}

.plan-detail-grid dl {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 10px 16px;
}

.plan-detail-grid dt {
  color: #667085;
}

.plan-detail-grid dd {
  margin: 0;
  font-weight: 850;
}

.plan-detail-grid .price {
  color: var(--brand);
}

.flag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 160px;
}

.flag-chip-more {
  max-width: none;
  color: #475467;
  background: #f2f4f7;
}

.checkout-layout.app-checkout {
  width: min(1040px, calc(100vw - 48px));
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.16fr) minmax(300px, 0.74fr);
  gap: 22px;
}

.checkout-layout.app-checkout .order-summary,
.checkout-form {
  border-radius: 24px;
  background: #fff;
}

.checkout-layout.app-checkout .order-summary {
  padding: 24px;
}

.checkout-layout.app-checkout .summary-total {
  padding-top: 18px;
  border-top: 1px solid #eaecf0;
  color: #0b1220;
  font-size: 22px;
}

.checkout-form {
  padding: 24px;
}

.payment-option {
  border: 1px solid #eaecf0;
  border-radius: 16px;
  background: #fff;
}

.payment-option:has(input:checked) {
  border-color: #ffc7cf;
  background: var(--brand-soft);
}

.secure-note {
  text-align: center;
}

.app-search-page,
.aleo-listing-page {
  padding-top: 26px;
}

.app-page-title,
.app-category-head,
.region-detail-head {
  margin-bottom: 22px;
}

.app-page-title h1,
.app-category-head h1 {
  color: #0b1220;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
}

.flow-type-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.flow-type-card {
  border-radius: 20px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: var(--shadow);
}

.flow-type-card.one {
  background: linear-gradient(145deg, #fff2f3, #fff);
}

.flow-type-card.multi {
  background: linear-gradient(145deg, #f3f7ff, #fff);
}

.flow-type-card.global {
  background: linear-gradient(145deg, #effaf3, #fff);
}

.flow-selected-panel,
.flow-help-card {
  border-radius: 22px;
  background: #fff;
}

.flow-find-best {
  justify-self: end;
}

.country-search-card {
  border-radius: 999px;
  background: #fff;
}

.search-refine-panel {
  border-radius: 22px;
  background: #fff;
}

.country-result-list {
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}

.aleo-benefit-bar > div {
  border-radius: 18px;
  background: #fff;
}

.success {
  max-width: 720px;
  margin: 44px auto;
  padding: 32px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--shadow-lg);
}

.esim-card {
  border-radius: 20px;
}

.esim-card-actions .btn {
  min-height: 46px;
}

@media (max-width: 1120px) {
  .aleo-feature-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .web-plan-detail {
    grid-template-columns: 1fr;
  }

  .plan-visual {
    min-height: 360px;
  }
}

@media (max-width: 860px) {
  .site-header {
    min-height: 64px;
    padding: 10px 16px;
  }

  .aleo-home-v59,
  .aleo-listing-page,
  .app-search-page,
  .web-plan-detail,
  .checkout-layout.app-checkout {
    width: 100%;
  }

  .aleo-home-v59 {
    padding-top: 10px;
  }

  .aleo-home-hero {
    min-height: 0;
    padding: 28px 20px 86px;
    border-radius: 0 0 28px 28px;
    margin-left: -16px;
    margin-right: -16px;
  }

  .aleo-home-hero h1 {
    font-size: clamp(38px, 12vw, 54px);
  }

.aleo-home-art {
  min-height: 190px;
}

  .aleo-finder-card {
    margin-top: -52px;
    padding: 16px;
    border-radius: 24px;
  }

  .trip-mode-switch {
    width: 100%;
  }

  .aleo-explore-grid,
  .flow-type-grid,
  .checkout-layout.app-checkout {
    grid-template-columns: 1fr;
  }

  .aleo-plan-grid {
    grid-template-columns: 1fr;
  }

  .plan-card {
    min-height: 0;
  }

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

  .price-stack {
    justify-self: start;
  }

  .plan-visual {
    min-height: 280px;
    border-radius: 24px;
  }

  .plan-purchase-panel {
    border-radius: 24px;
    padding: 22px;
  }

  .plan-purchase-panel h1 {
    font-size: clamp(32px, 11vw, 44px);
  }

  .plan-detail-grid dl {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .checkout-layout.app-checkout {
    gap: 14px;
  }
}

/* AleoFly v65: compact coverage flags for regional/global plan cards. */
.plan-card .plan-head {
  min-width: 0;
}

.plan-card .plan-title {
  min-width: 0;
  align-items: flex-start;
}

.plan-card .plan-title h3,
.aleo-home-v59 .plan-card .plan-title h3 {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.plan-card .plan-flag-strip,
.aleo-home-v59 .plan-card .plan-flag-strip {
  width: auto;
  max-width: 112px;
  min-height: 24px;
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  overflow: visible;
}

.plan-card .plan-flag-strip .plan-flag-small,
.aleo-home-v59 .plan-card .plan-flag-strip .plan-flag-small {
  width: 22px;
  height: 22px;
  margin-left: -7px;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
}

.plan-card .plan-flag-strip .plan-flag-small:first-child,
.aleo-home-v59 .plan-card .plan-flag-strip .plan-flag-small:first-child {
  margin-left: 0;
}

.plan-flag-more {
  min-width: 34px;
  height: 22px;
  margin-left: 4px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #ffd3df;
  background: #fff0f5;
  color: var(--brand);
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

/* AleoFly v66: search filters are optional; no fake travel dates or defaults. */
.aleo-home-v59 .aleo-finder-card {
  padding: 20px;
  border-color: #e6eaf0;
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.12);
}

.aleo-home-v59 .aleo-search-panel {
  grid-template-columns: minmax(320px, 1.5fr) minmax(210px, 0.8fr) minmax(250px, 1fr) minmax(126px, auto);
  gap: 18px;
  align-items: end;
}

.aleo-home-v59 .trip-mode-switch {
  grid-column: 1 / -1;
}

.aleo-home-v59 .search-field input {
  min-height: 56px;
  border: 1px solid #d6dde8;
  border-radius: 16px;
  background: #fff;
  color: #111827;
  font-size: 16px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65), 0 8px 18px rgba(15, 23, 42, 0.04);
}

.aleo-home-v59 .search-field input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(255, 45, 99, 0.12), 0 10px 24px rgba(15, 23, 42, 0.08);
}

.aleo-home-v59 .search-field input::placeholder {
  color: #7b8494;
}

.aleo-home-v59 .filter-block {
  align-self: stretch;
  padding: 0;
}

.aleo-home-v59 .filter-block small {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #111827;
  font-size: 12px;
  letter-spacing: 0;
}

.aleo-home-v59 .filter-block small span {
  padding: 2px 8px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #667085;
  font-size: 11px;
  font-weight: 800;
}

.aleo-home-v59 .filter-chip-row,
.aleo-home-v59 .data-type-chips {
  min-height: 56px;
  align-items: center;
  padding: 8px;
  border: 1px solid #e6eaf0;
  border-radius: 16px;
  background: #f8fafc;
}

.aleo-home-v59 .filter-chip {
  min-height: 38px;
  border: 1px solid transparent;
  background: #fff;
  color: #344054;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.aleo-home-v59 .filter-chip:hover,
.aleo-home-v59 .filter-chip:focus-visible {
  border-color: #ffbfd1;
  color: var(--brand);
  outline: none;
}

.aleo-home-v59 .filter-chip.active {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
  box-shadow: 0 8px 18px rgba(255, 45, 99, 0.18);
}

.aleo-home-v59 .aleo-search-submit {
  min-height: 56px;
  min-width: 126px;
  border-radius: 999px;
}

.app-search-page .search-refine-panel a {
  border: 1px solid transparent;
  background: #f3f6fa;
  color: #344054;
}

.app-search-page .search-refine-panel a.active {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}

.app-search-page .country-search-card {
  border-color: #d6dde8;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}

.app-search-page .country-search-card:focus-within {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(255, 45, 99, 0.12), 0 14px 32px rgba(15, 23, 42, 0.08);
}

@media (max-width: 1120px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .aleo-home-v59 .search-field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .aleo-home-v59 .aleo-finder-card {
    padding: 14px;
  }

  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .aleo-home-v59 .search-field,
  .aleo-home-v59 .aleo-search-submit,
  .aleo-home-v59 .home-selected-destinations {
    grid-column: auto;
  }

  .aleo-home-v59 .filter-chip-row,
  .aleo-home-v59 .data-type-chips {
    min-height: auto;
  }
}

/* v63: route-specific web purchase flow. */
.aleo-flow-page {
  display: grid;
  gap: 24px;
}

.aleo-flow-page .app-page-title {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.aleo-flow-page .app-page-title p {
  margin: 8px auto 0;
  color: var(--muted);
  font-weight: 600;
}

.flow-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.flow-type-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 14px;
  align-items: center;
  min-height: 118px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 18px;
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
}

.flow-type-card.one { background: #fff1f5; }
.flow-type-card.multi { background: #f1f6ff; }
.flow-type-card.global { background: #eefcf4; }

.flow-type-card strong {
  font-size: 18px;
  font-weight: 900;
}

.flow-type-card span {
  grid-column: 1 / -1;
  color: var(--muted);
  line-height: 1.45;
}

.flow-type-card b {
  grid-row: 1;
  grid-column: 2;
  font-size: 26px;
  color: var(--brand);
}

.flow-selected-panel,
.flow-chooser,
.flow-help-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.flow-selected-panel {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.flow-selected-panel h2,
.flow-chooser h2 {
  margin: 0;
  font-size: 22px;
}

.flow-selected-panel p,
.flow-chooser p {
  margin: 4px 0 0;
  color: var(--muted);
}

.selected-destination-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.selected-destination-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff5f8;
  color: var(--ink);
  border: 1px solid #ffd1dd;
  font-weight: 800;
  text-decoration: none;
}

.selected-destination-chip span:last-child {
  color: var(--brand);
  font-size: 18px;
}

.flow-note-link {
  width: fit-content;
  color: var(--brand);
  font-weight: 900;
  text-decoration: none;
}

.flow-chooser {
  padding: 22px;
}

.flow-chooser header {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.flow-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.flow-active-filters span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f5f7fb;
  color: var(--ink);
  font-weight: 800;
}

.flow-search-card {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
}

.flow-search-card span,
.country-search-card span {
  color: var(--brand);
  font-size: 20px;
}

.flow-search-card input {
  width: 100%;
  height: 56px;
  border: 0;
  outline: 0;
  font: inherit;
  font-weight: 700;
  background: transparent;
}

.flow-country-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  max-height: min(680px, 70vh);
  overflow: auto;
  padding-right: 4px;
}

.flow-country-row,
.app-search-page .country-suggestion-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  min-height: 70px;
  padding: 13px 15px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
}

.flow-country-row.is-selected {
  border-color: #ff7a9c;
  background: #fff5f8;
}

.flow-country-row[hidden],
.app-search-page .country-result-row[hidden] {
  display: none;
}

.flow-country-row strong,
.flow-country-row small {
  display: block;
}

.flow-country-row strong {
  font-size: 17px;
  font-weight: 900;
}

.flow-country-row small {
  color: var(--muted);
  margin-top: 2px;
}

.flow-country-row b {
  color: var(--brand);
  font-size: 22px;
}

.flow-help-card {
  display: grid;
  gap: 4px;
  padding: 18px 20px;
  background: #fff7e8;
  color: #6b4300;
}

.flow-help-card strong {
  font-size: 17px;
}

.app-search-page .country-search-card {
  max-width: 760px;
  margin-inline: auto;
}

.app-search-page .country-result-list {
  max-width: 960px;
  margin: 0 auto;
}

.search-plan-results {
  display: grid;
  gap: 18px;
}

.aleo-flow-page .aleo-plan-showcase .see-all {
  color: var(--brand);
}

@media (max-width: 760px) {
  .flow-type-grid {
    grid-template-columns: 1fr;
  }

  .flow-type-card {
    min-height: 96px;
    padding: 18px;
  }

  .flow-selected-panel,
  .flow-chooser {
    border-radius: 20px;
    padding: 18px;
  }

  .flow-country-list {
    max-height: none;
  }

  .flow-country-row,
  .app-search-page .country-suggestion-row {
    min-height: 66px;
    padding: 12px;
  }
}

/* v64: home search mode switch, matching the app one/multi-country flow. */
.aleo-home-v59 .aleo-search-panel {
  align-items: end;
}

.trip-mode-switch {
  grid-column: 1 / -1;
  display: inline-flex;
  width: fit-content;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: #f5f7fb;
  border: 1px solid var(--border);
}

.trip-mode-switch button {
  min-height: 38px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--home-muted);
  font-weight: 900;
  cursor: pointer;
}

.trip-mode-switch button.active {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 10px 20px rgba(255, 45, 99, 0.18);
}

.home-selected-destinations {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  min-height: 42px;
}

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

.home-selected-destinations button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 6px 12px;
  border: 1px solid #ffd1dd;
  border-radius: 999px;
  background: #fff5f8;
  color: var(--home-ink);
  font-weight: 900;
  cursor: pointer;
}

.home-selected-destinations button span {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  color: var(--brand);
  font-size: 11px;
}

.home-selected-destinations button b {
  color: var(--brand);
  font-size: 18px;
}

.aleo-home-v59 .aleo-search-panel[data-trip-mode-current="multi"] .search-field {
  grid-column: span 2;
}

.flow-find-best {
  width: fit-content;
  min-height: 44px;
  padding-inline: 22px;
}

.plan-title h3,
.aleo-home-v59 .plan-title h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: normal;
  word-break: normal;
}

.plan-card .plan-meta {
  min-width: 0;
}

.plan-card .plan-meta span {
  min-width: 0;
}

@media (max-width: 860px) {
  .trip-mode-switch {
    width: 100%;
  }

  .trip-mode-switch button {
    flex: 1;
  }

  .aleo-home-v59 .aleo-search-panel[data-trip-mode-current="multi"] .search-field {
    grid-column: auto;
  }

  .home-selected-destinations {
    grid-column: auto;
  }
}

/* AleoFly v61 true-final overrides: keep after every legacy release layer. */
main.app:has(.aleo-home-v59),
main.app:has(.aleo-listing-page),
main.app:has(.app-search-page) {
  width: 100%;
  max-width: none;
}

.aleo-home-v59,
.aleo-listing-page,
.app-search-page {
  width: min(1240px, calc(100vw - 48px));
  margin-left: auto;
  margin-right: auto;
}

.aleo-home-v59 .aleo-search-panel {
  grid-template-columns: minmax(260px, 1.4fr) minmax(160px, 0.78fr) minmax(150px, 0.72fr) minmax(270px, 1.16fr) 110px;
}

.aleo-home-v59 .aleo-search-submit {
  min-height: 46px;
  border-radius: 999px;
  align-self: end;
}

.aleo-home-v59 .aleo-category-nav {
  display: flex;
  gap: 10px;
  margin: 6px 0 22px;
  overflow-x: auto;
  scrollbar-width: none;
}

.aleo-home-v59 .aleo-category-nav::-webkit-scrollbar {
  display: none;
}

.aleo-home-v59 .aleo-category-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #edf0f3;
  background: #fff;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.aleo-home-v59 .aleo-category-nav a.active,
.aleo-home-v59 .aleo-category-nav a:hover {
  border-color: #ffd3df;
  background: #fff0f5;
  color: var(--brand);
}

.aleo-home-v59 .region-showcase-card {
  min-height: 142px;
  display: grid;
  align-content: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  display: block;
  padding: 0 14px;
  writing-mode: horizontal-tb;
  word-break: normal;
}

.aleo-home-v59 .region-showcase-card strong {
  margin-top: 12px;
}

.aleo-home-v59 .region-showcase-card small {
  padding-bottom: 14px;
}

.aleo-home-v59 .plan-finder-card {
  min-height: 178px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px;
  align-items: center;
  gap: 14px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #ffdce6;
  border-radius: 16px;
  background: radial-gradient(circle at 82% 30%, rgba(255, 45, 99, 0.18), transparent 32%), linear-gradient(145deg, #fff1f6, #fff);
}

.aleo-home-v59 .plan-finder-card strong,
.aleo-home-v59 .plan-finder-card small,
.aleo-home-v59 .plan-finder-card span {
  display: block;
}

.aleo-home-v59 .plan-finder-card strong {
  color: #111827;
  font-size: 17px;
  line-height: 1.25;
}

.aleo-home-v59 .plan-finder-card small {
  margin-top: 8px;
  color: #667085;
  line-height: 1.4;
}

.aleo-home-v59 .plan-finder-card span {
  width: max-content;
  margin-top: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
}

.aleo-home-v59 .plan-finder-card b {
  width: 88px;
  height: 118px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(255,255,255,0.18) 0 8px, transparent 8px 18px), linear-gradient(160deg, #e50914, #ff7a9a);
  box-shadow: 0 18px 36px rgba(255, 45, 99, 0.18);
}

@media (max-width: 1120px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .aleo-home-v59,
  .aleo-listing-page,
  .app-search-page {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: auto;
  }

  .aleo-home-v59 .plan-finder-card {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .plan-finder-card b {
    display: none;
  }
}

/* AleoFly v61 functional storefront: final layout layer. */
main.app:has(.aleo-home-v59),
main.app:has(.aleo-listing-page),
main.app:has(.app-search-page) {
  width: 100%;
  max-width: none;
}

.aleo-home-v59,
.aleo-listing-page,
.app-search-page {
  width: min(1240px, calc(100vw - 48px));
  margin-left: auto;
  margin-right: auto;
}

.aleo-home-v59 .aleo-home-hero {
  min-height: 330px;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  padding: 42px 44px 64px;
  background:
    radial-gradient(circle at 72% 34%, rgba(255, 45, 99, 0.22), transparent 22%),
    radial-gradient(circle at 92% 22%, rgba(255, 255, 255, 0.80), transparent 18%),
    linear-gradient(105deg, #ffffff 0%, #fff7fa 45%, #ffe0ea 100%);
}

.aleo-home-v59 .hero-copy h1 {
  max-width: 520px;
}

.aleo-home-v59 .aleo-search-panel {
  grid-template-columns: minmax(260px, 1.4fr) minmax(160px, 0.78fr) minmax(150px, 0.72fr) minmax(270px, 1.16fr) 110px;
}

.aleo-home-v59 .aleo-search-submit {
  min-height: 46px;
  border-radius: 999px;
  align-self: end;
}

.aleo-home-v59 .aleo-category-nav {
  display: flex;
  gap: 10px;
  margin: 6px 0 22px;
  overflow-x: auto;
  scrollbar-width: none;
}

.aleo-home-v59 .aleo-category-nav::-webkit-scrollbar {
  display: none;
}

.aleo-home-v59 .aleo-category-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #edf0f3;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.aleo-home-v59 .aleo-category-nav a.active,
.aleo-home-v59 .aleo-category-nav a:hover {
  color: var(--brand);
  background: #fff0f5;
  border-color: #ffd3df;
}

.aleo-home-v59 .aleo-plan-showcase {
  clear: both;
}

.aleo-home-v59 .plan-finder-card {
  min-height: 178px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px;
  align-items: center;
  gap: 14px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #ffdce6;
  border-radius: 16px;
  background:
    radial-gradient(circle at 82% 30%, rgba(255, 45, 99, 0.18), transparent 32%),
    linear-gradient(145deg, #fff1f6, #fff);
}

.aleo-home-v59 .plan-finder-card strong,
.aleo-home-v59 .plan-finder-card small,
.aleo-home-v59 .plan-finder-card span {
  display: block;
}

.aleo-home-v59 .plan-finder-card strong {
  color: #111827;
  font-size: 17px;
  line-height: 1.25;
}

.aleo-home-v59 .plan-finder-card small {
  margin-top: 8px;
  color: #667085;
  line-height: 1.4;
}

.aleo-home-v59 .plan-finder-card span {
  width: max-content;
  margin-top: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
}

.aleo-home-v59 .plan-finder-card b {
  width: 88px;
  height: 118px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.18) 0 8px, transparent 8px 18px),
    linear-gradient(160deg, #e50914, #ff7a9a);
  box-shadow: 0 18px 36px rgba(255, 45, 99, 0.18);
}

.aleo-home-v59 .region-showcase-card {
  min-height: 142px;
  align-content: stretch;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.aleo-home-v59 .region-card-visual,
.region-detail-head .region-card-visual {
  position: relative;
  display: block;
  min-height: 82px;
  border-radius: 15px 15px 0 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.90)),
    linear-gradient(135deg, #e8f2ff, #fff7fa);
}

.aleo-home-v59 .region-card-visual::before,
.region-detail-head .region-card-visual::before {
  content: "";
  position: absolute;
  inset: 18% 8% 0;
  opacity: 0.58;
  background: currentColor;
  clip-path: polygon(0 100%, 8% 78%, 16% 86%, 22% 54%, 31% 78%, 40% 62%, 52% 76%, 63% 42%, 72% 74%, 85% 56%, 100% 100%);
}

.aleo-home-v59 .region-card-visual::after,
.region-detail-head .region-card-visual::after {
  position: absolute;
  right: 12px;
  bottom: 10px;
  color: rgba(17, 24, 39, 0.34);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.aleo-home-v59 .region-europe .region-card-visual,
.region-detail-head.region-europe .region-card-visual {
  color: #b47a28;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.86)), linear-gradient(135deg, #ffe9c7, #d9ecff);
}

.aleo-home-v59 .region-europe .region-card-visual::after,
.region-detail-head.region-europe .region-card-visual::after { content: "EU"; }

.aleo-home-v59 .region-asia .region-card-visual,
.region-detail-head.region-asia .region-card-visual {
  color: #b54863;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.86)), linear-gradient(135deg, #ffe1ea, #eef6ff);
}

.aleo-home-v59 .region-asia .region-card-visual::after,
.region-detail-head.region-asia .region-card-visual::after { content: "AS"; }

.aleo-home-v59 .region-north-america .region-card-visual,
.region-detail-head.region-north-america .region-card-visual {
  color: #2879b4;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.86)), linear-gradient(135deg, #dcecff, #fff);
}

.aleo-home-v59 .region-north-america .region-card-visual::after,
.region-detail-head.region-north-america .region-card-visual::after { content: "NA"; }

.aleo-home-v59 .region-south-america .region-card-visual,
.region-detail-head.region-south-america .region-card-visual {
  color: #2f855a;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.86)), linear-gradient(135deg, #dcfce7, #fff7ed);
}

.aleo-home-v59 .region-south-america .region-card-visual::after,
.region-detail-head.region-south-america .region-card-visual::after { content: "SA"; }

.aleo-home-v59 .region-africa .region-card-visual,
.region-detail-head.region-africa .region-card-visual {
  color: #c06d24;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.86)), linear-gradient(135deg, #fff0c2, #ffe4cc);
}

.aleo-home-v59 .region-africa .region-card-visual::after,
.region-detail-head.region-africa .region-card-visual::after { content: "AF"; }

.aleo-home-v59 .region-oceania .region-card-visual,
.region-detail-head.region-oceania .region-card-visual {
  color: #1d77a3;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.86)), linear-gradient(135deg, #d7f3ff, #fff);
}

.aleo-home-v59 .region-oceania .region-card-visual::after,
.region-detail-head.region-oceania .region-card-visual::after { content: "OC"; }

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  padding: 0 14px;
}

.aleo-home-v59 .region-showcase-card strong {
  margin-top: 12px;
}

.aleo-home-v59 .region-showcase-card small {
  padding-bottom: 14px;
}

.aleo-listing-page {
  display: grid;
  gap: 24px;
  margin-top: 24px;
  margin-bottom: 56px;
}

.app-category-head {
  min-height: 190px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 30px;
  border: 1px solid #ffe1ea;
  border-radius: 24px;
  background:
    radial-gradient(circle at 86% 22%, rgba(255, 45, 99, 0.18), transparent 24%),
    linear-gradient(135deg, #fff, #fff5f8);
}

.app-category-head h1 {
  max-width: 780px;
  margin: 4px 0 8px;
  color: #111827;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1.02;
}

.app-category-head .eyebrow {
  margin: 0;
  color: var(--brand);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.region-detail-head {
  overflow: hidden;
}

.region-detail-head .region-card-visual {
  width: min(360px, 100%);
  min-height: 120px;
  margin: 0 0 16px;
  border-radius: 18px;
}

.aleo-listing-page .aleo-plan-showcase,
.aleo-listing-page .aleo-popular,
.search-plan-results .aleo-plan-showcase {
  margin: 0;
}

.aleo-listing-page .aleo-plan-showcase .grid,
.search-plan-results .aleo-plan-showcase .grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.category-country-list .popular-country-strip {
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
}

.search-refine-panel {
  display: grid;
  gap: 12px;
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid #edf0f3;
  border-radius: 18px;
  background: #fff;
}

.search-refine-panel > div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.search-refine-panel strong {
  color: #111827;
}

.search-refine-panel span {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.search-refine-panel a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #f4f6f8;
  color: #344054;
  font-weight: 800;
}

.search-refine-panel a.active {
  background: var(--brand);
  color: #fff;
}

.search-plan-results {
  display: grid;
  gap: 20px;
  margin-top: 24px;
}

@media (max-width: 1120px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .aleo-home-v59,
  .aleo-listing-page,
  .app-search-page {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .aleo-home-v59 .aleo-home-hero {
    grid-template-columns: 1fr;
    padding: 28px 22px 38px;
  }

  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: auto;
  }

  .aleo-home-v59 .plan-finder-card {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .plan-finder-card b {
    display: none;
  }

  .app-category-head {
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 0;
    padding: 22px 18px;
  }

  .app-category-head h1 {
    font-size: 34px;
  }

  .search-refine-panel > div {
    grid-template-columns: 1fr;
  }
}

/* AleoFly v59 home fix: final storefront layer matching the desktop reference. */
:root {
  --brand: #e50914;
  --brand-strong: #e91650;
  --brand-soft: #fff0f5;
  --home-ink: #0f172a;
  --home-muted: #667085;
}

.top-offer {
  display: none !important;
}

.site-header {
  min-height: 74px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 0 max(24px, calc((100vw - 1240px) / 2)) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: none !important;
}

.site-header > .brand {
  margin: 0 !important;
  padding: 0 !important;
  min-width: max-content;
  color: var(--brand) !important;
}

.site-header > .brand span {
  color: #111827;
  font-weight: 900;
}

.site-header > .top-nav {
  flex: 1 1 auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.4vw, 34px) !important;
  padding: 0 !important;
  font-size: 13px;
  font-weight: 900;
}

.site-header > .top-nav a {
  color: #111827;
}

.site-header > .top-nav a.active,
.site-header > .top-nav a:hover {
  color: var(--brand);
}

.site-header > .header-actions {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.header-actions > a[href="/login"],
.signin-pill {
  min-height: 40px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: var(--brand) !important;
  color: #fff !important;
}

main.app:has(.aleo-home-v59) {
  width: 100%;
  max-width: none;
  padding: 0;
}

.aleo-home-v59 {
  width: min(1240px, calc(100vw - 48px));
  margin: 0 auto 48px;
  color: var(--home-ink);
}

.aleo-home-v59 .aleo-home-hero {
  position: relative;
  min-height: 292px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 34px 38px 54px;
  overflow: hidden;
  border: 1px solid #ffe0e8;
  border-top: 0;
  border-radius: 0 0 24px 24px;
  background:
    radial-gradient(circle at 76% 42%, rgba(255, 45, 99, 0.20), transparent 22%),
    linear-gradient(105deg, #fff 0%, #fff7fa 46%, #ffe5ec 100%);
  text-align: left;
}

.aleo-home-v59 .hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 12px;
  justify-items: start;
  max-width: 520px;
}

.aleo-home-v59 .hero-copy h1 {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(42px, 4.3vw, 64px);
  line-height: 1.02;
  letter-spacing: 0;
}

.aleo-home-v59 .hero-copy h1 span {
  display: block;
  color: var(--brand);
}

.aleo-home-v59 .hero-sub {
  margin: 0;
  max-width: 390px;
  color: #344054;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 600;
}

.aleo-home-v59 .aleo-feature-strip {
  width: min(560px, 100%);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.aleo-home-v59 .aleo-feature-strip div {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  gap: 0 7px;
  align-items: center;
  padding: 9px 8px;
  border: 1px solid #eef0f4;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

.aleo-home-v59 .aleo-feature-strip span {
  grid-area: icon;
  color: var(--brand);
  font-size: 16px;
}

.aleo-home-v59 .aleo-feature-strip strong {
  grid-area: title;
  color: #101828;
  font-size: 11px;
  line-height: 1.2;
}

.aleo-home-v59 .aleo-feature-strip small {
  grid-area: sub;
  color: var(--home-muted);
  font-size: 10px;
}

.aleo-home-v59 .aleo-home-art {
  position: relative;
  min-height: 260px;
  isolation: isolate;
}

.aleo-home-v59 .route-line {
  position: absolute;
  inset: 24% 0 18% 5%;
  z-index: 1;
  border-top: 2px dashed rgba(255, 45, 99, 0.45);
  border-radius: 50%;
  transform: rotate(-7deg);
}

.aleo-home-v59 .map-pin {
  position: absolute;
  z-index: 2;
  width: 22px;
  height: 22px;
  border-radius: 50% 50% 50% 0;
  background: var(--brand);
  transform: rotate(-45deg);
  box-shadow: 0 10px 24px rgba(255, 45, 99, 0.28);
}

.aleo-home-v59 .map-pin::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: #fff;
}

.aleo-home-v59 .pin-a { left: 4%; bottom: 20%; }
.aleo-home-v59 .pin-b { right: 12%; bottom: 24%; }
.aleo-home-v59 .pin-c { right: 34%; top: 10%; }

.aleo-home-v59 .phone-card {
  left: 38%;
  top: 6%;
  width: 132px;
  height: 218px;
  z-index: 4;
  border: 8px solid #101828;
  border-radius: 28px;
  background: linear-gradient(160deg, #e50914, #ff7a9a);
  box-shadow: 0 24px 50px rgba(17, 24, 39, 0.16);
}

.aleo-home-v59 .phone-card b {
  font-size: 18px;
}

.aleo-home-v59 .phone-card span {
  width: 74px;
  height: 74px;
  border-radius: 18px;
}

.aleo-home-v59 .suitcase-card {
  right: 17%;
  bottom: 8%;
  width: 112px;
  height: 146px;
  z-index: 3;
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.22) 0 8px, transparent 8px 20px),
    linear-gradient(160deg, #e50914, #b00020);
}

.aleo-home-v59 .plane-card {
  right: 4%;
  top: 20%;
  z-index: 2;
  color: #667085;
  font-size: 48px;
  box-shadow: none;
}

.aleo-home-v59 .aleo-finder-card {
  position: relative;
  z-index: 10;
  margin: -34px 36px 28px;
  padding: 18px;
  border: 1px solid #eef0f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(17, 24, 39, 0.12);
}

.aleo-home-v59 .aleo-search-panel {
  display: grid;
  grid-template-columns: minmax(280px, 1.45fr) minmax(185px, 0.8fr) minmax(170px, 0.75fr) minmax(330px, 1.35fr);
  gap: 18px;
  align-items: end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.aleo-home-v59 .search-field,
.aleo-home-v59 .filter-block {
  display: grid;
  min-width: 0;
  gap: 9px;
}

.aleo-home-v59 .search-field small,
.aleo-home-v59 .filter-block small {
  color: #101828;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
}

.aleo-home-v59 .search-field input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #111827;
  padding: 0 14px;
  font: inherit;
}

.aleo-home-v59 .filter-chip-row,
.aleo-home-v59 .data-type-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.aleo-home-v59 .filter-chip {
  min-height: 38px;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  font-size: 13px;
  font-weight: 900;
}

.aleo-home-v59 .filter-chip.active {
  background: var(--brand);
  color: #fff;
}

.aleo-home-v59 .country-search-popover {
  left: 18px;
  right: 18px;
  top: calc(100% + 10px);
  max-height: min(520px, calc(100vh - 210px));
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.22);
}

.aleo-home-v59 .aleo-popular,
.aleo-home-v59 .aleo-plan-showcase,
.aleo-home-v59 .aleo-regions,
.aleo-home-v59 .aleo-benefit-bar,
.aleo-home-v59 .row {
  margin: 28px 0;
}

.aleo-home-v59 .row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.aleo-home-v59 .row-head h2 {
  margin: 0;
  color: #101828;
  font-size: 21px;
  line-height: 1.2;
}

.aleo-home-v59 .see-all {
  color: var(--brand);
  font-weight: 900;
}

.aleo-home-v59 button.see-all {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.aleo-home-v59 .popular-country-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px;
}

.aleo-home-v59 .popular-country-card {
  min-width: 0;
  min-height: 92px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  padding: 12px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  text-align: center;
  box-shadow: none;
}

.aleo-home-v59 .popular-country-flag {
  width: 40px;
  height: 40px;
}

.aleo-home-v59 .popular-country-card strong,
.aleo-home-v59 .popular-country-card small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aleo-home-v59 .popular-country-card strong {
  font-size: 12px;
}

.aleo-home-v59 .popular-country-card small {
  color: var(--home-muted);
  font-size: 11px;
}

.aleo-home-v59 .aleo-plan-showcase .grid.aleo-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.aleo-home-v59 .plan-card {
  min-width: 0;
  min-height: 178px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.aleo-home-v59 .plan-card:hover {
  border-color: rgba(255, 45, 99, 0.45);
  box-shadow: 0 16px 36px rgba(17, 24, 39, 0.08);
}

.aleo-home-v59 .plan-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

.aleo-home-v59 .plan-title {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.aleo-home-v59 .plan-title h3 {
  min-width: 0;
  margin: 0;
  color: #101828;
  font-size: 15px;
  line-height: 1.28;
  font-weight: 900;
  overflow-wrap: break-word;
  word-break: normal;
}

.aleo-home-v59 .plan-flag,
.aleo-home-v59 .plan-flag-strip {
  flex: 0 0 auto;
}

.aleo-home-v59 .plan-flag-strip {
  width: 56px;
  max-width: 56px;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}

.aleo-home-v59 .plan-flag {
  width: 34px;
  height: 34px;
}

.aleo-home-v59 .plan-flag-small {
  width: 16px;
  height: 16px;
}

.aleo-home-v59 .price-stack {
  min-width: max-content;
  justify-items: end;
  margin: 0;
}

.aleo-home-v59 .price {
  color: var(--brand);
  font-size: 14px;
  font-weight: 900;
}

.aleo-home-v59 .plan-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
  color: var(--home-muted);
  font-size: 13px;
  line-height: 1.4;
}

.aleo-home-v59 .badges {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.aleo-home-v59 .badge {
  padding: 3px 9px;
  border-radius: 999px;
  background: #ffe7ef;
  color: var(--brand);
  font-size: 11px;
  line-height: 1.2;
}

.aleo-home-v59 .region-showcase-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.aleo-home-v59 .region-showcase-card {
  min-height: 112px;
  display: grid;
  align-content: end;
  gap: 5px;
  padding: 16px;
  border: 1px solid #e0e7f1;
  border-radius: 15px;
  background:
    linear-gradient(0deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.50)),
    linear-gradient(135deg, #eff6ff, #fff);
}

.aleo-home-v59 .region-showcase-card:nth-child(2n) {
  background:
    linear-gradient(0deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.50)),
    linear-gradient(135deg, #fff1f5, #fff);
}

.aleo-home-v59 .region-showcase-card:nth-child(3n) {
  background:
    linear-gradient(0deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.50)),
    linear-gradient(135deg, #eefcf4, #fff);
}

.aleo-home-v59 .region-showcase-card strong {
  color: #101828;
}

.aleo-home-v59 .region-showcase-card small {
  color: var(--home-muted);
}

.aleo-home-v59 .aleo-benefit-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  border: 1px solid #eef0f4;
  border-radius: 18px;
  background: #fff;
}

.aleo-home-v59 .aleo-benefit-bar div {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  align-items: center;
  gap: 2px 10px;
}

.aleo-home-v59 .aleo-benefit-bar span {
  grid-area: icon;
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

.aleo-home-v59 .aleo-benefit-bar strong {
  grid-area: title;
  font-size: 13px;
}

.aleo-home-v59 .aleo-benefit-bar small {
  grid-area: sub;
  color: var(--home-muted);
  font-size: 12px;
}

@media (max-width: 1120px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr 1fr;
  }

  .aleo-home-v59 .popular-country-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .aleo-home-v59 .aleo-plan-showcase .grid.aleo-plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aleo-home-v59 .region-showcase-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .site-header {
    min-height: 62px !important;
    padding: 8px 16px !important;
  }

  .site-header > .top-nav {
    display: none !important;
  }

  .site-header > .brand span {
    max-width: none;
  }

  .site-header > .header-actions > a,
  .site-header > .header-actions > button,
  .site-header .lang-select {
    display: none !important;
  }

  main.app:has(.aleo-home-v59) {
    padding: 0 0 86px;
  }

  .aleo-home-v59 {
    width: 100%;
    margin-bottom: 28px;
    padding: 0 16px;
  }

  .aleo-home-v59 .aleo-home-hero {
    grid-template-columns: 1fr;
    gap: 16px;
    min-height: 0;
    margin: 0 -16px;
    padding: 24px 22px 34px;
    border-radius: 0 0 24px 24px;
  }

  .aleo-home-v59 .hero-copy h1 {
    font-size: clamp(34px, 9vw, 48px);
  }

  .aleo-home-v59 .hero-sub {
    font-size: 15px;
  }

  .aleo-home-v59 .aleo-feature-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aleo-home-v59 .aleo-home-art {
    min-height: 210px;
  }

  .aleo-home-v59 .phone-card {
    left: 38%;
    width: 104px;
    height: 168px;
    border-width: 7px;
  }

  .aleo-home-v59 .suitcase-card {
    right: 12%;
    width: 82px;
    height: 108px;
  }

  .aleo-home-v59 .plane-card {
    font-size: 34px;
  }

  .aleo-home-v59 .aleo-finder-card {
    margin: -22px 0 24px;
    padding: 12px;
    border-radius: 22px;
  }

  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .aleo-home-v59 .travel-dates {
    display: none;
  }

  .aleo-home-v59 .filter-chip-row,
  .aleo-home-v59 .data-type-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .aleo-home-v59 .filter-chip-row::-webkit-scrollbar,
  .aleo-home-v59 .data-type-chips::-webkit-scrollbar {
    display: none;
  }

  .aleo-home-v59 .filter-chip {
    flex: 0 0 auto;
  }

  .aleo-home-v59 .popular-country-strip,
  .aleo-home-v59 .aleo-plan-showcase .grid.aleo-plan-grid,
  .aleo-home-v59 .region-showcase-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 72vw);
    grid-template-columns: none;
    overflow-x: auto;
    gap: 12px;
    padding: 2px 2px 12px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .aleo-home-v59 .popular-country-strip::-webkit-scrollbar,
  .aleo-home-v59 .aleo-plan-showcase .grid.aleo-plan-grid::-webkit-scrollbar,
  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar {
    display: none;
  }

  .aleo-home-v59 .popular-country-strip {
    grid-auto-columns: 126px;
  }

  .aleo-home-v59 .aleo-plan-showcase .grid.aleo-plan-grid {
    grid-auto-columns: minmax(270px, 82vw);
  }

  .aleo-home-v59 .plan-card,
  .aleo-home-v59 .popular-country-card,
  .aleo-home-v59 .region-showcase-card {
    scroll-snap-align: start;
  }

  .aleo-home-v59 .aleo-benefit-bar {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 520px) {
  .aleo-home-v59 {
    padding: 0 14px;
  }

  .aleo-home-v59 .aleo-home-hero {
    margin-left: -14px;
    margin-right: -14px;
  }

  .aleo-home-v59 .aleo-feature-strip {
    display: none;
  }

  .aleo-home-v59 .aleo-benefit-bar {
    grid-template-columns: 1fr;
  }
}

/* Absolute final override for country flags. Keep this block after release polish. */
.flag-badge {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f3f5 !important;
  background-image: none !important;
}
.flag-badge .flag-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.flag-badge .flag-globe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.72em;
  line-height: 1;
}
.flag-badge .flag-code {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: var(--text);
  font-size: 0.42em;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}
.flag-badge.flag-loaded .flag-code,
.flag-badge:has(.flag-img) .flag-emoji {
  display: none;
}
.flag-badge.flag-failed .flag-img {
  display: none;
}

/* One-country storefront redesign preview */
.one-country-page {
  --country-red: var(--brand);
  --country-ink: #111827;
  --country-muted: #667085;
  --country-line: #e7ebf0;
  --country-soft: #fff3f4;
  --country-panel: #ffffff;
  display: grid;
  gap: 16px;
  max-width: 1280px;
  margin: -8px auto 0;
  color: var(--country-ink);
}

.one-country-hero {
  position: relative;
  min-height: 150px;
  display: grid;
  grid-template-columns: minmax(430px, 0.72fr) minmax(520px, 1.28fr);
  gap: 0;
  align-items: stretch;
  padding: 10px 0 0;
  overflow: hidden;
}

.one-country-hero-main {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 16px 18px 0 0;
}

.one-country-hero-title-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.one-country-back {
  width: 44px;
  height: 44px;
  border: 1px solid var(--country-line);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--country-ink);
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.08);
}

.one-country-title {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.one-country-title-copy {
  display: grid;
  gap: 6px;
}

.one-country-title .country-title-flag {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12);
}

.one-country-title h1 {
  margin: 0;
  font-size: 34px;
  line-height: 1;
  letter-spacing: 0;
}

.one-country-title button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #f6f7f9;
  color: var(--country-ink);
  font-weight: 900;
  cursor: pointer;
}

.one-country-title p {
  margin: 8px 0 0;
  color: var(--country-muted);
  font-size: 14px;
}

.one-country-title-copy > div {
  display: grid;
  grid-template-columns: auto auto;
  gap: 8px;
  align-items: center;
}

.one-country-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.one-country-benefits span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.one-country-benefits span::before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 6px;
  background: #fff2f3;
  box-shadow: inset 0 0 0 5px rgba(229, 9, 20, 0.12);
}

.one-country-benefits span[data-benefit-icon="network"]::before {
  background: #eef6ff;
  box-shadow: inset 0 0 0 5px rgba(37, 99, 235, 0.12);
}

.one-country-benefits span[data-benefit-icon="shield"]::before {
  background: #eefaf4;
  box-shadow: inset 0 0 0 5px rgba(5, 150, 105, 0.12);
}

.one-country-art {
  position: relative;
  min-height: 150px;
  border-radius: 0 0 0 42px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.86) 100%),
    linear-gradient(105deg, #fff 0%, #fff6f0 48%, #ffe3df 100%);
  isolation: isolate;
}

.one-country-art-photo {
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.62) 28%, rgba(255,245,242,0.20) 56%, rgba(255,255,255,0.72) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.90) 100%),
    var(--country-hero-image);
  background-size: cover;
  background-position: var(--country-hero-position, center);
  background-repeat: no-repeat;
}

.one-country-art-photo::before {
  inset: auto 0 0;
  height: 76px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.94));
  transform: none;
}

.one-country-art-photo .art-sun,
.one-country-art-photo .art-cloud,
.one-country-art-photo .art-land,
.one-country-art-photo .art-column,
.one-country-art-photo .art-tree,
.one-country-art-photo .art-line {
  display: none;
}

.one-country-art strong {
  position: absolute;
  font-size: 0;
}

.one-country-art::before {
  content: "";
  position: absolute;
  inset: auto -40px 0 0;
  height: 54px;
  background: linear-gradient(90deg, rgba(236, 165, 116, 0.18), rgba(229, 9, 20, 0.08));
  transform: skewX(-12deg);
}

.art-sun,
.art-cloud,
.art-land,
.art-column,
.art-tree,
.art-line {
  position: absolute;
  display: block;
}

.art-sun {
  width: 54px;
  height: 54px;
  right: 34%;
  top: 38px;
  border-radius: 50%;
  background: rgba(255, 204, 142, 0.5);
  border: 1px solid rgba(222, 130, 82, 0.2);
}

.art-cloud {
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
}

.art-cloud-a {
  width: 150px;
  right: 8%;
  top: 34px;
}

.art-cloud-b {
  width: 92px;
  right: 55%;
  top: 68px;
}

.art-land {
  bottom: 18px;
  background: rgba(222, 126, 96, 0.18);
}

.art-land-a {
  left: 18%;
  width: 210px;
  height: 138px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.art-land-b {
  left: 36%;
  width: 160px;
  height: 102px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: rgba(190, 93, 85, 0.13);
}

.art-land-c {
  right: 6%;
  width: 260px;
  height: 96px;
  clip-path: polygon(32% 0, 100% 100%, 0 100%);
  background: rgba(227, 143, 115, 0.14);
}

.art-tree {
  bottom: 44px;
  width: 42px;
  height: 76px;
  border-left: 7px solid rgba(125, 76, 55, 0.28);
}

.art-tree::before,
.art-tree::after {
  content: "";
  position: absolute;
  top: 0;
  width: 54px;
  height: 24px;
  border-radius: 50% 50% 0 50%;
  background: rgba(156, 105, 86, 0.18);
}

.art-tree::before { left: -39px; transform: rotate(-18deg); }
.art-tree::after { left: -8px; transform: rotate(24deg); }
.art-tree-a { right: 22%; }
.art-tree-b { right: 13%; transform: scale(0.82); opacity: 0.8; }

.art-line {
  left: 8%;
  right: 0;
  bottom: 33px;
  height: 1px;
  background: rgba(160, 98, 77, 0.14);
}

.art-column {
  bottom: 34px;
  width: 16px;
  height: 72px;
  border-radius: 10px 10px 2px 2px;
  background: rgba(186, 112, 98, 0.18);
  opacity: 0;
}

.art-column-a { right: 30%; }
.art-column-b { right: 25%; height: 62px; }

.one-country-art-paris .art-land-a,
.one-country-art-dubai .art-land-a,
.one-country-art-liberty .art-land-a,
.one-country-art-marina .art-land-a {
  width: 48px;
  height: 148px;
  left: 46%;
  clip-path: polygon(45% 0, 55% 0, 70% 100%, 30% 100%);
  background: rgba(176, 77, 77, 0.18);
}

.one-country-art-paris .art-land-a::after,
.one-country-art-dubai .art-land-a::after,
.one-country-art-liberty .art-land-a::after,
.one-country-art-marina .art-land-a::after {
  content: "";
  position: absolute;
  left: -28px;
  right: -28px;
  bottom: 44px;
  height: 12px;
  border-radius: 999px;
  background: rgba(176, 77, 77, 0.16);
}

.one-country-art-fuji .art-land-a,
.one-country-art-alpine .art-land-a,
.one-country-art-cape .art-land-a,
.one-country-art-rio .art-land-a {
  left: 19%;
  width: 280px;
  height: 126px;
  clip-path: polygon(45% 0, 100% 100%, 0 100%);
  background: rgba(116, 146, 173, 0.18);
}

.one-country-art-temple .art-column,
.one-country-art-rome .art-column,
.one-country-art-gate .art-column,
.one-country-art-taj .art-column,
.one-country-art-carthage .art-column {
  opacity: 1;
}

.one-country-art-temple .art-land-a,
.one-country-art-rome .art-land-a,
.one-country-art-gate .art-land-a,
.one-country-art-taj .art-land-a,
.one-country-art-carthage .art-land-a {
  width: 190px;
  height: 92px;
  right: 18%;
  left: auto;
  clip-path: polygon(50% 0, 92% 28%, 92% 100%, 8% 100%, 8% 28%);
}

.one-country-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.one-country-highlight,
.one-country-total-card {
  min-height: 104px;
  border: 1px solid var(--country-line);
  border-radius: 10px;
  background: var(--country-panel);
  box-shadow: 0 12px 30px rgba(17, 24, 39, 0.05);
  padding: 14px 16px;
}

.country-highlight-label {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--country-red);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
}

.one-country-highlight-best .country-highlight-label { color: #059669; }
.one-country-highlight-network .country-highlight-label { color: #2563eb; }
.one-country-highlight-purchased .country-highlight-label { color: #7c3aed; }

.country-highlight-body {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.country-mini-flag {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.country-highlight-body strong {
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.country-highlight-body b {
  color: var(--country-red);
  font-size: 19px;
  white-space: nowrap;
}

.country-highlight-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.country-highlight-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border-radius: 999px;
  background: #fff0f2;
  color: var(--country-red);
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 900;
}

.one-country-total-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fff, #fff2f3);
}

.one-country-total-card div {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 4px;
}

.one-country-total-card span,
.one-country-total-card small {
  color: var(--country-muted);
  font-size: 13px;
}

.one-country-total-card strong {
  color: var(--country-red);
}

.one-country-total-card b {
  margin-top: 8px;
  font-size: 24px;
}

.one-country-total-card i {
  position: absolute;
  right: 16px;
  bottom: -14px;
  width: 92px;
  height: 92px;
  border-radius: 26px;
  transform: rotate(-18deg);
  background: rgba(229, 9, 20, 0.08);
}

.one-country-plans-shell {
  border: 1px solid var(--country-line);
  border-radius: 12px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(17, 24, 39, 0.04);
}

.one-country-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.one-country-toolbar .plan-tabs {
  margin: 0;
  justify-self: start;
  border-radius: 0;
  background: transparent;
  padding: 0;
  gap: 24px;
}

.one-country-toolbar .plan-tabs button {
  position: relative;
  flex: 0 0 auto;
  border-radius: 0;
  padding: 12px 4px;
  color: #4b5563;
  box-shadow: none;
}

.one-country-toolbar .plan-tabs button.active {
  color: var(--country-red);
  background: transparent;
}

.one-country-toolbar .plan-tabs button.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 999px;
  background: var(--country-red);
}

.one-country-sort {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--country-muted);
  font-size: 13px;
  font-weight: 800;
}

.one-country-sort select,
.one-country-filter-bar select {
  min-height: 44px;
  border: 1px solid var(--country-line);
  border-radius: 10px;
  background: #fff;
  color: var(--country-ink);
  font-weight: 800;
  padding: 0 38px 0 14px;
}

.one-country-filter-bar {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
  gap: 14px;
  margin: 18px 0 14px;
  align-items: end;
}

.one-country-filter-bar label {
  display: grid;
  gap: 6px;
  color: var(--country-muted);
  font-size: 12px;
  font-weight: 800;
}

.one-country-clear,
.one-country-sidebar button {
  border: 0;
  background: transparent;
  color: var(--country-red);
  font-weight: 900;
  cursor: pointer;
}

.one-country-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 22px;
  align-items: start;
}

.one-country-results-group {
  gap: 18px;
}

.one-country-popular {
  display: grid;
  gap: 12px;
}

.one-country-popular[hidden] {
  display: none;
}

.one-country-popular h3,
.one-country-all-head h3 {
  margin: 0;
  font-size: 18px;
}

.one-country-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.one-country-plan-card {
  min-height: 196px;
  display: grid;
  gap: 10px;
  align-content: start;
  border: 1px solid var(--country-line);
  border-radius: 10px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.04);
}

.one-country-plan-card.featured {
  border-color: rgba(229, 9, 20, 0.55);
  box-shadow: 0 14px 32px rgba(229, 9, 20, 0.1);
}

.one-country-plan-card.recommended,
.one-country-plan-card.best-value,
.one-country-plan-card.most-popular,
.one-country-plan-card.limited-offer {
  border-color: rgba(229, 9, 20, 0.42);
  box-shadow: 0 14px 32px rgba(229, 9, 20, 0.08);
}

.one-country-plan-card.cheapest,
.one-country-plan-card.deal {
  border-color: rgba(5, 150, 105, 0.34);
}

.one-country-plan-card.fastest,
.one-country-plan-card.fastest-upload,
.one-country-plan-card.best-network {
  border-color: rgba(37, 99, 235, 0.3);
}

.one-country-plan-top,
.one-country-plan-title,
.one-country-price-row,
.one-country-all-head {
  display: flex;
  align-items: center;
}

.one-country-plan-top {
  justify-content: space-between;
  min-height: 22px;
}

.one-country-card-label {
  color: #059669;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
}

.one-country-plan-card.recommended .one-country-card-label,
.one-country-plan-card.featured .one-country-card-label,
.one-country-plan-card.limited-offer .one-country-card-label {
  color: var(--country-red);
}

.one-country-plan-card.best-value .one-country-card-label,
.one-country-plan-card.cheapest .one-country-card-label,
.one-country-plan-card.deal .one-country-card-label {
  color: #059669;
}

.one-country-plan-card.most-popular .one-country-card-label {
  color: #7c3aed;
}

.one-country-plan-card.fastest .one-country-card-label,
.one-country-plan-card.fastest-upload .one-country-card-label,
.one-country-plan-card.best-network .one-country-card-label {
  color: #2563eb;
}

.one-country-discount {
  color: var(--country-red);
  font-size: 12px;
  font-weight: 900;
}

.one-country-fav {
  width: 28px;
  height: 28px;
  border: 1px solid var(--country-line);
  border-radius: 50%;
  background: #fff;
  color: #9ca3af;
  cursor: pointer;
}

.one-country-plan-title {
  gap: 10px;
}

.one-country-plan-title strong {
  font-size: 22px;
  line-height: 1;
}

.one-country-plan-card > small {
  color: var(--country-muted);
  font-weight: 700;
}

.one-country-price-row {
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.one-country-price-row strong {
  color: var(--country-red);
  font-size: 24px;
  white-space: nowrap;
}

.one-country-price-row span {
  color: #8a94a6;
  text-decoration: line-through;
  font-size: 12px;
}

.one-country-price-row small {
  margin-left: auto;
  color: var(--country-muted);
  font-size: 12px;
}

.one-country-buy {
  width: 100%;
  justify-content: center;
  margin-top: auto;
  border-radius: 8px;
  padding: 11px 14px;
  font-weight: 900;
}

.one-country-all-plans {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.one-country-all-head {
  justify-content: space-between;
  gap: 12px;
}

.one-country-all-head > span {
  margin-right: auto;
  border: 1px solid var(--country-line);
  border-radius: 999px;
  color: var(--country-muted);
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 800;
}

.one-country-view-toggle {
  display: inline-flex;
  border: 1px solid var(--country-line);
  border-radius: 8px;
  overflow: hidden;
}

.one-country-view-toggle button {
  min-width: 78px;
  min-height: 36px;
  border: 0;
  background: #fff;
  color: var(--country-muted);
  font-weight: 800;
  cursor: pointer;
}

.one-country-view-toggle button.active {
  color: var(--country-red);
  background: #fff6f7;
}

.one-country-table-panel {
  display: none;
  overflow-x: auto;
}

.one-country-page[data-country-view-state="table"] .one-country-cards-panel {
  display: none;
}

.one-country-page[data-country-view-state="table"] .one-country-table-panel {
  display: block;
}

.one-country-plan-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.one-country-plan-table tr {
  border: 1px solid var(--country-line);
  background: #fff;
}

.one-country-plan-table td {
  padding: 16px;
  vertical-align: middle;
}

.one-country-plan-table td:first-child {
  display: flex;
  align-items: center;
  gap: 12px;
}

.one-country-plan-table strong {
  display: block;
  color: var(--country-ink);
}

.one-country-plan-table small,
.one-country-plan-table span {
  color: var(--country-muted);
}

.one-country-plan-table td:nth-child(4) strong {
  color: var(--country-red);
  font-size: 20px;
}

.one-country-plan-table td:nth-child(4) span {
  text-decoration: line-through;
  margin-left: 8px;
}

.one-country-sidebar {
  position: sticky;
  top: 88px;
  display: grid;
  gap: 18px;
  border: 1px solid var(--country-line);
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.one-country-sidebar-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.one-country-filter-group {
  display: grid;
  gap: 9px;
}

.one-country-filter-group strong {
  font-size: 13px;
}

.one-country-filter-group label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #4b5563;
  font-size: 12px;
  line-height: 1.2;
}

.one-country-filter-group small {
  color: #9ca3af;
}

.one-country-no-results {
  margin-top: 8px;
}

@media (max-width: 1180px) {
  .one-country-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .one-country-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .one-country-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .one-country-clear {
    min-height: 44px;
  }
}

@media (max-width: 940px) {
  .one-country-hero {
    grid-template-columns: 1fr;
    padding-top: 12px;
  }
  .one-country-art {
    min-height: 160px;
    border-radius: 18px;
  }
  .one-country-content {
    grid-template-columns: 1fr;
  }
  .one-country-sidebar {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .one-country-sidebar-head {
    grid-column: 1 / -1;
  }
  .one-country-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .one-country-page {
    gap: 14px;
  }
  .one-country-hero {
    min-height: 0;
  }
  .one-country-title h1 {
    font-size: 28px;
  }
  .one-country-benefits {
    gap: 10px;
    font-size: 12px;
  }
  .one-country-highlights,
  .one-country-card-grid,
  .one-country-filter-bar,
  .one-country-sidebar {
    grid-template-columns: 1fr;
  }
  .one-country-toolbar {
    grid-template-columns: 1fr;
  }
  .one-country-toolbar .plan-tabs {
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .one-country-toolbar .plan-tabs button {
    white-space: nowrap;
  }
  .one-country-sort {
    justify-content: space-between;
  }
  .one-country-sort select {
    flex: 1 1 auto;
  }
  .one-country-plans-shell {
    padding: 12px;
    border-radius: 10px;
  }
  .one-country-all-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .one-country-view-toggle {
    width: 100%;
  }
  .one-country-view-toggle button {
    flex: 1;
  }
}

/* AleoFly v58 storefront redesign. Kept last so older release polish cannot
   hide mobile product sections or push plans below a long country directory. */
:root {
  --brand: #e50914;
  --brand-strong: #db174b;
  --brand-tint: rgba(255, 45, 99, 0.11);
  --bg: #f7f8fa;
  --text: #111827;
}

.site-header {
  max-width: 100%;
  min-height: 70px;
  padding: 0 max(24px, calc((100vw - 1220px) / 2));
  gap: 24px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(18px);
}

.top-offer {
  display: none;
}

.brand {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0;
}

.brand .logo,
.brand-mark {
  width: 42px;
  height: 42px;
}

.top-nav {
  flex: 1 1 auto;
  justify-content: center;
  gap: clamp(14px, 2vw, 30px);
  font-size: 14px;
  font-weight: 800;
}

.top-nav a.active,
.top-nav a:hover {
  color: var(--brand);
}

.header-actions {
  gap: 10px;
}

.header-actions > a[href="/login"],
.signin-pill {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
}

.aleo-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  grid-template-areas:
    "copy art"
    "search search";
  align-items: center;
  gap: 26px 34px;
  min-height: 0;
  margin: 0;
  padding: 38px 0 18px;
  text-align: left;
  background: transparent;
}

.aleo-hero .hero-copy {
  grid-area: copy;
  max-width: 620px;
  display: grid;
  gap: 12px;
  justify-items: start;
}

.aleo-hero h1 {
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 0.98;
  color: var(--text);
}

.aleo-hero h1::first-line {
  color: var(--text);
}

.aleo-hero .eyebrow {
  color: var(--brand);
}

.hero-sub {
  max-width: 520px;
  margin: 0;
  color: #343946;
}

.trust-row {
  justify-content: flex-start;
}

.rating-pill {
  background: #16a34a;
}

.aleo-feature-strip {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.aleo-feature-strip div {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  align-items: center;
  gap: 0 8px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}

.aleo-feature-strip span {
  grid-area: icon;
  color: var(--brand);
}

.aleo-feature-strip strong {
  grid-area: title;
  font-size: 12px;
}

.aleo-feature-strip small {
  grid-area: sub;
  color: var(--muted);
  font-size: 11px;
}

.aleo-hero-art {
  grid-area: art;
  position: relative;
  min-height: 330px;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 24%, rgba(255, 45, 99, 0.24), transparent 24%),
    linear-gradient(135deg, #fff6e7 0%, #ffe4ec 54%, #fff 100%);
  border: 1px solid #f1dce2;
}

.map-glow {
  position: absolute;
  inset: 14% 4% 4%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 18% 46%, rgba(255,45,99,0.12) 0 5px, transparent 6px),
    radial-gradient(circle at 70% 32%, rgba(255,45,99,0.18) 0 6px, transparent 7px),
    radial-gradient(circle at 88% 70%, rgba(255,45,99,0.16) 0 5px, transparent 6px),
    linear-gradient(170deg, rgba(255,255,255,0.38), rgba(255,255,255,0));
}

.phone-card,
.suitcase-card,
.plane-card {
  position: absolute;
  box-shadow: 0 24px 50px rgba(17, 24, 39, 0.16);
}

.phone-card {
  left: 26%;
  top: 14%;
  width: 140px;
  height: 230px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  border: 10px solid #151922;
  border-radius: 28px;
  background: linear-gradient(160deg, #e50914, #ff7b9d);
  color: #fff;
  text-align: center;
}

.phone-card b {
  font-size: 20px;
}

.phone-card span {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 2px dashed rgba(255,255,255,0.82);
  border-radius: 18px;
  font-weight: 900;
}

.suitcase-card {
  right: 16%;
  bottom: 14%;
  width: 118px;
  height: 154px;
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.18) 0 8px, transparent 8px 18px),
    linear-gradient(160deg, #e50914, #f43f5e);
}

.suitcase-card::before {
  content: "";
  position: absolute;
  left: 32px;
  right: 32px;
  top: -24px;
  height: 28px;
  border: 6px solid #151922;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.plane-card {
  right: 13%;
  top: 18%;
  color: #667085;
  font-size: 48px;
  box-shadow: none;
  transform: rotate(-18deg);
}

.hero-search-wrap {
  grid-area: search;
  width: 100%;
  margin: 0;
}

.aleo-search-panel {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) minmax(230px, 1.2fr) minmax(180px, 0.8fr) minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 54px rgba(17, 24, 39, 0.10);
}

.search-field,
.filter-block {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.search-field small,
.filter-block small {
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
}

.search-field input,
.select-row select {
  min-height: 46px;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  color: var(--text);
  padding: 0 14px;
}

.filter-chip-row,
.data-type-chips,
.select-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-chip {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #f5f6f8;
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.filter-chip.active {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}

.search-submit {
  min-height: 46px;
  min-width: 112px;
  border-radius: 999px;
  background: #111827;
  font-weight: 900;
}

.country-search-popover {
  z-index: 60;
}

.aleo-explore,
.aleo-popular,
.aleo-plan-showcase,
.aleo-regions {
  margin: 28px 0;
}

.aleo-explore-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.explore-card {
  min-height: 190px;
  display: grid;
  align-content: space-between;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff1f5;
  overflow: hidden;
}

.explore-card.multi { background: #f1f6ff; }
.explore-card.global { background: #effcf4; }
.explore-card strong { font-size: 20px; }
.explore-card span { color: #4b5563; max-width: 160px; }
.explore-card b {
  justify-self: start;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
}

.popular-country-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(120px, 1fr));
  gap: 12px;
}

.popular-country-card {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 14px 10px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

.popular-country-flag {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}

.popular-country-card strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}

.popular-country-card small {
  color: var(--muted);
  font-size: 12px;
}

.section-pill {
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--brand-tint);
  color: var(--brand);
  font-size: 12px;
  vertical-align: middle;
}

.aleo-plan-showcase .grid {
  grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
}

.region-showcase-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.region-showcase-card {
  min-height: 100px;
  display: grid;
  align-content: end;
  gap: 4px;
  padding: 16px;
  border: 1px solid #dce8f8;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0)),
    linear-gradient(135deg, #eaf4ff, #fff);
}

.region-showcase-card:nth-child(2n) { background: linear-gradient(135deg, #fff0f4, #fff); }
.region-showcase-card:nth-child(3n) { background: linear-gradient(135deg, #eefcf4, #fff); }
.region-showcase-card small { color: var(--muted); }

@media (max-width: 1100px) {
  .aleo-search-panel {
    grid-template-columns: 1fr 1fr;
  }
  .search-submit {
    grid-column: 1 / -1;
  }
  .desktop-filter {
    display: none;
  }
  .popular-country-strip,
  .region-showcase-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .site-header {
    min-height: 64px;
    display: flex;
    padding: 8px 18px;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
  }
  .site-header > .brand {
    margin: 0;
    padding: 0;
  }
  .brand span {
    display: inline-block;
    max-width: none;
  }
  .site-header > .header-actions {
    width: auto;
    margin: 0 0 0 auto;
    padding: 0;
    display: flex !important;
  }
  .site-header > .header-actions > a,
  .site-header > .header-actions > button {
    display: none !important;
  }
  .lang-select {
    display: none;
  }
  .currency-select {
    max-width: 108px;
    min-height: 42px;
  }
  main.app {
    padding: 0 16px 96px;
  }
  .aleo-hero {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "art" "search";
    gap: 16px;
    padding: 18px 0 10px;
  }
  .aleo-hero .hero-copy {
    gap: 8px;
  }
  .aleo-hero h1 {
    font-size: clamp(32px, 8.6vw, 46px);
    line-height: 1.04;
  }
  .aleo-feature-strip {
    display: none;
  }
  .aleo-hero-art {
    min-height: 220px;
    margin: 0 -16px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }
  .phone-card {
    left: 44%;
    top: 14px;
    width: 104px;
    height: 168px;
    border-width: 7px;
    border-radius: 22px;
  }
  .phone-card span {
    width: 58px;
    height: 58px;
    border-radius: 14px;
  }
  .suitcase-card {
    right: 12%;
    bottom: 18px;
    width: 80px;
    height: 106px;
    border-radius: 18px;
  }
  .plane-card {
    right: 9%;
    top: 24px;
    font-size: 34px;
  }
  .aleo-search-panel {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .search-field {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 8px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(17, 24, 39, 0.12);
  }
  .search-field small {
    display: none;
  }
  .search-field input {
    min-height: 48px;
    border: 0;
  }
  .search-submit {
    grid-row: 1;
    grid-column: 1;
    justify-self: end;
    min-width: 96px;
    margin: 8px;
  }
  .filter-block {
    gap: 10px;
  }
  .filter-block small {
    display: none;
  }
  .filter-chip-row,
  .data-type-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
  }
  .filter-chip-row::-webkit-scrollbar,
  .data-type-chips::-webkit-scrollbar {
    display: none;
  }
  .filter-chip {
    flex: 0 0 auto;
    min-height: 42px;
    background: #fff;
  }
  .aleo-explore-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .explore-card {
    min-height: 230px;
  }
  .popular-country-strip,
  .aleo-plan-showcase .grid,
  .region-showcase-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(168px, 72vw);
    grid-template-columns: none;
    overflow-x: auto;
    gap: 12px;
    padding: 2px 2px 12px;
    scroll-snap-type: x proximity;
  }
  .popular-country-card,
  .aleo-plan-showcase .plan-card,
  .region-showcase-card {
    scroll-snap-align: start;
  }
  .aleo-plan-showcase .grid {
    grid-auto-columns: minmax(245px, 76vw);
  }
  .row-head {
    align-items: center;
  }
  .row-head h2 {
    font-size: 19px;
  }
  .plan-card .plan-head {
    display: flex;
    align-items: flex-start;
  }
  .plan-card .price-stack {
    margin-left: 0;
    justify-items: end;
  }
}

@media (max-width: 420px) {
  .brand {
    font-size: 22px;
  }
  .brand .logo,
  .brand-mark {
    width: 38px;
    height: 38px;
  }
  .currency-select {
    max-width: 98px;
  }
}
.flag-badge .flag-code::after {
  content: attr(data-fallback);
}

/* Absolute final override for country flags. Keep this at EOF. */
.flag-badge {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f3f5 !important;
  background-image: none !important;
}
.flag-badge .flag-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.flag-badge .flag-globe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.72em;
  line-height: 1;
}
.flag-badge .flag-code {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: var(--text);
  font-size: 0.42em;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}
.flag-badge.flag-loaded .flag-code,
.flag-badge:has(.flag-img) .flag-emoji {
  display: none;
}
.flag-badge.flag-failed .flag-img {
  display: none;
}

/* Final flag hardening: real image first, code fallback only on image failure. */
.flag-badge {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f3f5 !important;
  background-image: none !important;
}

.flag-badge .flag-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.flag-badge .flag-globe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.72em;
  line-height: 1;
}

.flag-badge .flag-code {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: var(--text);
  font-size: 0.42em;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}

.flag-badge.flag-loaded .flag-code,
.flag-badge:has(.flag-img) .flag-emoji {
  display: none;
}

.flag-badge.flag-failed .flag-img {
  display: none;
}
.brand-mark { color: var(--brand); display: inline-block; vertical-align: middle; }

/* Hero polish */
.hero h1 { letter-spacing: -0.02em; }
.app-hero { text-align: left; display: grid; grid-template-columns: 1fr minmax(320px, 560px); gap: 28px; align-items: end; padding: 28px 0 18px; }
.app-hero h1 { font-size: 42px; line-height: 1.05; max-width: 720px; }
.eyebrow { color: var(--brand); font-weight: 800; text-transform: uppercase; font-size: 12px; letter-spacing: 0.08em; }
.btn-buy { box-shadow: var(--shadow-lg); }

/* Country highlight cards on the country page */
.highlights { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-4); margin-bottom: var(--space-5); }
.highlight > span { display: block; font-size: 13px; color: var(--muted); margin-bottom: var(--space-1); text-transform: uppercase; letter-spacing: 0.04em; }
.secure-note { font-size: 13px; }
.app-country-head { justify-content: space-between; }
.app-country-head > div { display: flex; align-items: center; gap: 12px; }
.app-country-head h1 { margin: 0; font-size: 42px; }
.back-link { font-size: 30px; color: var(--muted); }
.segmented { display: flex; padding: 5px; border-radius: 999px; background: rgba(127,127,127,0.1); margin-bottom: 18px; }
.segmented span,
.segmented button {
  flex: 1;
  text-align: center;
  padding: 10px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.segmented span.active,
.segmented button.active { background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.segmented button:disabled { cursor: default; opacity: 0.45; }
.plan-tabs b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  margin-left: 6px;
  border-radius: 999px;
  background: rgba(127,127,127,0.12);
  color: inherit;
  font-size: 12px;
}
.plan-groups {
  display: grid;
  gap: 22px;
}
.plan-group[hidden],
.mobile-checkout-bar[hidden] {
  display: none !important;
}
.plan-group {
  display: grid;
  gap: 12px;
}
.plan-group-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 12px;
}
.plan-group-head h3 {
  margin: 0;
  font-size: 20px;
}
.plan-group-head small {
  color: var(--muted);
  white-space: nowrap;
}
.plan-title h3 {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
.plan-meta {
  flex-wrap: wrap;
}
.plan-card .plan-meta span:nth-child(2),
.plan-card .plan-meta span:nth-child(4) {
  font-size: 0;
}
.plan-card .plan-meta span:nth-child(2)::after,
.plan-card .plan-meta span:nth-child(4)::after {
  content: "-";
  font-size: 14px;
}
.subhead { margin: 18px 0 12px; }
.mobile-checkout-bar { display: none; }

@media (max-width: 720px) {
  .mobile-checkout-bar:not([hidden]) { display: flex; }
}

/* Header language / currency selectors */
.lang-select, .currency-select {
  background: var(--surface); color: var(--text);
  border: 1px solid var(--border); border-radius: 999px;
  padding: 6px 10px; font-size: 13px; cursor: pointer;
}

/* Mobile bottom navigation (telecom self-care style). Hidden on desktop. */
.bottom-nav { display: none; }
.bottom-nav a {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
  font-size: 11px; color: var(--muted); padding: 8px 0;
}
.bottom-nav a .bn-ico { font-size: 18px; line-height: 1; color: var(--text); }
.bottom-nav a:hover, .bottom-nav a:focus, .bottom-nav a.is-active { color: var(--brand); }
.bottom-nav a.is-active .bn-ico { color: var(--brand); }
.account-auth-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.muted-pill { background: rgba(127,127,127,0.10); color: var(--text); }
.account-stack .settings-list a[href="/settings"] { display: none; }

/* RTL support: flip layout-affecting properties for Arabic/Urdu. */
[dir='rtl'] .header-actions { margin-left: 0; margin-right: auto; }
[dir='rtl'] .orders-table th, [dir='rtl'] .orders-table td { text-align: right; }
[dir='rtl'] .filters label, [dir='rtl'] .checkout-form label { text-align: right; }
[dir='rtl'] .install { text-align: right; }

@media (max-width: 860px) {
  .bottom-nav {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    position: fixed; left: 0; right: 0; top: auto; bottom: 0; z-index: 20;
    width: 100%;
    background: var(--surface); border-top: 1px solid var(--border);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .bottom-nav a { min-width: 0; }
  .site-header > .header-actions { display: none !important; }
  main.app { padding-bottom: 72px; }
  .header-actions .lang-select, .header-actions .currency-select { padding: 6px 8px; }
}

/* Section 14: storefront promo banners (served from the public banners API). */
.promo-banners { display: grid; gap: 12px; margin: 12px 0; }
.promo-banner {
  display: flex; gap: 14px; align-items: center;
  border: 1px solid var(--border, #e2e2e2); border-radius: 12px;
  overflow: hidden; background: var(--card-bg, #fff);
}
.promo-banner .banner-image { width: 120px; height: 90px; object-fit: cover; flex: 0 0 auto; }
.promo-banner .banner-body { padding: 12px 14px; display: grid; gap: 6px; }
.promo-banner .banner-body h3 { margin: 0; font-size: 1.05rem; }
.promo-banner .banner-body p { margin: 0; color: var(--muted, #666); }
.promo-banner .banner-cta { justify-self: start; margin-top: 4px; }
@media (max-width: 600px) {
  .promo-banner { flex-direction: column; align-items: stretch; }
  .promo-banner .banner-image { width: 100%; height: 140px; }
  /* Stack the orders table into cards on small phones */
  .orders-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .orders-table, .orders-table tbody, .orders-table tr, .orders-table td { display: block; width: 100%; }
  .orders-table tr { border: 1px solid var(--border); border-radius: 12px; margin-bottom: 12px; padding: 4px 0; }
  .orders-table td { border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: right; padding: 10px 14px; }
  .orders-table tr td:last-child { border-bottom: 0; }
  .orders-table td::before { content: attr(data-label); font-weight: 600; color: var(--muted); text-align: left; }
  [dir='rtl'] .orders-table td { text-align: left; }
  [dir='rtl'] .orders-table td::before { text-align: right; }
}

/* Buyer-only support page and professional floating chat. */
.support-page-v228 {
  display: grid;
  gap: 22px;
}

.support-hero-v228 {
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 24px;
  align-items: stretch;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(229, 9, 20, .16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(229, 9, 20, .14), transparent 30%),
    linear-gradient(135deg, #fff 0%, #fff6f7 52%, #f7fafc 100%);
  box-shadow: 0 24px 70px rgba(16, 24, 40, .08);
}

.support-hero-v228 h1 {
  max-width: 680px;
  margin: 8px 0 12px;
  font-size: clamp(36px, 5vw, 68px);
  line-height: .98;
  letter-spacing: 0;
}

.support-hero-v228 p {
  max-width: 620px;
  color: var(--muted);
  font-weight: 750;
}

.support-hero-actions-v228 {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.support-status-card-v228,
.support-grid-v228 article,
.support-contact-band-v228 {
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 18px 45px rgba(16, 24, 40, .08);
}

.support-status-card-v228 {
  align-self: end;
  display: grid;
  gap: 10px;
  padding: 24px;
  border-radius: 22px;
}

.support-status-card-v228 span,
.support-grid-v228 article span {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  background: var(--brand-tint);
  color: var(--brand);
}

.support-grid-v228 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.support-grid-v228 article {
  display: grid;
  gap: 8px;
  min-height: 190px;
  padding: 22px;
  border-radius: 22px;
}

.support-grid-v228 h3,
.support-contact-band-v228 h2 {
  margin: 0;
}

.support-grid-v228 p,
.support-contact-band-v228 p {
  margin: 0;
  color: var(--muted);
  font-weight: 720;
}

.support-contact-band-v228 {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 20px;
  align-items: center;
  padding: 24px;
  border-radius: 22px;
}

.support-contact-list-v228 {
  display: grid;
  gap: 10px;
}

.support-contact-list-v228 a {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  color: var(--text);
}

.support-contact-list-v228 b {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.support-contact-list-v228 span {
  min-width: 0;
  color: var(--muted);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.support-faq-v228 {
  margin-top: 0;
}

.buyer-support-widget-v228 {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 80;
  pointer-events: none;
}

[dir='rtl'] .buyer-support-widget-v228 {
  right: auto;
  left: 22px;
}

.buyer-support-bubble-v228,
.buyer-support-panel-v228 {
  pointer-events: auto;
}

.buyer-support-bubble-v228 {
  min-width: 142px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  box-shadow: 0 18px 44px rgba(229, 9, 20, .28), 0 10px 24px rgba(15, 23, 42, .14);
  font-weight: 950;
  cursor: pointer;
}

.buyer-support-bubble-v228 svg,
.buyer-support-icon-btn-v228 svg,
.buyer-support-panel-v228 header svg,
.buyer-support-attach-v228 svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.buyer-support-bubble-v228 b {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font-size: 12px;
}

.buyer-support-panel-v228 {
  width: min(390px, calc(100vw - 36px));
  max-height: min(680px, calc(100vh - 44px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 30px 95px rgba(15, 23, 42, .24);
}

.buyer-support-panel-v228 header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(135deg, #fff4f5 0%, #fff 100%);
  border-bottom: 1px solid var(--border);
}

.buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  column-gap: 10px;
  align-items: center;
}

.buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) > span {
  grid-row: span 2;
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  background: var(--brand);
  color: #fff;
}

.buyer-support-panel-v228 header strong,
.buyer-support-ticket-head-v228 strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.buyer-support-panel-v228 header small {
  color: var(--muted);
  font-weight: 800;
}

.buyer-support-health-v231 {
  flex: 0 0 auto;
  display: grid;
  justify-items: end;
  gap: 2px;
  padding-inline: 4px;
}

.buyer-support-health-v231 b {
  color: #15803d;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.buyer-support-health-v231 b::before {
  content: '';
  width: 7px;
  height: 7px;
  display: inline-block;
  margin-inline-end: 6px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .14);
  vertical-align: 1px;
}

.buyer-support-health-v231 small {
  font-size: 11px;
  white-space: nowrap;
}

.buyer-support-icon-btn-v228 {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  cursor: pointer;
}

.buyer-support-order-v228 {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}

.buyer-support-order-v228 label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
}

.buyer-support-order-v228 select,
.buyer-support-compose-v228 textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.buyer-support-order-v228 select {
  padding: 11px 12px;
  font-weight: 900;
}

.buyer-support-order-v228 p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.buyer-support-tabs-v228 {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  overflow-x: auto;
  border-bottom: 1px solid var(--border);
}

.buyer-support-tabs-v228 button,
.buyer-support-issue-grid-v228 button {
  flex: 0 0 auto;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  padding: 8px 12px;
  font-weight: 900;
  cursor: pointer;
}

.buyer-support-issue-grid-v228 button {
  display: inline-grid;
  gap: 2px;
  text-align: start;
}

.buyer-support-issue-grid-v228 button small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.buyer-support-tabs-v228 button.active,
.buyer-support-issue-grid-v228 button.active {
  border-color: rgba(229, 9, 20, .24);
  background: var(--brand-tint);
  color: var(--brand);
}

.buyer-support-issue-grid-v228 button.active small {
  color: var(--brand);
}

.buyer-support-thread-v228 {
  min-height: 190px;
  overflow-y: auto;
  padding: 14px 16px;
}

.buyer-support-ticket-head-v228 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.buyer-support-ticket-head-v228 span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f1f5f9;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
}

.buyer-support-priority-v231 {
  background: #f3f4f6 !important;
  color: var(--muted) !important;
}

.buyer-support-priority-v231.is-critical {
  background: rgba(229, 9, 20, .12) !important;
  color: var(--brand) !important;
}

.buyer-support-priority-v231.is-low {
  background: #ecfdf3 !important;
  color: #15803d !important;
}

.buyer-support-messages-v228 {
  display: grid;
  gap: 10px;
}

.buyer-support-messages-v228 article {
  max-width: 88%;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f8fafc;
}

.buyer-support-messages-v228 article.mine {
  justify-self: end;
  background: linear-gradient(135deg, #fff0f1 0%, #ffe5e8 100%);
  border-bottom-right-radius: 6px;
  box-shadow: 0 10px 28px rgba(229, 9, 20, .08);
}

[dir='rtl'] .buyer-support-messages-v228 article.mine {
  justify-self: start;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 6px;
}

.buyer-support-messages-v228 article.agent {
  justify-self: start;
  border-bottom-left-radius: 6px;
  background: #f8fafc;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.buyer-support-messages-v228 b {
  font-size: 12px;
}

.buyer-support-messages-v228 p,
.buyer-support-empty-v228 {
  margin: 0;
  color: var(--text);
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.buyer-support-messages-v228 small,
.buyer-support-empty-v228 {
  color: var(--muted);
  font-weight: 800;
}

.buyer-support-message-meta-v231 {
  justify-self: end;
  font-size: 11px;
}

.buyer-support-typing-v231 {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.buyer-support-typing-v231 i {
  width: 5px;
  height: 5px;
  display: inline-block;
  border-radius: 999px;
  background: currentColor;
  opacity: .45;
}

.buyer-support-attachment-preview-v228 {
  width: min(180px, 100%);
  display: grid;
  gap: 6px;
  padding: 6px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 12px;
  background: rgba(255, 255, 255, .86);
  color: var(--text);
  text-decoration: none;
}

.buyer-support-attachment-preview-v228 img {
  width: 100%;
  height: 112px;
  object-fit: cover;
  border-radius: 9px;
  background: #f8fafc;
}

.buyer-support-attachment-preview-v228 span {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.buyer-support-issue-grid-v228 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.buyer-support-quick-checks-v231 {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(229, 9, 20, .14);
  border-radius: 16px;
  background: linear-gradient(135deg, #fff7f7 0%, #fff 100%);
}

.buyer-support-quick-checks-v231 strong {
  font-size: 13px;
}

.buyer-support-quick-checks-v231 ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-inline-start: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.buyer-support-compose-v228 {
  display: grid;
  gap: 10px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--border);
  background: #fff;
}

.buyer-support-compose-v228 textarea {
  min-height: 82px;
  max-height: 128px;
  resize: vertical;
  padding: 11px 12px;
}

.buyer-support-compose-preview-v228 {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 14px;
  background: #f8fafc;
}

.buyer-support-compose-preview-v228 img {
  width: 54px;
  height: 44px;
  object-fit: cover;
  border-radius: 10px;
}

.buyer-support-compose-preview-v228 span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.buyer-support-compose-preview-v228 b,
.buyer-support-compose-preview-v228 small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.buyer-support-compose-preview-v228 small {
  color: var(--muted);
  font-weight: 800;
}

.buyer-support-compose-preview-v228 button {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: var(--brand);
  font-size: 19px;
  font-weight: 950;
  cursor: pointer;
}

.buyer-support-compose-v228 > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.buyer-support-attach-v228 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.buyer-support-attach-v228 input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.buyer-support-attach-v228 span {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.buyer-support-error-v228 {
  margin: 0;
  color: var(--error);
  font-size: 13px;
  font-weight: 850;
}

.buyer-support-notice-v231 {
  margin: 0;
  padding: 9px 10px;
  border: 1px solid rgba(34, 197, 94, .2);
  border-radius: 12px;
  background: #ecfdf3;
  color: #166534;
  font-size: 12px;
  font-weight: 900;
}

/* v232: keep the buyer support chat stable in RTL/mobile translations. */
.buyer-support-panel-v228 header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) {
  grid-column: 1;
  grid-row: 1;
}

.buyer-support-health-v231 {
  grid-column: 1;
  grid-row: 2;
  justify-items: start;
  padding-inline-start: 48px;
  padding-top: 4px;
}

[dir='rtl'] .buyer-support-health-v231 {
  justify-items: end;
  padding-inline-start: 0;
  padding-inline-end: 48px;
}

.buyer-support-icon-btn-v228 {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.buyer-support-order-v228,
.buyer-support-thread-v228,
.buyer-support-compose-v228 {
  min-width: 0;
}

.buyer-support-order-v228 label,
.buyer-support-order-v228 p {
  text-align: start;
}

.buyer-support-order-v228 select {
  height: 58px;
  text-align: start;
  direction: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
}

.buyer-support-tabs-v228 {
  scrollbar-width: thin;
}

.buyer-support-ticket-head-v228 {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}

.buyer-support-ticket-head-v228 strong {
  flex: 1 1 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.buyer-support-compose-v228 textarea {
  resize: none;
  text-align: start;
}

@media (max-width: 860px) {
  body:has(.support-page-v228) {
    overflow-x: hidden !important;
  }
  body:has(.support-page-v228) .site-header {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding-inline: 14px !important;
    gap: 8px !important;
    overflow: hidden !important;
  }
  body:has(.support-page-v228) .site-header > .brand.brand-image-lockup {
    min-width: 150px !important;
    width: 150px !important;
    flex: 0 1 150px !important;
  }
  body:has(.support-page-v228) .site-header .brand-image-lockup .brand-logo-image {
    width: 146px !important;
    max-width: 146px !important;
    height: 64px !important;
    max-height: 64px !important;
  }
  body:has(.support-page-v228) .site-header > .header-actions {
    min-width: 0 !important;
    gap: 6px !important;
  }
  body:has(.support-page-v228) .header-currency-shell,
  body:has(.support-page-v228) .site-header .header-actions > button[data-toggle-theme-quick],
  body:has(.support-page-v228) .site-header .header-actions > .mobile-notification-action,
  body:has(.support-page-v228) .site-header .header-actions .account-header-action {
    display: none !important;
  }
  main.app:has(.support-page-v228),
  .support-page-v228 {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
  .support-page-v228,
  .support-page-v228 * {
    min-width: 0;
  }
  .support-hero-v228,
  .support-contact-band-v228 {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    border-radius: 22px;
    padding: 24px;
  }
  .support-hero-v228 h1 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.04;
    overflow-wrap: anywhere;
  }
  .support-hero-v228 p,
  .support-status-card-v228 p,
  .support-grid-v228 p,
  .support-contact-band-v228 p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .support-status-card-v228 {
    width: 100%;
    max-width: 100%;
  }
  .support-grid-v228 {
    grid-template-columns: 1fr;
  }
  .support-grid-v228 article {
    min-height: 0;
  }
  .support-contact-list-v228 a {
    align-items: flex-start;
    flex-direction: column;
  }
  .buyer-support-widget-v228,
  [dir='rtl'] .buyer-support-widget-v228 {
    left: 12px;
    right: 12px;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px));
    display: flex;
    justify-content: flex-end;
  }
  .buyer-support-panel-v228 {
    width: 100%;
    max-height: calc(100vh - 126px);
    border-radius: 22px;
  }
  .buyer-support-health-v231 {
    display: none;
  }
  .buyer-support-bubble-v228 {
    min-width: 132px;
  }
}

@media (max-width: 680px) {
  .buyer-support-widget-v228,
  [dir='rtl'] .buyer-support-widget-v228 {
    left: 10px;
    right: 10px;
    bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
  }
  .buyer-support-panel-v228 {
    width: 100%;
    max-height: calc(100dvh - 104px);
    border-radius: 22px;
  }
  .buyer-support-panel-v228 header {
    padding: 14px;
  }
  .buyer-support-health-v231 {
    display: grid;
    padding-inline-start: 48px;
    padding-inline-end: 0;
  }
  [dir='rtl'] .buyer-support-health-v231 {
    padding-inline-start: 0;
    padding-inline-end: 48px;
  }
  .buyer-support-health-v231 small {
    font-size: 10px;
  }
  .buyer-support-order-v228 {
    padding: 12px 14px;
  }
  .buyer-support-tabs-v228 {
    padding: 10px 14px;
  }
  .buyer-support-tabs-v228 button {
    flex: 1 0 108px;
    min-width: 0;
    padding: 8px 10px;
    font-size: 12px;
  }
  .buyer-support-thread-v228 {
    flex: 1 1 auto;
    min-height: 160px;
    padding: 12px 14px;
  }
  .buyer-support-messages-v228 article {
    max-width: 86%;
  }
  .buyer-support-compose-v228 {
    padding: 12px 14px 14px;
  }
  .buyer-support-compose-v228 textarea {
    min-height: 88px;
    max-height: 112px;
  }
  .buyer-support-compose-v228 > div {
    align-items: center;
  }
}

/* v233: live-chat sizing polish. Only the conversation area scrolls. */
.buyer-support-widget-v228 {
  z-index: 260;
}

.buyer-support-panel-v228 {
  width: min(430px, calc(100vw - 32px));
  height: min(680px, calc(100dvh - 44px));
  max-width: 100%;
}

.buyer-support-thread-v228 {
  flex: 1 1 auto;
  min-height: 0;
  overscroll-behavior: contain;
}

.buyer-support-order-v228,
.buyer-support-tabs-v228,
.buyer-support-compose-v228 {
  flex: 0 0 auto;
}

.buyer-support-panel-v228 header,
.buyer-support-order-v228,
.buyer-support-tabs-v228,
.buyer-support-compose-v228 {
  position: relative;
  z-index: 1;
  background-clip: padding-box;
}

.buyer-support-issue-grid-v228 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.buyer-support-issue-grid-v228 button {
  min-width: 0;
  justify-content: start;
  min-height: 62px;
  white-space: normal;
  line-height: 1.15;
}

.buyer-support-issue-grid-v228 button span,
.buyer-support-issue-grid-v228 button small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.buyer-support-messages-v228 {
  min-width: 0;
}

.buyer-support-typing-v231 i:nth-child(1),
.support-admin-typing-v233 i:nth-child(1) {
  animation: supportTypingBlink 1.05s infinite ease-in-out;
}

.buyer-support-typing-v231 i:nth-child(2),
.support-admin-typing-v233 i:nth-child(2) {
  animation: supportTypingBlink 1.05s .15s infinite ease-in-out;
}

.buyer-support-typing-v231 i:nth-child(3),
.support-admin-typing-v233 i:nth-child(3) {
  animation: supportTypingBlink 1.05s .3s infinite ease-in-out;
}

@keyframes supportTypingBlink {
  0%, 80%, 100% { opacity: .3; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-2px); }
}

@media (max-width: 680px) {
  .buyer-support-panel-v228 {
    width: 100%;
    height: min(640px, calc(100dvh - 112px));
    max-height: calc(100dvh - 112px);
  }
  .buyer-support-panel-v228 header {
    gap: 8px;
    padding: 13px 14px;
  }
  .buyer-support-panel-v228 header strong {
    font-size: 18px;
  }
  .buyer-support-order-v228 {
    gap: 6px;
  }
  .buyer-support-order-v228 select {
    height: 54px;
    padding: 10px 12px;
  }
  .buyer-support-tabs-v228 {
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .buyer-support-tabs-v228::-webkit-scrollbar {
    display: none;
  }
  .buyer-support-tabs-v228 button {
    flex: 0 0 auto;
    min-width: 112px;
    white-space: nowrap;
  }
  .buyer-support-issue-grid-v228 {
    gap: 8px;
    margin-bottom: 10px;
  }
  .buyer-support-issue-grid-v228 button {
    border-radius: 18px;
    padding: 9px 12px;
  }
  .buyer-support-compose-v228 textarea {
    min-height: 86px;
  }
  .buyer-support-compose-v228 .btn {
    min-width: 104px;
  }
}

@media (max-width: 430px) {
  .buyer-support-widget-v228,
  [dir='rtl'] .buyer-support-widget-v228 {
    left: 8px;
    right: 8px;
    bottom: calc(74px + env(safe-area-inset-bottom, 0px));
  }
  .buyer-support-panel-v228 {
    border-radius: 20px;
  }
  .buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) > span {
    width: 34px;
    height: 34px;
    border-radius: 12px;
  }
  .buyer-support-health-v231 {
    padding-inline-start: 44px;
  }
  [dir='rtl'] .buyer-support-health-v231 {
    padding-inline-end: 44px;
  }
  .buyer-support-issue-grid-v228 button {
    min-height: 58px;
    padding: 8px 10px;
  }
  .buyer-support-compose-v228 > div {
    gap: 8px;
  }
  .buyer-support-attach-v228 span {
    max-width: 116px;
  }
}

/* v256: compact mobile support launcher; the chat panel still opens normally. */
.buyer-support-widget-v228,
[dir='rtl'] .buyer-support-widget-v228 {
  left: auto;
  right: 22px;
  width: auto;
  display: block;
  justify-content: flex-end;
}

.buyer-support-bubble-v228 {
  width: 58px;
  min-width: 58px;
  height: 58px;
  padding: 0;
  gap: 0;
  overflow: visible;
  border-radius: 999px;
  font-size: 0;
}

.buyer-support-bubble-v228::before {
  content: "\1F3A7";
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", system-ui, sans-serif;
  font-size: 29px;
  line-height: 1;
}

.buyer-support-bubble-v228 > svg {
  display: none;
}

.buyer-support-bubble-v228 > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.buyer-support-bubble-v228 b {
  position: absolute;
  top: -7px;
  right: -7px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18);
}

@media (max-width: 860px) {
  .buyer-support-widget-v228,
  [dir='rtl'] .buyer-support-widget-v228 {
    left: auto;
    right: 16px;
    bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    width: auto;
    display: block;
    justify-content: flex-end;
  }
  .buyer-support-panel-v228 {
    width: min(430px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
  }
}

@media (max-width: 680px) {
  .buyer-support-widget-v228,
  [dir='rtl'] .buyer-support-widget-v228 {
    left: auto;
    right: 12px;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .buyer-support-panel-v228 {
    width: calc(100vw - 24px);
    height: min(640px, calc(100dvh - 112px));
  }
}

@media (max-width: 430px) {
  .buyer-support-widget-v228,
  [dir='rtl'] .buyer-support-widget-v228 {
    left: auto;
    right: 12px;
    bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  }
  .buyer-support-bubble-v228 {
    width: 54px;
    min-width: 54px;
    height: 54px;
  }
}

/* --------------------------------------------------------------------------
   Vodafone-inspired web polish: red/white/black, larger usable surfaces, and
   app-like cards for desktop without losing the compact mobile behaviour.
   -------------------------------------------------------------------------- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  flex-wrap: wrap;
  gap: 0;
  align-items: stretch;
  padding: 0;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(18px);
}

.top-offer {
  flex: 0 0 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #f4f4f4;
  color: #0b0b0d;
  font-size: 14px;
}

.top-offer a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 18px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 800;
}

.top-offer button {
  position: absolute;
  right: 24px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #e8e4e4;
  color: #535353;
  font-size: 20px;
  cursor: pointer;
}

.site-header > .brand {
  margin-left: max(24px, calc((100vw - var(--max)) / 2));
  padding: 18px 0;
  font-size: 24px;
  color: var(--brand);
}

.site-header > .top-nav {
  align-items: center;
  padding: 0 24px;
  gap: 30px;
  font-weight: 700;
}

.site-header > .header-actions {
  margin-right: max(24px, calc((100vw - var(--max)) / 2));
  padding: 12px 0;
}

.header-actions > a {
  font-weight: 800;
}

.header-actions > a[href="/login"],
.signin-pill {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 0 22px;
  border-radius: 999px;
  background: #050507;
  color: #fff;
}

.lang-select,
.currency-select {
  min-height: 42px;
  border: 0;
  background: transparent;
  font-weight: 700;
}

.icon-btn {
  border-radius: 50%;
  width: 42px;
  height: 42px;
  padding: 0;
}

.hero h1 { letter-spacing: 0; }

.vodafone-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  min-height: 470px;
  margin: 0 calc(50% - 50vw);
  padding: 78px 24px 150px;
  text-align: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.75), transparent 30%),
    linear-gradient(120deg, #ffcfaa 0%, #fff2bf 52%, #fff8df 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.vodafone-hero .hero-copy {
  max-width: 760px;
  display: grid;
  gap: 10px;
  justify-items: center;
}

.vodafone-hero h1 {
  margin: 0;
  max-width: 780px;
  font-size: clamp(38px, 5vw, 70px);
  line-height: 1.02;
  color: #060608;
}

.hero-sub {
  margin: 10px 0 4px;
  font-size: 19px;
  font-weight: 700;
  color: #2d2f34;
}

.trust-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #111;
  font-weight: 700;
}

.rating-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: #22c55e;
  color: #fff;
  font-weight: 900;
}

.hero-search-wrap {
  width: min(900px, calc(100vw - 48px));
  margin: 24px auto 0;
  position: relative;
  z-index: 30;
}

.vodafone-hero .search-bar {
  width: 100%;
  margin: 0;
  padding: 8px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(14, 16, 20, 0.12);
}

.vodafone-hero .search-bar input {
  min-height: 52px;
  border: 0;
  font-size: 20px;
}

.vodafone-hero .search-bar .btn {
  min-width: 128px;
  border-radius: 999px;
  background: #111;
  font-weight: 900;
}

.country-search-popover {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 14px);
  max-height: min(520px, calc(100vh - 220px));
  overflow: auto;
  padding: 20px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(14, 16, 20, 0.20);
  text-align: start;
}

.country-search-popover[hidden] {
  display: none;
}

.country-search-popover .country-result-list {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.country-search-section-label {
  margin: 4px 0 12px;
  color: #7c8490;
  font-size: 14px;
  font-weight: 800;
}

.destinations-panel {
  position: relative;
  z-index: 1;
  max-width: 1080px;
  margin: -110px auto 42px;
  padding: 30px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 22px 80px rgba(15, 17, 20, 0.14);
}

.destinations-head {
  display: grid;
  gap: 18px;
}

.destinations-head h2 {
  margin: 0;
  font-size: 31px;
}

.destination-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.destination-tabs span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  font-weight: 800;
}

.destination-tabs .active {
  background: #f0eeee;
}

.trip-strip {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 14px;
  margin: 22px 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: #f5f3f3;
}

.trip-strip span {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e9fff0;
  font-size: 25px;
}

.trip-strip strong,
.trip-strip small {
  display: block;
}

.trip-strip small {
  color: #4b5563;
}

.destinations-panel .country-chips {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.destinations-panel .country-chip,
.plan-card {
  border-radius: 18px;
  border-color: #eee;
  box-shadow: none;
}

.country-destination-card {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  min-width: 0;
}

.country-destination-card[hidden] {
  display: none;
}

.country-destination-card span {
  min-width: 0;
}

.country-destination-card strong,
.country-destination-card small {
  display: block;
}

.country-destination-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-destination-card small {
  color: #111827;
  font-size: 14px;
}

.country-destination-card b {
  color: #111827;
  font-size: 26px;
  font-weight: 500;
}

.show-all-esims-card {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 28px;
  border: 0;
  border-radius: 18px;
  background: #f0eeee;
  color: #111827;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.show-all-esims-card:hover {
  background: #e8e5e5;
}

.regional-page {
  display: grid;
  gap: 24px;
}

.region-directory {
  margin: 24px auto 36px;
  box-sizing: border-box;
  box-shadow: 0 18px 60px rgba(15, 17, 20, 0.10);
}

.region-directory .destinations-head h1 {
  margin: 0;
  font-size: 31px;
  line-height: 1.1;
}

.destination-tabs a,
.destination-tabs span {
  color: var(--text);
}

.destination-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  font-weight: 800;
}

.destination-tabs a:hover {
  background: #f6f4f4;
}

.region-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.region-card {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 14px 18px;
  border: 1px solid #f0eeee;
  border-radius: 16px;
  background: #f5f4f4;
  color: #05070b;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.region-card:hover,
.region-card.is-active {
  transform: translateY(-1px);
  border-color: rgba(230, 0, 0, 0.22);
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 17, 20, 0.10);
}

.region-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #15171d;
  color: #fff;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0;
}

.region-card-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.region-card-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 20px;
  line-height: 1.15;
}

.region-card-copy small {
  color: #111827;
}

.region-card b {
  color: #1f232b;
  font-size: 32px;
  line-height: 1;
  text-align: right;
}

.region-trip-strip span {
  background: #ddfbe7;
  color: #12805c;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
}

.region-plan-results {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto 42px;
}

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

@media (max-width: 680px) {
  .region-directory {
    margin: 10px auto 22px;
    padding: 20px;
    border-radius: 22px;
  }

  .region-directory .destinations-head h1 {
    font-size: 28px;
  }

  .region-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .region-card {
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    min-height: 70px;
    padding: 12px 14px;
  }

  .region-card-copy strong {
    font-size: 18px;
  }

  .region-card-icon {
    width: 38px;
    height: 38px;
  }
}

.plan-card {
  padding: 22px;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.plan-card .plan-head {
  min-width: 0;
}

.plan-card .price-stack {
  flex: 0 0 auto;
}

.plan-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(15, 17, 20, 0.10);
  border-color: rgba(230, 0, 0, 0.35);
}

.web-plan-detail {
  display: grid;
  grid-template-columns: minmax(320px, 520px) minmax(380px, 1fr);
  gap: 40px;
  align-items: start;
  max-width: 1120px;
  margin: 28px auto 0;
}

.plan-visual {
  min-height: 560px;
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(160deg, rgba(230, 0, 0, 0.95), rgba(16, 16, 18, 0.95)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.08) 0 8px, transparent 8px 18px);
  display: grid;
  place-items: end start;
  padding: 34px;
  color: #fff;
}

.plan-visual-card {
  width: min(100%, 330px);
  padding: 24px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.26);
  backdrop-filter: blur(14px);
}

.plan-visual-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff;
  font-size: 34px;
  margin-bottom: 18px;
}

.plan-visual-card strong {
  display: block;
  font-size: 44px;
  line-height: 1;
}

.plan-visual-card small {
  display: block;
  margin-top: 10px;
  font-size: 17px;
  color: rgba(255,255,255,0.82);
}

.plan-purchase-panel {
  padding: 28px;
  border: 1px solid #eee;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 17, 20, 0.08);
}

.plan-purchase-panel h1 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  margin: 16px 0 20px;
}

.plan-mode {
  margin-bottom: 24px;
}

.plan-purchase-panel .btn-buy,
.checkout-pay {
  width: 100%;
  min-height: 60px;
  border-radius: 18px;
  background: #050507;
  color: #fff;
  font-size: 21px;
  font-weight: 900;
}

.checkout-layout.app-checkout {
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  max-width: 1040px;
  margin: 0 auto;
}

.checkout-layout.app-checkout .order-summary,
.checkout-form > .app-input,
.checkout-form > .switch-row,
.payment-sheet,
.stripe-payment-box {
  border-radius: 24px;
  border-color: #eee;
  box-shadow: 0 10px 28px rgba(15, 17, 20, 0.06);
}

.install-card {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: stretch;
  gap: 18px;
  max-width: 860px;
  margin: 28px auto;
  padding: 18px;
  border: 1px solid #eee;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 17, 20, 0.08);
  text-align: left;
}

.install-qr-card {
  display: grid;
  gap: 12px;
  justify-items: center;
  padding: 16px;
  border-radius: 22px;
  background: #fafafa;
}

.install-qr-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: var(--muted);
}

.install-qr-head strong {
  color: #111;
  font-size: 15px;
}

.qr-large {
  width: 220px;
  height: 220px;
  border-radius: 20px;
}

.activation-row {
  display: grid;
  gap: 8px;
}

.activation-row code {
  overflow-wrap: anywhere;
}

.install-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.install-email-form {
  margin-top: 14px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.install-email-form label {
  display: grid;
  gap: 6px;
  font-weight: 800;
}

.install-email-form input {
  min-height: 46px;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 0 14px;
}

.install-email-form small {
  grid-column: 1 / -1;
}

[dir='rtl'] .install-card {
  text-align: right;
}

.cashback-hero {
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
  margin: 8px auto 18px;
}

.cashback-hero .back-link {
  justify-self: start;
}

.cashback-hero h1 {
  margin: 0;
  font-size: clamp(44px, 7vw, 82px);
  line-height: 0.95;
  letter-spacing: 0;
}

.cashback-hero p {
  margin: 0;
  color: var(--muted);
  font-size: 20px;
  font-weight: 700;
}

.cashback-tier-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 320px);
  gap: 18px;
  overflow-x: auto;
  padding: 8px max(8px, calc((100% - 1080px) / 2)) 18px;
  scroll-snap-type: x proximity;
}

.cashback-tier-card {
  min-height: 360px;
  scroll-snap-align: center;
  display: grid;
  align-content: space-between;
  justify-items: center;
  gap: 18px;
  padding: 28px 22px;
  border: 1px solid #eee;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 17, 20, 0.07);
}

.cashback-tier-card.is-current {
  border-color: rgba(230, 0, 0, 0.28);
  box-shadow: 0 20px 54px rgba(230, 0, 0, 0.12);
}

.cashback-rate {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
}

.tier-medal {
  width: 142px;
  height: 142px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 58px;
  font-weight: 1000;
  color: #2f2f35;
  background:
    radial-gradient(circle at 35% 30%, #fff 0 16%, #dcd4ff 17% 52%, #b9b1e5 53% 65%, #fff 66% 70%, #c48f5b 71% 100%);
  box-shadow: inset 0 6px 18px rgba(255,255,255,0.7), 0 14px 28px rgba(15,17,20,0.12);
}

.tier-silver {
  background:
    radial-gradient(circle at 35% 30%, #fff 0 16%, #dcd4ff 17% 52%, #b9b1e5 53% 65%, #fff 66% 70%, #9ca3af 71% 100%);
}

.tier-gold {
  background:
    radial-gradient(circle at 35% 30%, #fff 0 16%, #dcd4ff 17% 52%, #b9b1e5 53% 65%, #fff 66% 70%, #d6a13c 71% 100%);
}

.tier-platinum {
  background:
    radial-gradient(circle at 35% 30%, #fff 0 16%, #dcd4ff 17% 52%, #b9b1e5 53% 65%, #fff 66% 70%, #b7beca 71% 100%);
}

.cashback-tier-card strong {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 26px;
}

.tier-check,
.cashback-credit b,
.cashback-steps li.done > span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #22c55e;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

.cashback-summary-card,
.cashback-info,
.cashback-panel {
  max-width: 1080px;
  margin: 22px auto 0;
  padding: 24px;
  border: 1px solid #eee;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 17, 20, 0.06);
}

.cashback-summary-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.cashback-summary-card span,
.cashback-payments small,
.cashback-steps p {
  color: var(--muted);
}

.cashback-summary-card strong {
  display: block;
  margin-top: 4px;
  font-size: 28px;
}

.cashback-info h2 {
  margin: 0 0 10px;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.04;
}

.cashback-info p {
  margin: 0;
  max-width: 680px;
  color: var(--muted);
  font-size: 18px;
}

.cashback-payments,
.cashback-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cashback-payments li,
.cashback-steps li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid #eee;
}

.cashback-payments li:first-child,
.cashback-steps li:first-child {
  border-top: 0;
}

.cashback-payments li > span:first-child,
.cashback-steps li > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cashback-credit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  font-weight: 900;
}

.cashback-steps li {
  justify-content: flex-start;
  align-items: flex-start;
}

.cashback-steps li > span {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f1f3f5;
  color: var(--muted);
  font-weight: 900;
}

.cashback-steps p {
  margin: 0;
}

.empty-line {
  color: var(--muted);
}

@media (max-width: 920px) {
  .site-header > .brand {
    margin-left: 16px;
  }
  .site-header > .header-actions {
    margin-right: 16px;
  }
  .top-offer {
    padding: 8px 54px 8px 16px;
    text-align: center;
  }
  .web-plan-detail,
  .checkout-layout.app-checkout,
  .install-card {
    grid-template-columns: 1fr;
  }
  .plan-visual {
    min-height: 300px;
  }
  .vodafone-hero {
    min-height: 420px;
    padding: 50px 18px 120px;
  }
  .destinations-panel {
    margin: -92px 0 32px;
    padding: 22px;
    border-radius: 24px;
  }
  .install-email-form {
    grid-template-columns: 1fr;
  }
  .cashback-tier-strip {
    grid-auto-columns: minmax(236px, 78vw);
    margin-left: -18px;
    margin-right: -18px;
  }
  .cashback-summary-card,
  .cashback-info,
  .cashback-panel {
    border-radius: 24px;
    padding: 20px;
  }
  .cashback-summary-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

@media (max-width: 640px) {
  main.app {
    width: 100%;
    max-width: 100%;
    padding: 12px 14px 86px;
  }

  .top-offer {
    display: none;
  }

  .site-header {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    row-gap: 0;
    padding: 0;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
  }

  .site-header > .brand {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0 12px;
    padding: 10px 0 6px;
  }

  .site-header > .brand span {
    display: inline-block;
    max-width: calc(100vw - 56px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .site-header > .top-nav {
    display: none;
  }

  .site-header > .header-actions {
    grid-column: 1 / -1;
    width: calc(100% - 24px);
    gap: 6px;
    flex-wrap: nowrap;
    min-width: 0;
    margin: 0 12px 8px;
    padding: 0 0 4px;
    justify-content: space-between;
  }

  .lang-select,
  .currency-select {
    flex: 0 1 88px;
    width: auto;
    max-width: 88px;
    min-height: 36px;
    font-size: 12px;
  }

  .header-actions > a {
    flex: 0 0 auto;
  }

  .header-actions > a:not([href="/login"]) {
    display: none;
  }

  .header-actions > a[href="/login"],
  .signin-pill {
    min-height: 38px;
    padding: 0 12px;
    white-space: nowrap;
  }

  .btn-ghost[data-toggle-theme-quick] {
    width: 36px;
    min-width: 36px;
    padding: 0;
  }

  .app-search-page {
    gap: 14px;
  }

  .app-country-head {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 8px;
  }

  .app-country-head > div {
    justify-content: center;
    min-width: 0;
    overflow: hidden;
  }

  .app-country-head h1 {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(32px, 11vw, 42px);
  }

  .app-page-title {
    grid-template-columns: 36px 1fr 36px;
  }

  .app-page-title h1 {
    font-size: 26px;
  }

  .country-search-card {
    border-radius: 18px;
    padding: 10px 14px;
  }

  .country-result-list {
    border-radius: 20px;
  }

  .country-result-row {
    grid-template-columns: 44px 1fr auto;
    padding: 13px 16px;
  }

  .vodafone-hero {
    min-height: 360px;
    padding: 34px 14px 96px;
  }

  .vodafone-hero h1,
  .cashback-hero h1 {
    font-size: clamp(34px, 12vw, 46px);
    line-height: 1.03;
  }

  .hero-sub {
    font-size: 15px;
  }

  .hero-search-wrap {
    width: calc(100vw - 28px);
  }

  .country-search-popover {
    max-height: min(460px, calc(100vh - 170px));
    padding: 14px;
    border-radius: 18px;
  }

  .destinations-panel,
  .plan-purchase-panel,
  .checkout-layout.app-checkout .order-summary,
  .checkout-form > .app-input,
  .checkout-form > .switch-row,
  .payment-sheet,
  .stripe-payment-box,
  .cashback-panel,
  .cashback-info,
  .cashback-summary-card,
  .install-card {
    border-radius: 18px;
    padding: 16px;
  }

  .plan-card .plan-head {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 8px;
  }

  .plan-card .price-stack {
    justify-items: start;
    margin-left: 56px;
  }

  .web-plan-detail,
  .checkout-layout.app-checkout,
  .install-card,
  .grid,
  .grid-4,
  .highlights {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .plan-visual {
    min-height: 220px;
    border-radius: 20px;
    padding: 20px;
  }

  .plan-purchase-panel h1 {
    font-size: 34px;
    line-height: 1.05;
  }

  .checkout-layout.app-checkout .order-summary {
    order: -1;
  }

  .summary-line,
  .summary-total,
  .cashback-payments li,
  .cashback-summary-card {
    gap: 12px;
    align-items: flex-start;
  }

  .summary-line span:last-child,
  .summary-total span:last-child {
    text-align: right;
    overflow-wrap: anywhere;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
  }

  .qr-large {
    width: min(220px, 70vw);
    height: min(220px, 70vw);
  }

  .cashback-tier-card {
    min-height: 320px;
  }

  .table-scroll {
    max-width: 100%;
  }
}

@media (max-width: 380px) {
  .site-header > .brand span {
    max-width: calc(100vw - 56px);
  }

  .lang-select,
  .currency-select {
    flex-basis: 78px;
    max-width: 78px;
  }

  .vodafone-hero h1,
  .cashback-hero h1 {
    font-size: 34px;
  }
}

/* AleoFly v183: redesigned account setting pages and orders inside the new account shell. */
.account-settings-head-v183 {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.045);
}

.account-settings-head-v183 h1 {
  margin: 0;
  color: #071126;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.05;
  letter-spacing: 0;
}

.account-settings-head-v183 p,
.account-settings-card-v183 p {
  margin: 7px 0 0;
  color: #66758c;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}

.account-settings-grid-v183,
.account-order-detail-grid-v183 {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 16px;
}

.account-settings-card-v183 {
  min-width: 0;
  padding: 20px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.04);
}

.account-settings-card-v183 h2 {
  margin: 0 0 8px;
  color: #071126;
  font-size: 21px;
  line-height: 1.1;
}

.account-profile-avatar-row-v183 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #edf2f7;
}

.account-profile-avatar-row-v183 > div:not(.account-avatar-picker) {
  display: grid;
  gap: 4px;
}

.account-profile-avatar-row-v183 strong {
  color: #071126;
  font-size: 20px;
  font-weight: 950;
}

.account-profile-avatar-row-v183 small {
  color: #64748b;
  font-weight: 750;
}

.account-profile-avatar-row-v183 > div:not(.account-avatar-picker) > span {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff7ed;
  color: #b45309;
  font-size: 12px;
  font-weight: 950;
}

.account-settings-form-v183 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.account-settings-form-v183 label {
  display: grid;
  gap: 7px;
  color: #071126;
  font-size: 12px;
  font-weight: 950;
}

.account-settings-form-v183 label:first-child,
.account-settings-form-v183 button {
  grid-column: 1 / -1;
}

.account-settings-form-v183 input {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #e5edf7;
  border-radius: 12px;
  background: #fbfdff;
  color: #071126;
  font-size: 14px;
  font-weight: 800;
  outline: none;
}

.account-settings-form-v183 input:focus {
  border-color: #e50914;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08);
}

.account-details-card-v183,
.account-security-list-v183 {
  display: grid;
  align-content: start;
  gap: 12px;
}

.account-details-card-v183 .btn,
.account-details-card-v183 .btn-ghost {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  justify-content: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.account-info-row-v183 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 0 0 12px;
  border-bottom: 1px solid #edf2f7;
}

.account-info-row-v183 span {
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}

.account-info-row-v183 strong {
  min-width: 0;
  max-width: 58%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #071126;
  font-size: 14px;
  font-weight: 950;
}

.account-danger-soft-v183 {
  border-color: #fecdd3 !important;
  color: #e50914 !important;
  background: #fff5f6 !important;
}

.account-security-list-v183 > span {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-height: 68px;
  padding: 12px;
  border: 1px solid #edf2f7;
  border-radius: 14px;
  background: #fbfdff;
}

.account-security-list-v183 .ui-icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  border-radius: 14px;
  background: #fff1f2;
  color: #e50914;
}

.account-security-list-v183 b,
.account-security-list-v183 small {
  display: block;
}

.account-security-list-v183 b {
  color: #071126;
  font-size: 14px;
  font-weight: 950;
}

.account-security-list-v183 small {
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

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

.account-option-card-v183 button,
.account-notification-form-v183 label {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e5edf7;
  border-radius: 15px;
  background: #fff;
  color: #071126;
  text-align: left;
  cursor: pointer;
}

.account-option-card-v183 button.active {
  border-color: #e50914;
  background: #fff5f6;
  box-shadow: 0 14px 30px rgba(229, 9, 20, 0.08);
}

.account-option-card-v183 span,
.account-notification-form-v183 label span {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
}

.account-option-card-v183 .ui-icon,
.account-notification-form-v183 .ui-icon {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  padding: 9px;
  border-radius: 12px;
  background: #f1f5ff;
  color: #1474e8;
}

.account-option-card-v183 b,
.account-notification-form-v183 b {
  font-size: 15px;
  font-weight: 950;
}

.account-option-card-v183 small,
.account-notification-form-v183 small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.account-option-card-v183 em {
  color: #e50914;
}

.account-notification-form-v183 {
  display: grid;
  gap: 12px;
}

.account-notification-form-v183 input {
  width: 46px;
  height: 26px;
  accent-color: #e50914;
}

.account-notification-form-v183 button {
  justify-self: start;
}

.account-notification-feed-v241 {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.account-notification-feed-head-v241 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.account-notification-feed-head-v241 h2 {
  margin: 0;
}

.account-notification-feed-head-v241 span {
  display: inline-grid;
  min-width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  background: #fff0f1;
  color: #e50914;
  font-weight: 950;
}

.account-notification-feed-v241 article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #eef2f7;
}

.account-notification-feed-v241 article > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: #fff1f2;
  color: #e50914;
}

.account-notification-feed-v241 article .ui-icon {
  width: 20px;
  height: 20px;
}

.account-notification-feed-v241 strong {
  display: block;
  color: #071126;
  font-size: 14px;
  font-weight: 950;
}

.account-notification-feed-v241 p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.account-notification-feed-v241 time {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.account-order-stats-v183 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.account-order-stats-v183 span {
  min-height: 96px;
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid #e5edf7;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.035);
}

.account-order-stats-v183 .ui-icon {
  width: 34px;
  height: 34px;
  padding: 8px;
  border-radius: 12px;
  background: #fff1f2;
  color: #e50914;
}

.account-order-stats-v183 b {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.account-order-stats-v183 strong {
  color: #071126;
  font-size: 24px;
  font-weight: 950;
}

.account-orders-list-v183 {
  display: grid;
  gap: 12px;
}

.account-order-card-v183 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px 110px 34px;
  gap: 14px;
  align-items: center;
  min-height: 112px;
  padding: 16px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 15px 36px rgba(15, 23, 42, 0.045);
}

.account-order-card-main-v183 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #071126;
}

.account-order-card-flag-v183 {
  flex: 0 0 auto;
  width: 42px !important;
  height: 42px !important;
}

.account-order-card-main-v183 div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.account-order-card-main-v183 strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #071126;
  font-size: 18px;
  font-weight: 950;
}

.account-order-card-main-v183 small,
.account-order-card-main-v183 span,
.account-order-card-meta-v183 span {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.account-order-card-meta-v183 {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.account-order-card-meta-v183 span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.account-order-card-meta-v183 .ui-icon {
  width: 15px;
  height: 15px;
}

.account-order-card-total-v183 {
  color: #e50914;
  font-size: 19px;
  font-weight: 950;
  text-align: right;
}

.account-order-card-action-v183 {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #071126;
  background: #f8fafc;
}

.account-order-detail-head-v183 a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.account-order-detail-summary-v183 > div:first-child {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.account-order-detail-summary-v183 > div:first-child span {
  display: grid;
  gap: 3px;
}

.account-order-items-v183 {
  display: grid;
  gap: 8px;
}

.account-order-items-v183 p {
  margin: 0;
  color: #64748b;
  font-weight: 750;
}

@media (max-width: 980px) {
  .account-settings-grid-v183,
  .account-order-detail-grid-v183 {
    grid-template-columns: 1fr;
  }

  .account-order-card-v183 {
    grid-template-columns: minmax(0, 1fr) 120px 34px;
  }

  .account-order-card-total-v183 {
    grid-column: 2;
  }

  .account-order-card-meta-v183 {
    display: none;
  }
}

@media (max-width: 760px) {
  .account-settings-head-v183 {
    min-height: 74px;
    padding: 15px;
    border-radius: 16px;
  }

  .account-settings-head-v183 h1 {
    font-size: 24px;
  }

  .account-settings-head-v183 p {
    font-size: 12px;
  }

  .account-settings-head-v183 .btn {
    min-height: 36px;
    padding-inline: 10px;
    font-size: 11px;
  }

  .account-settings-card-v183 {
    padding: 15px;
    border-radius: 16px;
  }

  .account-settings-form-v183,
  .account-option-card-v183,
  .account-order-stats-v183 {
    grid-template-columns: 1fr;
  }

  .account-profile-avatar-row-v183 {
    align-items: flex-start;
  }

  .account-info-row-v183 strong {
    max-width: 54%;
  }

  .account-notification-form-v183 label,
  .account-option-card-v183 button {
    min-height: 66px;
    padding: 12px;
  }

  .account-order-stats-v183 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .account-order-stats-v183 span {
    min-height: 84px;
    padding: 11px;
  }

  .account-order-card-v183 {
    grid-template-columns: minmax(0, 1fr) 30px;
    gap: 10px;
    min-height: 108px;
    padding: 13px;
    border-radius: 16px;
  }

  .account-order-card-main-v183 {
    align-items: flex-start;
  }

  .account-order-card-main-v183 strong {
    font-size: 16px;
  }

  .account-order-card-total-v183 {
    grid-column: 1;
    justify-self: start;
    font-size: 17px;
  }

  .account-order-card-action-v183 {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    width: 30px;
    height: 30px;
  }
}

.checkout-layout.app-checkout .summary-line,
.checkout-layout.app-checkout .summary-total {
  display: grid;
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.checkout-layout.app-checkout .summary-line span:last-child,
.checkout-layout.app-checkout .summary-total span:last-child {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 640px) {
  .checkout-layout.app-checkout .summary-line,
  .checkout-layout.app-checkout .summary-total {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .checkout-layout.app-checkout .summary-line span:last-child,
  .checkout-layout.app-checkout .summary-total span:last-child {
    text-align: left;
  }
}

/* Release polish override: keep these last so older mobile rules cannot win. */
.flag-badge {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  border: 1px solid rgba(20, 23, 26, 0.08);
  background: #f1f3f5 !important;
  background-image: none !important;
}
.flag-badge .flag-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.flag-badge .flag-globe {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.72em;
  line-height: 1;
}
.flag-badge .flag-code {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: var(--text);
  font-size: 0.42em;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}
.flag-badge.flag-loaded .flag-code,
.flag-badge:has(.flag-img) .flag-emoji {
  display: none;
}
.flag-badge.flag-failed .flag-img {
  display: none;
}
.country-title-flag {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(127,127,127,0.10);
  font-size: 28px;
  flex: 0 0 auto;
}
.checkout-form > .app-input {
  display: grid;
  gap: 8px;
}
.app-input.is-invalid {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10), 0 10px 28px rgba(15, 17, 20, 0.06) !important;
}
.app-input.is-invalid input {
  border-color: var(--error) !important;
}
.field-error {
  color: var(--error);
  font-size: 13px;
  line-height: 1.35;
}
.field-error a {
  color: var(--error);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.checkout-layout.app-checkout {
  align-items: start;
}
.checkout-layout.app-checkout .order-summary {
  position: sticky;
  top: 110px;
}
.checkout-form {
  gap: 16px;
}
.payment-sheet legend {
  padding: 0 6px;
  color: var(--muted);
  font-weight: 800;
}
.plan-tabs {
  max-width: 620px;
}
.plan-group .grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
@media (max-width: 860px) {
  .country-title-flag {
    width: 42px;
    height: 42px;
    font-size: 24px;
  }
  .checkout-layout.app-checkout {
    max-width: 620px;
    margin: 0 auto;
    gap: 14px;
  }
  .checkout-layout.app-checkout .order-summary {
    position: static;
    width: 100%;
  }
  .checkout-form {
    width: 100%;
  }
  .checkout-form > .app-input,
  .checkout-form > .switch-row,
  .payment-sheet,
  .stripe-payment-box {
    width: 100%;
  }
  .plan-tabs {
    width: 100%;
  }
  .plan-group .grid {
    grid-template-columns: 1fr;
  }
  .flag-badge .flag-code {
    font-size: 8px;
  }
}
/* AleoFly v61 absolute-final storefront overrides. */
main.app:has(.aleo-home-v59),
main.app:has(.aleo-listing-page),
main.app:has(.app-search-page) {
  width: 100%;
  max-width: none;
}

.aleo-home-v59,
.aleo-listing-page,
.app-search-page {
  width: min(1240px, calc(100vw - 48px));
  margin-left: auto;
  margin-right: auto;
}

.aleo-home-v59 .aleo-search-panel {
  grid-template-columns: minmax(260px, 1.4fr) minmax(160px, 0.78fr) minmax(150px, 0.72fr) minmax(270px, 1.16fr) 110px;
}

.aleo-home-v59 .aleo-search-submit {
  min-height: 46px;
  border-radius: 999px;
  align-self: end;
}

.aleo-home-v59 .aleo-category-nav {
  display: flex;
  gap: 10px;
  margin: 6px 0 22px;
  overflow-x: auto;
  scrollbar-width: none;
}

.aleo-home-v59 .aleo-category-nav::-webkit-scrollbar {
  display: none;
}

.aleo-home-v59 .aleo-category-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #edf0f3;
  background: #fff;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.aleo-home-v59 .aleo-category-nav a.active,
.aleo-home-v59 .aleo-category-nav a:hover {
  border-color: #ffd3df;
  background: #fff0f5;
  color: var(--brand);
}

.aleo-home-v59 .region-showcase-card {
  min-height: 142px;
  display: grid;
  align-content: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  display: block;
  padding: 0 14px;
  writing-mode: horizontal-tb;
  word-break: normal;
}

.aleo-home-v59 .region-showcase-card strong {
  margin-top: 12px;
}

.aleo-home-v59 .region-showcase-card small {
  padding-bottom: 14px;
}

.aleo-home-v59 .plan-finder-card {
  min-height: 178px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px;
  align-items: center;
  gap: 14px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #ffdce6;
  border-radius: 16px;
  background: radial-gradient(circle at 82% 30%, rgba(255, 45, 99, 0.18), transparent 32%), linear-gradient(145deg, #fff1f6, #fff);
}

.aleo-home-v59 .plan-finder-card strong,
.aleo-home-v59 .plan-finder-card small,
.aleo-home-v59 .plan-finder-card span {
  display: block;
}

.aleo-home-v59 .plan-finder-card strong {
  color: #111827;
  font-size: 17px;
  line-height: 1.25;
}

.aleo-home-v59 .plan-finder-card small {
  margin-top: 8px;
  color: #667085;
  line-height: 1.4;
}

.aleo-home-v59 .plan-finder-card span {
  width: max-content;
  margin-top: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
}

.aleo-home-v59 .plan-finder-card b {
  width: 88px;
  height: 118px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(255,255,255,0.18) 0 8px, transparent 8px 18px), linear-gradient(160deg, #e50914, #ff7a9a);
  box-shadow: 0 18px 36px rgba(255, 45, 99, 0.18);
}

@media (max-width: 1120px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .aleo-home-v59,
  .aleo-listing-page,
  .app-search-page {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .aleo-search-submit {
    grid-column: auto;
  }

  .aleo-home-v59 .plan-finder-card {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .plan-finder-card b {
    display: none;
  }
}

/* AleoFly v69 tail override: keep multi-country search flat and home-like. */
.flow-search-like-home {
  overflow: visible;
}

.flow-search-like-home .flow-search-card {
  width: 100%;
  max-width: none;
  min-height: 60px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
}

.flow-search-like-home .flow-search-card:focus-within {
  border-color: #e50914;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08);
}

.flow-search-like-home .flow-search-card input,
.flow-search-like-home .flow-search-card input:focus {
  min-height: 52px;
  border: 0;
  box-shadow: none;
  outline: 0;
}

.flow-search-like-home .flow-country-popover {
  position: static !important;
  inset: auto !important;
  width: 100%;
  max-height: none;
  margin: 16px 0 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.flow-search-like-home .country-result-list {
  max-height: 390px;
  overflow-y: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.flow-search-like-home .country-search-section-label {
  padding: 0 0 10px;
}

.flow-search-like-home .flow-country-row {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 74px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.flow-search-like-home .flow-country-row + .flow-country-row {
  margin-top: 4px;
}

.flow-search-like-home .flow-country-row.is-selected {
  border-color: #ffc7cf;
  background: #fff1f2;
}

/* AleoFly v70: home search is only trip mode + destination search. */
.aleo-home-v59 .aleo-search-panel {
  grid-template-columns: minmax(220px, 360px) minmax(280px, 1fr) auto;
  align-items: end;
  gap: 18px 22px;
}

.aleo-home-v59 .aleo-search-panel .trip-mode-switch {
  grid-column: 1 / -1;
  justify-self: start;
}

.aleo-home-v59 .aleo-search-panel .search-field,
.aleo-home-v59 .aleo-search-panel[data-trip-mode-current="multi"] .search-field {
  grid-column: 1 / 3;
  min-width: 0;
}

.aleo-home-v59 .home-country-search-popover {
  grid-column: 1 / 3;
  top: calc(100% + 10px);
}

.aleo-home-v59 .home-selected-destinations {
  grid-column: 1 / 3;
}

.aleo-home-v59 .aleo-search-submit {
  grid-column: 3;
  min-width: 156px;
  white-space: nowrap;
}

.aleo-home-v59 .aleo-search-panel .filter-block,
.aleo-home-v59 .aleo-search-panel [data-home-filter-block] {
  display: none !important;
}

@media (max-width: 860px) {
  .aleo-home-v59 .aleo-search-panel {
    grid-template-columns: 1fr;
  }

  .aleo-home-v59 .aleo-search-panel .trip-mode-switch,
  .aleo-home-v59 .aleo-search-panel .search-field,
  .aleo-home-v59 .aleo-search-panel[data-trip-mode-current="multi"] .search-field,
  .aleo-home-v59 .home-country-search-popover,
  .aleo-home-v59 .home-selected-destinations,
  .aleo-home-v59 .aleo-search-submit {
    grid-column: 1;
  }

  .aleo-home-v59 .home-country-search-popover {
    position: static;
    max-height: min(44vh, 320px);
    margin: -2px 0 0;
    padding: 10px;
    border-radius: 18px;
    box-shadow: 0 14px 44px rgba(17, 24, 39, 0.16);
  }

  .aleo-home-v59 .home-country-search-popover .country-search-section-label {
    margin: 2px 0 8px;
    font-size: 13px;
  }

  .aleo-home-v59 .aleo-search-submit {
    width: 100%;
  }
}

/* AleoFly v74: one-country page pixel pass against the approved visual reference. */
main.app:has(.one-country-page) {
  width: 100%;
  max-width: none;
  padding: 0 0 86px;
  background: #f8fafc;
}

.ui-icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.one-country-page {
  width: min(1188px, calc(100vw - 90px));
  max-width: none;
  margin: 0 auto;
  gap: 14px;
  --country-line: #e7ebf1;
  --country-muted: #65718a;
}

.one-country-hero.app-country-head {
  min-height: 74px;
  grid-template-columns: minmax(318px, 0.34fr) minmax(520px, 1fr);
  padding: 10px 0 0;
}

.one-country-hero.app-country-head > .one-country-hero-main {
  gap: 10px;
  padding: 0;
}

.one-country-hero-title-row {
  gap: 12px;
}

.one-country-back {
  width: 42px;
  height: 42px;
  font-size: 25px;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.06);
}

.one-country-title {
  gap: 12px;
}

.one-country-title .country-title-flag {
  width: 50px;
  height: 50px;
}

.one-country-hero.app-country-head h1,
.one-country-title h1 {
  font-size: 24px;
  line-height: 1.05;
}

.one-country-title button {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.one-country-title p {
  margin-top: 4px;
  font-size: 11.5px;
}

.one-country-benefits {
  gap: 10px 18px;
  font-size: 10.5px;
  line-height: 1;
}

.one-country-benefits span {
  gap: 6px;
}

.one-country-benefits span::before {
  display: none;
}

.one-country-benefits .ui-icon {
  width: 13px;
  height: 13px;
}

.one-country-benefits span[data-benefit-icon="delivery"] .ui-icon { color: #f59e0b; }
.one-country-benefits span[data-benefit-icon="network"] .ui-icon { color: #475569; }
.one-country-benefits span[data-benefit-icon="shield"] .ui-icon { color: #e11d48; }

.one-country-art {
  min-height: 74px;
  border-radius: 0;
  background-color: transparent;
}

.one-country-art-photo {
  background-image:
    linear-gradient(90deg, rgba(248,250,252,0.95) 0%, rgba(248,250,252,0.34) 26%, rgba(248,250,252,0.08) 58%, rgba(248,250,252,0.62) 100%),
    linear-gradient(180deg, rgba(248,250,252,0) 0%, rgba(248,250,252,0.88) 100%),
    var(--country-hero-image);
  background-size: cover;
  background-position: var(--country-hero-position, center);
}

.one-country-art-photo::before {
  display: none;
}

.one-country-art-missing {
  display: grid;
  place-items: center;
  border: 1px dashed #ef4444;
  background: #fff1f2;
  color: #991b1b;
  text-transform: uppercase;
}

.one-country-highlights {
  gap: 14px;
}

.one-country-highlight,
.one-country-total-card {
  height: 108px;
  min-height: 0;
  border-radius: 9px;
  padding: 11px 16px;
  overflow: hidden;
}

.country-highlight-label {
  align-items: center;
  gap: 4px;
  min-height: 18px;
  margin-bottom: 7px;
  font-size: 9.5px;
}

.country-highlight-label .ui-icon {
  width: 11px;
  height: 11px;
}

.country-highlight-body {
  grid-template-columns: 31px minmax(0, 1fr) auto;
  gap: 9px;
}

.country-highlight-body .country-mini-flag {
  width: 31px;
  height: 31px;
}

.country-highlight-body strong {
  font-size: 13px;
  line-height: 1.14;
}

.country-highlight-body b {
  font-size: 17px;
}

.country-highlight-tags {
  gap: 7px;
  margin-top: 8px;
}

.country-highlight-tags span {
  min-height: 20px;
  padding: 2px 8px;
  font-size: 10px;
}

.one-country-total-card {
  background: linear-gradient(135deg, #fff, #fff4f6);
}

.one-country-total-card span,
.one-country-total-card small {
  font-size: 12px;
}

.one-country-total-card b {
  margin-top: 5px;
  font-size: 22px;
}

.one-country-total-card i {
  right: 10px;
  bottom: -4px;
  width: 100px;
  height: 96px;
  border-radius: 0;
  transform: none;
  opacity: 0.16;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'%3E%3Cpath fill='%23e50914' d='M93 13c19 12 25 29 20 49 10 3 17 10 21 21-18-7-33-3-45 11-12 14-27 23-48 28 12-14 16-26 12-37-4-11-15-17-32-18 17-9 34-8 50 2-8-19-5-37 9-53l9 31 26-17-22-17Zm4 31c-6 4-9 9-9 16 9-6 16-7 25-2-4-7-9-11-16-14Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.one-country-plans-shell {
  border-radius: 10px;
  padding: 12px 18px 16px;
}

.one-country-toolbar {
  grid-template-columns: minmax(0, 1fr) auto 34px;
  gap: 10px;
}

.one-country-toolbar .plan-tabs {
  gap: 30px;
}

.one-country-toolbar .plan-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 2px 11px;
  font-size: 13px;
}

.one-country-toolbar .plan-tabs .ui-icon {
  width: 14px;
  height: 14px;
}

.plan-tabs b {
  min-width: 20px;
  height: 20px;
  margin-left: 0;
  background: #f1f3f5;
  color: #667085;
  font-size: 10px;
}

.one-country-sort {
  gap: 8px;
  font-size: 11px;
}

.one-country-sort select {
  min-height: 36px;
  width: 144px;
  border-radius: 8px;
  padding-left: 12px;
  font-size: 11px;
}

.one-country-grid-options {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--country-line);
  border-radius: 8px;
  background: #fff;
  color: #111827;
  cursor: pointer;
}

.one-country-filter-bar {
  grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
  gap: 14px;
  margin: 0 0 12px;
}

.one-country-filter-bar label {
  gap: 5px;
  font-size: 10px;
}

.one-country-filter-bar select {
  min-height: 40px;
  border-radius: 9px;
  font-size: 12px;
}

.one-country-clear {
  min-height: 40px;
  font-size: 11px;
}

.one-country-content {
  grid-template-columns: minmax(0, 1fr) 218px;
  gap: 22px;
}

.one-country-results-group > .plan-group-head {
  display: none;
}

.one-country-popular {
  gap: 12px;
}

.one-country-popular h3 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
}

.one-country-popular h3 .ui-icon {
  color: #f97316;
}

.one-country-card-grid {
  gap: 14px;
}

.one-country-plan-card {
  min-height: 194px;
  border-radius: 9px;
  padding: 15px;
}

.one-country-plan-title strong {
  font-size: 20px;
}

.one-country-price-row strong {
  font-size: 21px;
}

.one-country-buy {
  min-height: 36px;
  border-radius: 7px;
  padding: 9px 12px;
  font-size: 12px;
}

.one-country-all-head {
  margin-top: 14px;
}

.one-country-view-toggle button {
  min-width: 78px;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 11px;
}

.one-country-sidebar {
  top: 78px;
  border-radius: 9px;
  padding: 14px;
}

.one-country-filter-group {
  gap: 8px;
}

.one-country-filter-group label {
  font-size: 10.5px;
}

@media (max-width: 940px) {
  .one-country-page {
    width: min(100% - 32px, 720px);
  }
  .one-country-hero.app-country-head {
    grid-template-columns: 1fr;
  }
  .one-country-art {
    min-height: 118px;
  }
}

/* One-country layout must win over older country header overrides. */
.one-country-hero.app-country-head {
  display: grid;
  grid-template-columns: minmax(430px, 0.72fr) minmax(520px, 1.28fr);
  justify-content: stretch;
  align-items: stretch;
}

.one-country-hero.app-country-head > .one-country-hero-main {
  display: grid;
  align-items: start;
  justify-content: stretch;
  gap: 14px;
}

.one-country-hero.app-country-head h1 {
  font-size: 34px;
}

.one-country-hero.app-country-head .one-country-benefits {
  display: flex;
}

.one-country-art-photo {
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.50) 25%, rgba(255,245,242,0.12) 58%, rgba(255,255,255,0.68) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.90) 100%),
    var(--country-hero-image);
}

@media (max-width: 940px) {
  .one-country-hero.app-country-head {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .one-country-hero.app-country-head h1 {
    font-size: 28px;
  }
}

/* AleoFly v75: final tail lock for the one-country visual reference. */
.one-country-hero.app-country-head {
  min-height: 74px;
  grid-template-columns: minmax(318px, 0.34fr) minmax(520px, 1fr);
  padding-top: 10px;
}

.one-country-hero.app-country-head > .one-country-hero-main {
  gap: 10px;
  padding: 0;
}

.one-country-hero.app-country-head h1,
.one-country-title h1 {
  font-size: 24px;
  line-height: 1.05;
}

.one-country-art {
  min-height: 74px;
}

.one-country-art-photo {
  background-image:
    linear-gradient(90deg, rgba(248,250,252,0.95) 0%, rgba(248,250,252,0.34) 26%, rgba(248,250,252,0.08) 58%, rgba(248,250,252,0.62) 100%),
    linear-gradient(180deg, rgba(248,250,252,0) 0%, rgba(248,250,252,0.88) 100%),
    var(--country-hero-image);
}

/* AleoFly phoenix brand lockup. */
.site-header > .brand.brand-image-lockup {
  min-width: 150px;
  flex: 0 0 auto;
  gap: 0;
}

.brand-image-lockup .brand-logo-image {
  width: clamp(138px, 10vw, 178px);
  height: auto;
  max-height: 76px;
  display: block;
  object-fit: contain;
  object-position: left center;
}

.brand-image-lockup .brand-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 860px) {
  .site-header > .brand.brand-image-lockup {
    min-width: 128px;
  }

  .brand-image-lockup .brand-logo-image {
    width: 136px;
    max-height: 66px;
  }
}

/* Header hotfix: the phoenix lockup is wide, so keep desktop navigation calm. */
@media (min-width: 761px) {
  .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    column-gap: clamp(18px, 2.2vw, 34px) !important;
  }

  .site-header > .brand.brand-image-lockup {
    min-width: 138px;
  }

  .site-header > .top-nav {
    gap: clamp(18px, 2vw, 34px) !important;
    justify-content: center !important;
    min-width: 0;
  }

  .site-header > .top-nav a {
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }

  .site-header > .header-actions {
    gap: 10px !important;
    min-width: 0;
  }

  .site-header > .header-actions > a[href="/account/esims"] {
    display: none !important;
  }
}

/* Home top-picks modal and retired generic search page. */
.top-picks-modal,
.search-empty-page {
  color: #071122;
}

.top-picks-modal[hidden] {
  display: none !important;
}

.top-picks-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 28px;
}

.top-picks-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 17, 34, 0.46);
  backdrop-filter: blur(10px);
}

.top-picks-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1040px, calc(100vw - 36px));
  max-height: min(760px, calc(100vh - 42px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(229, 231, 235, 0.95);
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fffafa 100%);
  box-shadow: 0 34px 90px rgba(15, 23, 42, 0.28);
}

.top-picks-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px 18px;
  border-bottom: 1px solid #eef0f4;
}

.top-picks-modal-head span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 11px;
  border-radius: 999px;
  color: #e50914;
  background: #fff0f2;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.top-picks-modal-head h2 {
  margin: 8px 0 0;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: 0;
}

.top-picks-modal-close {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  color: #071122;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.top-picks-modal-close .ui-icon {
  width: 20px;
  height: 20px;
}

.top-picks-modal-list {
  display: grid;
  gap: 12px;
  padding: 18px 18px 24px;
  overflow: auto;
}

.top-pick-modal-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 280px);
  align-items: center;
  gap: 16px;
  min-height: 116px;
  padding: 15px;
  border: 1px solid #e9edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.top-pick-modal-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 128px;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.top-pick-modal-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.top-pick-modal-flags {
  width: 68px;
  min-height: 50px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}

.top-pick-modal-flag {
  width: 34px;
  height: 34px;
  margin-right: -8px;
  border: 3px solid #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.top-pick-modal-flags small {
  min-width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #e50914;
  background: #fff0f2;
  font-size: 11px;
  font-weight: 950;
}

.top-pick-modal-card h3 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #071122;
  font-size: 17px;
  line-height: 1.2;
}

.top-pick-modal-card p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.top-pick-modal-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.top-pick-modal-badges span {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  color: #e50914;
  background: #fff0f2;
  font-size: 11px;
  font-weight: 950;
}

.top-pick-modal-price {
  display: grid;
  justify-items: end;
  gap: 3px;
  text-align: right;
}

.top-pick-modal-price strong {
  color: #e50914;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
}

.top-pick-modal-price del,
.top-pick-modal-price small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.top-pick-modal-buy {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 14px;
}

.search-empty-page {
  min-height: calc(100vh - 180px);
  display: grid;
  place-items: center;
  padding: 54px 18px 96px;
  background:
    radial-gradient(circle at 50% 0%, rgba(229, 9, 20, 0.08), transparent 38%),
    linear-gradient(180deg, #fff 0%, #fff8f9 100%);
}

.search-empty-panel {
  width: min(520px, 100%);
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 38px 34px;
  border: 1px solid #ffe0e4;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  text-align: center;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.search-empty-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #e50914;
  background: #fff0f2;
}

.search-empty-icon .ui-icon {
  width: 30px;
  height: 30px;
}

.search-empty-panel h1 {
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
}

.search-empty-panel p {
  margin: 0 0 8px;
  color: #667085;
  font-weight: 800;
  line-height: 1.5;
}

@media (max-width: 720px) {
  .top-picks-modal {
    align-items: end;
    padding: 0;
  }

  .top-picks-modal-dialog {
    width: min(100vw, 390px);
    max-height: calc(100vh - 18px);
    border-radius: 24px 24px 0 0;
  }

  .top-picks-modal-head {
    padding: 18px 18px 14px;
  }

  .top-picks-modal-head h2 {
    font-size: 24px;
  }

  .top-picks-modal-list {
    padding: 12px 10px 92px;
  }

  .top-pick-modal-card {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
    min-height: 0;
    overflow: hidden;
    padding: 14px;
  }

  .top-pick-modal-main {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
  }

  .top-pick-modal-flags {
    width: 58px;
  }

  .top-pick-modal-flag {
    width: 30px;
    height: 30px;
    margin-right: -9px;
  }

  .top-pick-modal-card h3 {
    white-space: normal;
  }

  .top-pick-modal-actions {
    grid-template-columns: minmax(0, 1fr) minmax(108px, 34%);
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid #f1f3f7;
  }

  .top-pick-modal-price {
    justify-items: start;
    text-align: left;
  }

  .top-pick-modal-price strong {
    font-size: 20px;
  }

  .top-pick-modal-buy {
    width: 100%;
    min-height: 42px;
    padding-inline: 10px;
    font-size: 14px;
  }

  .search-empty-page {
    min-height: calc(100vh - 160px);
    padding-bottom: 110px;
  }

  .search-empty-panel {
    padding: 30px 20px;
  }

  .search-empty-panel h1 {
    font-size: 27px;
  }
}

.aleo-home-v59 .region-showcase-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(170px, 1fr));
  gap: 14px;
  overflow: visible;
}

.aleo-home-v59 .region-showcase-card {
  position: relative;
  min-height: 168px;
  isolation: isolate;
  display: grid;
  align-content: end;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e8edf5;
  border-radius: 16px;
  background: #fff;
}

.aleo-home-v59 .region-showcase-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  z-index: -2;
  height: 112px;
  background-image: var(--region-image);
  background-size: cover;
  background-position: center;
}

.aleo-home-v59 .region-showcase-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(7, 17, 34, 0.02) 0%, rgba(7, 17, 34, 0.06) 46%, #fff 74%);
}

.aleo-home-v59 .region-showcase-card .region-card-visual {
  min-height: 108px;
  background: transparent !important;
}

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  position: relative;
  z-index: 1;
  display: block;
  background: #fff;
}

.aleo-home-v59 .region-showcase-card strong {
  margin: 0;
  padding: 12px 14px 0;
}

.aleo-home-v59 .region-showcase-card small {
  padding: 2px 14px 14px;
}

@media (max-width: 720px) {
  .aleo-home-v59 .aleo-regions {
    overflow: visible;
  }

  .aleo-home-v59 .region-showcase-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(172px, 74vw);
    grid-template-columns: none;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 18px 10px 0;
    margin-right: -16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #e50914 #eef2f7;
  }

  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar {
    height: 6px;
  }

  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar-track {
    background: #eef2f7;
    border-radius: 999px;
  }

  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar-thumb {
    background: #e50914;
    border-radius: 999px;
  }

  .aleo-home-v59 .region-showcase-card {
    min-height: 150px;
    scroll-snap-align: start;
  }

  .aleo-home-v59 .region-showcase-card::before {
    height: 96px;
  }

  .aleo-home-v59 .region-showcase-card .region-card-visual {
    min-height: 92px;
  }
}

/* Compact landmark region cards: text left, destination image right. */
.aleo-home-v59 .aleo-regions {
  overflow: visible;
}

.aleo-home-v59 .aleo-regions .row-head {
  margin-bottom: 9px;
}

.aleo-home-v59 .aleo-regions .row-head h2 {
  font-size: 17px;
  line-height: 1.2;
}

.aleo-home-v59 .region-showcase-grid {
  grid-template-columns: repeat(6, minmax(148px, 1fr));
  gap: 12px;
}

.aleo-home-v59 .region-showcase-card {
  position: relative;
  height: 78px;
  min-height: 78px;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 3px;
  padding: 12px 12px;
  overflow: hidden;
  border: 1px solid #e8eef7;
  border-radius: 9px;
  background: linear-gradient(100deg, #f9fbff 0%, #f3f7fc 58%, #eef5fc 100%);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.aleo-home-v59 .region-showcase-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  height: auto;
  background:
    radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.72), transparent 34%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.86) 42%, rgba(255, 255, 255, 0.10) 78%);
}

.aleo-home-v59 .region-showcase-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #f9fbff 0%, rgba(249, 251, 255, 0.98) 30%, rgba(249, 251, 255, 0.28) 47%, rgba(249, 251, 255, 0) 68%);
  pointer-events: none;
}

.aleo-home-v59 .region-showcase-card .region-card-visual {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 0;
  width: 72%;
  min-height: 0;
  height: 100%;
  border-radius: 0;
  background-image: var(--region-image) !important;
  background-repeat: no-repeat;
  background-size: auto 116px;
  background-position: center bottom;
  opacity: 0.96;
  filter: saturate(0.94) contrast(0.98) brightness(1.12);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 100%);
}

.aleo-home-v59 .region-showcase-card .region-card-visual::before,
.aleo-home-v59 .region-showcase-card .region-card-visual::after {
  content: none !important;
  display: none !important;
}

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  position: relative;
  z-index: 2;
  width: 55%;
  max-width: 94px;
  padding: 0;
  background: transparent;
}

.aleo-home-v59 .region-showcase-card strong {
  margin: 0;
  color: #071122;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 950;
}

.aleo-home-v59 .region-showcase-card small {
  color: #667085;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}

.aleo-home-v59 .region-europe .region-card-visual { background-position: left bottom; }
.aleo-home-v59 .region-asia .region-card-visual { background-position: center bottom; }
.aleo-home-v59 .region-north-america .region-card-visual { background-position: center bottom; }
.aleo-home-v59 .region-south-america .region-card-visual {
  background-size: auto 128px;
  background-position: center 12%;
}
.aleo-home-v59 .region-africa .region-card-visual { background-position: center bottom; }
.aleo-home-v59 .region-oceania .region-card-visual {
  background-size: auto 118px;
  background-position: right top;
}

@media (max-width: 720px) {
  .aleo-home-v59 .aleo-regions .row-head h2 {
    font-size: 18px;
  }

  .aleo-home-v59 .region-showcase-grid {
    grid-auto-flow: column;
    grid-auto-columns: 166px;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 22px 12px 0;
    margin-right: -14px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #eef2f7;
  }

  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar {
    height: 6px;
  }

  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar-track {
    background: #eef2f7;
    border-radius: 999px;
  }

  .aleo-home-v59 .region-showcase-grid::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
  }

  .aleo-home-v59 .region-showcase-card {
    height: 76px;
    min-height: 76px;
    scroll-snap-align: start;
  }
}

/* Generated region cards: exact compact landmark assets. */
.aleo-home-v59 .region-showcase-grid {
  grid-template-columns: repeat(6, minmax(166px, 1fr));
  gap: 12px;
}

.aleo-home-v59 .region-showcase-card {
  position: relative;
  height: 66px;
  min-height: 66px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 3px;
  padding: 13px 14px;
  overflow: hidden;
  border: 1px solid #e4ebf5;
  border-radius: 9px;
  background-color: #f9fbff;
  background-image: var(--region-image) !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
}

.aleo-home-v59 .region-showcase-card .region-card-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  border-radius: inherit;
  pointer-events: none;
}

.aleo-home-v59 .region-showcase-card::before,
.aleo-home-v59 .region-showcase-card::after,
.aleo-home-v59 .region-showcase-card .region-card-visual,
.aleo-home-v59 .region-showcase-card .region-card-visual::before,
.aleo-home-v59 .region-showcase-card .region-card-visual::after {
  content: none !important;
  display: none !important;
}

.aleo-home-v59 .region-showcase-card strong,
.aleo-home-v59 .region-showcase-card small {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: 105px;
  padding: 0;
  background: transparent;
  color: #071122;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}

.aleo-home-v59 .region-showcase-card strong {
  margin: 0;
  font-size: 12px;
  line-height: 1.12;
  font-weight: 950;
}

.aleo-home-v59 .region-showcase-card small {
  color: #53627a;
  font-size: 10px;
  line-height: 1.15;
  font-weight: 850;
}

@media (max-width: 720px) {
  .aleo-home-v59 .region-showcase-grid {
    grid-auto-flow: column;
    grid-auto-columns: 166px;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 22px 12px 0;
    margin-right: -14px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .aleo-home-v59 .region-showcase-card {
    height: 66px;
    min-height: 66px;
    scroll-snap-align: start;
  }
}

/* Search choice page: standalone trip type selector. */
main.app:has(.search-choice-page) {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - 84px);
  padding: 0 0 24px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfcff 58%, #fff7f8 100%);
  overflow: hidden;
}

.search-choice-page {
  position: relative;
  width: min(1188px, calc(100vw - 92px));
  min-height: calc(100vh - 96px);
  margin: 0 auto;
  padding: 44px 0 78px;
  color: #071122;
}

.search-choice-head {
  display: grid;
  justify-items: center;
  text-align: center;
  margin-bottom: 30px;
}

.search-choice-head h1 {
  margin: 0;
  color: #071122;
  font-size: clamp(42px, 5vw, 62px);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 950;
}

.search-choice-head h1 span {
  color: #e50914;
}

.search-choice-head p {
  position: relative;
  margin: 8px 0 0;
  color: #667085;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}

.search-choice-head p::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: #e50914;
}

.search-choice-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.search-choice-card {
  position: relative;
  min-height: 368px;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 12px;
  padding: 34px 34px 30px;
  border: 1px solid;
  border-radius: 22px;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  color: #071122;
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.08);
}

.search-choice-card::before {
  content: "";
  position: absolute;
  inset: 40px 40px auto;
  height: 180px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  opacity: 0.78;
}

.search-choice-card::after {
  content: "";
  position: absolute;
  left: 24px;
  bottom: 20px;
  width: 86px;
  height: 38px;
  opacity: 0.28;
  background-image: radial-gradient(currentColor 1.2px, transparent 1.4px);
  background-size: 11px 11px;
}

.search-choice-card.one {
  border-color: #ffd2d8;
  background: linear-gradient(180deg, #fff8f8 0%, #fff1f2 100%);
  color: #e50914;
}

.search-choice-card.multi {
  border-color: #cbdcff;
  background: linear-gradient(180deg, #f8fbff 0%, #f2f7ff 100%);
  color: #2369d6;
}

.search-choice-card.global {
  border-color: #c9f0d9;
  background: linear-gradient(180deg, #f7fffa 0%, #eefcf4 100%);
  color: #18a05f;
}

.search-card-action {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 3;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: currentColor;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.12);
  transform: rotate(-45deg);
}

.search-card-action .ui-icon {
  width: 20px;
  height: 20px;
}

.search-card-visual {
  position: relative;
  z-index: 2;
  width: 178px;
  height: 178px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
}

.search-choice-card strong {
  position: relative;
  z-index: 2;
  color: #071122;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 950;
}

.search-choice-card > i {
  position: relative;
  z-index: 2;
  width: 48px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.search-choice-card small {
  position: relative;
  z-index: 2;
  max-width: 250px;
  color: #667085;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 700;
}

.search-pin-orb,
.search-route-orb,
.search-global-orb {
  position: relative;
  width: 142px;
  height: 142px;
  display: block;
  border-radius: 50%;
}

.search-pin-orb {
  background:
    radial-gradient(circle at 50% 56%, rgba(229, 9, 20, 0.16) 0 46px, transparent 47px),
    radial-gradient(circle at 50% 50%, rgba(229, 9, 20, 0.08) 0 72px, transparent 73px);
}

.search-pin-orb::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(229, 9, 20, 0.13);
  border-radius: 50%;
}

.search-pin-orb b {
  position: absolute;
  left: 50%;
  top: 36px;
  width: 42px;
  height: 58px;
  border-radius: 50% 50% 50% 0;
  background: #e50914;
  transform: translateX(-50%) rotate(-45deg);
  box-shadow: 0 14px 28px rgba(229, 9, 20, 0.25);
}

.search-pin-orb b::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 13px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
}

.search-pin-orb i {
  position: absolute;
  width: 8px;
  height: 8px;
  left: 14px;
  top: 78px;
  border-radius: 50%;
  background: #ff9aa6;
  box-shadow: 88px -48px 0 #ffd1d7, 106px 28px 0 #ffd1d7;
}

.search-route-orb {
  background:
    radial-gradient(circle at 50% 50%, rgba(35, 105, 214, 0.10) 0 62px, transparent 63px),
    radial-gradient(circle at 50% 50%, rgba(35, 105, 214, 0.06) 0 76px, transparent 77px);
}

.search-route-orb b,
.search-route-orb i {
  position: absolute;
  inset: 35px 22px;
  border: 1px dashed rgba(35, 105, 214, 0.22);
  border-radius: 50%;
  transform: rotate(18deg);
}

.search-route-orb i {
  inset: 48px 34px;
  transform: rotate(-24deg);
}

.search-choice-flag {
  position: absolute;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 3px solid #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
}

.search-choice-flag.flag-us { left: 18px; top: 40px; }
.search-choice-flag.flag-fr { right: 16px; top: 30px; }
.search-choice-flag.flag-jp { left: 55px; bottom: 28px; }
.search-choice-flag.flag-au { right: 20px; bottom: 28px; }

.search-global-orb {
  background:
    radial-gradient(circle at 50% 50%, rgba(24, 160, 95, 0.20) 0 58px, transparent 59px),
    radial-gradient(circle at 50% 50%, rgba(24, 160, 95, 0.10) 0 76px, transparent 77px);
}

.search-global-orb::before {
  content: "";
  position: absolute;
  inset: 25px;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 44% 24%, rgba(255,255,255,0.88) 0 16px, transparent 17px),
    radial-gradient(ellipse at 60% 55%, rgba(255,255,255,0.74) 0 34px, transparent 35px),
    #64c98f;
}

.search-global-orb b {
  position: absolute;
  left: 15px;
  right: 11px;
  top: 68px;
  height: 22px;
  border: 3px solid rgba(24, 160, 95, 0.55);
  border-left-color: transparent;
  border-right-color: transparent;
  border-radius: 50%;
  transform: rotate(-14deg);
}

.search-global-orb i {
  position: absolute;
  width: 8px;
  height: 8px;
  left: 20px;
  top: 56px;
  border-radius: 50%;
  background: rgba(24, 160, 95, 0.42);
  box-shadow: 100px -36px 0 rgba(24, 160, 95, 0.32);
}

.search-choice-benefits {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 40px auto 0;
  padding: 0 30px;
}

.search-benefit {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 4px 14px;
  align-items: center;
  min-height: 62px;
  padding: 0 22px;
  border-left: 1px solid #eceff5;
}

.search-benefit:first-child {
  border-left: 0;
}

.search-benefit > span {
  grid-row: 1 / 3;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #e50914;
  background: #fff0f2;
}

.search-benefit.coverage > span {
  color: #2369d6;
  background: #eef5ff;
}

.search-benefit.secure > span {
  color: #18a05f;
  background: #eafaf1;
}

.search-benefit.support > span {
  color: #7b61ff;
  background: #f2efff;
}

.search-benefit .ui-icon {
  width: 24px;
  height: 24px;
}

.search-benefit strong {
  color: #071122;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 950;
}

.search-benefit small {
  color: #667085;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
}

.search-choice-skyline {
  position: absolute;
  left: 50%;
  bottom: -2px;
  z-index: 1;
  width: 100vw;
  height: 126px;
  transform: translateX(-50%);
  opacity: 0.50;
  background:
    radial-gradient(circle at 5% 80%, #eef2f7 0 40px, transparent 41px),
    radial-gradient(circle at 17% 78%, #eef2f7 0 48px, transparent 49px),
    radial-gradient(circle at 88% 80%, #ffe6ea 0 34px, transparent 35px),
    linear-gradient(180deg, transparent 0 40%, rgba(244, 247, 251, 0.78) 41% 100%);
}

.search-choice-skyline::before {
  content: "";
  position: absolute;
  left: 2%;
  right: 2%;
  bottom: 0;
  height: 108px;
  background: linear-gradient(180deg, rgba(228, 234, 242, 0.74), rgba(255, 220, 226, 0.56));
  clip-path: polygon(0 96%, 3% 76%, 5% 96%, 8% 58%, 10% 96%, 13% 52%, 15% 96%, 19% 66%, 21% 96%, 25% 38%, 27% 96%, 31% 70%, 33% 96%, 37% 48%, 39% 96%, 44% 68%, 46% 96%, 51% 54%, 53% 96%, 59% 76%, 61% 96%, 66% 40%, 68% 96%, 72% 64%, 74% 96%, 79% 46%, 81% 96%, 86% 66%, 88% 96%, 92% 52%, 94% 96%, 97% 70%, 100% 96%, 100% 100%, 0 100%);
}

@media (max-width: 900px) {
  main.app:has(.search-choice-page) {
    padding-bottom: 86px;
  }

  .search-choice-page {
    width: min(100%, calc(100vw - 28px));
    min-height: auto;
    padding: 26px 0 70px;
  }

  .search-choice-head {
    margin-bottom: 22px;
  }

  .search-choice-head h1 {
    font-size: 38px;
  }

  .search-choice-head p {
    font-size: 17px;
  }

  .search-choice-grid,
  .search-choice-benefits {
    grid-template-columns: 1fr;
  }

  .search-choice-card {
    min-height: 312px;
    padding: 26px 24px 24px;
  }

  .search-card-visual {
    width: 142px;
    height: 142px;
    margin-bottom: 4px;
    transform: scale(0.88);
  }

  .search-choice-benefits {
    margin-top: 22px;
    padding: 0;
    border-radius: 18px;
    background: rgba(255,255,255,0.82);
  }

  .search-benefit {
    border-left: 0;
    border-top: 1px solid #eef0f4;
    padding: 12px 6px;
  }

  .search-benefit:first-child {
    border-top: 0;
  }

  .search-choice-skyline {
    height: 80px;
  }
}

/* Search page title fix: keep the intro readable on wide desktop. */
.app-search-page > .app-page-title {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  justify-items: center;
  column-gap: 18px;
  max-width: 760px;
  margin: 56px auto 36px;
  text-align: center;
}

.app-search-page > .app-page-title .back-link {
  justify-self: start;
}

.app-search-page > .app-page-title h1 {
  grid-column: 2;
  margin: 0;
  max-width: 680px;
}

.app-search-page > .app-page-title p {
  grid-column: 2;
  margin: 12px auto 0;
  max-width: 520px;
  line-height: 1.55;
}

@media (max-width: 860px) {
  .app-search-page > .app-page-title {
    grid-template-columns: auto minmax(0, 1fr);
    margin: 24px auto 20px;
    text-align: left;
  }

  .app-search-page > .app-page-title h1,
  .app-search-page > .app-page-title p {
    grid-column: 2;
    margin-left: 0;
    margin-right: 0;
  }
}

/* AleoFly v89: smart multi-country planner, matched to the approved reference. */
main.app:has(.multi-country-page) {
  width: 100%;
  max-width: none;
  padding: 0 0 86px;
  background: #f8fafc;
}

.multi-country-page {
  width: min(1280px, calc(100vw - 64px));
  margin: 0 auto;
  display: grid;
  gap: 14px;
  color: #09111f;
  --multi-line: #e6ebf2;
  --multi-muted: #66718a;
  --multi-soft: #fff4f5;
}

.multi-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0 0;
  color: #8a94a7;
  font-size: 12px;
  font-weight: 800;
}

.multi-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.multi-breadcrumb strong {
  color: #e50914;
}

.multi-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(390px, 0.42fr) minmax(0, 1fr);
  min-height: 164px;
  overflow: hidden;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(90deg, #f8fafc 0%, #f8fafc 37%, #fff2f3 72%, #ffe8e8 100%);
}

.multi-hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 22px 0 20px;
}

.multi-hero-title {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.multi-hero-icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 12px;
  background: #ffe9ed;
  color: #e50914;
}

.multi-hero-icon .ui-icon {
  width: 32px;
  height: 32px;
}

.multi-hero h1 {
  margin: 0;
  color: #071122;
  font-size: clamp(28px, 2.3vw, 34px);
  line-height: 1.08;
  letter-spacing: 0;
}

.multi-hero p {
  margin: 6px 0 0;
  color: var(--multi-muted);
  font-weight: 700;
}

.multi-hero-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.multi-hero-benefits span {
  display: grid;
  grid-template-columns: 18px minmax(0, auto);
  grid-template-areas: "icon title" ". sub";
  gap: 1px 8px;
  align-items: center;
  font-size: 14px;
}

.multi-hero-benefits .ui-icon {
  grid-area: icon;
  color: #e50914;
}

.multi-hero-benefits b {
  grid-area: title;
  font-weight: 900;
}

.multi-hero-benefits small {
  grid-area: sub;
  color: var(--multi-muted);
  font-weight: 700;
}

.multi-hero-art {
  position: relative;
  min-height: 164px;
}

.multi-hero-art::before {
  content: "";
  position: absolute;
  inset: 0 0 0 0;
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.98) 0%, rgba(255, 255, 255, 0.36) 34%, rgba(255, 239, 241, 0.74) 100%),
    radial-gradient(circle at 54% 43%, rgba(229, 9, 20, 0.10) 0 76px, transparent 77px),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255, 229, 233, 0.72) 100%);
}

.multi-hero-art::after {
  content: "";
  position: absolute;
  left: 7%;
  right: 2%;
  bottom: 0;
  height: 72px;
  background: linear-gradient(180deg, rgba(229, 9, 20, 0.15), rgba(229, 9, 20, 0.07));
  clip-path: polygon(0 88%, 5% 64%, 8% 78%, 12% 52%, 15% 82%, 21% 42%, 27% 82%, 34% 28%, 40% 82%, 48% 36%, 56% 84%, 64% 48%, 70% 84%, 78% 54%, 86% 85%, 93% 62%, 100% 87%, 100% 100%, 0 100%);
}

.multi-hero-art span,
.multi-hero-art i,
.multi-hero-art b {
  position: absolute;
  display: block;
  border-radius: 999px;
  background: rgba(229, 9, 20, 0.18);
}

.multi-hero-art span {
  width: 108px;
  height: 108px;
  right: 38%;
  top: 20px;
  border: 1px dashed rgba(229, 9, 20, 0.35);
  background:
    radial-gradient(circle at 55% 50%, rgba(229, 9, 20, 0.12) 0 5px, transparent 6px),
    radial-gradient(circle at 32% 39%, rgba(229, 9, 20, 0.20) 0 6px, transparent 7px),
    rgba(255, 225, 229, 0.72);
}

.multi-hero-art i {
  width: 10px;
  height: 10px;
  right: 46%;
  top: 58px;
  box-shadow: 104px 22px 0 rgba(229, 9, 20, 0.55), 150px -8px 0 rgba(229, 9, 20, 0.45);
}

.multi-hero-art b {
  right: 16%;
  top: 46px;
  width: 80px;
  height: 18px;
  border-radius: 50%;
  transform: rotate(-8deg);
  opacity: 0.62;
}

.multi-trip-panel,
.multi-filter-bar,
.multi-recommendations,
.multi-results-shell {
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(15, 23, 42, 0.045);
}

.multi-trip-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: end;
  padding: 14px;
}

.multi-trip-destinations {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.multi-panel-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.multi-panel-title strong {
  font-size: 15px;
  font-weight: 900;
}

.multi-panel-title small,
.multi-trip-actions small {
  color: var(--multi-muted);
  font-weight: 700;
}

.multi-destination-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  position: relative;
}

.multi-country-page .selected-destination-strip {
  gap: 10px;
}

.multi-country-page .selected-destination-chip,
.selected-destination-empty,
.multi-add-destination {
  min-height: 40px;
  border-radius: 8px;
  border: 1px solid var(--multi-line);
  background: #fff;
}

.selected-destination-empty {
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  color: var(--multi-muted);
  font-weight: 900;
}

.multi-add-destination {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  color: #1b2638;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.multi-add-destination .ui-icon {
  color: #e50914;
}

.multi-destination-picker {
  position: relative;
  flex: 1 1 260px;
  min-width: min(280px, 100%);
  max-width: 390px;
}

.multi-country-page .flow-search-card {
  border-radius: 8px;
}

.multi-destination-search {
  min-height: 40px;
  box-shadow: none;
}

.multi-destination-search input {
  min-height: 38px;
  font-weight: 800;
}

.multi-country-page .flow-country-popover {
  position: absolute;
  z-index: 50;
  width: min(620px, calc(100vw - 64px));
  max-height: 310px;
  overflow: auto;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.14);
}

.multi-trip-actions {
  display: grid;
  grid-template-columns: auto auto;
  gap: 10px;
  align-items: center;
  justify-content: end;
}

.multi-trip-actions small {
  grid-column: 1 / -1;
  text-align: right;
}

.multi-area-open,
.flow-find-best {
  min-height: 42px;
  border-radius: 8px;
  white-space: nowrap;
}

.flow-find-best.disabled {
  opacity: 0.5;
  pointer-events: none;
}

.flow-note-link {
  width: fit-content;
  margin-left: 18px;
}

.multi-filter-bar {
  display: grid;
  grid-template-columns: 220px 258px 210px 178px minmax(132px, auto);
  gap: 10px;
  align-items: end;
  padding: 14px;
}

.multi-filter-bar label,
.multi-filter-pill-group {
  display: grid;
  gap: 8px;
}

.multi-filter-bar label span,
.multi-filter-pill-group small {
  color: #647087;
  font-size: 12px;
  font-weight: 900;
}

.multi-filter-bar select {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  color: #09111f;
  font: inherit;
  font-weight: 900;
}

.multi-filter-pill-group {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: end;
  overflow: visible;
  padding-top: 22px;
}

.multi-filter-pill-group small {
  position: absolute;
  top: 0;
  left: 0;
}

.multi-filter-pill-group button,
.multi-more-filters {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #edf0f5;
  border-radius: 8px;
  background: #f6f8fb;
  color: #172033;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.multi-filter-pill-group button.active {
  border-color: #ffd0d6;
  background: #fff1f3;
  color: #e50914;
}

.multi-more-filters {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
}

.multi-help-card {
  border-radius: 8px;
  border: 1px solid #ffe0a8;
}

.multi-recommendations {
  padding: 14px;
}

.multi-section-head,
.multi-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.multi-section-head h2,
.multi-results-head h2 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  line-height: 1.2;
}

.multi-section-head p,
.multi-results-head small {
  margin: 4px 0 0;
  color: var(--multi-muted);
  font-weight: 700;
}

.multi-section-head a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #e50914;
  font-weight: 900;
  text-decoration: none;
}

.multi-recommendation-grid,
.multi-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.multi-plan-card {
  min-width: 0;
  min-height: 226px;
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
}

.multi-card-top,
.multi-card-flags,
.multi-card-price,
.multi-row-main,
.multi-row-price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.multi-card-top {
  justify-content: space-between;
  min-height: 24px;
}

.multi-card-label {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef6ff;
  color: #2369d6;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.multi-card-top b {
  color: #e50914;
  font-size: 12px;
}

.multi-save-plan {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--multi-line);
  border-radius: 50%;
  background: #fff;
  color: #8a94a7;
}

.multi-card-flags {
  min-height: 34px;
}

.area-mini-flag {
  width: 32px;
  height: 32px;
  margin-left: -8px;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.area-mini-flag:first-child {
  margin-left: 0;
}

.multi-card-flags small {
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  height: 32px;
  margin-left: -8px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #f1f4f8;
  color: #647087;
  font-size: 11px;
  font-weight: 900;
}

.multi-plan-card h3 {
  margin: 0;
  min-height: 44px;
  color: #071122;
  font-size: 18px;
  line-height: 1.18;
}

.multi-plan-card p {
  display: grid;
  gap: 5px;
  margin: 0;
  color: #66718a;
  font-size: 13px;
  font-weight: 700;
}

.multi-card-facts {
  grid-area: facts;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 1px;
}

.multi-card-facts > span {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value";
  gap: 0 5px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid #edf0f6;
  border-radius: 7px;
  background: #fafbfe;
}

.multi-card-facts .ui-icon {
  grid-area: icon;
  width: 15px;
  height: 15px;
  color: #7c8494;
}

.multi-card-facts small {
  grid-area: label;
  min-width: 0;
  overflow: hidden;
  color: #8791a3;
  font-size: 9px;
  line-height: 1.1;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.multi-card-facts strong {
  grid-area: value;
  min-width: 0;
  overflow: hidden;
  color: #081126;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multi-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 28px;
}

.multi-card-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #fff0f2;
  color: #e50914;
  font-size: 12px;
  font-weight: 900;
}

.multi-card-price {
  align-items: baseline;
  margin-top: 2px;
}

.multi-card-price strong,
.multi-row-price strong {
  color: #e50914;
  font-size: 22px;
  line-height: 1;
}

.multi-card-price span,
.multi-row-price span {
  color: #8a94a7;
  text-decoration: line-through;
  font-weight: 800;
}

.multi-card-price small,
.multi-row-price small {
  margin-left: auto;
  color: #647087;
  font-weight: 800;
}

.multi-card-details {
  min-height: 40px;
  border-radius: 8px;
  color: #e50914;
}

.multi-results-shell {
  padding: 18px;
}

.multi-results-head {
  align-items: end;
}

.multi-results-head .one-country-sort {
  min-width: 188px;
}

.multi-plan-list {
  display: none;
  gap: 0;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  overflow: hidden;
}

.multi-results-shell[data-multi-view-state="list"] .multi-plan-grid {
  display: none;
}

.multi-results-shell[data-multi-view-state="list"] .multi-plan-list {
  display: grid;
}

.multi-plan-row {
  display: grid;
  grid-template-columns: minmax(330px, 1fr) minmax(180px, 0.5fr) minmax(190px, 0.44fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 86px;
  padding: 16px 18px;
  background: #fff;
}

.multi-plan-row + .multi-plan-row {
  border-top: 1px solid var(--multi-line);
}

.multi-row-main {
  min-width: 0;
}

.multi-row-main strong,
.multi-row-main small {
  display: block;
}

.multi-row-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #071122;
  font-weight: 900;
}

.multi-row-main small {
  margin-top: 4px;
  color: #66718a;
  font-weight: 700;
}

.multi-row-price {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.multi-plan-card[hidden],
.multi-plan-row[hidden],
.multi-area-card[hidden],
.multi-area-section[hidden] {
  display: none !important;
}

.multi-area-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  justify-content: end;
  padding: 72px max(24px, calc((100vw - 1188px) / 2)) 32px 24px;
}

.multi-area-modal[hidden] {
  display: none !important;
}

.multi-area-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.12);
}

.multi-area-dialog {
  position: relative;
  z-index: 1;
  width: min(520px, calc(100vw - 40px));
  max-height: min(760px, calc(100vh - 104px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.22);
}

.multi-area-head,
.multi-area-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
}

.multi-area-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.multi-area-title > span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f5f7fb;
  color: #071122;
}

.multi-area-title strong,
.multi-area-title small {
  display: block;
}

.multi-area-title strong {
  font-size: 18px;
  font-weight: 900;
}

.multi-area-title small,
.multi-area-footer span {
  color: #66718a;
  font-weight: 800;
}

.multi-area-close {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f6f8fb;
  color: #071122;
  cursor: pointer;
}

.multi-area-search {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  margin: 0 18px 14px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--multi-line);
  border-radius: 999px;
  background: #fff;
}

.multi-area-search input {
  width: 100%;
  height: 42px;
  border: 0;
  outline: 0;
  font: inherit;
  font-weight: 800;
}

.multi-area-body {
  min-height: 0;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  border-top: 1px solid var(--multi-line);
  border-bottom: 1px solid var(--multi-line);
}

.multi-area-nav {
  display: grid;
  align-content: start;
  gap: 2px;
  padding: 14px 10px;
  border-right: 1px solid var(--multi-line);
  background: #fbfcfe;
}

.multi-area-nav button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 36px;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #66718a;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.multi-area-nav button.active {
  background: #fff1f3;
  color: #e50914;
}

.multi-area-sections {
  min-height: 0;
  overflow: auto;
  padding: 14px;
}

.multi-area-section + .multi-area-section {
  margin-top: 16px;
}

.multi-area-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.multi-area-section-head h3 {
  margin: 0;
  font-size: 15px;
}

.multi-area-section-head small {
  color: #8a94a7;
}

.multi-area-section-head button {
  border: 0;
  background: transparent;
  color: #e50914;
  font-weight: 900;
  cursor: pointer;
}

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

.multi-area-card {
  min-height: 96px;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  color: #071122;
  text-decoration: none;
}

.multi-area-card strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}

.multi-area-card small {
  color: #66718a;
  font-size: 12px;
  font-weight: 800;
}

.multi-area-footer .btn {
  min-height: 44px;
  min-width: 150px;
  border-radius: 8px;
}

@media (max-width: 1120px) {
  .multi-country-page {
    width: min(100%, calc(100vw - 36px));
  }

  .multi-hero,
  .multi-trip-panel {
    grid-template-columns: 1fr;
  }

  .multi-hero-art {
    display: none;
  }

  .multi-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .multi-recommendation-grid,
  .multi-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .multi-row-price {
    justify-items: start;
  }
}

@media (max-width: 760px) {
  main.app:has(.multi-country-page) {
    padding-bottom: 40px;
  }

  .multi-country-page {
    width: 100%;
    gap: 10px;
    padding: 0 12px;
  }

  .multi-breadcrumb {
    padding-top: 6px;
    font-size: 11px;
  }

  .multi-hero {
    min-height: 0;
    border-radius: 0;
    background: #f8fafc;
  }

  .multi-hero-copy {
    gap: 12px;
    padding: 12px 0 8px;
  }

  .multi-hero-title {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
  }

  .multi-hero-title > div {
    min-width: 0;
    max-width: min(100%, 300px);
  }

  .multi-hero-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
  }

  .multi-hero-icon .ui-icon {
    width: 25px;
    height: 25px;
  }

  .multi-hero h1 {
    max-width: 100%;
    font-size: 25px;
    line-height: 1.06;
    overflow-wrap: break-word;
  }

  .multi-hero p {
    max-width: 100%;
    margin-top: 4px;
    font-size: 13px;
    overflow-wrap: break-word;
  }

  .multi-hero-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .multi-hero-benefits span {
    font-size: 12px;
  }

  .multi-hero-benefits small {
    font-size: 11px;
  }

  .multi-trip-panel,
  .multi-filter-bar,
  .multi-recommendations,
  .multi-results-shell {
    padding: 12px;
  }

  .multi-panel-title,
  .multi-section-head,
  .multi-results-head {
    display: grid;
    justify-content: stretch;
  }

  .multi-trip-actions {
    grid-template-columns: 1fr;
    justify-content: stretch;
    min-width: 0;
  }

  .multi-trip-actions small {
    grid-column: 1 / -1;
    text-align: left;
    font-size: 12px;
  }

  .multi-area-open,
  .flow-find-best {
    width: 100%;
    min-width: 0;
    justify-content: center;
    min-height: 40px;
    padding-inline: 10px;
    font-size: 13px;
  }

  .multi-destination-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .multi-country-page .selected-destination-strip {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .multi-country-page .selected-destination-chip {
    flex: 0 0 auto;
    min-height: 38px;
  }

  .multi-destination-picker {
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .multi-add-destination,
  .multi-destination-search {
    width: 100%;
    min-height: 40px;
  }

  .multi-country-page .flow-country-popover {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    width: auto;
    max-height: 300px;
    margin-top: 8px;
    padding: 8px;
    z-index: 5;
  }

  .multi-filter-bar,
  .multi-recommendation-grid,
  .multi-plan-grid {
    grid-template-columns: 1fr;
  }

  .multi-filter-pill-group {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .multi-filter-pill-group small {
    grid-column: 1 / -1;
  }

  .multi-filter-pill-group button,
  .multi-more-filters,
  .multi-filter-bar select {
    min-height: 40px;
  }

  .multi-section-head h2,
  .multi-results-head h2 {
    font-size: 18px;
  }

  .multi-plan-card {
    min-height: 0;
  }

  .multi-results-head .one-country-sort {
    min-width: 0;
  }

  .multi-area-modal {
    padding: 0;
    align-items: end;
  }

  .multi-area-dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 8px 8px 0 0;
  }

  .multi-area-body {
    grid-template-columns: 1fr;
  }

  .multi-area-nav {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--multi-line);
  }

  .multi-area-grid {
    grid-template-columns: 1fr;
  }
}

/* Product detail page v111: country photo detail and global/multi map detail. */
.product-detail-page {
  width: min(1240px, calc(100vw - 72px));
  margin: 0 auto 56px;
  padding-top: 24px;
  color: #0b1220;
}

.product-detail-page,
.product-detail-page * {
  box-sizing: border-box;
}

.product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  color: #667085;
  font-size: 14px;
  font-weight: 800;
}

.product-breadcrumb a {
  color: #667085;
  text-decoration: none;
}

.product-breadcrumb b {
  color: #e50914;
}

.product-detail-shell {
  display: grid;
  grid-template-columns: minmax(420px, 0.96fr) minmax(460px, 1fr);
  gap: 28px;
  align-items: start;
}

.product-left-rail,
.product-right-rail {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.product-visual {
  position: relative;
  min-height: 515px;
  overflow: hidden;
  border-radius: 18px;
  background: #111827;
  box-shadow: 0 26px 58px rgba(15, 23, 42, 0.14);
}

.product-visual-country {
  background-image:
    linear-gradient(180deg, rgba(12, 20, 32, 0.03) 0%, rgba(12, 20, 32, 0.18) 42%, rgba(12, 20, 32, 0.86) 100%),
    var(--product-country-image);
  background-size: cover;
  background-position: var(--product-country-position, center center);
}

.product-visual-global {
  background: linear-gradient(145deg, #c9000d 0%, #720a13 58%, #0c1220 100%);
}

.product-visual-global > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-global-shade,
.product-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(6, 12, 22, 0.88) 100%);
}

.product-visual-copy {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 92px;
  z-index: 2;
  color: #fff;
}

.product-visual-copy h2 {
  margin: 14px 0 6px;
  font-size: clamp(34px, 5vw, 48px);
  line-height: 0.98;
  letter-spacing: 0;
}

.product-visual-copy p {
  margin: 0;
  color: rgba(255,255,255,0.88);
  font-size: 16px;
  font-weight: 800;
}

.product-visual-flag {
  width: 70px;
  height: 50px;
  border-radius: 10px;
  background: #e50914;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.product-visual-flag .flag-img {
  border-radius: 8px;
}

.product-choice-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(229, 9, 20, 0.95);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.product-choice-pill .ui-icon {
  width: 16px;
  height: 16px;
}

.product-visual-benefits {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 24px;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.product-visual-benefits span {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  min-width: 0;
  color: #fff;
}

.product-visual-benefits .ui-icon {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  padding: 11px;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
}

.product-visual-benefits b,
.product-visual-benefits small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-visual-benefits b {
  font-size: 13px;
}

.product-visual-benefits small {
  color: rgba(255,255,255,0.82);
  font-size: 12px;
  font-weight: 700;
}

.product-summary-card,
.covered-countries-card,
.product-reviews-card,
.product-how-card,
.product-trust-grid {
  border: 1px solid #e8edf5;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.product-summary-card {
  padding: 32px;
}

.product-summary-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.product-summary-card .trust-row {
  margin: 0;
  gap: 9px;
  font-weight: 900;
}

.product-summary-card .rating-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #22c55e;
  color: #fff;
  font-size: 15px;
}

.wishlist-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #e4e9f2;
  border-radius: 999px;
  background: #fff;
  color: #0b1220;
  font-weight: 900;
}

.wishlist-btn .ui-icon {
  width: 18px;
  height: 18px;
}

.product-summary-card h1 {
  max-width: 920px;
  margin: 0;
  color: #0b1220;
  font-size: clamp(32px, 4.1vw, 48px);
  line-height: 1.04;
  letter-spacing: 0;
}

.product-subtitle {
  margin: 12px 0 22px;
  color: #667085;
  font-size: 17px;
  font-weight: 700;
}

.product-summary-card .plan-mode {
  margin: 0 0 20px;
}

.product-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 20px;
  padding: 18px 20px;
  border-radius: 14px;
  background: #fff2f5;
  border: 1px solid #ffe0e7;
}

.product-stat-strip span {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 2px 12px;
  align-items: center;
  min-width: 0;
  padding: 0 16px;
  border-left: 1px solid #f5d5dc;
}

.product-stat-strip span:first-child {
  border-left: 0;
  padding-left: 0;
}

.product-stat-strip .ui-icon {
  grid-row: span 2;
  width: 28px;
  height: 28px;
  color: #5b6ee1;
}

.product-stat-strip small,
.product-price-coverage small {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.product-stat-strip b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
}

.product-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid #edf1f6;
}

.product-detail-tags span,
.product-coverage-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff0f3;
  color: #e50914;
  font-size: 13px;
  font-weight: 900;
}

.product-price-coverage {
  display: grid;
  grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
  gap: 26px;
  padding: 18px 0;
  border-bottom: 1px solid #edf1f6;
}

.product-price-coverage strong {
  display: block;
  margin-top: 4px;
  color: #e50914;
  font-size: 28px;
  line-height: 1;
}

.product-coverage-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.product-coverage-chip {
  min-height: 28px;
  padding: 5px 10px;
  background: #f5f7fb;
  color: #263449;
  max-width: 190px;
}

.product-coverage-more {
  color: #0b1220;
}

.coverage-expand {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  margin: 14px 0 18px;
  padding: 0 14px;
  border: 1px solid #e7ecf4;
  border-radius: 11px;
  background: #fff;
  color: #0b1220;
  font-weight: 900;
}

.coverage-expand .ui-icon {
  width: 16px;
  height: 16px;
}

.product-buy-now {
  width: 100%;
  min-height: 56px;
  border-radius: 11px;
  background: #e50914;
  color: #fff;
  font-size: 18px;
  font-weight: 950;
}

.product-secure-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 14px 0 0;
  color: #667085;
  font-size: 14px;
  font-weight: 800;
}

.product-secure-note .ui-icon {
  width: 18px;
  height: 18px;
}

.product-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 20px;
}

.product-trust-grid span {
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
  min-width: 0;
  padding: 0 14px;
  border-left: 1px solid #edf1f6;
}

.product-trust-grid span:first-child {
  border-left: 0;
}

.product-trust-grid .ui-icon,
.product-how-card .ui-icon {
  width: 44px;
  height: 44px;
  padding: 11px;
  border-radius: 50%;
  background: #fff0f3;
  color: #e50914;
}

.product-trust-grid b,
.product-how-card strong {
  font-size: 14px;
}

.product-trust-grid small,
.product-how-card small {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.product-how-card {
  padding: 26px;
}

.product-how-card h2,
.product-reviews-card h2 {
  margin: 0 0 20px;
  font-size: 22px;
}

.product-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.product-steps span {
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.product-steps span > b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e50914;
  color: #fff;
  font-size: 13px;
}

.product-how-card p {
  margin: 22px 0 0;
  text-align: center;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.covered-countries-card {
  padding: 22px;
}

.covered-countries-card header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.covered-countries-card h2 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  font-size: 22px;
}

.covered-countries-card h2 .ui-icon {
  width: 24px;
  height: 24px;
}

.covered-search {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  margin-bottom: 16px;
  padding: 0 12px;
  border: 1px solid #e5eaf2;
  border-radius: 999px;
  color: #98a2b3;
  font-weight: 800;
}

.covered-search .ui-icon {
  width: 16px;
  height: 16px;
}

.covered-region-row {
  display: grid;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #edf1f6;
}

.covered-region-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.covered-region-head a {
  color: #e50914;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
}

.covered-country-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.covered-country-grid span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  min-width: 0;
  padding: 0 10px;
  overflow: hidden;
  border: 1px solid #e8edf5;
  border-radius: 10px;
  color: #263449;
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.covered-country-more {
  justify-content: center;
  color: #e50914 !important;
}

.covered-note {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f5f7fb;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.product-reviews-card {
  padding: 28px 32px;
}

.reviews-summary {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}

.reviews-summary > div {
  display: grid;
  justify-items: center;
  border-right: 1px solid #edf1f6;
}

.reviews-summary strong {
  color: #0b1220;
  font-size: 48px;
}

.reviews-summary > div span {
  color: #f5b400;
  letter-spacing: 2px;
}

.reviews-summary small {
  color: #667085;
  font-weight: 800;
}

.reviews-summary ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reviews-summary li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 38px;
  gap: 10px;
  align-items: center;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.reviews-summary li b {
  position: relative;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}

.reviews-summary li b::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--w);
  border-radius: inherit;
  background: #f5b400;
}

.product-reviews-card .btn-ghost {
  width: 100%;
  margin-top: 20px;
}

@media (max-width: 980px) {
  .product-detail-page {
    width: calc(100vw - 28px);
    max-width: 720px;
    padding-top: 16px;
  }

  .product-detail-shell {
    grid-template-columns: 1fr;
  }

  .product-visual {
    min-height: 430px;
  }
}

@media (max-width: 640px) {
  .product-detail-page {
    width: calc(100vw - 18px);
    max-width: 430px;
    margin-bottom: 94px;
    padding-top: 10px;
  }

  .product-breadcrumb {
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 14px;
    font-size: 12px;
  }

  .product-visual {
    min-height: 500px;
    border-radius: 18px;
  }

  .product-visual-copy {
    left: 22px;
    right: 22px;
    bottom: 182px;
  }

  .product-visual-copy h2 {
    font-size: 32px;
  }

  .product-visual-benefits {
    left: 18px;
    right: 18px;
    bottom: 18px;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .product-visual-benefits span {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .product-visual-benefits .ui-icon {
    width: 36px;
    height: 36px;
    padding: 9px;
  }

  .product-summary-card,
  .covered-countries-card,
  .product-reviews-card,
  .product-how-card {
    padding: 20px;
    border-radius: 18px;
  }

  .product-summary-top {
    align-items: flex-start;
  }

  .wishlist-btn {
    width: 42px;
    padding: 0;
    justify-content: center;
    font-size: 0;
  }

  .product-summary-card h1 {
    overflow-wrap: anywhere;
    font-size: 30px;
    line-height: 1.08;
  }

  .product-summary-card .plan-mode span {
    min-height: 42px;
    font-size: 13px;
  }

  .product-stat-strip,
  .product-price-coverage,
  .reviews-summary {
    grid-template-columns: 1fr;
  }

  .product-stat-strip {
    gap: 12px;
  }

  .product-stat-strip span {
    border-left: 0;
    padding: 0;
  }

  .product-trust-grid,
  .product-steps,
  .covered-country-grid {
    grid-template-columns: 1fr;
  }

  .product-trust-grid span {
    border-left: 0;
    border-top: 1px solid #edf1f6;
    padding: 14px 0;
  }

  .product-trust-grid span:first-child {
    border-top: 0;
  }

  .reviews-summary > div {
    border-right: 0;
    border-bottom: 1px solid #edf1f6;
    padding-bottom: 18px;
  }
}

/* Product detail mobile polish and full coverage modal. */
html:has(body.modal-open),
body.modal-open {
  overflow: hidden;
}

body.modal-open {
  touch-action: none;
}

body:has(.coverage-modal:not([hidden])) .site-header,
body:has(.coverage-modal:not([hidden])) #mobile-bottom-nav {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

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

.coverage-modal {
  position: fixed;
  inset: 0;
  z-index: 3600;
  isolation: isolate;
  display: grid;
  place-items: center;
  padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));
}

.coverage-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 14, 24, 0.46);
  backdrop-filter: blur(5px);
}

.coverage-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100vw - 36px));
  max-height: min(820px, calc(100vh - 48px));
  max-height: min(820px, calc(100dvh - 48px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid #e6ebf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
}

.coverage-modal-head {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 14px;
}

.coverage-modal-head span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e50914;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
}

.coverage-modal-head span .ui-icon {
  width: 18px;
  height: 18px;
}

.coverage-modal-head h2 {
  margin: 6px 0 3px;
  color: #0b1220;
  font-size: 28px;
  line-height: 1.08;
}

.coverage-modal-head p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  font-weight: 800;
}

.coverage-modal-close {
  flex: 0 0 auto;
  position: relative;
  z-index: 4;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8edf5;
  border-radius: 50%;
  background: #fff;
  color: #0b1220;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.coverage-modal-close .ui-icon {
  width: 20px;
  height: 20px;
}

.coverage-modal-search {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin: 0 24px 16px;
  padding: 0 14px;
  border: 1px solid #e5eaf2;
  border-radius: 999px;
  background: #fff;
  color: #98a2b3;
}

.coverage-modal-search .ui-icon {
  width: 18px;
  height: 18px;
}

.coverage-modal-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0b1220;
  font: inherit;
  font-weight: 800;
}

.coverage-modal-body {
  min-height: 0;
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr);
  border-top: 1px solid #edf1f6;
}

.coverage-modal-nav {
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 14px;
  overflow: auto;
  scrollbar-width: none;
  border-right: 1px solid #edf1f6;
  background: #fbfcff;
}

.coverage-modal-nav::-webkit-scrollbar {
  display: none;
}

.coverage-modal-nav button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #475467;
  font-weight: 900;
  text-align: left;
}

.coverage-modal-nav button.active,
.coverage-modal-nav button:hover {
  background: #fff0f3;
  color: #e50914;
}

.coverage-modal-nav b {
  color: inherit;
  font-size: 12px;
}

.coverage-modal-sections {
  min-height: 0;
  overflow: auto;
  padding: 12px 16px 18px;
}

.coverage-modal-section {
  padding: 12px 0 16px;
  border-bottom: 1px solid #edf1f6;
  scroll-margin-top: 12px;
}

.coverage-modal-section:last-child {
  border-bottom: 0;
}

.coverage-modal-section header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.coverage-modal-section h3 {
  margin: 0;
  color: #0b1220;
  font-size: 16px;
}

.coverage-modal-section header span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.coverage-modal-country-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.coverage-modal-country {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 38px;
  overflow: hidden;
  padding: 0 10px;
  border: 1px solid #e8edf5;
  border-radius: 10px;
  background: #fff;
  color: #263449;
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coverage-modal-country[hidden],
.coverage-modal-section[hidden] {
  display: none !important;
}

.coverage-modal-note {
  margin: 0;
  padding: 13px 24px;
  border-top: 1px solid #edf1f6;
  background: #f7f9fc;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 640px) {
  main.app:has(.product-detail-page) {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    padding: 0 0 70px;
    background: #f6f8fb;
  }

  .product-detail-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 10px 12px 98px;
    overflow: hidden;
  }

  .product-breadcrumb {
    gap: 6px;
    margin: 0 0 12px;
    font-size: 11px;
    line-height: 1.2;
  }

  .product-detail-shell,
  .product-left-rail,
  .product-right-rail {
    gap: 14px;
  }

  .product-visual {
    width: 100%;
    min-height: 448px;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  }

  .product-visual-copy {
    left: 18px;
    right: 18px;
    bottom: 150px;
  }

  .product-visual-copy h2 {
    margin: 10px 0 4px;
    font-size: 34px;
  }

  .product-visual-copy p {
    font-size: 13px;
  }

  .product-visual-flag {
    width: 58px;
    height: 42px;
  }

  .product-choice-pill {
    padding: 7px 10px;
    font-size: 11px;
  }

  .product-visual-benefits {
    left: 14px;
    right: 14px;
    bottom: 14px;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .product-visual-benefits span {
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 42px;
    padding: 4px 6px;
    border-radius: 13px;
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(8px);
  }

  .product-visual-benefits .ui-icon {
    width: 32px;
    height: 32px;
    padding: 8px;
  }

  .product-visual-benefits b {
    font-size: 12px;
  }

  .product-visual-benefits small {
    font-size: 10px;
  }

  .product-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px;
    gap: 0;
  }

  .product-trust-grid span {
    min-height: 106px;
    border-top: 0;
    border-left: 1px solid #edf1f6;
    padding: 12px 8px;
  }

  .product-trust-grid span:nth-child(odd) {
    border-left: 0;
  }

  .product-trust-grid span:nth-child(n+3) {
    border-top: 1px solid #edf1f6;
  }

  .product-trust-grid .ui-icon {
    width: 38px;
    height: 38px;
    padding: 10px;
  }

  .product-trust-grid b {
    font-size: 12px;
  }

  .product-trust-grid small {
    font-size: 10px;
    line-height: 1.25;
  }

  .product-summary-card,
  .covered-countries-card,
  .product-reviews-card,
  .product-how-card {
    width: 100%;
    min-width: 0;
    padding: 18px;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  }

  .product-summary-top {
    align-items: center;
    margin-bottom: 12px;
  }

  .product-summary-card .rating-pill {
    min-height: 24px;
    padding: 3px 9px;
    font-size: 12px;
  }

  .product-summary-card .trust-row {
    font-size: 12px;
  }

  .wishlist-btn {
    width: 40px;
    min-height: 40px;
    padding: 0;
  }

  .product-summary-card h1 {
    font-size: 28px;
    line-height: 1.06;
    overflow-wrap: anywhere;
  }

  .product-subtitle {
    margin: 10px 0 16px;
    font-size: 13px;
    line-height: 1.45;
  }

  .product-summary-card .plan-mode {
    margin-bottom: 14px;
    grid-template-columns: 1fr 1fr;
  }

  .product-summary-card .plan-mode span {
    min-width: 0;
    min-height: 38px;
    padding: 0 8px;
    font-size: 12px;
    white-space: nowrap;
  }

  .product-stat-strip {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 14px;
    padding: 12px;
    border-radius: 13px;
  }

  .product-stat-strip span {
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 38px;
    border-left: 0;
    padding: 0;
  }

  .product-stat-strip .ui-icon {
    width: 24px;
    height: 24px;
  }

  .product-stat-strip small,
  .product-price-coverage small {
    font-size: 11px;
  }

  .product-stat-strip b {
    font-size: 13px;
  }

  .product-detail-tags {
    gap: 7px;
    padding-bottom: 13px;
  }

  .product-detail-tags span,
  .product-coverage-chip {
    min-height: 26px;
    padding: 5px 9px;
    font-size: 11px;
  }

  .product-price-coverage {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 0;
  }

  .product-price-coverage strong {
    font-size: 26px;
  }

  .product-coverage-list {
    max-height: 118px;
    overflow: auto;
    padding-right: 2px;
  }

  .coverage-expand {
    min-height: 44px;
    margin: 12px 0 14px;
    font-size: 13px;
  }

  .product-buy-now {
    min-height: 52px;
    font-size: 16px;
  }

  .product-secure-note {
    flex-wrap: wrap;
    gap: 7px;
    font-size: 12px;
  }

  .product-how-card {
    padding: 18px 14px;
  }

  .product-how-card h2 {
    margin-bottom: 15px;
    text-align: center;
    font-size: 22px;
  }

  .product-steps {
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    align-items: start;
  }

  .product-steps::before {
    content: "";
    position: absolute;
    left: 15%;
    right: 15%;
    top: 35px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #e50914, #ffb4bc, #e50914);
  }

  .product-steps span {
    position: relative;
    display: grid;
    grid-template-rows: 72px auto;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    text-align: center;
  }

  .product-steps span > b {
    position: absolute;
    top: 0;
    z-index: 2;
    width: 24px;
    height: 24px;
    font-size: 12px;
    box-shadow: 0 8px 18px rgba(229, 9, 20, 0.22);
  }

  .product-steps .ui-icon {
    z-index: 1;
    width: 48px;
    height: 48px;
    margin-top: 18px;
    padding: 12px;
    background: #fff0f3;
    box-shadow: 0 10px 22px rgba(229, 9, 20, 0.14);
  }

  .product-steps strong {
    max-width: 96px;
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1.15;
  }

  .product-steps small {
    display: none;
  }

  .product-how-card p {
    margin-top: 15px;
    font-size: 12px;
  }

  .covered-countries-card {
    display: none;
  }

  .product-reviews-card {
    padding: 18px;
  }

  .reviews-summary {
    gap: 14px;
  }

  .reviews-summary strong {
    font-size: 40px;
  }

  .coverage-modal {
    align-items: end;
    place-items: end center;
    padding: 0;
  }

  .coverage-modal-dialog {
    width: 100%;
    max-height: calc(100vh - 22px);
    max-height: calc(100dvh - max(22px, env(safe-area-inset-top)));
    border-radius: 20px 20px 0 0;
  }

  .coverage-modal-head {
    padding: 18px 16px 12px;
  }

  .coverage-modal-head h2 {
    font-size: 22px;
  }

  .coverage-modal-head p {
    font-size: 12px;
  }

  .coverage-modal-close {
    width: 42px;
    height: 42px;
  }

  .coverage-modal-search {
    margin: 0 16px 12px;
  }

  .coverage-modal-body {
    grid-template-columns: 1fr;
  }

  .coverage-modal-nav {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid #edf1f6;
    padding: 10px 12px;
  }

  .coverage-modal-nav button {
    min-height: 36px;
    white-space: nowrap;
  }

  .coverage-modal-sections {
    max-height: calc(100vh - 265px);
    padding: 10px 14px 16px;
  }

  .coverage-modal-country-grid {
    grid-template-columns: 1fr;
  }

  .coverage-modal-country {
    min-height: 42px;
    font-size: 13px;
  }

  .coverage-modal-note {
    padding: 12px 16px;
    font-size: 11px;
  }
}

/* Checkout v115 premium desktop/mobile redesign. */
body:has(.checkout-page-v113) .top-offer {
  display: none !important;
}

@media (min-width: 761px) {
  body:has(.checkout-page-v113) .site-header {
    width: min(1160px, calc(100vw - 64px));
    min-height: 72px;
    margin: 16px auto 0;
    padding: 0 28px !important;
    border: 1px solid rgba(226, 232, 242, 0.9);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 45px rgba(25, 40, 65, 0.08);
    backdrop-filter: blur(14px);
  }

  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup {
    min-width: 132px;
  }

  body:has(.checkout-page-v113) .brand-image-lockup .brand-logo-image {
    width: 128px;
    max-height: 54px;
  }

  body:has(.checkout-page-v113) .site-header > .top-nav {
    gap: clamp(24px, 2.4vw, 42px) !important;
  }

  body:has(.checkout-page-v113) .site-header > .top-nav a {
    font-size: 12px;
  }

  body:has(.checkout-page-v113) .site-header > .header-actions > a {
    min-height: 42px;
    padding: 0 22px;
    border: 1px solid rgba(229, 9, 20, 0.42);
    border-radius: 999px;
    color: var(--brand);
    background: #fff;
    box-shadow: 0 10px 22px rgba(229, 9, 20, 0.08);
  }

  body:has(.checkout-page-v113) .site-header > .header-actions > a:hover {
    background: var(--brand);
    color: #fff;
  }
}

main.app:has(.checkout-page-v113) {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - 88px);
  padding: 0 0 46px;
  background:
    radial-gradient(circle at 77% 13%, rgba(229, 9, 20, 0.12), transparent 25%),
    radial-gradient(circle at 12% 4%, rgba(72, 117, 169, 0.10), transparent 26%),
    linear-gradient(180deg, #f7faff 0%, #edf3fb 100%);
}

.checkout-page-v113 {
  --checkout-red: #e50914;
  --checkout-ink: #081225;
  --checkout-muted: #5f6f89;
  --checkout-line: #e5ebf4;
  --checkout-soft: #fff4f5;
  width: min(1160px, calc(100vw - 64px));
  margin: 0 auto;
  padding: 26px 0 24px;
  color: var(--checkout-ink);
}

.checkout-page-v113,
.checkout-page-v113 * {
  box-sizing: border-box;
}

.checkout-hero {
  position: relative;
  min-height: 142px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.checkout-hero::before {
  content: "";
  position: absolute;
  right: 82px;
  bottom: 0;
  width: 430px;
  height: 120px;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(255, 185, 194, 0.32), rgba(255, 255, 255, 0) 68%);
  pointer-events: none;
}

.checkout-hero::after {
  content: "";
  position: absolute;
  right: 222px;
  bottom: -3px;
  width: 286px;
  height: 146px;
  background: url("/assets/images/checkout/checkout-security-hero.png") center / contain no-repeat;
  opacity: 0.96;
  mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0,0,0,0.65) 72%, transparent 88%);
  mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0,0,0,0.65) 72%, transparent 88%);
  pointer-events: none;
}

.checkout-hero-copy {
  position: relative;
  z-index: 1;
}

.checkout-hero h1 {
  margin: 0;
  color: var(--checkout-ink);
  font-size: clamp(42px, 4.5vw, 56px);
  line-height: 0.94;
  font-weight: 950;
  letter-spacing: 0;
}

.checkout-title-rule {
  display: block;
  width: 44px;
  height: 3px;
  margin: 15px 0 12px;
  border-radius: 999px;
  background: var(--checkout-red);
}

.checkout-secure-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #263247;
  font-size: 13px;
  font-weight: 750;
}

.checkout-secure-kicker .ui-icon {
  width: 17px;
  height: 17px;
  color: #23324a;
}

.checkout-stage-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.98fr);
  gap: 18px;
  align-items: start;
  margin-top: -6px;
}

.checkout-summary-card,
.checkout-panel-card {
  min-width: 0;
  border: 1px solid rgba(213, 223, 236, 0.9);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 55px rgba(20, 34, 56, 0.08);
}

.checkout-layout.app-checkout .checkout-summary-card {
  position: static;
  top: auto;
  height: auto;
  padding: 18px;
}

.checkout-summary-card h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: var(--checkout-ink);
  font-size: 19px;
  font-weight: 950;
}

.checkout-summary-card h2 > span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--checkout-red);
  background: #fff0f2;
}

.checkout-summary-card h2 .ui-icon {
  width: 18px;
  height: 18px;
}

.checkout-plan-tile {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 118px;
  padding: 14px;
  border: 1px solid var(--checkout-line);
  border-radius: 14px;
  background: #fff;
}

.checkout-plan-thumb {
  position: relative;
  display: block;
  width: 88px;
  height: 88px;
  overflow: hidden;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(8, 18, 37, 0.04), rgba(8, 18, 37, 0.14)),
    var(--checkout-plan-image, linear-gradient(135deg, #f4f8ff, #ffe6eb));
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 1px rgba(8, 18, 37, 0.06);
}

.checkout-plan-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
}

.checkout-plan-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 18, 37, 0.02), rgba(8, 18, 37, 0.18));
  pointer-events: none;
}

.checkout-plan-flag {
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(8, 18, 37, 0.20);
  z-index: 2;
}

.checkout-plan-copy {
  min-width: 0;
}

.checkout-plan-copy h3 {
  display: block;
  min-width: 0;
  margin: 0 0 7px;
  color: var(--checkout-ink);
  font-size: 17px;
  line-height: 1.22;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.checkout-plan-copy h3 em {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e9f4ff;
  color: #2475d6;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-transform: none;
  white-space: nowrap;
}

.checkout-plan-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin: 0 0 8px;
  color: var(--checkout-ink);
  font-size: 13px;
  font-weight: 850;
}

.checkout-plan-meta i {
  color: #9aa8bc;
  font-style: normal;
}

.checkout-plan-copy small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #15803d;
  font-size: 12px;
  font-weight: 850;
}

.checkout-plan-copy small .ui-icon {
  width: 14px;
  height: 14px;
}

.checkout-plan-tile > strong {
  color: var(--checkout-ink);
  font-size: 18px;
  font-weight: 950;
  white-space: nowrap;
}

.checkout-summary-card .summary-line,
.checkout-summary-card .summary-total {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 16px 0 0;
  color: var(--checkout-ink);
  font-size: 15px;
  font-weight: 750;
}

.checkout-summary-card .summary-line span:last-child,
.checkout-summary-card .summary-total span:last-child {
  text-align: right;
  font-weight: 950;
}

.checkout-summary-card .summary-line.muted {
  color: var(--checkout-muted);
  font-style: normal;
}

.checkout-summary-card .summary-line.muted .ui-icon {
  width: 14px;
  height: 14px;
  margin-left: 3px;
  color: #748199;
  vertical-align: -2px;
}

.checkout-summary-card .summary-total {
  align-items: center;
  min-height: 64px;
  margin-top: 22px;
  padding: 16px;
  border: 1px solid #ffdfe3;
  border-radius: 12px;
  background: #fff5f6;
  font-size: 20px;
  font-weight: 950;
}

.checkout-summary-card .summary-total span:last-child {
  color: var(--checkout-red);
  font-size: 28px;
}

.checkout-legacy-title {
  display: none !important;
}

.checkout-panel-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 430px;
  padding: 0;
}

.checkout-login-required {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 34px 62px 28px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.checkout-login-plain {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.checkout-login-heading h2 {
  margin: 0;
  color: var(--checkout-ink);
  font-size: 31px;
  line-height: 1.06;
  font-weight: 950;
}

.checkout-login-heading p {
  margin: 4px 0 24px;
  color: var(--checkout-ink);
  font-size: 15px;
  font-weight: 700;
}

.checkout-login-benefits {
  display: grid;
  gap: 13px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.checkout-login-benefits li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  color: #172238;
  font-size: 14px;
  font-weight: 800;
}

.checkout-login-benefits li span {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #2776dc;
  background: #eef6ff;
}

.checkout-login-benefits .ui-icon {
  width: 15px;
  height: 15px;
}

.login-required-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 18px;
  color: #66748c;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.03em;
}

.login-required-kicker::before,
.login-required-kicker::after {
  content: "";
  height: 1px;
  flex: 1;
  background: #e6ebf3;
}

.social-login-btn,
.email-login-btn {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  gap: 12px;
  background: var(--checkout-red);
  color: #fff;
  box-shadow: 0 12px 22px rgba(229, 9, 20, 0.18);
  font-size: 14px;
  font-weight: 950;
  text-decoration: none;
}

.email-login-btn {
  margin-top: 10px;
}

.social-login-btn b,
.email-login-btn b {
  display: inline-flex;
  min-width: 18px;
  justify-content: center;
  color: inherit;
  font-size: 17px;
}

.email-login-btn .ui-icon {
  width: 18px;
  height: 18px;
}

.google-login-btn.social-login-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  border: 1px solid #dfe6f1;
  background: #fff;
  color: #182033;
  box-shadow: 0 12px 26px rgba(22, 32, 51, 0.08);
}

.google-login-btn.social-login-btn:hover {
  border-color: #cbd6e6;
  background: #f9fbff;
  filter: none;
}

.google-login-btn.social-login-btn:disabled {
  opacity: 0.72;
}

.google-login-mark {
  display: inline-flex;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e3e9f2;
  border-radius: 50%;
  background: #fff;
  color: #4285f4;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.auth-social-actions {
  display: grid;
  gap: 10px;
  margin: 4px 0 14px;
}

.auth-card .google-login-btn {
  width: 100%;
  border-radius: 12px;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--border);
}

@media (max-width: 640px) {
  .google-login-btn.social-login-btn {
    min-height: 42px;
    gap: 9px;
    font-size: 12px;
  }

  .google-login-mark {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
    font-size: 15px;
  }

  .auth-card .google-login-btn {
    border-radius: 10px;
  }
}

.checkout-terms {
  margin: 18px 0 0;
  color: #8792a6;
  font-size: 11px;
  line-height: 1.6;
}

.checkout-terms a {
  color: var(--checkout-red);
  font-weight: 900;
  text-decoration: none;
}

.checkout-account-controls {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.checkout-panel-card .app-input,
.checkout-panel-card .switch-row,
.checkout-panel-card .payment-sheet,
.checkout-panel-card .stripe-payment-box {
  border-radius: 14px;
}

.checkout-panel-card .checkout-pay {
  width: calc(100% - 48px);
  min-height: 52px;
  margin: 0 24px;
  border-radius: 12px;
  background: #06090f;
  color: #fff;
  font-size: 16px;
  font-weight: 950;
}

.checkout-panel-card .secure-note {
  margin: 0 24px 22px;
  text-align: center;
}

.checkout-fast-trust,
.checkout-safety-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 22px;
  border: 1px solid rgba(224, 232, 242, 0.88);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 45px rgba(20, 34, 56, 0.06);
}

.checkout-fast-trust span,
.checkout-safety-strip span {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 78px;
  padding: 16px 20px;
  color: var(--checkout-ink);
  border-left: 1px solid #edf2f8;
}

.checkout-fast-trust span:first-child,
.checkout-safety-strip span:first-child {
  border-left: 0;
}

.checkout-fast-trust .ui-icon,
.checkout-safety-strip .ui-icon {
  width: 27px;
  height: 27px;
  color: #31425d;
}

.checkout-fast-trust span:nth-child(1) .ui-icon { color: #2563eb; }
.checkout-fast-trust span:nth-child(2) .ui-icon { color: #284c84; }
.checkout-fast-trust span:nth-child(3) .ui-icon { color: #334155; }
.checkout-fast-trust span:nth-child(4) .ui-icon,
.checkout-safety-strip span:nth-child(1) .ui-icon { color: #16a34a; }
.checkout-safety-strip span:nth-child(3) .ui-icon { color: #f5b400; }
.checkout-safety-strip span:nth-child(4) .ui-icon { color: #2563eb; }

.checkout-fast-trust b,
.checkout-safety-strip b {
  display: block;
  min-width: 0;
  color: var(--checkout-ink);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 950;
}

.checkout-fast-trust small {
  display: block;
  color: var(--checkout-muted);
  font-size: 12px;
  font-weight: 750;
}

.checkout-safety-strip {
  margin-top: 26px;
}

.checkout-footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-top: 24px;
  padding: 0 28px;
  color: #77849a;
}

.checkout-footer strong {
  display: block;
  margin-bottom: 7px;
  color: #68768e;
  font-size: 15px;
}

.checkout-footer span {
  display: block;
  font-size: 12px;
  font-weight: 700;
}

.checkout-payment-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 16px;
  align-items: center;
  color: #12203a;
  font-size: 16px;
  font-weight: 950;
}

.checkout-payment-logos .visa {
  color: #174ea6;
  font-style: italic;
}

.checkout-payment-logos .paypal {
  color: #1768b5;
}

.checkout-payment-logos .g-pay {
  color: #344054;
}

.checkout-payment-logos .mastercard {
  position: relative;
  width: 44px;
  height: 24px;
}

.checkout-payment-logos .mastercard i {
  position: absolute;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #eb001b;
}

.checkout-payment-logos .mastercard i + i {
  left: 15px;
  background: #f79e1b;
  mix-blend-mode: multiply;
}

@media (max-width: 920px) {
  .checkout-page-v113 {
    width: min(620px, calc(100vw - 28px));
  }

  .checkout-stage-grid {
    grid-template-columns: 1fr;
  }

  .checkout-hero::after {
    right: 0;
  }
}

@media (max-width: 640px) {
  body:has(.checkout-page-v113) .site-header {
    min-height: 56px;
    padding: 10px 16px 6px !important;
    background: #fff;
    box-shadow: none;
  }

  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup {
    min-width: 108px;
  }

  body:has(.checkout-page-v113) .brand-image-lockup .brand-logo-image {
    width: 112px;
    max-height: 44px;
  }

  main.app:has(.checkout-page-v113) {
    min-height: calc(100dvh - 56px);
    padding: 0;
    background:
      radial-gradient(circle at 78% 9%, rgba(229, 9, 20, 0.10), transparent 25%),
      linear-gradient(180deg, #f6f9fe 0%, #eff5fc 100%);
  }

  .checkout-page-v113 {
    width: 100%;
    max-width: 430px;
    min-height: auto;
    padding: 0 10px 76px;
  }

  .checkout-hero {
    min-height: 108px;
    align-items: flex-start;
    padding-top: 16px;
  }

  .checkout-hero::before {
    right: -26px;
    bottom: 4px;
    width: 210px;
    height: 78px;
  }

  .checkout-hero::after {
    right: -15px;
    top: 6px;
    bottom: auto;
    width: 168px;
    height: 108px;
    opacity: 0.92;
  }

  .checkout-hero h1 {
    font-size: 34px;
    line-height: 0.98;
  }

  .checkout-title-rule {
    width: 32px;
    height: 2px;
    margin: 8px 0 6px;
  }

  .checkout-secure-kicker {
    max-width: 245px;
    gap: 5px;
    font-size: 10px;
  }

  .checkout-secure-kicker .ui-icon {
    width: 13px;
    height: 13px;
  }

  .checkout-stage-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
  }

  .checkout-layout.app-checkout .checkout-summary-card,
  .checkout-panel-card {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 18px 36px rgba(20, 34, 56, 0.08);
  }

  .checkout-layout.app-checkout .checkout-summary-card {
    padding: 10px;
  }

  .checkout-summary-card h2 {
    gap: 8px;
    margin-bottom: 8px;
    font-size: 16px;
  }

  .checkout-summary-card h2 > span {
    width: 28px;
    height: 28px;
    border-radius: 10px;
  }

  .checkout-plan-tile {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    gap: 9px;
    min-height: 74px;
    padding: 9px;
    border-radius: 11px;
  }

  .checkout-plan-thumb {
    width: 60px;
    height: 60px;
    border-radius: 9px;
  }

  .checkout-plan-flag {
    left: 6px;
    bottom: 6px;
    width: 24px;
    height: 24px;
  }

  .checkout-plan-copy h3 {
    margin-bottom: 3px;
    font-size: 13px;
    line-height: 1.12;
  }

  .checkout-plan-copy h3 em {
    display: inline-flex;
    max-width: 100%;
    margin: 0 0 0 4px;
    padding: 2px 5px;
    font-size: 8px;
    white-space: normal;
  }

  .checkout-plan-meta {
    gap: 5px;
    margin-bottom: 3px;
    font-size: 11px;
  }

  .checkout-plan-copy small {
    gap: 4px;
    font-size: 10px;
  }

  .checkout-plan-tile > strong {
    grid-column: auto;
    justify-self: end;
    align-self: start;
    padding-top: 0;
    font-size: 13px;
  }

  .checkout-summary-card .summary-line {
    margin-top: 9px;
    font-size: 12px;
  }

  .checkout-summary-card .summary-total {
    min-height: 48px;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 11px;
    font-size: 17px;
  }

  .checkout-summary-card .summary-total span:last-child {
    font-size: 22px;
  }

  .checkout-login-required {
    padding: 14px 16px 12px;
  }

  .checkout-login-heading h2 {
    font-size: 18px;
  }

  .checkout-login-heading p {
    margin: 1px 0 10px;
    font-size: 11px;
  }

  .checkout-login-benefits {
    gap: 6px;
    margin-bottom: 10px;
  }

  .checkout-login-benefits li {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 7px;
    font-size: 10.5px;
    line-height: 1.2;
  }

  .checkout-login-benefits li span {
    width: 16px;
    height: 16px;
  }

  .checkout-login-benefits .ui-icon {
    width: 10px;
    height: 10px;
  }

  .login-required-kicker {
    gap: 8px;
    margin: 8px 0 10px;
    font-size: 8.5px;
  }

  .social-login-btn,
  .email-login-btn {
    width: calc(100% - 24px);
    margin-left: auto;
    margin-right: auto;
    min-height: 36px;
    font-size: 11.5px;
    box-shadow: 0 8px 16px rgba(229, 9, 20, 0.16);
  }

  .email-login-btn {
    margin-top: 8px;
  }

  .checkout-terms {
    width: calc(100% - 24px);
    margin-left: auto;
    margin-right: auto;
    margin-top: 9px;
    font-size: 8.5px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .checkout-account-controls {
    padding: 16px;
  }

  .checkout-panel-card .checkout-pay {
    width: calc(100% - 32px);
    margin: 0 16px;
  }

  .checkout-fast-trust,
  .checkout-safety-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8px;
    border-radius: 12px;
  }

  .checkout-fast-trust span,
  .checkout-safety-strip span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-height: 46px;
    padding: 6px 3px;
    text-align: center;
    border-left: 1px solid #edf2f8;
  }

  .checkout-fast-trust span:first-child,
  .checkout-safety-strip span:first-child {
    border-left: 0;
  }

  .checkout-fast-trust .ui-icon,
  .checkout-safety-strip .ui-icon {
    width: 17px;
    height: 17px;
  }

  .checkout-fast-trust b,
  .checkout-safety-strip b {
    font-size: 8px;
    line-height: 1.08;
  }

  .checkout-fast-trust small {
    font-size: 7.5px;
    line-height: 1.05;
  }

  .checkout-safety-strip {
    margin-top: 7px;
  }

  .checkout-footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    margin-top: 8px;
    padding: 0 2px;
  }

  .checkout-footer strong {
    margin-bottom: 2px;
    font-size: 11px;
  }

  .checkout-footer span {
    font-size: 8.5px;
    line-height: 1.2;
  }

  .checkout-payment-logos {
    justify-content: flex-end;
    gap: 7px;
    font-size: 11px;
  }

  .checkout-payment-logos .mastercard {
    width: 28px;
    height: 18px;
  }

  .checkout-payment-logos .mastercard i {
    width: 15px;
    height: 15px;
  }

  .checkout-payment-logos .mastercard i + i {
    left: 10px;
  }
}

@media (max-width: 640px) and (max-height: 850px) {
  .checkout-safety-strip {
    display: none;
  }

  .checkout-footer {
    margin-top: 6px;
  }
}

/* Checkout v115 density pass: keep the phone flow premium without forcing long first-scroll. */
@media (min-width: 861px) {
  .checkout-hero {
    min-height: 132px;
  }

  .checkout-hero::before {
    right: 112px;
    width: 390px;
    height: 112px;
  }

  .checkout-hero::after {
    right: 226px;
    bottom: -2px;
    width: 258px;
    height: 132px;
    opacity: 0.90;
  }
}

/* Checkout v116 trust strips: icon set, placement and spacing matched to the checkout references. */
@media (min-width: 861px) {
  .checkout-stage-grid {
    grid-template-areas:
      "summary login"
      "fast login";
    grid-template-rows: auto auto;
    align-items: stretch;
    row-gap: 16px;
  }

  .checkout-layout.app-checkout .checkout-summary-card {
    grid-area: summary;
  }

  .checkout-panel-card {
    grid-area: login;
    height: 100%;
  }

  .checkout-fast-trust {
    grid-area: fast;
  }
}

.checkout-fast-trust {
  gap: 0;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.checkout-fast-trust span {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  min-height: 58px;
  padding: 0 18px;
  border-left: 1px solid rgba(203, 213, 225, 0.78);
}

.checkout-fast-trust span:first-child {
  border-left: 0;
}

.checkout-fast-trust .ui-icon {
  width: 25px;
  height: 25px;
}

.checkout-fast-trust span:nth-child(1) .ui-icon { color: #2563eb; }
.checkout-fast-trust span:nth-child(2) .ui-icon { color: #284c84; }
.checkout-fast-trust span:nth-child(3) .ui-icon { color: #334155; }
.checkout-fast-trust span:nth-child(4) .ui-icon { color: #334155; }

.checkout-fast-trust b {
  font-size: 13px;
  line-height: 1.15;
}

.checkout-fast-trust small {
  font-size: 12px;
  line-height: 1.15;
}

.checkout-safety-strip {
  margin-top: 24px;
  border: 1px solid rgba(224, 232, 242, 0.9);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 45px rgba(20, 34, 56, 0.06);
}

.checkout-safety-strip span {
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 84px;
  padding: 17px 30px;
  border-left: 1px solid #edf2f8;
}

.checkout-safety-strip span:first-child {
  border-left: 0;
}

.checkout-safety-strip .ui-icon {
  width: 24px;
  height: 24px;
  padding: 8px;
  border-radius: 50%;
  box-sizing: content-box;
}

.checkout-safety-strip span:nth-child(1) .ui-icon {
  color: #16a34a;
  background: #eafbf1;
}

.checkout-safety-strip span:nth-child(2) .ui-icon {
  color: #334155;
  background: #f4f7fb;
}

.checkout-safety-strip span:nth-child(3) .ui-icon {
  color: #f5b400;
  background: #fff8db;
}

.checkout-safety-strip span:nth-child(4) .ui-icon {
  color: #2563eb;
  background: #eef6ff;
}

.checkout-safety-strip b {
  font-size: 13px;
  line-height: 1.25;
}

@media (max-width: 640px) {
  .checkout-layout.app-checkout .checkout-summary-card {
    order: 1;
  }

  .checkout-panel-card {
    order: 2;
  }

  .checkout-fast-trust {
    order: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 0;
    border: 1px solid rgba(224, 232, 242, 0.92);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 30px rgba(20, 34, 56, 0.06);
  }

  .checkout-fast-trust span {
    display: flex;
    min-height: 43px;
    padding: 5px 2px;
    align-items: center;
    justify-content: center;
    gap: 2px;
    text-align: center;
    border-left: 1px solid #edf2f8;
  }

  .checkout-fast-trust span:first-child {
    border-left: 0;
  }

  .checkout-fast-trust .ui-icon {
    width: 16px;
    height: 16px;
  }

  .checkout-fast-trust b {
    font-size: 7.5px;
    line-height: 1.05;
  }

  .checkout-fast-trust small {
    font-size: 7px;
    line-height: 1.05;
  }

  .checkout-safety-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 6px;
    border-radius: 11px;
    box-shadow: 0 14px 30px rgba(20, 34, 56, 0.06);
  }

  .checkout-safety-strip span {
    display: flex;
    min-height: 48px;
    padding: 5px 2px;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-align: center;
    border-left: 1px solid #edf2f8;
  }

  .checkout-safety-strip span:first-child {
    border-left: 0;
  }

  .checkout-safety-strip .ui-icon {
    width: 15px;
    height: 15px;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
  }

  .checkout-safety-strip b {
    font-size: 6.9px;
    line-height: 1.08;
  }
}

@media (max-width: 640px) {
  body:has(.checkout-page-v113) .site-header {
    min-height: 48px;
    padding: 6px 12px 4px !important;
    border-bottom: 1px solid rgba(226, 232, 242, 0.75);
  }

  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup {
    min-width: 96px;
  }

  body:has(.checkout-page-v113) .brand-image-lockup .brand-logo-image {
    width: 98px;
    max-height: 38px;
  }

  main.app:has(.checkout-page-v113) {
    width: 100%;
    max-width: 100%;
    min-height: calc(100dvh - 48px);
    overflow-x: hidden;
  }

  .checkout-page-v113 {
    width: min(100%, calc(100vw - 16px));
    max-width: 390px;
    margin-inline: auto;
    padding: 0 0 64px;
    overflow-x: hidden;
  }

  .checkout-hero {
    min-height: 68px;
    padding-top: 7px;
  }

  .checkout-hero::before {
    right: -24px;
    bottom: 0;
    width: 140px;
    height: 50px;
  }

  .checkout-hero::after {
    right: -14px;
    top: 0;
    width: 114px;
    height: 72px;
    opacity: 0.84;
  }

  .checkout-hero h1 {
    font-size: 27px;
    line-height: 0.96;
  }

  .checkout-title-rule {
    width: 28px;
    margin: 5px 0;
  }

  .checkout-secure-kicker {
    max-width: 218px;
    font-size: 9px;
    line-height: 1.25;
  }

  .checkout-stage-grid {
    gap: 7px;
  }

  .checkout-layout.app-checkout .checkout-summary-card,
  .checkout-panel-card {
    border-radius: 14px;
  }

  .checkout-layout.app-checkout .checkout-summary-card {
    padding: 8px;
  }

  .checkout-summary-card h2 {
    margin-bottom: 5px;
    font-size: 14px;
  }

  .checkout-summary-card h2 > span {
    width: 24px;
    height: 24px;
    border-radius: 9px;
  }

  .checkout-summary-card h2 .ui-icon {
    width: 14px;
    height: 14px;
  }

  .checkout-plan-tile {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 6px;
    min-height: 54px;
    padding: 6px;
    border-radius: 10px;
  }

  .checkout-plan-thumb {
    width: 44px;
    height: 44px;
    border-radius: 8px;
  }

  .checkout-plan-flag {
    left: 5px;
    bottom: 5px;
    width: 20px;
    height: 20px;
  }

  .checkout-plan-copy h3 {
    margin-bottom: 2px;
    font-size: 11.5px;
    line-height: 1.08;
  }

  .checkout-plan-copy h3 em {
    margin-left: 3px;
    padding: 1px 4px;
    font-size: 6.8px;
  }

  .checkout-plan-meta {
    gap: 4px;
    margin-bottom: 2px;
    font-size: 9.5px;
  }

  .checkout-plan-copy small {
    gap: 3px;
    font-size: 9px;
  }

  .checkout-plan-copy small .ui-icon {
    width: 10px;
    height: 10px;
  }

  .checkout-plan-tile > strong {
    font-size: 12.5px;
  }

  .checkout-summary-card .summary-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    padding: 0;
    font-size: 10.5px;
    line-height: 1.2;
  }

  .checkout-summary-card .summary-line.muted {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .checkout-summary-card .summary-line.muted span:last-child {
    font-size: 10px;
  }

  .checkout-summary-card .summary-total {
    min-height: 36px;
    margin-top: 6px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 14px;
  }

  .checkout-summary-card .summary-total span:last-child {
    font-size: 18px;
  }

  .checkout-panel-card {
    min-height: auto;
  }

  .checkout-login-required {
    padding: 8px 12px 9px;
  }

  .checkout-login-heading h2 {
    font-size: 16px;
  }

  .checkout-login-heading p {
    margin: 0 0 7px;
    font-size: 10px;
  }

  .checkout-login-benefits {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-bottom: 8px;
  }

  .checkout-login-benefits li {
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 4px;
    align-items: center;
    font-size: 9.4px;
    line-height: 1.12;
  }

  .checkout-login-benefits li span {
    width: 13px;
    height: 13px;
  }

  .checkout-login-benefits .ui-icon {
    width: 8px;
    height: 8px;
  }

  .login-required-kicker {
    gap: 7px;
    margin: 6px 0 8px;
    font-size: 7.5px;
  }

  .social-login-btn,
  .email-login-btn {
    width: 100%;
    min-height: 30px;
    font-size: 10.5px;
    box-shadow: 0 7px 14px rgba(229, 9, 20, 0.16);
  }

  .email-login-btn {
    margin-top: 7px;
  }

  .social-login-btn b,
  .email-login-btn b {
    min-width: 14px;
    font-size: 13px;
  }

  .email-login-btn .ui-icon {
    width: 14px;
    height: 14px;
  }

  .checkout-terms {
    width: 100%;
    margin-top: 6px;
    font-size: 7.5px;
    line-height: 1.3;
  }

  .checkout-fast-trust {
    margin-top: 6px;
    border-radius: 11px;
  }

  .checkout-fast-trust span,
  .checkout-safety-strip span {
    min-height: 40px;
    padding: 4px 2px;
    gap: 2px;
  }

  .checkout-fast-trust .ui-icon,
  .checkout-safety-strip .ui-icon {
    width: 15px;
    height: 15px;
  }

  .checkout-fast-trust b,
  .checkout-safety-strip b {
    font-size: 7.5px;
    line-height: 1.05;
  }

  .checkout-fast-trust small {
    font-size: 7px;
    line-height: 1;
  }

  .checkout-safety-strip {
    display: none;
  }

  .checkout-footer {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-top: 6px;
    padding: 0 2px;
    text-align: center;
  }

  .checkout-footer strong {
    font-size: 10px;
  }

  .checkout-footer span {
    font-size: 7.5px;
  }

  .checkout-payment-logos {
    justify-content: center;
    gap: 6px;
    font-size: 10px;
  }

  .checkout-payment-logos .mastercard {
    width: 24px;
    height: 15px;
  }

  .checkout-payment-logos .mastercard i {
    width: 12px;
    height: 12px;
  }

  .checkout-payment-logos .mastercard i + i {
    left: 8px;
  }
}

/* Checkout v116 final mobile override: the reference includes both icon strips. */
@media (max-width: 640px) {
  .checkout-safety-strip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 6px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 30px rgba(20, 34, 56, 0.06);
  }

  .checkout-safety-strip span {
    display: flex;
    min-height: 46px;
    padding: 5px 2px;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-align: center;
    border-left: 1px solid #edf2f8;
  }

  .checkout-safety-strip span:first-child {
    border-left: 0;
  }

  .checkout-safety-strip .ui-icon {
    width: 15px;
    height: 15px;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
  }

  .checkout-safety-strip b {
    font-size: 6.8px;
    line-height: 1.08;
  }
}

/* Checkout v117: keep payment brands on the right, matching the mobile reference. */
@media (max-width: 640px) {
  .checkout-footer {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: end;
    text-align: left;
  }

  .checkout-payment-logos {
    justify-content: flex-end;
    text-align: right;
  }
}

/* Checkout v121: use a transparent phone + lock cutout beside the checkout title. */
.checkout-hero::after {
  z-index: 0;
  width: 330px;
  height: 150px;
  background-image: url("/assets/images/checkout/checkout-security-hero-cutout.png");
  background-size: 520px auto;
  background-position: 63% 50%;
  background-repeat: no-repeat;
  opacity: 1;
  mix-blend-mode: normal;
  -webkit-mask-image: none;
  mask-image: none;
}

@media (min-width: 861px) {
  .checkout-hero::after {
    right: 210px;
    bottom: -4px;
    width: 360px;
    height: 154px;
    background-size: 560px auto;
    background-position: 63% 50%;
  }
}

@media (max-width: 640px) {
  .checkout-hero::after {
    right: -32px;
    top: 0;
    bottom: auto;
    width: 178px;
    height: 82px;
    background-size: 285px auto;
    background-position: 63% 50%;
    opacity: 0.98;
  }
}

/* Checkout v124: logged-in checkout uses the same stage, swapping login for payment. */
.checkout-payment-required {
  display: grid;
  gap: 10px;
  padding: 24px 54px 22px;
}

.checkout-payment-heading {
  text-align: center;
}

.checkout-payment-heading h2 {
  margin: 0;
  color: var(--checkout-ink);
  font-size: 28px;
  line-height: 1.06;
  font-weight: 950;
}

.checkout-payment-heading p {
  margin: 4px 0 7px;
  color: var(--checkout-ink);
  font-size: 14px;
  font-weight: 700;
}

.checkout-payment-methods {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.checkout-payment-methods legend {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0 0 2px;
  color: #66748c;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.03em;
}

.checkout-payment-methods legend::before,
.checkout-payment-methods legend::after {
  content: "";
  height: 1px;
  flex: 1;
  background: #e6ebf3;
}

.checkout-payment-choice,
.checkout-wallet-toggle,
.checkout-coupon-field {
  display: grid !important;
  flex-direction: initial !important;
  align-items: center;
  min-width: 0;
  border: 1px solid #e2eaf4;
  border-radius: 14px;
  background: #fff;
}

.checkout-payment-choice,
.checkout-wallet-toggle {
  grid-template-columns: 26px 38px minmax(0, 1fr) auto;
  gap: 11px;
  min-height: 52px;
  padding: 8px 12px;
}

.checkout-payment-choice input,
.checkout-wallet-toggle input {
  accent-color: var(--checkout-red);
}

.checkout-payment-choice:has(input:checked) {
  border-color: #ffc7cf;
  background: #fff6f7;
  box-shadow: 0 10px 22px rgba(229, 9, 20, 0.08);
}

.checkout-payment-choice-icon {
  display: inline-flex;
  width: 34px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #2776dc;
  background: #eef6ff;
  font-size: 10px;
  font-weight: 950;
}

.checkout-payment-choice-icon .ui-icon {
  width: 18px;
  height: 18px;
}

.checkout-payment-choice-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.checkout-payment-choice-copy b {
  color: var(--checkout-ink);
  font-size: 14px;
  font-weight: 950;
}

.checkout-payment-choice-copy small {
  color: #66748c;
  font-size: 11px;
  font-weight: 700;
}

.checkout-payment-choice i {
  color: var(--checkout-red);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}

.checkout-coupon-field {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.82fr);
  gap: 12px;
  min-height: 50px;
  padding: 8px 12px;
}

.checkout-coupon-field > span {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 0 8px;
  align-items: center;
}

.checkout-coupon-field .ui-icon {
  grid-row: span 2;
  width: 18px;
  height: 18px;
  color: var(--checkout-red);
}

.checkout-coupon-field b {
  color: var(--checkout-ink);
  font-size: 13px;
  font-weight: 950;
}

.checkout-coupon-field small {
  color: #66748c;
  font-size: 10.5px;
  font-weight: 700;
}

.checkout-coupon-field input {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid #e2eaf4;
  border-radius: 999px;
  padding: 0 12px;
  color: var(--checkout-ink);
  font-weight: 800;
}

.checkout-stripe-card {
  margin: 0;
  box-shadow: none;
}

.checkout-payment-required .checkout-pay {
  width: 100%;
  min-height: 48px;
  margin: 2px 0 0;
  border-radius: 999px;
  background: var(--checkout-red);
  box-shadow: 0 12px 22px rgba(229, 9, 20, 0.18);
}

.checkout-payment-required .secure-note {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #66748c;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.checkout-payment-required .secure-note .ui-icon {
  width: 14px;
  height: 14px;
}

@media (max-width: 860px) {
  .checkout-payment-required {
    padding: 14px 16px 12px;
  }

  .checkout-payment-heading h2 {
    font-size: 18px;
  }

  .checkout-payment-heading p {
    margin: 1px 0 8px;
    font-size: 11px;
  }

  .checkout-payment-choice,
  .checkout-wallet-toggle {
    grid-template-columns: 20px 30px minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 48px;
    padding: 8px 10px;
  }

  .checkout-payment-choice-icon {
    width: 28px;
    height: 28px;
    font-size: 8px;
  }

  .checkout-payment-choice-copy b {
    font-size: 12px;
  }

  .checkout-payment-choice-copy small,
  .checkout-payment-choice i {
    font-size: 9px;
  }

  .checkout-coupon-field {
    min-height: 50px;
    padding: 8px 10px;
  }

  .checkout-payment-required .checkout-pay {
    min-height: 38px;
    font-size: 12px;
  }
}

@media (max-width: 430px) {
  .checkout-payment-required {
    gap: 8px;
    padding: 8px 12px 9px;
  }

  .checkout-payment-heading h2 {
    font-size: 16px;
  }

  .checkout-payment-methods {
    gap: 7px;
  }

  .checkout-payment-methods legend {
    gap: 7px;
    font-size: 7.5px;
  }

  .checkout-payment-choice,
  .checkout-wallet-toggle {
    grid-template-columns: 16px 24px minmax(0, 1fr) auto;
    gap: 6px;
    min-height: 39px;
    padding: 6px 8px;
  }

  .checkout-payment-choice-icon {
    width: 22px;
    height: 22px;
  }

  .checkout-payment-choice-icon .ui-icon {
    width: 13px;
    height: 13px;
  }

  .checkout-payment-choice-copy b {
    font-size: 10.5px;
  }

  .checkout-payment-choice-copy small,
  .checkout-payment-choice i {
    font-size: 8px;
  }

  .checkout-coupon-field {
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: 0;
    padding: 7px 8px;
  }

  .checkout-coupon-field input {
    height: 30px;
    font-size: 10px;
  }

.checkout-payment-required .secure-note {
    font-size: 8.5px;
  }
}

/* AleoFly v252: Stripe wallets are dynamic, card fields stay in our checkout UI. */
.checkout-card-choice {
  grid-template-columns: 26px 38px minmax(0, 1fr) auto;
}

.checkout-wallet-express[hidden],
.checkout-card-fields[hidden] {
  display: none !important;
}

.checkout-wallet-express {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce8f6;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.checkout-wallet-express-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.checkout-wallet-express-head > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #eef6ff;
  color: #2776dc;
}

.checkout-wallet-express-head .ui-icon {
  width: 18px;
  height: 18px;
}

.checkout-wallet-express-head b,
.checkout-card-panel-toggle b {
  display: block;
  color: var(--checkout-ink);
  font-size: 14px;
  line-height: 1.15;
  font-weight: 950;
}

.checkout-wallet-express-head small,
.checkout-card-panel-toggle small {
  display: block;
  margin-top: 2px;
  color: #66748c;
  font-size: 11px;
  line-height: 1.28;
  font-weight: 750;
}

.stripe-express-checkout-element {
  min-height: 48px;
}

.checkout-card-panel {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #ffe0e5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(229, 9, 20, 0.07);
}

.checkout-card-panel-toggle {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 58px;
  border: 0;
  background: #fff6f7;
  padding: 12px 14px;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.checkout-card-panel-toggle > span:first-child {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--checkout-red);
  box-shadow: inset 0 0 0 1px #ffd5dc;
}

.checkout-card-panel-toggle .ui-icon {
  width: 18px;
  height: 18px;
}

.checkout-card-panel-toggle i {
  display: grid;
  place-items: center;
  color: var(--checkout-red);
  transition: transform 0.18s ease;
}

.checkout-card-panel-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.checkout-card-fields {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.stripe-payment-element {
  min-width: 0;
}

.checkout-wallet-switch {
  position: relative;
  grid-template-columns: 38px minmax(0, 1fr) 50px !important;
  gap: 11px;
  min-height: 58px;
}

.checkout-wallet-switch .checkout-switch-input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}

.checkout-switch-ui {
  display: inline-flex;
  width: 48px;
  height: 28px;
  align-items: center;
  padding: 3px;
  border-radius: 999px;
  border: 1px solid #d8e1ec;
  background: #e9eef5;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.checkout-switch-ui span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
  transition: transform 0.18s ease;
}

.checkout-switch-input:checked + .checkout-switch-ui {
  border-color: #ffbac4;
  background: var(--checkout-red);
  box-shadow: 0 8px 18px rgba(229, 9, 20, 0.18);
}

.checkout-switch-input:checked + .checkout-switch-ui span {
  transform: translateX(20px);
}

.checkout-coupon-field input {
  text-align: left;
  font-size: 13px;
  font-weight: 800;
}

.checkout-coupon-field input::placeholder {
  color: #98a2b3;
  font-size: 12.5px;
  font-weight: 750;
}

.checkout-payment-required .checkout-pay {
  position: static !important;
  bottom: auto !important;
}

@media (max-width: 860px) {
  .checkout-wallet-express,
  .checkout-card-panel {
    border-radius: 14px;
  }

  .checkout-wallet-express {
    padding: 10px;
  }

  .checkout-wallet-express-head {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
  }

  .checkout-wallet-express-head > span,
  .checkout-card-panel-toggle > span:first-child {
    width: 28px;
    height: 28px;
  }

  .checkout-wallet-express-head b,
  .checkout-card-panel-toggle b {
    font-size: 12px;
  }

  .checkout-wallet-express-head small,
  .checkout-card-panel-toggle small {
    font-size: 9.5px;
  }

  .checkout-card-panel-toggle {
    grid-template-columns: 30px minmax(0, 1fr) 20px;
    min-height: 50px;
    gap: 8px;
    padding: 10px;
  }

  .checkout-card-fields {
    padding: 10px;
  }

  .checkout-wallet-switch {
    grid-template-columns: 28px minmax(0, 1fr) 44px !important;
    min-height: 50px;
  }

  .checkout-switch-ui {
    width: 42px;
    height: 24px;
    padding: 3px;
  }

  .checkout-switch-ui span {
    width: 16px;
    height: 16px;
  }

  .checkout-switch-input:checked + .checkout-switch-ui span {
    transform: translateX(18px);
  }
}

@media (max-width: 430px) {
  .checkout-card-choice {
    grid-template-columns: 16px 24px minmax(0, 1fr) auto;
  }

  .checkout-wallet-switch {
    grid-template-columns: 24px minmax(0, 1fr) 40px !important;
    gap: 7px;
  }

  .checkout-switch-ui {
    width: 38px;
    height: 22px;
  }

  .checkout-switch-ui span {
    width: 14px;
    height: 14px;
  }

  .checkout-switch-input:checked + .checkout-switch-ui span {
    transform: translateX(16px);
  }

  .checkout-coupon-field input {
    font-size: 11px;
  }
}

/* AleoFly v193 fixed-header lock: keep the extracted scroll state visible in this SPA. */
body {
  padding-top: 172px !important;
}

body .site-header,
body:has(.aleo-home-v59) .site-header,
body:has(.checkout-page-v113) .site-header,
body:has(.one-country-page) .site-header,
body:has(.one-country-category-page) .site-header,
body:has(.account-dashboard-v174) .site-header,
body:has(.account-data-shell-v175) .site-header,
body:has(.auth-page) .site-header,
body:has(.login-card) .site-header {
  position: fixed !important;
  right: auto !important;
  left: 50% !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
}

body.aleo-header-scrolled .site-header,
body.aleo-header-scrolled:has(.aleo-home-v59) .site-header,
body.aleo-header-scrolled:has(.checkout-page-v113) .site-header,
body.aleo-header-scrolled:has(.one-country-page) .site-header,
body.aleo-header-scrolled:has(.one-country-category-page) .site-header,
body.aleo-header-scrolled:has(.account-dashboard-v174) .site-header,
body.aleo-header-scrolled:has(.account-data-shell-v175) .site-header,
body.aleo-header-scrolled:has(.auth-page) .site-header,
body.aleo-header-scrolled:has(.login-card) .site-header {
  margin: 0 !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 980px) {
  body {
    padding-top: 108px !important;
  }

  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    left: 50% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
}

/* AleoFly v225: public coverage directory page. */
.coverage-page-v225 {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto 54px;
  color: #0b1220;
}

.coverage-hero-v225 {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.8fr);
  gap: 22px;
  align-items: stretch;
  padding: 28px;
  border: 1px solid rgba(229, 9, 20, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(112deg, rgba(255, 241, 244, 0.95) 0%, rgba(255, 255, 255, 0.98) 52%, rgba(240, 248, 255, 0.95) 100%);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

.coverage-hero-copy-v225 {
  display: grid;
  align-content: center;
  gap: 14px;
}

.coverage-hero-copy-v225 .eyebrow,
.coverage-directory-head-v225 .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #e50914;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.coverage-hero-copy-v225 .eyebrow .ui-icon {
  width: 18px;
  height: 18px;
}

.coverage-hero-copy-v225 h1 {
  max-width: 760px;
  margin: 0;
  color: #070d1c;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 0.98;
  letter-spacing: 0;
}

.coverage-hero-copy-v225 p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: #647084;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.55;
}

.coverage-hero-actions-v225 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.coverage-hero-actions-v225 .btn,
.coverage-hero-actions-v225 .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 950;
}

.coverage-hero-panel-v225 {
  display: grid;
  gap: 16px;
  align-content: center;
  min-height: 320px;
  padding: 20px;
  border: 1px solid #e8edf5;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.coverage-flag-cloud-v225 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.coverage-hero-flag {
  width: 100%;
  aspect-ratio: 1.45;
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.coverage-hero-stats-v225 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.coverage-hero-stats-v225 span,
.coverage-assurance-v225 span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #edf1f6;
  border-radius: 8px;
  background: #fff;
}

.coverage-hero-stats-v225 b {
  color: #e50914;
  font-size: 26px;
  line-height: 1;
}

.coverage-hero-stats-v225 small,
.coverage-assurance-v225 small {
  color: #667085;
  font-size: 12px;
  font-weight: 850;
}

.coverage-assurance-v225 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.coverage-assurance-v225 span {
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  min-height: 86px;
}

.coverage-assurance-v225 .ui-icon {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  padding: 10px;
  border-radius: 50%;
  background: #fff0f3;
  color: #e50914;
}

.coverage-assurance-v225 strong {
  font-size: 14px;
}

.coverage-region-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.coverage-region-strip a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 54px;
  padding: 0 14px;
  border: 1px solid #e8edf5;
  border-radius: 8px;
  background: #fff;
  color: #263449;
  font-weight: 950;
  text-decoration: none;
}

.coverage-region-strip b {
  display: inline-grid;
  min-width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: #fff0f3;
  color: #e50914;
}

.coverage-directory-v225 {
  overflow: hidden;
  border: 1px solid #e8edf5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(15, 23, 42, 0.06);
}

.coverage-directory-head-v225 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: 16px;
  align-items: center;
  padding: 22px;
  border-bottom: 1px solid #edf1f6;
}

.coverage-directory-head-v225 h2 {
  margin: 4px 0 0;
  color: #0b1220;
  font-size: 28px;
  line-height: 1.1;
}

.coverage-search-v225 {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #dfe6f0;
  border-radius: 999px;
  background: #fbfcff;
  color: #98a2b3;
}

.coverage-search-v225 .ui-icon {
  width: 18px;
  height: 18px;
}

.coverage-search-v225 input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0b1220;
  font: inherit;
  font-weight: 850;
}

.coverage-group-list-v225 {
  display: grid;
  gap: 0;
}

.coverage-group-v225 {
  padding: 22px;
  border-bottom: 1px solid #edf1f6;
  scroll-margin-top: 132px;
}

.coverage-group-v225:last-child {
  border-bottom: 0;
}

.coverage-group-v225[hidden] {
  display: none !important;
}

.coverage-group-v225 header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
}

.coverage-group-v225 h3 {
  margin: 0;
  color: #0b1220;
  font-size: 22px;
}

.coverage-group-v225 header span {
  color: #667085;
  font-size: 13px;
  font-weight: 900;
}

.coverage-country-grid-v225 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.coverage-country-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 26px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 72px;
  padding: 10px;
  border: 1px solid #e8edf5;
  border-radius: 8px;
  background: #fff;
  color: #253047;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.coverage-country-card:hover,
.coverage-country-card:focus-visible {
  border-color: rgba(229, 9, 20, 0.28);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
  outline: 0;
}

.coverage-country-flag {
  width: 42px;
  height: 42px;
}

.coverage-country-card span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.coverage-country-card strong,
.coverage-country-card small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coverage-country-card strong {
  color: #182238;
  font-size: 14px;
}

.coverage-country-card small {
  color: #667085;
  font-size: 11px;
  font-weight: 850;
}

.coverage-country-card b {
  display: inline-grid;
  place-items: center;
  color: #e50914;
}

.coverage-country-card b .ui-icon {
  width: 18px;
  height: 18px;
}

.coverage-note-v225 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding: 16px 18px;
  border: 1px solid #e8edf5;
  border-radius: 8px;
  background: #fbfcff;
  color: #667085;
  font-weight: 850;
}

.coverage-note-v225 strong {
  color: #0b1220;
}

@media (max-width: 1180px) {
  .coverage-hero-v225 {
    grid-template-columns: 1fr;
  }

  .coverage-region-strip,
  .coverage-country-grid-v225 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .coverage-page-v225 {
    width: 100%;
    margin: -20px 0 30px;
    padding: 0 14px;
  }

  .coverage-hero-v225 {
    padding: 20px;
    border-radius: 8px;
  }

  .coverage-hero-copy-v225 h1 {
    font-size: 38px;
    line-height: 1.02;
  }

  .coverage-hero-copy-v225 p:not(.eyebrow) {
    font-size: 14px;
  }

  .coverage-hero-actions-v225 .btn,
  .coverage-hero-actions-v225 .btn-ghost {
    width: 100%;
  }

  .coverage-hero-panel-v225 {
    min-height: auto;
    padding: 14px;
  }

  .coverage-flag-cloud-v225 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .coverage-hero-stats-v225,
  .coverage-assurance-v225,
  .coverage-region-strip,
  .coverage-country-grid-v225 {
    grid-template-columns: 1fr;
  }

  .coverage-assurance-v225 {
    gap: 8px;
  }

  .coverage-assurance-v225 span {
    min-height: 72px;
  }

  .coverage-region-strip {
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, 1fr);
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .coverage-directory-head-v225 {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .coverage-group-v225 {
    padding: 18px;
    scroll-margin-top: 24px;
  }

  .coverage-group-v225 header {
    align-items: flex-start;
  }

  .coverage-group-v225 h3 {
    font-size: 20px;
  }

  .coverage-country-card {
    min-height: 68px;
  }

  .coverage-note-v225 {
    display: grid;
    align-items: start;
  }
}

/* v205 final footer legal overrides */
.site-footer .footer-links {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1120px) {
  .site-footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .site-footer .footer-links {
    grid-template-columns: 1fr !important;
  }
}

/* v212 absolute-final: supported-networks modal must fit every viewport. */
.network-icons-modal {
  place-items: center !important;
  padding: 16px !important;
  overflow: hidden !important;
}

.network-icons-modal-dialog {
  width: min(100% - 32px, 440px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px !important;
  border-radius: 18px !important;
}

.network-icons-modal-dialog header {
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

.network-icons-modal-grid {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 4px 4px 0 !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.network-icons-modal-grid .network-icon.network-logo-img {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: none !important;
}

@media (max-width: 680px) {
  .network-icons-modal {
    align-items: end !important;
    place-items: end center !important;
    padding: 12px !important;
  }

  .network-icons-modal-dialog {
    width: 100% !important;
    max-height: min(82dvh, 680px) !important;
    padding: 14px !important;
    border-radius: 18px 18px 14px 14px !important;
  }

  .network-icons-modal-dialog strong {
    font-size: 15px !important;
  }

  .network-icons-modal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-right: 2px !important;
  }

  .network-icons-modal-grid .network-icon.network-logo-img {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 6px 7px !important;
    border-radius: 9px !important;
  }
}

/* v213 true-final: keep the multi-country destination list in-flow above actions and filters. */
body main.app {
  transition: opacity 220ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.is-route-loading main.app {
  opacity: 0.92;
  transform: translateY(3px);
}

body main.app.premium-route-enter > * {
  animation: aleoV213PageEnter 320ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body main.app .multi-country-page .multi-trip-panel {
  position: relative !important;
  z-index: 7 !important;
  overflow: visible !important;
}

body main.app .multi-country-page .multi-destination-picker {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  isolation: isolate !important;
}

body main.app .multi-country-page .multi-destination-picker.is-open {
  z-index: 9 !important;
}

body main.app .multi-country-page .multi-destination-picker .flow-country-popover:not([hidden]) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  max-height: min(46vh, 430px) !important;
  margin: 10px 0 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  border-color: rgba(229, 9, 20, 0.16) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 251, 0.98)) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10), 0 0 0 1px rgba(255, 255, 255, 0.78) inset !important;
}

body main.app .multi-country-page .multi-trip-actions,
body main.app .multi-country-page .multi-filter-bar,
body main.app .multi-country-page .multi-result-summary,
body main.app .multi-country-page .multi-results-shell {
  position: relative !important;
  z-index: 1 !important;
}

/* v214 EOF: top-picks page premium responsive redesign. */
body main.app:has(.top-picks-page-v214) {
  width: 100% !important;
  max-width: none !important;
  padding: 0 0 96px !important;
  overflow-x: clip !important;
  background: linear-gradient(180deg, #fff 0%, #fbfcff 42%, #fff 100%) !important;
}

body main.app .top-picks-page-v214 {
  width: min(1180px, calc(100vw - 32px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 18px !important;
  color: #081126 !important;
}

body main.app .top-picks-page-v214,
body main.app .top-picks-page-v214 * {
  box-sizing: border-box !important;
  letter-spacing: 0 !important;
}

body main.app .top-picks-hero-v214 {
  position: relative !important;
  min-height: 380px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr) !important;
  gap: 28px !important;
  align-items: center !important;
  overflow: hidden !important;
  padding: 38px 42px !important;
  border: 1px solid rgba(229, 9, 20, 0.16) !important;
  border-radius: 8px !important;
  background:
    radial-gradient(circle at 76% 24%, rgba(229, 9, 20, 0.15), transparent 34%),
    linear-gradient(105deg, rgba(255, 240, 243, 0.98) 0%, #fff 48%, rgba(255, 224, 231, 0.92) 100%) !important;
  box-shadow: 0 24px 62px rgba(15, 23, 42, 0.075), 0 0 44px rgba(229, 9, 20, 0.055) !important;
  isolation: isolate !important;
}

body main.app .top-picks-hero-v214::before {
  content: "" !important;
  position: absolute !important;
  inset: -18% -10% auto 42% !important;
  height: 64% !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.90), transparent 60%),
    linear-gradient(120deg, transparent, rgba(229, 9, 20, 0.11), transparent) !important;
  transform: rotate(-8deg) !important;
  animation: aleoAuroraDrift 18s ease-in-out infinite alternate !important;
  z-index: 0 !important;
}

body main.app .top-picks-hero-v214::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(229, 9, 20, 0.78), transparent) !important;
  background-size: 220% 100% !important;
  animation: aleoHeaderLine 5.8s linear infinite !important;
  z-index: 3 !important;
}

body main.app .top-picks-hero-copy-v214 {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 14px !important;
}

body main.app .top-picks-breadcrumb-v214 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #6b7486 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body main.app .top-picks-breadcrumb-v214 a {
  color: #6b7486 !important;
  text-decoration: none !important;
}

body main.app .top-picks-breadcrumb-v214 strong,
body main.app .top-picks-page-v214 .eyebrow {
  color: #e50914 !important;
}

body main.app .top-picks-hero-copy-v214 h1 {
  max-width: 740px !important;
  margin: 0 !important;
  color: #081126 !important;
  font-size: clamp(44px, 5.4vw, 76px) !important;
  line-height: 0.95 !important;
  font-weight: 950 !important;
}

body main.app .top-picks-hero-copy-v214 > p:not(.eyebrow) {
  max-width: 650px !important;
  margin: 0 !important;
  color: #657086 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
}

body main.app .top-picks-stats-v214,
body main.app .top-picks-actions-v214,
body main.app .top-picks-type-grid-v214,
body main.app .top-picks-assurance-v214 {
  display: grid !important;
  gap: 12px !important;
}

body main.app .top-picks-stats-v214 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 700px !important;
}

body main.app .top-picks-stats-v214 span,
body main.app .top-picks-assurance-v214 span {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-areas: "icon value" "icon label" !important;
  gap: 1px 9px !important;
  align-items: center !important;
  padding: 12px !important;
  border: 1px solid rgba(229, 9, 20, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.80) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045) !important;
  backdrop-filter: blur(14px) !important;
}

body main.app .top-picks-stats-v214 .ui-icon,
body main.app .top-picks-assurance-v214 .ui-icon {
  grid-area: icon !important;
  width: 22px !important;
  height: 22px !important;
  color: #e50914 !important;
}

body main.app .top-picks-stats-v214 b,
body main.app .top-picks-assurance-v214 b {
  grid-area: value !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #081126 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body main.app .top-picks-stats-v214 small,
body main.app .top-picks-assurance-v214 small {
  grid-area: label !important;
  color: #6b7486 !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

body main.app .top-picks-actions-v214 {
  grid-template-columns: auto auto !important;
  justify-content: start !important;
}

body main.app .top-picks-actions-v214 a {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(229, 9, 20, 0.20) !important;
  border-radius: 8px !important;
  color: #e50914 !important;
  background: #fff !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

body main.app .top-picks-actions-v214 a:first-child {
  color: #fff !important;
  background: #e50914 !important;
  box-shadow: 0 16px 34px rgba(229, 9, 20, 0.22) !important;
}

body main.app .top-picks-hero-visual-v214 {
  position: relative !important;
  z-index: 2 !important;
  min-height: 292px !important;
  align-self: stretch !important;
  display: grid !important;
  place-items: center !important;
}

body main.app .top-picks-hero-visual-v214 img {
  width: min(540px, 112%) !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 24px 40px rgba(229, 9, 20, 0.16)) !important;
  animation: aleoV213HeroFloat 8.8s ease-in-out infinite !important;
}

body main.app .top-picks-live-pill-v214 {
  position: absolute !important;
  right: 8px !important;
  bottom: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(229, 9, 20, 0.14) !important;
  border-radius: 8px !important;
  color: #081126 !important;
  background: rgba(255, 255, 255, 0.88) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.10) !important;
  backdrop-filter: blur(14px) !important;
}

body main.app .top-picks-live-pill-v214 .ui-icon {
  color: #16a34a !important;
}

body main.app .top-picks-type-grid-v214,
body main.app .top-picks-assurance-v214 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body main.app .top-picks-type-card-v214 {
  position: relative !important;
  min-height: 150px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "icon title arrow" "icon text arrow" !important;
  gap: 7px 14px !important;
  align-items: center !important;
  padding: 22px !important;
  border: 1px solid #e3e8f0 !important;
  border-radius: 8px !important;
  color: #081126 !important;
  text-decoration: none !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.055) !important;
  overflow: hidden !important;
}

body main.app .top-picks-type-card-v214.one {
  background: linear-gradient(135deg, #fff1f3, #fff) !important;
}

body main.app .top-picks-type-card-v214.multi {
  background: linear-gradient(135deg, #eef5ff, #fff) !important;
}

body main.app .top-picks-type-card-v214.global {
  background: linear-gradient(135deg, #effcf5, #fff) !important;
}

body main.app .top-picks-type-card-v214 > span {
  grid-area: icon !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 8px !important;
  color: #e50914 !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
}

body main.app .top-picks-type-card-v214 > span .ui-icon {
  width: 28px !important;
  height: 28px !important;
}

body main.app .top-picks-type-card-v214 strong {
  grid-area: title !important;
  min-width: 0 !important;
  color: #081126 !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

body main.app .top-picks-type-card-v214 small {
  grid-area: text !important;
  color: #657086 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

body main.app .top-picks-type-card-v214 b {
  grid-area: arrow !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  color: #e50914 !important;
  background: #fff !important;
}

body main.app .top-picks-plans-v214 {
  scroll-margin-top: 150px !important;
}

body main.app .top-picks-page-v214 .aleo-plan-showcase {
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid #e6ebf3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.052) !important;
}

body main.app .top-picks-page-v214 .row-head {
  margin-bottom: 14px !important;
}

body main.app .top-picks-page-v214 .row-head h2 {
  margin: 0 !important;
  color: #081126 !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

body main.app .top-picks-page-v214 .aleo-plan-showcase .grid.aleo-plan-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body main.app .top-picks-page-v214 .plan-card,
body main.app .top-picks-page-v214 .plan-finder-card {
  min-height: 214px !important;
  border-radius: 8px !important;
}

body main.app .top-picks-page-v214 .plan-card {
  border-color: #e5eaf2 !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035) !important;
}

@media (hover: hover) and (pointer: fine) {
  body main.app .top-picks-actions-v214 a,
  body main.app .top-picks-type-card-v214,
  body main.app .top-picks-assurance-v214 span,
  body main.app .top-picks-page-v214 .plan-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
  }

  body main.app .top-picks-actions-v214 a:hover,
  body main.app .top-picks-type-card-v214:hover,
  body main.app .top-picks-assurance-v214 span:hover,
  body main.app .top-picks-page-v214 .plan-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(229, 9, 20, 0.24) !important;
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.12), 0 0 28px rgba(229, 9, 20, 0.10) !important;
  }
}

@media (max-width: 980px) {
  body main.app:has(.top-picks-page-v214) {
    padding-bottom: 84px !important;
  }

  body main.app .top-picks-page-v214 {
    width: 100% !important;
    padding: 0 12px !important;
    gap: 14px !important;
  }

  body main.app .top-picks-hero-v214 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 22px 16px 18px !important;
    gap: 12px !important;
  }

  body main.app .top-picks-breadcrumb-v214 {
    display: none !important;
  }

  body main.app .top-picks-hero-copy-v214 h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1 !important;
  }

  body main.app .top-picks-hero-copy-v214 > p:not(.eyebrow) {
    font-size: 14px !important;
  }

  body main.app .top-picks-stats-v214,
  body main.app .top-picks-type-grid-v214,
  body main.app .top-picks-assurance-v214 {
    grid-template-columns: 1fr !important;
  }

  body main.app .top-picks-actions-v214 {
    grid-template-columns: 1fr !important;
  }

  body main.app .top-picks-hero-visual-v214 {
    min-height: 166px !important;
    overflow: hidden !important;
  }

  body main.app .top-picks-hero-visual-v214 img {
    width: min(370px, 108%) !important;
  }

  body main.app .top-picks-live-pill-v214 {
    right: 8px !important;
    bottom: 2px !important;
    min-height: 36px !important;
    font-size: 11px !important;
  }

  body main.app .top-picks-type-card-v214 {
    min-height: 118px !important;
    padding: 16px !important;
  }

  body main.app .top-picks-page-v214 .aleo-plan-showcase {
    padding: 14px !important;
  }

  body main.app .top-picks-page-v214 .aleo-plan-showcase .grid.aleo-plan-grid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: 1fr !important;
    grid-auto-columns: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    gap: 12px !important;
    scroll-snap-type: none !important;
  }

  body main.app .top-picks-page-v214 .row-head {
    align-items: center !important;
    gap: 10px !important;
  }

  body main.app .top-picks-page-v214 .row-head h2 {
    font-size: 21px !important;
  }
}

@media (max-width: 430px) {
  body main.app .top-picks-page-v214 {
    padding: 0 10px !important;
  }

  body main.app .top-picks-stats-v214 span,
  body main.app .top-picks-assurance-v214 span {
    padding: 10px !important;
  }

  body main.app .top-picks-type-card-v214 {
    grid-template-columns: auto minmax(0, 1fr) 32px !important;
    gap: 6px 11px !important;
  }

  body main.app .top-picks-type-card-v214 > span {
    width: 48px !important;
    height: 48px !important;
  }

  body main.app .top-picks-type-card-v214 strong {
    font-size: 18px !important;
  }

  body main.app .top-picks-type-card-v214 small {
    font-size: 12px !important;
  }
}

/* v214 true-final: premium responsive top-picks category page. */
main.app:has(.top-picks-page-v214) {
  max-width: none !important;
  width: 100% !important;
  padding: 0 0 96px !important;
  background:
    linear-gradient(180deg, #fff 0%, #fbfcff 44%, #fff 100%) !important;
}

.top-picks-page-v214,
.top-picks-page-v214 * {
  letter-spacing: 0 !important;
}

.top-picks-page-v214 {
  width: min(1120px, calc(100vw - 32px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 18px !important;
  color: #081126 !important;
}

.top-picks-hero-v214 {
  position: relative !important;
  min-height: 350px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr) !important;
  gap: 24px !important;
  align-items: center !important;
  overflow: hidden !important;
  padding: 34px 40px !important;
  border: 1px solid rgba(229, 9, 20, 0.16) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(105deg, rgba(255, 240, 243, 0.98) 0%, #fff 48%, rgba(255, 224, 231, 0.90) 100%) !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.075), 0 0 42px rgba(229, 9, 20, 0.055) !important;
}

.top-picks-hero-v214::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(229, 9, 20, 0.72), transparent) !important;
  background-size: 220% 100% !important;
  animation: aleoHeaderLine 5.8s linear infinite !important;
}

.top-picks-hero-copy-v214 {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 14px !important;
}

.top-picks-breadcrumb-v214 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #6b7486 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.top-picks-breadcrumb-v214 a {
  color: #6b7486 !important;
  text-decoration: none !important;
}

.top-picks-breadcrumb-v214 strong,
.top-picks-page-v214 .eyebrow {
  color: #e50914 !important;
}

.top-picks-hero-copy-v214 h1 {
  max-width: 720px !important;
  margin: 0 !important;
  color: #081126 !important;
  font-size: clamp(42px, 5.2vw, 76px) !important;
  line-height: 0.95 !important;
  font-weight: 950 !important;
}

.top-picks-hero-copy-v214 > p:not(.eyebrow) {
  max-width: 640px !important;
  margin: 0 !important;
  color: #657086 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
}

.top-picks-stats-v214,
.top-picks-actions-v214,
.top-picks-type-grid-v214,
.top-picks-assurance-v214 {
  display: grid !important;
  gap: 12px !important;
}

.top-picks-stats-v214 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 680px !important;
}

.top-picks-stats-v214 span,
.top-picks-assurance-v214 span {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-areas: "icon value" "icon label" !important;
  gap: 1px 9px !important;
  align-items: center !important;
  padding: 12px !important;
  border: 1px solid rgba(229, 9, 20, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045) !important;
}

.top-picks-stats-v214 .ui-icon,
.top-picks-assurance-v214 .ui-icon {
  grid-area: icon !important;
  width: 22px !important;
  height: 22px !important;
  color: #e50914 !important;
}

.top-picks-stats-v214 b,
.top-picks-assurance-v214 b {
  grid-area: value !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #081126 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.top-picks-stats-v214 small,
.top-picks-assurance-v214 small {
  grid-area: label !important;
  color: #6b7486 !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

.top-picks-actions-v214 {
  grid-template-columns: auto auto !important;
  justify-content: start !important;
}

.top-picks-actions-v214 a {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(229, 9, 20, 0.20) !important;
  border-radius: 8px !important;
  color: #e50914 !important;
  background: #fff !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.top-picks-actions-v214 a:first-child {
  color: #fff !important;
  background: #e50914 !important;
  box-shadow: 0 16px 34px rgba(229, 9, 20, 0.22) !important;
}

.top-picks-hero-visual-v214 {
  position: relative !important;
  z-index: 1 !important;
  min-height: 280px !important;
  align-self: stretch !important;
  display: grid !important;
  place-items: center !important;
}

.top-picks-hero-visual-v214 img {
  width: min(500px, 110%) !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 24px 40px rgba(229, 9, 20, 0.16)) !important;
  animation: aleoV213HeroFloat 8.8s ease-in-out infinite !important;
}

.top-picks-live-pill-v214 {
  position: absolute !important;
  right: 8px !important;
  bottom: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(229, 9, 20, 0.14) !important;
  border-radius: 8px !important;
  color: #081126 !important;
  background: rgba(255, 255, 255, 0.86) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.10) !important;
}

.top-picks-live-pill-v214 .ui-icon {
  color: #16a34a !important;
}

.top-picks-type-grid-v214 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.top-picks-type-card-v214 {
  position: relative !important;
  min-height: 148px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "icon title arrow" "icon text arrow" !important;
  gap: 7px 14px !important;
  align-items: center !important;
  padding: 22px !important;
  border: 1px solid #e3e8f0 !important;
  border-radius: 8px !important;
  color: #081126 !important;
  text-decoration: none !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.055) !important;
  overflow: hidden !important;
}

.top-picks-type-card-v214.one {
  background: linear-gradient(135deg, #fff1f3, #fff) !important;
}

.top-picks-type-card-v214.multi {
  background: linear-gradient(135deg, #eef5ff, #fff) !important;
}

.top-picks-type-card-v214.global {
  background: linear-gradient(135deg, #effcf5, #fff) !important;
}

.top-picks-type-card-v214 > span {
  grid-area: icon !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 8px !important;
  color: #e50914 !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
}

.top-picks-type-card-v214 > span .ui-icon {
  width: 28px !important;
  height: 28px !important;
}

.top-picks-type-card-v214 strong {
  grid-area: title !important;
  min-width: 0 !important;
  color: #081126 !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

.top-picks-type-card-v214 small {
  grid-area: text !important;
  color: #657086 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

.top-picks-type-card-v214 b {
  grid-area: arrow !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  color: #e50914 !important;
  background: #fff !important;
}

.top-picks-assurance-v214 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.top-picks-plans-v214 {
  scroll-margin-top: 150px !important;
}

.top-picks-page-v214 .aleo-plan-showcase {
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid #e6ebf3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.052) !important;
}

.top-picks-page-v214 .row-head {
  margin-bottom: 14px !important;
}

.top-picks-page-v214 .row-head h2 {
  margin: 0 !important;
  color: #081126 !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

.top-picks-page-v214 .aleo-plan-showcase .grid.aleo-plan-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.top-picks-page-v214 .plan-card {
  min-height: 214px !important;
  border-radius: 8px !important;
  border-color: #e5eaf2 !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035) !important;
}

.top-picks-page-v214 .plan-finder-card {
  min-height: 214px !important;
  border-radius: 8px !important;
}

@media (hover: hover) and (pointer: fine) {
  .top-picks-actions-v214 a,
  .top-picks-type-card-v214,
  .top-picks-assurance-v214 span,
  .top-picks-page-v214 .plan-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
  }

  .top-picks-actions-v214 a:hover,
  .top-picks-type-card-v214:hover,
  .top-picks-assurance-v214 span:hover,
  .top-picks-page-v214 .plan-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(229, 9, 20, 0.24) !important;
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.12), 0 0 28px rgba(229, 9, 20, 0.10) !important;
  }
}

@media (max-width: 980px) {
  main.app:has(.top-picks-page-v214) {
    padding-bottom: 84px !important;
  }

  .top-picks-page-v214 {
    width: 100% !important;
    padding: 0 12px !important;
    gap: 14px !important;
  }

  .top-picks-hero-v214 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 22px 16px 18px !important;
    gap: 12px !important;
  }

  .top-picks-breadcrumb-v214 {
    display: none !important;
  }

  .top-picks-hero-copy-v214 h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1 !important;
  }

  .top-picks-hero-copy-v214 > p:not(.eyebrow) {
    font-size: 14px !important;
  }

  .top-picks-stats-v214,
  .top-picks-type-grid-v214,
  .top-picks-assurance-v214 {
    grid-template-columns: 1fr !important;
  }

  .top-picks-stats-v214 {
    max-width: none !important;
  }

  .top-picks-actions-v214 {
    grid-template-columns: 1fr !important;
  }

  .top-picks-hero-visual-v214 {
    min-height: 164px !important;
    overflow: hidden !important;
  }

  .top-picks-hero-visual-v214 img {
    width: min(360px, 108%) !important;
  }

  .top-picks-live-pill-v214 {
    right: 8px !important;
    bottom: 2px !important;
    min-height: 36px !important;
    font-size: 11px !important;
  }

  .top-picks-type-card-v214 {
    min-height: 118px !important;
    padding: 16px !important;
  }

  .top-picks-page-v214 .aleo-plan-showcase {
    padding: 14px !important;
  }

  .top-picks-page-v214 .aleo-plan-showcase .grid.aleo-plan-grid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: 1fr !important;
    grid-auto-columns: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    gap: 12px !important;
    scroll-snap-type: none !important;
  }

  .top-picks-page-v214 .row-head {
    align-items: center !important;
    gap: 10px !important;
  }

  .top-picks-page-v214 .row-head h2 {
    font-size: 21px !important;
  }
}

@media (max-width: 430px) {
  .top-picks-page-v214 {
    padding: 0 10px !important;
  }

  .top-picks-stats-v214 span,
  .top-picks-assurance-v214 span {
    padding: 10px !important;
  }

  .top-picks-type-card-v214 {
    grid-template-columns: auto minmax(0, 1fr) 32px !important;
    gap: 6px 11px !important;
  }

  .top-picks-type-card-v214 > span {
    width: 48px !important;
    height: 48px !important;
  }
}

body main.app .multi-country-page .multi-destination-search:focus-within {
  border-color: rgba(229, 9, 20, 0.34) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08), 0 10px 26px rgba(15, 23, 42, 0.055) !important;
}

body main.app .multi-country-page .multi-hero {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 46px rgba(229, 9, 20, 0.08) !important;
}

body main.app .multi-country-page .multi-hero img {
  animation: aleoV213HeroFloat 8.8s ease-in-out infinite !important;
  will-change: transform !important;
}

@media (hover: hover) and (pointer: fine) {
  body main.app .multi-country-page .country-search-popover .country-result-row:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(229, 9, 20, 0.22) !important;
    background: #fffafa !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
  }

  body main.app .multi-country-page .multi-plan-card:hover,
  body main.app .one-country-category-card:hover,
  body main.app .region-country-card-v211:hover,
  body main.app .popular-country-card:hover,
  body main.app .home-trip-card:hover,
  body main.app .card.plan-card:hover,
  body main.app .home-plan-card:hover,
  body main.app .one-country-plan-card:hover {
    transform: translateY(-5px) scale(1.012) !important;
    border-color: rgba(229, 9, 20, 0.24) !important;
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.13), 0 0 28px rgba(229, 9, 20, 0.10) !important;
  }
}

@media (max-width: 760px) {
  body main.app .multi-country-page .multi-destination-picker .flow-country-popover:not([hidden]) {
    max-height: min(48dvh, 360px) !important;
    border-radius: 10px !important;
  }

  body main.app .multi-country-page .multi-destination-row,
  body main.app .multi-country-page .selected-destination-strip {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  body main.app .multi-country-page .selected-destination-chip,
  body main.app .multi-country-page .multi-add-destination {
    flex: 0 1 auto !important;
  }
}

/* v213 final: multi-country layout fix, skeleton loading, and premium polish. */
body main.app {
  transition: opacity 220ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.is-route-loading main.app {
  opacity: 0.92;
  transform: translateY(3px);
}

body main.app.premium-route-enter > * {
  animation: aleoV213PageEnter 320ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body .ui-icon {
  stroke-width: 2.18;
  vector-effect: non-scaling-stroke;
}

body main.app .multi-country-page .multi-trip-panel {
  position: relative !important;
  z-index: 5 !important;
  overflow: visible !important;
}

body main.app .multi-country-page .multi-destination-picker {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  isolation: isolate !important;
}

body main.app .multi-country-page .multi-destination-picker.is-open {
  z-index: 8 !important;
}

body main.app .multi-country-page .multi-destination-search {
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

body main.app .multi-country-page .multi-destination-search:focus-within {
  border-color: rgba(229, 9, 20, 0.34) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08), 0 10px 26px rgba(15, 23, 42, 0.055) !important;
}

body main.app .multi-country-page .multi-destination-picker .flow-country-popover:not([hidden]) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  z-index: 6 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  max-height: min(46vh, 430px) !important;
  margin: 10px 0 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  border-color: rgba(229, 9, 20, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 251, 0.98)),
    #fff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10), 0 0 0 1px rgba(255, 255, 255, 0.78) inset !important;
}

body main.app .multi-country-page .country-search-popover .country-result-list {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body main.app .multi-country-page .country-search-popover .country-result-row {
  border-radius: 8px !important;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease !important;
}

body main.app .multi-country-page .multi-trip-actions,
body main.app .multi-country-page .multi-filter-bar,
body main.app .multi-country-page .multi-result-summary,
body main.app .multi-country-page .multi-results-shell,
body main.app .multi-country-page .multi-featured-plans {
  position: relative !important;
  z-index: 1 !important;
}

body main.app .multi-country-page .flow-find-best {
  box-shadow: 0 12px 30px rgba(229, 9, 20, 0.16) !important;
}

body main.app .multi-country-page .multi-hero {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 46px rgba(229, 9, 20, 0.08) !important;
}

body main.app .multi-country-page .multi-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: -22% -16% !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 20% 38%, rgba(229, 9, 20, 0.16), transparent 28%),
    radial-gradient(circle at 76% 50%, rgba(255, 255, 255, 0.72), transparent 24%),
    linear-gradient(100deg, transparent, rgba(255, 210, 218, 0.20), transparent) !important;
  mix-blend-mode: screen !important;
  opacity: 0.76 !important;
  animation: aleoV213HeroAurora 13s ease-in-out infinite alternate !important;
}

body main.app .multi-country-page .multi-hero img {
  position: relative !important;
  z-index: 1 !important;
  transform-origin: 50% 50% !important;
  animation: aleoV213HeroFloat 8.8s ease-in-out infinite !important;
  will-change: transform !important;
}

.multi-country-loading {
  min-height: 70vh;
}

.multi-country-loading .multi-skeleton-breadcrumb {
  padding-top: 12px;
}

.multi-country-loading .multi-skeleton-hero {
  height: clamp(118px, 18vw, 190px);
}

.multi-skeleton-panel {
  gap: 14px !important;
}

.multi-skeleton-panel-head,
.multi-skeleton-chip-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.multi-skeleton-chip-row {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.multi-skeleton-line,
.multi-skeleton-pill,
.multi-skeleton-chip,
.multi-skeleton-search,
.multi-skeleton-button,
.multi-skeleton-icon,
.multi-skeleton-flags,
.multi-skeleton-price {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(229, 9, 20, 0.065), rgba(15, 23, 42, 0.08), rgba(229, 9, 20, 0.065));
  background-size: 220% 100%;
  animation: shimmer 1.25s ease-in-out infinite;
}

.multi-skeleton-line {
  width: min(280px, 72%);
  height: 15px;
}

.multi-skeleton-line.short {
  width: 180px;
}

.multi-skeleton-line.tiny {
  width: 92px;
}

.multi-skeleton-chip {
  width: 128px;
  height: 44px;
}

.multi-skeleton-chip.compact {
  width: 84px;
}

.multi-skeleton-search {
  width: 100%;
  height: 48px;
}

.multi-skeleton-button {
  width: 100%;
  height: 52px;
  background: linear-gradient(90deg, rgba(229, 9, 20, 0.18), rgba(229, 9, 20, 0.28), rgba(229, 9, 20, 0.18));
  background-size: 220% 100%;
}

.multi-skeleton-filters {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
}

.multi-skeleton-pill {
  height: 44px;
}

.multi-skeleton-summary {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
}

.multi-skeleton-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}

.multi-skeleton-card {
  cursor: default !important;
}

.multi-skeleton-flags {
  width: 118px;
  height: 28px;
}

.multi-skeleton-price {
  width: 112px;
  height: 30px;
}

@media (hover: hover) and (pointer: fine) {
  body main.app .multi-country-page .country-search-popover .country-result-row:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(229, 9, 20, 0.22) !important;
    background: #fffafa !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
  }

  body main.app .multi-country-page .multi-plan-card:hover,
  body main.app .one-country-category-card:hover,
  body main.app .region-country-card-v211:hover,
  body main.app .popular-country-card:hover,
  body main.app .home-trip-card:hover,
  body main.app .card.plan-card:hover,
  body main.app .home-plan-card:hover,
  body main.app .one-country-plan-card:hover {
    transform: translateY(-5px) scale(1.012) !important;
    border-color: rgba(229, 9, 20, 0.24) !important;
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.13), 0 0 28px rgba(229, 9, 20, 0.10) !important;
  }

  body main.app .multi-country-page .multi-card-details:hover,
  body main.app .multi-country-page .multi-area-open:hover,
  body main.app .multi-country-page .multi-filter-select:hover,
  body main.app .multi-country-page .multi-more-filters:hover {
    border-color: rgba(229, 9, 20, 0.22) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07) !important;
  }

  body main.app .multi-country-page .flow-find-best:hover,
  body main.app .btn:hover,
  body main.app .btn-buy:hover,
  body main.app [data-buy]:hover {
    box-shadow: 0 16px 38px rgba(229, 9, 20, 0.26), 0 0 24px rgba(229, 9, 20, 0.17) !important;
  }
}

@media (max-width: 760px) {
  body main.app .multi-country-page .multi-destination-picker .flow-country-popover:not([hidden]) {
    max-height: min(48dvh, 360px) !important;
    border-radius: 10px !important;
  }

  .multi-skeleton-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .multi-skeleton-summary {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .multi-skeleton-summary > strong {
    display: none;
  }

  .multi-country-loading .multi-skeleton-hero {
    height: 112px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body main.app,
  body main.app.premium-route-enter > *,
  body main.app .multi-country-page .multi-hero img,
  body main.app .multi-country-page .multi-hero::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

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

@keyframes aleoV213HeroFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1.005); }
  50% { transform: translate3d(0, -3px, 0) scale(1.012); }
}

@keyframes aleoV213HeroAurora {
  0% { transform: translate3d(-2%, 0, 0) scale(1); opacity: 0.56; }
  100% { transform: translate3d(2%, -1%, 0) scale(1.04); opacity: 0.82; }
}

/* v212 final: keep supported-networks modal fully visible on every viewport. */
.network-icons-modal {
  place-items: center !important;
  padding: 16px !important;
  overflow: hidden !important;
}

.network-icons-modal-dialog {
  width: min(100% - 32px, 440px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px !important;
  border-radius: 18px !important;
}

.network-icons-modal-dialog header {
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

.network-icons-modal-grid {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 4px 4px 0 !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.network-icons-modal-grid .network-icon.network-logo-img {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: none !important;
}

@media (max-width: 680px) {
  .network-icons-modal {
    align-items: end !important;
    place-items: end center !important;
    padding: 12px !important;
  }

  .network-icons-modal-dialog {
    width: 100% !important;
    max-height: min(82dvh, 680px) !important;
    padding: 14px !important;
    border-radius: 18px 18px 14px 14px !important;
  }

  .network-icons-modal-dialog strong {
    font-size: 15px !important;
  }

  .network-icons-modal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-right: 2px !important;
  }

  .network-icons-modal-grid .network-icon.network-logo-img {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 6px 7px !important;
    border-radius: 9px !important;
  }
}

/* v212: supported-networks modal must always fit inside the viewport. */
.network-icons-modal {
  place-items: center !important;
  padding: 16px !important;
  overflow: hidden !important;
}

.network-icons-modal-dialog {
  width: min(100% - 32px, 440px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px !important;
  border-radius: 18px !important;
}

.network-icons-modal-dialog header {
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

.network-icons-modal-grid {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 4px 4px 0 !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.network-icons-modal-grid .network-icon.network-logo-img {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: none !important;
}

@media (max-width: 680px) {
  .network-icons-modal {
    align-items: end !important;
    place-items: end center !important;
    padding: 12px !important;
  }

  .network-icons-modal-dialog {
    width: 100% !important;
    max-height: min(82dvh, 680px) !important;
    padding: 14px !important;
    border-radius: 18px 18px 14px 14px !important;
  }

  .network-icons-modal-dialog strong {
    font-size: 15px !important;
  }

  .network-icons-modal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-right: 2px !important;
  }

  .network-icons-modal-grid .network-icon.network-logo-img {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 6px 7px !important;
    border-radius: 9px !important;
  }
}

/* AleoFly v211: premium regional listing preview. */
.region-page-v211 {
  width: min(100%, 1550px);
  margin-inline: auto;
  padding-top: 34px;
  box-sizing: border-box;
  overflow-x: clip;
}

.region-page-v211 *,
.region-page-v211 *::before,
.region-page-v211 *::after {
  box-sizing: border-box;
}

.region-hero-v211 {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 390px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  align-items: stretch;
  gap: 28px;
  padding: 42px;
  border: 1px solid rgba(239, 0, 24, 0.18);
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.93) 44%, rgba(255,255,255,0.72) 100%),
    var(--region-image) center / cover no-repeat,
    #fff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.10);
}

.region-hero-v211::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #ef0018 20%, #ff4a5b 56%, transparent);
  box-shadow: 0 -8px 24px rgba(239, 0, 24, 0.28);
  pointer-events: none;
}

.region-hero-copy-v211 {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: start;
  max-width: 720px;
}

.region-back-v211 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  margin-bottom: 24px;
  padding: 0 12px;
  border: 1px solid rgba(239, 0, 24, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #0f172a;
  font-size: 12px;
  font-weight: 900;
}

.region-back-v211 .ui-icon {
  width: 14px;
  height: 14px;
  transform: rotate(180deg);
  color: #ef0018;
}

.region-hero-copy-v211 .eyebrow,
.region-section-head-v211 .eyebrow {
  margin: 0 0 8px;
  color: #ef0018;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.region-hero-copy-v211 h1 {
  max-width: 760px;
  margin: 0;
  color: #0b1220;
  font-size: clamp(52px, 6.2vw, 86px);
  line-height: 0.93;
  font-weight: 950;
  letter-spacing: 0;
}

.region-hero-copy-v211 > p:not(.eyebrow) {
  max-width: 620px;
  margin: 18px 0 0;
  color: #475467;
  font-size: 18px;
  line-height: 1.48;
  font-weight: 750;
}

.region-hero-stats-v211 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 650px);
  max-width: 100%;
  margin-top: 28px;
}

.region-hero-stats-v211 span {
  min-height: 76px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.region-hero-stats-v211 b {
  color: #0b1220;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 950;
}

.region-hero-stats-v211 small {
  color: #667085;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
}

.region-hero-actions-v211 {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.region-hero-actions-v211 a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  border-radius: 8px;
  background: #ef0018;
  color: #fff;
  font-weight: 950;
  box-shadow: 0 14px 32px rgba(239, 0, 24, 0.22);
}

.region-hero-actions-v211 a + a {
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: rgba(255, 255, 255, 0.88);
  color: #101828;
  box-shadow: none;
}

.region-hero-actions-v211 .ui-icon {
  width: 18px;
  height: 18px;
}

.region-hero-side-v211 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  align-content: end;
  min-height: 300px;
  overflow: hidden;
  border-radius: 8px;
  background: #111827;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
}

.region-hero-side-v211 img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.04);
}

.region-hero-side-v211::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 17, 38, 0.08), rgba(7, 17, 38, 0.72));
}

.region-hero-side-v211 > div {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  padding: 22px;
}

.region-hero-side-v211 strong {
  color: #fff;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 950;
}

.region-hero-flags-v211 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.region-hero-mini-flag,
.region-rail-flag,
.region-country-flag-v211 {
  border-radius: 50%;
}

.region-hero-mini-flag {
  width: 38px;
  height: 38px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

.region-switch-v211 {
  width: 100%;
  max-width: 100%;
  display: flex;
  gap: 10px;
  margin: 18px 0 0;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.region-switch-v211 a {
  flex: 1 0 180px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 14px;
  border-radius: 8px;
  color: #101828;
  font-size: 14px;
  font-weight: 950;
}

.region-switch-v211 a.active {
  background: #fff0f2;
  color: #ef0018;
}

.region-switch-v211 .ui-icon {
  width: 16px;
  height: 16px;
}

.region-flag-rail-v211 {
  width: 100%;
  max-width: 100%;
  display: flex;
  gap: 10px;
  margin-top: 16px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.region-flag-rail-v211 a {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 12px 5px 6px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: #fff;
  color: #101828;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
}

.region-rail-flag {
  width: 32px;
  height: 32px;
}

.region-country-directory-v211,
.region-plans-v211 {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 32px;
}

.region-section-head-v211 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.region-section-head-v211 h2 {
  margin: 0;
  color: #101828;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: 0;
}

.region-section-head-v211 > span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff0f2;
  color: #ef0018;
  font-size: 12px;
  font-weight: 950;
}

.region-country-grid-v211 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
  gap: 12px;
}

.region-country-card-v211 {
  min-height: 78px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.region-country-card-v211:hover {
  transform: translateY(-4px);
  border-color: rgba(239, 0, 24, 0.22);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.09);
}

.region-country-flag-v211 {
  width: 48px;
  height: 48px;
}

.region-country-copy-v211 {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.region-country-card-v211 strong,
.region-country-card-v211 small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.region-country-card-v211 strong {
  color: #101828;
  font-size: 14px;
  font-weight: 950;
}

.region-country-card-v211 small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.region-country-card-v211 b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff0f2;
  color: #ef0018;
}

.region-country-card-v211 b .ui-icon {
  width: 15px;
  height: 15px;
}

.region-plans-v211 .aleo-plan-showcase {
  margin-top: 0;
}

@media (max-width: 980px) {
  .region-hero-v211 {
    max-width: 100%;
    grid-template-columns: 1fr;
    padding: 30px;
  }

  .region-hero-side-v211 {
    min-height: 230px;
  }
}

@media (max-width: 720px) {
  .region-page-v211 {
    width: 100%;
    padding-top: 16px;
  }

  .region-hero-v211 {
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: 22px;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.94) 58%, rgba(255,255,255,0.80) 100%),
      var(--region-image) center / cover no-repeat,
      #fff;
  }

  .region-back-v211 {
    margin-bottom: 18px;
  }

  .region-hero-copy-v211 h1 {
    font-size: clamp(42px, 13vw, 58px);
    line-height: 0.95;
  }

  .region-hero-copy-v211 > p:not(.eyebrow) {
    font-size: 14px;
    line-height: 1.45;
  }

  .region-hero-stats-v211 {
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 20px;
  }

  .region-hero-stats-v211 span {
    min-height: 62px;
  }

  .region-hero-actions-v211 a {
    flex: 1 1 100%;
    justify-content: center;
  }

  .region-hero-side-v211 {
    min-height: 190px;
  }

  .region-switch-v211 {
    margin-left: -16px;
    margin-right: -16px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }

  .region-switch-v211 a {
    flex-basis: 150px;
  }

  .region-country-grid-v211 {
    grid-template-columns: 1fr;
  }

  .region-country-card-v211 {
    min-height: 70px;
    grid-template-columns: 42px minmax(0, 1fr) 28px;
    padding: 12px;
  }

  .region-country-flag-v211 {
    width: 42px;
    height: 42px;
  }
}

/* v208 local carrier partner logos: image assets only, no text/drawn fallback. */
.network-icon.network-logo-img {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 5px 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 58px !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
  overflow: hidden !important;
}

.network-icon.network-logo-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

.network-icon.network-logo-img i,
.network-icon.network-logo-img::before,
.network-icon.network-logo-img::after {
  display: none !important;
  content: none !important;
}

.network-icons-modal-grid .network-icon.network-logo-img {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  flex-basis: 88px !important;
  padding: 7px 10px !important;
}

@media (max-width: 760px) {
  .network-icon.network-logo-img {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    flex-basis: 46px !important;
    padding: 4px 5px !important;
    border-radius: 9px !important;
  }

  .one-country-popular .network-icon.network-logo-img {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    flex-basis: 42px !important;
  }

  .network-icons-modal-grid .network-icon.network-logo-img {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex-basis: 78px !important;
  }
}

/* v207 carrier partner logos: real logo images only, no text fallback. */
.network-icon-strip {
  align-items: center !important;
}

.network-icon.network-logo-img {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(208, 216, 228, 0.95) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
  color: transparent !important;
  overflow: hidden !important;
}

.network-icon.network-logo-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: saturate(1.08) contrast(1.04) !important;
}

.network-icon.network-logo-img i {
  display: none !important;
}

.network-icons-modal-grid .network-icon.network-logo-img {
  width: 74px !important;
  min-width: 74px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 7px 9px !important;
}

.network-icon-more {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 8px !important;
}

@media (max-width: 680px) {
  .network-icon.network-logo-img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
    padding: 5px 6px !important;
  }
}

/* Legal center v205 */
.footer-links {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.legal-page {
  width: min(1180px, calc(100vw - 40px));
  margin: 0 auto 72px;
}

.legal-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 12px;
  margin: 20px 0 24px;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(229, 9, 20, 0.16);
  border-radius: 8px;
  background:
    radial-gradient(circle at 12% 16%, rgba(229, 9, 20, 0.14), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(255, 255, 255, 0.95), transparent 30%),
    linear-gradient(120deg, #fff5f6, #ffffff 52%, #fff0f2);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
}

.legal-hero h1 {
  max-width: 840px;
  margin: 0;
  color: #081225;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 950;
}

.legal-hero p {
  max-width: 820px;
  margin: 0;
  color: #5d687a;
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 1.55;
  font-weight: 750;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.legal-meta span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(229, 9, 20, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  color: #334155;
  font-size: 12px;
  font-weight: 900;
}

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

.legal-index-card {
  min-height: 184px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #fff;
  color: #0b1220;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.legal-index-card:hover {
  transform: translateY(-4px);
  border-color: rgba(229, 9, 20, 0.26);
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.1), 0 0 24px rgba(229, 9, 20, 0.08);
}

.legal-index-card span {
  width: max-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff1f2;
  color: #e50914;
  font-size: 12px;
  font-weight: 950;
}

.legal-index-card h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.18;
  letter-spacing: 0;
}

.legal-index-card p {
  margin: 0;
  color: #647084;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 650;
}

.legal-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.legal-nav {
  position: sticky;
  top: 112px;
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.legal-nav strong {
  margin-bottom: 4px;
  color: #0b1220;
  font-size: 13px;
  font-weight: 950;
}

.legal-nav a {
  padding: 9px 10px;
  border-radius: 7px;
  color: #5c6678;
  font-size: 13px;
  font-weight: 850;
}

.legal-nav a.active,
.legal-nav a:hover {
  background: #fff1f2;
  color: #e50914;
}

.legal-document {
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.07);
}

.legal-document-alert {
  display: grid;
  gap: 5px;
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid rgba(229, 9, 20, 0.2);
  border-radius: 8px;
  background: #fff7f8;
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 750;
}

.legal-document-alert strong {
  color: #e50914;
}

.legal-policy-body {
  display: grid;
  gap: 22px;
}

.legal-section {
  display: grid;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eef2f7;
}

.legal-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.legal-section h2 {
  margin: 0;
  color: #0b1220;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 950;
}

.legal-section p,
.legal-section li {
  color: #465468;
  font-size: 15px;
  line-height: 1.68;
  font-weight: 650;
}

.legal-section p {
  margin: 0;
}

.legal-section ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
}

.legal-consent-row {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 2px 0 0;
  padding: 13px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #fbfcfe;
  color: #475467;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.legal-consent-row input {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  margin-top: 1px;
  accent-color: #e50914;
}

.legal-consent-row a,
.legal-modal-link {
  color: #e50914;
  font-weight: 950;
}

.legal-modal-link {
  width: max-content;
  min-height: auto;
  margin: -2px 0 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 12px;
}

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

.legal-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 18px;
}

.legal-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 10, 22, 0.64);
  backdrop-filter: blur(10px);
}

.legal-modal-dialog {
  position: relative;
  width: min(1020px, 100%);
  max-height: min(88vh, 860px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
}

.legal-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #e7ebf2;
  background: linear-gradient(120deg, #fff2f4, #fff, #fff6f7);
}

.legal-modal-header div {
  display: grid;
  gap: 3px;
}

.legal-modal-header span,
.legal-modal-header small {
  color: #667085;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.legal-modal-header strong {
  color: #0b1220;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: 0;
}

.legal-modal-header button {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #e4e9f2;
  border-radius: 999px;
  background: #fff;
  color: #0b1220;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.legal-modal-content {
  overflow: auto;
  padding: 16px;
  background: #f7f9fc;
}

.legal-modal-policy {
  margin-bottom: 10px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #fff;
}

.legal-modal-policy summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 15px 16px;
  cursor: pointer;
  color: #0b1220;
  font-weight: 950;
}

.legal-modal-policy summary small {
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff1f2;
  color: #e50914;
  font-size: 11px;
  font-weight: 950;
}

.legal-modal-summary {
  margin: -2px 16px 12px;
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
}

.legal-policy-body-compact {
  gap: 14px;
  padding: 0 16px 16px;
}

.legal-policy-body-compact .legal-section {
  gap: 7px;
  padding-bottom: 12px;
}

.legal-policy-body-compact .legal-section h2 {
  font-size: 16px;
}

.legal-policy-body-compact .legal-section p,
.legal-policy-body-compact .legal-section li {
  font-size: 12.5px;
  line-height: 1.55;
}

@media (max-width: 1120px) {
  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-layout {
    grid-template-columns: 1fr;
  }

  .legal-nav {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-nav strong {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .legal-page {
    width: min(100% - 24px, 520px);
    margin-bottom: 48px;
  }

  .legal-hero {
    padding: 22px 18px;
  }

  .legal-index-grid,
  .legal-nav {
    grid-template-columns: 1fr;
  }

  .legal-document {
    padding: 18px;
  }

  .legal-section h2 {
    font-size: 19px;
  }

  .legal-section p,
  .legal-section li {
    font-size: 14px;
  }

  .legal-modal {
    padding: 8px;
  }

  .legal-modal-dialog {
    max-height: 92vh;
  }

  .legal-modal-header {
    padding: 14px;
  }
}

/* AleoFly v194 FINAL: larger logo, desktop Home, short language, no mobile menu. */
body .site-header > .mobile-menu-trigger {
  display: none !important;
}

@media (min-width: 981px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    padding-left: 42px !important;
    gap: 18px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 352px !important;
    width: 352px !important;
    max-width: 352px !important;
    flex-basis: 352px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 340px !important;
    max-width: 340px !important;
    height: 112px !important;
    max-height: 112px !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav,
  body:has(.account-data-shell-v175) .site-header > .top-nav,
  body:has(.auth-page) .site-header > .top-nav,
  body:has(.login-card) .site-header > .top-nav {
    gap: clamp(18px, 1.65vw, 32px) !important;
  }

  body .site-header .header-lang-shell,
  body:has(.aleo-home-v59) .site-header .header-lang-shell,
  body:has(.checkout-page-v113) .site-header .header-lang-shell,
  body:has(.one-country-page) .site-header .header-lang-shell,
  body:has(.account-dashboard-v174) .site-header .header-lang-shell {
    width: 74px !important;
    min-width: 74px !important;
    flex-basis: 74px !important;
  }

  body .site-header .header-currency-shell {
    width: 88px !important;
    min-width: 88px !important;
    flex-basis: 88px !important;
  }

  body .site-header .header-select-shell::before {
    left: 18px !important;
    max-width: calc(100% - 39px) !important;
  }
}

body.aleo-header-scrolled .site-header > .brand.brand-image-lockup {
  min-width: 222px !important;
  width: 222px !important;
  max-width: 222px !important;
  flex-basis: 222px !important;
}

body.aleo-header-scrolled .site-header .brand-image-lockup .brand-logo-image {
  width: 214px !important;
  max-width: 214px !important;
  height: 72px !important;
  max-height: 72px !important;
}

@media (max-width: 980px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    grid-template-columns: minmax(156px, 1fr) auto !important;
    gap: 8px !important;
    padding-inline: 14px !important;
  }

  body .site-header > .mobile-menu-trigger {
    display: none !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    grid-column: 1 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: min(184px, 100%) !important;
    max-width: min(184px, 100%) !important;
    height: 60px !important;
    max-height: 60px !important;
    object-position: left center !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    grid-column: 2 !important;
    width: auto !important;
    gap: 6px !important;
  }

  body .site-header .account-header-action {
    display: none !important;
  }

  body .site-header .header-lang-shell {
    width: 50px !important;
    min-width: 50px !important;
    flex-basis: 50px !important;
  }

  body .site-header .header-currency-shell {
    width: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }
}

/* AleoFly v194 FINAL: larger logo, desktop Home, short language, no mobile menu. */
body .site-header > .mobile-menu-trigger {
  display: none !important;
}

@media (min-width: 981px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    padding-left: 42px !important;
    gap: 18px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 352px !important;
    width: 352px !important;
    max-width: 352px !important;
    flex-basis: 352px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 340px !important;
    max-width: 340px !important;
    height: 112px !important;
    max-height: 112px !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav,
  body:has(.account-data-shell-v175) .site-header > .top-nav,
  body:has(.auth-page) .site-header > .top-nav,
  body:has(.login-card) .site-header > .top-nav {
    gap: clamp(18px, 1.65vw, 32px) !important;
  }

  body .site-header .header-lang-shell,
  body:has(.aleo-home-v59) .site-header .header-lang-shell,
  body:has(.checkout-page-v113) .site-header .header-lang-shell,
  body:has(.one-country-page) .site-header .header-lang-shell,
  body:has(.account-dashboard-v174) .site-header .header-lang-shell {
    width: 74px !important;
    min-width: 74px !important;
    flex-basis: 74px !important;
  }

  body .site-header .header-currency-shell {
    width: 88px !important;
    min-width: 88px !important;
    flex-basis: 88px !important;
  }

  body .site-header .header-select-shell::before {
    left: 18px !important;
    max-width: calc(100% - 39px) !important;
  }
}

body.aleo-header-scrolled .site-header > .brand.brand-image-lockup {
  min-width: 222px !important;
  width: 222px !important;
  max-width: 222px !important;
  flex-basis: 222px !important;
}

body.aleo-header-scrolled .site-header .brand-image-lockup .brand-logo-image {
  width: 214px !important;
  max-width: 214px !important;
  height: 72px !important;
  max-height: 72px !important;
}

@media (max-width: 980px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    grid-template-columns: minmax(156px, 1fr) auto !important;
    gap: 8px !important;
    padding-inline: 14px !important;
  }

  body .site-header > .mobile-menu-trigger {
    display: none !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    grid-column: 1 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: min(184px, 100%) !important;
    max-width: min(184px, 100%) !important;
    height: 60px !important;
    max-height: 60px !important;
    object-position: left center !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    grid-column: 2 !important;
    width: auto !important;
    gap: 6px !important;
  }

  body .site-header .account-header-action {
    display: none !important;
  }

  body .site-header .header-lang-shell {
    width: 50px !important;
    min-width: 50px !important;
    flex-basis: 50px !important;
  }

  body .site-header .header-currency-shell {
    width: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }
}

/* AleoFly v194 header fixes: larger logo, desktop Home, short language, no mobile menu. */
body .site-header > .mobile-menu-trigger {
  display: none !important;
}

@media (min-width: 981px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    padding-left: 42px !important;
    gap: 18px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 352px !important;
    width: 352px !important;
    max-width: 352px !important;
    flex-basis: 352px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 340px !important;
    max-width: 340px !important;
    height: 112px !important;
    max-height: 112px !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav,
  body:has(.account-data-shell-v175) .site-header > .top-nav,
  body:has(.auth-page) .site-header > .top-nav,
  body:has(.login-card) .site-header > .top-nav {
    gap: clamp(18px, 1.65vw, 32px) !important;
  }

  body .site-header .header-lang-shell,
  body:has(.aleo-home-v59) .site-header .header-lang-shell,
  body:has(.checkout-page-v113) .site-header .header-lang-shell,
  body:has(.one-country-page) .site-header .header-lang-shell,
  body:has(.account-dashboard-v174) .site-header .header-lang-shell {
    width: 74px !important;
    min-width: 74px !important;
    flex-basis: 74px !important;
  }

  body .site-header .header-currency-shell {
    width: 88px !important;
    min-width: 88px !important;
    flex-basis: 88px !important;
  }

  body .site-header .header-select-shell::before {
    left: 18px !important;
    max-width: calc(100% - 39px) !important;
  }
}

body.aleo-header-scrolled .site-header > .brand.brand-image-lockup {
  min-width: 222px !important;
  width: 222px !important;
  max-width: 222px !important;
  flex-basis: 222px !important;
}

body.aleo-header-scrolled .site-header .brand-image-lockup .brand-logo-image {
  width: 214px !important;
  max-width: 214px !important;
  height: 72px !important;
  max-height: 72px !important;
}

@media (max-width: 980px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    grid-template-columns: minmax(156px, 1fr) auto !important;
    gap: 8px !important;
    padding-inline: 14px !important;
  }

  body .site-header > .mobile-menu-trigger {
    display: none !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    grid-column: 1 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: min(184px, 100%) !important;
    max-width: min(184px, 100%) !important;
    height: 60px !important;
    max-height: 60px !important;
    object-position: left center !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    grid-column: 2 !important;
    width: auto !important;
    gap: 6px !important;
  }

  body .site-header .account-header-action {
    display: none !important;
  }

  body .site-header .header-lang-shell {
    width: 50px !important;
    min-width: 50px !important;
    flex-basis: 50px !important;
  }

  body .site-header .header-currency-shell {
    width: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }
}

/* AleoFly v125: reference-matched multi-country planner. */
main.app:has(.multi-country-page) {
  max-width: none;
  width: 100%;
  padding: 0 0 96px;
  background: #fbfbfc;
}

.multi-country-page,
.multi-country-page * {
  letter-spacing: 0;
}

.multi-country-page {
  width: min(1120px, calc(100vw - 32px));
  margin: 0 auto;
  gap: 12px;
  color: #071122;
  --multi-line: #e9edf3;
  --multi-muted: #687386;
  --multi-red: #e50914;
}

.multi-breadcrumb {
  padding-top: 12px;
}

.multi-hero {
  display: block;
  min-height: 0;
  overflow: visible;
  border-radius: 8px;
  background: transparent;
}

.multi-hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.multi-trip-panel,
.multi-filter-bar,
.multi-result-summary,
.multi-results-shell {
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.035);
}

.multi-trip-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
  padding: 18px;
}

.multi-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.multi-panel-title strong {
  color: #081126;
  font-size: 18px;
  font-weight: 900;
}

.multi-clear-destinations {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--multi-red);
  font-size: 14px;
  font-weight: 900;
}

.multi-clear-destinations .ui-icon,
.multi-add-destination .ui-icon {
  width: 18px;
  height: 18px;
}

.multi-destination-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.multi-country-page .selected-destination-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}

.multi-country-page .selected-destination-chip,
.selected-destination-empty,
.multi-add-destination {
  min-height: 44px;
  border-radius: 8px;
  border: 1px solid var(--multi-line);
  background: #fff;
}

.multi-country-page .selected-destination-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px 0 9px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

.multi-country-page .selected-destination-chip > span:last-child {
  color: var(--multi-red);
  font-size: 21px;
  line-height: 1;
}

.multi-country-page .chip-flag {
  width: 28px;
  height: 28px;
  border-radius: 50%;
}

.selected-destination-empty {
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  color: var(--multi-muted);
  font-weight: 900;
}

.multi-add-destination {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  color: #111827;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.multi-add-destination .ui-icon {
  color: var(--multi-red);
}

.multi-destination-picker {
  position: relative;
  width: 100%;
  max-width: none;
  min-width: 0;
}

.multi-country-page .flow-search-card,
.multi-destination-search {
  min-height: 48px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.multi-destination-search input {
  min-height: 46px;
  color: #111827;
  font-size: 15px;
  font-weight: 800;
}

.multi-destination-search input::placeholder {
  color: #7b8496;
}

.multi-country-page .flow-country-popover {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 60;
  width: min(540px, 100%);
  max-height: 320px;
  overflow: auto;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 52px rgba(15, 23, 42, 0.16);
}

.multi-trip-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
  justify-content: stretch;
}

.multi-area-open,
.flow-find-best {
  width: 100%;
  min-height: 48px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 900;
}

.multi-area-open {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--multi-line);
  color: var(--multi-red);
  background: #fff;
}

.multi-area-open span,
.flow-find-best {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.flow-find-best {
  min-height: 52px;
  background: var(--multi-red);
  color: #fff;
}

.flow-find-best.disabled {
  opacity: 0.48;
  pointer-events: none;
}

.multi-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 12px;
}

.multi-filter-select,
.multi-more-filters {
  flex: 1 1 150px;
  min-width: 142px;
  min-height: 44px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-size: 13px;
  font-weight: 900;
}

.multi-filter-select {
  position: relative;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 18px;
  gap: 8px;
  align-items: center;
  padding: 0 11px;
}

.multi-filter-select select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  appearance: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  opacity: 0;
}

.multi-filter-select em {
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font-style: normal;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multi-filter-select > span,
.multi-filter-select > b,
.multi-more-filters .ui-icon {
  display: inline-grid;
  place-items: center;
  color: #111827;
  pointer-events: none;
}

.multi-filter-select > b .ui-icon {
  width: 16px;
  height: 16px;
}

.multi-more-filters {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
}

.multi-filter-note {
  flex: 1 0 100%;
  margin: 2px 0 0;
  color: var(--multi-muted);
  text-align: center;
  font-size: 13px;
  font-weight: 800;
}

.multi-result-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  background: linear-gradient(90deg, #f3fbf7, #ffffff);
}

.multi-result-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.multi-result-title > .ui-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  padding: 4px;
  border-radius: 50%;
  background: #1fa36b;
  color: #fff;
}

.multi-result-summary.is-empty .multi-result-title > .ui-icon {
  background: #f59e0b;
}

.multi-result-summary h2 {
  margin: 0;
  color: #081126;
  font-size: 18px;
  line-height: 1.18;
  font-weight: 900;
}

.multi-result-summary h2 strong,
.multi-result-summary h2 span {
  color: #10915c;
}

.multi-result-summary p {
  margin: 4px 0 0;
  color: var(--multi-muted);
  font-size: 13px;
  font-weight: 800;
}

.multi-result-summary > strong {
  flex: 0 0 auto;
  color: #10915c;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.multi-search-prompt {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 20px 22px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #fff8f8 100%);
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.035);
}

.multi-search-prompt > span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff0f2;
  color: var(--multi-red);
}

.multi-search-prompt h2 {
  margin: 0;
  color: #081126;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 900;
}

.multi-search-prompt p {
  margin: 5px 0 0;
  color: var(--multi-muted);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 800;
}

.multi-featured-plans,
.multi-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.multi-results-shell {
  padding: 12px 18px 18px;
}

.multi-results-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  margin: 0 0 12px;
}

.multi-results-head h2 {
  margin: 0;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 900;
}

.multi-results-head .one-country-view-toggle {
  min-width: 260px;
}

.multi-results-head .one-country-sort {
  min-width: 220px;
  margin: 0;
}

.multi-plan-card {
  position: relative;
  min-width: 0;
  min-height: 190px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
  grid-template-areas:
    "top top"
    "flags tags"
    "title price"
    "facts price";
  gap: 8px 14px;
  align-content: start;
  padding: 14px 46px 14px 14px;
  border: 1px solid var(--multi-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.026);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.multi-plan-card:hover {
  border-color: #f3b4bb;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.075);
  transform: translateY(-1px);
}

.multi-plan-card:focus-visible {
  outline: 3px solid rgba(229, 9, 20, 0.22);
  outline-offset: 2px;
}

.multi-plan-card.is-loading {
  pointer-events: none;
}

.multi-plan-card.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.72);
}

.multi-plan-card.is-loading::before {
  content: "";
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  width: 22px;
  height: 22px;
  border: 3px solid #ffd1d6;
  border-top-color: var(--multi-red);
  border-radius: 50%;
  animation: spin 800ms linear infinite;
}

.multi-card-top {
  grid-area: top;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 22px;
}

.multi-card-label {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 5px;
  background: #fff1f3;
  color: var(--multi-red);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.multi-card-label.most-popular {
  background: #eef6ff;
  color: #2369d6;
}

.multi-card-label.cheapest {
  background: #f5efff;
  color: #7c3aed;
}

.multi-save-plan {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #7c8494;
}

.multi-save-plan .ui-icon {
  width: 24px;
  height: 24px;
}

.multi-card-flags {
  grid-area: flags;
  display: flex;
  align-items: center;
  min-height: 30px;
}

.area-mini-flag {
  width: 29px;
  height: 24px;
  margin-left: -5px;
  overflow: hidden;
  border: 1px solid #fff;
  border-radius: 2px;
  box-shadow: 0 1px 5px rgba(15, 23, 42, 0.10);
}

.area-mini-flag:first-child {
  margin-left: 0;
}

.area-mini-flag .flag-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.multi-card-flags small {
  display: inline-grid;
  place-items: center;
  min-width: 30px;
  height: 24px;
  margin-left: -5px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #f1f3f7;
  color: #596579;
  font-size: 11px;
  font-weight: 900;
}

.multi-plan-card h3 {
  grid-area: title;
  min-height: 0;
  margin: 0;
  color: #081126;
  font-size: 16px;
  line-height: 1.22;
  font-weight: 900;
}

.multi-plan-card .multi-card-facts {
  grid-area: facts;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.multi-plan-card .multi-card-facts > span {
  min-width: 86px;
  min-height: 36px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value";
  gap: 0 6px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid #e5eaf2;
  border-radius: 7px;
  background: #fbfcff;
  color: #081126;
}

.multi-plan-card .multi-card-facts .ui-icon {
  grid-area: icon;
  width: 15px;
  height: 15px;
  color: #7d8797;
}

.multi-plan-card .multi-card-facts small {
  grid-area: label;
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #7b8798;
  font-size: 9px;
  line-height: 1.05;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.multi-plan-card .multi-card-facts strong {
  grid-area: value;
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #081126;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multi-plan-card p {
  grid-area: meta;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin: 0;
  color: #687386;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.multi-plan-card p span:not(:last-child)::after {
  content: "•";
  margin-left: 9px;
  color: #a2aabc;
}

.multi-card-tags {
  grid-area: tags;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-content: start;
  justify-content: flex-end;
  min-height: 0;
}

.multi-card-tags span {
  min-height: 24px;
  padding: 0 8px;
  border-radius: 6px;
  background: #fff0f2;
  color: var(--multi-red);
  font-size: 11px;
  font-weight: 900;
}

.multi-card-price {
  grid-area: price;
  display: grid;
  gap: 5px;
  align-self: center;
  justify-items: start;
  margin: 0;
}

.multi-card-price strong {
  color: var(--multi-red);
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
}

.multi-card-price span {
  color: #596579;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
}

.multi-card-price small {
  margin-left: 0;
  color: #596579;
  font-size: 13px;
  font-weight: 900;
}

.multi-card-details {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  border: 0;
  color: #081126;
  background: transparent;
}

.multi-card-details span {
  display: none;
}

.multi-card-details .ui-icon {
  width: 23px;
  height: 23px;
}

.multi-card-tags span {
  display: inline-flex;
  align-items: center;
}

.multi-area-dialog {
  border-radius: 8px;
}

.multi-area-sections {
  scrollbar-width: thin;
}

@media (max-width: 1120px) {
  .multi-country-page {
    width: min(760px, calc(100vw - 28px));
  }

  .multi-featured-plans,
  .multi-plan-grid {
    grid-template-columns: 1fr;
  }

  .multi-results-head {
    grid-template-columns: 1fr;
  }

  .multi-results-head .one-country-view-toggle,
  .multi-results-head .one-country-sort {
    min-width: 0;
  }
}

@media (max-width: 760px) {
  main.app:has(.multi-country-page) {
    padding-bottom: 82px;
  }

  .multi-country-page {
    width: 100%;
    gap: 10px;
    padding: 0 14px;
  }

  .multi-breadcrumb {
    display: none;
  }

  .multi-hero {
    margin-top: 12px;
  }

  .multi-trip-panel,
  .multi-filter-bar,
  .multi-result-summary,
  .multi-results-shell {
    padding: 12px;
  }

  .multi-panel-title strong {
    font-size: 17px;
  }

  .multi-clear-destinations {
    font-size: 13px;
  }

  .multi-destination-row {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .multi-destination-row::-webkit-scrollbar,
  .multi-filter-bar::-webkit-scrollbar {
    display: none;
  }

  .multi-country-page .selected-destination-strip {
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }

  .multi-country-page .selected-destination-chip,
  .multi-add-destination {
    flex: 0 0 auto;
    min-height: 44px;
    white-space: nowrap;
  }

  .multi-country-page .flow-country-popover {
    position: static;
    width: 100%;
    max-height: 300px;
    margin-top: 8px;
  }

  .multi-filter-bar {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: visible;
  }

  .multi-filter-select,
  .multi-more-filters {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    font-size: 9.8px;
  }

  .multi-filter-select {
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 3px;
    padding: 0 5px;
  }

  .multi-filter-select em {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }

  .multi-filter-select > b {
    display: none;
  }

  .multi-filter-select .ui-icon,
  .multi-more-filters .ui-icon {
    width: 14px;
    height: 14px;
  }

  .multi-filter-select > b .ui-icon {
    width: 12px;
    height: 12px;
  }

  .multi-more-filters {
    gap: 4px;
    padding: 0 6px;
  }

  .multi-filter-note {
    grid-column: 1 / -1;
    min-width: 0;
    white-space: normal;
  }

  .multi-result-summary {
    align-items: flex-start;
  }

  .multi-result-summary h2 {
    font-size: 17px;
  }

  .multi-result-summary p {
    font-size: 12px;
  }

  .multi-result-summary > strong {
    align-self: center;
    font-size: 13px;
  }

  .multi-plan-card {
    grid-template-columns: minmax(0, 1fr) minmax(108px, auto);
    gap: 7px 11px;
    min-height: 198px;
    padding: 13px 43px 13px 13px;
  }

  .multi-card-facts {
    gap: 5px;
  }

  .multi-card-facts > span {
    padding: 6px 6px;
  }

  .multi-card-tags span {
    font-size: 10.5px;
  }

  .multi-card-price strong {
    font-size: 24px;
  }

  .multi-results-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .multi-results-head .one-country-view-toggle {
    width: 100%;
  }

  .multi-results-head .one-country-sort {
    width: 100%;
  }

  .multi-area-modal {
    padding: 0;
    justify-content: stretch;
    align-items: end;
  }

  .multi-area-dialog {
    justify-self: stretch;
    width: 100vw;
    max-width: none;
    max-height: calc(100vh - 18px);
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    border-radius: 8px 8px 0 0;
  }

  .multi-area-body {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .multi-area-nav {
    display: flex;
    overflow-x: auto;
    gap: 6px;
    padding: 10px;
    border-right: 0;
    border-bottom: 1px solid var(--multi-line);
  }

  .multi-area-nav button {
    flex: 0 0 auto;
    min-width: 106px;
  }

  .multi-area-sections {
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding: 12px;
  }

  .multi-area-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .multi-country-page {
    padding: 0 12px;
  }

  .multi-result-summary {
    display: grid;
  }

  .multi-result-summary > strong {
    justify-self: end;
  }

  .multi-plan-card {
    grid-template-columns: minmax(0, 1fr) 104px;
  }

  .multi-card-facts small {
    font-size: 8px;
  }

  .multi-card-facts strong {
    font-size: 10px;
  }

  .multi-card-tags {
    justify-content: flex-start;
  }
}

/* Home v134: desktop reference redesign + full footer. */
:root {
  --home-red: #e50914;
  --home-blue: #1476e8;
  --home-ink: #071126;
  --home-muted: #667085;
  --home-line: #e8edf5;
  --home-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
}

body {
  background: #fff;
}

.site-header {
  min-height: 78px !important;
  padding: 0 max(28px, calc((100vw - 1240px) / 2)) !important;
  border-bottom: 1px solid #edf0f4 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 6px 22px rgba(15, 23, 42, 0.03) !important;
}

.site-header > .top-nav {
  gap: clamp(20px, 2.6vw, 42px) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.site-header > .header-actions {
  gap: 12px !important;
}

.site-header .lang-select,
.site-header .currency-select {
  min-height: 38px;
  border: 0;
  background: transparent;
  color: #0b1220;
  font-size: 13px;
  font-weight: 800;
}

.header-actions > a[href="/login"] {
  min-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 8px !important;
  background: var(--home-red) !important;
  color: #fff !important;
  display: inline-flex;
  align-items: center;
}

main.app:has(.aleo-home-desktop-ref) {
  width: 100%;
  max-width: none;
  padding: 0;
}

.aleo-home-desktop-ref {
  width: min(1210px, calc(100vw - 72px));
  margin: 0 auto;
  color: var(--home-ink);
}

.aleo-home-desktop-ref .aleo-home-hero {
  min-height: 374px;
  display: grid;
  grid-template-columns: minmax(410px, 0.86fr) minmax(560px, 1.14fr);
  gap: 18px;
  align-items: center;
  margin: 0;
  padding: 38px 0 10px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, #fff 0%, #fff 46%, #f8fbff 100%);
  text-align: left;
  box-shadow: none;
}

.aleo-home-desktop-ref .hero-copy {
  max-width: 500px;
  gap: 16px;
  align-self: center;
}

.aleo-home-desktop-ref .hero-copy h1 {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(42px, 4vw, 58px);
  line-height: 1.04;
  letter-spacing: 0;
  font-weight: 950;
}

.aleo-home-desktop-ref .hero-copy h1 span {
  display: block;
  color: var(--home-red);
}

.aleo-home-desktop-ref .hero-sub {
  max-width: 430px;
  margin: 0;
  color: #0f172a;
  font-size: 19px;
  line-height: 1.36;
  font-weight: 850;
}

.aleo-home-desktop-ref .aleo-feature-strip {
  width: 100%;
  max-width: 520px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 8px;
}

.aleo-home-desktop-ref .aleo-feature-strip div {
  min-height: 112px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 5px;
  padding: 14px 10px;
  border: 1px solid var(--home-line);
  border-radius: 8px;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.aleo-home-desktop-ref .aleo-feature-strip span {
  color: var(--home-red);
  font-size: 29px;
  line-height: 1;
}

.aleo-home-desktop-ref .aleo-feature-strip strong {
  color: #101828;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 950;
}

.aleo-home-desktop-ref .aleo-feature-strip small {
  color: var(--home-muted);
  font-size: 10px;
  font-weight: 800;
}

.aleo-home-desktop-ref .aleo-home-art {
  position: relative;
  min-height: 356px;
  display: grid;
  place-items: center;
  overflow: visible;
  isolation: isolate;
}

.aleo-home-desktop-ref .home-hero-art-img {
  display: block !important;
  width: 112%;
  max-width: none;
  height: 386px;
  object-fit: contain;
  object-position: center right;
  transform: translateX(14px);
  filter: drop-shadow(0 26px 34px rgba(229, 9, 20, 0.08));
}

.home-phone-ui {
  position: absolute;
  left: 64.5%;
  top: 52%;
  z-index: 4;
  width: 82px;
  min-height: 142px;
  display: grid !important;
  align-content: center;
  justify-items: center;
  gap: 8px;
  transform: translate(-50%, -50%);
  color: #fff;
  pointer-events: none;
}

.home-phone-ui span {
  font-size: 12px;
  font-weight: 900;
}

.home-phone-ui strong {
  padding: 4px 7px;
  border: 2px solid rgba(255, 255, 255, 0.88);
  border-radius: 6px;
  font-size: 20px;
  line-height: 1;
  font-weight: 950;
}

.home-phone-qr {
  width: 48px;
  height: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding: 5px;
  border: 2px solid #fff;
  border-radius: 4px;
}

.home-phone-qr em {
  display: block;
  background: #fff;
}

.home-phone-qr em:nth-child(2),
.home-phone-qr em:nth-child(4),
.home-phone-qr em:nth-child(8) {
  opacity: 0.35;
}

.home-trip-selector {
  position: relative;
  z-index: 3;
  margin: 0 0 24px;
  padding: 20px 36px 18px;
  border: 1px solid #eef1f6;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--home-shadow);
}

.home-trip-selector header {
  margin-bottom: 16px;
  text-align: center;
}

.home-trip-selector h2 {
  margin: 0;
  color: #0b1220;
  font-size: 25px;
  line-height: 1.18;
}

.home-trip-selector p {
  margin: 3px 0 0;
  color: #344054;
  font-size: 13px;
  font-weight: 750;
}

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

.home-trip-card {
  min-height: 120px;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  border-radius: 8px;
}

.home-trip-card.home-one {
  background: linear-gradient(90deg, #fff0f2, #fff 92%);
}

.home-trip-card.home-multi {
  background: linear-gradient(90deg, #eef6ff, #fff 92%);
}

.home-trip-icon {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  color: var(--home-red);
}

.home-trip-card.home-multi .home-trip-icon {
  color: var(--home-blue);
}

.home-trip-icon .ui-icon {
  width: 70px;
  height: 70px;
  stroke-width: 1.8;
}

.home-trip-copy {
  display: grid;
  gap: 3px;
}

.home-trip-copy strong {
  color: #101828;
  font-size: 17px;
  line-height: 1.1;
}

.home-trip-copy small {
  max-width: 270px;
  color: #344054;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
}

.home-trip-card > b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--home-red);
  color: #fff;
}

.home-trip-card.home-multi > b {
  background: var(--home-blue);
}

.home-trip-card > b .ui-icon {
  width: 20px;
  height: 20px;
}

.aleo-home-desktop-ref .aleo-popular,
.home-recommended-plans,
.home-regional-plans,
.home-why,
.home-testimonials,
.home-assurance-strip {
  margin: 22px 0;
}

.aleo-home-desktop-ref .row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.aleo-home-desktop-ref .row-head h2 {
  margin: 0;
  color: #101828;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 950;
}

.aleo-home-desktop-ref .see-all {
  color: var(--home-red);
  font-size: 14px;
  font-weight: 950;
}

.aleo-home-desktop-ref .section-pill {
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #fff0f2;
  color: var(--home-red);
  font-size: 10px;
  vertical-align: middle;
}

.aleo-home-desktop-ref .popular-country-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px;
}

.aleo-home-desktop-ref .popular-country-card {
  min-height: 116px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  padding: 14px 8px;
  border: 1px solid var(--home-line);
  border-radius: 8px;
  background: #fff;
  text-align: center;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

.aleo-home-desktop-ref .popular-country-flag {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

.aleo-home-desktop-ref .popular-country-card strong {
  max-width: 100%;
  overflow: hidden;
  color: #101828;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aleo-home-desktop-ref .popular-country-card small {
  color: #101828;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 850;
}

.home-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-plan-card {
  min-width: 0;
  min-height: 246px;
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--home-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.home-plan-top,
.home-plan-country,
.home-plan-main,
.home-plan-specs {
  min-width: 0;
}

.home-plan-top,
.home-plan-country,
.home-plan-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.home-plan-label {
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff0f2;
  color: var(--home-red);
  font-size: 10px;
  font-weight: 950;
  text-transform: capitalize;
}

.home-plan-label.popular,
.home-plan-label.most-popular {
  background: #ecfdf3;
  color: #16a34a;
}

.home-plan-heart {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #98a2b3;
}

.home-plan-heart .ui-icon {
  width: 21px;
  height: 21px;
}

.home-plan-country {
  justify-content: flex-start;
}

.home-plan-flag {
  width: 28px;
  height: 28px;
  border-radius: 50%;
}

.home-plan-country strong {
  overflow: hidden;
  color: #101828;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-plan-main {
  align-items: start;
}

.home-plan-main > div:first-child strong {
  display: block;
  color: var(--home-red);
  font-size: 28px;
  line-height: 1;
  font-weight: 950;
}

.home-plan-main > div:first-child span {
  color: #101828;
  font-size: 13px;
  font-weight: 850;
}

.home-plan-price {
  display: grid;
  justify-items: end;
  line-height: 1.15;
}

.home-plan-price b {
  color: var(--home-red);
  font-size: 15px;
}

.home-plan-price del {
  color: #98a2b3;
  font-size: 11px;
}

.home-plan-price small {
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff0f2;
  color: var(--home-red);
  font-size: 10px;
  font-weight: 900;
}

.home-plan-specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.home-plan-specs div {
  display: grid;
  gap: 2px;
}

.home-plan-specs dt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #667085;
  font-size: 11px;
  font-weight: 850;
}

.home-plan-specs dd {
  margin: 0;
  overflow: hidden;
  color: #101828;
  font-size: 11px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-plan-specs .ui-icon {
  width: 12px;
  height: 12px;
  color: #16a34a;
}

.home-plan-action {
  align-self: end;
  min-height: 34px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: var(--home-red);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}

.home-plan-dots {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
}

.home-plan-dots span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d0d5dd;
}

.home-plan-dots .active {
  width: 9px;
  background: var(--home-red);
}

.aleo-home-desktop-ref .region-showcase-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.aleo-home-desktop-ref .region-showcase-card {
  position: relative;
  min-height: 122px;
  display: grid;
  align-content: end;
  gap: 2px;
  overflow: hidden;
  padding: 18px;
  border: 0;
  border-radius: 8px;
  background: #0b1220;
  color: #fff;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}

.aleo-home-desktop-ref .region-card-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.aleo-home-desktop-ref .region-showcase-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(9, 17, 33, 0.04), rgba(9, 17, 33, 0.74));
}

.aleo-home-desktop-ref .region-showcase-card strong,
.aleo-home-desktop-ref .region-showcase-card small,
.aleo-home-desktop-ref .region-showcase-card em,
.aleo-home-desktop-ref .region-showcase-card b {
  position: relative;
  z-index: 2;
}

.aleo-home-desktop-ref .region-showcase-card strong {
  font-size: 19px;
  line-height: 1.1;
}

.aleo-home-desktop-ref .region-showcase-card small,
.aleo-home-desktop-ref .region-showcase-card em {
  color: rgba(255, 255, 255, 0.94);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.aleo-home-desktop-ref .region-showcase-card b {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  color: var(--home-blue);
}

.aleo-home-desktop-ref .region-showcase-card b .ui-icon {
  width: 17px;
  height: 17px;
}

.home-why .aleo-benefit-bar {
  margin: 0;
}

.aleo-home-desktop-ref .aleo-benefit-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 0;
  border: 0;
  background: transparent;
}

.aleo-home-desktop-ref .aleo-benefit-bar div {
  min-height: 84px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  gap: 2px 12px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--home-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

.aleo-home-desktop-ref .aleo-benefit-bar span {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #fff0f2;
  color: var(--home-red);
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(2) span { background: #eef6ff; color: var(--home-blue); }
.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(3) span { background: #ecfdf3; color: #16a34a; }
.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(4) span { background: #fff7e8; color: #d68a00; }

.aleo-home-desktop-ref .aleo-benefit-bar .ui-icon {
  width: 24px;
  height: 24px;
}

.aleo-home-desktop-ref .aleo-benefit-bar strong {
  grid-area: title;
  color: #101828;
  font-size: 13px;
  line-height: 1.2;
}

.aleo-home-desktop-ref .aleo-benefit-bar small {
  grid-area: sub;
  color: var(--home-muted);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 750;
}

.home-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.home-testimonial-card {
  min-height: 140px;
  padding: 18px;
  border: 1px solid var(--home-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

.home-testimonial-card header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.home-avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f2f4f7;
  color: #0b1220;
  font-weight: 950;
}

.testimonial-flag {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  border-radius: 50%;
}

.home-stars {
  margin-top: 7px;
  color: #ffc107;
  font-size: 14px;
  letter-spacing: 1px;
}

.home-testimonial-card p {
  margin: 8px 0 6px;
  color: #101828;
  font-size: 13px;
  line-height: 1.42;
  font-weight: 750;
}

.home-testimonial-card small {
  color: #98a2b3;
  font-size: 11px;
  font-weight: 800;
}

.home-assurance-strip {
  min-height: 58px;
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1.1fr;
  align-items: center;
  gap: 18px;
  padding: 12px 18px;
  border: 1px solid var(--home-line);
  border-radius: 8px 8px 0 0;
  background: #fff;
}

.home-assurance-rating,
.home-payment-logos,
.home-assurance-icons {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.home-assurance-rating {
  flex-wrap: wrap;
  gap: 5px 10px;
  font-size: 12px;
}

.home-assurance-rating span {
  color: #ffc107;
}

.home-payment-logos {
  justify-content: center;
  color: #23324d;
  font-weight: 950;
}

.home-payment-logos .mc,
.footer-payment-logos .mc {
  position: relative;
  width: 42px;
  height: 22px;
}

.home-payment-logos .mc i,
.footer-payment-logos .mc i {
  position: absolute;
  top: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #eb001b;
}

.home-payment-logos .mc i + i,
.footer-payment-logos .mc i + i {
  left: 16px;
  background: #f79e1b;
}

.home-assurance-icons {
  justify-content: end;
}

.home-assurance-icons span {
  display: grid;
  justify-items: center;
  gap: 2px;
  color: #475467;
  font-size: 11px;
  font-weight: 850;
  text-align: center;
}

.home-assurance-icons .ui-icon {
  width: 19px;
  height: 19px;
}

.site-footer {
  display: block !important;
  margin-top: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  background: #071126;
  color: #d7deea;
}

.site-footer-shell {
  background: #071126;
}

.footer-trust-strip {
  width: min(1210px, calc(100vw - 72px));
  min-height: 58px;
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1fr;
  align-items: center;
  gap: 18px;
  margin: 0 auto;
  padding: 12px 18px;
  border: 1px solid var(--home-line);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: #fff;
  color: #101828;
}

.footer-rating,
.footer-payment-logos,
.footer-mini-trust {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.footer-rating {
  flex-wrap: wrap;
  font-size: 12px;
}

.footer-rating span {
  color: #ffc107;
}

.footer-payment-logos {
  justify-content: center;
  font-weight: 950;
}

.footer-mini-trust {
  justify-content: end;
  color: #475467;
  font-size: 11px;
  font-weight: 850;
}

.footer-main {
  width: min(1210px, calc(100vw - 72px));
  display: grid;
  grid-template-columns: minmax(210px, 0.95fr) minmax(260px, 1.05fr) minmax(380px, 1.4fr) minmax(170px, 0.6fr);
  gap: 30px;
  margin: 0 auto;
  padding: 32px 0 24px;
}

.footer-brand-col,
.footer-newsletter,
.footer-links,
.footer-apps {
  min-width: 0;
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 20px;
  font-weight: 950;
}

.footer-logo-image {
  height: 42px;
  width: auto;
  object-fit: contain;
}

.footer-brand-mark {
  width: 36px;
  height: 36px;
  color: var(--home-red);
}

.footer-brand-col p,
.footer-newsletter p {
  margin: 12px 0;
  color: #c1cad8;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 650;
}

.footer-socials {
  display: flex;
  gap: 9px;
}

.footer-socials a {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}

.footer-newsletter strong,
.footer-links strong {
  color: #fff;
  font-size: 14px;
}

.footer-newsletter label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 108px;
  gap: 8px;
}

.footer-newsletter input {
  min-height: 40px;
  min-width: 0;
  padding: 0 13px;
  border: 0;
  border-radius: 7px;
  background: #fff;
  color: #101828;
}

.footer-newsletter button {
  min-height: 40px;
  border: 0;
  border-radius: 7px;
  background: var(--home-red);
  color: #fff;
  font-weight: 950;
}

.footer-newsletter button:disabled {
  opacity: 0.72;
  cursor: wait;
}

.footer-newsletter-status {
  min-height: 18px;
  margin: 7px 0 0;
  color: #c1cad8;
  font-size: 12px;
  font-weight: 800;
}

.footer-newsletter-status[data-kind="ok"] {
  color: #8ff0bf;
}

.footer-newsletter-status[data-kind="error"] {
  color: #ffb4bc;
}

.newsletter-modal[hidden] {
  display: none;
}

.newsletter-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 20px;
}

.newsletter-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 13, 24, 0.54);
  backdrop-filter: blur(8px);
}

.newsletter-modal-card {
  position: relative;
  width: min(360px, 100%);
  padding: 24px;
  border: 1px solid rgba(229, 9, 20, 0.16);
  border-radius: 8px;
  background: #fff;
  color: #101828;
  box-shadow: 0 24px 70px rgba(16, 24, 40, 0.24);
  text-align: center;
}

.newsletter-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #f2f4f7;
  color: #667085;
  font-size: 20px;
  line-height: 1;
}

.newsletter-modal-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: rgba(229, 9, 20, 0.1);
  color: var(--home-red);
  font-size: 26px;
  font-weight: 950;
}

.newsletter-modal-card strong {
  display: block;
  color: #101828;
  font-size: 21px;
  font-weight: 950;
}

.newsletter-modal-card p {
  margin: 8px 0 18px;
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
}

.newsletter-modal-ok {
  min-height: 42px;
  width: 100%;
  border: 0;
  border-radius: 7px;
  background: var(--home-red);
  color: #fff;
  font-weight: 950;
}

html[data-theme='dark'] .newsletter-modal-card,
body.theme-dark .newsletter-modal-card {
  border-color: rgba(255, 255, 255, 0.12);
  background: #121826;
  color: #f8fafc;
}

html[data-theme='dark'] .newsletter-modal-card strong,
body.theme-dark .newsletter-modal-card strong {
  color: #fff;
}

html[data-theme='dark'] .newsletter-modal-card p,
body.theme-dark .newsletter-modal-card p {
  color: #cbd5e1;
}

html[data-theme='dark'] .newsletter-modal-close,
body.theme-dark .newsletter-modal-close {
  background: rgba(255, 255, 255, 0.08);
  color: #e5e7eb;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.footer-links div {
  display: grid;
  align-content: start;
  gap: 6px;
}

.footer-links a {
  color: #c1cad8;
  font-size: 12px;
  font-weight: 700;
}

.footer-apps {
  display: grid;
  gap: 10px;
  align-content: start;
}

.footer-apps a {
  min-height: 48px;
  display: grid;
  align-content: center;
  padding: 5px 13px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 7px;
  background: #050914;
  color: #fff;
}

.footer-apps small {
  font-size: 9px;
  line-height: 1;
}

.footer-apps strong {
  font-size: 16px;
  line-height: 1.1;
}

.footer-bottom {
  width: min(1210px, calc(100vw - 72px));
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0 auto;
  padding: 0 0 22px;
  color: #8793a7;
  font-size: 12px;
}

.footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

@media (max-width: 1120px) {
  .aleo-home-desktop-ref,
  .footer-trust-strip,
  .footer-main,
  .footer-bottom {
    width: min(100% - 36px, 960px);
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    grid-template-columns: 1fr;
  }

  .aleo-home-desktop-ref .aleo-home-art {
    min-height: 300px;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    width: 100%;
    height: 320px;
  }

  .home-phone-ui {
    left: 62.8%;
  }

  .aleo-home-desktop-ref .popular-country-strip,
  .home-plan-grid,
  .aleo-home-desktop-ref .region-showcase-grid,
  .aleo-home-desktop-ref .aleo-benefit-bar,
  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-links {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .aleo-home-desktop-ref,
  .footer-trust-strip,
  .footer-main,
  .footer-bottom {
    width: 100%;
  }

  .aleo-home-desktop-ref {
    padding: 0 14px 74px;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    padding-top: 24px;
    background: #fff;
  }

  .aleo-home-desktop-ref .hero-copy h1 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .aleo-home-desktop-ref .aleo-feature-strip,
  .home-trip-grid,
  .home-plan-grid,
  .aleo-home-desktop-ref .region-showcase-grid,
  .aleo-home-desktop-ref .aleo-benefit-bar,
  .home-testimonial-grid,
  .home-assurance-strip,
  .footer-trust-strip,
  .footer-main,
  .footer-links {
    grid-template-columns: 1fr;
  }

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

  .home-trip-card {
    grid-template-columns: 68px minmax(0, 1fr) 38px;
    padding: 16px;
  }

  .home-trip-icon,
  .home-trip-icon .ui-icon {
    width: 58px;
    height: 58px;
  }

  .aleo-home-desktop-ref .popular-country-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 126px;
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 10px;
  }

  .home-assurance-icons,
  .footer-mini-trust,
  .footer-payment-logos,
  .home-payment-logos {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .site-footer {
    padding-bottom: 72px !important;
  }

  .footer-trust-strip,
  .footer-main,
  .footer-bottom {
    padding-left: 18px;
    padding-right: 18px;
  }

  .footer-bottom {
    display: grid;
  }
}

/* AleoFly v136 reference rebuild: desktop homepage extracted from the supplied design frame. */
@media (min-width: 761px) {
  :root {
    --home-ref-red: #e50914;
    --home-ref-blue: #1476e8;
    --home-ref-ink: #071126;
    --home-ref-muted: #667085;
    --home-ref-line: #e7ecf3;
    --home-ref-shell: min(1696px, calc(100vw - 96px));
    --home-ref-radius: 8px;
    --home-ref-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
  }

  body {
    background: #fff !important;
  }

  .site-header {
    min-height: 62px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(28px, 4vw, 76px) !important;
    padding: 0 clamp(24px, 2.7vw, 54px) !important;
    border-bottom: 1px solid #edf0f4 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .site-header .top-offer {
    display: none !important;
  }

  .site-header > .brand.brand-image-lockup {
    width: auto !important;
    min-width: 0 !important;
    height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .site-header > .brand .brand-text {
    display: none !important;
  }

  .brand-image-lockup .brand-logo-image {
    width: auto !important;
    height: 48px !important;
    max-width: 148px !important;
    object-fit: contain !important;
  }

  .site-header > .top-nav {
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    gap: clamp(26px, 3.15vw, 62px) !important;
    font-size: clamp(12px, 0.72vw, 14px) !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
  }

  .site-header > .top-nav a {
    color: #071126 !important;
    text-align: center !important;
  }

  .site-header > .top-nav a.active,
  .site-header > .top-nav a:hover {
    color: var(--home-ref-red) !important;
  }

  .site-header > .header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .site-header .lang-select,
  .site-header .currency-select {
    min-width: 82px !important;
    min-height: 38px !important;
    padding: 0 24px 0 0 !important;
    border: 0 !important;
    background-color: transparent !important;
    color: #071126 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .site-header [data-toggle-theme-quick] {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #e5eaf2 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--home-ref-red) !important;
  }

  .header-actions > a[href="/login"],
  .header-actions > a[href="/account"] {
    min-height: 38px !important;
    padding: 0 22px !important;
    border-radius: 8px !important;
    background: var(--home-ref-red) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
  }

  main.app:has(.aleo-home-desktop-ref) {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .aleo-home-desktop-ref {
    width: var(--home-ref-shell) !important;
    margin: 0 auto !important;
    padding: 0 0 18px !important;
    color: var(--home-ref-ink) !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    min-height: clamp(255px, 28vw, 530px) !important;
    display: grid !important;
    grid-template-columns: minmax(420px, 0.48fr) minmax(520px, 0.52fr) !important;
    gap: clamp(34px, 4.4vw, 84px) !important;
    align-items: center !important;
    margin: 0 !important;
    padding: clamp(10px, 1.4vw, 28px) 0 clamp(6px, 0.8vw, 14px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, #fff 0%, #fff 48%, #f7fbff 100%) !important;
    box-shadow: none !important;
    overflow: visible !important;
    text-align: left !important;
  }

  .aleo-home-desktop-ref .hero-copy {
    max-width: 650px !important;
    display: grid !important;
    gap: clamp(12px, 1.15vw, 20px) !important;
    align-self: center !important;
  }

  .aleo-home-desktop-ref .hero-copy h1 {
    margin: 0 !important;
    max-width: 650px !important;
    color: var(--home-ref-ink) !important;
    font-size: clamp(29px, 3.45vw, 68px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    font-weight: 950 !important;
  }

  .aleo-home-desktop-ref .hero-copy h1 span {
    display: block !important;
    color: var(--home-ref-red) !important;
  }

  .aleo-home-desktop-ref .hero-sub {
    max-width: 560px !important;
    margin: 0 !important;
    color: #111827 !important;
    font-size: clamp(13px, 1.18vw, 22px) !important;
    line-height: 1.28 !important;
    font-weight: 900 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip {
    width: min(100%, 620px) !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.25vw, 22px) !important;
    margin-top: clamp(8px, 0.9vw, 16px) !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip div {
    min-height: clamp(88px, 7.1vw, 132px) !important;
    display: grid !important;
    justify-items: center !important;
    align-content: center !important;
    gap: 6px !important;
    padding: 14px 10px !important;
    border: 1px solid var(--home-ref-line) !important;
    border-radius: var(--home-ref-radius) !important;
    background: #fff !important;
    text-align: center !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045) !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip span {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 0 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip .ui-icon {
    width: 31px !important;
    height: 31px !important;
    stroke-width: 2 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip [data-feature-icon="bolt"] span { color: #f6b100 !important; }
  .aleo-home-desktop-ref .aleo-feature-strip [data-feature-icon="globe"] span { color: var(--home-ref-blue) !important; }
  .aleo-home-desktop-ref .aleo-feature-strip [data-feature-icon="headset"] span { color: #7c3aed !important; }
  .aleo-home-desktop-ref .aleo-feature-strip [data-feature-icon="shield"] span { color: #17a673 !important; }

  .aleo-home-desktop-ref .aleo-feature-strip strong {
    color: #111827 !important;
    font-size: clamp(11px, 0.72vw, 13px) !important;
    line-height: 1.14 !important;
    font-weight: 950 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip small {
    color: #667085 !important;
    font-size: clamp(9px, 0.62vw, 11px) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
  }

  .aleo-home-desktop-ref .aleo-home-art {
    position: relative !important;
    min-height: clamp(246px, 27vw, 520px) !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    display: block !important;
    width: 112% !important;
    max-width: none !important;
    height: clamp(250px, 28vw, 540px) !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(clamp(-12px, -0.45vw, -4px)) !important;
    filter: drop-shadow(0 34px 42px rgba(229, 9, 20, 0.08)) !important;
  }

  .home-phone-ui {
    position: absolute !important;
    left: 50.8% !important;
    top: 56.2% !important;
    z-index: 4 !important;
    width: clamp(66px, 7.7vw, 146px) !important;
    min-height: 0 !important;
    height: clamp(136px, 16.9vw, 305px) !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: clamp(8px, 0.8vw, 15px) !important;
    padding: clamp(14px, 1.4vw, 24px) 10px !important;
    border: 2px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: clamp(18px, 1.8vw, 32px) !important;
    background: linear-gradient(160deg, #fa1b25 0%, #d9000d 58%, #97030c 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 12px 28px rgba(94, 0, 8, 0.22) !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    pointer-events: none !important;
  }

  .home-phone-ui::before {
    content: "" !important;
    position: absolute !important;
    top: 7px !important;
    left: 50% !important;
    width: 34% !important;
    height: 8px !important;
    border-radius: 0 0 999px 999px !important;
    background: rgba(12, 18, 32, 0.9) !important;
    transform: translateX(-50%) !important;
  }

  .home-phone-ui span {
    margin-top: 4px !important;
    font-size: clamp(10px, 0.8vw, 15px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .home-phone-ui strong {
    padding: clamp(4px, 0.45vw, 8px) clamp(7px, 0.65vw, 12px) !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 7px !important;
    font-size: clamp(18px, 1.55vw, 29px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .home-phone-qr {
    width: clamp(46px, 4.1vw, 78px) !important;
    height: clamp(46px, 4.1vw, 78px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4px !important;
    padding: 6px !important;
    border: 2px solid #fff !important;
    border-radius: 5px !important;
    background: rgba(5, 12, 26, 0.15) !important;
  }

  .home-trip-selector {
    width: 100% !important;
    margin: 0 0 clamp(18px, 1.6vw, 28px) !important;
    padding: clamp(20px, 1.7vw, 30px) clamp(32px, 3vw, 56px) clamp(18px, 1.5vw, 28px) !important;
    border: 1px solid #eef1f6 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: var(--home-ref-shadow) !important;
  }

  .home-trip-selector header {
    margin-bottom: clamp(16px, 1.55vw, 26px) !important;
    text-align: center !important;
  }

  .home-trip-selector h2 {
    font-size: clamp(22px, 1.55vw, 30px) !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
  }

  .home-trip-selector p {
    margin-top: 4px !important;
    font-size: clamp(11px, 0.75vw, 14px) !important;
    font-weight: 800 !important;
  }

  .home-trip-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.3vw, 44px) !important;
  }

  .home-trip-card {
    min-height: clamp(86px, 7.2vw, 138px) !important;
    display: grid !important;
    grid-template-columns: clamp(58px, 6vw, 112px) minmax(0, 1fr) clamp(32px, 3vw, 54px) !important;
    align-items: center !important;
    gap: clamp(16px, 1.55vw, 28px) !important;
    padding: clamp(18px, 1.65vw, 30px) clamp(20px, 2vw, 38px) !important;
    border-radius: 8px !important;
  }

  .home-trip-card.home-one {
    background: linear-gradient(90deg, #fff0f2 0%, #fff8f9 54%, #fff 100%) !important;
  }

  .home-trip-card.home-multi {
    background: linear-gradient(90deg, #eef6ff 0%, #f5faff 54%, #fff 100%) !important;
  }

  .home-trip-icon,
  .home-trip-icon .ui-icon {
    width: clamp(50px, 5vw, 92px) !important;
    height: clamp(50px, 5vw, 92px) !important;
  }

  .home-trip-copy strong {
    font-size: clamp(16px, 1.05vw, 20px) !important;
    font-weight: 950 !important;
  }

  .home-trip-copy small {
    max-width: 360px !important;
    font-size: clamp(12px, 0.78vw, 15px) !important;
    line-height: 1.22 !important;
    font-weight: 750 !important;
  }

  .home-trip-card > b {
    width: clamp(38px, 2.9vw, 52px) !important;
    height: clamp(38px, 2.9vw, 52px) !important;
  }

  .aleo-home-desktop-ref .aleo-popular,
  .home-recommended-plans,
  .home-regional-plans,
  .home-why,
  .home-testimonials {
    margin: clamp(16px, 1.5vw, 26px) 0 !important;
  }

  .aleo-home-desktop-ref .row-head {
    margin-bottom: clamp(10px, 0.8vw, 14px) !important;
  }

  .aleo-home-desktop-ref .row-head h2 {
    font-size: clamp(17px, 1vw, 21px) !important;
    font-weight: 950 !important;
  }

  .aleo-home-desktop-ref .see-all {
    color: var(--home-ref-red) !important;
    font-size: clamp(12px, 0.78vw, 15px) !important;
    font-weight: 950 !important;
  }

  .aleo-home-desktop-ref .popular-country-strip {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.2vw, 22px) !important;
  }

  .aleo-home-desktop-ref .popular-country-card {
    min-height: clamp(82px, 7vw, 132px) !important;
    gap: 5px !important;
    padding: 14px 10px !important;
    border: 1px solid var(--home-ref-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035) !important;
  }

  .aleo-home-desktop-ref .popular-country-flag {
    width: clamp(25px, 2.6vw, 46px) !important;
    height: clamp(25px, 2.6vw, 46px) !important;
  }

  .aleo-home-desktop-ref .popular-country-card strong {
    font-size: clamp(11px, 0.78vw, 15px) !important;
  }

  .aleo-home-desktop-ref .popular-country-card small {
    font-size: clamp(10px, 0.7vw, 13px) !important;
  }

  .home-plan-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.55vw, 30px) !important;
  }

  .home-plan-card {
    min-height: clamp(164px, 18vw, 330px) !important;
    gap: clamp(9px, 0.75vw, 14px) !important;
    padding: clamp(16px, 1.25vw, 24px) !important;
    border-radius: 8px !important;
    border: 1px solid var(--home-ref-line) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055) !important;
  }

  .home-plan-label {
    font-size: clamp(9px, 0.62vw, 12px) !important;
    padding: 4px 8px !important;
  }

  .home-plan-country strong {
    font-size: clamp(13px, 0.88vw, 17px) !important;
  }

  .home-plan-main > div:first-child strong {
    font-size: clamp(24px, 1.9vw, 38px) !important;
  }

  .home-plan-main > div:first-child span,
  .home-plan-price b {
    font-size: clamp(13px, 0.9vw, 17px) !important;
  }

  .home-plan-specs dt,
  .home-plan-specs dd {
    font-size: clamp(10px, 0.66vw, 12px) !important;
  }

  .home-plan-action {
    min-height: clamp(34px, 2.45vw, 46px) !important;
    border-radius: 6px !important;
    font-size: clamp(11px, 0.75vw, 14px) !important;
  }

  .aleo-home-desktop-ref .region-showcase-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.55vw, 30px) !important;
  }

  .aleo-home-desktop-ref .region-showcase-card {
    min-height: clamp(76px, 7.9vw, 150px) !important;
    padding: clamp(16px, 1.25vw, 24px) !important;
    border-radius: 8px !important;
  }

  .aleo-home-desktop-ref .region-showcase-card strong {
    font-size: clamp(18px, 1.25vw, 24px) !important;
  }

  .aleo-home-desktop-ref .region-showcase-card small,
  .aleo-home-desktop-ref .region-showcase-card em {
    font-size: clamp(11px, 0.72vw, 14px) !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.55vw, 30px) !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar div {
    min-height: clamp(55px, 5.2vw, 98px) !important;
    padding: clamp(14px, 1vw, 20px) !important;
  }

  .home-testimonial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(20px, 1.65vw, 32px) !important;
  }

  .home-testimonial-card {
    min-height: clamp(88px, 8.8vw, 168px) !important;
  }

  .site-footer {
    margin-top: 0 !important;
    background: #071126 !important;
  }

  .footer-trust-strip,
  .footer-main,
  .footer-bottom {
    width: var(--home-ref-shell) !important;
  }

  .footer-trust-strip {
    min-height: 58px !important;
    grid-template-columns: 1.05fr 1.35fr 1.05fr !important;
    margin-top: 0 !important;
    border-radius: 0 !important;
  }

  .footer-main {
    grid-template-columns: minmax(240px, 0.9fr) minmax(300px, 1.05fr) minmax(460px, 1.45fr) minmax(190px, 0.6fr) !important;
    gap: clamp(32px, 3vw, 58px) !important;
    padding: 36px 0 26px !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  :root {
    --home-ref-shell: min(1056px, calc(100vw - 96px));
  }

  .site-header {
    gap: 24px !important;
    padding: 0 24px !important;
  }

  .site-header > .top-nav {
    gap: 22px !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    grid-template-columns: minmax(320px, 0.48fr) minmax(330px, 0.52fr) !important;
    gap: 22px !important;
    padding-top: 8px !important;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    height: 245px !important;
  }

  .aleo-home-desktop-ref .aleo-popular,
  .home-recommended-plans,
  .home-regional-plans,
  .home-why,
  .home-testimonials {
    margin: 10px 0 !important;
  }

  .aleo-home-desktop-ref .row-head {
    margin-bottom: 7px !important;
  }

  .home-plan-dots {
    margin-top: 6px !important;
  }

  .home-trip-selector {
    padding: 12px 24px !important;
    height: 142px !important;
    overflow: hidden !important;
  }

  .home-trip-selector header {
    margin-bottom: 10px !important;
  }

  .home-trip-card {
    min-height: 74px !important;
    height: 74px !important;
    padding: 8px 16px !important;
  }

  .home-trip-icon,
  .home-trip-icon .ui-icon {
    width: 46px !important;
    height: 46px !important;
  }

  .home-trip-copy strong {
    font-size: 13px !important;
  }

  .home-trip-copy small {
    font-size: 10px !important;
    line-height: 1.18 !important;
  }

  .home-trip-card > b {
    width: 30px !important;
    height: 30px !important;
  }

  .aleo-home-desktop-ref .popular-country-card {
    min-height: 82px !important;
    height: 82px !important;
    padding: 8px 8px !important;
  }

  .home-plan-grid {
    gap: 14px !important;
  }

  .home-plan-card {
    min-height: 164px !important;
    height: 164px !important;
    overflow: hidden !important;
    gap: 6px !important;
    padding: 12px !important;
  }

  .home-plan-main > div:first-child strong {
    font-size: 24px !important;
  }

  .home-plan-main > div:first-child span,
  .home-plan-price b,
  .home-plan-country strong {
    font-size: 12px !important;
  }

  .home-plan-specs {
    gap: 4px !important;
  }

  .home-plan-specs dt,
  .home-plan-specs dd,
  .home-plan-price del,
  .home-plan-price small {
    font-size: 9px !important;
  }

  .home-plan-action {
    min-height: 28px !important;
    font-size: 11px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar div {
    min-height: 46px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    padding: 8px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar span {
    width: 32px !important;
    height: 32px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar .ui-icon {
    width: 19px !important;
    height: 19px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar strong,
  .aleo-home-desktop-ref .aleo-benefit-bar small {
    font-size: 10px !important;
  }

  .home-testimonial-card {
    min-height: 88px !important;
    height: 88px !important;
    overflow: hidden !important;
    padding: 12px !important;
  }

  .home-avatar {
    width: 28px !important;
    height: 28px !important;
    font-size: 11px !important;
  }

  .home-stars {
    margin-top: 4px !important;
    font-size: 11px !important;
  }

  .home-testimonial-card p {
    margin: 4px 0 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .home-testimonial-card small {
    font-size: 9px !important;
  }

  .footer-trust-strip {
    min-height: 38px !important;
    grid-template-columns: 1.35fr 1.25fr 0.9fr !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    font-size: 9px !important;
  }

  .footer-rating,
  .footer-payment-logos,
  .footer-mini-trust {
    gap: 6px !important;
    font-size: 9px !important;
  }

  .footer-mini-trust span {
    white-space: nowrap !important;
  }

  .footer-main {
    grid-template-columns: 1fr 1.35fr 1.55fr 0.95fr !important;
    gap: 16px !important;
    height: 108px !important;
    overflow: hidden !important;
    padding: 12px 0 !important;
  }

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

  .footer-logo-image {
    height: 28px !important;
  }

  .footer-brand-col p,
  .footer-newsletter p,
  .footer-links a {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .footer-newsletter label {
    grid-template-columns: minmax(0, 1fr) 78px !important;
    gap: 6px !important;
  }

  .footer-newsletter input,
  .footer-newsletter button {
    min-height: 28px !important;
    font-size: 10px !important;
  }

  .footer-links {
    grid-column: auto !important;
    gap: 12px !important;
  }

  .footer-links strong,
  .footer-newsletter strong {
    font-size: 11px !important;
  }

  .footer-apps a {
    min-height: 34px !important;
    padding: 4px 8px !important;
  }

  .footer-apps strong {
    font-size: 12px !important;
  }

  .footer-apps small {
    font-size: 7px !important;
  }

  .footer-bottom {
    display: none !important;
    padding-bottom: 0 !important;
    font-size: 9px !important;
  }
}

/* AleoFly v144: footer trust strip belongs to the white content area, and the hero art fades into the page. */
@media (min-width: 761px) {
  .site-footer {
    margin-top: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #d7deea !important;
  }

  .footer-trust-wrap {
    width: 100% !important;
    background: #fff !important;
    border-top: 1px solid #edf0f4 !important;
  }

  .footer-trust-strip {
    width: var(--home-ref-shell) !important;
    min-height: 62px !important;
    display: grid !important;
    grid-template-columns: 1.08fr 1.35fr 1.08fr !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 auto !important;
    padding: 0 22px !important;
    border: 1px solid #e7ecf3 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #071126 !important;
    box-shadow: none !important;
  }

  .site-footer-dark {
    width: 100% !important;
    background: #071126 !important;
    color: #d7deea !important;
  }

  .site-footer-shell {
    width: 100% !important;
    background: transparent !important;
  }

  .footer-main,
  .footer-bottom {
    width: var(--home-ref-shell) !important;
  }

  .footer-main {
    margin: 0 auto !important;
    background: transparent !important;
  }

  .footer-bottom {
    margin: 0 auto !important;
    background: transparent !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    background: #fff !important;
  }

  .aleo-home-desktop-ref .aleo-home-art {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .aleo-home-desktop-ref .aleo-home-art::before {
    content: "" !important;
    position: absolute !important;
    inset: 12% -6% 2% -12% !important;
    z-index: -1 !important;
    background:
      radial-gradient(ellipse at 54% 62%, rgba(229, 9, 20, 0.18) 0%, rgba(229, 9, 20, 0.07) 35%, rgba(229, 9, 20, 0) 66%),
      linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(244, 248, 255, 0.65) 52%, rgba(255, 255, 255, 0) 100%) !important;
    filter: blur(18px) !important;
    pointer-events: none !important;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, #000 10%, #000 88%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 8%, #000 88%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(90deg, transparent 0%, #000 10%, #000 88%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 8%, #000 88%, transparent 100%);
    mask-composite: intersect;
    filter: drop-shadow(0 28px 38px rgba(229, 9, 20, 0.08)) saturate(1.04) !important;
  }

  .home-plan-price b {
    color: #e50914 !important;
    font-size: clamp(15px, 1.06vw, 20px) !important;
    font-weight: 950 !important;
  }

  .plan-card .price,
  .multi-card-price strong,
  .multi-row-price strong {
    font-weight: 950 !important;
  }

  .plan-card .price {
    font-size: clamp(24px, 1.65vw, 30px) !important;
  }

  .multi-card-price strong {
    font-size: clamp(27px, 1.72vw, 33px) !important;
  }

  .multi-row-price strong {
    font-size: clamp(25px, 1.55vw, 31px) !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .footer-trust-strip {
    min-height: 42px !important;
    grid-template-columns: 1.35fr 1.25fr 0.9fr !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    font-size: 9px !important;
  }

  .footer-main {
    height: 108px !important;
    overflow: hidden !important;
  }

  .home-plan-price b {
    font-size: 13px !important;
  }
}

@media (max-width: 760px) {
  .site-footer {
    background: #fff !important;
  }

  .footer-trust-wrap {
    background: #fff !important;
  }

  .site-footer-dark {
    background: #071126 !important;
  }
}

/* AleoFly v145: real payment/store icon treatments for the global footer. */
.footer-payment-logos .pay-brand {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: #071126;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.footer-payment-logos .pay-brand svg {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.footer-payment-logos .pay-brand b {
  display: inline-block;
  font: inherit;
}

.pay-brand-visa {
  color: #123a8c !important;
  letter-spacing: -0.02em;
}

.pay-brand-apple svg {
  width: 17px;
  height: 17px;
  fill: #050914;
  transform: translateY(-1px);
}

.pay-brand-google .google-mark {
  position: relative;
  width: 18px;
  height: 18px;
  display: inline-block;
  flex: 0 0 auto;
  border: 3px solid #4285f4;
  border-left-color: #fbbc05;
  border-bottom-color: #34a853;
  border-radius: 50%;
}

.pay-brand-google .google-mark::before {
  content: "";
  position: absolute;
  right: -4px;
  top: 6px;
  width: 10px;
  height: 4px;
  border-radius: 999px;
  background: #4285f4;
}

.pay-brand-google .google-mark::after {
  content: "";
  position: absolute;
  left: -4px;
  top: -4px;
  width: 12px;
  height: 12px;
  border-top: 4px solid #ea4335;
  border-left: 4px solid #ea4335;
  border-radius: 12px 0 0 0;
}

.pay-brand-google .google-mark i {
  display: none;
}

.pay-brand-paypal svg {
  width: 20px;
  height: 20px;
}

.pay-brand-paypal .pp-back {
  fill: #003087;
}

.pay-brand-paypal .pp-front {
  fill: #009cde;
  opacity: 0.96;
}

.footer-apps a {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: center !important;
  align-content: center !important;
  column-gap: 10px !important;
}

.store-badge-copy {
  display: grid;
  min-width: 0;
  line-height: 1;
}

.store-badge-icon {
  position: relative;
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

.store-badge-google {
  overflow: hidden;
  border-radius: 7px;
}

.store-badge-google i {
  position: absolute;
  left: 7px;
  top: 4px;
  width: 20px;
  height: 22px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.store-badge-google i:nth-child(1) {
  background: #00a8e8;
  clip-path: polygon(0 0, 45% 26%, 45% 74%, 0 100%);
}

.store-badge-google i:nth-child(2) {
  background: #34a853;
  clip-path: polygon(0 0, 100% 50%, 45% 50%, 45% 26%);
}

.store-badge-google i:nth-child(3) {
  background: #fbbc05;
  clip-path: polygon(45% 50%, 100% 50%, 45% 74%);
}

.store-badge-google i:nth-child(4) {
  background: #ea4335;
  clip-path: polygon(0 100%, 45% 74%, 100% 50%, 45% 50%);
}

.store-badge-apple {
  border-radius: 8px;
  background: #fff;
  color: #050914;
}

.store-badge-apple::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 15px;
  left: 8px;
  top: 8px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(28deg);
  transform-origin: center bottom;
}

.store-badge-apple::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 15px;
  right: 8px;
  top: 8px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(-28deg);
  transform-origin: center bottom;
}

.store-badge-apple i {
  position: absolute;
  width: 16px;
  height: 4px;
  left: 7px;
  bottom: 7px;
  border-radius: 999px;
  background: currentColor;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .footer-payment-logos {
    gap: 7px !important;
  }

  .footer-payment-logos .pay-brand {
    gap: 3px;
  }

  .footer-payment-logos .pay-brand svg,
  .pay-brand-google .google-mark {
    width: 14px;
    height: 14px;
  }

  .pay-brand-google .google-mark {
    border-width: 2px;
  }

  .pay-brand-google .google-mark::before {
    right: -3px;
    top: 5px;
    width: 8px;
    height: 3px;
  }

  .pay-brand-google .google-mark::after {
    left: -3px;
    top: -3px;
    width: 9px;
    height: 9px;
    border-top-width: 3px;
    border-left-width: 3px;
  }

  .pay-brand-paypal svg {
    width: 15px;
    height: 15px;
  }

  .footer-apps a {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 7px !important;
  }

  .store-badge-icon {
    width: 23px;
    height: 23px;
  }

  .store-badge-google i {
    left: 5px;
    top: 3px;
    width: 16px;
    height: 17px;
  }

  .store-badge-apple::before,
  .store-badge-apple::after {
    width: 4px;
    height: 11px;
    top: 6px;
  }

  .store-badge-apple::before {
    left: 7px;
  }

  .store-badge-apple::after {
    right: 7px;
  }

  .store-badge-apple i {
    width: 12px;
    height: 3px;
    left: 6px;
    bottom: 5px;
  }
}

/* AleoFly v146: official downloaded brand artwork and trip-card interaction. */
.footer-payment-logos .footer-payment-mark {
  display: block;
  flex: 0 0 auto;
  width: auto;
  object-fit: contain;
  object-position: center;
}

.footer-payment-mark-apple {
  height: 24px;
}

.footer-payment-mark-google {
  height: 25px;
}

.footer-payment-mark-paypal {
  height: 28px;
}

.footer-apps .footer-store-badge {
  display: grid !important;
  place-items: center !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  overflow: hidden !important;
}

.footer-apps .footer-store-badge img {
  display: block;
  width: 100%;
  height: 48px;
  object-fit: contain;
}

.footer-apps .footer-store-badge:hover,
.footer-apps .footer-store-badge:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.home-trip-card {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease !important;
  will-change: transform;
}

.home-trip-card > b {
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease !important;
}

.home-trip-card:hover,
.home-trip-card:focus-visible {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.11) !important;
  outline: 0 !important;
}

.home-trip-card.home-one:hover,
.home-trip-card.home-one:focus-visible {
  border-color: rgba(229, 9, 20, 0.34) !important;
  background: linear-gradient(90deg, #ffe9ed 0%, #fff5f6 56%, #fff 100%) !important;
}

.home-trip-card.home-multi:hover,
.home-trip-card.home-multi:focus-visible {
  border-color: rgba(20, 118, 232, 0.34) !important;
  background: linear-gradient(90deg, #e3f1ff 0%, #f1f8ff 56%, #fff 100%) !important;
}

.home-trip-card:hover > b,
.home-trip-card:focus-visible > b {
  transform: translateX(4px) scale(1.04);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16) !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .footer-payment-mark-apple {
    height: 17px;
  }

  .footer-payment-mark-google {
    height: 18px;
  }

  .footer-payment-mark-paypal {
    height: 21px;
  }

  .footer-apps .footer-store-badge,
  .footer-apps .footer-store-badge img {
    min-height: 34px !important;
    height: 34px !important;
  }
}

/* AleoFly v152: reference regional cards and equal-size official store badges. */
.footer-apps {
  justify-items: start !important;
}

.footer-apps .footer-store-badge {
  display: block !important;
  inline-size: 190px !important;
  block-size: 56px !important;
  width: 190px !important;
  height: 56px !important;
  min-width: 190px !important;
  max-width: 190px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  line-height: 0 !important;
  font-size: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.footer-apps .footer-store-badge img {
  display: block !important;
  inline-size: 190px !important;
  block-size: 56px !important;
  width: 190px !important;
  height: 56px !important;
  min-width: 190px !important;
  max-width: 190px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  object-fit: fill !important;
  object-position: center !important;
  vertical-align: top !important;
}

.aleo-home-desktop-ref .region-showcase-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.aleo-home-desktop-ref .region-showcase-card {
  height: 102px !important;
  min-height: 102px !important;
  align-content: center !important;
  justify-content: start !important;
  justify-items: start !important;
  grid-template-columns: minmax(0, 128px) !important;
  gap: 2px !important;
  padding: 13px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background-color: #071126 !important;
  background-image: none !important;
  text-align: left !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12) !important;
}

.aleo-home-desktop-ref .region-showcase-card::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(5, 13, 31, 0.86) 0%, rgba(5, 13, 31, 0.58) 38%, rgba(5, 13, 31, 0.16) 72%, rgba(5, 13, 31, 0.02) 100%),
    linear-gradient(180deg, rgba(5, 13, 31, 0.08) 0%, rgba(5, 13, 31, 0.58) 100%) !important;
  pointer-events: none !important;
}

.aleo-home-desktop-ref .region-card-art {
  z-index: 0 !important;
  object-fit: cover !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

.aleo-home-desktop-ref .region-europe .region-card-art {
  object-position: center center !important;
}

.aleo-home-desktop-ref .region-asia .region-card-art {
  object-position: center center !important;
}

.aleo-home-desktop-ref .region-middle-east .region-card-art {
  object-position: center center !important;
}

.aleo-home-desktop-ref .region-north-america .region-card-art {
  object-position: center center !important;
}

.aleo-home-desktop-ref .region-showcase-card strong {
  max-width: 128px !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 7px rgba(0, 0, 0, 0.45) !important;
}

.aleo-home-desktop-ref .region-showcase-card small,
.aleo-home-desktop-ref .region-showcase-card em {
  max-width: 128px !important;
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 11.5px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  text-shadow: 0 2px 7px rgba(0, 0, 0, 0.45) !important;
}

.aleo-home-desktop-ref .region-showcase-card b {
  right: 12px !important;
  top: 50% !important;
  bottom: auto !important;
  width: 34px !important;
  height: 34px !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16) !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .footer-apps .footer-store-badge {
    inline-size: 190px !important;
    block-size: 56px !important;
    width: 190px !important;
    height: 56px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .footer-apps .footer-store-badge img {
    inline-size: 190px !important;
    block-size: 56px !important;
    width: 190px !important;
    height: 56px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}

@media (max-width: 760px) {
  .footer-apps .footer-store-badge {
    inline-size: 190px !important;
    block-size: 56px !important;
    width: 190px !important;
    height: 56px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .footer-apps .footer-store-badge img {
    inline-size: 190px !important;
    block-size: 56px !important;
    width: 190px !important;
    height: 56px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .aleo-home-desktop-ref .region-showcase-card {
    width: 208px !important;
    height: 92px !important;
    min-height: 92px !important;
  }
}

/* AleoFly v153: mobile home reference pass and mobile carrier network icons. */
.network-icon-strip {
  display: none;
}

.network-icons-modal[hidden] {
  display: none !important;
}

.network-icons-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: grid;
  place-items: end center;
}

.network-icons-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 17, 38, 0.48);
}

.network-icons-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100% - 28px, 390px);
  margin: 0 0 16px;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(7, 17, 38, 0.28);
}

.network-icons-modal-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.network-icons-modal-dialog strong {
  color: #071126;
  font-size: 16px;
  font-weight: 950;
}

.network-icons-modal-dialog button {
  width: 34px;
  height: 34px;
  border: 1px solid #e7ecf3;
  border-radius: 50%;
  background: #fff;
  color: #071126;
  font-size: 21px;
  line-height: 1;
}

.network-icons-modal-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.home-mobile-assurance,
.home-mobile-faq,
.home-mobile-ready {
  display: none;
}

@media (max-width: 760px) {
  body:has(.aleo-home-v59) {
    background: #fff !important;
  }

  body:has(.aleo-home-v59) .site-header {
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    padding: 7px 14px !important;
    border-bottom: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body:has(.aleo-home-v59) .site-header .top-offer,
  body:has(.aleo-home-v59) .site-header .top-nav,
  body:has(.aleo-home-v59) .site-header .lang-select,
  body:has(.aleo-home-v59) .site-header .currency-select,
  body:has(.aleo-home-v59) .site-header [data-toggle-theme-quick] {
    display: none !important;
  }

  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup {
    grid-column: 2 !important;
    justify-self: center !important;
    height: 42px !important;
  }

  body:has(.aleo-home-v59) .brand-image-lockup .brand-logo-image {
    height: 38px !important;
    max-width: 138px !important;
  }

  body:has(.aleo-home-v59) .site-header > .header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    display: flex !important;
  }

  body:has(.aleo-home-v59) .header-actions > a {
    position: relative !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid #edf0f4 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  body:has(.aleo-home-v59) .header-actions > a::before {
    content: "";
    width: 15px;
    height: 17px;
    border: 2px solid #071126;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    border-bottom: 0;
  }

  body:has(.aleo-home-v59) .header-actions > a::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    margin: -21px -18px 0 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #e50914;
  }

  main.app:has(.aleo-home-v59) {
    max-width: none !important;
    width: 100% !important;
    padding: 0 0 70px !important;
    background: #fff !important;
  }

  .aleo-home-v59,
  .aleo-home-desktop-ref {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 10px 10px !important;
    color: #071126 !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    position: relative !important;
    min-height: 294px !important;
    display: block !important;
    margin: 0 -10px 8px !important;
    padding: 30px 18px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #fff 0%, #fff 64%, #f6f8ff 100%) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .aleo-home-desktop-ref .hero-copy {
    position: relative !important;
    z-index: 3 !important;
    width: 49% !important;
    max-width: 168px !important;
    display: grid !important;
    gap: 8px !important;
    padding-top: 26px !important;
  }

  .aleo-home-desktop-ref .hero-copy h1 {
    margin: 0 !important;
    color: #071126 !important;
    font-size: 28px !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
    font-weight: 950 !important;
  }

  .aleo-home-desktop-ref .hero-copy h1 span {
    display: block !important;
    color: #e50914 !important;
  }

  .aleo-home-desktop-ref .hero-sub {
    max-width: 142px !important;
    margin: 0 !important;
    color: #111827 !important;
    font-size: 10.7px !important;
    line-height: 1.28 !important;
    font-weight: 900 !important;
  }

  .aleo-home-desktop-ref .aleo-home-art {
    position: absolute !important;
    z-index: 1 !important;
    left: 108px !important;
    right: -54px !important;
    top: 6px !important;
    min-height: 268px !important;
    height: 268px !important;
    display: block !important;
    overflow: visible !important;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    width: 345px !important;
    max-width: none !important;
    height: 268px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
    filter: drop-shadow(0 12px 20px rgba(229, 9, 20, 0.1)) !important;
  }

  .home-phone-ui {
    display: none !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip {
    position: relative !important;
    z-index: 4 !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 86px 0 0 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip div {
    min-height: 82px !important;
    gap: 4px !important;
    padding: 9px 4px !important;
    border: 1px solid #e8edf4 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip .ui-icon {
    width: 22px !important;
    height: 22px !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip strong {
    font-size: 9.5px !important;
    line-height: 1.12 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip small {
    font-size: 7.4px !important;
    line-height: 1.1 !important;
  }

  .home-trip-selector {
    margin: 10px 0 12px !important;
    padding: 13px 10px !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
  }

  .home-trip-selector header {
    margin-bottom: 10px !important;
    text-align: left !important;
  }

  .home-trip-selector h2 {
    font-size: 17px !important;
  }

  .home-trip-selector p {
    font-size: 9.5px !important;
  }

  .home-trip-grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .home-trip-card {
    min-height: 72px !important;
    grid-template-columns: 54px minmax(0, 1fr) 32px !important;
    gap: 9px !important;
    padding: 11px 10px !important;
    border-radius: 8px !important;
  }

  .home-trip-icon,
  .home-trip-icon .ui-icon {
    width: 48px !important;
    height: 48px !important;
  }

  .home-trip-copy strong {
    font-size: 12px !important;
  }

  .home-trip-copy small {
    font-size: 8.6px !important;
    line-height: 1.22 !important;
  }

  .home-trip-card > b {
    width: 30px !important;
    height: 30px !important;
  }

  .aleo-home-desktop-ref .aleo-popular,
  .home-recommended-plans,
  .home-regional-plans,
  .home-why,
  .home-testimonials,
  .home-mobile-assurance,
  .home-mobile-faq,
  .home-mobile-ready {
    display: block !important;
    margin: 14px 0 !important;
  }

  .aleo-home-desktop-ref .row-head {
    margin-bottom: 9px !important;
  }

  .aleo-home-desktop-ref .row-head h2,
  .home-mobile-faq h2 {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .aleo-home-desktop-ref .see-all {
    font-size: 10px !important;
  }

  .aleo-home-desktop-ref .popular-country-strip {
    grid-auto-columns: 75px !important;
    gap: 8px !important;
    margin: 0 -2px !important;
    padding: 0 2px 8px !important;
  }

  .aleo-home-desktop-ref .popular-country-card {
    min-height: 78px !important;
    gap: 3px !important;
    padding: 9px 4px !important;
    border-radius: 8px !important;
  }

  .aleo-home-desktop-ref .popular-country-flag {
    width: 26px !important;
    height: 26px !important;
  }

  .aleo-home-desktop-ref .popular-country-card strong {
    font-size: 8.7px !important;
  }

  .aleo-home-desktop-ref .popular-country-card small {
    font-size: 8.5px !important;
  }

  .home-plan-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .home-plan-card {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) 82px !important;
    grid-template-areas:
      "top price"
      "country price"
      "main action"
      "specs action" !important;
    align-items: center !important;
    gap: 7px 10px !important;
    padding: 12px !important;
    border-radius: 9px !important;
  }

  .home-plan-top { grid-area: top !important; }
  .home-plan-country { grid-area: country !important; }
  .home-plan-main { grid-area: main !important; }
  .home-plan-specs { grid-area: specs !important; }
  .home-plan-action { grid-area: action !important; }

  .home-plan-main .home-plan-price {
    position: absolute !important;
    right: 14px !important;
    top: 44px !important;
  }

  .home-plan-country strong {
    font-size: 11.5px !important;
  }

  .home-plan-main > div:first-child strong {
    font-size: 24px !important;
  }

  .home-plan-main > div:first-child span {
    font-size: 10px !important;
  }

  .home-plan-price b {
    font-size: 14px !important;
  }

  .home-plan-specs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  .home-plan-specs dt {
    font-size: 7.4px !important;
  }

  .home-plan-specs dd {
    font-size: 8px !important;
  }

  .home-plan-action {
    min-height: 34px !important;
    align-self: end !important;
    font-size: 9px !important;
  }

  .network-icon-strip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    max-width: 100% !important;
  }

  .network-icon {
    width: 20px !important;
    height: 20px !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 2px 5px rgba(15, 23, 42, 0.12) !important;
  }

  .network-icon i {
    font-style: normal !important;
  }

  .network-tone-1 { background: #005baa !important; }
  .network-tone-2 { background: #ff7900 !important; }
  .network-tone-3 { background: #e20074 !important; }
  .network-tone-4 { background: #00a859 !important; }
  .network-tone-5 { background: #e60000 !important; }
  .network-tone-6 { background: #161b33 !important; }
  .network-tone-7 { background: #6d28d9 !important; }
  .network-turkcell { background: #ffc400 !important; color: #143b7a !important; }
  .network-orange { background: #ff7900 !important; }
  .network-tmobile { background: #e20074 !important; }
  .network-vodafone { background: #e60000 !important; }
  .network-etisalat { background: #00843d !important; }
  .network-du { background: #00a9e0 !important; }
  .network-att { background: #00a8e0 !important; }
  .network-ntt { background: #005bac !important; }
  .network-kddi { background: #e60012 !important; }

  .network-icon-more {
    width: 20px !important;
    height: 20px !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #071126 !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .one-country-network-icons,
  .multi-network-icons,
  .plan-card-networks,
  .product-network-icons {
    margin-top: 3px !important;
  }

  .multi-plan-card,
  .one-country-plan-card,
  .plan-card {
    border-radius: 10px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar div {
    min-height: 58px !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: 10px 12px !important;
    border-radius: 9px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar span {
    width: 36px !important;
    height: 36px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar strong {
    font-size: 11px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar small {
    font-size: 9px !important;
  }

  .home-testimonial-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .home-testimonial-card {
    padding: 12px !important;
    border-radius: 9px !important;
  }

  .home-testimonial-card p {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .home-mobile-assurance {
    border: 1px solid #edf0f5 !important;
    border-radius: 9px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  .home-mobile-assurance > div:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    padding: 11px 10px !important;
    border-bottom: 1px solid #edf0f5 !important;
    font-size: 8.5px !important;
    font-weight: 900 !important;
  }

  .home-mobile-assurance > div:first-child span {
    color: #ffb000 !important;
    letter-spacing: 0 !important;
  }

  .home-mobile-payments {
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    gap: 8px !important;
    padding: 11px 10px !important;
    border-bottom: 1px solid #edf0f5 !important;
  }

  .home-mobile-payments img {
    max-width: 44px !important;
    max-height: 20px !important;
    object-fit: contain !important;
  }

  .home-mobile-payments img[alt="PayPal"] {
    width: 28px !important;
    height: 22px !important;
  }

  .home-mobile-safe {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .home-mobile-safe span {
    min-height: 48px !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    border-right: 1px solid #edf0f5 !important;
    color: #334155 !important;
    font-size: 7.8px !important;
    text-align: center !important;
  }

  .home-mobile-safe span:last-child {
    border-right: 0 !important;
  }

  .home-mobile-safe .ui-icon {
    width: 18px !important;
    height: 18px !important;
    color: #64748b !important;
  }

  .home-mobile-faq-list {
    display: grid !important;
    gap: 8px !important;
  }

  .home-mobile-faq details {
    border: 1px solid #edf0f5 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .home-mobile-faq summary {
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 11px !important;
    color: #071126 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
  }

  .home-mobile-faq p {
    margin: 0 !important;
    padding: 0 11px 11px !important;
    color: #667085 !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
  }

  .home-mobile-ready {
    min-height: 118px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 128px !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
    padding: 14px 0 14px 14px !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg, #fff0f2 0%, #fff6f7 58%, #fff 100%) !important;
  }

  .home-mobile-ready h2 {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .home-mobile-ready p {
    margin: 5px 0 10px !important;
    color: #667085 !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
  }

  .home-mobile-ready a {
    display: inline-grid !important;
    place-items: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 7px !important;
    background: #e50914 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 950 !important;
  }

  .home-mobile-ready img {
    width: 158px !important;
    height: 110px !important;
    object-fit: cover !important;
    object-position: 52% center !important;
  }

  body:has(.aleo-home-v59) .footer-trust-wrap {
    display: none !important;
  }

  body:has(.aleo-home-v59) .site-footer-dark {
    margin-top: 0 !important;
  }
}

/* AleoFly v154 final mobile home overrides: placed last to win over legacy home blocks. */
@media (max-width: 760px) {
  body:has(.aleo-home-v59) .site-header {
    position: relative !important;
  }

  body:has(.aleo-home-v59) .site-header > .header-actions {
    display: none !important;
  }

  body:has(.aleo-home-v59) .site-header::after {
    content: "" !important;
    grid-column: 3 !important;
    justify-self: end !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid #edf0f4 !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    background-image:
      radial-gradient(circle at 24px 8px, #e50914 0 4px, #fff 4px 6px, transparent 6px),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23071126' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 1 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: center, center !important;
    background-size: 34px 34px, 18px 18px !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    min-height: 388px !important;
    padding: 30px 16px 100px !important;
    background: #fff !important;
  }

  .aleo-home-desktop-ref .hero-copy {
    position: static !important;
    width: 50% !important;
    max-width: 168px !important;
  }

  .aleo-home-desktop-ref .hero-copy h1,
  .aleo-home-desktop-ref .hero-copy .hero-sub {
    position: relative !important;
    z-index: 4 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 12px !important;
    z-index: 6 !important;
    width: auto !important;
    max-width: none !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip div {
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 9px 3px 8px !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip strong {
    max-width: 58px !important;
    margin: 0 auto !important;
    font-size: 8.7px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip small {
    font-size: 7px !important;
    line-height: 1.08 !important;
  }

  .aleo-home-desktop-ref .home-phone-ui {
    display: grid !important;
    left: 54% !important;
    top: 61% !important;
  }

  .home-plan-card {
    grid-template-columns: minmax(0, 1fr) 88px !important;
    overflow: hidden !important;
  }

  .home-plan-action {
    width: 88px !important;
    min-width: 0 !important;
    max-width: 88px !important;
    justify-self: end !important;
    padding: 0 7px !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  .aleo-home-desktop-ref .region-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .aleo-home-desktop-ref .region-showcase-card {
    min-height: 86px !important;
    padding: 10px !important;
    border-radius: 8px !important;
  }

  .aleo-home-desktop-ref .region-showcase-card strong {
    font-size: 15px !important;
    line-height: 1.02 !important;
  }

  .aleo-home-desktop-ref .region-showcase-card small,
  .aleo-home-desktop-ref .region-showcase-card em {
    font-size: 9px !important;
  }

  .aleo-home-desktop-ref .region-showcase-card b {
    right: 8px !important;
    bottom: 8px !important;
    width: 28px !important;
    height: 28px !important;
  }
}

/* AleoFly v168 final hero cleanup: must remain after legacy home overrides. */
.aleo-home-desktop-ref .home-phone-ui {
  display: none !important;
}

.aleo-home-desktop-ref .aleo-home-art {
  background: none !important;
  background-image: none !important;
  border-radius: 0 !important;
}

.aleo-home-desktop-ref .aleo-home-art > .home-hero-art-img {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body:has(.aleo-home-v59) .brand-image-lockup .brand-logo-image {
  width: clamp(204px, 14vw, 282px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: 100px !important;
}

.home-hero-trust {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
  margin-top: 4px !important;
  color: #334155 !important;
}

.home-trust-avatars {
  width: 98px !important;
  height: auto !important;
  display: block !important;
  flex: 0 0 auto !important;
}

.home-trust-stars {
  color: #e50914 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  letter-spacing: 2px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.home-trust-copy {
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.home-best-price-row {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 16px !important;
  padding: 13px 16px !important;
  border: 1px solid #eef1f5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0f172a !important;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045) !important;
}

.home-best-price-row > span:first-child {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #fff1f2 !important;
  color: #e50914 !important;
}

.home-best-price-row .ui-icon {
  width: 22px !important;
  height: 22px !important;
}

.home-best-price-row strong {
  display: block !important;
  color: #e50914 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
}

.home-best-price-row small {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.aleo-home-desktop-ref .home-hero-art-img {
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 58%, rgba(0, 0, 0, 0.9) 72%, rgba(0, 0, 0, 0.18) 91%, transparent 100%) !important;
  mask-image: radial-gradient(ellipse at 50% 50%, #000 58%, rgba(0, 0, 0, 0.9) 72%, rgba(0, 0, 0, 0.18) 91%, transparent 100%) !important;
}

@media (min-width: 761px) {
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup {
    min-width: clamp(206px, 15vw, 272px) !important;
  }

  body:has(.aleo-home-v59) .brand-image-lockup .brand-logo-image {
    width: clamp(228px, 15.5vw, 304px) !important;
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  body:has(.aleo-home-v59) .site-header {
    min-height: 90px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup {
    height: 72px !important;
  }

  body:has(.aleo-home-v59) .brand-image-lockup .brand-logo-image {
    width: 208px !important;
    height: auto !important;
    max-width: none !important;
    max-height: 76px !important;
  }

  .aleo-home-desktop-ref .aleo-home-hero {
    background:
      radial-gradient(circle at 76% 28%, rgba(229, 9, 20, 0.08) 0 18%, rgba(255, 255, 255, 0) 42%),
      linear-gradient(180deg, #ffffff 0%, #ffffff 66%, #f8fbff 100%) !important;
  }

  .aleo-home-desktop-ref .aleo-home-art {
    left: 58px !important;
    right: -34px !important;
    top: 4px !important;
  }

  .aleo-home-desktop-ref .aleo-home-art::after {
    content: "" !important;
    position: absolute !important;
    inset: -18px -24px -20px -28px !important;
    z-index: 3 !important;
    pointer-events: none !important;
    background:
      linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.99) 16%, rgba(255, 255, 255, 0.78) 29%, rgba(255, 255, 255, 0.12) 46%, rgba(255, 255, 255, 0) 74%, rgba(255, 255, 255, 0.82) 95%, #fff 100%),
      linear-gradient(180deg, #fff 0%, #fff 10%, rgba(255, 255, 255, 0.9) 18%, rgba(255, 255, 255, 0.42) 30%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 78%, rgba(248, 251, 255, 0.9) 96%, #f8fbff 100%),
      radial-gradient(ellipse at 64% 54%, rgba(255, 255, 255, 0) 0 38%, rgba(255, 255, 255, 0.2) 62%, rgba(255, 255, 255, 0.72) 86%, #fff 100%) !important;
  }

  .aleo-home-desktop-ref .home-hero-art-img {
    width: 372px !important;
    height: 286px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    -webkit-mask-image: radial-gradient(ellipse 72% 74% at 66% 55%, #000 0%, #000 45%, rgba(0, 0, 0, 0.92) 58%, rgba(0, 0, 0, 0.45) 76%, transparent 100%) !important;
    mask-image: radial-gradient(ellipse 72% 74% at 66% 55%, #000 0%, #000 45%, rgba(0, 0, 0, 0.92) 58%, rgba(0, 0, 0, 0.45) 76%, transparent 100%) !important;
    filter: drop-shadow(0 14px 22px rgba(229, 9, 20, 0.12)) !important;
  }

  .home-hero-trust {
    position: relative !important;
    z-index: 5 !important;
    width: 216px !important;
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    row-gap: 2px !important;
    align-items: center !important;
    margin-top: 16px !important;
  }

  .home-trust-avatars {
    grid-row: 1 / 3 !important;
    width: 76px !important;
  }

  .home-trust-stars {
    font-size: 13px !important;
    letter-spacing: 1px !important;
  }

  .home-trust-copy {
    color: #ffffff !important;
    font-size: 10.5px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    white-space: normal !important;
    text-shadow:
      0 1px 2px rgba(2, 6, 23, 0.92),
      0 0 10px rgba(2, 6, 23, 0.48) !important;
  }

  .aleo-home-desktop-ref .aleo-feature-strip {
    margin-top: 22px !important;
  }

  .home-trip-selector {
    margin: 18px 0 12px !important;
    padding: 18px 14px 16px !important;
    border-radius: 20px !important;
  }

  .home-trip-selector header {
    margin-bottom: 14px !important;
  }

  .home-trip-selector h2 {
    font-size: 22px !important;
    line-height: 1.12 !important;
  }

  .home-trip-selector p {
    margin-top: 6px !important;
    color: #475569 !important;
    font-size: 13px !important;
  }

  .home-trip-grid {
    gap: 14px !important;
  }

  .home-trip-card {
    min-height: 118px !important;
    grid-template-columns: 88px minmax(0, 1fr) 42px !important;
    gap: 14px !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .home-trip-icon {
    width: 72px !important;
    height: 72px !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05) !important;
  }

  .home-trip-icon .ui-icon {
    width: 58px !important;
    height: 58px !important;
  }

  .home-trip-copy strong {
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  .home-trip-copy small {
    margin-top: 8px !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }

  .home-trip-card > b {
    width: 44px !important;
    height: 44px !important;
    box-shadow: 0 12px 20px rgba(229, 9, 20, 0.22) !important;
  }

  .home-best-price-row {
    grid-template-columns: 36px minmax(0, 1fr) 18px !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding: 12px 14px !important;
    border-radius: 13px !important;
  }

  .home-best-price-row > span:first-child {
    width: 34px !important;
    height: 34px !important;
  }

  .home-best-price-row strong {
    font-size: 13px !important;
  }

  .home-best-price-row small {
    font-size: 10.5px !important;
  }
}

/* AleoFly v169 final cascade: carrier wordmarks must appear on desktop and mobile product cards. */
.network-icon-strip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
  vertical-align: middle !important;
}

.network-icon {
  width: auto !important;
  min-width: 36px !important;
  max-width: 96px !important;
  height: 24px !important;
  padding: 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border: 1px solid #edf0f4 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #101827 !important;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.07) !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

.network-icon i {
  min-width: 0 !important;
  overflow: hidden !important;
  font-style: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.network-icon-more {
  width: 24px !important;
  height: 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border: 1px solid #e5eaf2 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #071126 !important;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.06) !important;
  cursor: pointer !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.network-icons-modal-grid .network-icon {
  min-width: 72px !important;
  height: 32px !important;
  padding-inline: 10px !important;
  font-size: 12px !important;
}

.network-turkcell { background: #fff7c0 !important; color: #153a78 !important; border-color: #ffe26a !important; }
.network-orange { background: #ff7900 !important; color: #fff !important; border-color: #ff7900 !important; }
.network-vodafone { background: #fff !important; color: #e60000 !important; border-color: #ffd4d4 !important; }
.network-tmobile,
.network-telekom { background: #fff0f8 !important; color: #e20074 !important; border-color: #ffd1e9 !important; font-size: 13px !important; }
.network-a1 { background: #fff !important; color: #d0021b !important; border-color: #ffd8df !important; font-size: 13px !important; }
.network-three { background: #fff !important; color: #20252e !important; border-color: #cfd8e3 !important; font-size: 15px !important; }
.network-proximus { background: #fff !important; color: #662d91 !important; border-color: #eadcf7 !important; }
.network-base { background: #ecfff2 !important; color: #009a44 !important; border-color: #bff3d0 !important; }
.network-sunrise { background: #fff3ed !important; color: #e74711 !important; border-color: #ffd4bf !important; }
.network-salt { background: #fff !important; color: #111827 !important; border-color: #cfd8e3 !important; font-size: 13px !important; }
.network-swisscom { background: #fff !important; color: #e30613 !important; border-color: #ffd2d8 !important; }
.network-sfr { background: #e30613 !important; color: #fff !important; border-color: #e30613 !important; }
.network-bouygues { background: #eaf7ff !important; color: #009fe3 !important; border-color: #b7e8ff !important; }
.network-tim { background: #fff !important; color: #0b4ea2 !important; border-color: #c8ddff !important; }
.network-windtre { background: #fff5e8 !important; color: #f08300 !important; border-color: #ffdca8 !important; }
.network-kpn { background: #f1fff7 !important; color: #00a651 !important; border-color: #c4f0d5 !important; }
.network-o2 { background: #eef6ff !important; color: #004b93 !important; border-color: #c7e2ff !important; font-size: 13px !important; }
.network-ee { background: #fffbe5 !important; color: #007c89 !important; border-color: #ffec85 !important; font-size: 13px !important; }
.network-etisalat { background: #f1fff2 !important; color: #00843d !important; border-color: #c8f0ce !important; }
.network-du { background: #eafaff !important; color: #00a9e0 !important; border-color: #bceeff !important; font-size: 13px !important; }
.network-att { background: #eefbff !important; color: #0073cf !important; border-color: #bcecff !important; }
.network-docomo { background: #fff !important; color: #d6001c !important; border-color: #ffd3da !important; }
.network-kddi,
.network-au { background: #fff2f2 !important; color: #e60012 !important; border-color: #ffcfd2 !important; }
.network-softbank { background: #fff !important; color: #111827 !important; border-color: #d7e1ee !important; }

@media (max-width: 760px) {
  .network-icon-strip {
    gap: 4px !important;
  }

  .network-icon {
    min-width: 30px !important;
    max-width: 62px !important;
    height: 21px !important;
    padding: 0 5px !important;
    border-radius: 6px !important;
    font-size: 8px !important;
  }

  .network-tmobile,
  .network-telekom,
  .network-a1,
  .network-three,
  .network-o2,
  .network-ee {
    font-size: 10px !important;
  }

  .network-icon-more {
    width: 21px !important;
    height: 21px !important;
    border-radius: 6px !important;
  }
}

/* AleoFly v171: make the AleoFly header logo larger on every page, not home only. */
.site-header > .brand.brand-image-lockup {
  min-width: clamp(184px, 14vw, 246px) !important;
  height: 74px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
}

.brand-image-lockup .brand-logo-image {
  width: clamp(188px, 13.5vw, 246px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: 74px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

@media (max-width: 760px) {
  .site-header > .brand.brand-image-lockup {
    min-width: 0 !important;
    height: 72px !important;
  }

  .brand-image-lockup .brand-logo-image {
    width: 188px !important;
    max-width: none !important;
    max-height: 72px !important;
  }
}

/* AleoFly v172: equalize header logo size across home and all inner pages. */
.site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup {
  min-width: 224px !important;
  width: 224px !important;
  height: 76px !important;
  max-height: 76px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .brand-image-lockup .brand-logo-image {
  width: 224px !important;
  height: auto !important;
  max-width: 224px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

@media (max-width: 760px) {
  .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup {
    min-width: 198px !important;
    width: 198px !important;
    height: 74px !important;
    max-height: 74px !important;
  }

  .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .brand-image-lockup .brand-logo-image {
    width: 198px !important;
    max-width: 198px !important;
    max-height: 74px !important;
  }
}

/* AleoFly v173: one-country country-plan mobile screen matched to the approved package reference. */
.one-country-mobile-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.one-country-mobile-section-head a {
  color: #e50914;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
}

@media (min-width: 761px) {
  .one-country-mobile-section-head a {
    display: none;
  }
}

@media (max-width: 760px) {
  body:has(.one-country-page) {
    background: #fff !important;
  }

  body:has(.one-country-page) .site-header {
    min-height: 86px !important;
    padding: 10px 16px 8px !important;
    border-bottom: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body:has(.one-country-page) .site-header .top-offer,
  body:has(.one-country-page) .site-header .top-nav,
  body:has(.one-country-page) .site-header .lang-select,
  body:has(.one-country-page) .site-header .currency-select,
  body:has(.one-country-page) .site-header [data-toggle-theme-quick] {
    display: none !important;
  }

  body:has(.one-country-page) .site-header > .brand.brand-image-lockup {
    width: 202px !important;
    min-width: 202px !important;
    height: 66px !important;
    max-height: 66px !important;
  }

  body:has(.one-country-page) .brand-image-lockup .brand-logo-image {
    width: 202px !important;
    max-width: 202px !important;
    max-height: 66px !important;
  }

  body:has(.one-country-page) .site-header > .header-actions {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body:has(.one-country-page) .header-actions > a {
    min-height: 36px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    background: #e50914 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
  }

  main.app:has(.one-country-page) {
    padding: 0 0 100px !important;
    background: #fff !important;
  }

  .one-country-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 12px 18px !important;
    display: grid !important;
    gap: 12px !important;
    --country-line: #edf1f6;
    --country-muted: #667085;
    --country-red: #e50914;
    color: #071126 !important;
  }

  .one-country-hero.app-country-head {
    position: relative !important;
    min-height: 148px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 16px !important;
    background:
      linear-gradient(110deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.92) 37%, rgba(255,241,245,0.55) 100%),
      #f8fbff !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
  }

  .one-country-hero.app-country-head::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(90deg, #fff 0%, rgba(255,255,255,0.94) 43%, rgba(255,255,255,0.18) 69%, rgba(255,255,255,0.78) 100%),
      linear-gradient(180deg, rgba(255,255,255,0) 56%, #fff 100%);
  }

  .one-country-hero.app-country-head > .one-country-hero-main {
    position: relative !important;
    z-index: 2 !important;
    height: 148px !important;
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    gap: 0 !important;
    padding: 14px 14px 12px !important;
  }

  .one-country-hero-title-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .one-country-back {
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #071126 !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12) !important;
    font-size: 28px !important;
    line-height: 1 !important;
  }

  .one-country-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .one-country-title .country-title-flag {
    width: 58px !important;
    height: 58px !important;
    border: 4px solid #fff !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.14) !important;
  }

  .one-country-title-copy {
    gap: 3px !important;
    min-width: 0 !important;
  }

  .one-country-title-copy > div {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }

  .one-country-hero.app-country-head h1,
  .one-country-title h1 {
    margin: 0 !important;
    color: #071126 !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
  }

  .one-country-title button {
    width: 20px !important;
    height: 20px !important;
    border: 0 !important;
    background: transparent !important;
    color: #667085 !important;
    font-size: 11px !important;
  }

  .one-country-title p {
    max-width: 182px !important;
    margin: 0 !important;
    color: #506077 !important;
    font-size: 10.5px !important;
    font-weight: 750 !important;
    line-height: 1.28 !important;
  }

  .one-country-art {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 0 0 42% !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    background-color: transparent !important;
  }

  .one-country-art::before,
  .one-country-art::after,
  .one-country-art-photo::before {
    display: none !important;
  }

  .one-country-art-photo {
    background-image:
      linear-gradient(90deg, rgba(255,255,255,0.90) 0%, rgba(255,255,255,0.22) 34%, rgba(255,255,255,0.04) 100%),
      linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.88) 100%),
      var(--country-hero-image) !important;
    background-size: cover !important;
    background-position: var(--country-hero-position, center right) !important;
    background-repeat: no-repeat !important;
  }

  .one-country-benefits {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    align-self: end !important;
    color: #344054 !important;
    font-size: 9.2px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  .one-country-benefits span {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .one-country-benefits .ui-icon {
    width: 13px !important;
    height: 13px !important;
  }

  .one-country-benefits span::before {
    display: none !important;
  }

  .one-country-highlights {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .one-country-highlight,
  .one-country-total-card {
    min-height: 98px !important;
    height: auto !important;
    padding: 11px 12px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05) !important;
  }

  .one-country-total-card {
    background: linear-gradient(135deg, #fff, #fff3f4) !important;
  }

  .country-highlight-label {
    min-height: 14px !important;
    margin: 0 0 7px !important;
    gap: 4px !important;
    font-size: 8px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .country-highlight-label .ui-icon {
    width: 9px !important;
    height: 9px !important;
  }

  .country-highlight-body {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: center !important;
  }

  .country-highlight-body .country-mini-flag {
    width: 26px !important;
    height: 26px !important;
  }

  .country-highlight-body strong {
    color: #071126 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
  }

  .country-highlight-body b {
    color: #e50914 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  .country-highlight-tags {
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
  }

  .country-highlight-tags span {
    min-height: 18px !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    background: #fff0f2 !important;
    color: #e50914 !important;
    font-size: 8px !important;
    font-weight: 950 !important;
  }

  .one-country-total-card div {
    gap: 2px !important;
  }

  .one-country-total-card span,
  .one-country-total-card small {
    color: #667085 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  .one-country-total-card strong {
    color: #e50914 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  .one-country-total-card b {
    margin-top: 4px !important;
    color: #071126 !important;
    font-size: 28px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .one-country-total-card i {
    width: 78px !important;
    height: 72px !important;
    right: 0 !important;
    bottom: -8px !important;
    opacity: 0.12 !important;
  }

  .one-country-plans-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    align-items: start !important;
    gap: 12px 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .one-country-toolbar {
    display: contents !important;
  }

  .one-country-toolbar .plan-tabs {
    order: 1 !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .one-country-toolbar .plan-tabs button {
    position: relative !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 6px 2px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #667085 !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    box-shadow: inset 0 -1px 0 #edf1f6 !important;
  }

  .one-country-toolbar .plan-tabs button.active {
    color: #071126 !important;
    background: transparent !important;
  }

  .one-country-toolbar .plan-tabs button.active::after {
    content: "" !important;
    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #e50914 !important;
  }

  .one-country-toolbar .plan-tabs .ui-icon {
    display: none !important;
  }

  .plan-tabs b {
    min-width: 18px !important;
    height: 18px !important;
    margin-left: 3px !important;
    background: #f7f8fb !important;
    color: #667085 !important;
    font-size: 8.5px !important;
  }

  .one-country-filter-bar {
    order: 2 !important;
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px 8px !important;
    margin: 0 !important;
  }

  .one-country-filter-bar label {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    color: #667085 !important;
  }

  .one-country-filter-bar label span {
    padding-left: 2px !important;
  }

  .one-country-filter-bar select {
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 24px 0 10px !important;
    border: 1px solid #e8edf4 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #071126 !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.035) !important;
  }

  .one-country-clear {
    min-height: 42px !important;
    align-self: end !important;
    padding: 0 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: #e50914 !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  .one-country-clear::before {
    content: "↻";
    margin-right: 5px;
    font-size: 13px;
  }

  .one-country-sort {
    order: 3 !important;
    grid-column: 1 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.035) !important;
  }

  .one-country-sort span {
    color: #667085 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
  }

  .one-country-sort select {
    width: 100% !important;
    min-height: 30px !important;
    padding: 0 20px 0 0 !important;
    border: 0 !important;
    background-color: transparent !important;
    color: #071126 !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  .one-country-grid-options {
    order: 3 !important;
    grid-column: 2 !important;
    justify-self: stretch !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.035) !important;
  }

  .one-country-content {
    order: 4 !important;
    grid-column: 1 / -1 !important;
    display: block !important;
  }

  .one-country-sidebar {
    display: none !important;
  }

  .one-country-results-group > .plan-group-head {
    display: none !important;
  }

  .one-country-popular {
    display: grid !important;
    gap: 9px !important;
    margin-top: 2px !important;
  }

  .one-country-mobile-section-head h3,
  .one-country-popular h3,
  .one-country-all-head h3 {
    margin: 0 !important;
    color: #071126 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
  }

  .one-country-popular h3 .ui-icon {
    width: 13px !important;
    height: 13px !important;
    color: #f59e0b !important;
  }

  .one-country-popular .one-country-card-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 16px) / 3) !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 1px 2px 8px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  .one-country-popular .one-country-card-grid::-webkit-scrollbar {
    display: none !important;
  }

  .one-country-popular .one-country-plan-card {
    scroll-snap-align: start !important;
    min-height: 184px !important;
    display: grid !important;
    grid-template-rows: auto auto auto auto 1fr auto auto !important;
    gap: 5px !important;
    padding: 11px 10px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(229, 9, 20, 0.07) !important;
  }

  .one-country-plan-top,
  .one-country-plan-title,
  .one-country-price-row,
  .one-country-all-head {
    display: flex !important;
    align-items: center !important;
  }

  .one-country-popular .one-country-plan-top {
    justify-content: space-between !important;
    min-height: 20px !important;
  }

  .one-country-card-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 17px !important;
    padding: 2px 5px !important;
    border-radius: 999px !important;
    background: #fff0f2 !important;
    color: #e50914 !important;
    font-size: 7px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .one-country-fav {
    width: 22px !important;
    height: 22px !important;
    border: 0 !important;
    color: #98a2b3 !important;
    background: transparent !important;
  }

  .one-country-fav .ui-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .one-country-popular .one-country-plan-title {
    gap: 6px !important;
  }

  .one-country-popular .one-country-plan-title .country-mini-flag {
    width: 25px !important;
    height: 25px !important;
  }

  .one-country-popular .one-country-plan-title strong {
    color: #071126 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .one-country-popular .one-country-plan-card > small {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
  }

  .one-country-popular .country-highlight-tags {
    margin-top: 0 !important;
    gap: 4px !important;
  }

  .one-country-popular .country-highlight-tags span {
    min-height: 16px !important;
    padding: 1px 5px !important;
    font-size: 7px !important;
  }

  .one-country-popular .network-icon-strip {
    min-height: 19px !important;
    gap: 3px !important;
  }

  .one-country-popular .network-icon {
    min-width: 25px !important;
    max-width: 45px !important;
    height: 17px !important;
    padding: 0 4px !important;
    border-radius: 5px !important;
    font-size: 6.8px !important;
  }

  .one-country-popular .network-icon-more {
    width: 17px !important;
    height: 17px !important;
    border-radius: 5px !important;
    font-size: 11px !important;
  }

  .one-country-popular .one-country-price-row {
    justify-content: space-between !important;
    gap: 4px !important;
    margin: 0 !important;
  }

  .one-country-popular .one-country-price-row strong {
    color: #e50914 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .one-country-popular .one-country-price-row span {
    display: none !important;
  }

  .one-country-popular .one-country-price-row small {
    color: #667085 !important;
    font-size: 8px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  .one-country-popular .one-country-buy {
    width: 100% !important;
    min-height: 30px !important;
    margin-top: 2px !important;
    border-radius: 999px !important;
    background: #e50914 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 950 !important;
  }

  .one-country-all-plans {
    display: grid !important;
    gap: 9px !important;
    margin-top: 12px !important;
  }

  .one-country-all-head {
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .one-country-all-head > span {
    margin-right: auto !important;
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #f7f8fb !important;
    color: #667085 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
  }

  .one-country-view-toggle {
    display: inline-flex !important;
    gap: 3px !important;
    padding: 3px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 9px !important;
    background: #fff !important;
  }

  .one-country-view-toggle button {
    min-width: 56px !important;
    min-height: 28px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #667085 !important;
    font-size: 9px !important;
    font-weight: 950 !important;
  }

  .one-country-view-toggle button.active {
    background: #fff0f2 !important;
    color: #e50914 !important;
  }

  .one-country-view-toggle .ui-icon {
    width: 10px !important;
    height: 10px !important;
  }

  .one-country-cards-panel .one-country-card-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .one-country-all-plans .one-country-plan-card {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 28px !important;
    grid-template-areas:
      "title price action"
      "duration price action"
      "tags price action" !important;
    gap: 4px 8px !important;
    align-items: center !important;
    padding: 10px 9px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045) !important;
  }

  .one-country-all-plans .one-country-plan-top {
    grid-area: action !important;
    display: grid !important;
    place-items: center !important;
  }

  .one-country-all-plans .one-country-card-label,
  .one-country-all-plans .one-country-discount {
    display: none !important;
  }

  .one-country-all-plans .one-country-fav {
    display: none !important;
  }

  .one-country-all-plans .one-country-plan-title {
    grid-area: title !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .one-country-all-plans .one-country-plan-title .country-mini-flag {
    width: 27px !important;
    height: 27px !important;
  }

  .one-country-all-plans .one-country-plan-title strong {
    color: #071126 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
  }

  .one-country-all-plans .one-country-plan-card > small {
    grid-area: duration !important;
    margin: 0 0 0 35px !important;
    color: #667085 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
  }

  .one-country-all-plans .country-highlight-tags {
    grid-area: tags !important;
    margin: 0 0 0 35px !important;
    gap: 5px !important;
  }

  .one-country-all-plans .country-highlight-tags span {
    min-height: 16px !important;
    padding: 1px 6px !important;
    font-size: 7px !important;
  }

  .one-country-all-plans .network-icon-strip {
    display: none !important;
  }

  .one-country-all-plans .one-country-price-row {
    grid-area: price !important;
    display: grid !important;
    gap: 2px !important;
    justify-items: end !important;
    margin: 0 !important;
  }

  .one-country-all-plans .one-country-price-row strong {
    color: #e50914 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .one-country-all-plans .one-country-price-row span {
    display: none !important;
  }

  .one-country-all-plans .one-country-price-row small {
    color: #667085 !important;
    font-size: 8px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  .one-country-all-plans .one-country-buy {
    grid-area: action !important;
    width: 26px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #edf1f6 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .one-country-all-plans .one-country-buy::after {
    content: "›";
    color: #071126;
    font-size: 28px;
    font-weight: 650;
    line-height: 1;
  }

  .one-country-table-panel {
    display: none !important;
  }

  .one-country-page[data-country-view-state="table"] .one-country-cards-panel {
    display: none !important;
  }

  .one-country-page[data-country-view-state="table"] .one-country-table-panel {
    display: block !important;
  }

  .one-country-plan-table tr {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 6px !important;
    padding: 10px !important;
    border-radius: 10px !important;
  }

  .network-icons-modal {
    align-items: end !important;
    padding-bottom: 10px !important;
  }

  .network-icons-modal-dialog {
    width: min(100% - 24px, 360px) !important;
    border-radius: 18px !important;
  }
}

/* AleoFly v173.1: match the one-country mobile header and remove the old sticky checkout overlay. */
@media (max-width: 760px) {
  body:has(.one-country-page) .mobile-checkout-bar,
  body:has(.one-country-page) .mobile-checkout-bar:not([hidden]) {
    display: none !important;
  }

  body:has(.one-country-page) .site-header {
    min-height: 118px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 46px 42px !important;
    align-items: center !important;
    gap: 6px 10px !important;
    padding: 12px 16px 8px !important;
  }

  body:has(.one-country-page) .site-header::after {
    content: "☰";
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #071126;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
  }

  body:has(.one-country-page) .site-header > .brand.brand-image-lockup {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: start !important;
    width: 176px !important;
    min-width: 176px !important;
    height: 76px !important;
    max-height: 76px !important;
  }

  body:has(.one-country-page) .brand-image-lockup .brand-logo-image {
    width: 176px !important;
    max-width: 176px !important;
    max-height: 76px !important;
  }

  body:has(.one-country-page) .site-header > .header-actions {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    margin-left: 0 !important;
    margin-right: 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }

  body:has(.one-country-page) .site-header .currency-select {
    width: 64px !important;
    min-width: 64px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    padding: 0 21px 0 12px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 999px !important;
    background-color: #fff !important;
    color: #071126 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body:has(.one-country-page) .site-header [data-toggle-theme-quick] {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body:has(.one-country-page) .site-header [data-toggle-theme-quick]::before {
    content: "◐";
    color: #071126;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
  }

  body:has(.one-country-page) .header-actions > a {
    min-height: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border-radius: 11px !important;
    background: #e50914 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    box-shadow: 0 8px 18px rgba(229, 9, 20, 0.18) !important;
  }
}
/* AleoFly account dashboard v174 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.account-dashboard-v174 {
  width: min(100%, 1460px);
  margin: 0 auto;
  padding: 22px 26px 0;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 24px;
  color: #071329;
}

.account-dashboard-v174 a {
  text-decoration: none;
}

.account-side-panel,
.account-main-panel > section,
.account-main-panel > article,
.account-dashboard-head {
  border: 1px solid #e8edf5;
  background: #fff;
  box-shadow: 0 14px 36px rgba(7, 19, 41, 0.05);
}

.account-side-panel {
  border-radius: 18px;
  padding: 18px;
  min-height: 780px;
  align-self: start;
  position: sticky;
  top: 88px;
}

.account-side-user,
.account-mobile-welcome {
  position: relative;
}

.account-side-user {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 5px;
  padding-bottom: 18px;
  border-bottom: 1px solid #edf1f7;
}

.account-side-user > strong {
  font-size: 19px;
  line-height: 1.1;
}

.account-side-user > small,
.account-side-user > em,
.account-dashboard-head p,
.account-section-head p,
.account-stat-card em,
.account-stat-card small,
.account-active-esim small,
.account-recent-orders small,
.account-rewards-box small {
  color: #64748b;
}

.account-side-user > em {
  font-style: normal;
  font-size: 12px;
}

.account-avatar-button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  border-radius: 999px;
}

.account-avatar {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, var(--avatar-bg-a, #fce3d8), var(--avatar-bg-b, #fff3ec));
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.9), 0 8px 20px rgba(8, 19, 41, 0.14);
}

.account-avatar-lg {
  width: 76px;
  height: 76px;
}

.account-avatar-md {
  width: 64px;
  height: 64px;
}

.account-avatar-face {
  width: 58%;
  height: 64%;
  border-radius: 42% 42% 46% 46%;
  background: var(--avatar-skin, #d88b62);
  position: absolute;
  bottom: 13%;
  left: 21%;
  box-shadow: inset 0 -7px rgba(122, 57, 35, 0.09);
}

.account-avatar-hair {
  width: 63%;
  height: 42%;
  border-radius: 50% 50% 34% 34%;
  background: var(--avatar-hair, #1b1720);
  position: absolute;
  top: 12%;
  left: 18%;
  z-index: 2;
}

.account-avatar-eye {
  width: 7%;
  height: 7%;
  border-radius: 999px;
  background: #1f2937;
  position: absolute;
  top: 45%;
}

.account-avatar-eye-left {
  left: 30%;
}

.account-avatar-eye-right {
  right: 30%;
}

.account-avatar-smile {
  width: 24%;
  height: 10%;
  border-bottom: 2px solid rgba(31, 41, 55, 0.75);
  border-radius: 0 0 999px 999px;
  position: absolute;
  left: 38%;
  bottom: 27%;
}

.account-avatar::after {
  content: "";
  position: absolute;
  inset: auto 10% 0;
  height: 23%;
  border-radius: 999px 999px 0 0;
  background: var(--avatar-shirt, #e50914);
}

.account-avatar--avatar-1 { --avatar-bg-a: #ffe1d2; --avatar-bg-b: #fff6ef; --avatar-skin: #d9956f; --avatar-hair: #302018; --avatar-shirt: #e50914; }
.account-avatar--avatar-2 { --avatar-bg-a: #d8efff; --avatar-bg-b: #f5fbff; --avatar-skin: #b97655; --avatar-hair: #101827; --avatar-shirt: #1976e8; }
.account-avatar--avatar-3 { --avatar-bg-a: #ffe7f0; --avatar-bg-b: #fff7fb; --avatar-skin: #c57f5d; --avatar-hair: #442217; --avatar-shirt: #db2777; }
.account-avatar--avatar-4 { --avatar-bg-a: #e6f7ed; --avatar-bg-b: #f7fff9; --avatar-skin: #a76a4d; --avatar-hair: #15151b; --avatar-shirt: #10b981; }
.account-avatar--avatar-5 { --avatar-bg-a: #fff1c8; --avatar-bg-b: #fffaf0; --avatar-skin: #e0a47e; --avatar-hair: #5b2b17; --avatar-shirt: #f59e0b; }
.account-avatar--avatar-6 { --avatar-bg-a: #ede9fe; --avatar-bg-b: #fbfaff; --avatar-skin: #8d5c45; --avatar-hair: #21142d; --avatar-shirt: #7c3aed; }

.account-avatar-picker {
  position: absolute;
  z-index: 40;
  top: 84px;
  left: 50%;
  width: 252px;
  transform: translateX(-50%);
  border: 1px solid #e3e9f3;
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 22px 55px rgba(8, 19, 41, 0.18);
}

.account-avatar-picker strong {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
}

.account-avatar-picker div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.account-avatar-picker button {
  border: 1px solid #e7edf5;
  border-radius: 14px;
  background: #f8fafc;
  padding: 8px;
  cursor: pointer;
}

.account-avatar-picker button.active {
  border-color: #e50914;
  background: #fff1f3;
}

.account-avatar-picker .account-avatar {
  width: 44px;
  height: 44px;
}

.account-premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff3da;
  color: #b45309;
  font-size: 12px;
  font-weight: 800;
}

.account-premium-badge .ui-icon,
.account-hero-premium .ui-icon {
  width: 13px;
  height: 13px;
}

.account-side-group {
  padding: 14px 0 4px;
}

.account-side-group > span {
  display: block;
  margin: 0 0 7px 8px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.account-side-group a,
.account-mobile-menu a,
.account-mobile-menu button {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #0f172a;
  font-weight: 800;
  border-radius: 12px;
}

.account-side-group a {
  min-height: 38px;
  padding: 0 11px;
}

.account-side-group a.active {
  background: #fff0f2;
  color: #e50914;
}

.account-menu-ico {
  width: 19px;
  height: 19px;
  border-radius: 7px;
  display: inline-block;
  background: linear-gradient(135deg, #f2f6fb, #e8eef7);
  position: relative;
  flex: 0 0 auto;
}

.account-menu-ico::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  border: 2px solid currentColor;
  opacity: 0.75;
}

.account-premium-card {
  display: grid;
  gap: 7px;
  margin-top: 16px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid #ffd9de;
  background: linear-gradient(135deg, #fff2f4, #fff9f4);
  color: #111827;
}

.account-premium-card span,
.account-premium-card b {
  font-weight: 900;
}

.account-premium-card small {
  color: #64748b;
}

.account-premium-card b {
  width: fit-content;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid #f2b1bb;
  color: #e50914;
  background: #fff;
}

.account-main-panel {
  display: grid;
  gap: 18px;
}

.account-dashboard-head {
  border-radius: 18px;
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.account-dashboard-head h1 {
  margin: 0 0 4px;
  font-size: 26px;
}

.account-dashboard-head p,
.account-section-head p {
  margin: 0;
  font-weight: 700;
}

.account-topup-btn,
.account-pay-now .btn,
.account-active-esim .btn,
.account-mobile-active-card .btn,
.account-mobile-wallet-card .btn {
  background: #e50914;
  color: #fff;
  border-radius: 11px;
  box-shadow: 0 10px 24px rgba(229, 9, 20, 0.22);
}

.account-topup-btn .ui-icon {
  width: 17px;
  height: 17px;
}

.account-mobile-welcome,
.account-mobile-wallet-card,
.account-mobile-active-card,
.account-mobile-menu {
  display: none;
}

.account-hero-banner {
  min-height: 150px;
  border-radius: 18px;
  padding: 24px;
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  background-image: linear-gradient(90deg, rgba(229, 9, 20, 0.92), rgba(255, 82, 64, 0.56) 44%, rgba(255, 242, 225, 0.25)), var(--account-hero);
  background-size: cover;
  background-position: center;
  color: #fff;
}

.account-hero-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(229, 9, 20, 0.28), rgba(255, 255, 255, 0) 62%);
  pointer-events: none;
}

.account-hero-banner > div,
.account-hero-premium {
  position: relative;
  z-index: 1;
}

.account-hero-banner span {
  font-weight: 800;
  opacity: 0.95;
}

.account-hero-banner h2 {
  margin: 6px 0 12px;
  font-size: 30px;
  line-height: 1;
}

.account-hero-banner p {
  margin: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.account-hero-banner b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
}

.account-hero-banner .ui-icon {
  width: 16px;
  height: 16px;
}

.account-hero-premium {
  margin-left: auto;
  align-self: center;
  display: inline-flex;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #b45309;
  font-weight: 900;
}

.account-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.account-stat-card {
  min-height: 122px;
  border: 1px solid #e8edf5;
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  color: #071329;
  display: grid;
  gap: 5px;
  box-shadow: 0 12px 28px rgba(7, 19, 41, 0.05);
}

.account-stat-card > span:first-child {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #11a765;
  background: #eafaf2;
}

.account-stat-orders > span:first-child { color: #1683f4; background: #eaf4ff; }
.account-stat-wallet > span:first-child { color: #7c3aed; background: #f2ecff; }
.account-stat-cashback > span:first-child { color: #f97316; background: #fff1e6; }
.account-stat-points > span:first-child { color: #f4a000; background: #fff8dd; }

.account-stat-card .ui-icon {
  width: 20px;
  height: 20px;
}

.account-stat-card strong {
  font-size: 23px;
  line-height: 1.1;
}

.account-stat-card small,
.account-stat-card em {
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.account-wallet-topup {
  border-radius: 18px;
  padding: 20px;
}

.account-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.account-section-head h2,
.account-dashboard-lower h2,
.account-mobile-active-card h2 {
  margin: 0;
  font-size: 21px;
}

.account-wallet-art {
  width: 150px;
  height: 86px;
  border-radius: 22px;
  background: linear-gradient(145deg, #f43f5e, #b91c1c);
  position: relative;
  box-shadow: inset -16px -18px rgba(127, 29, 29, 0.22), 0 15px 35px rgba(229, 9, 20, 0.22);
}

.account-wallet-art::before {
  content: "$";
  position: absolute;
  width: 44px;
  height: 44px;
  right: 18px;
  top: -18px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fbbf24;
  color: #92400e;
  font-size: 24px;
  font-weight: 900;
}

.account-wallet-art i {
  width: 50px;
  height: 50px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #22c55e;
  position: absolute;
  left: -20px;
  bottom: 13px;
}

.account-wallet-art i::before,
.account-wallet-art i::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 4px;
}

.account-wallet-art i::before {
  width: 24px;
  height: 7px;
}

.account-wallet-art i::after {
  width: 7px;
  height: 24px;
}

.account-topup-presets {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.account-topup-presets a {
  min-height: 64px;
  border: 1px solid #e8edf5;
  border-radius: 14px;
  background: #fff;
  color: #071329;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  position: relative;
}

.account-topup-presets a.popular {
  border-color: #e50914;
  box-shadow: 0 0 0 3px rgba(229, 9, 20, 0.08);
}

.account-topup-presets em {
  position: absolute;
  top: -10px;
  right: 12px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e50914;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.account-topup-presets strong {
  font-size: 18px;
}

.account-topup-presets small {
  color: #64748b;
  font-weight: 800;
}

.account-topup-payline {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 18px;
}

.account-topup-payline > div {
  border: 1px solid #e8edf5;
  border-radius: 15px;
  padding: 14px;
}

.account-topup-payline > div > span,
.account-pay-now small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 10px;
}

.account-paymarks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.account-paymarks img,
.account-paymark {
  width: 58px;
  height: 38px;
  border: 1px solid #e8edf5;
  border-radius: 10px;
  padding: 8px;
  background: #fff;
}

.account-paymarks img {
  object-fit: contain;
}

.account-paymark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.account-paymark-visa {
  color: #0b3b8f;
  font-weight: 950;
  font-size: 18px;
  letter-spacing: 0;
}

.account-paymark-master {
  gap: 0;
}

.account-paymark-master i {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: block;
}

.account-paymark-master i:first-child {
  background: #eb001b;
  margin-right: -7px;
}

.account-paymark-master i:last-child {
  background: #f79e1b;
}

.account-pay-now {
  display: grid;
  grid-template-columns: 1fr 160px;
  align-items: center;
  gap: 4px 18px;
}

.account-pay-now strong {
  font-size: 28px;
}

.account-pay-now .btn {
  grid-row: 1 / span 2;
  grid-column: 2;
  text-align: center;
}

.account-pay-now em {
  grid-column: 2;
  color: #64748b;
  display: inline-flex;
  justify-content: center;
  gap: 6px;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.account-pay-now .ui-icon {
  width: 13px;
  height: 13px;
}

.account-dashboard-lower {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 0.9fr;
  gap: 16px;
}

.account-dashboard-lower > article {
  border: 1px solid #e8edf5;
  background: #fff;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 14px 32px rgba(7, 19, 41, 0.05);
}

.account-dashboard-lower header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.account-dashboard-lower header span,
.account-dashboard-lower header a {
  color: #e50914;
  font-weight: 900;
}

.account-dashboard-lower header span {
  color: #16a34a;
  background: #ecfdf3;
  padding: 5px 10px;
  border-radius: 999px;
}

.account-active-main {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.account-active-flag,
.account-order-flag {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  overflow: hidden;
  background: #f8fafc;
}

.account-active-main strong {
  display: block;
  font-size: 16px;
}

.account-usage-ring {
  width: 118px;
  height: 118px;
  border-radius: 999px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  text-align: center;
  background:
    radial-gradient(circle at center, #fff 58%, transparent 59%),
    conic-gradient(#16b364 var(--account-used), #e5e9f0 0);
}

.account-usage-ring b {
  font-size: 20px;
}

.account-usage-ring small {
  display: block;
  grid-column: 1;
  margin-top: 30px;
  font-size: 11px;
}

.account-active-esim dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin: 0 0 15px;
}

.account-active-esim dl div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf1f7;
  padding-bottom: 6px;
}

.account-active-esim dt {
  color: #64748b;
  font-weight: 700;
}

.account-active-esim dd {
  margin: 0;
  font-weight: 900;
}

.account-active-esim .btn {
  width: 100%;
  justify-content: center;
}

.account-recent-orders ul {
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.account-recent-orders li,
.account-rewards-box > a,
.account-help-box {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #edf1f7;
  border-radius: 14px;
  padding: 10px;
}

.account-recent-orders li > span {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 1;
}

.account-recent-orders li strong,
.account-recent-orders li small {
  display: block;
}

.account-recent-orders li b {
  color: #071329;
}

.account-recent-orders li em {
  padding: 4px 8px;
  border-radius: 999px;
  color: #16a34a;
  background: #ecfdf3;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}

.account-help-box {
  margin-top: 14px;
  background: #fbfcff;
}

.account-help-box > span,
.account-rewards-box > a > span {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff1f3;
  color: #e50914;
  flex: 0 0 auto;
}

.account-help-box .ui-icon,
.account-rewards-box .ui-icon {
  width: 20px;
  height: 20px;
}

.account-help-box div {
  flex: 1;
}

.account-help-box strong,
.account-help-box small,
.account-rewards-box strong,
.account-rewards-box small {
  display: block;
}

.account-help-box a {
  padding: 8px 12px;
  border-radius: 9px;
  background: #e50914;
  color: #fff;
  font-weight: 900;
}

.account-rewards-box {
  display: grid;
  align-content: start;
  gap: 10px;
}

.account-rewards-box > a {
  color: #071329;
}

.account-rewards-box > a div {
  flex: 1;
}

.account-rewards-box > a b {
  color: #94a3b8;
  font-size: 24px;
}

.account-safe-strip {
  border-radius: 18px;
  padding: 14px 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.account-safe-strip span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.account-safe-strip .ui-icon {
  color: #64748b;
  width: 22px;
  height: 22px;
}

.account-safe-strip b,
.account-safe-strip small {
  display: block;
}

.account-safe-strip small {
  color: #64748b;
}

@media (max-width: 1100px) {
  .account-dashboard-v174 {
    grid-template-columns: 240px minmax(0, 1fr);
    padding-inline: 16px;
  }

  .account-topup-payline,
  .account-dashboard-lower {
    grid-template-columns: 1fr;
  }

  .account-stat-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 760px) {
  .account-dashboard-v174 {
    display: block;
    width: 100%;
    padding: 12px 14px 92px;
  }

  .account-side-panel,
  .account-dashboard-head,
  .account-hero-banner,
  .account-wallet-topup,
  .account-dashboard-lower,
  .account-safe-strip {
    display: none;
  }

  .account-main-panel {
    gap: 12px;
  }

  .account-mobile-welcome,
  .account-mobile-wallet-card,
  .account-mobile-active-card,
  .account-mobile-menu {
    display: flex;
    border-radius: 18px;
    border: 1px solid #e8edf5;
    background: #fff;
    box-shadow: 0 12px 28px rgba(7, 19, 41, 0.06);
  }

  .account-mobile-welcome {
    align-items: center;
    gap: 12px;
    padding: 14px;
  }

  .account-mobile-welcome > div {
    min-width: 0;
    flex: 1;
  }

  .account-mobile-welcome span,
  .account-mobile-welcome small {
    display: block;
    color: #64748b;
    font-weight: 800;
  }

  .account-mobile-welcome strong {
    display: block;
    font-size: 19px;
    line-height: 1.15;
  }

  .account-mobile-welcome .account-premium-badge {
    align-self: flex-start;
    font-size: 10px;
    padding-inline: 8px;
  }

  .account-mobile-welcome .account-avatar-picker {
    top: 78px;
    left: 14px;
    transform: none;
  }

  .account-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .account-stat-card {
    min-height: 90px;
    padding: 10px 6px;
    border-radius: 14px;
    text-align: center;
    justify-items: center;
    gap: 4px;
  }

  .account-stat-points {
    display: none;
  }

  .account-stat-card > span:first-child {
    width: 32px;
    height: 32px;
  }

  .account-stat-card .ui-icon {
    width: 18px;
    height: 18px;
  }

  .account-stat-card strong {
    font-size: 15px;
  }

  .account-stat-card small {
    font-size: 11px;
    line-height: 1.15;
  }

  .account-stat-card em {
    display: none;
  }

  .account-mobile-wallet-card {
    align-items: center;
    justify-content: space-between;
    padding: 14px;
  }

  .account-mobile-wallet-card div {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 0 10px;
  }

  .account-mobile-wallet-card div > span {
    grid-row: span 2;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: #7c3aed;
    background: #f2ecff;
  }

  .account-mobile-wallet-card small {
    color: #64748b;
    font-weight: 800;
  }

  .account-mobile-wallet-card strong {
    font-size: 18px;
  }

  .account-mobile-wallet-card .btn {
    min-height: 40px;
    padding-inline: 14px;
  }

  .account-mobile-active-card {
    display: grid;
    gap: 11px;
    padding: 14px;
  }

  .account-mobile-active-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .account-mobile-active-card header span {
    color: #16a34a;
    background: #ecfdf3;
    padding: 5px 9px;
    border-radius: 999px;
    font-weight: 900;
  }

  .account-mobile-usage {
    height: 8px;
    border-radius: 999px;
    background: #e5e9f0;
    overflow: hidden;
  }

  .account-mobile-usage span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #16b364;
  }

  .account-mobile-active-card p {
    margin: -2px 0 0;
    display: flex;
    justify-content: space-between;
    color: #64748b;
    font-weight: 800;
  }

  .account-mobile-active-card .btn {
    justify-content: center;
  }

  .account-mobile-menu {
    display: grid;
    overflow: hidden;
  }

  .account-mobile-menu a,
  .account-mobile-menu button {
    min-height: 48px;
    justify-content: space-between;
    padding: 0 14px;
    border-radius: 0;
    border-bottom: 1px solid #edf1f7;
  }

  .account-mobile-menu a:last-child,
  .account-mobile-menu button:last-child {
    border-bottom: 0;
  }

  .account-mobile-menu a span,
  .account-mobile-menu button span {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .account-mobile-menu a b,
  .account-mobile-menu button b {
    color: #94a3b8;
    font-size: 12px;
  }

  .account-mobile-menu button {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #edf1f7;
    background: transparent;
    color: #e50914;
    font: inherit;
    cursor: pointer;
  }
}

/* Account data-plan and eSIM install redesign v175 */
.account-data-shell-v175 {
  max-width: 1500px;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 28px;
  padding: 28px 34px 18px;
}

.account-data-shell-v175 .account-side-panel {
  top: 92px;
}

.account-data-main-v175 {
  min-width: 0;
}

.account-help-card-v175 {
  display: grid;
  gap: 9px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #ffd8de;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff6f7, #fff);
  color: #0f172a;
  text-decoration: none;
}

.account-help-card-v175 > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #ffe8eb;
  color: #e50914;
}

.account-help-card-v175 strong,
.account-help-card-v175 b {
  font-weight: 900;
}

.account-help-card-v175 small {
  color: #64748b;
  font-weight: 700;
  line-height: 1.35;
}

.account-help-card-v175 b {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: #e50914;
  border: 1px solid #f6b8c0;
  border-radius: 10px;
  padding: 9px 12px;
  margin-top: 3px;
}

.account-sidebar-logout-v254 {
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  padding: 0 12px;
  border: 1px solid #ffc2c8;
  border-radius: 12px;
  background: #fff5f6;
  color: #e50914;
  font: inherit;
  font-weight: 950;
  cursor: pointer;
  box-shadow: none;
}

.account-sidebar-logout-v254 .ui-icon {
  width: 16px;
  height: 16px;
}

.account-sidebar-logout-v254:hover,
.account-sidebar-logout-v254:focus-visible {
  border-color: #e50914;
  background: #fff0f2;
  outline: none;
}

.account-esims-top-v175,
.account-esim-detail-top-v175 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.account-esims-top-v175 h1,
.account-esim-detail-top-v175 h1 {
  margin: 0;
  color: #071329;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.05;
  font-weight: 950;
}

.account-esims-top-v175 p {
  margin: 8px 0 0;
  color: #64748b;
  font-weight: 800;
}

.account-esim-detail-top-v175 > a:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #64748b;
  font-weight: 900;
  text-decoration: none;
}

.account-esim-detail-top-v175 > a:first-child .ui-icon {
  transform: rotate(180deg);
}

.account-esim-stats-v175 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.account-esim-stats-v175 span {
  min-height: 112px;
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: center;
  gap: 3px 14px;
  padding: 20px;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
}

.account-esim-stats-v175 .ui-icon {
  grid-row: span 2;
  width: 52px;
  height: 52px;
  padding: 14px;
  border-radius: 18px;
  color: #e50914;
  background: #fff0f2;
}

.account-esim-stats-v175 span:nth-child(2) .ui-icon {
  color: #14a861;
  background: #eafaf2;
}

.account-esim-stats-v175 span:nth-child(3) .ui-icon {
  color: #1d7ef2;
  background: #edf6ff;
}

.account-esim-stats-v175 span:nth-child(4) .ui-icon {
  color: #d98b10;
  background: #fff5df;
}

.account-esim-stats-v175 b {
  color: #64748b;
  font-weight: 900;
}

.account-esim-stats-v175 strong {
  color: #071329;
  font-size: 26px;
  font-weight: 950;
}

.account-esim-mobile-summary-v175,
.account-esim-mobile-filters-v175 {
  display: none;
}

.account-esim-tabs-v175 {
  display: grid;
  grid-template-columns: repeat(4, max-content) minmax(160px, 1fr) max-content;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid #e7edf6;
  border-radius: 16px;
  background: #fff;
}

.account-esim-tabs-v175 button,
.account-esim-tabs-v175 label,
.account-esim-tabs-v175 > span {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #edf1f7;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  font-weight: 900;
  padding: 0 14px;
}

.account-esim-tabs-v175 button.active {
  color: #e50914;
  background: #fff1f3;
  border-color: #ffd6dc;
}

.account-esim-tabs-v175 select {
  border: 0;
  background: transparent;
  font-weight: 900;
  outline: 0;
}

.account-esim-picks-v175,
.account-esim-all-v175 {
  display: grid;
  gap: 14px;
}

.account-esim-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.account-esim-section-head h2 {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #071329;
  font-size: 24px;
  font-weight: 950;
}

.account-esim-section-head h2 span {
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f5f7fb;
}

.account-esim-section-head a {
  color: #e50914;
  font-weight: 950;
  text-decoration: none;
}

.account-esim-section-head > div {
  display: inline-flex;
  gap: 8px;
  padding: 4px;
  border-radius: 12px;
  background: #f6f8fb;
}

.account-esim-section-head button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #64748b;
  font-weight: 950;
}

.account-esim-section-head button.active {
  background: #fff1f3;
  color: #e50914;
}

.account-esim-pick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.account-esim-pick-card a {
  min-height: 260px;
  display: grid;
  gap: 11px;
  padding: 18px;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  background: #fff;
  color: #071329;
  text-decoration: none;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
}

.account-esim-pick-card header,
.account-esim-pick-name,
.account-esim-network-line {
  display: flex;
  align-items: center;
}

.account-esim-pick-card header {
  justify-content: space-between;
}

.account-esim-pick-card header span {
  color: #e50914;
  background: #fff1f3;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.account-esim-pick-card header button {
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: #94a3b8;
}

.account-esim-pick-name {
  gap: 10px;
  font-size: 20px;
  font-weight: 950;
}

.account-esim-pick-flag,
.account-esim-flag,
.account-esim-summary-flag {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}

.account-esim-pick-card > a > small {
  color: #64748b;
  font-weight: 850;
}

.account-esim-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.account-esim-pills span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #e50914;
  background: #fff1f3;
  border-radius: 999px;
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 950;
}

.account-esim-pills .ui-icon {
  width: 14px;
  height: 14px;
}

.account-esim-network-line {
  justify-content: space-between;
  gap: 8px;
}

.account-esim-network-line b {
  font-size: 12px;
}

.account-esim-card-state {
  font-size: 18px;
  font-weight: 950;
}

.account-esim-pick-card .btn {
  min-height: 44px;
  justify-content: center;
  border-radius: 12px;
}

.account-esim-list-v175 {
  display: grid;
  gap: 14px;
}

.account-esim-row-v175 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px max-content;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border: 1px solid #e6edf6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
}

.account-esim-row-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 220px minmax(280px, 1fr);
  gap: 12px 26px;
  color: #071329;
  text-decoration: none;
}

.account-esim-row-country {
  display: flex;
  align-items: center;
  gap: 13px;
}

.account-esim-row-country strong {
  display: block;
  font-size: 20px;
  font-weight: 950;
}

.account-esim-status {
  display: inline-flex;
  width: fit-content;
  margin-top: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
}

.account-esim-status-active {
  color: #0f9f5c;
  background: #eafaf2;
}

.account-esim-status-ready {
  color: #1d7ef2;
  background: #edf6ff;
}

.account-esim-status-expired {
  color: #64748b;
  background: #f1f5f9;
}

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

.account-esim-row-stats span {
  display: grid;
  gap: 4px;
}

.account-esim-row-stats b {
  font-size: 17px;
  font-weight: 950;
}

.account-esim-row-stats small,
.account-esim-row-meta small {
  color: #64748b;
  font-weight: 800;
}

.account-esim-row-meta {
  grid-column: 1 / -1;
  display: flex;
  gap: 34px;
  min-width: 0;
}

.account-esim-row-signal {
  color: #16b364;
}

.account-esim-row-signal .ui-icon {
  width: 34px;
  height: 34px;
}

.account-esim-row-action .btn,
.account-esim-row-action .btn-ghost {
  min-width: 140px;
  min-height: 48px;
  justify-content: center;
}

.account-esim-detail-grid-v175 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
}

.account-esim-detail-left-v175,
.account-esim-setup-card-v175,
.account-install-qr-card-v175,
.account-install-guide-card-v175,
.account-activation-card-v175,
.account-activation-side-v175 {
  display: grid;
  gap: 16px;
}

.account-esim-hero-card-v175 {
  min-height: 210px;
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: end;
  gap: 12px;
  padding: 28px;
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 30%, rgba(255, 255, 255, 0.24), transparent 34%),
    linear-gradient(135deg, #e50914 0%, #ac0711 48%, #071329 100%);
  box-shadow: 0 24px 46px rgba(229, 9, 20, 0.18);
}

.account-esim-hero-card-v175::after {
  content: "";
  position: absolute;
  inset: 20px 22px 0 auto;
  width: 210px;
  opacity: 0.24;
  background: url("/assets/images/account/account-hero-v174.png") center / cover no-repeat;
  mix-blend-mode: screen;
}

.account-esim-hero-card-v175 > div {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.account-esim-hero-flag {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.account-esim-hero-card-v175 h2,
.account-esim-hero-card-v175 p {
  position: relative;
  z-index: 1;
  margin: 0;
}

.account-esim-hero-card-v175 h2 {
  font-size: 32px;
  font-weight: 950;
}

.account-esim-detail-metrics-v175 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #e8edf5;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.account-esim-detail-metrics-v175 span {
  min-height: 118px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border-right: 1px solid #edf1f7;
}

.account-esim-detail-metrics-v175 span:last-child {
  border-right: 0;
}

.account-esim-detail-metrics-v175 .ui-icon {
  width: 36px;
  height: 36px;
  padding: 9px;
  border-radius: 12px;
  color: #1d7ef2;
  background: #edf6ff;
}

.account-esim-detail-metrics-v175 b {
  font-size: 18px;
  font-weight: 950;
}

.account-esim-detail-metrics-v175 small {
  color: #64748b;
  font-weight: 850;
}

.account-esim-detail-table-v175,
.account-esim-setup-card-v175,
.account-install-qr-card-v175,
.account-install-guide-card-v175,
.account-activation-card-v175,
.account-activation-side-v175 {
  border: 1px solid #e8edf5;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.05);
}

.account-esim-detail-table-v175 dl {
  margin: 0;
}

.account-esim-detail-table-v175 div {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px;
  border-bottom: 1px solid #edf1f7;
}

.account-esim-detail-table-v175 div:last-child {
  border-bottom: 0;
}

.account-esim-detail-table-v175 dt {
  color: #64748b;
  font-weight: 850;
}

.account-esim-detail-table-v175 dd {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #0f172a;
  font-weight: 900;
  text-align: right;
}

.account-esim-detail-table-v175 button {
  border: 0;
  color: #64748b;
  background: transparent;
}

.account-esim-setup-card-v175 {
  align-content: start;
  padding: 18px;
}

.account-esim-setup-card-v175 h2,
.account-install-qr-card-v175 h2,
.account-install-guide-card-v175 h2,
.account-activation-card-v175 h2 {
  margin: 0;
  color: #071329;
  font-size: 22px;
  font-weight: 950;
}

.account-esim-setup-card-v175 p,
.account-install-qr-card-v175 p,
.account-install-guide-card-v175 p,
.account-activation-card-v175 p {
  margin: 0;
  color: #64748b;
  font-weight: 800;
}

.account-esim-setup-card-v175 > a,
.account-install-guide-card-v175 > a,
.account-activation-side-v175 > a {
  min-height: 72px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid #edf1f7;
  border-radius: 14px;
  background: #fbfcfe;
  color: #071329;
  text-decoration: none;
}

.account-esim-setup-card-v175 > a.is-disabled {
  pointer-events: none;
  opacity: 0.52;
}

.account-esim-setup-card-v175 a b,
.account-install-guide-card-v175 a b,
.account-activation-side-v175 a b {
  display: block;
  font-weight: 950;
}

.account-esim-setup-card-v175 a small,
.account-install-guide-card-v175 a small,
.account-activation-side-v175 a small {
  color: #64748b;
  font-weight: 750;
}

.account-install-grid-v175,
.account-activation-grid-v175 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 22px;
  align-items: start;
}

.account-install-qr-card-v175,
.account-install-guide-card-v175,
.account-activation-card-v175,
.account-activation-side-v175 {
  padding: 22px;
}

.account-install-qr-card-v175 {
  justify-items: center;
  text-align: left;
}

.account-install-qr-card-v175 h2,
.account-install-qr-card-v175 p {
  justify-self: stretch;
}

.account-install-qr-img {
  width: min(380px, 100%);
  aspect-ratio: 1;
  height: auto;
  display: block;
  object-fit: contain;
  border: 14px solid #fff;
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

.account-install-qr-empty {
  width: min(380px, 100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 16px;
  border: 1px dashed #cbd5e1;
  color: #64748b;
  font-weight: 900;
  background: #f8fafc;
}

.account-install-qr-card-v175 > small {
  justify-self: stretch;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px;
  color: #64748b;
  background: #f8fafc;
  border-radius: 12px;
  font-weight: 850;
}

.account-install-steps-v175 {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-install-steps-v175 li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.account-install-steps-v175 li > b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #e50914;
  font-size: 12px;
}

.account-install-steps-v175 strong,
.account-install-steps-v175 small {
  display: block;
}

.account-install-steps-v175 strong {
  color: #071329;
  font-weight: 950;
}

.account-install-steps-v175 small {
  color: #64748b;
  font-weight: 750;
}

.account-install-guide-card-v175 > span {
  color: #94a3b8;
  text-align: center;
  font-weight: 950;
}

.account-install-actions-v175 {
  display: grid;
  gap: 10px;
}

.account-install-actions-v175 form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
}

.account-install-actions-v175 input {
  min-height: 44px;
  border: 1px solid #e5ebf3;
  border-radius: 12px;
  padding: 0 12px;
  font-weight: 850;
}

.account-install-actions-v175 small {
  grid-column: 1 / -1;
  color: #64748b;
  font-weight: 800;
}

.account-activation-warning {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 14px;
  color: #c40612;
  background: #fff1f3;
}

.account-activation-warning b,
.account-activation-warning small {
  display: block;
}

.account-activation-card-v175 label {
  color: #64748b;
  font-weight: 900;
}

.account-activation-card-v175 code {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 18px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e5ebf3;
  color: #0f172a;
  font-size: 15px;
  line-height: 1.55;
}

.account-activation-side-v175 {
  align-content: start;
}

.account-activation-side-v175 > div {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid #edf1f7;
  border-radius: 14px;
}

.account-activation-side-v175 span {
  color: #64748b;
  font-weight: 850;
}

.account-activation-side-v175 b {
  color: #071329;
}

.account-activation-side-v175 code {
  overflow-wrap: anywhere;
  color: #071329;
  font-weight: 900;
}

@media (max-width: 1100px) {
  .account-data-shell-v175 {
    grid-template-columns: 230px minmax(0, 1fr);
    padding-inline: 18px;
  }

  .account-esim-stats-v175,
  .account-esim-pick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-esim-detail-grid-v175,
  .account-install-grid-v175,
  .account-activation-grid-v175 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .account-data-shell-v175 {
    padding: 14px 14px 94px;
  }

  .account-data-shell-v175 .account-side-panel,
  .account-safe-strip-v175 {
    display: none;
  }

  .account-data-main-v175 {
    gap: 16px;
  }

  .account-esims-top-v175,
  .account-esim-detail-top-v175 {
    align-items: flex-start;
    gap: 12px;
  }

  .account-esims-top-v175 h1,
  .account-esim-detail-top-v175 h1 {
    font-size: 30px;
  }

  .account-esims-top-v175 .btn {
    min-height: 40px;
    padding-inline: 12px;
    border-radius: 11px;
    white-space: nowrap;
  }

  .account-esim-stats-v175 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .account-esim-stats-v175 span {
    min-height: 86px;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 4px;
    padding: 10px 6px;
    border-radius: 16px;
  }

  .account-esim-stats-v175 .ui-icon {
    grid-row: auto;
    width: 36px;
    height: 36px;
    padding: 9px;
  }

  .account-esim-stats-v175 b {
    font-size: 11px;
    line-height: 1.15;
  }

  .account-esim-stats-v175 strong {
    font-size: 16px;
  }

  .account-esim-mobile-summary-v175 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .account-esim-summary-card {
    position: relative;
    min-height: 108px;
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 14px;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    background: #fff;
    color: #071329;
    text-decoration: none;
    overflow: hidden;
  }

  .account-esim-summary-card span {
    color: #64748b;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
  }

  .account-esim-summary-card strong {
    font-size: 16px;
    font-weight: 950;
  }

  .account-esim-summary-card small {
    color: #64748b;
    font-weight: 850;
  }

  .account-esim-summary-card em {
    position: absolute;
    top: 12px;
    right: 12px;
  }

  .account-esim-summary-all {
    background: linear-gradient(135deg, #fff7f8, #fff);
  }

  .account-esim-summary-all b {
    color: #071329;
    font-size: 28px;
    font-weight: 950;
  }

  .account-esim-tabs-v175 {
    display: none;
  }

  .account-esim-mobile-filters-v175 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
    border: 1px solid #e8edf5;
    border-radius: 18px;
    background: #fff;
  }

  .account-esim-mobile-filters-v175 label,
  .account-esim-mobile-filters-v175 button {
    display: grid;
    gap: 5px;
    min-height: 58px;
    border: 1px solid #edf1f7;
    border-radius: 12px;
    background: #fff;
    padding: 8px 10px;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
  }

  .account-esim-mobile-filters-v175 select {
    border: 0;
    outline: 0;
    background: transparent;
    color: #071329;
    font-weight: 950;
  }

  .account-esim-mobile-filters-v175 button {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e50914;
  }

  .account-esim-pick-grid {
    grid-template-columns: repeat(3, minmax(210px, 1fr));
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .account-esim-pick-card {
    scroll-snap-align: start;
  }

  .account-esim-pick-card a {
    min-height: 220px;
    border-radius: 16px;
    padding: 14px;
  }

  .account-esim-row-v175 {
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 10px;
    padding: 16px;
    border-radius: 16px;
  }

  .account-esim-row-main {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .account-esim-row-country strong {
    font-size: 18px;
  }

  .account-esim-row-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-esim-row-meta {
    display: grid;
    gap: 4px;
  }

  .account-esim-row-signal .ui-icon {
    width: 28px;
    height: 28px;
  }

  .account-esim-row-action {
    display: none;
  }

  .account-esim-detail-grid-v175,
  .account-install-grid-v175,
  .account-activation-grid-v175 {
    gap: 14px;
  }

  .account-esim-hero-card-v175 {
    min-height: 172px;
    border-radius: 18px;
    padding: 20px;
  }

  .account-esim-hero-card-v175::after {
    width: 170px;
    right: 0;
  }

  .account-esim-hero-card-v175 h2 {
    font-size: 26px;
  }

  .account-esim-detail-metrics-v175 span {
    min-height: 96px;
  }

  .account-esim-detail-table-v175 div {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 12px;
    gap: 6px;
  }

  .account-esim-detail-table-v175 dd {
    text-align: left;
  }

  .account-esim-setup-card-v175,
  .account-install-qr-card-v175,
  .account-install-guide-card-v175,
  .account-activation-card-v175,
  .account-activation-side-v175 {
    border-radius: 16px;
    padding: 16px;
  }

  .account-install-actions-v175 form {
    grid-template-columns: 1fr;
  }
}

/* Account/data-plan visual correction v176 */
main.app:has(.account-dashboard-v174) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
}

body:has(.account-dashboard-v174) {
  overflow-x: hidden !important;
  background: #fff !important;
}

body:has(.account-dashboard-v174) .site-header {
  border-bottom: 1px solid #eef2f7 !important;
  box-shadow: none !important;
}

body:has(.account-dashboard-v174) .brand-image-lockup .brand-logo-image {
  width: 172px !important;
  max-height: 72px !important;
  object-fit: contain !important;
}

.account-dashboard-v174,
.account-dashboard-v174 * {
  box-sizing: border-box;
}

.account-dashboard-v174 {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 24px 24px 0 !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 20px !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

.account-dashboard-v174 .account-side-panel {
  min-height: 720px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.045) !important;
}

.account-dashboard-v174 .account-side-group a {
  min-height: 36px !important;
  padding-inline: 10px !important;
  font-size: 13px !important;
}

.account-dashboard-v174 .account-main-panel {
  min-width: 0 !important;
  gap: 14px !important;
}

.account-dashboard-v174:not(.account-data-shell-v175) .account-main-panel {
  max-width: 980px !important;
}

.account-dashboard-head {
  min-height: 86px !important;
  padding: 18px 22px !important;
  border-radius: 18px !important;
}

.account-dashboard-head h1 {
  font-size: 25px !important;
}

.account-hero-banner {
  min-height: 144px !important;
  border-radius: 18px !important;
  padding: 22px !important;
  background-image:
    linear-gradient(90deg, rgba(229, 9, 20, 0.97) 0%, rgba(229, 9, 20, 0.82) 33%, rgba(246, 80, 76, 0.42) 57%, rgba(255, 245, 233, 0.08) 100%),
    var(--account-hero) !important;
  background-position: center, right center !important;
  background-size: cover, cover !important;
}

.account-hero-banner::after {
  background: linear-gradient(90deg, rgba(160, 0, 13, 0.16), transparent 66%) !important;
}

.account-hero-banner h2 {
  max-width: 630px !important;
  overflow-wrap: anywhere !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
}

.account-stat-grid {
  gap: 10px !important;
}

.account-stat-card {
  min-height: 108px !important;
  padding: 13px !important;
  border-radius: 15px !important;
}

.account-stat-card > span:first-child {
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
}

.account-stat-card strong {
  font-size: 21px !important;
}

.account-wallet-topup {
  padding: 18px !important;
  border-radius: 18px !important;
}

.account-wallet-art {
  width: 126px !important;
  height: 72px !important;
}

.account-topup-payline {
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 14px !important;
}

.account-dashboard-lower {
  gap: 14px !important;
}

.account-dashboard-lower > article {
  padding: 16px !important;
  border-radius: 17px !important;
}

.account-data-shell-v175 {
  width: min(100%, 1250px) !important;
  max-width: 1250px !important;
  grid-template-columns: 214px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 18px 20px 12px !important;
}

.account-data-shell-v175 .account-side-panel {
  top: 84px !important;
  min-height: 690px !important;
}

.account-data-main-v175 {
  max-width: none !important;
  min-width: 0 !important;
  gap: 14px !important;
}

.account-esims-top-v175 h1,
.account-esim-detail-top-v175 h1 {
  font-size: clamp(28px, 2.5vw, 34px) !important;
}

.account-esims-top-v175 p {
  margin-top: 5px !important;
  font-size: 14px !important;
}

.account-esim-stats-v175 {
  gap: 12px !important;
}

.account-esim-stats-v175 span {
  min-height: 94px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  padding: 15px !important;
  border-radius: 15px !important;
}

.account-esim-stats-v175 .ui-icon {
  width: 42px !important;
  height: 42px !important;
  padding: 11px !important;
  border-radius: 14px !important;
}

.account-esim-stats-v175 strong {
  font-size: 23px !important;
}

.account-esim-tabs-v175 {
  padding: 10px !important;
  gap: 8px !important;
  border-radius: 15px !important;
}

.account-esim-tabs-v175 button,
.account-esim-tabs-v175 label,
.account-esim-tabs-v175 > span {
  min-height: 38px !important;
  padding: 0 11px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.account-esim-picks-v175 {
  display: none !important;
}

.account-esim-section-head h2 {
  font-size: 22px !important;
}

.account-esim-list-v175 {
  gap: 12px !important;
}

.account-esim-row-v175 {
  grid-template-columns: minmax(0, 1fr) 38px max-content !important;
  gap: 12px !important;
  min-height: 118px !important;
  padding: 16px !important;
  border-radius: 16px !important;
}

.account-esim-row-main {
  grid-template-columns: 190px minmax(230px, 1fr) !important;
  gap: 9px 20px !important;
}

.account-esim-row-country strong {
  font-size: 18px !important;
}

.account-esim-row-stats b {
  font-size: 15px !important;
}

.account-esim-row-meta {
  gap: 24px !important;
}

.account-esim-row-meta small {
  max-width: 310px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.account-esim-row-action .btn,
.account-esim-row-action .btn-ghost {
  min-width: 118px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.account-esim-detail-grid-v175 {
  grid-template-columns: minmax(0, 1fr) 270px !important;
  gap: 16px !important;
  align-items: start !important;
}

.account-esim-detail-left-v175,
.account-esim-detail-table-v175,
.account-esim-detail-table-v175 dd,
.account-esim-setup-card-v175 {
  min-width: 0 !important;
}

.account-esim-hero-card-v175 {
  min-height: 176px !important;
  padding: 22px !important;
  border-radius: 18px !important;
  background-image:
    linear-gradient(135deg, rgba(224, 4, 17, 0.96) 0%, rgba(169, 7, 20, 0.9) 45%, rgba(7, 19, 41, 0.94) 100%),
    url("/assets/images/account/account-hero-v174.png") !important;
  background-position: center, right center !important;
  background-size: cover, cover !important;
}

.account-esim-hero-card-v175::after {
  display: none !important;
}

.account-esim-hero-card-v175 h2 {
  font-size: 28px !important;
}

.account-esim-detail-metrics-v175 span {
  min-height: 94px !important;
}

.account-esim-detail-table-v175 div {
  min-height: 48px !important;
  padding-inline: 15px !important;
}

.account-esim-detail-table-v175 dd code,
.account-activation-side-v175 code {
  max-width: 210px !important;
  display: inline-block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: bottom !important;
}

.account-esim-setup-card-v175,
.account-install-qr-card-v175,
.account-install-guide-card-v175,
.account-activation-card-v175,
.account-activation-side-v175 {
  border-radius: 16px !important;
  padding: 15px !important;
  gap: 12px !important;
}

.account-esim-setup-card-v175 h2,
.account-install-qr-card-v175 h2,
.account-install-guide-card-v175 h2,
.account-activation-card-v175 h2 {
  font-size: 19px !important;
}

.account-esim-setup-card-v175 > a,
.account-install-guide-card-v175 > a,
.account-activation-side-v175 > a {
  min-height: 58px !important;
  grid-template-columns: 30px minmax(0, 1fr) 18px !important;
  gap: 9px !important;
  padding: 10px !important;
  border-radius: 12px !important;
}

.account-install-grid-v175,
.account-activation-grid-v175 {
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 16px !important;
}

.account-install-qr-img {
  width: min(100%, 320px) !important;
  height: auto !important;
  margin-inline: auto !important;
}

.account-install-actions-v175 input {
  min-width: 0 !important;
}

.account-safe-strip-v175 {
  padding: 14px 16px !important;
  border-radius: 16px !important;
}

@media (max-width: 1120px) {
  .account-dashboard-v174 {
    grid-template-columns: 216px minmax(0, 1fr) !important;
    padding-inline: 16px !important;
  }

  .account-data-shell-v175 {
    grid-template-columns: 200px minmax(0, 1fr) !important;
  }

  .account-esim-detail-grid-v175,
  .account-install-grid-v175,
  .account-activation-grid-v175 {
    grid-template-columns: 1fr !important;
  }

  .account-topup-payline,
  .account-dashboard-lower {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  main.app:has(.account-dashboard-v174) {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body:has(.account-dashboard-v174) .brand-image-lockup .brand-logo-image {
    width: 146px !important;
    max-height: 60px !important;
  }

  body:has(.account-dashboard-v174) .site-header {
    width: 100vw !important;
    max-width: 100vw !important;
    padding-inline: 14px !important;
  }

  .account-dashboard-v174,
  .account-data-shell-v175 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 10px 92px !important;
    overflow: hidden !important;
  }

  .account-dashboard-v174 .account-side-panel,
  .account-data-shell-v175 .account-side-panel {
    display: none !important;
  }

  .account-dashboard-v174:not(.account-data-shell-v175) .account-main-panel {
    width: 100% !important;
    max-width: none !important;
  }

  .account-mobile-welcome,
  .account-mobile-wallet-card,
  .account-mobile-active-card,
  .account-mobile-menu {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 17px !important;
  }

  .account-mobile-welcome {
    padding: 12px !important;
    gap: 10px !important;
  }

  .account-mobile-welcome strong {
    max-width: 190px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 16px !important;
  }

  .account-mobile-welcome small {
    max-width: 190px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .account-stat-grid {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  .account-stat-card {
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 8px 3px !important;
    border-radius: 13px !important;
    gap: 3px !important;
  }

  .account-stat-card > span:first-child {
    width: 28px !important;
    height: 28px !important;
  }

  .account-stat-card .ui-icon {
    width: 15px !important;
    height: 15px !important;
  }

  .account-stat-card small {
    max-width: 100% !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .account-stat-card strong {
    font-size: 14px !important;
  }

  .account-data-main-v175 {
    width: 100% !important;
    max-width: 100% !important;
    gap: 13px !important;
  }

  .account-esims-top-v175,
  .account-esim-detail-top-v175 {
    align-items: center !important;
  }

  .account-esims-top-v175 h1,
  .account-esim-detail-top-v175 h1 {
    font-size: 28px !important;
  }

  .account-esims-top-v175 .btn {
    min-height: 36px !important;
    padding-inline: 10px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }

  .account-esim-stats-v175 {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .account-esim-stats-v175 span {
    min-height: 76px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 8px 3px !important;
    gap: 3px !important;
    text-align: center !important;
    border-radius: 14px !important;
  }

  .account-esim-stats-v175 .ui-icon {
    grid-row: auto !important;
    width: 32px !important;
    height: 32px !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }

  .account-esim-stats-v175 b {
    font-size: 9px !important;
    line-height: 1.05 !important;
  }

  .account-esim-stats-v175 strong {
    font-size: 15px !important;
  }

  .account-esim-mobile-summary-v175,
  .account-esim-mobile-filters-v175,
  .account-esim-tabs-v175,
  .account-esim-picks-v175 {
    display: none !important;
  }

  .account-esim-section-head h2 {
    font-size: 19px !important;
  }

  .account-esim-section-head h2 span {
    padding: 5px 9px !important;
    font-size: 11px !important;
  }

  .account-esim-section-head > div {
    display: none !important;
  }

  .account-esim-row-v175 {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
    gap: 8px !important;
    min-height: 118px !important;
    padding: 13px !important;
    border-radius: 16px !important;
  }

  .account-esim-row-main {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .account-esim-row-country {
    gap: 9px !important;
  }

  .account-esim-flag,
  .account-esim-pick-flag,
  .account-esim-summary-flag {
    width: 34px !important;
    height: 34px !important;
  }

  .account-esim-row-country strong {
    font-size: 17px !important;
  }

  .account-esim-status {
    margin-top: 3px !important;
    padding: 4px 7px !important;
    font-size: 9px !important;
  }

  .account-esim-row-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .account-esim-row-stats b {
    font-size: 13px !important;
  }

  .account-esim-row-stats small {
    font-size: 10px !important;
  }

  .account-esim-row-meta,
  .account-esim-row-action {
    display: none !important;
  }

  .account-esim-row-signal .ui-icon {
    width: 26px !important;
    height: 26px !important;
  }

  .account-esim-detail-grid-v175,
  .account-install-grid-v175,
  .account-activation-grid-v175 {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .account-esim-hero-card-v175 {
    min-height: 152px !important;
    padding: 18px !important;
    border-radius: 17px !important;
  }

  .account-esim-hero-card-v175 h2 {
    font-size: 25px !important;
  }

  .account-esim-detail-metrics-v175 span {
    min-height: 82px !important;
  }

  .account-esim-detail-table-v175 div {
    min-height: 48px !important;
    flex-direction: row !important;
    align-items: center !important;
    padding-inline: 12px !important;
  }

  .account-esim-detail-table-v175 dd code,
  .account-activation-side-v175 code {
    max-width: 180px !important;
  }
}

/* Mobile account fit correction v177 */
@media (max-width: 760px) {
  main.app:has(.account-dashboard-v174) {
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(.account-dashboard-v174) .site-header {
    width: 100% !important;
    max-width: 100% !important;
  }

  .account-esims-top-v175 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  .account-esims-top-v175 .btn {
    min-width: 104px !important;
    max-width: 124px !important;
    min-height: 36px !important;
    padding: 0 8px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    font-size: 10px !important;
    letter-spacing: 0 !important;
    box-shadow: 0 8px 20px rgba(229, 9, 20, 0.18) !important;
  }

  .account-esims-top-v175 .btn .ui-icon {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 auto !important;
  }
}

/* Global AleoFly header logo scale v178 */
body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
  width: 188px !important;
  max-width: 188px !important;
  max-height: 78px !important;
  object-fit: contain !important;
}

body .site-header .brand-image-lockup,
body:has(.aleo-home-v59) .site-header .brand-image-lockup,
body:has(.checkout-page-v113) .site-header .brand-image-lockup,
body:has(.one-country-page) .site-header .brand-image-lockup,
body:has(.one-country-category-page) .site-header .brand-image-lockup,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup {
  flex: 0 0 auto !important;
  min-width: 188px !important;
}

@media (max-width: 760px) {
  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 160px !important;
    max-width: 160px !important;
    max-height: 66px !important;
  }

  body .site-header .brand-image-lockup,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup,
  body:has(.one-country-page) .site-header .brand-image-lockup,
  body:has(.one-country-category-page) .site-header .brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup {
    min-width: 160px !important;
  }
}

/* AleoFly v179: route refresh polish.
   Prevent restored bottom scroll from exposing the footer during skeleton loads,
   and keep the footer pinned to the viewport bottom when content is short. */
html {
  min-height: 100% !important;
  background: #fff !important;
}

body {
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  overflow-x: hidden !important;
}

.site-header,
.site-footer {
  flex: 0 0 auto !important;
}

main.app {
  flex: 1 0 auto !important;
}

body.is-route-loading main.app {
  min-height: calc(100dvh - 118px) !important;
}

body.is-route-loading .site-footer {
  display: none !important;
}

@media (max-width: 760px) {
  body.is-route-loading main.app {
    min-height: calc(100dvh - 92px) !important;
    padding-bottom: 88px !important;
  }
}

/* AleoFly v180: account dashboard corrections for long names and danger states. */
.site-header .header-actions .account-header-action {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 24px !important;
  border: 1px solid #e50914 !important;
  border-radius: 10px !important;
  background: #e50914 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(229, 9, 20, 0.18) !important;
}

.site-header .header-actions .account-header-action.active {
  background: #d90412 !important;
  border-color: #d90412 !important;
  box-shadow: 0 12px 28px rgba(229, 9, 20, 0.24) !important;
}

.account-side-user > strong,
.account-mobile-welcome strong,
.account-hero-banner h2,
.account-recent-orders li strong {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.account-side-user > strong {
  width: 100% !important;
  padding-inline: 2px !important;
}

.account-side-user > small,
.account-hero-banner b,
.account-recent-orders li small {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.account-recent-orders li,
.account-recent-orders li > span,
.account-recent-orders li > span > span {
  min-width: 0 !important;
}

.account-metric-value.is-danger,
.account-active-esim dd.is-danger,
.account-usage-ring.is-danger b,
.account-usage-ring.is-danger small,
.account-mobile-active-card .is-danger,
.account-esim-row-stats span.is-danger b,
.account-esim-row-stats span.is-danger small,
.account-esim-detail-metrics-v175 span.is-danger b,
.account-esim-detail-metrics-v175 span.is-danger small,
.account-esim-detail-table-v175 dd.is-danger {
  color: #e50914 !important;
}

.account-usage-ring.is-danger {
  background:
    radial-gradient(circle at center, #fff 58%, transparent 59%),
    conic-gradient(#e50914 max(var(--account-used), 2%), #fee2e2 0) !important;
  box-shadow: inset 0 0 0 2px #fecdd3, 0 12px 26px rgba(229, 9, 20, 0.12) !important;
}

.account-active-esim dl div:has(dd.is-danger) {
  border-bottom-color: #fecdd3 !important;
}

.account-order-status {
  white-space: nowrap !important;
}

.account-recent-orders li em.account-order-status-success {
  color: #128a42 !important;
  background: #ecfdf3 !important;
}

.account-recent-orders li em.account-order-status-warning {
  color: #b45309 !important;
  background: #fff7ed !important;
}

.account-recent-orders li em.account-order-status-danger {
  color: #dc2626 !important;
  background: #fff1f2 !important;
}

.account-recent-orders li em.account-order-status-neutral {
  color: #475569 !important;
  background: #f1f5f9 !important;
}

@media (max-width: 760px) {
  .site-header .header-actions .account-header-action {
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
  }

  .account-hero-banner h2,
  .account-mobile-welcome strong {
    max-width: min(240px, calc(100vw - 150px)) !important;
  }
}

/* AleoFly v182: larger global header logo + mobile language/currency controls beside notifications. */
.mobile-notification-action {
  display: none !important;
}

body .site-header {
  min-height: 86px !important;
}

body .site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
  width: auto !important;
  min-width: 214px !important;
  height: 82px !important;
  max-height: 82px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
  width: 214px !important;
  max-width: 214px !important;
  height: auto !important;
  max-height: 82px !important;
  object-fit: contain !important;
}

body .site-header > .brand .brand-text {
  display: none !important;
}

@media (max-width: 760px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header {
    min-height: 74px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-bottom: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body .site-header::after,
  body:has(.one-country-page) .site-header::after {
    display: none !important;
    content: none !important;
  }

  body .site-header .top-offer,
  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header .top-offer,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.one-country-page) .site-header .top-offer,
  body:has(.one-country-page) .site-header > .top-nav {
    display: none !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 174px !important;
    min-width: 174px !important;
    height: 60px !important;
    max-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 174px !important;
    max-width: 174px !important;
    height: auto !important;
    max-height: 60px !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select,
  body:has(.aleo-home-v59) .site-header .header-actions .lang-select,
  body:has(.aleo-home-v59) .site-header .header-actions .currency-select,
  body:has(.one-country-page) .site-header .header-actions .lang-select,
  body:has(.one-country-page) .site-header .header-actions .currency-select {
    height: 36px !important;
    min-height: 36px !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 999px !important;
    background-color: #fff !important;
    color: #071126 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body .site-header .header-actions .lang-select,
  body:has(.aleo-home-v59) .site-header .header-actions .lang-select,
  body:has(.one-country-page) .site-header .header-actions .lang-select {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    padding: 0 16px 0 9px !important;
  }

  body .site-header .header-actions .currency-select,
  body:has(.aleo-home-v59) .site-header .header-actions .currency-select,
  body:has(.one-country-page) .site-header .header-actions .currency-select {
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    padding: 0 16px 0 9px !important;
  }

  body .site-header [data-toggle-theme-quick],
  body:has(.aleo-home-v59) .site-header [data-toggle-theme-quick],
  body:has(.one-country-page) .site-header [data-toggle-theme-quick] {
    display: none !important;
  }

  body .site-header .header-actions > a:not(.mobile-notification-action),
  body:has(.aleo-home-v59) .site-header .header-actions > a:not(.mobile-notification-action),
  body:has(.one-country-page) .site-header .header-actions > a:not(.mobile-notification-action) {
    display: none !important;
  }

  body .site-header .header-actions > .mobile-notification-action,
  body:has(.aleo-home-v59) .site-header .header-actions > .mobile-notification-action,
  body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action {
    position: relative !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #071126 !important;
    font-size: 0 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body .site-header .header-actions > .mobile-notification-action::before,
  body:has(.aleo-home-v59) .site-header .header-actions > .mobile-notification-action::before,
  body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action::before {
    content: "" !important;
    width: 14px !important;
    height: 15px !important;
    border: 2px solid #071126 !important;
    border-bottom: 0 !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    background: transparent !important;
  }

  body .site-header .header-actions > .mobile-notification-action::after,
  body:has(.aleo-home-v59) .site-header .header-actions > .mobile-notification-action::after,
  body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action::after {
    content: "" !important;
    position: absolute !important;
    top: 7px !important;
    right: 7px !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: #e50914 !important;
  }
}

@media (max-width: 380px) {
  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    width: 158px !important;
    min-width: 158px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 158px !important;
    max-width: 158px !important;
  }

  body .site-header .header-actions .lang-select {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    font-size: 10px !important;
  }

  body .site-header .header-actions .currency-select {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    font-size: 10px !important;
  }
}

/* AleoFly v184 final cascade: account post-purchase UX wins over older account CSS. */
.account-dashboard-v174:not(.account-data-shell-v175) .account-main-panel {
  max-width: none !important;
}

.account-dashboard-v174 .account-wallet-topup {
  display: none !important;
}

.account-settings-head-v183 {
  min-height: auto !important;
  align-items: center !important;
  padding: 18px 20px !important;
}

.account-continue-card-v184 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 260px !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 20px !important;
  border: 1px solid #ffd7dd !important;
  border-radius: 20px !important;
  background: radial-gradient(circle at 86% 18%, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0) 28%), linear-gradient(135deg, #fff5f6 0%, #fff 45%, #f7fbff 100%) !important;
  box-shadow: 0 18px 46px rgba(229, 9, 20, 0.075) !important;
}

.account-continue-copy-v184 {
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

.account-continue-copy-v184 > span {
  width: fit-content !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #e50914 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.account-continue-copy-v184 h2 {
  margin: 0 !important;
  color: #071126 !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.04 !important;
  overflow-wrap: anywhere !important;
}

.account-continue-copy-v184 p {
  margin: 0 !important;
  color: #66758c !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

.account-continue-metrics-v184 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin-top: 4px !important;
}

.account-continue-metrics-v184 b,
.account-order-usage-v184 span {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
  padding: 10px 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: #071126 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

.account-continue-metrics-v184 small,
.account-order-usage-v184 small {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

.account-continue-side-v184 {
  display: grid !important;
  justify-items: end !important;
  gap: 14px !important;
}

.account-continue-flag-v184 {
  width: 64px !important;
  height: 64px !important;
  border-radius: 20px !important;
}

.account-flow-actions-v184 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-end !important;
}

.account-flow-actions-v184 .btn,
.account-flow-actions-v184 .btn-ghost {
  min-height: 42px !important;
  border-radius: 12px !important;
  padding-inline: 14px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.account-flow-actions-v184 .btn {
  background: #e50914 !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(229, 9, 20, 0.22) !important;
}

.account-flow-actions-v184 .btn-ghost {
  border: 1px solid #e5edf7 !important;
  background: #fff !important;
  color: #071126 !important;
}

.account-esim-tabs-v175 > span,
.account-esim-section-head > div > span {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #071126 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.account-esim-tabs-v175 > span.active,
.account-esim-section-head > div > span.active {
  border-color: #ffdbe0 !important;
  background: #fff1f3 !important;
  color: #e50914 !important;
}

.account-order-card-v184 {
  grid-template-columns: minmax(250px, 1.1fr) 150px minmax(210px, 0.9fr) 110px 220px !important;
  min-height: 132px !important;
}

.account-order-usage-v184 {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.account-order-card-actions-v184 {
  width: auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.account-order-card-actions-v184 .account-flow-actions-v184 {
  display: contents !important;
}

.account-order-card-actions-v184 .btn,
.account-order-card-actions-v184 .btn-ghost {
  min-height: 38px !important;
  justify-content: center !important;
  border-radius: 11px !important;
  font-size: 12px !important;
}

.account-order-linked-esim-v184 {
  display: grid !important;
  gap: 14px !important;
}

.account-dashboard-lower {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(260px, 0.75fr) !important;
}

@media (max-width: 1120px) {
  .account-continue-card-v184,
  .account-order-card-v184 {
    grid-template-columns: 1fr !important;
  }

  .account-continue-side-v184,
  .account-flow-actions-v184 {
    justify-items: start !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  .account-settings-head-v183 {
    display: grid !important;
    gap: 10px !important;
    padding: 15px !important;
    border-radius: 17px !important;
  }

  .account-continue-card-v184 {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
    padding: 15px !important;
    border-radius: 18px !important;
  }

  .account-continue-metrics-v184 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .account-continue-side-v184 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .account-continue-flag-v184 {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
  }

  .account-flow-actions-v184 {
    width: 100% !important;
    justify-content: stretch !important;
  }

  .account-flow-actions-v184 .btn,
  .account-flow-actions-v184 .btn-ghost {
    flex: 1 1 100% !important;
    justify-content: center !important;
    min-height: 44px !important;
  }

  .account-dashboard-lower,
  .account-order-card-v184 {
    grid-template-columns: 1fr !important;
  }

  .account-order-card-v184 {
    gap: 12px !important;
    min-height: 0 !important;
  }

  .account-order-card-v184 .account-order-card-meta-v183 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .account-order-card-v184 .account-order-card-total-v183 {
    grid-column: auto !important;
    justify-self: start !important;
  }

  .account-order-usage-v184 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .account-order-card-actions-v184 {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .account-esim-row-action {
    display: block !important;
    grid-column: 1 / -1 !important;
  }

  .account-esim-row-action .btn,
  .account-esim-row-action .btn-ghost {
    width: 100% !important;
    justify-content: center !important;
  }
}
/* AleoFly v185 hard-stop header override: must remain last in this file. */
body .site-header {
  min-height: 112px !important;
  padding: 0 62px !important;
  gap: 34px !important;
  border-bottom: 1px solid rgba(229, 9, 20, 0.09) !important;
  background:
    radial-gradient(circle at 9% 42%, rgba(229, 9, 20, 0.105) 0, rgba(229, 9, 20, 0.038) 24%, rgba(255, 255, 255, 0) 48%),
    linear-gradient(90deg, #fff7f9 0%, #fff 34%, #fff 63%, #fff6f8 100%) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035) !important;
}
body .site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
  min-width: 244px !important;
  width: 244px !important;
  height: 96px !important;
  flex: 0 0 244px !important;
}
body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
  width: 226px !important;
  max-width: 226px !important;
  height: 86px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body .site-header > .brand .brand-text { display: none !important; }
body .site-header > .top-nav {
  gap: clamp(26px, 3.2vw, 54px) !important;
}
body .site-header > .top-nav a {
  min-height: 48px !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}
body .site-header > .header-actions { gap: 16px !important; }
body .site-header .header-actions .lang-select,
body .site-header .header-actions .currency-select {
  min-height: 46px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  background: rgba(255, 255, 255, 0.68) !important;
}
body .site-header .header-actions > a[href="/login"],
body .site-header .header-actions .account-header-action {
  min-height: 54px !important;
  padding: 0 28px !important;
  font-size: 16px !important;
}
body .site-header .header-actions > button[data-toggle-theme-quick] {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
}
@media (max-width: 760px) {
  body .site-header {
    min-height: 132px !important;
    padding: 15px 18px 13px !important;
    background:
      radial-gradient(circle at 46% 18%, rgba(229, 9, 20, 0.105), rgba(255, 255, 255, 0) 48%),
      linear-gradient(180deg, #fff7f9 0%, #fff 74%) !important;
  }
  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup {
    min-width: 198px !important;
    width: 198px !important;
    height: 86px !important;
    flex: 0 0 198px !important;
  }
  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image {
    width: 188px !important;
    max-width: 188px !important;
    height: 76px !important;
    max-height: 76px !important;
  }
  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select {
    min-width: 70px !important;
    max-width: 78px !important;
    min-height: 40px !important;
    height: 40px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 390px) {
  body .site-header > .brand.brand-image-lockup {
    min-width: 176px !important;
    width: 176px !important;
    flex-basis: 176px !important;
  }
  body .site-header .brand-image-lockup .brand-logo-image {
    width: 170px !important;
    max-width: 170px !important;
  }
  body .site-header .header-actions .lang-select { display: none !important; }
}
/* AleoFly v185 account/mobile route-specific header lock. */
body:has(.account-dashboard-v174) .site-header,
body:has(.account-data-shell-v175) .site-header,
body:has(.auth-page) .site-header,
body:has(.login-card) .site-header {
  min-height: 112px !important;
  padding: 0 62px !important;
  gap: 34px !important;
  border-bottom: 1px solid rgba(229, 9, 20, 0.09) !important;
  background:
    radial-gradient(circle at 9% 42%, rgba(229, 9, 20, 0.105) 0, rgba(229, 9, 20, 0.038) 24%, rgba(255, 255, 255, 0) 48%),
    linear-gradient(90deg, #fff7f9 0%, #fff 34%, #fff 63%, #fff6f8 100%) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035) !important;
}
@media (max-width: 760px) {
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    min-height: 132px !important;
    padding: 15px 18px 13px !important;
    gap: 9px !important;
    background:
      radial-gradient(circle at 46% 18%, rgba(229, 9, 20, 0.105), rgba(255, 255, 255, 0) 48%),
      linear-gradient(180deg, #fff7f9 0%, #fff 74%) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035) !important;
  }
}

/* AleoFly v187 final header scale lock: logo, nav, actions and gradient on every route. */
body .site-header,
body:has(.aleo-home-v59) .site-header,
body:has(.checkout-page-v113) .site-header,
body:has(.one-country-page) .site-header,
body:has(.one-country-category-page) .site-header,
body:has(.account-dashboard-v174) .site-header,
body:has(.account-data-shell-v175) .site-header,
body:has(.auth-page) .site-header,
body:has(.login-card) .site-header {
  min-height: 122px !important;
  padding: 0 64px !important;
  gap: 36px !important;
  border-bottom: 1px solid rgba(229, 9, 20, 0.11) !important;
  background:
    radial-gradient(circle at 8% 50%, rgba(229, 9, 20, 0.16) 0, rgba(229, 9, 20, 0.055) 26%, rgba(255, 255, 255, 0) 52%),
    radial-gradient(circle at 92% 28%, rgba(229, 9, 20, 0.09) 0, rgba(255, 255, 255, 0) 38%),
    linear-gradient(90deg, #fff4f7 0%, #ffffff 31%, #ffffff 64%, #fff6f8 100%) !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.045) !important;
}

body .site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
body:has(.auth-page) .site-header > .brand.brand-image-lockup,
body:has(.login-card) .site-header > .brand.brand-image-lockup {
  min-width: 276px !important;
  width: 276px !important;
  height: 108px !important;
  flex: 0 0 276px !important;
}

body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
  width: 258px !important;
  max-width: 258px !important;
  height: 98px !important;
  max-height: 98px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

body .site-header > .brand .brand-text {
  display: none !important;
}

body .site-header > .top-nav,
body:has(.aleo-home-v59) .site-header > .top-nav,
body:has(.checkout-page-v113) .site-header > .top-nav,
body:has(.one-country-page) .site-header > .top-nav,
body:has(.one-country-category-page) .site-header > .top-nav,
body:has(.account-dashboard-v174) .site-header > .top-nav,
body:has(.account-data-shell-v175) .site-header > .top-nav,
body:has(.auth-page) .site-header > .top-nav,
body:has(.login-card) .site-header > .top-nav {
  gap: clamp(30px, 3.4vw, 58px) !important;
}

body .site-header > .top-nav a,
body:has(.aleo-home-v59) .site-header > .top-nav a,
body:has(.checkout-page-v113) .site-header > .top-nav a,
body:has(.one-country-page) .site-header > .top-nav a,
body:has(.one-country-category-page) .site-header > .top-nav a,
body:has(.account-dashboard-v174) .site-header > .top-nav a,
body:has(.account-data-shell-v175) .site-header > .top-nav a,
body:has(.auth-page) .site-header > .top-nav a,
body:has(.login-card) .site-header > .top-nav a {
  min-height: 52px !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}

body .site-header > .header-actions {
  gap: 17px !important;
}

body .site-header .header-actions .lang-select,
body .site-header .header-actions .currency-select {
  min-height: 48px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(229, 9, 20, 0.11) !important;
}

body .site-header .header-actions > a[href="/login"],
body .site-header .header-actions .account-header-action {
  min-height: 58px !important;
  padding: 0 30px !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}

body .site-header .header-actions > button[data-toggle-theme-quick] {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
}

@media (max-width: 760px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    min-height: 142px !important;
    padding: 16px 16px 14px !important;
    gap: 9px !important;
    background:
      radial-gradient(circle at 47% 20%, rgba(229, 9, 20, 0.14), rgba(255, 255, 255, 0) 50%),
      linear-gradient(180deg, #fff3f6 0%, #ffffff 78%) !important;
    box-shadow: 0 9px 22px rgba(15, 23, 42, 0.04) !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 218px !important;
    width: 218px !important;
    height: 96px !important;
    flex: 0 0 218px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 206px !important;
    max-width: 206px !important;
    height: 84px !important;
    max-height: 84px !important;
  }

  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select {
    display: inline-flex !important;
    min-width: 72px !important;
    max-width: 78px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 11px !important;
    font-size: 12px !important;
  }

  body .site-header .header-actions > button[data-toggle-theme-quick],
  body .site-header .header-actions > .mobile-notification-action {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }
}

@media (max-width: 390px) {
  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 204px !important;
    width: 204px !important;
    flex-basis: 204px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 194px !important;
    max-width: 194px !important;
    height: 80px !important;
    max-height: 80px !important;
  }

  body .site-header .header-actions .lang-select {
    display: inline-flex !important;
  }
}

/* AleoFly v188 mobile header layout lock: keep the larger logo and controls from overlapping. */
@media (max-width: 760px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    min-height: 164px !important;
    height: auto !important;
    padding: 13px 14px 14px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 218px !important;
    width: 218px !important;
    height: 88px !important;
    flex: 0 0 auto !important;
    align-self: center !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 206px !important;
    max-width: 206px !important;
    height: 84px !important;
    max-height: 84px !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    width: 100% !important;
    max-width: 276px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    position: static !important;
    transform: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
  }

  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select,
  body:has(.account-dashboard-v174) .site-header .header-actions .lang-select,
  body:has(.account-dashboard-v174) .site-header .header-actions .currency-select,
  body:has(.account-data-shell-v175) .site-header .header-actions .lang-select,
  body:has(.account-data-shell-v175) .site-header .header-actions .currency-select {
    display: inline-flex !important;
    min-width: 72px !important;
    width: 72px !important;
    max-width: 72px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  body .site-header .header-actions > button[data-toggle-theme-quick],
  body .site-header .header-actions > .mobile-notification-action,
  body:has(.account-dashboard-v174) .site-header .header-actions > button[data-toggle-theme-quick],
  body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-data-shell-v175) .site-header .header-actions > button[data-toggle-theme-quick],
  body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }
}

/* AleoFly v189 mobile header proof lock: override legacy mobile grid headers. */
@media (max-width: 760px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    display: flex !important;
    min-height: 164px !important;
    height: auto !important;
    padding: 13px 14px 14px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    display: flex !important;
    min-width: 218px !important;
    width: 218px !important;
    max-width: 218px !important;
    min-height: 88px !important;
    height: 88px !important;
    max-height: 88px !important;
    flex: 0 0 88px !important;
    align-self: center !important;
    justify-content: center !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 206px !important;
    max-width: 206px !important;
    height: 84px !important;
    max-height: 84px !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    width: 202px !important;
    max-width: 202px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    align-self: center !important;
    justify-content: center !important;
    gap: 8px !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

/* AleoFly v191 desktop header fit lock: one transparent logo, no nav/action overlap. */
@media (min-width: 761px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    display: flex !important;
    min-height: 118px !important;
    padding: 0 54px !important;
    gap: 24px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 250px !important;
    width: 250px !important;
    max-width: 250px !important;
    height: 96px !important;
    flex: 0 0 250px !important;
    overflow: visible !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: 240px !important;
    max-width: 240px !important;
    height: 92px !important;
    max-height: 92px !important;
    background: transparent !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav,
  body:has(.account-data-shell-v175) .site-header > .top-nav,
  body:has(.auth-page) .site-header > .top-nav,
  body:has(.login-card) .site-header > .top-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    gap: clamp(12px, 1.15vw, 18px) !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  body .site-header > .top-nav a,
  body:has(.aleo-home-v59) .site-header > .top-nav a,
  body:has(.checkout-page-v113) .site-header > .top-nav a,
  body:has(.one-country-page) .site-header > .top-nav a,
  body:has(.one-country-category-page) .site-header > .top-nav a,
  body:has(.account-dashboard-v174) .site-header > .top-nav a,
  body:has(.account-data-shell-v175) .site-header > .top-nav a,
  body:has(.auth-page) .site-header > .top-nav a,
  body:has(.login-card) .site-header > .top-nav a {
    flex: 0 0 auto !important;
    min-height: 48px !important;
    font-size: 16px !important;
    white-space: nowrap !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    gap: 10px !important;
    margin-left: 0 !important;
  }

  body .site-header .header-actions .lang-select,
  body .site-header .header-actions .currency-select {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 13px !important;
    font-size: 14px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body .site-header .header-actions .lang-select {
    width: 112px !important;
    max-width: 112px !important;
  }

  body .site-header .header-actions .currency-select {
    width: 82px !important;
    max-width: 82px !important;
  }

  body .site-header .header-actions > button[data-toggle-theme-quick] {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
  }

  body .site-header .header-actions > a[href="/login"],
  body .site-header .header-actions .account-header-action {
    min-height: 52px !important;
    padding: 0 22px !important;
    font-size: 16px !important;
  }
}

/* AleoFly v192 header control width polish: keep labels readable after logo fix. */
@media (min-width: 761px) {
  body .site-header .header-actions .lang-select {
    width: 124px !important;
    max-width: 124px !important;
  }

  body .site-header .header-actions .currency-select {
    width: 88px !important;
    max-width: 88px !important;
  }
}

@media (max-width: 760px) {
  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    width: 216px !important;
    max-width: 216px !important;
  }

  body .site-header .header-actions .lang-select,
  body:has(.account-dashboard-v174) .site-header .header-actions .lang-select,
  body:has(.account-data-shell-v175) .site-header .header-actions .lang-select {
    width: 80px !important;
    max-width: 80px !important;
    min-width: 80px !important;
  }

  body .site-header .header-actions .currency-select,
  body:has(.account-dashboard-v174) .site-header .header-actions .currency-select,
  body:has(.account-data-shell-v175) .site-header .header-actions .currency-select {
    width: 72px !important;
    max-width: 72px !important;
    min-width: 72px !important;
  }
}

/* AleoFly v193 reference header: desktop, scrolled desktop, and mobile from the supplied mockup. */
body .top-offer,
body .site-header .top-offer {
  display: none !important;
}

body .site-header,
body:has(.aleo-home-v59) .site-header,
body:has(.checkout-page-v113) .site-header,
body:has(.one-country-page) .site-header,
body:has(.one-country-category-page) .site-header,
body:has(.account-dashboard-v174) .site-header,
body:has(.account-data-shell-v175) .site-header,
body:has(.auth-page) .site-header,
body:has(.login-card) .site-header {
  position: sticky !important;
  top: 18px !important;
  z-index: 50 !important;
  display: flex !important;
  width: min(calc(100% - 64px), 1450px) !important;
  min-height: 128px !important;
  margin: 22px auto 0 !important;
  padding: 0 26px 0 54px !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(18px, 2vw, 30px) !important;
  overflow: hidden !important;
  direction: ltr !important;
  border: 1px solid rgba(255, 167, 180, 0.78) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(110deg, rgba(236, 18, 32, 0.22) 0%, rgba(255, 211, 219, 0.58) 25%, rgba(255, 255, 255, 0.72) 52%, rgba(255, 207, 217, 0.68) 100%),
    linear-gradient(90deg, rgba(246, 21, 40, 0.18), rgba(255, 255, 255, 0.84) 44%, rgba(244, 15, 35, 0.18)) !important;
  box-shadow:
    0 24px 54px rgba(117, 12, 24, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    inset 0 -1px 0 rgba(235, 24, 42, 0.22) !important;
  isolation: isolate !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  transition: min-height 180ms ease, width 180ms ease, margin 180ms ease, padding 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

body .site-header::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(255, 255, 255, 0.44) 13%, transparent 15%),
    linear-gradient(100deg, transparent 0 18%, rgba(229, 9, 20, 0.26) 19%, transparent 22%),
    repeating-linear-gradient(8deg, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(92deg, rgba(229, 9, 20, 0.14) 0 1px, transparent 1px 42px);
  opacity: 0.86 !important;
  mix-blend-mode: screen !important;
}

body .site-header::after {
  content: "" !important;
  position: absolute !important;
  right: 8% !important;
  bottom: 0 !important;
  left: 8% !important;
  z-index: -1 !important;
  height: 3px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(255, 34, 51, 0.36), #ff1126 47%, rgba(255, 255, 255, 0.88) 52%, rgba(255, 34, 51, 0.36), transparent) !important;
  box-shadow: 0 -10px 22px rgba(229, 9, 20, 0.38), 0 0 18px rgba(229, 9, 20, 0.58) !important;
}

body .site-header > * {
  position: relative !important;
  z-index: 1 !important;
}

body.aleo-header-scrolled .site-header,
body.aleo-header-scrolled:has(.aleo-home-v59) .site-header,
body.aleo-header-scrolled:has(.checkout-page-v113) .site-header,
body.aleo-header-scrolled:has(.one-country-page) .site-header,
body.aleo-header-scrolled:has(.one-country-category-page) .site-header,
body.aleo-header-scrolled:has(.account-dashboard-v174) .site-header,
body.aleo-header-scrolled:has(.account-data-shell-v175) .site-header,
body.aleo-header-scrolled:has(.auth-page) .site-header,
body.aleo-header-scrolled:has(.login-card) .site-header {
  top: 14px !important;
  width: min(calc(100% - 112px), 1110px) !important;
  min-height: 82px !important;
  margin-top: 14px !important;
  padding: 0 18px 0 34px !important;
  border-radius: 15px !important;
  background:
    linear-gradient(110deg, rgba(236, 18, 32, 0.16) 0%, rgba(255, 221, 227, 0.68) 28%, rgba(255, 255, 255, 0.78) 54%, rgba(255, 213, 223, 0.68) 100%),
    linear-gradient(90deg, rgba(246, 21, 40, 0.12), rgba(255, 255, 255, 0.86) 44%, rgba(244, 15, 35, 0.14)) !important;
  box-shadow:
    0 18px 38px rgba(117, 12, 24, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    inset 0 -1px 0 rgba(235, 24, 42, 0.18) !important;
}

body .site-header > .mobile-menu-trigger {
  display: none !important;
}

body .site-header > .brand.brand-image-lockup,
body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
body:has(.auth-page) .site-header > .brand.brand-image-lockup,
body:has(.login-card) .site-header > .brand.brand-image-lockup {
  display: flex !important;
  min-width: 300px !important;
  width: 300px !important;
  max-width: 300px !important;
  min-height: 104px !important;
  height: 104px !important;
  max-height: 104px !important;
  flex: 0 0 300px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  color: #071126 !important;
  text-decoration: none !important;
}

body .site-header .brand-image-lockup .brand-logo-image,
body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
  display: block !important;
  width: 286px !important;
  max-width: 286px !important;
  height: 96px !important;
  max-height: 96px !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  filter: drop-shadow(0 10px 18px rgba(229, 9, 20, 0.16)) !important;
}

body.aleo-header-scrolled .site-header > .brand.brand-image-lockup {
  min-width: 188px !important;
  width: 188px !important;
  max-width: 188px !important;
  min-height: 70px !important;
  height: 70px !important;
  max-height: 70px !important;
  flex-basis: 188px !important;
}

body.aleo-header-scrolled .site-header .brand-image-lockup .brand-logo-image {
  width: 176px !important;
  max-width: 176px !important;
  height: 64px !important;
  max-height: 64px !important;
}

body .site-header > .brand .brand-text,
body .site-header > .brand.brand-image-lockup > span {
  display: none !important;
}

body .site-header > .top-nav,
body:has(.aleo-home-v59) .site-header > .top-nav,
body:has(.checkout-page-v113) .site-header > .top-nav,
body:has(.one-country-page) .site-header > .top-nav,
body:has(.one-country-category-page) .site-header > .top-nav,
body:has(.account-dashboard-v174) .site-header > .top-nav,
body:has(.account-data-shell-v175) .site-header > .top-nav,
body:has(.auth-page) .site-header > .top-nav,
body:has(.login-card) .site-header > .top-nav {
  display: flex !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(24px, 2.5vw, 42px) !important;
  overflow: visible !important;
}

body .site-header > .top-nav a,
body:has(.aleo-home-v59) .site-header > .top-nav a,
body:has(.checkout-page-v113) .site-header > .top-nav a,
body:has(.one-country-page) .site-header > .top-nav a,
body:has(.one-country-category-page) .site-header > .top-nav a,
body:has(.account-dashboard-v174) .site-header > .top-nav a,
body:has(.account-data-shell-v175) .site-header > .top-nav a,
body:has(.auth-page) .site-header > .top-nav a,
body:has(.login-card) .site-header > .top-nav a {
  position: relative !important;
  display: inline-flex !important;
  min-height: 62px !important;
  padding: 0 0 12px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  color: #080d19 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 160ms ease, transform 160ms ease !important;
}

body .site-header > .top-nav a::after {
  content: "" !important;
  position: absolute !important;
  right: 12% !important;
  bottom: 5px !important;
  left: 12% !important;
  height: 3px !important;
  border-radius: 99px !important;
  background: #e50914 !important;
  box-shadow: 0 5px 14px rgba(229, 9, 20, 0.42) !important;
  opacity: 0 !important;
  transform: scaleX(0.5) !important;
  transition: opacity 160ms ease, transform 160ms ease !important;
}

body .site-header > .top-nav a.active,
body .site-header > .top-nav a:hover,
body:has(.aleo-home-v59) .site-header > .top-nav a.active,
body:has(.aleo-home-v59) .site-header > .top-nav a:hover,
body:has(.checkout-page-v113) .site-header > .top-nav a.active,
body:has(.checkout-page-v113) .site-header > .top-nav a:hover,
body:has(.one-country-page) .site-header > .top-nav a.active,
body:has(.one-country-page) .site-header > .top-nav a:hover,
body:has(.one-country-category-page) .site-header > .top-nav a.active,
body:has(.one-country-category-page) .site-header > .top-nav a:hover,
body:has(.account-dashboard-v174) .site-header > .top-nav a.active,
body:has(.account-dashboard-v174) .site-header > .top-nav a:hover {
  color: #e50914 !important;
}

body .site-header > .top-nav a.active::after,
body .site-header > .top-nav a:hover::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

body .site-header > .header-actions,
body:has(.aleo-home-v59) .site-header > .header-actions,
body:has(.checkout-page-v113) .site-header > .header-actions,
body:has(.one-country-page) .site-header > .header-actions,
body:has(.one-country-category-page) .site-header > .header-actions,
body:has(.account-dashboard-v174) .site-header > .header-actions,
body:has(.account-data-shell-v175) .site-header > .header-actions,
body:has(.auth-page) .site-header > .header-actions,
body:has(.login-card) .site-header > .header-actions {
  display: flex !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 0 0 auto !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  transform: none !important;
}

[dir='rtl'] body .site-header > .header-actions,
[dir='rtl'] body:has(.aleo-home-v59) .site-header > .header-actions,
[dir='rtl'] body:has(.checkout-page-v113) .site-header > .header-actions {
  margin: 0 auto 0 0 !important;
}

body .site-header .header-select-shell,
body:has(.aleo-home-v59) .site-header .header-select-shell,
body:has(.checkout-page-v113) .site-header .header-select-shell,
body:has(.one-country-page) .site-header .header-select-shell,
body:has(.one-country-category-page) .site-header .header-select-shell,
body:has(.account-dashboard-v174) .site-header .header-select-shell,
body:has(.account-data-shell-v175) .site-header .header-select-shell,
body:has(.auth-page) .site-header .header-select-shell,
body:has(.login-card) .site-header .header-select-shell {
  position: relative !important;
  display: inline-flex !important;
  width: 108px !important;
  min-width: 108px !important;
  height: 58px !important;
  min-height: 58px !important;
  flex: 0 0 108px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.54) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.54) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 10px 22px rgba(57, 16, 24, 0.06) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

body .site-header .header-currency-shell {
  width: 92px !important;
  min-width: 92px !important;
  flex-basis: 92px !important;
}

body .site-header .header-select-shell::before {
  content: attr(data-long) !important;
  position: absolute !important;
  left: 18px !important;
  max-width: calc(100% - 43px) !important;
  overflow: hidden !important;
  color: #080d19 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

body .site-header .header-select-shell::after,
body .site-header .header-caret {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
}

body .site-header .header-select-shell::after {
  position: absolute !important;
  right: 17px !important;
  color: #080d19 !important;
  pointer-events: none !important;
}

body .site-header .header-actions .lang-select,
body .site-header .header-actions .currency-select,
body:has(.aleo-home-v59) .site-header .header-actions .lang-select,
body:has(.aleo-home-v59) .site-header .header-actions .currency-select,
body:has(.checkout-page-v113) .site-header .header-actions .lang-select,
body:has(.checkout-page-v113) .site-header .header-actions .currency-select,
body:has(.one-country-page) .site-header .header-actions .lang-select,
body:has(.one-country-page) .site-header .header-actions .currency-select,
body:has(.account-dashboard-v174) .site-header .header-actions .lang-select,
body:has(.account-dashboard-v174) .site-header .header-actions .currency-select {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 16px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

body .site-header .header-actions .lang-select option,
body .site-header .header-actions .currency-select option {
  color: #080d19 !important;
}

body .site-header .header-icon-button,
body .site-header .header-actions > button[data-toggle-theme-quick],
body .site-header .header-actions > .mobile-notification-action,
body:has(.account-dashboard-v174) .site-header .header-actions > button[data-toggle-theme-quick],
body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
body:has(.account-data-shell-v175) .site-header .header-actions > button[data-toggle-theme-quick],
body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
  position: relative !important;
  display: inline-grid !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  flex: 0 0 58px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.54) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.54) !important;
  color: #080d19 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 10px 22px rgba(57, 16, 24, 0.06) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

body .site-header .header-theme-icon {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #080d19 !important;
  box-shadow: inset -6px 0 0 rgba(255, 255, 255, 0.92) !important;
}

body .site-header .header-bell-icon {
  position: relative !important;
  width: 17px !important;
  height: 19px !important;
  border: 2px solid #080d19 !important;
  border-bottom: 0 !important;
  border-radius: 10px 10px 7px 7px !important;
}

body .site-header .header-bell-icon::before {
  content: "" !important;
  position: absolute !important;
  top: -5px !important;
  left: 5px !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #080d19 !important;
}

body .site-header .header-bell-icon::after {
  content: "" !important;
  position: absolute !important;
  right: -4px !important;
  bottom: -3px !important;
  left: -4px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #080d19 !important;
  box-shadow: 8px 5px 0 -2px #080d19 !important;
}

body .site-header .header-notification-badge {
  position: absolute !important;
  top: 5px !important;
  right: 5px !important;
  display: grid !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  place-items: center !important;
  border: 2px solid rgba(255, 235, 238, 0.96) !important;
  border-radius: 999px !important;
  background: #e50914 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

body .site-header .header-notification-badge[hidden],
body .site-header .header-notification-menu[hidden] {
  display: none !important;
}

body .site-header .header-actions {
  position: relative !important;
}

body .site-header .header-notification-menu {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  z-index: 1200 !important;
  display: flex !important;
  width: min(360px, calc(100vw - 28px)) !important;
  max-height: min(520px, calc(100vh - 120px)) !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #07111f !important;
  box-shadow: 0 24px 70px rgba(8, 13, 25, 0.18) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body .site-header .header-notification-menu-head,
body .site-header .header-notification-menu-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 14px 16px !important;
}

body .site-header .header-notification-menu-head {
  border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
}

body .site-header .header-notification-menu-head strong {
  font-size: 15px !important;
  font-weight: 950 !important;
}

body .site-header .header-notification-menu-head span {
  color: #e50914 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body .site-header .header-notification-menu-actions {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  background: #fff7f8 !important;
}

body .site-header .header-notification-menu-actions button {
  min-height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(229, 9, 20, 0.22) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #e50914 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}

body .site-header .header-notification-menu-actions button:disabled {
  cursor: default !important;
  opacity: 0.45 !important;
}

body .site-header .header-notification-list {
  display: grid !important;
  gap: 0 !important;
  overflow: auto !important;
}

body .site-header .header-notification-item {
  display: grid !important;
  grid-template-columns: 10px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: start !important;
  padding: 13px 16px !important;
  border-top: 1px solid rgba(226, 232, 240, 0.72) !important;
  color: #07111f !important;
  text-decoration: none !important;
}

body .site-header .header-notification-item:hover {
  background: #fff7f8 !important;
}

body .site-header .header-notification-dot {
  width: 8px !important;
  height: 8px !important;
  margin-top: 7px !important;
  border-radius: 999px !important;
  background: #cbd5e1 !important;
}

body .site-header .header-notification-item.is-unread .header-notification-dot {
  background: #e50914 !important;
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.1) !important;
}

body .site-header .header-notification-item strong,
body .site-header .header-notification-item small {
  display: block !important;
  min-width: 0 !important;
}

body .site-header .header-notification-item strong {
  overflow: hidden !important;
  color: #07111f !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .site-header .header-notification-item small {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: #475569 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body .site-header .header-notification-item time {
  color: #94a3b8 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body .site-header .header-notification-empty {
  padding: 22px 16px !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

body .site-header .header-notification-empty.is-error {
  color: #e50914 !important;
}

@media (max-width: 720px) {
  body .site-header .header-notification-menu {
    right: -66px !important;
    width: min(338px, calc(100vw - 20px)) !important;
    max-height: min(480px, calc(100vh - 114px)) !important;
  }
}

body .site-header .header-actions > a[href="/login"],
body .site-header .header-actions .account-header-action,
body:has(.account-dashboard-v174) .site-header .header-actions .account-header-action,
body:has(.account-data-shell-v175) .site-header .header-actions .account-header-action {
  display: inline-flex !important;
  min-width: 116px !important;
  width: auto !important;
  max-width: 150px !important;
  min-height: 58px !important;
  height: 58px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px 0 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.54) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.54) !important;
  color: #080d19 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 10px 22px rgba(57, 16, 24, 0.06) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body .site-header .account-avatar {
  position: relative !important;
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background:
    linear-gradient(140deg, #ffd7cf, #a65933 48%, #24100d 100%) !important;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.56) !important;
}

body .site-header .account-avatar::before {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  left: 12px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.86) !important;
}

body .site-header .account-avatar::after {
  content: "" !important;
  position: absolute !important;
  right: 8px !important;
  bottom: 6px !important;
  left: 8px !important;
  height: 11px !important;
  border-radius: 999px 999px 8px 8px !important;
  background: rgba(255, 255, 255, 0.86) !important;
}

body .site-header .account-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .site-header .header-caret {
  color: #080d19 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 1260px) and (min-width: 981px) {
  body .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.account-dashboard-v174) .site-header {
    width: min(calc(100% - 40px), 1200px) !important;
    min-height: 112px !important;
    padding: 0 18px 0 34px !important;
    gap: 16px !important;
  }

  body .site-header > .brand.brand-image-lockup {
    min-width: 236px !important;
    width: 236px !important;
    max-width: 236px !important;
    flex-basis: 236px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image {
    width: 224px !important;
    max-width: 224px !important;
  }

  body .site-header > .top-nav {
    gap: clamp(16px, 1.6vw, 24px) !important;
  }

  body .site-header > .top-nav a {
    font-size: 14px !important;
  }

  body .site-header .header-select-shell {
    width: 94px !important;
    min-width: 94px !important;
    flex-basis: 94px !important;
  }

  body .site-header .header-currency-shell {
    width: 82px !important;
    min-width: 82px !important;
    flex-basis: 82px !important;
  }

  body .site-header .header-actions > a[href="/login"],
  body .site-header .header-actions .account-header-action {
    min-width: 104px !important;
    max-width: 128px !important;
  }
}

@media (max-width: 980px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    display: grid !important;
    grid-template-columns: 44px minmax(120px, 1fr) auto !important;
    width: calc(100% - 28px) !important;
    min-height: 74px !important;
    height: 74px !important;
    margin-top: 14px !important;
    padding: 0 12px !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 9px !important;
    border-radius: 17px !important;
    background:
      linear-gradient(100deg, rgba(236, 18, 32, 0.25) 0%, rgba(255, 201, 213, 0.62) 32%, rgba(255, 255, 255, 0.75) 58%, rgba(255, 200, 214, 0.70) 100%),
      linear-gradient(90deg, rgba(246, 21, 40, 0.16), rgba(255, 255, 255, 0.80) 45%, rgba(244, 15, 35, 0.18)) !important;
    box-shadow:
      0 18px 40px rgba(117, 12, 24, 0.13),
      inset 0 1px 0 rgba(255, 255, 255, 0.88),
      inset 0 -1px 0 rgba(235, 24, 42, 0.18) !important;
  }

  body.aleo-header-scrolled .site-header,
  body.aleo-header-scrolled:has(.checkout-page-v113) .site-header,
  body.aleo-header-scrolled:has(.aleo-home-v59) .site-header,
  body.aleo-header-scrolled:has(.one-country-page) .site-header,
  body.aleo-header-scrolled:has(.account-dashboard-v174) .site-header {
    width: calc(100% - 28px) !important;
    min-height: 64px !important;
    height: 64px !important;
    margin-top: 12px !important;
    padding: 0 11px !important;
    border-radius: 15px !important;
  }

  body .site-header::before {
    background:
      linear-gradient(100deg, rgba(255, 255, 255, 0.20), transparent 28%, rgba(255, 255, 255, 0.22) 62%, transparent 82%),
      repeating-linear-gradient(8deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 22px),
      repeating-linear-gradient(92deg, rgba(229, 9, 20, 0.12) 0 1px, transparent 1px 36px) !important;
  }

  body .site-header > .mobile-menu-trigger {
    display: inline-grid !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  body .site-header > .mobile-menu-trigger span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 99px !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(80, 7, 15, 0.22) !important;
  }

  body .site-header > .brand.brand-image-lockup,
  body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
  body:has(.checkout-page-v113) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-page) .site-header > .brand.brand-image-lockup,
  body:has(.one-country-category-page) .site-header > .brand.brand-image-lockup,
  body:has(.account-dashboard-v174) .site-header > .brand.brand-image-lockup,
  body:has(.account-data-shell-v175) .site-header > .brand.brand-image-lockup,
  body:has(.auth-page) .site-header > .brand.brand-image-lockup,
  body:has(.login-card) .site-header > .brand.brand-image-lockup {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
    max-height: 58px !important;
    flex: none !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    justify-content: center !important;
    align-self: center !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image,
  body:has(.aleo-home-v59) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.checkout-page-v113) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.one-country-category-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-dashboard-v174) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.account-data-shell-v175) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.auth-page) .site-header .brand-image-lockup .brand-logo-image,
  body:has(.login-card) .site-header .brand-image-lockup .brand-logo-image {
    width: min(150px, 100%) !important;
    max-width: min(150px, 100%) !important;
    height: 54px !important;
    max-height: 54px !important;
    object-position: center !important;
    filter: drop-shadow(0 7px 10px rgba(229, 9, 20, 0.16)) !important;
  }

  body.aleo-header-scrolled .site-header > .brand.brand-image-lockup {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    flex-basis: auto !important;
  }

  body.aleo-header-scrolled .site-header .brand-image-lockup .brand-logo-image {
    width: min(126px, 100%) !important;
    max-width: min(126px, 100%) !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  body .site-header > .top-nav,
  body:has(.aleo-home-v59) .site-header > .top-nav,
  body:has(.checkout-page-v113) .site-header > .top-nav,
  body:has(.one-country-page) .site-header > .top-nav,
  body:has(.one-country-category-page) .site-header > .top-nav,
  body:has(.account-dashboard-v174) .site-header > .top-nav,
  body:has(.account-data-shell-v175) .site-header > .top-nav,
  body:has(.auth-page) .site-header > .top-nav,
  body:has(.login-card) .site-header > .top-nav {
    display: none !important;
  }

  body .site-header.mobile-menu-open > .top-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 10px !important;
    left: 10px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid rgba(255, 167, 180, 0.72) !important;
    border-radius: 14px !important;
    background: rgba(255, 246, 248, 0.96) !important;
    box-shadow: 0 16px 32px rgba(117, 12, 24, 0.16) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  body .site-header.mobile-menu-open > .top-nav a {
    min-height: 38px !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.68) !important;
    font-size: 12px !important;
  }

  body .site-header.mobile-menu-open > .top-nav a::after {
    display: none !important;
  }

  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions,
  body:has(.auth-page) .site-header > .header-actions,
  body:has(.login-card) .site-header > .header-actions {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    height: 44px !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    align-self: center !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  body .site-header .header-theme-toggle,
  body .site-header .header-actions > button[data-toggle-theme-quick].header-theme-toggle {
    display: none !important;
  }

  body .site-header .header-select-shell,
  body:has(.aleo-home-v59) .site-header .header-select-shell,
  body:has(.checkout-page-v113) .site-header .header-select-shell,
  body:has(.one-country-page) .site-header .header-select-shell,
  body:has(.account-dashboard-v174) .site-header .header-select-shell {
    width: 52px !important;
    min-width: 52px !important;
    height: 40px !important;
    min-height: 40px !important;
    flex: 0 0 52px !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
    background: rgba(255, 255, 255, 0.38) !important;
  }

  body .site-header .header-currency-shell {
    width: 60px !important;
    min-width: 60px !important;
    flex-basis: 60px !important;
  }

  body .site-header .header-select-shell::before {
    content: attr(data-short) !important;
    left: 12px !important;
    max-width: calc(100% - 28px) !important;
    font-size: 12px !important;
  }

  body .site-header .header-select-shell::after {
    right: 10px !important;
    width: 6px !important;
    height: 6px !important;
    border-width: 2px !important;
  }

  body .site-header .header-icon-button,
  body .site-header .header-actions > .mobile-notification-action,
  body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
    background: rgba(255, 255, 255, 0.38) !important;
  }

  body .site-header .header-bell-icon {
    width: 15px !important;
    height: 17px !important;
  }

  body .site-header .header-notification-badge {
    top: 0 !important;
    right: 0 !important;
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    font-size: 9px !important;
  }

  body .site-header .header-actions > a[href="/login"],
  body .site-header .header-actions .account-header-action,
  body:has(.account-dashboard-v174) .site-header .header-actions .account-header-action,
  body:has(.account-data-shell-v175) .site-header .header-actions .account-header-action {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
    background: rgba(255, 255, 255, 0.38) !important;
  }

  body .site-header .account-avatar {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .site-header .account-avatar::before {
    top: 1px !important;
    left: 6px !important;
    width: 10px !important;
    height: 10px !important;
    border: 2px solid #080d19 !important;
    background: transparent !important;
  }

  body .site-header .account-avatar::after {
    right: 2px !important;
    bottom: 1px !important;
    left: 2px !important;
    height: 10px !important;
    border: 2px solid #080d19 !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    background: transparent !important;
  }

  body .site-header .account-label,
  body .site-header .header-caret {
    display: none !important;
  }
}

@media (max-width: 430px) {
  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.account-dashboard-v174) .site-header {
    grid-template-columns: 38px minmax(88px, 1fr) auto !important;
    width: calc(100% - 20px) !important;
    padding: 0 10px !important;
    gap: 7px !important;
  }

  body .site-header > .mobile-menu-trigger {
    width: 38px !important;
    min-width: 38px !important;
  }

  body .site-header .brand-image-lockup .brand-logo-image {
    width: min(112px, 100%) !important;
    max-width: min(112px, 100%) !important;
  }

  body .site-header .header-select-shell {
    width: 46px !important;
    min-width: 46px !important;
    flex-basis: 46px !important;
  }

  body .site-header .header-currency-shell {
    width: 54px !important;
    min-width: 54px !important;
    flex-basis: 54px !important;
  }

  body .site-header .header-select-shell::before {
    left: 10px !important;
    font-size: 11px !important;
  }

  body .site-header .header-select-shell::after {
    right: 8px !important;
  }

  body .site-header .header-icon-button,
  body .site-header .header-actions > .mobile-notification-action,
  body .site-header .header-actions > a[href="/login"],
  body .site-header .header-actions .account-header-action {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    flex-basis: 36px !important;
  }
}

/* AleoFly v193 final fixed-header lock: this must stay after all legacy header rules. */
body {
  padding-top: 172px !important;
}

body .site-header,
body:has(.aleo-home-v59) .site-header,
body:has(.checkout-page-v113) .site-header,
body:has(.one-country-page) .site-header,
body:has(.one-country-category-page) .site-header,
body:has(.account-dashboard-v174) .site-header,
body:has(.account-data-shell-v175) .site-header,
body:has(.auth-page) .site-header,
body:has(.login-card) .site-header {
  position: fixed !important;
  right: auto !important;
  left: 50% !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
}

body.aleo-header-scrolled .site-header,
body.aleo-header-scrolled:has(.aleo-home-v59) .site-header,
body.aleo-header-scrolled:has(.checkout-page-v113) .site-header,
body.aleo-header-scrolled:has(.one-country-page) .site-header,
body.aleo-header-scrolled:has(.one-country-category-page) .site-header,
body.aleo-header-scrolled:has(.account-dashboard-v174) .site-header,
body.aleo-header-scrolled:has(.account-data-shell-v175) .site-header,
body.aleo-header-scrolled:has(.auth-page) .site-header,
body.aleo-header-scrolled:has(.login-card) .site-header {
  margin: 0 !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 980px) {
  body {
    padding-top: 108px !important;
  }

  body .site-header,
  body:has(.aleo-home-v59) .site-header,
  body:has(.checkout-page-v113) .site-header,
  body:has(.one-country-page) .site-header,
  body:has(.one-country-category-page) .site-header,
  body:has(.account-dashboard-v174) .site-header,
  body:has(.account-data-shell-v175) .site-header,
  body:has(.auth-page) .site-header,
  body:has(.login-card) .site-header {
    left: 50% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
}

/* v205 final footer legal overrides */
.site-footer .footer-links {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1120px) {
  .site-footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .site-footer .footer-links {
    grid-template-columns: 1fr !important;
  }
}

/* v212 true-final: supported-networks modal must fit every viewport. */
.network-icons-modal {
  place-items: center !important;
  padding: 16px !important;
  overflow: hidden !important;
}

.network-icons-modal-dialog {
  width: min(100% - 32px, 440px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px !important;
  border-radius: 18px !important;
}

.network-icons-modal-dialog header {
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

.network-icons-modal-grid {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 4px 4px 0 !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.network-icons-modal-grid .network-icon.network-logo-img {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: none !important;
}

@media (max-width: 680px) {
  .network-icons-modal {
    align-items: end !important;
    place-items: end center !important;
    padding: 12px !important;
  }

  .network-icons-modal-dialog {
    width: 100% !important;
    max-height: min(82dvh, 680px) !important;
    padding: 14px !important;
    border-radius: 18px 18px 14px 14px !important;
  }

  .network-icons-modal-dialog strong {
    font-size: 15px !important;
  }

  .network-icons-modal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-right: 2px !important;
  }

  .network-icons-modal-grid .network-icon.network-logo-img {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 6px 7px !important;
    border-radius: 9px !important;
  }
}
/* v213 true-final EOF: multi-country list must never overlap actions or filters. */
body main.app .multi-country-page .multi-trip-panel {
  position: relative !important;
  z-index: 7 !important;
  overflow: visible !important;
}

body main.app .multi-country-page .multi-destination-picker {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  isolation: isolate !important;
}

body main.app .multi-country-page .multi-destination-picker.is-open {
  z-index: 9 !important;
}

body main.app .multi-country-page .multi-destination-picker .flow-country-popover:not([hidden]) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  max-height: min(46vh, 430px) !important;
  margin: 10px 0 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  border-color: rgba(229, 9, 20, 0.16) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 251, 0.98)) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10), 0 0 0 1px rgba(255, 255, 255, 0.78) inset !important;
}

body main.app .multi-country-page .multi-trip-actions,
body main.app .multi-country-page .multi-filter-bar,
body main.app .multi-country-page .multi-result-summary,
body main.app .multi-country-page .multi-results-shell {
  position: relative !important;
  z-index: 1 !important;
}

/* v214 hard EOF: top-picks must keep the premium responsive layout after legacy CSS. */
body main.app:has(.top-picks-page-v214) {
  max-width: none !important;
  width: 100% !important;
  padding: 0 0 96px !important;
  overflow-x: clip !important;
}

body main.app .top-picks-page-v214 {
  width: min(1180px, calc(100vw - 32px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 18px !important;
}

body main.app .top-picks-hero-v214 {
  min-height: 380px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr) !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 38px 42px !important;
  overflow: hidden !important;
  border: 1px solid rgba(229, 9, 20, 0.16) !important;
  border-radius: 8px !important;
  background:
    radial-gradient(circle at 76% 24%, rgba(229, 9, 20, 0.15), transparent 34%),
    linear-gradient(105deg, rgba(255, 240, 243, 0.98) 0%, #fff 48%, rgba(255, 224, 231, 0.92) 100%) !important;
  box-shadow: 0 24px 62px rgba(15, 23, 42, 0.075), 0 0 44px rgba(229, 9, 20, 0.055) !important;
}

body main.app .top-picks-hero-copy-v214,
body main.app .top-picks-hero-visual-v214 {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
}

body main.app .top-picks-hero-copy-v214 {
  display: grid !important;
  gap: 14px !important;
}

body main.app .top-picks-hero-copy-v214 h1 {
  max-width: 740px !important;
  margin: 0 !important;
  font-size: clamp(44px, 5.4vw, 76px) !important;
  line-height: 0.95 !important;
  font-weight: 950 !important;
}

body main.app .top-picks-hero-copy-v214 > p:not(.eyebrow) {
  max-width: 650px !important;
  margin: 0 !important;
  color: #657086 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
}

body main.app .top-picks-stats-v214,
body main.app .top-picks-type-grid-v214,
body main.app .top-picks-assurance-v214 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body main.app .top-picks-actions-v214 {
  display: grid !important;
  grid-template-columns: auto auto !important;
  justify-content: start !important;
  gap: 12px !important;
}

body main.app .top-picks-actions-v214 a,
body main.app .top-picks-type-card-v214,
body main.app .top-picks-assurance-v214 span,
body main.app .top-picks-stats-v214 span,
body main.app .top-picks-page-v214 .aleo-plan-showcase {
  border-radius: 8px !important;
}

body main.app .top-picks-type-card-v214 {
  min-height: 150px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "icon title arrow" "icon text arrow" !important;
  gap: 7px 14px !important;
  align-items: center !important;
  padding: 22px !important;
  text-decoration: none !important;
  overflow: hidden !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.055) !important;
}

body main.app .top-picks-page-v214 .aleo-plan-showcase .grid.aleo-plan-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

@media (max-width: 980px) {
  body main.app:has(.top-picks-page-v214) {
    padding-bottom: 84px !important;
  }

  body main.app .top-picks-page-v214 {
    width: 100% !important;
    padding: 0 12px !important;
    gap: 14px !important;
  }

  body main.app .top-picks-hero-v214 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 22px 16px 18px !important;
    gap: 12px !important;
  }

  body main.app .top-picks-breadcrumb-v214 {
    display: none !important;
  }

  body main.app .top-picks-hero-copy-v214 h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1 !important;
  }

  body main.app .top-picks-hero-copy-v214 > p:not(.eyebrow) {
    font-size: 14px !important;
  }

  body main.app .top-picks-stats-v214,
  body main.app .top-picks-type-grid-v214,
  body main.app .top-picks-assurance-v214,
  body main.app .top-picks-actions-v214 {
    grid-template-columns: 1fr !important;
  }

  body main.app .top-picks-hero-visual-v214 {
    min-height: 166px !important;
    overflow: hidden !important;
  }

  body main.app .top-picks-hero-visual-v214 img {
    width: min(370px, 108%) !important;
  }

  body main.app .top-picks-type-card-v214 {
    min-height: 118px !important;
    padding: 16px !important;
  }

  body main.app .top-picks-page-v214 .aleo-plan-showcase {
    padding: 14px !important;
  }

  body main.app .top-picks-page-v214 .aleo-plan-showcase .grid.aleo-plan-grid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: 1fr !important;
    grid-auto-columns: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    gap: 12px !important;
    scroll-snap-type: none !important;
  }
}

/* v214 mobile polish: keep the recommended page compact above the fold. */
@media (max-width: 600px) {
  body main.app .top-picks-hero-v214 {
    padding: 20px 16px 12px !important;
  }

  body main.app .top-picks-hero-copy-v214 {
    gap: 11px !important;
  }

  body main.app .top-picks-hero-copy-v214 h1 {
    font-size: clamp(34px, 10.4vw, 42px) !important;
  }

  body main.app .top-picks-stats-v214 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body main.app .top-picks-stats-v214 span {
    min-height: 86px !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "icon" "value" "label" !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 4px !important;
    padding: 10px 6px !important;
  }

  body main.app .top-picks-stats-v214 .ui-icon {
    width: 20px !important;
    height: 20px !important;
  }

  body main.app .top-picks-stats-v214 b {
    font-size: 14px !important;
  }

  body main.app .top-picks-stats-v214 small {
    max-width: 100% !important;
    white-space: normal !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  body main.app .top-picks-hero-visual-v214 {
    min-height: 124px !important;
    margin-top: -2px !important;
  }

  body main.app .top-picks-hero-visual-v214 img {
    width: min(276px, 92vw) !important;
  }

  body main.app .top-picks-live-pill-v214 {
    display: none !important;
  }
}

/* v215 EOF: checkout header/content seam and soft hero art. */
body:has(.checkout-page-v113) {
  padding-top: 128px !important;
  background: #eef4fc !important;
}

body:has(.checkout-page-v113) .site-header,
body.aleo-header-scrolled:has(.checkout-page-v113) .site-header {
  border-bottom: 1px solid rgba(229, 9, 20, 0.22) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055), 0 1px 0 rgba(255, 255, 255, 0.78) inset !important;
}

main.app:has(.checkout-page-v113) {
  position: relative !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  overflow-x: clip !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(229, 9, 20, 0.115), transparent 24%),
    radial-gradient(circle at 13% 0%, rgba(72, 117, 169, 0.10), transparent 27%),
    linear-gradient(180deg, #eef4fc 0%, #f7faff 34%, #edf3fb 100%) !important;
}

main.app:has(.checkout-page-v113)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 1px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(229, 9, 20, 0), rgba(229, 9, 20, 0.42), rgba(229, 9, 20, 0)) !important;
}

body main.app .checkout-page-v113 {
  width: min(1160px, calc(100vw - 56px)) !important;
  padding-top: 0 !important;
}

body main.app .checkout-hero {
  min-height: 178px !important;
  padding: 24px 0 28px !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body main.app .checkout-hero::before {
  right: 38px !important;
  bottom: -88px !important;
  width: 720px !important;
  height: 250px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(ellipse at 66% 48%, rgba(255, 196, 205, 0.40), rgba(255, 255, 255, 0) 66%),
    linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(229, 9, 20, 0.08), rgba(255, 255, 255, 0)) !important;
  filter: blur(1px) !important;
  z-index: 0 !important;
}

body main.app .checkout-hero::after {
  right: 80px !important;
  bottom: -68px !important;
  width: min(600px, 52vw) !important;
  height: 260px !important;
  background: url("/assets/images/checkout/checkout-security-hero-cutout.png") center right / contain no-repeat !important;
  opacity: 0.86 !important;
  mix-blend-mode: multiply !important;
  filter: saturate(1.06) contrast(1.03) drop-shadow(0 24px 34px rgba(229, 9, 20, 0.10)) !important;
  -webkit-mask-image: radial-gradient(ellipse at 62% 58%, #000 0 50%, rgba(0, 0, 0, 0.82) 65%, transparent 88%) !important;
  mask-image: radial-gradient(ellipse at 62% 58%, #000 0 50%, rgba(0, 0, 0, 0.82) 65%, transparent 88%) !important;
  z-index: 0 !important;
}

body main.app .checkout-hero-copy {
  max-width: 520px !important;
  z-index: 2 !important;
}

body main.app .checkout-stage-grid {
  margin-top: -24px !important;
}

@media (max-width: 920px) {
  body main.app .checkout-hero::after {
    right: -18px !important;
    width: min(430px, 78vw) !important;
  }
}

@media (max-width: 640px) {
  body:has(.checkout-page-v113) {
    padding-top: 82px !important;
  }

  main.app:has(.checkout-page-v113) {
    min-height: calc(100dvh - 82px) !important;
  }

  body main.app .checkout-page-v113 {
    width: 100% !important;
    max-width: 430px !important;
    padding: 0 10px 76px !important;
  }

  body main.app .checkout-hero {
    min-height: 96px !important;
    padding: 12px 0 9px !important;
    align-items: flex-start !important;
  }

  body main.app .checkout-hero::before {
    right: -52px !important;
    bottom: -36px !important;
    width: 300px !important;
    height: 126px !important;
    opacity: 0.86 !important;
  }

  body main.app .checkout-hero::after {
    right: -62px !important;
    top: -18px !important;
    bottom: auto !important;
    width: 226px !important;
    height: 132px !important;
    opacity: 0.48 !important;
    filter: saturate(1.02) contrast(0.98) drop-shadow(0 12px 22px rgba(229, 9, 20, 0.06)) !important;
    -webkit-mask-image: radial-gradient(ellipse at 64% 54%, #000 0 34%, rgba(0, 0, 0, 0.58) 50%, transparent 76%) !important;
    mask-image: radial-gradient(ellipse at 64% 54%, #000 0 34%, rgba(0, 0, 0, 0.58) 50%, transparent 76%) !important;
  }

  body main.app .checkout-hero h1 {
    font-size: 32px !important;
  }

  body main.app .checkout-secure-kicker {
    max-width: 224px !important;
  }

  body main.app .checkout-stage-grid {
    margin-top: -5px !important;
  }
}

/* v220 RTL mobile polish: keep Arabic text RTL while numeric plan data stays stable. */
[dir='rtl'] .price,
[dir='rtl'] .old-price,
[dir='rtl'] .price-stack,
[dir='rtl'] .home-plan-price b,
[dir='rtl'] .home-plan-price del,
[dir='rtl'] .home-plan-main > div:first-child strong,
[dir='rtl'] .one-country-price-row strong,
[dir='rtl'] .one-country-price-row span,
[dir='rtl'] .one-country-plan-title strong,
[dir='rtl'] .plan-meta span,
[dir='rtl'] .account-metric-value,
[dir='rtl'] code {
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

[dir='rtl'] .network-icon-strip,
[dir='rtl'] .network-icon,
[dir='rtl'] .network-icon-more,
[dir='rtl'] .flag-badge,
[dir='rtl'] .plan-flag-strip,
[dir='rtl'] .country-mini-flag,
[dir='rtl'] .home-plan-flag,
[dir='rtl'] .popular-country-flag {
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

@media (max-width: 760px) {
  [dir='rtl'] body:has(.aleo-home-v59) {
    padding-top: 88px !important;
  }

  [dir='rtl'] .aleo-home-desktop-ref .aleo-home-hero {
    direction: ltr !important;
    min-height: 392px !important;
    padding-top: 24px !important;
  }

  [dir='rtl'] .aleo-home-desktop-ref .hero-copy {
    width: 54% !important;
    max-width: 188px !important;
    margin: 0 auto 0 0 !important;
    direction: rtl !important;
    text-align: right !important;
  }

  [dir='rtl'] .aleo-home-desktop-ref .hero-copy h1 {
    font-size: 25px !important;
    line-height: 1.12 !important;
  }

  [dir='rtl'] .aleo-home-desktop-ref .hero-sub {
    max-width: 170px !important;
    font-size: 10.2px !important;
  }

  [dir='rtl'] .aleo-home-desktop-ref .aleo-home-art {
    left: 96px !important;
    right: -68px !important;
    top: 28px !important;
  }

  [dir='rtl'] .home-plan-card {
    direction: ltr !important;
    grid-template-columns: 90px minmax(0, 1fr) !important;
    grid-template-areas:
      "top top"
      "country country"
      "main main"
      "action specs" !important;
    gap: 8px 9px !important;
    align-items: center !important;
    padding: 12px !important;
  }

  [dir='rtl'] .home-plan-top,
  [dir='rtl'] .home-plan-country,
  [dir='rtl'] .home-plan-specs,
  [dir='rtl'] .home-plan-action {
    direction: rtl !important;
  }

  [dir='rtl'] .home-plan-top {
    grid-area: top !important;
  }

  [dir='rtl'] .home-plan-country {
    grid-area: country !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
  }

  [dir='rtl'] .home-plan-main {
    grid-area: main !important;
    display: grid !important;
    grid-template-columns: minmax(82px, auto) minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: start !important;
    direction: ltr !important;
  }

  [dir='rtl'] .home-plan-main > div:first-child {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    direction: rtl !important;
    text-align: right !important;
  }

  [dir='rtl'] .home-plan-main > div:first-child strong {
    text-align: right !important;
  }

  [dir='rtl'] .home-plan-main > div:first-child span {
    display: block !important;
    direction: rtl !important;
    unicode-bidi: isolate !important;
  }

  [dir='rtl'] .home-plan-main .home-plan-price {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-items: start !important;
    text-align: left !important;
    direction: ltr !important;
  }

  [dir='rtl'] .home-plan-price small {
    direction: rtl !important;
    unicode-bidi: isolate !important;
    text-align: right !important;
  }

  [dir='rtl'] .home-plan-specs {
    grid-area: specs !important;
    align-self: stretch !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    text-align: right !important;
  }

  [dir='rtl'] .home-plan-specs dt,
  [dir='rtl'] .home-plan-specs dd {
    justify-content: flex-start !important;
    min-width: 0 !important;
  }

  [dir='rtl'] .home-plan-action {
    grid-area: action !important;
    width: 88px !important;
    min-width: 0 !important;
    max-width: 88px !important;
    justify-self: start !important;
    align-self: center !important;
    min-height: 38px !important;
    height: 38px !important;
    max-height: 38px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  [dir='rtl'] .one-country-popular .one-country-card-grid {
    grid-auto-columns: minmax(132px, calc((100% - 10px) / 2)) !important;
    gap: 10px !important;
  }

  [dir='rtl'] .one-country-plan-card {
    direction: rtl !important;
    text-align: right !important;
  }

  [dir='rtl'] .one-country-plan-title {
    justify-content: flex-start !important;
  }

  [dir='rtl'] .one-country-price-row {
    direction: ltr !important;
    unicode-bidi: isolate !important;
    text-align: left !important;
  }

  [dir='rtl'] .one-country-price-row small {
    direction: rtl !important;
    unicode-bidi: isolate !important;
    text-align: right !important;
  }

  [dir='rtl'] .one-country-all-plans .one-country-plan-card > small,
  [dir='rtl'] .one-country-all-plans .country-highlight-tags {
    margin-right: 35px !important;
    margin-left: 0 !important;
  }

  [dir='rtl'] .one-country-all-plans .one-country-price-row {
    justify-items: start !important;
  }

  [dir='rtl'] .one-country-all-plans .one-country-buy {
    border-right: 1px solid #edf1f6 !important;
    border-left: 0 !important;
  }
}

@media (max-width: 390px) {
  [dir='rtl'] .home-plan-card {
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }

  [dir='rtl'] .home-plan-main {
    grid-template-columns: minmax(76px, auto) minmax(0, 1fr) !important;
  }
}

/* v221 verified plan reviews */
.product-reviews-card,
.reviews-page {
  color: #0f172a;
}

.product-reviews-head,
.reviews-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.product-reviews-head h2,
.reviews-hero h1 {
  margin: 0;
}

.product-reviews-head p,
.reviews-hero p {
  margin: 6px 0 0;
  color: #667085;
  font-weight: 700;
}

.review-stars {
  display: inline-flex;
  gap: 1px;
  color: #f59e0b;
  font-size: 14px;
  letter-spacing: 0;
  white-space: nowrap;
}

.product-review-list,
.reviews-page-grid {
  display: grid;
  gap: 12px;
}

.product-review-list {
  margin-top: 16px;
}

.review-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.review-card header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.review-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #e50914, #ff5b68);
  font-weight: 900;
}

.review-card header div {
  display: grid;
  gap: 2px;
}

.review-card header small,
.review-card time {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.review-card-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.review-verified {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  color: #047857;
  background: #ecfdf3;
  font-size: 11px;
  font-weight: 900;
}

.review-verified-soft {
  color: #7a2e0e;
  background: #fff7ed;
}

.review-card p {
  margin: 10px 0 8px;
  color: #344054;
  line-height: 1.55;
  font-weight: 650;
}

.review-form,
.review-locked {
  margin-top: 16px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding-top: 16px;
}

.review-form {
  display: grid;
  gap: 12px;
}

.review-form label {
  display: grid;
  gap: 7px;
  color: #344054;
  font-weight: 900;
}

.review-form select,
.review-form textarea {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  padding: 11px 12px;
  background: #fff;
  color: #101828;
  font: inherit;
  font-weight: 750;
}

.review-form textarea {
  resize: vertical;
  min-height: 104px;
}

.review-locked {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #667085;
  font-weight: 850;
}

.review-locked svg {
  color: #16a34a;
}

.review-locked a {
  color: #e50914;
  font-weight: 950;
}

.reviews-page {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 48px 0 96px;
}

.reviews-hero {
  border: 1px solid rgba(229, 9, 20, 0.12);
  border-radius: 8px;
  padding: 28px;
  background: linear-gradient(135deg, #fff5f6, #ffffff 62%);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.07);
}

.reviews-hero-score {
  min-width: 150px;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  text-align: center;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.reviews-hero-score strong {
  display: block;
  font-size: 34px;
  line-height: 1;
}

.reviews-hero-score small {
  display: block;
  margin-top: 6px;
  color: #667085;
  font-weight: 850;
}

.reviews-page-grid {
  margin-top: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[dir="rtl"] .review-card,
html[dir="rtl"] .product-reviews-card,
html[dir="rtl"] .reviews-page {
  text-align: right;
}

html[dir="rtl"] .review-card-meta,
html[dir="rtl"] .review-card header,
html[dir="rtl"] .review-locked {
  flex-direction: row-reverse;
}

html[dir="rtl"] .reviews-summary,
html[dir="rtl"] .product-reviews-head,
html[dir="rtl"] .reviews-hero {
  direction: rtl;
}

@media (max-width: 900px) {
  .reviews-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .product-reviews-head,
  .reviews-hero {
    display: grid;
  }

  .reviews-page {
    width: min(100% - 20px, 430px);
    padding: 18px 0 84px;
  }

  .reviews-page-grid {
    grid-template-columns: 1fr;
  }

  .reviews-hero {
    padding: 20px;
  }

  .reviews-hero-score {
    min-width: 0;
    text-align: start;
  }
}

/* AleoFly v226: trust-focused About Us page. */
.about-page-v226 {
  width: min(100% - 32px, 1500px);
  margin: 0 auto;
  padding: 116px 0 72px;
  color: #0f172a;
}

.about-hero-v226 {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
  gap: 22px;
  align-items: stretch;
  min-height: 430px;
}

.about-hero-copy-v226,
.about-hero-panel-v226,
.about-mission-v226,
.about-section-v226,
.about-trust-v226,
.about-values-v226,
.about-split-v226 article,
.about-contact-v226 {
  border: 1px solid rgba(229, 9, 20, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.08);
}

.about-hero-copy-v226 {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 12% 16%, rgba(229, 9, 20, 0.18), transparent 28%),
    linear-gradient(135deg, #fff6f7 0%, #ffffff 54%, #f8fbff 100%);
}

.about-hero-copy-v226::after {
  content: "";
  position: absolute;
  inset: auto 28px 28px auto;
  width: min(38vw, 420px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 40px solid rgba(229, 9, 20, 0.05);
  pointer-events: none;
}

.about-page-v226 .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #e50914;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.about-page-v226 .eyebrow .ui-icon {
  width: 18px;
  height: 18px;
}

.about-hero-copy-v226 h1 {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0;
  font-size: clamp(42px, 6vw, 82px);
  line-height: 0.95;
  letter-spacing: 0;
}

.about-hero-copy-v226 p:not(.eyebrow) {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 22px 0 0;
  color: #667085;
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 780;
  line-height: 1.55;
}

.about-hero-actions-v226 {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.about-hero-actions-v226 .btn,
.about-hero-actions-v226 .btn-ghost {
  min-height: 48px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 900;
}

.about-hero-panel-v226 {
  padding: 22px;
  display: grid;
  align-content: center;
  gap: 14px;
  background:
    linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(41, 52, 76, 0.92)),
    linear-gradient(135deg, #ffffff, #fff5f6);
  color: #ffffff;
}

.about-hero-panel-v226 span {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  min-height: 94px;
  padding: 18px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.about-hero-panel-v226 .ui-icon {
  grid-row: span 2;
  width: 54px;
  height: 54px;
  padding: 13px;
  border-radius: 8px;
  background: rgba(229, 9, 20, 0.92);
}

.about-hero-panel-v226 b,
.about-hero-panel-v226 small {
  display: block;
}

.about-hero-panel-v226 b {
  font-size: 18px;
  font-weight: 950;
}

.about-hero-panel-v226 small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 780;
  line-height: 1.5;
}

.about-mission-v226,
.about-trust-v226,
.about-values-v226 {
  margin-top: 24px;
  padding: clamp(22px, 4vw, 42px);
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  gap: 28px;
  align-items: start;
}

.about-mission-v226 h2,
.about-section-head-v226 h2,
.about-trust-v226 h2,
.about-values-v226 h2,
.about-split-v226 h2,
.about-contact-v226 h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.05;
  letter-spacing: 0;
}

.about-mission-copy-v226 {
  display: grid;
  gap: 16px;
}

.about-mission-copy-v226 p {
  margin: 0;
  color: #5d6678;
  font-size: 17px;
  font-weight: 760;
  line-height: 1.7;
}

.about-section-v226,
.about-contact-v226 {
  margin-top: 24px;
  padding: clamp(22px, 4vw, 42px);
}

.about-section-head-v226 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.about-feature-grid-v226 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-feature-card-v226 {
  min-height: 188px;
  padding: 20px;
  border: 1px solid #eef1f6;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
}

.about-feature-card-v226 span,
.about-split-v226 .eyebrow .ui-icon {
  display: inline-flex;
}

.about-feature-card-v226 .ui-icon {
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 8px;
  color: #e50914;
  background: #fff0f2;
}

.about-feature-card-v226 h3 {
  margin: 18px 0 8px;
  font-size: 19px;
  line-height: 1.18;
}

.about-feature-card-v226 p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.55;
}

.about-trust-v226 {
  background: linear-gradient(135deg, #111827, #253044);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.1);
}

.about-trust-v226 h2 {
  color: #ffffff;
}

.about-trust-v226 .eyebrow {
  color: #ffb8bf;
}

.about-trust-list-v226,
.about-check-grid-v226 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.about-trust-list-v226 span,
.about-check-grid-v226 span {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 8px;
  font-weight: 850;
  line-height: 1.35;
}

.about-trust-list-v226 span {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.9);
}

.about-trust-list-v226 .ui-icon,
.about-check-grid-v226 .ui-icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  color: #e50914;
}

.about-steps-v226 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.about-step-v226 {
  position: relative;
  min-height: 190px;
  padding: 22px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #eef1f6;
}

.about-step-v226 b {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: #e50914;
  font-weight: 950;
}

.about-step-v226 h3 {
  margin: 24px 0 8px;
  font-size: 18px;
  line-height: 1.2;
}

.about-step-v226 p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.55;
}

.about-value-pills-v226 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.about-value-pills-v226 span {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 999px;
  color: #e50914;
  background: #fff0f2;
  font-weight: 900;
}

.about-split-v226 {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.about-split-v226 article {
  padding: clamp(22px, 4vw, 38px);
}

.about-split-v226 h2 {
  margin-bottom: 20px;
}

.about-check-grid-v226 span {
  background: #f8fafc;
  color: #344054;
  border: 1px solid #e5e7eb;
}

.about-contact-grid-v226 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-contact-card-v226 {
  min-height: 176px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid #eef1f6;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  background: #ffffff;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.about-contact-card-v226:hover,
.about-contact-card-v226:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(229, 9, 20, 0.28);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.about-contact-card-v226 .ui-icon {
  width: 40px;
  height: 40px;
  padding: 9px;
  border-radius: 8px;
  color: #e50914;
  background: #fff0f2;
}

.about-contact-card-v226 strong {
  font-size: 19px;
}

.about-contact-card-v226 small {
  min-height: 42px;
  color: #667085;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.about-contact-card-v226 b {
  margin-top: auto;
  color: #e50914;
  font-size: 14px;
  font-weight: 950;
}

html[dir="rtl"] .about-page-v226,
html[dir="rtl"] .about-hero-v226,
html[dir="rtl"] .about-section-v226,
html[dir="rtl"] .about-contact-v226 {
  text-align: right;
}

html[dir="rtl"] .about-hero-actions-v226,
html[dir="rtl"] .about-section-head-v226,
html[dir="rtl"] .about-value-pills-v226 {
  direction: rtl;
}

html[dir="rtl"] .about-trust-list-v226 span,
html[dir="rtl"] .about-check-grid-v226 span {
  flex-direction: row-reverse;
}

@media (max-width: 1100px) {
  .about-hero-v226,
  .about-mission-v226,
  .about-trust-v226,
  .about-values-v226 {
    grid-template-columns: 1fr;
  }

  .about-feature-grid-v226,
  .about-contact-grid-v226 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-steps-v226 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .about-page-v226 {
    width: min(100% - 20px, 430px);
    padding: 86px 0 92px;
  }

  .about-hero-v226 {
    min-height: 0;
    gap: 14px;
  }

  .about-hero-copy-v226,
  .about-hero-panel-v226,
  .about-mission-v226,
  .about-section-v226,
  .about-trust-v226,
  .about-values-v226,
  .about-split-v226 article,
  .about-contact-v226 {
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
  }

  .about-hero-copy-v226 {
    padding: 24px;
  }

  .about-hero-copy-v226 h1 {
    font-size: 40px;
    line-height: 1;
  }

  .about-hero-copy-v226 p:not(.eyebrow) {
    font-size: 16px;
  }

  .about-hero-actions-v226 .btn,
  .about-hero-actions-v226 .btn-ghost {
    width: 100%;
  }

  .about-hero-panel-v226 span {
    min-height: 82px;
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 14px;
  }

  .about-hero-panel-v226 .ui-icon {
    width: 46px;
    height: 46px;
  }

  .about-mission-v226,
  .about-section-v226,
  .about-trust-v226,
  .about-values-v226,
  .about-split-v226 article,
  .about-contact-v226 {
    padding: 20px;
  }

  .about-section-head-v226 {
    display: block;
  }

  .about-feature-grid-v226,
  .about-trust-list-v226,
  .about-check-grid-v226,
  .about-steps-v226,
  .about-split-v226,
  .about-contact-grid-v226 {
    grid-template-columns: 1fr;
  }

  .about-feature-card-v226,
  .about-step-v226,
  .about-contact-card-v226 {
    min-height: 0;
  }
}

/* Final Support-page mobile guard: later broad header rules can otherwise
   create horizontal overflow. Keep this scoped to Support only. */
@media (max-width: 860px) {
  html:has(body .support-page-v228),
  body:has(.support-page-v228) {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body:has(.support-page-v228) .site-header,
  body.aleo-header-scrolled:has(.support-page-v228) .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    display: flex !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    gap: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body:has(.support-page-v228) .site-header > .brand.brand-image-lockup {
    min-width: 146px !important;
    width: 146px !important;
    max-width: 146px !important;
    flex: 0 1 146px !important;
  }

  body:has(.support-page-v228) .site-header .brand-image-lockup .brand-logo-image {
    width: 142px !important;
    max-width: 142px !important;
    height: 62px !important;
    max-height: 62px !important;
  }

  body:has(.support-page-v228) .site-header > .header-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-left: auto !important;
    gap: 6px !important;
  }

  body:has(.support-page-v228) .site-header .header-currency-shell,
  body:has(.support-page-v228) .site-header .header-theme-toggle,
  body:has(.support-page-v228) .site-header .header-icon-button,
  body:has(.support-page-v228) .site-header .mobile-notification-action,
  body:has(.support-page-v228) .site-header .account-header-action {
    display: none !important;
  }

  body:has(.support-page-v228) .site-header .header-lang-shell {
    display: inline-flex !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }

  body:has(.support-page-v228) main.app {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 14px 78px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body:has(.support-page-v228) .support-page-v228,
  body:has(.support-page-v228) .support-hero-v228,
  body:has(.support-page-v228) .support-grid-v228,
  body:has(.support-page-v228) .support-grid-v228 article,
  body:has(.support-page-v228) .support-contact-band-v228,
  body:has(.support-page-v228) .support-status-card-v228 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(.support-page-v228) .support-hero-v228,
  body:has(.support-page-v228) .support-contact-band-v228 {
    padding: 24px !important;
    overflow: hidden !important;
  }

  body:has(.support-page-v228) .support-hero-v228 h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.04 !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.support-page-v228) .support-hero-v228 p,
  body:has(.support-page-v228) .support-status-card-v228 p,
  body:has(.support-page-v228) .support-grid-v228 p,
  body:has(.support-page-v228) .support-contact-band-v228 p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.support-page-v228) .bottom-nav {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* Payment success phoenix activation */
.success.phoenix-success {
  width: min(960px, calc(100vw - 32px));
  max-width: none;
  min-height: calc(100vh - 164px);
  margin: 24px auto 42px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 50% 24%, rgba(239, 11, 26, 0.08), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fff7f8 100%);
  box-shadow: none;
  text-align: center;
  box-sizing: border-box;
}

.success.phoenix-success,
.success.phoenix-success * {
  box-sizing: border-box;
}

.phoenix-success-card {
  position: relative;
  width: min(920px, 100%);
  min-height: 660px;
  overflow: hidden;
  border: 1px solid rgba(239, 11, 26, 0.1);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 247, 248, 0.94)),
    #fff;
  box-shadow: 0 34px 90px rgba(111, 18, 28, 0.13);
}

.phoenix-success-logo {
  position: relative;
  z-index: 4;
  display: block;
  width: 138px;
  height: auto;
  margin: 26px auto 0;
  object-fit: contain;
}

.phoenix-success-journey {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  opacity: 1;
  visibility: visible;
  animation: phoenixJourneyFade 3s ease-in-out forwards;
}

.phoenix-success.is-complete .phoenix-success-journey {
  display: none;
}

.phoenix-success-check-phase {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 96px 24px 22px;
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(10px);
  animation: phoenixPaymentPhase 3s ease-in-out forwards;
}

.phoenix-success-check {
  display: inline-flex;
  width: 72px;
  height: 72px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #16c784;
  color: #fff;
  font-size: 38px;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(22, 199, 132, 0.24);
}

.phoenix-success-check.final {
  width: 68px;
  height: 68px;
  margin: 22px auto 14px;
  font-size: 36px;
}

.phoenix-success-check-phase h1,
.phoenix-success-final h1 {
  margin: 18px 0 7px;
  color: #0f172a;
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: 0;
}

.phoenix-success-check-phase p,
.phoenix-success-final p {
  width: 100%;
  max-width: 620px;
  margin: 0;
  color: #667085;
  font-size: 15px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.phoenix-success-order-card {
  width: min(520px, 100%);
  margin-top: 26px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  text-align: left;
}

html[dir="rtl"] .phoenix-success-order-card {
  text-align: right;
}

.phoenix-success-order-card > strong {
  display: block;
  margin-bottom: 10px;
  color: #0f172a;
  font-size: 14px;
}

.phoenix-success-order-card dl,
.phoenix-success-final-details {
  display: grid;
  gap: 10px;
  margin: 0;
}

.phoenix-success-order-card div,
.phoenix-success-final-details div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
}

.phoenix-success-order-card dt,
.phoenix-success-final-details dt {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.phoenix-success-order-card dd,
.phoenix-success-final-details dd {
  margin: 0;
  min-width: 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
  text-align: right;
  overflow-wrap: anywhere;
}

html[dir="rtl"] .phoenix-success-order-card dd,
html[dir="rtl"] .phoenix-success-final-details dd {
  text-align: left;
}

.phoenix-success-stage {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  min-height: 520px;
  padding: 64px 20px 76px;
  opacity: 0;
  transform: scale(0.98);
  animation: phoenixStageIn 3s ease-in-out forwards;
}

.phoenix-success-svg {
  width: min(850px, 100%);
  height: auto;
  overflow: visible;
}

.phoenix-success-glow {
  opacity: 0;
  animation: phoenixGlowPulse 1.7s ease-in-out 1.08s forwards;
}

.phoenix-bird {
  opacity: 0;
  transform: translateX(-26px) scale(0.8);
  transform-box: fill-box;
  transform-origin: center;
  animation: phoenixBirdArrive 2.35s cubic-bezier(.2, .78, .2, 1) .48s forwards, phoenixBirdFloat 1.2s ease-in-out 1.05s infinite alternate;
}

.phoenix-wing,
.phoenix-tail,
.phoenix-body,
.phoenix-head,
.phoenix-neck,
.phoenix-beak,
.phoenix-crest {
  transform-box: fill-box;
}

.phoenix-wing-left {
  transform-origin: 88% 70%;
  animation: phoenixWingLeft 1.7s ease-in-out .58s forwards;
}

.phoenix-wing-right {
  transform-origin: 12% 70%;
  animation: phoenixWingRight 1.7s ease-in-out .58s forwards;
}

.phoenix-tail {
  transform-origin: center top;
  animation: phoenixTailFloat 1.4s ease-in-out 1.2s infinite alternate;
}

.phoenix-energy-rings path {
  fill: none;
  stroke: rgba(239, 11, 26, 0.38);
  stroke-width: 2;
  stroke-dasharray: 24 18;
  opacity: 0;
  animation: phoenixRingSweep 1.4s linear 1.05s forwards;
}

.phoenix-energy-rings path:nth-child(2) {
  animation-delay: 1.18s;
}

.phoenix-energy-rings path:nth-child(3) {
  animation-delay: 1.32s;
}

.phoenix-beam {
  opacity: 0;
  animation: phoenixBeamGroup 1.2s ease-in-out 1.38s forwards;
}

.phoenix-beam path,
.phoenix-beam circle {
  fill: none;
  stroke: url(#phoenixBeam);
  stroke-width: 8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: phoenixBeamTravel .82s cubic-bezier(.35, .01, .2, 1) 1.42s forwards;
}

.phoenix-beam path:nth-child(2) {
  stroke-width: 5;
  animation-delay: 1.48s;
}

.phoenix-beam path:nth-child(3) {
  stroke-width: 4;
  animation-delay: 1.54s;
}

.phoenix-beam circle {
  fill: #fff;
  stroke-width: 4;
  animation-delay: 1.66s;
}

.phoenix-chip {
  opacity: 0;
  transform: translateX(22px) scale(0.94);
  transform-box: fill-box;
  transform-origin: center;
  animation: phoenixChipIn 1.2s ease-out 1.55s forwards;
}

.phoenix-chip-glow {
  fill: rgba(239, 11, 26, 0.18);
  filter: blur(5px);
  animation: phoenixChipPulse .8s ease-in-out 1.86s infinite alternate;
}

.phoenix-chip-body {
  fill: #e80013;
  stroke: #fff;
  stroke-width: 5;
  filter: drop-shadow(0 22px 36px rgba(239, 11, 26, 0.22));
}

.phoenix-chip-core {
  fill: rgba(255, 255, 255, 0.12);
  stroke: rgba(255, 255, 255, 0.78);
  stroke-width: 3;
}

.phoenix-chip text {
  fill: #fff;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0;
}

.phoenix-chip-pins path {
  fill: none;
  stroke: rgba(239, 11, 26, 0.38);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 36;
  stroke-dashoffset: 36;
  animation: phoenixPins .55s ease-out 1.9s forwards;
}

.phoenix-particle {
  position: absolute;
  z-index: 1;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ef0b1a;
  opacity: 0;
  box-shadow: 0 0 18px rgba(239, 11, 26, 0.46);
  animation: phoenixParticle 1.35s ease-out 1.25s infinite;
}

.phoenix-particle.p1 { top: 29%; left: 25%; animation-delay: 1.12s; }
.phoenix-particle.p2 { top: 48%; left: 35%; animation-delay: 1.34s; }
.phoenix-particle.p3 { top: 34%; right: 24%; animation-delay: 1.5s; }
.phoenix-particle.p4 { bottom: 32%; right: 32%; animation-delay: 1.72s; }

.phoenix-success-copy {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 30px;
  min-height: 52px;
}

.phoenix-success-copy p {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.phoenix-success-copy strong {
  color: #0f172a;
  font-size: 16px;
}

.phoenix-success-copy span {
  color: #667085;
  font-size: 13px;
  font-weight: 750;
}

.phoenix-success-copy .copy-one {
  animation: phoenixCopyOne 3s ease-in-out forwards;
}

.phoenix-success-copy .copy-two {
  animation: phoenixCopyTwo 3s ease-in-out forwards;
}

.phoenix-success-copy .copy-three {
  animation: phoenixCopyThree 3s ease-in-out forwards;
}

.phoenix-success-skip {
  position: absolute;
  z-index: 7;
  right: 24px;
  bottom: 22px;
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid rgba(239, 11, 26, 0.15);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #ef0b1a;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(111, 18, 28, 0.08);
}

html[dir="rtl"] .phoenix-success-skip {
  right: auto;
  left: 24px;
}

.phoenix-success-final {
  position: relative;
  z-index: 3;
  min-height: 660px;
  padding: 26px 34px 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(0.985);
  animation: phoenixFinalIn .42s ease-out 2.62s forwards;
}

.phoenix-success.is-complete .phoenix-success-final {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  animation: none;
}

.phoenix-success-final-details {
  width: min(560px, 100%);
  max-width: 100%;
  margin: 22px auto 24px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
  text-align: left;
}

html[dir="rtl"] .phoenix-success-final-details {
  text-align: right;
}

.phoenix-success-final-details dd {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.phoenix-success-final-flag {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
}

.phoenix-success-final-details code {
  padding: 5px 8px;
  border-radius: 8px;
  background: #f4f6f8;
  color: #111827;
  font-size: 12px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.phoenix-success-active {
  padding: 5px 10px;
  border-radius: 999px;
  background: #e8fbf1;
  color: #0e9f6e;
  font-size: 12px;
}

.phoenix-success-final-actions {
  width: min(560px, 100%);
  max-width: 100%;
  display: grid;
  gap: 12px;
}

.phoenix-success-final-actions .btn,
.phoenix-success-final-actions .btn-ghost {
  min-height: 54px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 900;
}

.phoenix-success-final-actions .btn {
  background: #ef0b1a;
  box-shadow: 0 18px 34px rgba(239, 11, 26, 0.22);
}

.phoenix-success-final-actions .btn-ghost {
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
  color: #0f172a;
}

.phoenix-success .auth-card {
  width: min(520px, 100%);
  margin: 18px auto 0;
  text-align: left;
}

html[dir="rtl"] .phoenix-success .auth-card {
  text-align: right;
}

@keyframes phoenixPaymentPhase {
  0%, 18% { opacity: 1; visibility: visible; transform: none; }
  25%, 100% { opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.985); }
}

@keyframes phoenixStageIn {
  0%, 17% { opacity: 0; transform: scale(.98); }
  23%, 88% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.01); }
}

@keyframes phoenixJourneyFade {
  0%, 88% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}

@keyframes phoenixFinalIn {
  from { opacity: 0; pointer-events: none; transform: translateY(14px) scale(.985); }
  to { opacity: 1; pointer-events: auto; transform: none; }
}

@keyframes phoenixBirdArrive {
  0% { opacity: 0; transform: translateX(-26px) scale(.8); }
  36% { opacity: 1; transform: translateX(0) scale(1); }
  100% { opacity: 1; transform: translateX(-175px) scale(.86); }
}

@keyframes phoenixBirdFloat {
  from { translate: 0 -3px; }
  to { translate: 0 5px; }
}

@keyframes phoenixWingLeft {
  0% { transform: rotate(11deg) scale(.9); }
  62% { transform: rotate(-4deg) scale(1.04); }
  100% { transform: rotate(0deg) scale(1); }
}

@keyframes phoenixWingRight {
  0% { transform: rotate(-11deg) scale(.9); }
  62% { transform: rotate(4deg) scale(1.04); }
  100% { transform: rotate(0deg) scale(1); }
}

@keyframes phoenixTailFloat {
  from { transform: skewX(-2deg) translateY(0); }
  to { transform: skewX(3deg) translateY(9px); }
}

@keyframes phoenixGlowPulse {
  0% { opacity: 0; transform: scale(.82); }
  45% { opacity: 1; transform: scale(1.08); }
  100% { opacity: .42; transform: scale(1.16); }
}

@keyframes phoenixRingSweep {
  0% { opacity: 0; stroke-dashoffset: 120; }
  20% { opacity: 1; }
  100% { opacity: .18; stroke-dashoffset: 0; }
}

@keyframes phoenixBeamGroup {
  0% { opacity: 0; }
  20%, 100% { opacity: 1; }
}

@keyframes phoenixBeamTravel {
  from { stroke-dashoffset: 520; }
  to { stroke-dashoffset: 0; }
}

@keyframes phoenixChipIn {
  0% { opacity: 0; transform: translateX(22px) scale(.94); }
  45% { opacity: 1; transform: translateX(0) scale(1.06); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes phoenixChipPulse {
  from { opacity: .55; transform: scale(.96); }
  to { opacity: 1; transform: scale(1.08); }
}

@keyframes phoenixPins {
  from { stroke-dashoffset: 36; opacity: .2; }
  to { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes phoenixParticle {
  0% { opacity: 0; transform: translateY(8px) scale(.6); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-36px) scale(1.2); }
}

@keyframes phoenixCopyOne {
  0%, 25% { opacity: 0; transform: translateY(8px); }
  32%, 46% { opacity: 1; transform: none; }
  56%, 100% { opacity: 0; transform: translateY(-8px); }
}

@keyframes phoenixCopyTwo {
  0%, 46% { opacity: 0; transform: translateY(8px); }
  54%, 70% { opacity: 1; transform: none; }
  80%, 100% { opacity: 0; transform: translateY(-8px); }
}

@keyframes phoenixCopyThree {
  0%, 70% { opacity: 0; transform: translateY(8px); }
  78%, 92% { opacity: 1; transform: none; }
  100% { opacity: 0; transform: translateY(-8px); }
}

@media (max-width: 760px) {
  .success.phoenix-success {
    width: min(100%, calc(100vw - 24px));
    min-height: calc(100vh - 110px);
    margin: 12px auto 32px;
    padding: 0;
  }

  .phoenix-success-card {
    width: 100%;
    min-height: 600px;
    border-radius: 24px;
  }

  .phoenix-success-logo {
    width: 116px;
    margin-top: 18px;
  }

  .phoenix-success-check-phase {
    padding: 78px 16px 18px;
  }

  .phoenix-success-check {
    width: 60px;
    height: 60px;
    font-size: 32px;
  }

  .phoenix-success-check-phase h1,
  .phoenix-success-final h1 {
    font-size: 24px;
  }

  .phoenix-success-check-phase p,
  .phoenix-success-final p {
    max-width: 300px;
    margin-inline: auto;
    line-height: 1.36;
  }

  .phoenix-success-order-card {
    width: 100%;
    padding: 16px;
  }

  .phoenix-success-stage {
    min-height: 480px;
    padding: 58px 6px 82px;
  }

  .phoenix-success-svg {
    width: 760px;
    max-width: none;
    transform: translateX(-132px) scale(.76);
  }

  html[dir="rtl"] .phoenix-success-svg {
    transform: translateX(132px) scale(.76);
  }

  .phoenix-success-copy {
    bottom: 38px;
  }

  .phoenix-success-skip {
    right: 16px;
    bottom: 14px;
  }

  html[dir="rtl"] .phoenix-success-skip {
    right: auto;
    left: 16px;
  }

  .phoenix-success-final {
    min-height: 600px;
    padding: 18px 16px 20px;
  }

  .phoenix-success-final-details {
    padding: 16px;
  }

  .phoenix-success-final-details div {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .phoenix-success-final-details dd {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
  }

  html[dir="rtl"] .phoenix-success-final-details dd {
    justify-content: flex-end;
    text-align: right;
  }

  .phoenix-success-final-actions .btn,
  .phoenix-success-final-actions .btn-ghost {
    min-height: 50px;
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .phoenix-success-journey,
  .phoenix-success-check-phase,
  .phoenix-success-stage,
  .phoenix-bird,
  .phoenix-wing-left,
  .phoenix-wing-right,
  .phoenix-tail,
  .phoenix-success-glow,
  .phoenix-energy-rings path,
  .phoenix-beam,
  .phoenix-beam path,
  .phoenix-beam circle,
  .phoenix-chip,
  .phoenix-chip-glow,
  .phoenix-chip-pins path,
  .phoenix-particle,
  .phoenix-success-copy .copy-one,
  .phoenix-success-copy .copy-two,
  .phoenix-success-copy .copy-three,
  .phoenix-success-final {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
  }
}

/* AleoFly v251 tail override: notification bell stays compact after EN on every page */
body .site-header .header-lang-shell { order: 1 !important; }
body .site-header .header-actions > .mobile-notification-action { order: 2 !important; }
body .site-header .header-currency-shell { order: 3 !important; }
body .site-header .header-theme-toggle { order: 4 !important; }
body .site-header .account-header-action { order: 5 !important; }

body .site-header .header-actions > .mobile-notification-action,
body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action,
body:has(.checkout-page-v113) .site-header .header-actions > .mobile-notification-action,
body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action,
body:has(.one-country-category-page) .site-header .header-actions > .mobile-notification-action {
  display: inline-grid !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  color: #071126 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 10px 22px rgba(229, 9, 20, 0.08) !important;
}

body .site-header .header-actions > .mobile-notification-action::before,
body .site-header .header-actions > .mobile-notification-action::after {
  display: none !important;
  content: none !important;
}

body .site-header .header-notification-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body .site-header .header-notification-badge {
  top: 4px !important;
  right: 3px !important;
  width: 17px !important;
  min-width: 17px !important;
  height: 17px !important;
  border-color: rgba(255, 244, 246, 0.98) !important;
  box-shadow: 0 4px 10px rgba(229, 9, 20, 0.24) !important;
}

body .site-header .header-notification-menu {
  width: min(324px, calc(100vw - 32px)) !important;
  max-height: min(460px, calc(100vh - 132px)) !important;
  overflow: auto !important;
  border-color: rgba(255, 213, 220, 0.95) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255, 247, 248, 0.98), rgba(255, 255, 255, 0.99)) !important;
  box-shadow: 0 24px 64px rgba(80, 20, 30, 0.16) !important;
}

body .site-header .header-notification-menu-head {
  min-height: 54px !important;
  padding: 12px 14px !important;
  border-bottom-color: rgba(255, 218, 224, 0.9) !important;
  background: linear-gradient(135deg, #fff4f6, #ffffff) !important;
}

body .site-header .header-notification-menu-head strong {
  color: #071126 !important;
  font-size: 14px !important;
}

body .site-header .header-notification-menu-head span {
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: #ffe8ec !important;
  color: #e50914 !important;
  font-size: 11px !important;
}

body .site-header .header-notification-menu-actions {
  padding: 9px 12px !important;
  background: rgba(255, 250, 251, 0.96) !important;
}

body .site-header .header-notification-menu-actions button {
  min-height: 30px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-size: 10.5px !important;
}

body .site-header .header-notification-item {
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  gap: 9px !important;
  padding: 12px 14px !important;
  border-top-color: rgba(255, 226, 231, 0.72) !important;
}

body .site-header .header-notification-item:hover { background: #fff3f5 !important; }
body .site-header .header-notification-item strong { font-size: 12.5px !important; }
body .site-header .header-notification-item small { color: #667085 !important; font-size: 11.5px !important; }
body .site-header .header-notification-empty { padding: 20px 14px !important; color: #667085 !important; }

@media (max-width: 760px) {
  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.one-country-category-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions,
  body:has(.account-data-shell-v175) .site-header > .header-actions {
    gap: 4px !important;
  }

  body .site-header .header-lang-shell {
    width: 54px !important;
    min-width: 54px !important;
    flex-basis: 54px !important;
  }

  body .site-header .header-currency-shell {
    width: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }

  body .site-header .header-actions > .mobile-notification-action,
  body:has(.aleo-home-v59) .site-header .header-actions > .mobile-notification-action,
  body:has(.checkout-page-v113) .site-header .header-actions > .mobile-notification-action,
  body:has(.one-country-page) .site-header .header-actions > .mobile-notification-action,
  body:has(.one-country-category-page) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-dashboard-v174) .site-header .header-actions > .mobile-notification-action,
  body:has(.account-data-shell-v175) .site-header .header-actions > .mobile-notification-action {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex: 0 0 34px !important;
    border-color: #edf1f6 !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  body .site-header .header-notification-svg {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 2.2 !important;
  }

  body .site-header .header-notification-badge {
    top: -2px !important;
    right: -2px !important;
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
    border-width: 2px !important;
    font-size: 8px !important;
  }

  body .site-header .header-notification-menu {
    top: calc(100% + 9px) !important;
    right: 0 !important;
    width: min(292px, calc(100vw - 24px)) !important;
    max-height: min(360px, calc(100vh - 110px)) !important;
    border-radius: 16px !important;
  }

  body .site-header .header-notification-menu-head {
    min-height: 48px !important;
    padding: 10px 12px !important;
  }

  body .site-header .header-notification-menu-actions { padding: 8px 10px !important; }
  body .site-header .header-notification-item { padding: 10px 12px !important; }
  body .site-header .header-notification-item small { -webkit-line-clamp: 1 !important; }
}

.auth-reset-visual {
  margin: -4px 0 18px;
  aspect-ratio: 1.84;
  overflow: hidden;
  border-radius: 0;
  background: #fff4f5;
}

.auth-reset-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.account-receipt-preview-v260 {
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(229, 9, 20, 0.12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 16% 12%, rgba(229, 9, 20, 0.1), transparent 30%),
    linear-gradient(145deg, rgba(255, 248, 249, 0.98), rgba(255, 255, 255, 0.9));
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.06);
}

.account-receipt-paper-v260 {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(229, 9, 20, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
}

.account-receipt-paper-v260::before,
.account-receipt-paper-v260::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  height: 1px;
  background-image: linear-gradient(90deg, rgba(148, 163, 184, 0.55) 50%, transparent 0);
  background-size: 10px 1px;
}

.account-receipt-paper-v260::before { top: 52px; }
.account-receipt-paper-v260::after { bottom: 58px; }

.account-receipt-paper-v260 header,
.account-receipt-paper-v260 footer,
.account-receipt-paper-v260 main p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.account-receipt-paper-v260 header {
  min-height: 28px;
  color: #071126;
  font-size: 13px;
  font-weight: 950;
}

.account-receipt-paper-v260 header b {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #e50914;
  font-size: 12px;
}

.account-receipt-paper-v260 header .ui-icon {
  width: 15px;
  height: 15px;
}

.account-receipt-paper-v260 main {
  display: grid;
  gap: 10px;
  padding-top: 12px;
}

.account-receipt-paper-v260 main > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.account-receipt-flag-v260 {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 auto;
}

.account-receipt-paper-v260 main > div span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.account-receipt-paper-v260 strong,
.account-receipt-paper-v260 small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-receipt-paper-v260 strong {
  color: #071126;
  font-size: 14px;
  font-weight: 950;
}

.account-receipt-paper-v260 small,
.account-receipt-paper-v260 main p span,
.account-receipt-paper-v260 footer span {
  color: #66758c;
  font-size: 12px;
  font-weight: 800;
}

.account-receipt-paper-v260 main p {
  margin: 0;
}

.account-receipt-paper-v260 main p b {
  color: #071126;
  font-size: 12px;
  font-weight: 950;
}

.account-receipt-paper-v260 footer {
  padding-top: 12px;
}

.account-receipt-paper-v260 footer strong {
  color: #e50914;
  font-size: 20px;
}

@media (max-width: 640px) {
  .auth-reset-visual {
    margin-bottom: 14px;
  }

  .account-receipt-preview-v260 {
    padding: 10px;
  }
}

/* AleoFly v258: global category page reference redesign. */
body main.app .global-category-page-v258 {
  width: min(100%, 1440px);
  max-width: 1440px;
  box-sizing: border-box;
  display: grid;
  gap: 22px;
  margin: 16px auto 76px;
  padding: 0 clamp(14px, 2.5vw, 32px);
  overflow-x: hidden;
}

.global-category-page-v258 *,
.global-category-page-v258 *::before,
.global-category-page-v258 *::after {
  box-sizing: border-box;
}

.global-category-hero-v258 {
  position: relative;
  min-height: clamp(220px, 24vw, 330px);
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #ffe0e5;
  border-radius: 22px;
  background: #fff4f6;
  box-shadow: 0 20px 52px rgba(120, 23, 36, 0.09);
  isolation: isolate;
}

.global-category-hero-v258::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.86) 36%, rgba(255, 255, 255, 0.28) 72%, rgba(255, 255, 255, 0.06) 100%);
}

.global-category-hero-art-v258 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  z-index: 0;
}

.global-category-back-v258 {
  position: relative;
  z-index: 2;
  width: 46px;
  height: 46px;
  margin-left: clamp(18px, 3vw, 36px);
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  text-decoration: none;
  font-size: 30px;
  font-weight: 800;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.global-category-hero-copy-v258 {
  position: relative;
  z-index: 2;
  width: min(570px, calc(100% - 104px));
  display: grid;
  gap: 10px;
  margin-left: 22px;
}

.global-category-hero-copy-v258 .eyebrow {
  margin: 0;
  color: #e50914;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
}

.global-category-hero-copy-v258 h1 {
  margin: 0;
  color: #071126;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 0.98;
  letter-spacing: 0;
  white-space: nowrap;
}

.global-category-hero-copy-v258 p:not(.eyebrow) {
  max-width: 390px;
  margin: 0;
  color: #667085;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}

.global-category-stats-v258 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.global-category-stats-v258 span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(229, 9, 20, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #071126;
}

.global-category-stats-v258 .ui-icon {
  width: 16px;
  height: 16px;
  color: #e50914;
}

.global-category-stats-v258 b {
  font-size: 14px;
  font-weight: 950;
}

.global-category-stats-v258 small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.global-type-grid-v258 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.global-type-card-v258 {
  min-width: 0;
  min-height: 92px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border: 1px solid #edf1f6;
  border-radius: 16px;
  background: #fff;
  color: #071126;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.global-type-card-v258:hover,
.global-type-card-v258:focus-visible {
  transform: translateY(-2px);
  border-color: #ffc4cc;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.global-type-card-v258.one { background: linear-gradient(145deg, #fff4f6, #fff); }
.global-type-card-v258.multi { background: linear-gradient(145deg, #f4f8ff, #fff); }
.global-type-card-v258.global { background: linear-gradient(145deg, #effcf4, #fff); }

.global-type-icon-v258 {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #e50914;
  box-shadow: inset 0 0 0 1px rgba(229, 9, 20, 0.08);
}

.global-type-card-v258.multi .global-type-icon-v258 { color: #2563eb; }
.global-type-card-v258.global .global-type-icon-v258 { color: #16a34a; }

.global-type-icon-v258 .ui-icon {
  width: 25px;
  height: 25px;
}

.global-type-copy-v258 {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.global-type-copy-v258 strong {
  color: #071126;
  font-size: 16px;
  font-weight: 950;
}

.global-type-copy-v258 small {
  max-width: 260px;
  color: #667085;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

.global-type-card-v258 > b {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(229, 9, 20, 0.07);
  color: #e50914;
}

.global-type-card-v258.multi > b { background: rgba(37, 99, 235, 0.08); color: #2563eb; }
.global-type-card-v258.global > b { background: rgba(22, 163, 74, 0.09); color: #16a34a; }

.global-type-card-v258 > b .ui-icon {
  width: 16px;
  height: 16px;
}

.global-plans-v258 {
  display: grid;
  gap: 16px;
}

.global-category-page-v258 .state.empty {
  max-width: 100%;
  padding: 28px 12px;
  text-align: center;
}

.global-category-page-v258 .state.empty h3,
.global-category-page-v258 .state.empty p {
  overflow-wrap: anywhere;
}

.global-plans-head-v258 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.global-plans-head-v258 h2 {
  margin: 0;
  color: #071126;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
  letter-spacing: 0;
}

.global-plans-head-v258 > div:first-child {
  display: grid;
  gap: 3px;
}

.global-plans-head-v258 > div:first-child span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.global-plans-tools-v258 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.global-tool-pill-v258,
.global-sort-v258,
.global-view-toggle-v258 {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #e8edf4;
  border-radius: 999px;
  background: #fff;
  color: #071126;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
}

.global-tool-pill-v258,
.global-sort-v258 {
  padding: 0 14px;
  font-size: 13px;
  font-weight: 900;
}

.global-tool-pill-v258 .ui-icon {
  width: 16px;
  height: 16px;
}

.global-sort-v258 span {
  color: #667085;
}

.global-sort-v258 select {
  max-width: 150px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #071126;
  font: inherit;
  cursor: pointer;
}

.global-view-toggle-v258 {
  padding: 3px;
  border-radius: 14px;
}

.global-view-toggle-v258 button {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #667085;
  cursor: pointer;
}

.global-view-toggle-v258 button.active {
  background: #fff1f3;
  color: #e50914;
}

.global-view-toggle-v258 .ui-icon {
  width: 17px;
  height: 17px;
}

.global-plan-grid-v258 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.global-plan-card-v258 {
  min-width: 0;
  min-height: 205px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px;
  border: 1px solid #edf1f6;
  border-radius: 14px;
  background: #fff;
  color: #071126;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.global-plan-card-v258:hover,
.global-plan-card-v258:focus-visible {
  transform: translateY(-2px);
  border-color: #ffc4cc;
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.09);
}

.global-plan-card-v258 header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.global-plan-card-v258 header > strong {
  color: #e50914;
  font-size: 19px;
  font-weight: 950;
  white-space: nowrap;
}

.global-plan-flags-v258 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
}

.global-plan-flag-v258 {
  width: 29px !important;
  height: 29px !important;
  flex: 0 0 auto;
  border: 2px solid #fff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
}

.global-plan-flag-v258 + .global-plan-flag-v258 {
  margin-left: -8px;
}

.global-plan-flags-v258 small {
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  margin-left: 5px;
  padding: 0 7px;
  border-radius: 999px;
  background: #fff1f3;
  color: #e50914;
  font-size: 10px;
  font-weight: 950;
}

.global-plan-card-v258 h3 {
  min-width: 0;
  margin: 0;
  color: #071126;
  font-size: 16px;
  line-height: 1.28;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.global-plan-card-v258 p,
.global-plan-card-v258 > small {
  margin: 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 750;
}

.global-plan-card-v258 > small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.global-plan-networks-v258 {
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.global-plan-networks-v258 .network-icon,
.global-plan-networks-v258 .network-icon-more {
  width: 30px;
  height: 30px;
}

.global-plan-card-v258 footer {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.global-plan-badges-v258 {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.global-plan-badges-v258 span {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fff1f3;
  color: #e50914;
  font-size: 10px;
  font-weight: 950;
}

.global-plan-card-v258 footer em {
  color: #98a2b3;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-decoration: line-through;
  white-space: nowrap;
}

.global-plan-card-v258 footer > b {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #f8fafc;
  color: #071126;
}

.global-plan-card-v258 footer > b .ui-icon {
  width: 14px;
  height: 14px;
}

.global-category-page-v258[data-country-view-state="list"] .global-plan-grid-v258 {
  grid-template-columns: 1fr;
}

.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  align-items: center;
}

.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 header,
.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 h3,
.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 p,
.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 > small,
.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 .global-plan-networks-v258 {
  grid-column: 1;
}

.global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 footer {
  grid-column: 2;
  grid-row: 1 / span 5;
  align-self: center;
}

@media (max-width: 1180px) {
  .global-plan-grid-v258 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body main.app .global-category-page-v258 {
    gap: 18px;
    padding: 0 14px 92px;
  }

  .global-type-grid-v258 {
    gap: 12px;
  }

  .global-type-card-v258 {
    grid-template-columns: 50px minmax(0, 1fr) 32px;
    min-height: 84px;
    padding: 14px;
  }

  .global-type-icon-v258 {
    width: 48px;
    height: 48px;
  }

  .global-plan-grid-v258 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  body main.app .global-category-page-v258 {
    width: 100vw;
    max-width: 100vw;
    margin-top: 10px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-inline: 10px;
  }

  .global-category-hero-v258 {
    min-height: 188px;
    border-radius: 18px;
  }

  .global-category-hero-v258::before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.18) 100%);
  }

  .global-category-hero-art-v258 {
    object-position: 62% center;
  }

  .global-category-back-v258 {
    width: 34px;
    height: 34px;
    margin-left: 12px;
    font-size: 24px;
  }

  .global-category-hero-copy-v258 {
    width: min(260px, calc(100% - 58px));
    gap: 6px;
    margin-left: 10px;
  }

  .global-category-hero-copy-v258 .eyebrow {
    font-size: 10px;
  }

  .global-category-hero-copy-v258 h1 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.04;
    white-space: normal;
  }

  .global-category-hero-copy-v258 p:not(.eyebrow) {
    max-width: 220px;
    font-size: 12px;
    line-height: 1.35;
  }

  .global-category-stats-v258 {
    display: none;
  }

  .global-type-grid-v258 {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .global-type-card-v258 {
    min-height: 72px;
    border-radius: 14px;
  }

  .global-type-copy-v258 strong {
    font-size: 14px;
  }

  .global-type-copy-v258 small {
    font-size: 11px;
  }

  .global-plans-head-v258 {
    align-items: flex-end;
  }

  .global-plans-tools-v258 {
    gap: 8px;
  }

  .global-tool-pill-v258 {
    display: none;
  }

  .global-sort-v258 {
    min-height: 36px;
    padding: 0 10px;
    font-size: 12px;
  }

  .global-sort-v258 span {
    display: none;
  }

  .global-sort-v258 select {
    max-width: 94px;
  }

  .global-view-toggle-v258 {
    min-height: 36px;
  }

  .global-view-toggle-v258 button {
    width: 30px;
    height: 30px;
  }

  .global-plan-grid-v258,
  .global-category-page-v258[data-country-view-state="list"] .global-plan-grid-v258 {
    grid-template-columns: 1fr;
  }

  .global-plan-card-v258,
  .global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 14px;
    border-radius: 13px;
  }

  .global-category-page-v258[data-country-view-state="list"] .global-plan-card-v258 footer {
    grid-column: auto;
    grid-row: auto;
  }

  .global-plan-card-v258 header > strong {
    font-size: 17px;
  }

  .global-plan-card-v258 h3 {
    font-size: 14px;
  }

  .global-plan-card-v258 p,
  .global-plan-card-v258 > small {
    font-size: 12px;
  }

  .global-category-page-v258 .state.empty {
    width: 100%;
    padding: 26px 8px;
  }

  .global-category-page-v258 .state.empty h3 {
    max-width: 248px;
    margin-inline: auto;
    font-size: 18px;
    line-height: 1.25;
    white-space: normal;
  }

  body:has(.global-category-page-v258) .site-header {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body:has(.global-category-page-v258) .site-header > .top-nav,
  body:has(.global-category-page-v258) .site-header .header-select-shell {
    display: none !important;
  }

  body:has(.global-category-page-v258) .site-header > .brand.brand-image-lockup {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body:has(.global-category-page-v258) .site-header .brand-image-lockup .brand-logo-image {
    max-width: 154px !important;
    object-fit: contain !important;
  }

  body:has(.global-category-page-v258) .site-header > .header-actions {
    flex: 0 0 auto !important;
    gap: 8px !important;
  }
}

[dir='rtl'] .global-category-back-v258 {
  margin-right: clamp(18px, 3vw, 36px);
  margin-left: 0;
}

[dir='rtl'] .global-category-hero-copy-v258 {
  margin-right: 22px;
  margin-left: 0;
}

@media (max-width: 680px) {
  [dir='rtl'] .global-category-back-v258 {
    margin-right: 12px;
  }

  [dir='rtl'] .global-category-hero-copy-v258 {
    margin-right: 10px;
  }
}

/* AleoFly v263: system-aware dark theme for desktop and mobile storefront. */
:root {
  color-scheme: light;
}

html[data-theme='dark'] {
  color-scheme: dark;
  --brand-tint: rgba(255, 75, 88, 0.18);
  --bg: #080b12;
  --surface: #121722;
  --surface-soft: #171d2a;
  --text: #f5f7fb;
  --muted: #a9b4c3;
  --border: #2b3445;
  --shadow: 0 12px 34px rgba(0, 0, 0, 0.34);
  --shadow-lg: 0 24px 70px rgba(0, 0, 0, 0.48);
}

html[data-theme='dark'] body {
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.15), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(72, 101, 196, 0.12), transparent 34%),
    var(--bg) !important;
  color: var(--text);
}

html[data-theme='dark'] body .site-header {
  border-color: rgba(255, 80, 96, 0.18) !important;
  background:
    radial-gradient(circle at 10% 40%, rgba(229, 9, 20, 0.22) 0, rgba(229, 9, 20, 0.08) 30%, transparent 56%),
    linear-gradient(90deg, rgba(14, 18, 29, 0.96), rgba(19, 24, 37, 0.96) 52%, rgba(32, 17, 27, 0.96)) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.36) !important;
}

html[data-theme='dark'] body .site-header > .brand.brand-image-lockup {
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 242, 245, 0.9)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74), 0 14px 30px rgba(0, 0, 0, 0.24) !important;
}

html[data-theme='dark'] body .site-header .brand-image-lockup .brand-logo-image {
  filter: drop-shadow(0 8px 14px rgba(229, 9, 20, 0.12)) !important;
}

html[data-theme='dark'] body .site-header > .top-nav a {
  color: #eef3fb !important;
}

html[data-theme='dark'] body .site-header > .top-nav a.active,
html[data-theme='dark'] body .site-header > .top-nav a:hover {
  color: #ff4f61 !important;
}

html[data-theme='dark'] body .site-header .header-select-shell,
html[data-theme='dark'] body .site-header .header-actions .lang-select,
html[data-theme='dark'] body .site-header .header-actions .currency-select,
html[data-theme='dark'] body .site-header .header-icon-button,
html[data-theme='dark'] body .site-header .header-actions > button[data-toggle-theme-quick],
html[data-theme='dark'] body .site-header .header-actions > .mobile-notification-action,
html[data-theme='dark'] body .site-header .account-header-action {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  color: #f7f9fd !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 12px 26px rgba(0, 0, 0, 0.28) !important;
}

html[data-theme='dark'] body .site-header .header-select-shell::before,
html[data-theme='dark'] body .site-header .header-select-shell::after {
  color: #f7f9fd !important;
  border-color: #f7f9fd !important;
}

html[data-theme='dark'] body .site-header .header-actions .lang-select option,
html[data-theme='dark'] body .site-header .header-actions .currency-select option {
  color: #0b1020 !important;
  background: #ffffff !important;
}

body .site-header .header-theme-mobile-svg {
  display: none !important;
}

body .site-header .header-theme-icon {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #111827 !important;
  box-shadow: inset -6px 0 0 rgba(255, 255, 255, 0.95) !important;
}

html[data-theme='dark'] body .site-header .header-theme-icon {
  background: #ffd166 !important;
  box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.12), 0 0 18px rgba(255, 209, 102, 0.28) !important;
}

html[data-theme='dark'] body .site-header .header-notification-svg {
  color: #f7f9fd !important;
  stroke: currentColor !important;
}

html[data-theme='dark'] body .site-header .account-avatar::before,
html[data-theme='dark'] body .site-header .account-avatar::after {
  border-color: #f7f9fd !important;
}

html[data-theme='dark'] body .site-header .header-notification-menu {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: linear-gradient(180deg, rgba(20, 26, 38, 0.98), rgba(13, 17, 27, 0.99)) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.52) !important;
}

html[data-theme='dark'] body .site-header .header-notification-menu-head,
html[data-theme='dark'] body .site-header .header-notification-menu-actions {
  border-color: rgba(255, 255, 255, 0.10) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

html[data-theme='dark'] body .site-header .header-notification-menu-head strong,
html[data-theme='dark'] body .site-header .header-notification-item strong {
  color: #f7f9fd !important;
}

html[data-theme='dark'] body .site-header .header-notification-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

html[data-theme='dark'] :where(
  .card,
  .auth-card,
  .order-summary,
  .payment-sheet,
  .stripe-payment-box,
  .checkout-payment-choice,
  .checkout-login-required,
  .account-settings-card-v183,
  .account-security-list-v183,
  .account-stat-card,
  .account-order-card-v183,
  .account-order-card-v184,
  .account-esim-summary-card,
  .account-esim-row-v175,
  .account-mobile-wallet-card,
  .account-mobile-active-card,
  .account-esim-hero-card-v175,
  .account-esim-setup-card-v175,
  .wallet-card,
  .level-card,
  .settings-list,
  .one-country-category-card,
  .global-type-card-v258,
  .global-plan-card-v258,
  .support-page-v228 article,
  .about-feature-card-v226,
  .about-contact-card-v226,
  .coverage-country-card,
  .popular-country-card,
  .home-trip-card,
  .explore-card,
  .multi-plan-card,
  .flow-search-card
) {
  border-color: rgba(255, 255, 255, 0.10) !important;
  background: linear-gradient(180deg, rgba(23, 29, 42, 0.96), rgba(15, 20, 31, 0.98)) !important;
  color: var(--text) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme='dark'] :where(
  .card,
  .auth-card,
  .order-summary,
  .payment-sheet,
  .stripe-payment-box,
  .checkout-payment-choice,
  .account-settings-card-v183,
  .global-type-card-v258,
  .global-plan-card-v258,
  .one-country-category-card
) :where(p, small, span, em, li) {
  color: inherit;
}

html[data-theme='dark'] :where(.muted, .plan-meta, .field-hint, .row-head small, .global-plan-card-v258 > small, .global-type-copy-v258 small) {
  color: var(--muted) !important;
}

html[data-theme='dark'] :where(input, select, textarea, .app-input) {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] :where(input, textarea)::placeholder {
  color: #7f8aa0 !important;
}

html[data-theme='dark'] :where(.btn-ghost, .see-all, .global-sort-v258, .global-tool-pill-v258, .global-view-toggle-v258, .plan-tabs button) {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: #ff6b79 !important;
}

html[data-theme='dark'] :where(.badge, .pill, .status, .network-icon, .network-icon-more, .plan-flag-more) {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] .global-category-hero-v258,
html[data-theme='dark'] .one-country-category-hero {
  border-color: rgba(255, 88, 104, 0.18) !important;
  background: linear-gradient(100deg, #101624 0%, #141b2b 52%, #23121d 100%) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38) !important;
}

html[data-theme='dark'] .global-category-hero-v258::before {
  background: linear-gradient(90deg, rgba(12, 16, 26, 0.96) 0%, rgba(12, 16, 26, 0.78) 50%, rgba(12, 16, 26, 0.10) 100%) !important;
}

html[data-theme='dark'] .one-country-category-hero::after {
  background:
    radial-gradient(circle at 76% 48%, rgba(8, 11, 18, 0) 0 30%, rgba(8, 11, 18, 0.36) 78%, #101624 100%),
    linear-gradient(90deg, #101624 0%, rgba(16, 22, 36, 0.95) 35%, rgba(16, 22, 36, 0.24) 64%, rgba(16, 22, 36, 0) 100%) !important;
}

html[data-theme='dark'] :where(.global-category-hero-copy-v258 h1, .one-country-category-hero h1, .row-head h2, h1, h2, h3, strong) {
  color: #f7f9fd;
}

html[data-theme='dark'] .bottom-nav {
  border-color: rgba(255, 255, 255, 0.10) !important;
  background: rgba(13, 18, 29, 0.94) !important;
  box-shadow: 0 -16px 42px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme='dark'] .bottom-nav a {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .bottom-nav a.is-active {
  color: #ff5a69 !important;
  background: rgba(255, 80, 96, 0.12) !important;
}

html[data-theme='dark'] .site-footer {
  border-top-color: rgba(255, 255, 255, 0.10) !important;
  color: var(--muted) !important;
}

@media (max-width: 760px) {
  body .site-header .header-theme-toggle,
  body .site-header .header-actions > button[data-toggle-theme-quick].header-theme-toggle,
  body:has(.aleo-home-v59) .site-header .header-theme-toggle,
  body:has(.one-country-page) .site-header .header-theme-toggle,
  body:has(.global-category-page-v258) .site-header .header-theme-toggle,
  body:has(.account-dashboard-v174) .site-header .header-theme-toggle,
  body:has(.account-data-shell-v175) .site-header .header-theme-toggle,
  body:has(.support-page-v228) .site-header .header-theme-toggle {
    order: 4 !important;
    display: inline-grid !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex: 0 0 34px !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  body .site-header .header-theme-icon {
    width: 14px !important;
    height: 14px !important;
    box-shadow: inset -5px 0 0 rgba(255, 255, 255, 0.95) !important;
  }

  html[data-theme='dark'] body .site-header {
    background:
      radial-gradient(circle at 42% 0%, rgba(229, 9, 20, 0.22), transparent 48%),
      linear-gradient(180deg, #101624 0%, #0c101a 76%) !important;
  }

  html[data-theme='dark'] body .site-header .header-select-shell,
  html[data-theme='dark'] body .site-header .header-actions > .mobile-notification-action,
  html[data-theme='dark'] body .site-header .header-theme-toggle {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }
}

@media (max-width: 430px) {
  body .site-header > .header-actions,
  body:has(.aleo-home-v59) .site-header > .header-actions,
  body:has(.checkout-page-v113) .site-header > .header-actions,
  body:has(.one-country-page) .site-header > .header-actions,
  body:has(.account-dashboard-v174) .site-header > .header-actions {
    gap: 3px !important;
  }

  body .site-header .header-select-shell {
    width: 48px !important;
    min-width: 48px !important;
    flex-basis: 48px !important;
  }

  body .site-header .header-currency-shell {
    width: 56px !important;
    min-width: 56px !important;
    flex-basis: 56px !important;
  }

  body .site-header .header-actions > .mobile-notification-action {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex-basis: 34px !important;
  }
}

/* AleoFly v273: web auth refresh, matched to the mobile hero language. */
body:has(.auth-page-v273) main.app {
  max-width: none;
  width: 100%;
  padding: 0;
}

.auth-page-v273 {
  position: relative;
  min-height: clamp(720px, calc(100vh - 172px), 900px);
  display: grid;
  justify-items: center;
  align-content: start;
  padding: clamp(260px, 34vw, 410px) 24px 54px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 245, 246, 0.34), rgba(255, 255, 255, 0.92) 58%, #fff 100%),
    radial-gradient(circle at 50% 16%, rgba(229, 9, 20, 0.08), transparent 42%),
    #fffafa;
}

.auth-page-v273::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0) 14%, rgba(255, 255, 255, 0) 86%, rgba(255, 255, 255, 0.92)),
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0 54%, rgba(255, 255, 255, 0.92) 78%, #fff 100%);
  z-index: 1;
}

.auth-page-v273 .auth-hero {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1280px, 100%);
  height: clamp(300px, 46vw, 520px);
  transform: translateX(-50%);
  background-image: var(--auth-hero-image);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  opacity: 0.98;
  z-index: 0;
}

.auth-card-v273 {
  position: relative;
  z-index: 2;
  width: min(100%, 470px);
  margin: 0 auto;
  padding: 34px 44px 30px;
  border: 1px solid rgba(229, 9, 20, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 24px 80px rgba(229, 9, 20, 0.12), 0 10px 34px rgba(15, 23, 42, 0.07);
  backdrop-filter: blur(18px);
}

.auth-card-v273 .auth-card-heading {
  text-align: center;
  margin-bottom: 22px;
}

.auth-card-v273 h1 {
  margin: 0;
  color: #071123;
  font-size: clamp(34px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: 0;
  font-weight: 900;
}

.auth-card-v273 .auth-card-heading p {
  margin: 12px 0 0;
  color: #6b7280;
  font-size: 15px;
  font-weight: 650;
}

.auth-card-v273 .alert,
.auth-card-v273 .state.error {
  margin: 0 0 16px;
}

.auth-card-v273 .auth-social-actions {
  margin: 0 0 20px;
}

.auth-card-v273 .google-login-btn {
  width: 100%;
  min-height: 58px;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: #fff;
  color: #111827;
  font-weight: 850;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.auth-card-v273 .google-login-btn:hover {
  border-color: rgba(203, 213, 225, 0.95);
  background: #fff;
  transform: translateY(-1px);
}

.auth-card-v273 .google-login-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.auth-card-v273 .auth-divider {
  margin: 0 0 20px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
  text-transform: none;
}

.auth-card-v273 .auth-divider::before,
.auth-card-v273 .auth-divider::after {
  background: linear-gradient(90deg, transparent, rgba(226, 232, 240, 0.95));
}

.auth-card-v273 .auth-divider::after {
  background: linear-gradient(90deg, rgba(226, 232, 240, 0.95), transparent);
}

.auth-card-v273 .auth-form {
  display: grid;
  gap: 15px;
}

.auth-card-v273 .auth-field {
  display: grid;
  gap: 10px;
  color: #111827;
  font-size: 14px;
  font-weight: 800;
}

.auth-card-v273 .auth-input-shell {
  min-height: 58px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border: 1px solid rgba(226, 232, 240, 0.96);
  border-radius: 18px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.auth-card-v273 .auth-input-shell:focus-within {
  border-color: rgba(229, 9, 20, 0.56);
  box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.08);
}

.auth-card-v273 .auth-input-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e50914;
}

.auth-card-v273 .auth-input-icon .ui-icon {
  width: 20px;
  height: 20px;
}

.auth-card-v273 input:not([type="checkbox"]) {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #111827;
  font-size: 15px;
  font-weight: 650;
}

.auth-card-v273 input::placeholder {
  color: #8b95a7;
}

.auth-password-toggle {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #8b95a7;
  cursor: pointer;
}

.auth-password-toggle:hover,
.auth-password-toggle.is-visible {
  color: #111827;
  background: rgba(15, 23, 42, 0.05);
}

.auth-password-toggle .ui-icon {
  width: 19px;
  height: 19px;
}

.auth-card-v273 .auth-submit {
  min-height: 58px;
  margin-top: 2px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  border-radius: 18px;
  padding: 0 22px;
  background: linear-gradient(135deg, #f5333f, #e50914 58%, #c90812);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 18px 34px rgba(229, 9, 20, 0.28);
}

.auth-card-v273 .auth-submit .ui-icon {
  width: 22px;
  height: 22px;
}

.auth-card-v273 .auth-forgot {
  margin: 18px 0 0;
  text-align: center;
  font-weight: 850;
}

.auth-card-v273 .auth-forgot a,
.auth-card-v273 .auth-switch strong,
.auth-card-v273 .auth-legal-link,
.auth-card-v273 .auth-legal-consent a {
  color: #e50914;
}

.auth-card-v273 .auth-switch {
  min-height: 58px;
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  border-radius: 18px;
  background: rgba(255, 241, 242, 0.96);
  color: #111827;
  font-weight: 800;
  text-decoration: none;
}

.auth-card-v273 .auth-switch .ui-icon {
  width: 21px;
  height: 21px;
  color: #e50914;
}

.auth-card-v273 .auth-legal-consent {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 10px;
  margin-top: 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 241, 242, 0.7);
  color: #5b6473;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 650;
}

.auth-card-v273 .auth-legal-consent input {
  margin-top: 3px;
}

.auth-card-v273 .auth-legal-link {
  justify-self: center;
  border: 0;
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}

html[data-theme='dark'] .auth-page-v273 {
  background:
    linear-gradient(180deg, rgba(24, 8, 12, 0.68), rgba(9, 13, 22, 0.96) 58%, #090d16 100%),
    #090d16;
}

html[data-theme='dark'] .auth-page-v273::before {
  background:
    linear-gradient(90deg, rgba(9, 13, 22, 0.8), rgba(9, 13, 22, 0) 15%, rgba(9, 13, 22, 0) 85%, rgba(9, 13, 22, 0.8)),
    linear-gradient(180deg, rgba(9, 13, 22, 0) 0 54%, rgba(9, 13, 22, 0.88) 82%, #090d16 100%);
}

html[data-theme='dark'] .auth-card-v273 {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(15, 23, 42, 0.9);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.36);
}

html[data-theme='dark'] .auth-card-v273 h1,
html[data-theme='dark'] .auth-card-v273 .auth-field,
html[data-theme='dark'] .auth-card-v273 .auth-divider,
html[data-theme='dark'] .auth-card-v273 .auth-switch {
  color: #f8fafc;
}

html[data-theme='dark'] .auth-card-v273 .auth-card-heading p {
  color: #aab6c6;
}

html[data-theme='dark'] .auth-card-v273 .google-login-btn,
html[data-theme='dark'] .auth-card-v273 .auth-input-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.96);
}

html[data-theme='dark'] .auth-card-v273 .auth-switch,
html[data-theme='dark'] .auth-card-v273 .auth-legal-consent {
  background: rgba(229, 9, 20, 0.14);
}

@media (max-width: 980px) {
  .auth-page-v273 {
    min-height: calc(100vh - 108px);
    padding-top: clamp(210px, 56vw, 330px);
  }

  .auth-page-v273 .auth-hero {
    width: 100%;
    height: clamp(260px, 64vw, 430px);
    background-size: cover;
  }
}

@media (max-width: 640px) {
  .auth-page-v273 {
    padding: clamp(170px, 58vw, 260px) 16px 34px;
  }

  .auth-card-v273 {
    width: 100%;
    padding: 26px 20px 22px;
    border-radius: 20px;
  }

  .auth-card-v273 h1 {
    font-size: 32px;
  }

  .auth-card-v273 .auth-card-heading p {
    font-size: 13px;
  }

  .auth-card-v273 .google-login-btn,
  .auth-card-v273 .auth-input-shell,
  .auth-card-v273 .auth-submit,
  .auth-card-v273 .auth-switch {
    min-height: 54px;
    border-radius: 16px;
  }

  .auth-card-v273 .auth-switch {
    grid-template-columns: 1fr auto;
  }

  .auth-card-v273 .auth-switch span {
    display: none;
  }
}

/* AleoFly v274: auth pages must fit narrow mobile without legacy bottom navigation. */
body:has(.auth-page-v273) {
  overflow-x: hidden;
}

body:has(.auth-page-v273) main.app {
  padding-bottom: 0 !important;
  overflow-x: hidden;
}

body:has(.auth-page-v273) #mobile-bottom-nav {
  display: none !important;
}

.auth-page-v273,
.auth-page-v273 * {
  box-sizing: border-box;
}

.auth-card-v273 {
  max-width: min(470px, calc(100vw - 32px));
}

@media (max-width: 640px) {
  .auth-page-v273 {
    width: 100%;
    padding-right: 14px;
    padding-left: 14px;
  }

  .auth-card-v273 {
    width: 100%;
    max-width: 100%;
  }
}

/* AleoFly v275: final auth viewport lock, independent of older auth/card rules. */
body:has(.auth-page-v273) {
  width: 100%;
  max-width: 100vw;
  overflow-x: clip;
}

.auth-page-v273 {
  width: 100% !important;
  max-width: 100vw !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  overflow-x: hidden !important;
}

.auth-card-v273 {
  width: min(470px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 28px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.auth-card-v273 .google-login-btn,
.auth-card-v273 .auth-input-shell,
.auth-card-v273 .auth-submit,
.auth-card-v273 .auth-switch {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch;
}

@media (max-width: 640px) {
  .auth-card-v273 {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

/* AleoFly v276: desktop auth should feel compact; keep the approved mobile sizing intact. */
@media (min-width: 981px) {
  .auth-page-v273 {
    min-height: 640px !important;
    padding-top: clamp(185px, 13vw, 230px) !important;
    padding-bottom: 34px !important;
  }

  .auth-page-v273::before {
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, 0) 82%, rgba(255, 255, 255, 0.96)),
      linear-gradient(180deg, rgba(255, 255, 255, 0) 0 50%, rgba(255, 255, 255, 0.94) 82%, #fff 100%);
  }

  .auth-page-v273 .auth-hero {
    width: min(960px, 64vw) !important;
    height: min(480px, 32vw) !important;
    background-size: contain !important;
    background-position: top center !important;
  }

  .auth-card-v273 {
    width: 360px !important;
    max-width: 360px !important;
    padding: 22px 28px 20px !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 42px rgba(229, 9, 20, 0.10), 0 6px 18px rgba(15, 23, 42, 0.05) !important;
  }

  .auth-card-v273 .auth-card-heading {
    margin-bottom: 16px !important;
  }

  .auth-card-v273 h1 {
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  .auth-card-v273 .auth-card-heading p {
    margin-top: 7px !important;
    font-size: 12px !important;
  }

  .auth-card-v273 .auth-social-actions {
    margin-bottom: 16px !important;
  }

  .auth-card-v273 .google-login-btn,
  .auth-card-v273 .auth-input-shell,
  .auth-card-v273 .auth-submit,
  .auth-card-v273 .auth-switch {
    min-height: 42px !important;
    border-radius: 12px !important;
  }

  .auth-card-v273 .google-login-btn {
    font-size: 13px !important;
  }

  .auth-card-v273 .google-login-mark {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }

  .auth-card-v273 .auth-divider {
    margin-bottom: 12px !important;
    font-size: 12px !important;
  }

  .auth-card-v273 .auth-form {
    gap: 10px !important;
  }

  .auth-card-v273 .auth-field {
    gap: 8px !important;
    font-size: 13px !important;
  }

  .auth-card-v273 .auth-input-shell {
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    gap: 9px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .auth-card-v273 .auth-input-icon {
    width: 22px !important;
    height: 22px !important;
  }

  .auth-card-v273 .auth-input-icon .ui-icon {
    width: 16px !important;
    height: 16px !important;
  }

  .auth-card-v273 input:not([type="checkbox"]) {
    font-size: 13px !important;
  }

  .auth-card-v273 .auth-submit {
    margin-top: 0 !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
    font-size: 13px !important;
    box-shadow: 0 12px 24px rgba(229, 9, 20, 0.22) !important;
  }

  .auth-card-v273 .auth-submit .ui-icon {
    width: 18px !important;
    height: 18px !important;
  }

  .auth-card-v273 .auth-forgot {
    margin-top: 12px !important;
    font-size: 12px !important;
  }

  .auth-card-v273 .auth-switch {
    margin-top: 16px !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    font-size: 12px !important;
  }

  .auth-card-v273 .auth-switch .ui-icon {
    width: 18px !important;
    height: 18px !important;
  }

  .auth-card-v273 .auth-legal-consent {
    padding: 10px 12px !important;
    border-radius: 14px !important;
    font-size: 11px !important;
  }
}

/* AleoFly v278: hard desktop downsizing after feedback; mobile rules above remain untouched. */
@media (min-width: 981px) {
  .auth-page-v273 {
    min-height: 560px !important;
    padding-top: clamp(148px, 10vw, 178px) !important;
    padding-bottom: 22px !important;
  }

  .auth-page-v273 .auth-hero {
    width: min(760px, 52vw) !important;
    height: min(380px, 26vw) !important;
    background-size: contain !important;
    background-position: top center !important;
  }

  .auth-card-v273 {
    width: 300px !important;
    max-width: 300px !important;
    padding: 16px 20px 16px !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(229, 9, 20, 0.09), 0 5px 14px rgba(15, 23, 42, 0.045) !important;
  }

  .auth-card-v273 .auth-card-heading {
    margin-bottom: 12px !important;
  }

  .auth-card-v273 h1 {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  .auth-card-v273 .auth-card-heading p {
    margin-top: 5px !important;
    font-size: 10.5px !important;
  }

  .auth-card-v273 .auth-social-actions {
    margin-bottom: 10px !important;
  }

  .auth-card-v273 .google-login-btn,
  .auth-card-v273 .auth-input-shell,
  .auth-card-v273 .auth-submit,
  .auth-card-v273 .auth-switch {
    min-height: 34px !important;
    border-radius: 10px !important;
  }

  .auth-card-v273 .google-login-btn {
    gap: 8px !important;
    font-size: 11.5px !important;
  }

  .auth-card-v273 .google-login-mark {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  .auth-card-v273 .auth-divider {
    margin-bottom: 9px !important;
    gap: 10px !important;
    font-size: 11px !important;
  }

  .auth-card-v273 .auth-form {
    gap: 8px !important;
  }

  .auth-card-v273 .auth-field {
    gap: 6px !important;
    font-size: 11.5px !important;
  }

  .auth-card-v273 .auth-input-shell {
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .auth-card-v273 .auth-input-icon {
    width: 18px !important;
    height: 18px !important;
  }

  .auth-card-v273 .auth-input-icon .ui-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .auth-card-v273 input:not([type="checkbox"]) {
    font-size: 11.5px !important;
  }

  .auth-password-toggle {
    width: 26px !important;
    height: 26px !important;
  }

  .auth-password-toggle .ui-icon {
    width: 15px !important;
    height: 15px !important;
  }

  .auth-card-v273 .auth-submit {
    padding-right: 14px !important;
    padding-left: 14px !important;
    font-size: 11.5px !important;
    box-shadow: 0 10px 20px rgba(229, 9, 20, 0.20) !important;
  }

  .auth-card-v273 .auth-submit .ui-icon {
    width: 16px !important;
    height: 16px !important;
  }

  .auth-card-v273 .auth-forgot {
    margin-top: 9px !important;
    font-size: 11px !important;
  }

  .auth-card-v273 .auth-switch {
    margin-top: 12px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
    font-size: 11px !important;
  }

  .auth-card-v273 .auth-switch .ui-icon {
    width: 15px !important;
    height: 15px !important;
  }

  .auth-card-v273 .auth-legal-consent {
    padding: 8px 10px !important;
    border-radius: 10px !important;
    font-size: 10px !important;
  }
}

/* AleoFly v279: lift desktop hero and feather artwork edges into the page. */
@media (min-width: 981px) {
  .auth-page-v273::before {
    background:
      linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.98) 8%, rgba(255, 255, 255, 0.38) 19%, rgba(255, 255, 255, 0) 33%, rgba(255, 255, 255, 0) 67%, rgba(255, 255, 255, 0.38) 81%, rgba(255, 255, 255, 0.98) 92%, #fff 100%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 14%, rgba(255, 255, 255, 0) 57%, rgba(255, 255, 255, 0.82) 77%, #fff 100%) !important;
  }

  .auth-page-v273 .auth-hero {
    top: -34px !important;
    -webkit-mask-image: radial-gradient(ellipse 70% 62% at 50% 52%, #000 0 58%, rgba(0, 0, 0, 0.72) 74%, transparent 100%);
    mask-image: radial-gradient(ellipse 70% 62% at 50% 52%, #000 0 58%, rgba(0, 0, 0, 0.72) 74%, transparent 100%);
    filter: drop-shadow(0 18px 46px rgba(229, 9, 20, 0.08));
  }
}

/* AleoFly v280: remove the visible white rectangle from the desktop hero artwork. */
@media (min-width: 981px) {
  body:has(.auth-page-v273),
  body:has(.auth-page-v273) main.app,
  .auth-page-v273 {
    background: #fff !important;
  }

  .auth-page-v273::before {
    background:
      linear-gradient(90deg, #fff 0%, #fff 10%, rgba(255, 255, 255, 0.72) 20%, rgba(255, 255, 255, 0) 36%, rgba(255, 255, 255, 0) 64%, rgba(255, 255, 255, 0.72) 80%, #fff 90%, #fff 100%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, 0) 55%, rgba(255, 255, 255, 0.84) 78%, #fff 100%) !important;
  }

  .auth-page-v273 .auth-hero {
    filter: none !important;
    mix-blend-mode: multiply;
    opacity: 0.96 !important;
    -webkit-mask-image: radial-gradient(ellipse 74% 66% at 50% 52%, #000 0 52%, rgba(0, 0, 0, 0.52) 72%, transparent 100%) !important;
    mask-image: radial-gradient(ellipse 74% 66% at 50% 52%, #000 0 52%, rgba(0, 0, 0, 0.52) 72%, transparent 100%) !important;
  }
}

/* AleoFly v281: final RTL one-country mobile layout lock after all legacy layers. */
@media (max-width: 760px) {
  [dir='rtl'] .one-country-popular .one-country-card-grid {
    grid-auto-columns: minmax(0, calc((100% - 10px) / 2)) !important;
    gap: 10px !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
    overscroll-behavior-x: contain !important;
  }

  [dir='rtl'] .one-country-popular .one-country-plan-card {
    min-width: 0 !important;
    direction: rtl !important;
    text-align: right !important;
  }

  [dir='rtl'] .one-country-popular .one-country-plan-title,
  [dir='rtl'] .one-country-all-plans .one-country-plan-title {
    justify-content: flex-start !important;
  }

  [dir='rtl'] .one-country-all-head > span {
    margin-right: 0 !important;
    margin-left: auto !important;
  }

  [dir='rtl'] .one-country-filter-bar label span {
    padding-right: 2px !important;
    padding-left: 0 !important;
  }

  [dir='rtl'] .one-country-filter-bar select {
    padding-right: 10px !important;
    padding-left: 24px !important;
  }

  [dir='rtl'] .one-country-sort select {
    padding-right: 0 !important;
    padding-left: 20px !important;
  }
}

/* AleoFly v282: RTL one-country popular cards must not keep the LTR carousel geometry after language switches. */
@media (max-width: 760px) {
  [dir='rtl'] .one-country-page,
  [dir='rtl'] .one-country-results-group,
  [dir='rtl'] .one-country-popular {
    overflow-x: hidden !important;
  }

  [dir='rtl'] .one-country-popular .one-country-card-grid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-columns: unset !important;
    gap: 10px !important;
    overflow-x: hidden !important;
    padding: 1px 0 8px !important;
    scroll-snap-type: none !important;
  }

  [dir='rtl'] .one-country-popular .one-country-plan-card {
    width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: none !important;
  }
}

/* AleoFly v283: route-independent header theme control for direct refreshes. */
body .site-header .header-theme-toggle,
body .site-header .header-actions > button[data-toggle-theme-quick].header-theme-toggle {
  order: 4 !important;
  position: relative !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  line-height: 1 !important;
  isolation: isolate !important;
}

body .site-header .header-theme-toggle::before,
body .site-header .header-theme-toggle::after,
body .site-header .header-actions > button[data-toggle-theme-quick].header-theme-toggle::before,
body .site-header .header-actions > button[data-toggle-theme-quick].header-theme-toggle::after {
  content: none !important;
  display: none !important;
}

body .site-header .header-theme-toggle .header-theme-mobile-svg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

body .site-header .header-theme-toggle .header-theme-icon {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: #071126 !important;
  box-shadow: inset -6px -2px 0 rgba(255, 255, 255, 0.96) !important;
  transform: none !important;
}

html[data-theme='dark'] body .site-header .header-theme-toggle .header-theme-icon,
body .site-header .header-theme-toggle.is-dark .header-theme-icon,
body .site-header .header-theme-toggle[data-theme-state='dark'] .header-theme-icon {
  background: #ffd166 !important;
  box-shadow: 0 0 0 4px rgba(255, 209, 102, 0.14), 0 0 18px rgba(255, 209, 102, 0.25) !important;
}

@media (max-width: 760px) {
  body .site-header .header-theme-toggle,
  body .site-header .header-actions > button[data-toggle-theme-quick].header-theme-toggle {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex-basis: 34px !important;
  }

  body .site-header .header-theme-toggle .header-theme-icon {
    width: 14px !important;
    height: 14px !important;
    box-shadow: inset -5px -1px 0 rgba(255, 255, 255, 0.96) !important;
  }
}

/* AleoFly v284: customer language stays English until the visitor chooses. */
.language-choice-popover {
  position: fixed;
  right: 18px;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 1300;
  width: min(340px, calc(100vw - 28px));
  max-width: 340px;
  pointer-events: none;
}

.language-choice-card {
  pointer-events: auto;
  border: 1px solid rgba(229, 9, 20, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 40px rgba(7, 17, 38, 0.16);
  color: #071126;
  padding: 12px;
}

.language-choice-card strong {
  display: block;
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.25;
}

.language-choice-card p {
  margin: 6px 0 10px;
  color: #647084;
  font-size: 12.5px;
  line-height: 1.35;
}

.language-choice-eyebrow {
  color: #e50914;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.language-choice-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.language-choice-actions button {
  min-width: 0;
  min-height: 36px;
  border: 1px solid rgba(100, 112, 132, 0.24);
  border-radius: 8px;
  background: #fff;
  color: #071126;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
}

.language-choice-actions .language-choice-primary {
  border-color: #e50914;
  background: #e50914;
  color: #fff;
  box-shadow: 0 8px 18px rgba(229, 9, 20, 0.22);
}

html[data-theme='dark'] .language-choice-card {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(11, 18, 32, 0.98);
  color: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
}

html[data-theme='dark'] .language-choice-card p {
  color: #aeb8c8;
}

html[data-theme='dark'] .language-choice-actions button {
  border-color: rgba(255, 255, 255, 0.16);
  background: #111a2c;
  color: #fff;
}

html[data-theme='dark'] .language-choice-actions .language-choice-primary {
  border-color: #e50914;
  background: #e50914;
}

@media (max-width: 560px) {
  .language-choice-popover {
    right: 14px;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 28px);
    max-width: none;
  }

  .language-choice-card {
    padding: 11px;
  }
}

/* AleoFly v286: Google Play account deletion web resource. */
.delete-account-page-v286 {
  --delete-panel: #ffffff;
  --delete-panel-soft: #fff1f2;
  --delete-text: #0f172a;
  --delete-muted: #667085;
  --delete-line: rgba(229, 9, 20, 0.16);
  --delete-shadow: 0 24px 70px rgba(15, 23, 42, 0.10);
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 76px;
  color: var(--delete-text);
}

.delete-account-hero-v286 {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr);
  gap: 28px;
  align-items: stretch;
  min-height: 420px;
  padding: 34px;
  border: 1px solid var(--delete-line);
  border-radius: 28px;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.96), rgba(255, 244, 245, 0.92)),
    radial-gradient(circle at 88% 18%, rgba(229, 9, 20, 0.12), transparent 34%);
  box-shadow: var(--delete-shadow);
  overflow: hidden;
}

.delete-account-hero-copy-v286 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}

.delete-account-page-v286 .eyebrow {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(229, 9, 20, 0.08);
  color: #d90416;
  font-weight: 900;
}

.delete-account-page-v286 h1,
.delete-account-page-v286 h2,
.delete-account-page-v286 h3,
.delete-account-page-v286 p {
  margin: 0;
  letter-spacing: 0;
}

.delete-account-page-v286 h1 {
  max-width: 680px;
  font-size: 54px;
  line-height: 1.02;
  font-weight: 950;
}

.delete-account-page-v286 h2 {
  font-size: 26px;
  line-height: 1.16;
  font-weight: 920;
}

.delete-account-hero-copy-v286 > p {
  max-width: 690px;
  color: var(--delete-muted);
  font-size: 18px;
  line-height: 1.65;
}

.delete-account-actions-v286,
.delete-account-final-actions-v286 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.delete-account-page-v286 .btn,
.delete-account-page-v286 .btn-ghost {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 16px;
  white-space: normal;
  text-align: center;
}

.delete-account-page-v286 .btn .ui-icon,
.delete-account-page-v286 .btn-ghost .ui-icon,
.delete-account-page-v286 .eyebrow .ui-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.delete-account-email-v286 {
  color: var(--delete-muted);
  font-size: 14px;
}

.delete-account-email-v286 a,
.delete-account-card-v286 a,
.delete-account-faq-v286 a {
  color: #d90416;
  font-weight: 850;
}

.delete-account-page-v286 button.btn:disabled,
.delete-account-page-v286 button.btn-ghost:disabled {
  cursor: default;
  opacity: 0.72;
}

.delete-account-live-status-v286 {
  display: grid;
  gap: 6px;
  margin-top: 4px;
  padding: 13px 15px;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.86);
  color: var(--delete-text);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.delete-account-live-status-v286[hidden] {
  display: none;
}

.delete-account-live-status-v286 b {
  font-weight: 900;
}

.delete-account-live-status-v286 span {
  color: var(--delete-muted);
  line-height: 1.55;
}

.delete-account-live-status-v286[data-kind='pending'] {
  border-color: rgba(229, 9, 20, 0.22);
  background: #fff1f2;
}

.delete-account-live-status-v286[data-kind='ok'] {
  border-color: rgba(21, 184, 102, 0.25);
  background: #ecfdf3;
}

.delete-account-live-status-v286[data-kind='error'] {
  border-color: rgba(229, 9, 20, 0.28);
  background: #fff1f2;
}

.delete-account-guest-form-v286 {
  display: grid;
  gap: 12px;
  margin-top: 8px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(229, 9, 20, 0.13);
  background: var(--delete-panel-soft);
}

.delete-account-guest-form-v286 > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.delete-account-guest-form-v286 label {
  display: grid;
  gap: 7px;
  color: var(--delete-text);
  font-size: 13px;
  font-weight: 850;
}

.delete-account-guest-form-v286 input,
.delete-account-guest-form-v286 textarea {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 14px;
  background: #ffffff;
  color: var(--delete-text);
  font: inherit;
  padding: 12px 13px;
  outline: none;
}

.delete-account-guest-form-v286 textarea {
  resize: vertical;
}

.delete-account-guest-form-v286 p,
.delete-account-payment-note-v286,
.delete-account-retention-note-v286 {
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--delete-panel-soft);
  color: var(--delete-muted);
}

.delete-account-status-v286 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 24px;
  border-radius: 24px;
  background: #101827;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.10);
}

.delete-account-status-v286 strong {
  font-size: 22px;
}

.delete-account-status-v286 ul,
.delete-account-checks-v286,
.delete-account-steps-v286 ol {
  margin: 0;
  padding: 0;
}

.delete-account-status-v286 li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 6px 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  list-style: none;
}

.delete-account-status-v286 li:first-child {
  border-top: 0;
}

.delete-account-status-v286 li > span {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(229, 9, 20, 0.18);
  color: #ff4451;
}

.delete-account-status-v286 small {
  color: rgba(255, 255, 255, 0.70);
  line-height: 1.45;
}

.delete-account-layout-v286 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.delete-account-card-v286,
.delete-account-faq-v286,
.delete-account-final-cta-v286 {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  background: var(--delete-panel);
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.07);
}

.delete-account-card-v286 {
  position: relative;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.delete-account-card-icon-v286 {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(229, 9, 20, 0.09);
  color: #e50914;
}

.delete-account-card-icon-v286 .ui-icon {
  width: 22px;
  height: 22px;
}

.delete-account-card-v286 p,
.delete-account-card-v286 li,
.delete-account-faq-v286 p {
  color: var(--delete-muted);
  line-height: 1.72;
}

.delete-account-steps-v286 ol {
  display: grid;
  gap: 12px;
  padding-left: 22px;
}

.delete-account-checks-v286 {
  display: grid;
  gap: 10px;
}

.delete-account-checks-v286 li {
  position: relative;
  padding-left: 26px;
  list-style: none;
}

.delete-account-checks-v286 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #15b866;
  box-shadow: 0 0 0 5px rgba(21, 184, 102, 0.12);
}

.delete-account-pending-v286 {
  background: linear-gradient(135deg, #ffffff, var(--delete-panel-soft));
  border-color: rgba(229, 9, 20, 0.20);
}

.delete-account-data-grid-v286 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.delete-account-data-grid-v286 span {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  color: #344054;
  font-weight: 780;
  line-height: 1.35;
}

.delete-account-retention-v286 {
  grid-column: 1 / -1;
}

.delete-account-faq-v286 {
  margin-top: 24px;
  padding: 28px;
}

.delete-account-faq-v286 .faq {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.delete-account-faq-v286 details {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}

.delete-account-faq-v286 summary {
  cursor: pointer;
  padding: 18px 20px;
  font-weight: 900;
  color: var(--delete-text);
}

.delete-account-faq-v286 details p {
  padding: 0 20px 18px;
}

.delete-account-final-cta-v286 {
  margin-top: 24px;
  padding: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(135deg, #111827, #1f2937);
  color: #ffffff;
}

.delete-account-final-cta-v286 p {
  color: rgba(255, 255, 255, 0.72);
  margin-top: 6px;
}

.delete-account-final-cta-v286 .btn-ghost {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme='dark'] .delete-account-page-v286 {
  --delete-panel: #111827;
  --delete-panel-soft: #17111a;
  --delete-text: #f8fafc;
  --delete-muted: #b8c1d1;
  --delete-line: rgba(255, 68, 81, 0.24);
  --delete-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

html[data-theme='dark'] .delete-account-hero-v286 {
  background:
    linear-gradient(115deg, rgba(15, 23, 42, 0.96), rgba(31, 15, 22, 0.92)),
    radial-gradient(circle at 88% 18%, rgba(229, 9, 20, 0.18), transparent 34%);
}

html[data-theme='dark'] .delete-account-card-v286,
html[data-theme='dark'] .delete-account-faq-v286,
html[data-theme='dark'] .delete-account-faq-v286 details {
  border-color: rgba(255, 255, 255, 0.10);
  background: var(--delete-panel);
}

html[data-theme='dark'] .delete-account-data-grid-v286 span {
  background: rgba(255, 255, 255, 0.06);
  color: #e5e7eb;
}

html[data-theme='dark'] .delete-account-live-status-v286,
html[data-theme='dark'] .delete-account-guest-form-v286,
html[data-theme='dark'] .delete-account-payment-note-v286,
html[data-theme='dark'] .delete-account-retention-note-v286 {
  border-color: rgba(255, 68, 81, 0.18);
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme='dark'] .delete-account-guest-form-v286 input,
html[data-theme='dark'] .delete-account-guest-form-v286 textarea {
  border-color: rgba(255, 255, 255, 0.12);
  background: #070b14;
  color: #f8fafc;
}

html[data-theme='dark'] .delete-account-status-v286,
html[data-theme='dark'] .delete-account-final-cta-v286 {
  background: #070b14;
}

@media (max-width: 920px) {
  .delete-account-page-v286 {
    width: min(100% - 22px, 720px);
    padding-top: 24px;
  }

  .delete-account-hero-v286,
  .delete-account-layout-v286 {
    grid-template-columns: 1fr;
  }

  .delete-account-hero-v286 {
    min-height: 0;
    padding: 24px;
    border-radius: 24px;
  }

  .delete-account-page-v286 h1 {
    font-size: 42px;
  }

  .delete-account-final-cta-v286 {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .delete-account-page-v286 {
    width: min(100% - 16px, 520px);
    padding-bottom: 46px;
  }

  .delete-account-hero-v286,
  .delete-account-card-v286,
  .delete-account-faq-v286,
  .delete-account-final-cta-v286 {
    padding: 20px;
    border-radius: 20px;
  }

  .delete-account-page-v286 h1 {
    font-size: 34px;
  }

  .delete-account-page-v286 h2 {
    font-size: 22px;
  }

  .delete-account-hero-copy-v286 > p {
    font-size: 16px;
  }

  .delete-account-data-grid-v286 {
    grid-template-columns: 1fr;
  }

  .delete-account-guest-form-v286 > div {
    grid-template-columns: 1fr;
  }

  .delete-account-actions-v286 .btn,
  .delete-account-actions-v286 .btn-ghost,
  .delete-account-final-actions-v286 .btn,
  .delete-account-final-actions-v286 .btn-ghost {
    width: 100%;
  }
}

/* AleoFly v288: SSR-safe dark-mode lock for one-country plans and product details. */
html[data-theme='dark'] body:has(.one-country-page),
body.theme-dark:has(.one-country-page),
html[data-theme='dark'] body:has(.product-detail-page),
body.theme-dark:has(.product-detail-page),
html[data-theme='dark'] main.app:has(.one-country-page),
body.theme-dark main.app:has(.one-country-page),
html[data-theme='dark'] main.app:has(.product-detail-page),
body.theme-dark main.app:has(.product-detail-page) {
  --bg: #070b13;
  --surface: #111827;
  --surface-soft: #172033;
  --text: #f7f9fd;
  --muted: #aeb9c9;
  --border: rgba(255, 255, 255, 0.14);
  background:
    radial-gradient(circle at 14% 0%, rgba(229, 9, 20, 0.16), transparent 32%),
    radial-gradient(circle at 86% 14%, rgba(59, 130, 246, 0.12), transparent 30%),
    linear-gradient(180deg, #090d16 0%, #070b13 48%, #050810 100%) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] body #site-header.site-header > .brand.brand-image-lockup,
body.theme-dark #site-header.site-header > .brand.brand-image-lockup,
html[data-theme='dark'] body.aleo-header-scrolled #site-header.site-header > .brand.brand-image-lockup,
body.theme-dark.aleo-header-scrolled #site-header.site-header > .brand.brand-image-lockup {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme='dark'] body #site-header.site-header .brand-image-lockup .brand-logo-image,
body.theme-dark #site-header.site-header .brand-image-lockup .brand-logo-image {
  background: transparent !important;
  mix-blend-mode: normal !important;
  filter:
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.48))
    drop-shadow(0 12px 24px rgba(0, 0, 0, 0.42)) !important;
}

html[data-theme='dark'] main.app .one-country-page,
body.theme-dark main.app .one-country-page {
  --country-line: rgba(255, 255, 255, 0.14);
  --country-muted: #aeb9c9;
  color: var(--text) !important;
  background: transparent !important;
}

html[data-theme='dark'] main.app .one-country-hero.app-country-head,
body.theme-dark main.app .one-country-hero.app-country-head {
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .one-country-art-photo,
body.theme-dark main.app .one-country-art-photo {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background-image:
    linear-gradient(90deg, rgba(8, 12, 20, 0.98) 0%, rgba(8, 12, 20, 0.64) 32%, rgba(8, 12, 20, 0.38) 60%, rgba(8, 12, 20, 0.92) 100%),
    linear-gradient(180deg, rgba(8, 12, 20, 0.12) 0%, rgba(8, 12, 20, 0.82) 100%),
    var(--country-hero-image) !important;
}

html[data-theme='dark'] main.app .one-country-plans-shell,
body.theme-dark main.app .one-country-plans-shell,
html[data-theme='dark'] main.app .one-country-plan-card,
body.theme-dark main.app .one-country-plan-card,
html[data-theme='dark'] main.app .one-country-sidebar,
body.theme-dark main.app .one-country-sidebar,
html[data-theme='dark'] main.app .one-country-filter-bar label,
body.theme-dark main.app .one-country-filter-bar label,
html[data-theme='dark'] main.app .one-country-grid-options,
body.theme-dark main.app .one-country-grid-options,
html[data-theme='dark'] main.app .one-country-view-toggle,
body.theme-dark main.app .one-country-view-toggle,
html[data-theme='dark'] main.app .one-country-table-panel,
body.theme-dark main.app .one-country-table-panel,
html[data-theme='dark'] main.app .one-country-back,
body.theme-dark main.app .one-country-back {
  border-color: var(--border) !important;
  background:
    linear-gradient(180deg, rgba(23, 29, 42, 0.96), rgba(14, 19, 30, 0.99)) !important;
  color: var(--text) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.30) !important;
}

html[data-theme='dark'] main.app .one-country-filter-bar select,
body.theme-dark main.app .one-country-filter-bar select,
html[data-theme='dark'] main.app .one-country-sort select,
body.theme-dark main.app .one-country-sort select {
  border-color: var(--border) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .one-country-page :is(h1, h2, h3, strong, b, .one-country-title h1, .one-country-plan-title strong),
body.theme-dark main.app .one-country-page :is(h1, h2, h3, strong, b, .one-country-title h1, .one-country-plan-title strong) {
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .one-country-page :is(p, small, label, .one-country-title p, .one-country-benefits, .one-country-plan-card > small, .one-country-price-row small, .one-country-filter-group label, .one-country-filter-group small),
body.theme-dark main.app .one-country-page :is(p, small, label, .one-country-title p, .one-country-benefits, .one-country-plan-card > small, .one-country-price-row small, .one-country-filter-group label, .one-country-filter-group small) {
  color: var(--muted) !important;
}

html[data-theme='dark'] main.app .one-country-price-row strong,
body.theme-dark main.app .one-country-price-row strong,
html[data-theme='dark'] main.app .one-country-clear,
body.theme-dark main.app .one-country-clear,
html[data-theme='dark'] main.app .one-country-sidebar-head button,
body.theme-dark main.app .one-country-sidebar-head button {
  color: #ff5a69 !important;
}

html[data-theme='dark'] main.app .one-country-page .ui-icon,
body.theme-dark main.app .one-country-page .ui-icon {
  stroke: currentColor !important;
  color: inherit !important;
}

html[data-theme='dark'] main.app .one-country-benefits span[data-benefit-icon='delivery'] .ui-icon,
body.theme-dark main.app .one-country-benefits span[data-benefit-icon='delivery'] .ui-icon,
html[data-theme='dark'] main.app .one-country-popular h3 .ui-icon,
body.theme-dark main.app .one-country-popular h3 .ui-icon {
  color: #fbbf24 !important;
}

html[data-theme='dark'] main.app .one-country-benefits span[data-benefit-icon='network'] .ui-icon,
body.theme-dark main.app .one-country-benefits span[data-benefit-icon='network'] .ui-icon {
  color: #93c5fd !important;
}

html[data-theme='dark'] main.app .one-country-benefits span[data-benefit-icon='shield'] .ui-icon,
body.theme-dark main.app .one-country-benefits span[data-benefit-icon='shield'] .ui-icon,
html[data-theme='dark'] main.app .plan-tabs button.active,
body.theme-dark main.app .plan-tabs button.active {
  color: #ff5a69 !important;
}

html[data-theme='dark'] main.app .plan-tabs button,
body.theme-dark main.app .plan-tabs button,
html[data-theme='dark'] main.app .one-country-view-toggle button,
body.theme-dark main.app .one-country-view-toggle button {
  color: var(--muted) !important;
}

html[data-theme='dark'] main.app .plan-tabs b,
body.theme-dark main.app .plan-tabs b,
html[data-theme='dark'] main.app .one-country-all-head > span,
body.theme-dark main.app .one-country-all-head > span {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
}

html[data-theme='dark'] main.app .one-country-view-toggle button.active,
body.theme-dark main.app .one-country-view-toggle button.active {
  border-color: rgba(255, 80, 96, 0.28) !important;
  background: rgba(229, 9, 20, 0.18) !important;
  color: #fff !important;
}

html[data-theme='dark'] main.app .country-highlight-tags span,
body.theme-dark main.app .country-highlight-tags span,
html[data-theme='dark'] main.app .one-country-discount,
body.theme-dark main.app .one-country-discount {
  background: rgba(229, 9, 20, 0.16) !important;
  color: #ff7a88 !important;
}

html[data-theme='dark'] main.app .one-country-fav,
body.theme-dark main.app .one-country-fav,
html[data-theme='dark'] main.app .one-country-network-icons .network-icon,
body.theme-dark main.app .one-country-network-icons .network-icon,
html[data-theme='dark'] main.app .one-country-network-icons .network-icon-more,
body.theme-dark main.app .one-country-network-icons .network-icon-more {
  border-color: var(--border) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .one-country-plan-table,
body.theme-dark main.app .one-country-plan-table,
html[data-theme='dark'] main.app .one-country-plan-table td,
body.theme-dark main.app .one-country-plan-table td {
  border-color: var(--border) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .one-country-page input[type='radio'],
body.theme-dark main.app .one-country-page input[type='radio'],
html[data-theme='dark'] main.app .one-country-page input[type='checkbox'],
body.theme-dark main.app .one-country-page input[type='checkbox'] {
  accent-color: #ff3347 !important;
}

html[data-theme='dark'] main.app .product-detail-page,
body.theme-dark main.app .product-detail-page {
  color: var(--text) !important;
  background: transparent !important;
}

html[data-theme='dark'] main.app .product-summary-card,
body.theme-dark main.app .product-summary-card,
html[data-theme='dark'] main.app .product-how-card,
body.theme-dark main.app .product-how-card,
html[data-theme='dark'] main.app .product-trust-grid,
body.theme-dark main.app .product-trust-grid,
html[data-theme='dark'] main.app .product-reviews-card,
body.theme-dark main.app .product-reviews-card,
html[data-theme='dark'] main.app .covered-countries-card,
body.theme-dark main.app .covered-countries-card {
  border-color: var(--border) !important;
  background:
    linear-gradient(180deg, rgba(23, 29, 42, 0.97), rgba(13, 18, 29, 0.99)) !important;
  color: var(--text) !important;
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.36) !important;
}

html[data-theme='dark'] main.app .product-detail-page :is(h1, h2, h3, strong, b, .product-summary-card h1, .product-stat-strip b, .reviews-summary strong),
body.theme-dark main.app .product-detail-page :is(h1, h2, h3, strong, b, .product-summary-card h1, .product-stat-strip b, .reviews-summary strong) {
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .product-detail-page :is(p, small, li, .product-subtitle, .product-secure-note, .product-stat-strip small, .product-price-coverage small, .product-how-card p, .product-how-card small, .product-trust-grid small, .reviews-summary li, .reviews-summary small, .product-breadcrumb),
body.theme-dark main.app .product-detail-page :is(p, small, li, .product-subtitle, .product-secure-note, .product-stat-strip small, .product-price-coverage small, .product-how-card p, .product-how-card small, .product-trust-grid small, .reviews-summary li, .reviews-summary small, .product-breadcrumb) {
  color: var(--muted) !important;
}

html[data-theme='dark'] main.app .product-breadcrumb a,
body.theme-dark main.app .product-breadcrumb a,
html[data-theme='dark'] main.app .product-breadcrumb b,
body.theme-dark main.app .product-breadcrumb b,
html[data-theme='dark'] main.app .product-price-coverage strong,
body.theme-dark main.app .product-price-coverage strong {
  color: #ff5a69 !important;
}

html[data-theme='dark'] main.app .wishlist-btn,
body.theme-dark main.app .wishlist-btn,
html[data-theme='dark'] main.app .coverage-expand,
body.theme-dark main.app .coverage-expand,
html[data-theme='dark'] main.app .product-detail-page .btn-ghost,
body.theme-dark main.app .product-detail-page .btn-ghost {
  border-color: var(--border) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] main.app .product-stat-strip,
body.theme-dark main.app .product-stat-strip {
  border-color: rgba(255, 80, 96, 0.18) !important;
  background: linear-gradient(90deg, rgba(229, 9, 20, 0.16), rgba(255, 255, 255, 0.055)) !important;
}

html[data-theme='dark'] main.app .product-stat-strip span,
body.theme-dark main.app .product-stat-strip span,
html[data-theme='dark'] main.app .product-detail-tags,
body.theme-dark main.app .product-detail-tags,
html[data-theme='dark'] main.app .product-price-coverage,
body.theme-dark main.app .product-price-coverage,
html[data-theme='dark'] main.app .product-trust-grid span,
body.theme-dark main.app .product-trust-grid span,
html[data-theme='dark'] main.app .reviews-summary > div,
body.theme-dark main.app .reviews-summary > div {
  border-color: var(--border) !important;
}

html[data-theme='dark'] main.app .product-stat-strip .ui-icon,
body.theme-dark main.app .product-stat-strip .ui-icon,
html[data-theme='dark'] main.app .product-trust-grid .ui-icon,
body.theme-dark main.app .product-trust-grid .ui-icon,
html[data-theme='dark'] main.app .product-how-card .ui-icon,
body.theme-dark main.app .product-how-card .ui-icon {
  background: rgba(229, 9, 20, 0.18) !important;
  color: #ff6b7a !important;
}

html[data-theme='dark'] main.app .product-detail-tags span,
body.theme-dark main.app .product-detail-tags span,
html[data-theme='dark'] main.app .product-coverage-chip,
body.theme-dark main.app .product-coverage-chip {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] main.app .product-summary-card .plan-mode,
body.theme-dark main.app .product-summary-card .plan-mode {
  background: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme='dark'] main.app .product-summary-card .plan-mode span,
body.theme-dark main.app .product-summary-card .plan-mode span {
  color: var(--muted) !important;
}

html[data-theme='dark'] main.app .product-summary-card .plan-mode span.active,
body.theme-dark main.app .product-summary-card .plan-mode span.active {
  background: #101827 !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme='dark'] main.app .reviews-summary li b,
body.theme-dark main.app .reviews-summary li b {
  background: rgba(255, 255, 255, 0.10) !important;
}

/* AleoFly v289: device-dark leak lock for mobile home, country search, and filters. */
html[data-theme='dark'],
html[data-theme='dark'] body,
body.theme-dark {
  color-scheme: dark;
  background: #070b13 !important;
}

html[data-theme='dark'] body:has(.aleo-home-v59),
body.theme-dark:has(.aleo-home-v59),
html[data-theme='dark'] main.app:has(.aleo-home-v59),
body.theme-dark main.app:has(.aleo-home-v59) {
  --home-line: rgba(255, 255, 255, 0.12);
  --home-muted: #aeb9c9;
  --text: #f7f9fd;
  --muted: #aeb9c9;
  --surface: #111827;
  --border: rgba(255, 255, 255, 0.14);
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.16), transparent 32%),
    linear-gradient(180deg, #090d16 0%, #070b13 58%, #050810 100%) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] body:has(.aleo-home-v59) .site-header,
body.theme-dark:has(.aleo-home-v59) .site-header {
  border-color: rgba(255, 80, 96, 0.22) !important;
  background: linear-gradient(100deg, rgba(55, 10, 24, 0.92), rgba(10, 17, 31, 0.96)) !important;
  box-shadow: 0 16px 46px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme='dark'] body:has(.aleo-home-v59) .site-header::after,
body.theme-dark:has(.aleo-home-v59) .site-header::after,
html[data-theme='dark'] body:has(.aleo-home-v59) .header-actions > a,
body.theme-dark:has(.aleo-home-v59) .header-actions > a {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] body:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup,
body.theme-dark:has(.aleo-home-v59) .site-header > .brand.brand-image-lockup {
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme='dark'] .aleo-home-desktop-ref .aleo-home-hero,
body.theme-dark .aleo-home-desktop-ref .aleo-home-hero {
  border-color: rgba(255, 80, 96, 0.18) !important;
  background:
    linear-gradient(100deg, rgba(9, 13, 22, 0.98) 0%, rgba(14, 20, 33, 0.96) 52%, rgba(52, 17, 29, 0.82) 100%),
    var(--hero-bg, none) !important;
  color: #f7f9fd !important;
  box-shadow: 0 26px 72px rgba(0, 0, 0, 0.38) !important;
}

html[data-theme='dark'] .aleo-home-desktop-ref .hero-copy h1,
html[data-theme='dark'] .aleo-home-desktop-ref .row-head h2,
html[data-theme='dark'] .home-mobile-faq h2,
body.theme-dark .aleo-home-desktop-ref .hero-copy h1,
body.theme-dark .aleo-home-desktop-ref .row-head h2,
body.theme-dark .home-mobile-faq h2 {
  color: #f7f9fd !important;
}

html[data-theme='dark'] .aleo-home-desktop-ref .hero-sub,
body.theme-dark .aleo-home-desktop-ref .hero-sub {
  color: #c7d0de !important;
}

html[data-theme='dark'] :where(
  .home-trip-selector,
  .home-trip-card,
  .home-plan-card,
  .popular-country-card,
  .aleo-home-desktop-ref .aleo-feature-strip div,
  .aleo-home-desktop-ref .aleo-benefit-bar div,
  .home-testimonial-card,
  .home-mobile-assurance,
  .home-mobile-faq details,
  .home-mobile-ready,
  .home-assurance-strip,
  .footer-trust-strip
),
body.theme-dark :where(
  .home-trip-selector,
  .home-trip-card,
  .home-plan-card,
  .popular-country-card,
  .aleo-home-desktop-ref .aleo-feature-strip div,
  .aleo-home-desktop-ref .aleo-benefit-bar div,
  .home-testimonial-card,
  .home-mobile-assurance,
  .home-mobile-faq details,
  .home-mobile-ready,
  .home-assurance-strip,
  .footer-trust-strip
) {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: linear-gradient(180deg, rgba(23, 29, 42, 0.96), rgba(13, 18, 29, 0.99)) !important;
  color: #f7f9fd !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.30) !important;
}

html[data-theme='dark'] :where(
  .home-trip-selector,
  .home-trip-card,
  .home-plan-card,
  .popular-country-card,
  .aleo-home-desktop-ref .aleo-feature-strip div,
  .aleo-home-desktop-ref .aleo-benefit-bar div,
  .home-testimonial-card,
  .home-mobile-assurance,
  .home-mobile-faq,
  .home-mobile-ready,
  .home-assurance-strip,
  .footer-trust-strip
) :where(h1, h2, h3, strong, b, summary),
body.theme-dark :where(
  .home-trip-selector,
  .home-trip-card,
  .home-plan-card,
  .popular-country-card,
  .aleo-home-desktop-ref .aleo-feature-strip div,
  .aleo-home-desktop-ref .aleo-benefit-bar div,
  .home-testimonial-card,
  .home-mobile-assurance,
  .home-mobile-faq,
  .home-mobile-ready,
  .home-assurance-strip,
  .footer-trust-strip
) :where(h1, h2, h3, strong, b, summary) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(
  .home-trip-selector,
  .home-trip-card,
  .home-plan-card,
  .popular-country-card,
  .aleo-home-desktop-ref .aleo-feature-strip div,
  .aleo-home-desktop-ref .aleo-benefit-bar div,
  .home-testimonial-card,
  .home-mobile-assurance,
  .home-mobile-faq,
  .home-mobile-ready,
  .home-assurance-strip,
  .footer-trust-strip
) :where(p, small, span, em, dt, dd),
body.theme-dark :where(
  .home-trip-selector,
  .home-trip-card,
  .home-plan-card,
  .popular-country-card,
  .aleo-home-desktop-ref .aleo-feature-strip div,
  .aleo-home-desktop-ref .aleo-benefit-bar div,
  .home-testimonial-card,
  .home-mobile-assurance,
  .home-mobile-faq,
  .home-mobile-ready,
  .home-assurance-strip,
  .footer-trust-strip
) :where(p, small, span, em, dt, dd) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .home-mobile-payments,
html[data-theme='dark'] .home-mobile-safe span,
body.theme-dark .home-mobile-payments,
body.theme-dark .home-mobile-safe span {
  border-color: rgba(255, 255, 255, 0.10) !important;
}

html[data-theme='dark'] .home-mobile-safe .ui-icon,
body.theme-dark .home-mobile-safe .ui-icon {
  color: #91a4bd !important;
}

html[data-theme='dark'] .home-mobile-ready,
body.theme-dark .home-mobile-ready {
  background:
    radial-gradient(circle at 88% 52%, rgba(229, 9, 20, 0.24), transparent 36%),
    linear-gradient(90deg, rgba(23, 29, 42, 0.98), rgba(54, 17, 30, 0.86)) !important;
}

html[data-theme='dark'] :where(.country-search-popover, .country-result-list, .home-country-search-popover, .search-choice-country-index, .flow-search-card),
body.theme-dark :where(.country-search-popover, .country-result-list, .home-country-search-popover, .search-choice-country-index, .flow-search-card) {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: linear-gradient(180deg, rgba(20, 26, 38, 0.98), rgba(11, 16, 26, 0.99)) !important;
  color: #f7f9fd !important;
  box-shadow: 0 24px 68px rgba(0, 0, 0, 0.48) !important;
}

html[data-theme='dark'] :where(.country-result-row, .country-suggestion-row, .flow-country-row),
body.theme-dark :where(.country-result-row, .country-suggestion-row, .flow-country-row) {
  border-color: rgba(255, 255, 255, 0.10) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.country-result-row, .country-suggestion-row, .flow-country-row):hover,
body.theme-dark :where(.country-result-row, .country-suggestion-row, .flow-country-row):hover {
  background: rgba(229, 9, 20, 0.14) !important;
}

html[data-theme='dark'] :where(.country-result-row, .country-suggestion-row, .flow-country-row) :where(strong, b),
body.theme-dark :where(.country-result-row, .country-suggestion-row, .flow-country-row) :where(strong, b) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.country-result-row, .country-suggestion-row, .flow-country-row) :where(small, span),
body.theme-dark :where(.country-result-row, .country-suggestion-row, .flow-country-row) :where(small, span) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] :where(
  .multi-filter-select,
  .one-country-filter-bar label,
  .one-country-sort,
  .global-sort-v258,
  .global-tool-pill-v258,
  .global-view-toggle-v258
),
body.theme-dark :where(
  .multi-filter-select,
  .one-country-filter-bar label,
  .one-country-sort,
  .global-sort-v258,
  .global-tool-pill-v258,
  .global-view-toggle-v258
) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(select, select option, select optgroup),
body.theme-dark :where(select, select option, select optgroup) {
  background-color: #111827 !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(select option:checked, select option:hover),
body.theme-dark :where(select option:checked, select option:hover) {
  background-color: #1f6feb !important;
  color: #ffffff !important;
}

html[data-theme='dark'] :where(select option:disabled),
body.theme-dark :where(select option:disabled) {
  color: #6b778c !important;
}

/* AleoFly v290: final dark leak lock for account dashboard and legal pages. */
html[data-theme='dark'] body:has(.account-dashboard-v174),
html[data-theme='dark'] body:has(.legal-page),
body.theme-dark:has(.account-dashboard-v174),
body.theme-dark:has(.legal-page) {
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.14), transparent 28%),
    radial-gradient(circle at 86% 14%, rgba(37, 99, 235, 0.10), transparent 30%),
    linear-gradient(180deg, #080c14 0%, #060a12 100%) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] main.app:has(.account-dashboard-v174),
html[data-theme='dark'] main.app:has(.legal-page),
body.theme-dark main.app:has(.account-dashboard-v174),
body.theme-dark main.app:has(.legal-page) {
  background:
    radial-gradient(circle at 14% 0%, rgba(229, 9, 20, 0.13), transparent 30%),
    radial-gradient(circle at 84% 12%, rgba(37, 99, 235, 0.11), transparent 34%),
    linear-gradient(180deg, #0b101a 0%, #070b13 56%, #050810 100%) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174, .legal-page),
body.theme-dark :where(.account-dashboard-v174, .legal-page) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(
  .account-dashboard-v174 .account-side-panel,
  .account-dashboard-v174 .account-main-panel,
  .account-dashboard-v174 .account-dashboard-head,
  .account-dashboard-v174 .account-main-panel > section,
  .account-dashboard-v174 .account-main-panel > article,
  .account-dashboard-v174 .account-dashboard-lower > article,
  .account-dashboard-v174 .account-active-esim,
  .account-dashboard-v174 .account-recent-orders,
  .account-dashboard-v174 .account-rewards-box,
  .account-dashboard-v174 .account-recent-orders li,
  .account-dashboard-v174 .account-rewards-box > a,
  .account-dashboard-v174 .account-help-box,
  .account-dashboard-v174 .account-premium-card,
  .account-dashboard-v174 .account-mobile-wallet-card,
  .account-dashboard-v174 .account-mobile-active-card,
  .account-dashboard-v174 .account-safe-strip,
  .account-dashboard-v174 .account-safe-strip span,
  .legal-hero,
  .legal-nav,
  .legal-document,
  .legal-index-card
),
body.theme-dark :where(
  .account-dashboard-v174 .account-side-panel,
  .account-dashboard-v174 .account-main-panel,
  .account-dashboard-v174 .account-dashboard-head,
  .account-dashboard-v174 .account-main-panel > section,
  .account-dashboard-v174 .account-main-panel > article,
  .account-dashboard-v174 .account-dashboard-lower > article,
  .account-dashboard-v174 .account-active-esim,
  .account-dashboard-v174 .account-recent-orders,
  .account-dashboard-v174 .account-rewards-box,
  .account-dashboard-v174 .account-recent-orders li,
  .account-dashboard-v174 .account-rewards-box > a,
  .account-dashboard-v174 .account-help-box,
  .account-dashboard-v174 .account-premium-card,
  .account-dashboard-v174 .account-mobile-wallet-card,
  .account-dashboard-v174 .account-mobile-active-card,
  .account-dashboard-v174 .account-safe-strip,
  .account-dashboard-v174 .account-safe-strip span,
  .legal-hero,
  .legal-nav,
  .legal-document,
  .legal-index-card
) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background:
    linear-gradient(180deg, rgba(23, 29, 42, 0.97), rgba(13, 18, 29, 0.99)) !important;
  color: #f7f9fd !important;
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme='dark'] :where(
  .account-dashboard-v174 h1,
  .account-dashboard-v174 h2,
  .account-dashboard-v174 h3,
  .account-dashboard-v174 strong,
  .account-dashboard-v174 b,
  .account-dashboard-v174 dt,
  .account-dashboard-v174 dd,
  .legal-page h1,
  .legal-page h2,
  .legal-page h3,
  .legal-page strong,
  .legal-page b
),
body.theme-dark :where(
  .account-dashboard-v174 h1,
  .account-dashboard-v174 h2,
  .account-dashboard-v174 h3,
  .account-dashboard-v174 strong,
  .account-dashboard-v174 b,
  .account-dashboard-v174 dt,
  .account-dashboard-v174 dd,
  .legal-page h1,
  .legal-page h2,
  .legal-page h3,
  .legal-page strong,
  .legal-page b
) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(
  .account-dashboard-v174 p,
  .account-dashboard-v174 small,
  .account-dashboard-v174 em,
  .account-dashboard-v174 li,
  .account-dashboard-v174 .account-side-group > span,
  .legal-page p,
  .legal-page li,
  .legal-page small,
  .legal-page .legal-section p,
  .legal-page .legal-section li
),
body.theme-dark :where(
  .account-dashboard-v174 p,
  .account-dashboard-v174 small,
  .account-dashboard-v174 em,
  .account-dashboard-v174 li,
  .account-dashboard-v174 .account-side-group > span,
  .legal-page p,
  .legal-page li,
  .legal-page small,
  .legal-page .legal-section p,
  .legal-page .legal-section li
) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174 .account-side-group a, .legal-nav a),
body.theme-dark :where(.account-dashboard-v174 .account-side-group a, .legal-nav a) {
  color: #d8e1ee !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174 .account-side-group a.active, .account-dashboard-v174 .account-side-group a:hover, .legal-nav a.active, .legal-nav a:hover),
body.theme-dark :where(.account-dashboard-v174 .account-side-group a.active, .account-dashboard-v174 .account-side-group a:hover, .legal-nav a.active, .legal-nav a:hover) {
  background: rgba(229, 9, 20, 0.18) !important;
  color: #ff6b79 !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174 .account-menu-ico, .account-dashboard-v174 .account-rewards-box > a > span, .account-dashboard-v174 .account-help-box > span),
body.theme-dark :where(.account-dashboard-v174 .account-menu-ico, .account-dashboard-v174 .account-rewards-box > a > span, .account-dashboard-v174 .account-help-box > span) {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ff6b79 !important;
}

html[data-theme='dark'] .account-dashboard-v174 .account-usage-ring,
body.theme-dark .account-dashboard-v174 .account-usage-ring {
  background:
    radial-gradient(circle at center, #111827 58%, transparent 59%),
    conic-gradient(#22c55e var(--account-used), rgba(255, 255, 255, 0.14) 0) !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174 .account-active-esim dl div, .legal-section),
body.theme-dark :where(.account-dashboard-v174 .account-active-esim dl div, .legal-section) {
  border-color: rgba(255, 255, 255, 0.10) !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174 .account-dashboard-lower header span, .legal-meta span, .legal-index-card span),
body.theme-dark :where(.account-dashboard-v174 .account-dashboard-lower header span, .legal-meta span, .legal-index-card span) {
  border-color: rgba(255, 80, 96, 0.22) !important;
  background: rgba(229, 9, 20, 0.16) !important;
  color: #ff7b88 !important;
}

html[data-theme='dark'] .account-dashboard-v174 .account-dashboard-lower header span,
body.theme-dark .account-dashboard-v174 .account-dashboard-lower header span {
  border-color: rgba(34, 197, 94, 0.22) !important;
  background: rgba(34, 197, 94, 0.15) !important;
  color: #86efac !important;
}

html[data-theme='dark'] :where(.account-dashboard-v174 .account-premium-card b, .legal-document-alert),
body.theme-dark :where(.account-dashboard-v174 .account-premium-card b, .legal-document-alert) {
  border-color: rgba(255, 80, 96, 0.24) !important;
  background: rgba(229, 9, 20, 0.12) !important;
  color: #f7f9fd !important;
}

/* AleoFly v291: real backend account dashboard, no demo values, stable usage ring. */
.account-empty-esim-badge {
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  background: linear-gradient(145deg, #f8fafc, #e8eef7) !important;
  color: #64748b !important;
}

.account-empty-esim-badge .ui-icon {
  width: 18px !important;
  height: 18px !important;
}

.account-dashboard-lower header span.is-empty,
.account-mobile-active-card header span.is-empty {
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
}

.account-dashboard-lower header span.is-active,
.account-mobile-active-card header span.is-active {
  border: 1px solid rgba(34, 197, 94, 0.22) !important;
}

.account-usage-ring {
  grid-template-rows: auto auto !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 5px !important;
  line-height: 1 !important;
}

.account-usage-ring b,
.account-usage-ring small {
  grid-column: 1 !important;
  grid-row: auto !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.account-usage-ring b {
  font-size: 22px !important;
  line-height: 1 !important;
}

.account-usage-ring small {
  font-size: 11px !important;
  line-height: 1.15 !important;
}

html[data-theme='dark'] .account-empty-esim-badge,
body.theme-dark .account-empty-esim-badge {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #aeb9c9 !important;
}

html[data-theme='dark'] :where(.account-dashboard-lower header span.is-empty, .account-mobile-active-card header span.is-empty),
body.theme-dark :where(.account-dashboard-lower header span.is-empty, .account-mobile-active-card header span.is-empty) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #aeb9c9 !important;
}

/* AleoFly v293: dashboard-native wallet, cashback, referral and fixed back controls. */
.account-shell-actions-v292 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.account-back-link-v292 {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border: 1px solid #e3e9f2 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

.account-back-link-v292 .ui-icon {
  width: 17px !important;
  height: 17px !important;
  transform: rotate(180deg) !important;
}

[dir='rtl'] .account-back-link-v292 .ui-icon {
  transform: none !important;
}

.account-wallet-page-v292,
.account-cashback-page-v292,
.account-referral-page-v292 {
  display: grid !important;
  gap: 16px !important;
}

.account-wallet-balance-v292,
.account-referral-card-v292,
.account-topup-panel-v292,
.account-rewards-hero-v292 {
  border: 1px solid #e8edf5 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #fff7f8 0%, #ffffff 56%, #f4f8ff 100%) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06) !important;
}

.account-wallet-balance-v292 {
  min-height: 166px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 22px !important;
}

.account-wallet-balance-v292 > div,
.account-referral-card-v292 > div {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
}

.account-wallet-balance-v292 span,
.account-topup-balance-v292 span,
.account-rewards-hero-v292 span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.account-wallet-balance-v292 strong {
  color: #071329 !important;
  font-size: 42px !important;
  line-height: 1 !important;
}

.account-wallet-balance-v292 small {
  color: #64748b !important;
  font-weight: 800 !important;
}

.account-wallet-metrics-v292,
.account-reward-tier-grid-v292 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.account-wallet-metrics-v292 > *,
.account-reward-tier-v292 {
  min-height: 132px !important;
  border: 1px solid #e8edf5 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045) !important;
}

.account-wallet-metrics-v292 > * > span:first-child,
.account-referral-card-v292 > span:first-child {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 13px !important;
  background: #fff0f2 !important;
  color: #e50914 !important;
}

.account-wallet-metrics-v292 small {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.account-wallet-metrics-v292 strong {
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.account-wallet-referral-v292,
.account-referral-link-v292 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 12px !important;
}

.account-wallet-referral-v292 h2,
.account-wallet-referral-v292 p,
.account-referral-link-v292 h2,
.account-referral-link-v292 p {
  margin: 0 !important;
}

.account-wallet-referral-v292 code,
.account-referral-card-v292 code {
  max-width: 100% !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere !important;
}

.account-wallet-transactions-v292 {
  display: grid !important;
  gap: 14px !important;
}

.account-wallet-tx-list-v292,
.account-cashback-panel-v292 ul,
.account-cashback-panel-v292 ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

.account-wallet-tx-list-v292 li,
.account-cashback-panel-v292 li {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px !important;
  border: 1px solid #e8edf5 !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}

.account-wallet-tx-list-v292 li > span,
.account-cashback-panel-v292 li > span:first-child {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: #fff0f2 !important;
  color: #e50914 !important;
  font-weight: 900 !important;
}

.account-wallet-tx-list-v292 li.is-credit > span {
  background: #ecfdf3 !important;
  color: #16a34a !important;
}

.account-wallet-tx-list-v292 li div,
.account-cashback-panel-v292 li div {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

.account-wallet-tx-list-v292 li small,
.account-cashback-panel-v292 li small,
.account-cashback-panel-v292 li p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.account-topup-panel-v292 {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 22px !important;
  align-items: stretch !important;
}

.account-topup-balance-v292 {
  display: grid !important;
  align-content: center !important;
  gap: 10px !important;
  padding: 18px !important;
  border: 1px solid #ffd7dd !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.72) !important;
}

.account-topup-balance-v292 strong {
  font-size: 34px !important;
  line-height: 1 !important;
}

.account-topup-form-v292 {
  display: grid !important;
  gap: 16px !important;
}

.account-topup-amount-v292 {
  display: grid !important;
  gap: 6px !important;
  text-align: center !important;
}

.account-topup-amount-v292 span {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.account-topup-amount-v292 input {
  width: 100% !important;
  min-height: 86px !important;
  border: 1px solid #e8edf5 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: #071329 !important;
  text-align: center !important;
  font-size: 54px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.account-amount-stepper-v292,
.account-topup-presets-v292 {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.account-amount-stepper-v292 button,
.account-topup-presets-v292 button {
  min-width: 64px !important;
  min-height: 46px !important;
  border: 1px solid #e8edf5 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.account-amount-stepper-v292 button {
  width: 52px !important;
  min-width: 52px !important;
}

.account-topup-presets-v292 button.active {
  border-color: #e50914 !important;
  background: #e50914 !important;
  color: #ffffff !important;
}

.account-topup-form-v292 .checkout-pay {
  width: 100% !important;
  min-height: 54px !important;
  justify-content: center !important;
}

.account-rewards-hero-v292 {
  padding: 24px !important;
  display: grid !important;
  gap: 12px !important;
  text-align: left !important;
}

.account-rewards-hero-v292 p,
.account-rewards-hero-v292 h1 {
  margin: 0 !important;
}

.account-rewards-hero-v292 p {
  color: #64748b !important;
  font-weight: 900 !important;
}

.account-rewards-hero-v292 h1 {
  color: #071329 !important;
  font-size: 48px !important;
  line-height: 1 !important;
}

.account-rewards-hero-v292 > div {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.account-rewards-hero-v292 > div span {
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid #e8edf5 !important;
  color: #334155 !important;
  text-transform: none !important;
}

.account-reward-tier-v292 {
  min-height: 260px !important;
  justify-items: center !important;
  text-align: center !important;
}

.account-reward-tier-v292.is-current {
  border-color: rgba(229, 9, 20, 0.36) !important;
  box-shadow: 0 18px 42px rgba(229, 9, 20, 0.10) !important;
}

.account-reward-tier-v292 > span:first-child {
  min-height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #e50914 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

.account-reward-tier-v292 strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 24px !important;
}

.account-reward-tier-v292 strong b {
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #22c55e !important;
  color: #ffffff !important;
}

.account-reward-tier-v292 small {
  color: #64748b !important;
  font-weight: 800 !important;
}

.account-cashback-info-v292,
.account-cashback-panel-v292 {
  display: grid !important;
  gap: 12px !important;
}

.account-cashback-info-v292 h2,
.account-cashback-info-v292 p,
.account-cashback-panel-v292 h2 {
  margin: 0 !important;
}

.account-cashback-info-v292 p {
  color: #64748b !important;
  font-weight: 800 !important;
}

.account-referral-card-v292 {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 22px !important;
}

.account-referral-card-v292 h2,
.account-referral-card-v292 p {
  margin: 0 !important;
}

.account-referral-card-v292 p,
.account-referral-next-v292 p {
  color: #64748b !important;
  font-weight: 800 !important;
}

.account-referral-link-v292 .code-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
}

.account-referral-link-v292 input {
  min-width: 0 !important;
  border: 1px solid #e8edf5 !important;
  border-radius: 12px !important;
  padding: 0 12px !important;
}

html[data-theme='dark'] :where(.account-back-link-v292, .account-wallet-metrics-v292 > *, .account-reward-tier-v292, .account-topup-amount-v292 input, .account-amount-stepper-v292 button, .account-topup-presets-v292 button, .account-rewards-hero-v292 > div span, .account-referral-link-v292 input),
body.theme-dark :where(.account-back-link-v292, .account-wallet-metrics-v292 > *, .account-reward-tier-v292, .account-topup-amount-v292 input, .account-amount-stepper-v292 button, .account-topup-presets-v292 button, .account-rewards-hero-v292 > div span, .account-referral-link-v292 input) {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.065) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.account-wallet-balance-v292, .account-referral-card-v292, .account-topup-panel-v292, .account-rewards-hero-v292),
body.theme-dark :where(.account-wallet-balance-v292, .account-referral-card-v292, .account-topup-panel-v292, .account-rewards-hero-v292) {
  border-color: rgba(255, 80, 96, 0.20) !important;
  background: linear-gradient(135deg, rgba(55, 10, 24, 0.92), rgba(13, 18, 29, 0.98) 58%, rgba(15, 23, 42, 0.98)) !important;
  box-shadow: none !important;
}

html[data-theme='dark'] :where(.account-wallet-balance-v292 strong, .account-topup-balance-v292 strong, .account-rewards-hero-v292 h1, .account-wallet-metrics-v292 strong, .account-reward-tier-v292 strong, .account-referral-card-v292 code),
body.theme-dark :where(.account-wallet-balance-v292 strong, .account-topup-balance-v292 strong, .account-rewards-hero-v292 h1, .account-wallet-metrics-v292 strong, .account-reward-tier-v292 strong, .account-referral-card-v292 code) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.account-wallet-tx-list-v292 li, .account-cashback-panel-v292 li, .account-topup-balance-v292, .account-wallet-referral-v292 code),
body.theme-dark :where(.account-wallet-tx-list-v292 li, .account-cashback-panel-v292 li, .account-topup-balance-v292, .account-wallet-referral-v292 code) {
  border-color: rgba(255, 255, 255, 0.10) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.account-wallet-balance-v292 span, .account-topup-balance-v292 span, .account-wallet-balance-v292 small, .account-wallet-metrics-v292 small, .account-reward-tier-v292 small, .account-rewards-hero-v292 p, .account-cashback-info-v292 p, .account-wallet-tx-list-v292 li small, .account-cashback-panel-v292 li small, .account-cashback-panel-v292 li p, .account-referral-card-v292 p, .account-referral-next-v292 p),
body.theme-dark :where(.account-wallet-balance-v292 span, .account-topup-balance-v292 span, .account-wallet-balance-v292 small, .account-wallet-metrics-v292 small, .account-reward-tier-v292 small, .account-rewards-hero-v292 p, .account-cashback-info-v292 p, .account-wallet-tx-list-v292 li small, .account-cashback-panel-v292 li small, .account-cashback-panel-v292 li p, .account-referral-card-v292 p, .account-referral-next-v292 p) {
  color: #aeb9c9 !important;
}

@media (max-width: 980px) {
  .account-wallet-metrics-v292,
  .account-reward-tier-grid-v292 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .account-topup-panel-v292 {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .account-shell-actions-v292,
  .account-settings-head-v183 > a.account-back-link-v292 {
    justify-content: stretch !important;
    width: 100% !important;
  }

  .account-shell-actions-v292 > *,
  .account-back-link-v292 {
    width: 100% !important;
  }

  .account-wallet-balance-v292,
  .account-referral-card-v292,
  .account-wallet-referral-v292,
  .account-referral-link-v292 .code-row {
    grid-template-columns: 1fr !important;
  }

  .account-wallet-balance-v292 {
    display: grid !important;
  }

  .account-wallet-metrics-v292,
  .account-reward-tier-grid-v292 {
    grid-template-columns: 1fr !important;
  }

  .account-topup-amount-v292 input {
    min-height: 74px !important;
    font-size: 42px !important;
  }

  .account-rewards-hero-v292 h1 {
    font-size: 38px !important;
  }
}

.back-link,
.global-category-back-v258 {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #334155 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.back-link .ui-icon,
.global-category-back-v258 .ui-icon {
  width: 19px !important;
  height: 19px !important;
  transform: rotate(180deg) !important;
}

[dir='rtl'] .back-link .ui-icon,
[dir='rtl'] .global-category-back-v258 .ui-icon {
  transform: none !important;
}

html[data-theme='dark'] :where(.back-link, .global-category-back-v258),
body.theme-dark :where(.back-link, .global-category-back-v258) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f7f9fd !important;
  box-shadow: none !important;
}

/* AleoFly v294: mobile account menu dark leak lock. */
@media (max-width: 760px) {
  html[data-theme='dark'],
  html[data-theme='dark'] body:has(.account-dashboard-v174),
  body.theme-dark:has(.account-dashboard-v174) {
    background-color: #050810 !important;
    overflow-x: hidden !important;
  }

  html[data-theme='dark'] main.app:has(.account-dashboard-v174),
  body.theme-dark main.app:has(.account-dashboard-v174),
  html[data-theme='dark'] .account-dashboard-v174,
  body.theme-dark .account-dashboard-v174 {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.14), transparent 28%),
      linear-gradient(180deg, #070b13 0%, #050810 100%) !important;
  }

  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu {
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    background: linear-gradient(180deg, rgba(20, 26, 38, 0.99), rgba(11, 16, 26, 0.99)) !important;
    color: #f7f9fd !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.34) !important;
  }

  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu a,
  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu button,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu a,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu button {
    border-color: rgba(255, 255, 255, 0.10) !important;
    background: transparent !important;
    color: #f7f9fd !important;
  }

  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu a b,
  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu button b,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu a b,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu button b {
    color: #aeb9c9 !important;
    opacity: 1 !important;
  }

  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu button,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu button {
    color: #ff6b79 !important;
  }

  html[data-theme='dark'] .account-dashboard-v174 .account-mobile-menu .account-menu-ico,
  body.theme-dark .account-dashboard-v174 .account-mobile-menu .account-menu-ico {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ff6b79 !important;
  }
}

/* AleoFly v295: comprehensive dark leak lock for plan pickers and modals. */
html[data-theme='dark'] body:has(:where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page)),
body.theme-dark:has(:where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page)) {
  background-color: #050810 !important;
  color: #f7f9fd !important;
  overflow-x: hidden !important;
}

html[data-theme='dark'] main.app:has(:where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page)),
body.theme-dark main.app:has(:where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page)) {
  background:
    radial-gradient(circle at 10% 0%, rgba(229, 9, 20, 0.16), transparent 28%),
    radial-gradient(circle at 84% 8%, rgba(37, 99, 235, 0.12), transparent 30%),
    linear-gradient(180deg, #090d16 0%, #060a12 58%, #050810 100%) !important;
  color: #f7f9fd !important;
  overflow-x: hidden !important;
}

html[data-theme='dark'] :where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page),
body.theme-dark :where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page) {
  color: #f7f9fd !important;
  --multi-line: rgba(255, 255, 255, 0.13) !important;
  --multi-muted: #aeb9c9 !important;
}

html[data-theme='dark'] :where(
  .multi-trip-panel,
  .multi-filter-bar,
  .multi-result-summary,
  .multi-results-shell,
  .multi-search-prompt,
  .multi-featured-plans,
  .multi-destination-picker,
  .multi-country-page .flow-country-popover,
  .multi-country-page .country-search-popover,
  .multi-country-page .country-result-list,
  .multi-area-dialog,
  .multi-area-head,
  .multi-area-footer,
  .multi-area-nav,
  .multi-area-sections,
  .multi-area-card,
  .one-country-filter-drawer,
  .one-country-filter-panel,
  .one-country-plan-card,
  .one-country-results-panel,
  .global-tool-pill-v258,
  .global-sort-v258,
  .global-view-toggle-v258
),
body.theme-dark :where(
  .multi-trip-panel,
  .multi-filter-bar,
  .multi-result-summary,
  .multi-results-shell,
  .multi-search-prompt,
  .multi-featured-plans,
  .multi-destination-picker,
  .multi-country-page .flow-country-popover,
  .multi-country-page .country-search-popover,
  .multi-country-page .country-result-list,
  .multi-area-dialog,
  .multi-area-head,
  .multi-area-footer,
  .multi-area-nav,
  .multi-area-sections,
  .multi-area-card,
  .one-country-filter-drawer,
  .one-country-filter-panel,
  .one-country-plan-card,
  .one-country-results-panel,
  .global-tool-pill-v258,
  .global-sort-v258,
  .global-view-toggle-v258
) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: linear-gradient(180deg, rgba(18, 24, 36, 0.98), rgba(10, 15, 25, 0.99)) !important;
  color: #f7f9fd !important;
  box-shadow: none !important;
}

html[data-theme='dark'] :where(.multi-area-backdrop),
body.theme-dark :where(.multi-area-backdrop) {
  background: rgba(2, 6, 14, 0.66) !important;
  backdrop-filter: blur(8px) !important;
}

html[data-theme='dark'] :where(.multi-area-search, .flow-search-card, .multi-destination-search, .multi-filter-select, .multi-more-filters, .multi-area-open, .selected-destination-empty, .multi-add-destination, .multi-country-page .selected-destination-chip),
body.theme-dark :where(.multi-area-search, .flow-search-card, .multi-destination-search, .multi-filter-select, .multi-more-filters, .multi-area-open, .selected-destination-empty, .multi-add-destination, .multi-country-page .selected-destination-chip) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.065) !important;
  color: #f7f9fd !important;
  box-shadow: none !important;
}

html[data-theme='dark'] :where(.multi-area-search input, .multi-destination-search input, .flow-search-card input),
body.theme-dark :where(.multi-area-search input, .multi-destination-search input, .flow-search-card input) {
  background: transparent !important;
  color: #f7f9fd !important;
  caret-color: #ff4d5e !important;
}

html[data-theme='dark'] :where(.multi-area-search input::placeholder, .multi-destination-search input::placeholder, .flow-search-card input::placeholder),
body.theme-dark :where(.multi-area-search input::placeholder, .multi-destination-search input::placeholder, .flow-search-card input::placeholder) {
  color: #91a4bd !important;
  opacity: 1 !important;
}

html[data-theme='dark'] :where(.country-search-section-label, .multi-area-section-head, .multi-area-nav button, .multi-filter-note),
body.theme-dark :where(.country-search-section-label, .multi-area-section-head, .multi-area-nav button, .multi-filter-note) {
  color: #aeb9c9 !important;
  background: transparent !important;
}

html[data-theme='dark'] :where(.multi-panel-title strong, .multi-result-title h2, .multi-search-prompt h2, .multi-results-head h2, .multi-area-title strong, .multi-area-section-head h3, .multi-area-card strong, .multi-filter-select em, .multi-filter-select > b, .multi-filter-select > span, .multi-more-filters, .selected-destination-empty, .multi-add-destination, .multi-country-page .selected-destination-chip, .country-result-row strong, .country-suggestion-row strong, .flow-country-row strong),
body.theme-dark :where(.multi-panel-title strong, .multi-result-title h2, .multi-search-prompt h2, .multi-results-head h2, .multi-area-title strong, .multi-area-section-head h3, .multi-area-card strong, .multi-filter-select em, .multi-filter-select > b, .multi-filter-select > span, .multi-more-filters, .selected-destination-empty, .multi-add-destination, .multi-country-page .selected-destination-chip, .country-result-row strong, .country-suggestion-row strong, .flow-country-row strong) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.multi-area-title small, .multi-area-footer span, .multi-area-section-head small, .multi-area-card small, .multi-result-title p, .multi-search-prompt p, .country-result-row small, .country-suggestion-row small, .flow-country-row small),
body.theme-dark :where(.multi-area-title small, .multi-area-footer span, .multi-area-section-head small, .multi-area-card small, .multi-result-title p, .multi-search-prompt p, .country-result-row small, .country-suggestion-row small, .flow-country-row small) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] :where(.multi-area-title > span, .multi-area-close),
body.theme-dark :where(.multi-area-title > span, .multi-area-close) {
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.075) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] :where(.multi-area-nav button.active),
body.theme-dark :where(.multi-area-nav button.active) {
  background: rgba(229, 9, 20, 0.16) !important;
  color: #ff7a86 !important;
}

html[data-theme='dark'] :where(.multi-area-card:hover, .multi-country-page .country-result-row:hover, .multi-country-page .country-suggestion-row:hover, .multi-country-page .flow-country-row:hover),
body.theme-dark :where(.multi-area-card:hover, .multi-country-page .country-result-row:hover, .multi-country-page .country-suggestion-row:hover, .multi-country-page .flow-country-row:hover) {
  border-color: rgba(255, 94, 108, 0.42) !important;
  background: rgba(229, 9, 20, 0.14) !important;
}

html[data-theme='dark'] :where(.multi-area-footer .btn, .flow-find-best),
body.theme-dark :where(.multi-area-footer .btn, .flow-find-best) {
  background: #ed0712 !important;
  color: #ffffff !important;
  box-shadow: 0 18px 42px rgba(229, 9, 20, 0.24) !important;
}

html[data-theme='dark'] :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover),
body.theme-dark :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover) {
  scrollbar-color: rgba(255, 255, 255, 0.34) rgba(255, 255, 255, 0.06) !important;
}

html[data-theme='dark'] :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover)::-webkit-scrollbar,
body.theme-dark :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover)::-webkit-scrollbar {
  width: 10px !important;
  height: 10px !important;
}

html[data-theme='dark'] :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover)::-webkit-scrollbar-track,
body.theme-dark :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover)::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.055) !important;
}

html[data-theme='dark'] :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover)::-webkit-scrollbar-thumb,
body.theme-dark :where(.multi-area-sections, .country-result-list, .multi-country-page .flow-country-popover)::-webkit-scrollbar-thumb {
  border: 2px solid rgba(10, 15, 25, 0.99) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.34) !important;
}

html[data-theme='dark'] .multi-area-modal :where(a, button, input, select),
body.theme-dark .multi-area-modal :where(a, button, input, select),
html[data-theme='dark'] .multi-country-page :where(a, button, input, select),
body.theme-dark .multi-country-page :where(a, button, input, select) {
  color-scheme: dark !important;
}

@media (max-width: 760px) {
  html[data-theme='dark'] :where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page),
  body.theme-dark :where(.multi-country-page, .one-country-page, .global-category-page-v258, .aleo-flow-page) {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  html[data-theme='dark'] :where(.multi-area-modal),
  body.theme-dark :where(.multi-area-modal) {
    padding: 74px 10px 12px !important;
  }

  html[data-theme='dark'] :where(.multi-area-dialog),
  body.theme-dark :where(.multi-area-dialog) {
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 92px) !important;
  }
}

/* AleoFly v296: remove the remaining light frame from mobile destination popovers. */
html[data-theme='dark'] body main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]),
body.theme-dark main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) {
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  outline: 0 !important;
  background: #0b101a !important;
  color: #f7f9fd !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36) !important;
  overflow: hidden auto !important;
}

html[data-theme='dark'] body main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) .country-search-section-label,
body.theme-dark main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) .country-search-section-label {
  display: block !important;
  margin: -8px -8px 8px !important;
  padding: 12px 10px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  background: #0b101a !important;
  color: #aeb9c9 !important;
}

html[data-theme='dark'] body main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) .country-result-list,
body.theme-dark main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) .country-result-list {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #0b101a !important;
  box-shadow: none !important;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme='light']) body:not(.theme-light) main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) {
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    outline: 0 !important;
    background: #0b101a !important;
    color: #f7f9fd !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36) !important;
    overflow: hidden auto !important;
  }

  html:not([data-theme='light']) body:not(.theme-light) main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) .country-search-section-label,
  html:not([data-theme='light']) body:not(.theme-light) main.app .multi-country-page .multi-destination-picker > .country-search-popover.flow-country-popover:not([hidden]) .country-result-list {
    background: #0b101a !important;
  }
}

/* AleoFly v297: polished Recommended Plans carousel controls. */
.home-recommended-plans .home-plan-head-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-left: auto !important;
}

.home-recommended-plans .home-plan-carousel {
  position: relative !important;
  min-width: 0 !important;
}

.home-recommended-plans .home-plan-grid {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 1px 1px 4px !important;
}

.home-recommended-plans .home-plan-grid::-webkit-scrollbar {
  display: none !important;
}

.home-recommended-plans .home-plan-card {
  flex: 0 0 calc((100% - 54px) / 4) !important;
  max-width: calc((100% - 54px) / 4) !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

.home-recommended-plans .home-plan-top {
  justify-content: flex-start !important;
  min-height: 28px !important;
}

.home-recommended-plans .home-plan-nav {
  width: 34px !important;
  height: 34px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border: 1px solid #e4e9f2 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #101828 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
  transition: transform 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease !important;
}

.home-recommended-plans .home-plan-nav:hover,
.home-recommended-plans .home-plan-nav:focus-visible {
  border-color: var(--home-red) !important;
  color: var(--home-red) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 26px rgba(229, 9, 20, 0.14) !important;
}

.home-recommended-plans .home-plan-nav:focus-visible {
  outline: 3px solid rgba(229, 9, 20, 0.18) !important;
  outline-offset: 2px !important;
}

.home-recommended-plans .home-plan-nav:disabled {
  opacity: 0.42 !important;
  cursor: default !important;
  transform: none !important;
  box-shadow: none !important;
}

.home-recommended-plans .home-plan-nav .ui-icon {
  width: 17px !important;
  height: 17px !important;
}

.home-recommended-plans .home-plan-nav-prev .ui-icon {
  transform: rotate(180deg) !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .home-recommended-plans .home-plan-grid {
    gap: 14px !important;
  }

  .home-recommended-plans .home-plan-card {
    flex-basis: calc((100% - 42px) / 4) !important;
    max-width: calc((100% - 42px) / 4) !important;
  }
}

@media (max-width: 760px) {
  .home-recommended-plans .row-head {
    align-items: center !important;
    gap: 10px !important;
  }

  .home-recommended-plans .home-plan-head-actions {
    gap: 6px !important;
  }

  .home-recommended-plans .home-plan-nav {
    width: 32px !important;
    height: 32px !important;
  }

  .home-recommended-plans .home-plan-grid {
    gap: 10px !important;
    padding-bottom: 6px !important;
  }

  .home-recommended-plans .home-plan-card {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .home-recommended-plans .home-plan-head-actions {
    gap: 5px !important;
  }

  .home-recommended-plans .home-plan-nav {
    width: 30px !important;
    height: 30px !important;
  }
}

/* AleoFly v298: subtle living motion for home Popular Destinations. */
@keyframes aleoPopularDestinationsDrift {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  34% {
    transform: translate3d(5px, 0, 0);
  }

  68% {
    transform: translate3d(-5px, 0, 0);
  }
}

.aleo-home-v59 > .aleo-popular {
  overflow: hidden !important;
}

.aleo-home-v59 > .aleo-popular > .popular-country-strip {
  transform: translate3d(0, 0, 0);
  animation: aleoPopularDestinationsDrift 8.5s ease-in-out infinite !important;
  will-change: transform;
}

.aleo-home-v59 > .aleo-popular:hover > .popular-country-strip,
.aleo-home-v59 > .aleo-popular:focus-within > .popular-country-strip {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  .aleo-home-v59 > .aleo-popular > .popular-country-strip {
    animation: none !important;
    transform: none !important;
  }
}

/* AleoFly v299: premium lower-home storefront refresh. Scoped below the hero/type chooser. */
.aleo-home-v59 {
  --home-premium-red: #e50914;
  --home-premium-blue: #1f7aec;
  --home-premium-green: #19b86a;
  --home-premium-amber: #f5a400;
  --home-premium-ink: #071126;
  --home-premium-muted: #647187;
  --home-premium-line: #e5ebf3;
  --home-premium-soft: #f7faff;
  --home-premium-shadow: 0 18px 44px rgba(15, 23, 42, 0.075);
}

.aleo-home-v59 > .home-premium-status-strip,
.aleo-home-v59 > .aleo-popular,
.aleo-home-v59 > .home-recommended-plans,
.aleo-home-v59 > .home-premium-finder,
.aleo-home-v59 > .home-regional-plans,
.aleo-home-v59 > .home-why,
.aleo-home-v59 > .home-testimonials,
.aleo-home-v59 > .home-premium-trust-strip,
.aleo-home-v59 > .home-mobile-faq,
.aleo-home-v59 > .home-mobile-ready {
  position: relative;
  z-index: 2;
}

.aleo-home-v59 > .home-premium-status-strip,
.aleo-home-v59 > .aleo-popular,
.aleo-home-v59 > .home-recommended-plans,
.aleo-home-v59 > .home-premium-finder,
.aleo-home-v59 > .home-regional-plans,
.aleo-home-v59 > .home-why,
.aleo-home-v59 > .home-testimonials {
  margin-top: 26px !important;
}

.aleo-home-v59 .home-premium-row-head {
  margin-bottom: 14px !important;
}

.aleo-home-v59 .home-premium-row-head > span {
  display: grid;
  gap: 4px;
}

.aleo-home-v59 .home-premium-row-head h2 {
  color: var(--home-premium-ink) !important;
  font-size: 20px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
}

.aleo-home-v59 .home-premium-row-head small {
  color: var(--home-premium-muted);
  font-size: 13px;
  font-weight: 750;
}

.aleo-home-v59 .home-premium-link,
.aleo-home-v59 .see-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--home-premium-red) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.aleo-home-v59 .home-premium-link:hover,
.aleo-home-v59 .see-all:hover {
  border-color: #ffd4d9;
  background: #fff4f5;
}

.aleo-home-v59 > .home-premium-status-strip {
  min-height: 66px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(148px, 0.8fr);
  align-items: center;
  gap: 0;
  overflow: hidden;
  padding: 8px 14px;
  border: 1px solid var(--home-premium-line);
  border-radius: 8px;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, 0.96) 0 70%, rgba(238, 246, 255, 0.84) 70%),
    #fff;
  box-shadow: var(--home-premium-shadow);
}

.aleo-home-v59 > .home-premium-status-strip::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 31%;
  opacity: 0.65;
  background-image:
    radial-gradient(circle, rgba(31, 122, 236, 0.22) 0 2px, transparent 3px),
    linear-gradient(28deg, transparent 0 42%, rgba(31, 122, 236, 0.16) 43% 44%, transparent 45%),
    linear-gradient(145deg, transparent 0 54%, rgba(31, 122, 236, 0.14) 55% 56%, transparent 57%);
  background-size: 92px 44px, 180px 80px, 160px 90px;
  pointer-events: none;
}

.home-premium-status-strip > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  align-items: center;
  gap: 2px 12px;
  padding: 6px 18px;
  border-right: 1px solid var(--home-premium-line);
}

.home-premium-status-strip > div:last-child {
  border-right: 0;
}

.home-premium-status-strip span {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  color: #163e88;
}

.home-premium-status-strip .ui-icon {
  width: 25px;
  height: 25px;
  stroke-width: 1.9;
}

.home-premium-status-strip strong {
  grid-area: title;
  overflow: hidden;
  color: var(--home-premium-ink);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-premium-status-strip small {
  grid-area: sub;
  overflow: hidden;
  color: #526179;
  font-size: 11px;
  line-height: 1.15;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-premium-status-strip .home-premium-live {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  grid-template-areas: "pill title" "pill sub";
}

.home-premium-live b {
  grid-area: pill;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 28px;
  border: 1px solid #e3e9f2;
  border-radius: 8px;
  background: #fff;
}

.home-premium-live b::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--home-premium-red);
  box-shadow: 0 0 0 6px rgba(229, 9, 20, 0.09);
}

.aleo-home-v59 > .aleo-popular {
  overflow: visible !important;
}

.aleo-home-v59 > .aleo-popular > .popular-country-strip {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 2px 2px 8px;
}

.aleo-home-v59 > .aleo-popular > .popular-country-strip::-webkit-scrollbar {
  display: none;
}

.aleo-home-desktop-ref .popular-country-card,
.aleo-home-v59 .popular-country-card {
  position: relative;
  flex: 0 0 206px;
  min-height: 124px !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto;
  align-content: stretch !important;
  justify-items: stretch !important;
  gap: 12px !important;
  overflow: hidden;
  padding: 16px 16px 14px !important;
  border: 1px solid var(--home-premium-line) !important;
  border-left: 2px solid var(--home-premium-red) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 251, 255, 0.92)),
    #fff !important;
  box-shadow: var(--home-premium-shadow) !important;
  scroll-snap-align: start;
  text-align: left !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.aleo-home-v59 .popular-country-card:hover,
.aleo-home-v59 .popular-country-card:focus-visible {
  border-color: #ffcbd1 !important;
  transform: translateY(-2px);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.11) !important;
}

.popular-country-card-main,
.popular-country-networks,
.popular-country-price {
  min-width: 0;
}

.popular-country-card-main {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.aleo-home-desktop-ref .popular-country-flag,
.aleo-home-v59 .popular-country-flag {
  width: 34px !important;
  height: 34px !important;
  border-radius: 4px !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.popular-country-card-main span:not(.flag-badge) {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.aleo-home-v59 .popular-country-card strong {
  font-size: 13px !important;
  line-height: 1.15 !important;
}

.popular-country-card em {
  overflow: hidden;
  color: #526179;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.popular-country-price {
  display: grid;
  gap: 1px;
}

.aleo-home-v59 .popular-country-price small {
  color: #53637b !important;
  font-size: 10px !important;
  font-weight: 750 !important;
}

.popular-country-price b {
  color: var(--home-premium-ink);
  font-size: 20px;
  line-height: 1;
  font-weight: 950;
}

.popular-country-networks {
  display: flex;
  gap: 10px;
  color: #41516a;
  font-size: 10px;
  font-weight: 800;
}

.popular-country-networks i {
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.popular-country-spark {
  position: absolute;
  right: 13px;
  bottom: 16px;
  display: flex;
  align-items: end;
  gap: 3px;
  height: 20px;
  color: #153667;
}

.popular-country-spark::before {
  content: "";
  position: absolute;
  right: 34px;
  bottom: 4px;
  width: 46px;
  height: 18px;
  border-bottom: 2px solid #6ca8ff;
  border-radius: 60% 45% 0 0;
  transform: rotate(-7deg);
  opacity: 0.85;
}

.popular-country-spark i {
  width: 3px;
  border-radius: 999px;
  background: currentColor;
}

.popular-country-spark i:nth-child(1) { height: 7px; opacity: 0.35; }
.popular-country-spark i:nth-child(2) { height: 10px; opacity: 0.55; }
.popular-country-spark i:nth-child(3) { height: 14px; opacity: 0.75; }
.popular-country-spark i:nth-child(4) { height: 18px; opacity: 0.95; }

.home-recommended-plans .home-plan-card {
  min-height: 248px !important;
  padding: 16px !important;
  border: 1px solid var(--home-premium-line) !important;
  border-radius: 8px !important;
  background:
    radial-gradient(circle at 56% 0, rgba(229, 9, 20, 0.09), transparent 30%),
    linear-gradient(180deg, #fff, #fbfdff 100%) !important;
  box-shadow: var(--home-premium-shadow) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.home-recommended-plans .home-plan-card:hover,
.home-recommended-plans .home-plan-card:focus-within {
  border-color: #ffcbd1 !important;
  transform: translateY(-2px);
  box-shadow: 0 28px 62px rgba(229, 9, 20, 0.13) !important;
}

.home-recommended-plans .home-plan-top {
  justify-content: space-between !important;
}

.home-plan-signal {
  display: inline-flex;
  align-items: end;
  gap: 3px;
  height: 20px;
  color: #24466e;
}

.home-plan-signal i {
  width: 3px;
  border-radius: 999px;
  background: currentColor;
}

.home-plan-signal i:nth-child(1) { height: 7px; opacity: 0.45; }
.home-plan-signal i:nth-child(2) { height: 12px; opacity: 0.68; }
.home-plan-signal i:nth-child(3) { height: 17px; opacity: 0.95; }

.home-plan-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: #4d5f78;
  font-size: 11px;
  font-weight: 800;
}

.home-plan-meta-row span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.home-plan-meta-row .ui-icon {
  width: 13px;
  height: 13px;
}

.home-recommended-plans .home-plan-label.best-coverage {
  background: #eef6ff;
  color: var(--home-premium-blue);
}

.home-recommended-plans .home-plan-label.recommended {
  background: #fff4f5;
  color: var(--home-premium-red);
}

.home-recommended-plans .home-plan-label.most-popular {
  background: #edf7ff;
  color: #1466d8;
}

.home-recommended-plans .home-plan-action {
  min-height: 38px !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, #f01420, #dc0712) !important;
  box-shadow: 0 12px 22px rgba(229, 9, 20, 0.17);
}

.home-recommended-plans .home-plan-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(229, 9, 20, 0.24);
}

.aleo-home-v59 > .home-premium-finder {
  min-height: 258px;
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(210px, 0.62fr) minmax(360px, 1.7fr);
  gap: 22px;
  overflow: hidden;
  padding: 20px;
  border: 1px solid var(--home-premium-line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,251,255,0.94)),
    #fff;
  box-shadow: var(--home-premium-shadow);
}

.home-premium-finder-options,
.home-premium-match {
  position: relative;
  z-index: 2;
}

.home-premium-finder-options h2 {
  margin: 0;
  color: var(--home-premium-ink);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 950;
}

.home-premium-finder-options p {
  margin: 4px 0 12px;
  color: #596980;
  font-size: 12px;
  font-weight: 750;
}

.home-premium-finder-options a {
  min-height: 42px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid var(--home-premium-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--home-premium-ink);
}

.home-premium-finder-options a.active {
  border-color: rgba(229, 9, 20, 0.8);
  background: #fff8f8;
  box-shadow: inset 2px 0 0 var(--home-premium-red);
}

.home-premium-finder-options a > span {
  color: #254a8a;
}

.home-premium-finder-options a.active > span {
  color: var(--home-premium-red);
}

.home-premium-finder-options .ui-icon {
  width: 16px;
  height: 16px;
}

.home-premium-finder-options strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-premium-finder-options small {
  overflow: hidden;
  color: #596980;
  font-size: 10px;
  font-weight: 750;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-premium-finder-options b {
  width: 11px;
  height: 11px;
  border: 1px solid #c8d1df;
  border-radius: 50%;
}

.home-premium-finder-options a.active b {
  border-color: var(--home-premium-red);
  box-shadow: inset 0 0 0 3px #fff;
  background: var(--home-premium-red);
}

.home-premium-match {
  align-self: center;
  min-height: 188px;
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--home-premium-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.home-premium-match > small {
  color: #65758c;
  font-size: 11px;
  font-weight: 800;
}

.home-premium-match > strong {
  color: var(--home-premium-ink);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 950;
}

.home-premium-match > div,
.home-premium-match p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.home-premium-match > div span,
.home-premium-match li {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #53657d;
  font-size: 11px;
  font-weight: 800;
}

.home-premium-match .ui-icon {
  width: 13px;
  height: 13px;
}

.home-premium-match ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-premium-match li .ui-icon {
  color: var(--home-premium-green);
}

.home-premium-match p {
  margin: 0;
}

.home-premium-match p span {
  color: #697891;
  font-size: 11px;
  font-weight: 800;
}

.home-premium-match p b {
  color: var(--home-premium-ink);
  font-size: 15px;
  font-weight: 950;
}

.home-premium-match-action {
  min-height: 36px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: linear-gradient(180deg, #f01420, #dc0712);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 14px 28px rgba(229, 9, 20, 0.18);
}

.home-premium-map {
  position: relative;
  min-height: 214px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 53% 42%, rgba(31, 122, 236, 0.12), transparent 24%),
    radial-gradient(circle at 72% 58%, rgba(31, 122, 236, 0.1), transparent 18%);
}

.home-premium-map::before {
  content: "";
  position: absolute;
  inset: 20px 0 18px;
  opacity: 0.7;
  background-image:
    radial-gradient(circle, rgba(31, 122, 236, 0.22) 0 1.2px, transparent 1.8px),
    radial-gradient(circle, rgba(31, 122, 236, 0.12) 0 1px, transparent 1.6px);
  background-position: center, 19px 13px;
  background-size: 14px 14px, 17px 17px;
  mask-image: radial-gradient(ellipse at center, #000 0 58%, transparent 70%);
}

.home-premium-map svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-premium-map path {
  fill: none;
  stroke: rgba(31, 122, 236, 0.28);
  stroke-width: 2;
}

.home-premium-map-dot {
  position: absolute;
  z-index: 2;
  width: 12px;
  height: 12px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--home-premium-blue);
  box-shadow: 0 0 0 7px rgba(31, 122, 236, 0.13), 0 6px 14px rgba(31, 122, 236, 0.24);
}

.home-premium-map-dot.red {
  background: var(--home-premium-red);
  box-shadow: 0 0 0 7px rgba(229, 9, 20, 0.12), 0 6px 14px rgba(229, 9, 20, 0.22);
}

.home-premium-map-card {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  grid-template-areas: "dot title" "dot sub";
  gap: 1px 8px;
  min-width: 128px;
  padding: 9px 12px;
  border: 1px solid var(--home-premium-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.home-premium-map-card i {
  grid-area: dot;
  align-self: center;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--home-premium-green);
}

.home-premium-map-card strong {
  grid-area: title;
  color: var(--home-premium-ink);
  font-size: 11px;
  font-weight: 950;
}

.home-premium-map-card small {
  grid-area: sub;
  color: #607089;
  font-size: 10px;
  font-weight: 750;
}

.aleo-home-desktop-ref .aleo-benefit-bar {
  gap: 18px !important;
}

.aleo-home-desktop-ref .aleo-benefit-bar div {
  position: relative;
  min-height: 168px !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-content: start;
  overflow: hidden;
  padding: 22px !important;
  border-color: var(--home-premium-line) !important;
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
  box-shadow: var(--home-premium-shadow) !important;
}

.aleo-home-desktop-ref .aleo-benefit-bar div::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -32px;
  width: 132px;
  height: 96px;
  border: 1px solid rgba(229, 9, 20, 0.2);
  border-radius: 50%;
  box-shadow:
    -18px -10px 0 -1px rgba(229, 9, 20, 0.08),
    -35px -21px 0 -1px rgba(229, 9, 20, 0.06);
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(2)::after {
  border-color: rgba(31, 122, 236, 0.2);
  box-shadow: -18px -10px 0 -1px rgba(31, 122, 236, 0.08), -35px -21px 0 -1px rgba(31, 122, 236, 0.06);
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(3)::after {
  border-color: rgba(25, 184, 106, 0.22);
  box-shadow: -18px -10px 0 -1px rgba(25, 184, 106, 0.08), -35px -21px 0 -1px rgba(25, 184, 106, 0.06);
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(4)::after {
  border-color: rgba(245, 164, 0, 0.24);
  box-shadow: -18px -10px 0 -1px rgba(245, 164, 0, 0.08), -35px -21px 0 -1px rgba(245, 164, 0, 0.06);
}

.aleo-home-desktop-ref .aleo-benefit-bar span {
  width: 50px !important;
  height: 50px !important;
}

.aleo-home-desktop-ref .aleo-benefit-bar strong {
  font-size: 15px !important;
}

.aleo-home-desktop-ref .aleo-benefit-bar small {
  color: #5d6b82 !important;
}

.aleo-home-desktop-ref .aleo-benefit-bar em {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 16px;
  padding: 7px 10px;
  border: 1px solid #ffd6db;
  border-radius: 7px;
  background: #fff8f8;
  color: #697891;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(2) em {
  border-color: #cfe3ff;
  background: #f4f9ff;
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(3) em {
  border-color: #ccefdc;
  background: #f3fbf7;
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(4) em {
  border-color: #ffe1a8;
  background: #fffaf0;
}

.aleo-home-desktop-ref .aleo-benefit-bar em b {
  color: var(--home-premium-red);
  font-size: 12px;
}

.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(2) em b { color: var(--home-premium-blue); }
.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(3) em b { color: var(--home-premium-green); }
.aleo-home-desktop-ref .aleo-benefit-bar div:nth-child(4) em b { color: #de8f00; }

.home-testimonial-grid {
  grid-template-columns: 1.15fr repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.home-testimonial-summary,
.home-testimonial-card {
  border: 1px solid var(--home-premium-line) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
  box-shadow: var(--home-premium-shadow) !important;
}

.home-testimonial-summary {
  min-height: 184px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px 22px;
}

.home-testimonial-summary > strong {
  color: var(--home-premium-ink);
  font-size: 52px;
  line-height: 0.95;
  font-weight: 950;
}

.home-testimonial-summary > strong small {
  color: #7b8799;
  font-size: 20px;
}

.home-testimonial-summary .review-stars {
  color: #f5a400;
  font-size: 18px;
}

.home-testimonial-summary > b {
  color: var(--home-premium-ink);
  font-size: 13px;
  font-weight: 950;
}

.home-testimonial-summary > small {
  color: #63738a;
  font-size: 12px;
  font-weight: 800;
}

.home-review-bars {
  display: grid;
  gap: 7px;
  margin-top: 4px;
}

.home-review-bars span {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 8px;
  color: #677790;
  font-size: 10px;
  font-weight: 800;
}

.home-review-bars b {
  position: relative;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9edf4;
}

.home-review-bars b::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--w);
  border-radius: inherit;
  background: linear-gradient(90deg, #f5a400, var(--home-premium-red));
}

.home-testimonial-card {
  min-height: 184px !important;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 20px !important;
}

.home-testimonial-card header {
  gap: 10px !important;
}

.home-testimonial-card header strong {
  min-width: 0;
  overflow: hidden;
  color: var(--home-premium-ink) !important;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-review-check {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  margin-left: auto;
  border-radius: 50%;
  background: #2f7df0;
  color: #fff;
}

.home-review-check .ui-icon {
  width: 11px;
  height: 11px;
  stroke-width: 3;
}

.home-testimonial-card .review-stars {
  color: #f5a400;
}

.home-testimonial-card small {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #e9eef6;
  border-radius: 7px;
  background: #f8fafd;
  color: #5c6d84 !important;
}

.home-testimonial-card small .ui-icon {
  width: 15px;
  height: 15px;
  color: #718097;
}

.aleo-home-v59 > .home-premium-trust-strip {
  min-height: 78px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(300px, 1.2fr);
  align-items: center;
  gap: 0;
  margin-top: 24px;
  padding: 14px 18px;
  border: 1px solid var(--home-premium-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--home-premium-shadow);
}

.home-premium-trust-strip > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  gap: 2px 12px;
  align-items: center;
  padding: 0 18px;
  border-right: 1px solid var(--home-premium-line);
}

.home-premium-trust-strip > div:first-child {
  padding-left: 0;
}

.home-premium-trust-strip > div:last-child {
  border-right: 0;
}

.home-premium-trust-strip span:not(.home-premium-payment-marks) {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #fff4f5;
  color: var(--home-premium-red);
}

.home-premium-trust-strip > div:nth-child(2) span:not(.home-premium-payment-marks) {
  background: #f0f7ff;
  color: var(--home-premium-blue);
}

.home-premium-trust-strip > div:nth-child(3) span:not(.home-premium-payment-marks) {
  background: #f1fbf6;
  color: var(--home-premium-green);
}

.home-premium-trust-strip .ui-icon {
  width: 19px;
  height: 19px;
}

.home-premium-trust-strip strong {
  grid-area: title;
  color: var(--home-premium-ink);
  font-size: 12px;
  font-weight: 950;
}

.home-premium-trust-strip small {
  grid-area: sub;
  color: #65758c;
  font-size: 11px;
  font-weight: 750;
}

.home-premium-payments {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
  gap: 14px !important;
}

.home-premium-payment-marks {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.home-premium-payment-marks img {
  width: auto;
  max-width: 54px;
  height: 20px;
  object-fit: contain;
}

.pay-brand-visa {
  color: #153e8f;
  font-size: 16px;
  font-weight: 950;
}

.pay-brand-mastercard {
  position: relative;
  width: 38px;
  height: 22px;
}

.pay-brand-mastercard i {
  position: absolute;
  top: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #eb001b;
}

.pay-brand-mastercard i + i {
  left: 15px;
  background: #f79e1b;
}

html[data-theme='dark'] .aleo-home-v59 > .home-premium-status-strip,
html[data-theme='dark'] .aleo-home-v59 .popular-country-card,
html[data-theme='dark'] .aleo-home-v59 .home-plan-card,
html[data-theme='dark'] .aleo-home-v59 > .home-premium-finder,
html[data-theme='dark'] .aleo-home-v59 .home-premium-match,
html[data-theme='dark'] .aleo-home-v59 .aleo-benefit-bar div,
html[data-theme='dark'] .aleo-home-v59 .home-testimonial-summary,
html[data-theme='dark'] .aleo-home-v59 .home-testimonial-card,
html[data-theme='dark'] .aleo-home-v59 > .home-premium-trust-strip,
body.theme-dark .aleo-home-v59 > .home-premium-status-strip,
body.theme-dark .aleo-home-v59 .popular-country-card,
body.theme-dark .aleo-home-v59 .home-plan-card,
body.theme-dark .aleo-home-v59 > .home-premium-finder,
body.theme-dark .aleo-home-v59 .home-premium-match,
body.theme-dark .aleo-home-v59 .aleo-benefit-bar div,
body.theme-dark .aleo-home-v59 .home-testimonial-summary,
body.theme-dark .aleo-home-v59 .home-testimonial-card,
body.theme-dark .aleo-home-v59 > .home-premium-trust-strip {
  border-color: rgba(148, 163, 184, 0.24) !important;
  background: linear-gradient(180deg, #111827, #0b101a) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .aleo-home-v59 :where(.home-premium-row-head h2, .home-premium-status-strip strong, .popular-country-price b, .home-plan-country strong, .home-premium-finder-options h2, .home-premium-match > strong, .home-premium-match p b, .home-premium-map-card strong, .aleo-benefit-bar strong, .home-testimonial-summary > strong, .home-testimonial-summary > b, .home-testimonial-card header strong, .home-premium-trust-strip strong),
body.theme-dark .aleo-home-v59 :where(.home-premium-row-head h2, .home-premium-status-strip strong, .popular-country-price b, .home-plan-country strong, .home-premium-finder-options h2, .home-premium-match > strong, .home-premium-match p b, .home-premium-map-card strong, .aleo-benefit-bar strong, .home-testimonial-summary > strong, .home-testimonial-summary > b, .home-testimonial-card header strong, .home-premium-trust-strip strong) {
  color: #f8fafc !important;
}

html[data-theme='dark'] .aleo-home-v59 :where(.home-premium-row-head small, .home-premium-status-strip small, .popular-country-card em, .home-premium-finder-options p, .home-premium-finder-options small, .home-premium-match > small, .home-premium-match li, .home-testimonial-card p, .home-premium-trust-strip small),
body.theme-dark .aleo-home-v59 :where(.home-premium-row-head small, .home-premium-status-strip small, .popular-country-card em, .home-premium-finder-options p, .home-premium-finder-options small, .home-premium-match > small, .home-premium-match li, .home-testimonial-card p, .home-premium-trust-strip small) {
  color: #cbd5e1 !important;
}

[dir='rtl'] .aleo-home-v59 .popular-country-card,
[dir='rtl'] .aleo-home-v59 .home-premium-row-head,
[dir='rtl'] .aleo-home-v59 .home-premium-finder-options {
  text-align: right !important;
}

[dir='rtl'] .aleo-home-v59 .popular-country-spark {
  right: auto;
  left: 13px;
}

[dir='rtl'] .aleo-home-v59 .home-plan-nav-prev .ui-icon {
  transform: none !important;
}

[dir='rtl'] .aleo-home-v59 .home-plan-nav-next .ui-icon {
  transform: rotate(180deg) !important;
}

@media (min-width: 1181px) {
  .home-recommended-plans .home-plan-card {
    flex-basis: calc((100% - 54px) / 4) !important;
    max-width: calc((100% - 54px) / 4) !important;
  }
}

@media (max-width: 1180px) {
  .aleo-home-v59 > .home-premium-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-premium-status-strip > div {
    border-right: 0;
  }

  .aleo-home-v59 > .home-premium-finder {
    grid-template-columns: 1fr 1fr;
  }

  .home-premium-map {
    grid-column: 1 / -1;
    min-height: 210px;
  }

  .home-testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .aleo-home-v59 > .home-premium-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 0;
  }

  .home-premium-trust-strip > div:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 760px) {
  .aleo-home-v59 > .home-premium-status-strip,
  .aleo-home-v59 > .home-premium-finder,
  .aleo-home-v59 > .home-premium-trust-strip {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .aleo-home-v59 > .home-premium-status-strip {
    gap: 8px;
  }

  .home-premium-status-strip > div,
  .home-premium-trust-strip > div {
    padding: 10px 0;
    border-right: 0;
    border-bottom: 1px solid var(--home-premium-line);
  }

  .home-premium-status-strip > div:last-child,
  .home-premium-trust-strip > div:last-child {
    border-bottom: 0;
  }

  .aleo-home-v59 .home-premium-row-head {
    align-items: flex-start !important;
  }

  .aleo-home-v59 .home-premium-row-head h2 {
    font-size: 18px !important;
  }

  .aleo-home-v59 > .aleo-popular > .popular-country-strip {
    gap: 12px !important;
  }

  .aleo-home-v59 .popular-country-card {
    flex-basis: 78vw;
    min-height: 118px !important;
  }

  .home-recommended-plans .home-plan-card {
    grid-template-columns: 1fr !important;
    grid-template-areas: none !important;
    align-items: stretch !important;
    gap: 10px !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .home-recommended-plans .home-plan-top,
  .home-recommended-plans .home-plan-country,
  .home-recommended-plans .home-plan-main,
  .home-recommended-plans .home-plan-specs,
  .home-recommended-plans .home-plan-action {
    grid-area: auto !important;
  }

  .home-recommended-plans .home-plan-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end !important;
    gap: 8px 12px !important;
  }

  .home-recommended-plans .home-plan-main .home-plan-price {
    position: static !important;
    inset: auto !important;
    justify-items: end;
    align-self: end;
  }

  .home-recommended-plans .home-plan-meta-row {
    display: flex !important;
    gap: 6px 10px !important;
  }

  .aleo-home-v59 > .home-premium-finder {
    gap: 14px;
  }

  .home-premium-map {
    min-height: 190px;
  }

  .home-testimonial-grid {
    grid-template-columns: 1fr !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar div {
    min-height: 148px !important;
  }

  .home-premium-payments {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 420px) {
  .aleo-home-v59 .popular-country-card {
    flex-basis: 84vw;
  }

  .home-testimonial-summary > strong {
    font-size: 44px;
  }

  .home-premium-payment-marks {
    gap: 8px;
  }

  .home-premium-payment-marks img {
    max-width: 46px;
  }
}

/* AleoFly v301: harden premium home dark mode and give mobile the full premium layout. */
html[data-theme='dark'] .aleo-home-v59,
body.theme-dark .aleo-home-v59 {
  --home-premium-ink: #f8fafc;
  --home-premium-muted: #cbd5e1;
  --home-premium-line: rgba(148, 163, 184, 0.24);
  --home-premium-soft: #111827;
  --home-premium-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-live b,
body.theme-dark .aleo-home-v59 .home-premium-live b,
html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options a,
body.theme-dark .aleo-home-v59 .home-premium-finder-options a,
html[data-theme='dark'] .aleo-home-v59 .home-premium-map-card,
body.theme-dark .aleo-home-v59 .home-premium-map-card,
html[data-theme='dark'] .aleo-home-v59 .aleo-benefit-bar span,
body.theme-dark .aleo-home-v59 .aleo-benefit-bar span,
html[data-theme='dark'] .aleo-home-v59 .aleo-benefit-bar em,
body.theme-dark .aleo-home-v59 .aleo-benefit-bar em,
html[data-theme='dark'] .aleo-home-v59 .home-testimonial-card small,
body.theme-dark .aleo-home-v59 .home-testimonial-card small,
html[data-theme='dark'] .aleo-home-v59 .home-testimonial-summary li,
body.theme-dark .aleo-home-v59 .home-testimonial-summary li,
html[data-theme='dark'] .aleo-home-v59 .home-plan-specs > div,
body.theme-dark .aleo-home-v59 .home-plan-specs > div {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background: rgba(15, 23, 42, 0.78) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options a.active,
body.theme-dark .aleo-home-v59 .home-premium-finder-options a.active {
  border-color: rgba(239, 68, 68, 0.72) !important;
  background: linear-gradient(135deg, rgba(229, 9, 20, 0.22), rgba(15, 23, 42, 0.88)) !important;
  box-shadow: inset 3px 0 0 var(--home-premium-red), 0 14px 28px rgba(229, 9, 20, 0.16) !important;
  color: #fff !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options a > span,
body.theme-dark .aleo-home-v59 .home-premium-finder-options a > span {
  color: #7db4ff !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options a.active > span,
body.theme-dark .aleo-home-v59 .home-premium-finder-options a.active > span {
  color: #ff7a83 !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options :where(strong, small),
body.theme-dark .aleo-home-v59 .home-premium-finder-options :where(strong, small),
html[data-theme='dark'] .aleo-home-v59 .home-premium-map-card :where(strong, small),
body.theme-dark .aleo-home-v59 .home-premium-map-card :where(strong, small),
html[data-theme='dark'] .aleo-home-v59 .home-testimonial-card small,
body.theme-dark .aleo-home-v59 .home-testimonial-card small,
html[data-theme='dark'] .aleo-home-v59 .home-plan-meta-row,
body.theme-dark .aleo-home-v59 .home-plan-meta-row {
  color: #cbd5e1 !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-map-card strong,
body.theme-dark .aleo-home-v59 .home-premium-map-card strong,
html[data-theme='dark'] .aleo-home-v59 .home-plan-meta-row strong,
body.theme-dark .aleo-home-v59 .home-plan-meta-row strong {
  color: #f8fafc !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options b,
body.theme-dark .aleo-home-v59 .home-premium-finder-options b {
  border-color: rgba(148, 163, 184, 0.4) !important;
  background: rgba(15, 23, 42, 0.9) !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-finder-options a.active b,
body.theme-dark .aleo-home-v59 .home-premium-finder-options a.active b {
  border-color: var(--home-premium-red) !important;
  background: var(--home-premium-red) !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-premium-status-strip > div,
body.theme-dark .aleo-home-v59 .home-premium-status-strip > div,
html[data-theme='dark'] .aleo-home-v59 .home-premium-trust-strip > div,
body.theme-dark .aleo-home-v59 .home-premium-trust-strip > div {
  border-color: rgba(148, 163, 184, 0.22) !important;
}

html[data-theme='dark'] .aleo-home-v59 .home-testimonial-card small .ui-icon,
body.theme-dark .aleo-home-v59 .home-testimonial-card small .ui-icon,
html[data-theme='dark'] .aleo-home-v59 .home-plan-meta-row .ui-icon,
body.theme-dark .aleo-home-v59 .home-plan-meta-row .ui-icon {
  color: #94a3b8 !important;
}

@media (max-width: 760px) {
  .aleo-home-v59 > .home-premium-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  .home-premium-status-strip > div,
  .home-premium-status-strip .home-premium-live {
    min-height: 78px;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 3px 10px !important;
    padding: 12px !important;
    border: 1px solid var(--home-premium-line) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.74);
  }

  .home-premium-status-strip .home-premium-live {
    grid-column: 1 / -1;
    min-height: 62px;
    grid-template-columns: 62px minmax(0, 1fr) !important;
  }

  .home-premium-status-strip span {
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
  }

  .home-premium-status-strip .ui-icon {
    width: 22px !important;
    height: 22px !important;
  }

  .home-premium-status-strip strong,
  .home-premium-status-strip small {
    white-space: normal !important;
  }

  .home-recommended-plans {
    padding: 10px 0 12px !important;
    border-radius: 8px !important;
  }

  .home-recommended-plans .home-plan-grid {
    gap: 12px !important;
    padding-bottom: 6px !important;
  }

  .home-recommended-plans .home-plan-card {
    flex-basis: calc(100vw - 44px) !important;
    max-width: calc(100vw - 44px) !important;
    padding: 16px !important;
    gap: 12px !important;
    border-radius: 8px !important;
  }

  .home-recommended-plans .home-plan-country strong {
    white-space: normal !important;
  }

  .home-recommended-plans .home-plan-main {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .home-recommended-plans .home-plan-price b {
    font-size: 16px !important;
  }

  .home-recommended-plans .home-plan-meta-row {
    color: #667085 !important;
  }

  .home-recommended-plans .home-plan-specs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .home-recommended-plans .home-plan-specs > div {
    min-height: 50px !important;
    padding: 8px 6px !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
  }

  .home-recommended-plans .home-plan-specs dt {
    font-size: 9px !important;
  }

  .home-recommended-plans .home-plan-specs dd {
    font-size: 9px !important;
  }

  .home-recommended-plans .home-plan-action {
    width: 100% !important;
    min-height: 42px !important;
    align-self: stretch !important;
    font-size: 12px !important;
  }

  .aleo-home-v59 > .home-premium-finder {
    gap: 12px !important;
  }

  .home-premium-finder-options a {
    min-height: 54px !important;
    grid-template-columns: 34px minmax(0, 1fr) 18px !important;
    grid-template-areas:
      "icon title dot"
      "icon sub dot" !important;
    gap: 4px 10px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
  }

  .home-premium-finder-options a > span {
    grid-area: icon !important;
  }

  .home-premium-finder-options strong {
    grid-area: title !important;
  }

  .home-premium-finder-options small {
    grid-area: sub !important;
    text-align: left !important;
  }

  .home-premium-finder-options b {
    grid-area: dot !important;
    justify-self: end !important;
  }

  .home-premium-finder-options strong,
  .home-premium-finder-options small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  [dir='rtl'] .home-premium-finder-options small {
    text-align: right !important;
  }

  .home-premium-match {
    min-height: 0 !important;
  }

  .home-premium-match-action {
    min-height: 42px !important;
  }

  .home-premium-map {
    min-height: 210px !important;
  }

  .home-premium-map-card {
    top: 12px;
    right: 12px;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar {
    gap: 12px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar div {
    min-height: 150px !important;
    padding: 18px !important;
  }

  .aleo-home-desktop-ref .aleo-benefit-bar span,
  .aleo-home-desktop-ref .aleo-benefit-bar em,
  .home-testimonial-card small {
    border-radius: 8px !important;
  }

  .home-testimonial-grid {
    gap: 12px !important;
  }

  html[data-theme='dark'] .aleo-home-v59 .home-premium-status-strip > div,
  body.theme-dark .aleo-home-v59 .home-premium-status-strip > div,
  html[data-theme='dark'] .aleo-home-v59 .home-premium-status-strip .home-premium-live,
  body.theme-dark .aleo-home-v59 .home-premium-status-strip .home-premium-live,
  html[data-theme='dark'] .aleo-home-v59 .home-recommended-plans .home-plan-specs > div,
  body.theme-dark .aleo-home-v59 .home-recommended-plans .home-plan-specs > div {
    border-color: rgba(148, 163, 184, 0.22) !important;
    background: rgba(15, 23, 42, 0.72) !important;
  }

  html[data-theme='dark'] .aleo-home-v59 .home-recommended-plans .home-plan-meta-row,
  body.theme-dark .aleo-home-v59 .home-recommended-plans .home-plan-meta-row {
    color: #cbd5e1 !important;
  }
}

@media (max-width: 420px) {
  .home-recommended-plans .home-plan-head-actions {
    gap: 6px !important;
  }

  .home-recommended-plans .home-plan-nav {
    width: 38px !important;
    height: 38px !important;
  }

  .home-recommended-plans .see-all {
    width: auto !important;
    min-width: 0 !important;
    padding-inline: 8px !important;
  }
}

/* AleoFly v303: make the eSIM type chooser feel alive without changing its base style. */
.search-choice-card {
  --choice-tilt-x: 0deg;
  --choice-tilt-y: 0deg;
  --choice-glow-x: 50%;
  --choice-glow-y: 30%;
  transform: translate3d(0, 0, 0);
  transform-style: preserve-3d;
  transition:
    transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 280ms ease,
    border-color 280ms ease,
    filter 280ms ease;
  will-change: transform;
}

.search-choice-card::before {
  transition: transform 340ms ease, opacity 340ms ease;
}

.search-choice-card::after {
  transition: transform 340ms ease, opacity 340ms ease;
}

.search-choice-card:hover,
.search-choice-card:focus-visible {
  transform:
    perspective(900px)
    rotateX(var(--choice-tilt-y))
    rotateY(var(--choice-tilt-x))
    translate3d(0, -8px, 0);
  filter: saturate(1.04);
  box-shadow:
    0 28px 70px rgba(15, 23, 42, 0.13),
    0 0 0 1px color-mix(in srgb, currentColor 20%, transparent);
}

.search-choice-card:hover::before,
.search-choice-card:focus-visible::before {
  background:
    radial-gradient(circle at var(--choice-glow-x) var(--choice-glow-y), rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.48) 48%, rgba(255, 255, 255, 0.18) 100%) !important;
  transform: translateY(-6px) scale(1.05);
  opacity: 0.94;
}

.search-choice-card:hover::after,
.search-choice-card:focus-visible::after {
  transform: translate3d(8px, -5px, 0);
  opacity: 0.38;
}

.search-choice-card:focus-visible {
  outline: 3px solid color-mix(in srgb, currentColor 36%, transparent);
  outline-offset: 5px;
}

.search-card-action {
  right: 24px !important;
  left: auto !important;
  transform: none !important;
  transition:
    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 260ms ease,
    background-color 260ms ease,
    color 260ms ease;
}

[dir='rtl'] .search-card-action {
  transform: scaleX(-1) !important;
  right: auto !important;
  left: 24px !important;
}

.search-choice-card:hover .search-card-action,
.search-choice-card:focus-visible .search-card-action {
  transform: translateX(5px) !important;
  box-shadow:
    0 14px 30px rgba(15, 23, 42, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.82) inset;
}

[dir='rtl'] .search-choice-card:hover .search-card-action,
[dir='rtl'] .search-choice-card:focus-visible .search-card-action {
  transform: translateX(-5px) scaleX(-1) !important;
}

.search-card-action .ui-icon {
  transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.search-choice-card:hover .search-card-action .ui-icon,
.search-choice-card:focus-visible .search-card-action .ui-icon {
  transform: translateX(2px);
}

[dir='rtl'] .search-choice-card:hover .search-card-action .ui-icon,
[dir='rtl'] .search-choice-card:focus-visible .search-card-action .ui-icon {
  transform: translateX(-2px);
}

.search-pin-orb,
.search-route-orb,
.search-global-orb {
  animation: aleoChoiceFloat 5.4s ease-in-out infinite;
  transform: translate3d(0, 0, 0);
}

.search-choice-card.multi .search-route-orb {
  animation-delay: 0.55s;
}

.search-choice-card.global .search-global-orb {
  animation-delay: 1.1s;
}

.search-choice-card:hover .search-pin-orb,
.search-choice-card:hover .search-route-orb,
.search-choice-card:hover .search-global-orb,
.search-choice-card:focus-visible .search-pin-orb,
.search-choice-card:focus-visible .search-route-orb,
.search-choice-card:focus-visible .search-global-orb {
  animation-play-state: paused;
}

.search-pin-orb i,
.search-global-orb i {
  animation: aleoChoicePulse 2.7s ease-in-out infinite;
}

.search-choice-flag {
  animation: aleoChoiceFlagDrift 4.8s ease-in-out infinite;
}

.search-choice-flag.flag-fr,
.search-choice-flag.flag-au {
  animation-delay: 0.65s;
}

.search-choice-flag.flag-jp {
  animation-delay: 1.15s;
}

.search-choice-card:hover .search-pin-orb b,
.search-choice-card:focus-visible .search-pin-orb b {
  transform: translateX(-50%) rotate(-45deg) scale(1.05);
}

.search-choice-card:hover .search-global-orb b,
.search-choice-card:focus-visible .search-global-orb b {
  transform: rotate(-8deg) translateX(4px);
}

.search-choice-head p::after {
  animation: aleoChoiceUnderline 2.6s ease-in-out infinite;
}

.search-benefit {
  transition: transform 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}

.search-benefit > span {
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.search-benefit:hover,
.search-benefit:focus-within {
  transform: translateY(-3px);
}

.search-benefit:hover > span,
.search-benefit:focus-within > span {
  transform: scale(1.06);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.10);
}

html[data-theme='dark'] .search-choice-card:hover,
body.theme-dark .search-choice-card:hover,
html[data-theme='dark'] .search-choice-card:focus-visible,
body.theme-dark .search-choice-card:focus-visible {
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.42),
    0 0 0 1px color-mix(in srgb, currentColor 22%, transparent) !important;
}

@keyframes aleoChoiceFloat {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -7px, 0);
  }
}

@keyframes aleoChoicePulse {
  0%,
  100% {
    opacity: 0.78;
  }

  50% {
    opacity: 1;
  }
}

@keyframes aleoChoiceFlagDrift {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(3px, -4px, 0);
  }
}

@keyframes aleoChoiceUnderline {
  0%,
  100% {
    width: 54px;
    opacity: 1;
  }

  50% {
    width: 68px;
    opacity: 0.72;
  }
}

@media (hover: none) {
  .search-choice-card:active {
    transform: translate3d(0, -3px, 0) scale(0.992);
  }
}

@media (prefers-reduced-motion: reduce) {
  .search-choice-card,
  .search-choice-card::before,
  .search-choice-card::after,
  .search-card-action,
  .search-card-action .ui-icon,
  .search-pin-orb,
  .search-route-orb,
  .search-global-orb,
  .search-pin-orb i,
  .search-global-orb i,
  .search-choice-flag,
  .search-choice-head p::after,
  .search-benefit,
  .search-benefit > span {
    animation: none !important;
    transition: none !important;
  }

  .search-choice-card:hover,
  .search-choice-card:focus-visible,
  .search-benefit:hover,
  .search-benefit:focus-within {
    transform: none !important;
  }
}

/* AleoFly v304: premium mobile home finale, FAQ, CTA, and bottom-nav spacing. */
@media (max-width: 760px) {
  main.app:has(.aleo-home-v59) {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .aleo-home-v59 {
    padding-bottom: 0 !important;
  }

  body:has(.aleo-home-v59) #site-footer.site-footer {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-trust-wrap,
  body:has(.aleo-home-v59) #site-footer .site-footer-dark {
    display: none !important;
  }

  .aleo-home-v59 > .home-mobile-assurance,
  .aleo-home-v59 > .home-mobile-faq,
  .aleo-home-v59 > .home-mobile-ready {
    width: auto !important;
    max-width: none !important;
  }

  .aleo-home-v59 > .home-mobile-assurance {
    position: relative !important;
    display: grid !important;
    gap: 0 !important;
    margin: 18px 6px 0 !important;
    padding: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(226, 232, 240, 0.98) !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 88% 10%, rgba(229, 9, 20, 0.075), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08) !important;
  }

  .aleo-home-v59 > .home-mobile-assurance::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
      linear-gradient(90deg, rgba(229, 9, 20, 0.12), transparent 28%, transparent 72%, rgba(31, 122, 236, 0.10)),
      radial-gradient(circle at 14% 86%, rgba(31, 122, 236, 0.08), transparent 28%) !important;
    opacity: 0.92 !important;
  }

  .home-mobile-assurance > div {
    position: relative !important;
    z-index: 1 !important;
  }

  .home-mobile-assurance > div:first-child {
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
    color: #071126 !important;
  }

  .home-mobile-assurance > div:first-child strong {
    min-width: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.22 !important;
    font-weight: 950 !important;
  }

  .home-mobile-assurance > div:first-child span {
    color: #f59e0b !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
  }

  .home-mobile-assurance > div:first-child b {
    min-height: 26px !important;
    display: inline-grid !important;
    place-items: center !important;
    padding: 0 8px !important;
    border: 1px solid rgba(229, 9, 20, 0.18) !important;
    border-radius: 999px !important;
    background: rgba(229, 9, 20, 0.07) !important;
    color: #e50914 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  .home-mobile-payments {
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
  }

  .home-mobile-payments .pay-brand-visa {
    color: #143b7a !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
  }

  .home-mobile-payments .mc {
    width: 42px !important;
    height: 25px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .home-mobile-payments .mc i {
    width: 22px !important;
    height: 22px !important;
  }

  .home-mobile-payments img {
    width: auto !important;
    max-width: 58px !important;
    height: 25px !important;
    object-fit: contain !important;
    filter: saturate(1.05) contrast(1.02) !important;
  }

  .home-mobile-safe {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 12px 0 0 !important;
  }

  .home-mobile-safe span {
    min-width: 0 !important;
    min-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    gap: 4px !important;
    padding: 7px 4px !important;
    border: 1px solid rgba(226, 232, 240, 0.94) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: #475569 !important;
    font-size: 8.6px !important;
    line-height: 1.12 !important;
    text-align: center !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04) !important;
  }

  .home-mobile-safe span:last-child {
    border-right: 1px solid rgba(226, 232, 240, 0.94) !important;
  }

  .home-mobile-safe .ui-icon {
    width: 18px !important;
    height: 18px !important;
    color: #e50914 !important;
  }

  .aleo-home-v59 > .home-mobile-faq {
    margin: 20px 6px 0 !important;
    padding: 0 !important;
  }

  .home-mobile-faq h2 {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 12px !important;
    color: #071126 !important;
    font-size: 20px !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    font-weight: 950 !important;
  }

  .home-mobile-faq h2::before {
    content: "" !important;
    width: 5px !important;
    height: 24px !important;
    flex: 0 0 auto !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #e50914, #ff4d58) !important;
    box-shadow: 0 8px 18px rgba(229, 9, 20, 0.22) !important;
  }

  .home-mobile-faq-list {
    display: grid !important;
    gap: 10px !important;
  }

  .home-mobile-faq details {
    overflow: hidden !important;
    border: 1px solid rgba(226, 232, 240, 0.98) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06) !important;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease !important;
  }

  .home-mobile-faq details[open] {
    border-color: rgba(229, 9, 20, 0.24) !important;
    box-shadow: 0 18px 42px rgba(229, 9, 20, 0.10), 0 12px 30px rgba(15, 23, 42, 0.06) !important;
  }

  .home-mobile-faq details:hover {
    transform: translateY(-1px) !important;
  }

  .home-mobile-faq summary {
    min-height: 56px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 30px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 14px !important;
    color: #071126 !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
    font-weight: 950 !important;
    list-style: none !important;
    cursor: pointer !important;
  }

  .home-mobile-faq summary::-webkit-details-marker {
    display: none !important;
  }

  .home-mobile-faq summary::after {
    content: "+" !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(226, 232, 240, 0.98) !important;
    border-radius: 50% !important;
    background: #f7f9fc !important;
    color: #071126 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease !important;
  }

  .home-mobile-faq details[open] summary::after {
    content: "-" !important;
    background: #e50914 !important;
    color: #fff !important;
    transform: rotate(180deg) !important;
    border-color: rgba(229, 9, 20, 0.35) !important;
  }

  .home-mobile-faq p {
    margin: 0 !important;
    padding: 0 14px 16px !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    font-weight: 750 !important;
  }

  .aleo-home-v59 > .home-mobile-ready {
    position: relative !important;
    min-height: 148px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
    margin: 16px 6px 0 !important;
    padding: 18px 0 18px 18px !important;
    border: 1px solid rgba(229, 9, 20, 0.16) !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 83% 34%, rgba(229, 9, 20, 0.14), transparent 34%),
      linear-gradient(110deg, #fff2f4 0%, #fff8f9 54%, #ffffff 100%) !important;
    box-shadow: 0 20px 48px rgba(229, 9, 20, 0.10), 0 12px 34px rgba(15, 23, 42, 0.07) !important;
  }

  .aleo-home-v59 > .home-mobile-ready::before {
    content: "" !important;
    position: absolute !important;
    inset: 14px 126px auto auto !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background:
      radial-gradient(circle, rgba(255, 255, 255, 0.98) 0 31%, transparent 32%),
      conic-gradient(from 220deg, rgba(229, 9, 20, 0.18), rgba(229, 9, 20, 0), rgba(31, 122, 236, 0.14), rgba(229, 9, 20, 0.18)) !important;
    opacity: 0.95 !important;
  }

  .home-mobile-ready > div {
    position: relative !important;
    z-index: 2 !important;
  }

  .home-mobile-ready h2 {
    margin: 0 !important;
    color: #071126 !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    font-weight: 950 !important;
  }

  .home-mobile-ready p {
    max-width: 176px !important;
    margin: 7px 0 14px !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
    font-weight: 800 !important;
  }

  .home-mobile-ready a {
    min-height: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    padding: 0 18px !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #f3121f, #d90612) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 28px rgba(229, 9, 20, 0.24) !important;
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease !important;
  }

  .home-mobile-ready a:active {
    transform: translateY(1px) scale(0.99) !important;
    filter: saturate(1.06) !important;
    box-shadow: 0 9px 18px rgba(229, 9, 20, 0.24) !important;
  }

  .home-mobile-ready img {
    position: relative !important;
    z-index: 1 !important;
    justify-self: end !important;
    width: 176px !important;
    height: 144px !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    filter: drop-shadow(0 16px 24px rgba(15, 23, 42, 0.16)) saturate(1.05) !important;
  }

  [dir='rtl'] .home-mobile-assurance > div:first-child {
    grid-template-columns: auto auto minmax(0, 1fr) !important;
  }

  [dir='rtl'] .home-mobile-assurance > div:first-child strong {
    order: 3 !important;
  }

  [dir='rtl'] .home-mobile-assurance > div:first-child span {
    order: 2 !important;
  }

  [dir='rtl'] .home-mobile-assurance > div:first-child b {
    order: 1 !important;
  }

  [dir='rtl'] .home-mobile-ready {
    grid-template-columns: 150px minmax(0, 1fr) !important;
    padding: 18px 18px 18px 0 !important;
  }

  [dir='rtl'] .home-mobile-ready > div {
    order: 2 !important;
    text-align: right !important;
  }

  [dir='rtl'] .home-mobile-ready img {
    order: 1 !important;
    justify-self: start !important;
    object-position: left bottom !important;
  }

}

@media (max-width: 420px) {
  .aleo-home-v59 > .home-mobile-assurance {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 13px !important;
  }

  .home-mobile-assurance > div:first-child {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  [dir='rtl'] .home-mobile-assurance > div:first-child {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .home-mobile-assurance > div:first-child span {
    display: none !important;
  }

  .home-mobile-safe {
    gap: 7px !important;
  }

  .home-mobile-safe span {
    min-height: 44px !important;
    font-size: 8.1px !important;
  }

  .aleo-home-v59 > .home-mobile-faq,
  .aleo-home-v59 > .home-mobile-ready {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .home-mobile-faq h2 {
    font-size: 19px !important;
  }

  .aleo-home-v59 > .home-mobile-ready {
    min-height: 142px !important;
    grid-template-columns: minmax(0, 1fr) 132px !important;
    padding-left: 16px !important;
  }

  .home-mobile-ready h2 {
    font-size: 16px !important;
  }

  .home-mobile-ready p {
    max-width: 162px !important;
    font-size: 11px !important;
  }

  .home-mobile-ready img {
    width: 154px !important;
    height: 138px !important;
  }

  [dir='rtl'] .aleo-home-v59 > .home-mobile-ready {
    grid-template-columns: 132px minmax(0, 1fr) !important;
    padding-right: 16px !important;
    padding-left: 0 !important;
  }
}

html[data-theme='dark'] main.app:has(.aleo-home-v59),
body.theme-dark main.app:has(.aleo-home-v59) {
  background: #090d16 !important;
}

@media (max-width: 760px) {
  html[data-theme='dark'] .aleo-home-v59 > .home-mobile-assurance,
  body.theme-dark .aleo-home-v59 > .home-mobile-assurance {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background:
      radial-gradient(circle at 88% 10%, rgba(229, 9, 20, 0.20), transparent 34%),
      linear-gradient(180deg, rgba(20, 27, 40, 0.98) 0%, rgba(10, 15, 25, 0.99) 100%) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.36) !important;
  }

  html[data-theme='dark'] .home-mobile-assurance > div:first-child,
  html[data-theme='dark'] .home-mobile-payments,
  body.theme-dark .home-mobile-assurance > div:first-child,
  body.theme-dark .home-mobile-payments {
    border-color: rgba(255, 255, 255, 0.10) !important;
  }

  html[data-theme='dark'] .home-mobile-assurance > div:first-child strong,
  html[data-theme='dark'] .home-mobile-ready h2,
  html[data-theme='dark'] .home-mobile-faq h2,
  body.theme-dark .home-mobile-assurance > div:first-child strong,
  body.theme-dark .home-mobile-ready h2,
  body.theme-dark .home-mobile-faq h2 {
    color: #f7f9fd !important;
  }

  html[data-theme='dark'] .home-mobile-safe span,
  body.theme-dark .home-mobile-safe span {
    border-color: rgba(255, 255, 255, 0.10) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: #aeb9c9 !important;
  }

  html[data-theme='dark'] .home-mobile-faq details,
  body.theme-dark .home-mobile-faq details {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: linear-gradient(180deg, rgba(20, 27, 40, 0.98) 0%, rgba(10, 15, 25, 0.99) 100%) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32) !important;
  }

  html[data-theme='dark'] .home-mobile-faq details[open],
  body.theme-dark .home-mobile-faq details[open] {
    border-color: rgba(229, 9, 20, 0.35) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.38), 0 12px 32px rgba(229, 9, 20, 0.12) !important;
  }

  html[data-theme='dark'] .home-mobile-faq summary,
  body.theme-dark .home-mobile-faq summary {
    color: #f7f9fd !important;
  }

  html[data-theme='dark'] .home-mobile-faq summary::after,
  body.theme-dark .home-mobile-faq summary::after {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: #f7f9fd !important;
  }

  html[data-theme='dark'] .home-mobile-faq details[open] summary::after,
  body.theme-dark .home-mobile-faq details[open] summary::after {
    background: #e50914 !important;
    color: #fff !important;
  }

  html[data-theme='dark'] .home-mobile-faq p,
  html[data-theme='dark'] .home-mobile-ready p,
  body.theme-dark .home-mobile-faq p,
  body.theme-dark .home-mobile-ready p {
    color: #aeb9c9 !important;
  }

  html[data-theme='dark'] .aleo-home-v59 > .home-mobile-ready,
  body.theme-dark .aleo-home-v59 > .home-mobile-ready {
    border-color: rgba(229, 9, 20, 0.28) !important;
    background:
      radial-gradient(circle at 82% 30%, rgba(229, 9, 20, 0.24), transparent 34%),
      linear-gradient(110deg, rgba(47, 17, 30, 0.98) 0%, rgba(20, 27, 40, 0.98) 58%, rgba(9, 13, 22, 0.99) 100%) !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.40), 0 12px 36px rgba(229, 9, 20, 0.12) !important;
  }
}

/* AleoFly v305: restore the real mobile footer on home without bringing back the white gap. */
@media (max-width: 760px) {
  body:has(.aleo-home-v59) #site-footer.site-footer {
    display: block !important;
    min-height: 0 !important;
    margin: 16px 0 0 !important;
    padding: 0 10px calc(74px + env(safe-area-inset-bottom, 0px)) !important;
    background: #071126 !important;
    color: #d7deea !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-trust-wrap {
    display: none !important;
  }

  body:has(.aleo-home-v59) #site-footer .site-footer-dark {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 18px 18px 0 0 !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.20), transparent 28%),
      linear-gradient(180deg, #071126 0%, #050b18 100%) !important;
    color: #d7deea !important;
    box-shadow: 0 -14px 36px rgba(15, 23, 42, 0.10) !important;
  }

  body:has(.aleo-home-v59) #site-footer .site-footer-shell {
    width: 100% !important;
    background: transparent !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-main {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 15px !important;
    overflow: visible !important;
    padding: 18px 16px 14px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-brand-col {
    display: grid !important;
    gap: 9px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-logo-image {
    width: auto !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-brand-col p,
  body:has(.aleo-home-v59) #site-footer .footer-newsletter p {
    max-width: 31rem !important;
    margin: 0 !important;
    color: #aeb9c9 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    font-weight: 750 !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-socials {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-socials a {
    width: 30px !important;
    height: 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: #f8fafc !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-newsletter {
    display: grid !important;
    gap: 8px !important;
    padding: 13px !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.055) !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-newsletter strong,
  body:has(.aleo-home-v59) #site-footer .footer-links strong {
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 950 !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-newsletter-form label {
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 92px !important;
    gap: 8px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-newsletter input {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #071126 !important;
    font-size: 12px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-newsletter button {
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #e50914 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 15px 18px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-links div {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 7px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-links a {
    min-width: 0 !important;
    color: #aeb9c9 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps a {
    min-height: 42px !important;
    display: grid !important;
    align-content: center !important;
    gap: 1px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: #fff !important;
    text-decoration: none !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps small {
    color: #aeb9c9 !important;
    font-size: 8px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps strong {
    color: #fff !important;
    font-size: 11px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-bottom {
    width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    gap: 9px !important;
    padding: 12px 16px 16px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
    color: #91a4bd !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-bottom nav {
    display: flex !important;
    gap: 8px 12px !important;
    flex-wrap: wrap !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-bottom a {
    color: #aeb9c9 !important;
    text-decoration: none !important;
  }

  [dir='rtl'] body:has(.aleo-home-v59) #site-footer .footer-newsletter-form label {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }
}

@media (max-width: 420px) {
  body:has(.aleo-home-v59) #site-footer.site-footer {
    margin-top: 14px !important;
    padding-inline: 0 !important;
  }

  body:has(.aleo-home-v59) #site-footer .site-footer-dark {
    border-inline: 0 !important;
    border-radius: 18px 18px 0 0 !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-main {
    padding-inline: 14px !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
}

/* AleoFly v306: keep mobile app-store badges inside their footer columns. */
@media (max-width: 760px) {
  body:has(.aleo-home-v59) #site-footer .footer-apps {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps .footer-store-badge {
    inline-size: 100% !important;
    block-size: 52px !important;
    width: 100% !important;
    height: 52px !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px !important;
    max-height: 52px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps .footer-store-badge img {
    inline-size: 100% !important;
    block-size: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    max-height: 52px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}

@media (max-width: 360px) {
  body:has(.aleo-home-v59) #site-footer .footer-apps {
    grid-template-columns: 1fr !important;
  }

  body:has(.aleo-home-v59) #site-footer .footer-apps .footer-store-badge {
    max-width: 196px !important;
    justify-self: center !important;
  }
}

/* AleoFly v307: animated operator-logo rail between the home finale and footer. */
.aleo-home-v59 > .home-operator-rail {
  position: relative;
  z-index: 2;
  margin: 18px 0 0;
}

.home-operator-rail-shell {
  position: relative;
  min-height: 84px;
  display: grid;
  grid-template-columns: minmax(196px, 244px) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  overflow: hidden;
  padding: 15px 18px;
  border: 1px solid rgba(226, 232, 240, 0.98);
  border-radius: 8px;
  background:
    radial-gradient(circle at 9% 0%, rgba(229, 9, 20, 0.075), transparent 32%),
    radial-gradient(circle at 95% 100%, rgba(31, 122, 236, 0.08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.075);
}

.home-operator-rail-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(229, 9, 20, 0.12), transparent 16%, transparent 84%, rgba(31, 122, 236, 0.10)),
    linear-gradient(135deg, rgba(31, 122, 236, 0.055) 0 1px, transparent 1px 22px);
  opacity: 0.85;
}

.home-operator-rail-copy,
.home-operator-marquee {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.home-operator-rail-copy {
  display: grid;
  gap: 3px;
}

.home-operator-rail-copy span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #e50914;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 950;
  text-transform: uppercase;
}

.home-operator-rail-copy span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e50914;
  box-shadow: 0 0 0 6px rgba(229, 9, 20, 0.09);
}

.home-operator-rail-copy strong {
  color: #071126;
  font-size: 16px;
  line-height: 1.14;
  font-weight: 950;
  letter-spacing: 0;
}

.home-operator-rail-copy small {
  color: #65758c;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 800;
}

.home-operator-marquee {
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.home-operator-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 12px;
  will-change: transform;
  animation: homeOperatorTrackScroll 104s linear infinite;
}

.home-operator-rail-shell:hover .home-operator-track {
  animation-play-state: paused;
}

.home-operator-logo-pill {
  flex: 0 0 auto;
  width: 102px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 8px 12px;
  border: 1px solid rgba(203, 213, 225, 0.86);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.055);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.home-operator-logo-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(229, 9, 20, 0.24);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.10);
}

.home-operator-logo-pill img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.05) contrast(1.04);
}

@keyframes homeOperatorTrackScroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@keyframes homeOperatorTrackScrollRtl {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

[dir='rtl'] .home-operator-track {
  animation-name: homeOperatorTrackScrollRtl;
}

html[data-theme='dark'] .aleo-home-v59 > .home-operator-rail .home-operator-rail-shell,
body.theme-dark .aleo-home-v59 > .home-operator-rail .home-operator-rail-shell {
  border-color: rgba(148, 163, 184, 0.24);
  background:
    radial-gradient(circle at 9% 0%, rgba(229, 9, 20, 0.16), transparent 32%),
    radial-gradient(circle at 95% 100%, rgba(31, 122, 236, 0.16), transparent 34%),
    linear-gradient(180deg, #111827 0%, #0b101a 100%);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.34);
}

html[data-theme='dark'] .home-operator-rail-copy strong,
body.theme-dark .home-operator-rail-copy strong {
  color: #f8fafc;
}

html[data-theme='dark'] .home-operator-rail-copy small,
body.theme-dark .home-operator-rail-copy small {
  color: #aeb9c9;
}

html[data-theme='dark'] .home-operator-logo-pill,
body.theme-dark .home-operator-logo-pill {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}

@media (max-width: 760px) {
  .aleo-home-v59 > .home-operator-rail {
    width: auto !important;
    max-width: none !important;
    margin: 14px 0 0 !important;
  }

  .home-operator-rail-shell {
    min-height: 118px !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 13px 0 15px !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 82% 0%, rgba(229, 9, 20, 0.10), transparent 34%),
      radial-gradient(circle at 8% 100%, rgba(31, 122, 236, 0.09), transparent 32%),
      linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  }

  .home-operator-rail-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title badge" "sub badge" !important;
    gap: 3px 10px !important;
    align-items: center !important;
    padding: 0 14px !important;
  }

  .home-operator-rail-copy span {
    grid-area: badge !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(229, 9, 20, 0.16) !important;
    border-radius: 999px !important;
    background: rgba(229, 9, 20, 0.07) !important;
    color: #e50914 !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  .home-operator-rail-copy span::before {
    width: 6px !important;
    height: 6px !important;
    box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.09) !important;
  }

  .home-operator-rail-copy strong {
    grid-area: title !important;
    font-size: 15px !important;
  }

  .home-operator-rail-copy small {
    grid-area: sub !important;
    font-size: 10px !important;
  }

  .home-operator-marquee {
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%) !important;
  }

  .home-operator-track {
    gap: 10px !important;
    animation-duration: 90s !important;
  }

  .home-operator-logo-pill {
    width: 94px !important;
    height: 48px !important;
    padding: 8px 11px !important;
    border-radius: 14px !important;
  }

  [dir='rtl'] .home-operator-rail-copy {
    grid-template-areas: "badge title" "badge sub" !important;
  }
}

@media (max-width: 420px) {
  .home-operator-rail-shell {
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 18px !important;
  }

  .home-operator-logo-pill {
    width: 90px !important;
    height: 46px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-operator-track {
    animation: none !important;
    transform: none !important;
  }
}

/* AleoFly v308: keep logo geometry stable inside RTL pages while direction-aware motion stays active. */
.home-operator-marquee,
.home-operator-track {
  direction: ltr !important;
}

/* AleoFly v311: operator logos must render whole, never eaten by masks or tight art boxes. */
.home-operator-marquee {
  overflow: hidden !important;
  padding-block: 4px !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

.home-operator-track {
  gap: 15px !important;
  align-items: center !important;
  animation-duration: 104s !important;
}

.home-operator-logo-pill {
  box-sizing: border-box !important;
  width: 122px !important;
  height: 52px !important;
  padding: 10px 16px !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  line-height: 0 !important;
}

.home-operator-logo-pill img {
  display: block !important;
  width: 88px !important;
  height: 30px !important;
  max-width: 88px !important;
  max-height: 30px !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 760px) {
  .home-operator-marquee {
    padding-block: 5px !important;
  }

  .home-operator-track {
    gap: 12px !important;
    animation-duration: 90s !important;
  }

  .home-operator-logo-pill {
    width: 108px !important;
    height: 50px !important;
    padding: 9px 14px !important;
  }

  .home-operator-logo-pill img {
    width: 78px !important;
    height: 29px !important;
    max-width: 78px !important;
    max-height: 29px !important;
  }
}

/* AleoFly v313: slower operator rail and checkout dark-mode art containment. */
body main.app .checkout-hero {
  isolation: isolate !important;
  overflow: hidden !important;
  z-index: 0 !important;
}

body main.app .checkout-hero::before,
body main.app .checkout-hero::after {
  z-index: 0 !important;
  pointer-events: none !important;
}

body main.app .checkout-hero-copy {
  position: relative !important;
  z-index: 2 !important;
}

body main.app .checkout-stage-grid {
  isolation: isolate !important;
  z-index: 4 !important;
}

body main.app .checkout-summary-card,
body main.app .checkout-panel-card {
  position: relative !important;
  z-index: 5 !important;
}

html[data-theme='dark'] body main.app:has(.checkout-page-v113),
body.theme-dark main.app:has(.checkout-page-v113) {
  background:
    radial-gradient(circle at 76% 4%, rgba(229, 9, 20, 0.13), transparent 22%),
    radial-gradient(circle at 14% 0%, rgba(72, 117, 169, 0.16), transparent 28%),
    linear-gradient(180deg, #050913 0%, #081120 42%, #050913 100%) !important;
}

html[data-theme='dark'] body main.app .checkout-hero::after,
body.theme-dark main.app .checkout-hero::after {
  opacity: 0.40 !important;
  mix-blend-mode: screen !important;
  filter: saturate(0.92) contrast(0.94) drop-shadow(0 18px 26px rgba(229, 9, 20, 0.08)) !important;
  -webkit-mask-image: radial-gradient(ellipse at 62% 52%, rgba(0, 0, 0, 0.72) 0 34%, rgba(0, 0, 0, 0.38) 56%, transparent 78%) !important;
  mask-image: radial-gradient(ellipse at 62% 52%, rgba(0, 0, 0, 0.72) 0 34%, rgba(0, 0, 0, 0.38) 56%, transparent 78%) !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card,
html[data-theme='dark'] body main.app .checkout-panel-card,
body.theme-dark main.app .checkout-summary-card,
body.theme-dark main.app .checkout-panel-card {
  background: #111928 !important;
  border-color: rgba(148, 163, 184, 0.26) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.46) !important;
  backdrop-filter: none !important;
}

html[data-theme='dark'] body main.app .checkout-panel-card,
body.theme-dark main.app .checkout-panel-card {
  overflow: hidden !important;
}

@media (max-width: 420px) {
  .home-operator-logo-pill {
    width: 104px !important;
    height: 48px !important;
    padding: 9px 13px !important;
  }

  .home-operator-logo-pill img {
    width: 76px !important;
    height: 28px !important;
    max-width: 76px !important;
    max-height: 28px !important;
  }
}

/* AleoFly v314: final checkout dark-mode cleanup and duplicate checkout footer removal. */
body main.app .checkout-footer {
  display: none !important;
}

html[data-theme='dark'] body main.app .checkout-hero::before,
html[data-theme='dark'] body main.app .checkout-hero::after,
body.theme-dark main.app .checkout-hero::before,
body.theme-dark main.app .checkout-hero::after {
  display: none !important;
  opacity: 0 !important;
}

html[data-theme='dark'] body main.app .checkout-stage-grid,
body.theme-dark main.app .checkout-stage-grid {
  margin-top: 0 !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card,
html[data-theme='dark'] body main.app .checkout-panel-card,
body.theme-dark main.app .checkout-summary-card,
body.theme-dark main.app .checkout-panel-card {
  background: #111928 !important;
  color: #f8fafc !important;
  border-color: rgba(148, 163, 184, 0.30) !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card :is(h2, h3, b),
html[data-theme='dark'] body main.app .checkout-panel-card :is(h2, h3, b),
body.theme-dark main.app .checkout-summary-card :is(h2, h3, b),
body.theme-dark main.app .checkout-panel-card :is(h2, h3, b) {
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card :is(p, small, label, legend, .summary-line, .checkout-payment-heading p, .checkout-payment-choice-copy small),
html[data-theme='dark'] body main.app .checkout-panel-card :is(p, small, label, legend, .summary-line, .checkout-payment-heading p, .checkout-payment-choice-copy small),
body.theme-dark main.app .checkout-summary-card :is(p, small, label, legend, .summary-line, .checkout-payment-heading p, .checkout-payment-choice-copy small),
body.theme-dark main.app .checkout-panel-card :is(p, small, label, legend, .summary-line, .checkout-payment-heading p, .checkout-payment-choice-copy small) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-line span:last-child,
body.theme-dark main.app .checkout-summary-card .summary-line span:last-child {
  color: #e7eef8 !important;
}

html[data-theme='dark'] body main.app .checkout-plan-tile,
body.theme-dark main.app .checkout-plan-tile {
  background: #f8fafc !important;
  border-color: rgba(226, 232, 240, 0.92) !important;
}

html[data-theme='dark'] body main.app .checkout-plan-tile :is(h3, strong),
body.theme-dark main.app .checkout-plan-tile :is(h3, strong) {
  color: #081225 !important;
}

html[data-theme='dark'] body main.app .checkout-plan-tile :is(p, small, em),
body.theme-dark main.app .checkout-plan-tile :is(p, small, em) {
  color: #66748c !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-total,
body.theme-dark main.app .checkout-summary-card .summary-total {
  background: #fff3f5 !important;
  color: #081225 !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-total span:first-child,
body.theme-dark main.app .checkout-summary-card .summary-total span:first-child {
  color: #081225 !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-total span:last-child,
body.theme-dark main.app .checkout-summary-card .summary-total span:last-child {
  color: #e50914 !important;
}

html[data-theme='dark'] body main.app :is(.checkout-payment-choice, .checkout-wallet-toggle, .checkout-coupon-field, .checkout-stripe-card),
body.theme-dark main.app :is(.checkout-payment-choice, .checkout-wallet-toggle, .checkout-coupon-field, .checkout-stripe-card) {
  background: #172132 !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app .checkout-payment-choice:has(input:checked),
body.theme-dark main.app .checkout-payment-choice:has(input:checked) {
  background: #1a2536 !important;
  border-color: rgba(229, 9, 20, 0.42) !important;
}

html[data-theme='dark'] body main.app .checkout-coupon-field input,
body.theme-dark main.app .checkout-coupon-field input {
  background: #0f1726 !important;
  border-color: rgba(148, 163, 184, 0.26) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app .checkout-safety-strip,
html[data-theme='dark'] body main.app .checkout-fast-trust,
body.theme-dark main.app .checkout-safety-strip,
body.theme-dark main.app .checkout-fast-trust {
  background: #111928 !important;
  border-color: rgba(148, 163, 184, 0.26) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.34) !important;
}

html[data-theme='dark'] body main.app :is(.checkout-safety-strip, .checkout-fast-trust) span,
body.theme-dark main.app :is(.checkout-safety-strip, .checkout-fast-trust) span {
  border-color: rgba(148, 163, 184, 0.18) !important;
}

html[data-theme='dark'] body main.app :is(.checkout-safety-strip, .checkout-fast-trust) b,
body.theme-dark main.app :is(.checkout-safety-strip, .checkout-fast-trust) b {
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app :is(.checkout-safety-strip, .checkout-fast-trust) small,
body.theme-dark main.app :is(.checkout-safety-strip, .checkout-fast-trust) small {
  color: #aeb9c9 !important;
}

/* AleoFly v315: make the checkout order summary fully native in dark mode. */
body main.app .checkout-hero h1 {
  line-height: 1.06 !important;
}

@media (min-width: 861px) {
  html[data-theme='dark'] body main.app .checkout-page-v113,
  body.theme-dark main.app .checkout-page-v113 {
    padding-top: 22px !important;
  }

  html[data-theme='dark'] body main.app .checkout-hero,
  body.theme-dark main.app .checkout-hero {
    min-height: 188px !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

html[data-theme='dark'] body main.app .checkout-summary-card h2 > span,
body.theme-dark main.app .checkout-summary-card h2 > span {
  background: rgba(229, 9, 20, 0.14) !important;
  color: #ff5b65 !important;
}

html[data-theme='dark'] body main.app .checkout-plan-tile,
body.theme-dark main.app .checkout-plan-tile {
  background:
    radial-gradient(circle at 10% 0%, rgba(229, 9, 20, 0.10), transparent 32%),
    linear-gradient(180deg, #172132 0%, #101827 100%) !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 16px 34px rgba(0, 0, 0, 0.18) !important;
}

html[data-theme='dark'] body main.app .checkout-plan-copy h3,
html[data-theme='dark'] body main.app .checkout-plan-tile > strong,
body.theme-dark main.app .checkout-plan-copy h3,
body.theme-dark main.app .checkout-plan-tile > strong {
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app .checkout-plan-copy h3 em,
body.theme-dark main.app .checkout-plan-copy h3 em {
  background: rgba(96, 165, 250, 0.14) !important;
  color: #bfdbfe !important;
  border: 1px solid rgba(96, 165, 250, 0.20) !important;
}

html[data-theme='dark'] body main.app .checkout-plan-meta,
body.theme-dark main.app .checkout-plan-meta {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] body main.app .checkout-plan-meta i,
body.theme-dark main.app .checkout-plan-meta i {
  color: #64748b !important;
}

html[data-theme='dark'] body main.app .checkout-plan-copy small,
body.theme-dark main.app .checkout-plan-copy small {
  color: #9bb7df !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-total,
body.theme-dark main.app .checkout-summary-card .summary-total {
  background:
    radial-gradient(circle at 88% 20%, rgba(229, 9, 20, 0.20), transparent 36%),
    linear-gradient(180deg, rgba(229, 9, 20, 0.085), rgba(229, 9, 20, 0.045)) !important;
  border-color: rgba(229, 9, 20, 0.32) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 16px 34px rgba(0, 0, 0, 0.22) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-total span:first-child,
body.theme-dark main.app .checkout-summary-card .summary-total span:first-child {
  color: #f8fafc !important;
}

html[data-theme='dark'] body main.app .checkout-summary-card .summary-total span:last-child,
body.theme-dark main.app .checkout-summary-card .summary-total span:last-child {
  color: #ff1f2d !important;
  text-shadow: 0 8px 22px rgba(229, 9, 20, 0.22) !important;
}

/* AleoFly v316: account preference tabs/cards dark-mode leak lock. */
html[data-theme='dark'] body:has(.account-data-shell-v175),
body.theme-dark:has(.account-data-shell-v175) {
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.14), transparent 30%),
    radial-gradient(circle at 84% 10%, rgba(37, 99, 235, 0.10), transparent 32%),
    linear-gradient(180deg, #080c14 0%, #050912 100%) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] main.app:has(.account-data-shell-v175),
body.theme-dark main.app:has(.account-data-shell-v175) {
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.12), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(37, 99, 235, 0.10), transparent 30%),
    linear-gradient(180deg, #080d17 0%, #050912 100%) !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(.account-side-panel, .account-main-panel, .account-settings-head-v183, .account-settings-card-v183, .account-safe-strip, .account-safe-strip span),
body.theme-dark .account-data-shell-v175 :is(.account-side-panel, .account-main-panel, .account-settings-head-v183, .account-settings-card-v183, .account-safe-strip, .account-safe-strip span) {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(229, 9, 20, 0.06), transparent 34%),
    linear-gradient(180deg, #111928 0%, #0d1422 100%) !important;
  color: #f8fafc !important;
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.36) !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-settings-head-v183,
body.theme-dark .account-data-shell-v175 .account-settings-head-v183 {
  background:
    radial-gradient(circle at 85% 0%, rgba(37, 99, 235, 0.10), transparent 32%),
    linear-gradient(180deg, #141d2d 0%, #101827 100%) !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(h1, h2, h3, strong, b, label),
body.theme-dark .account-data-shell-v175 :is(h1, h2, h3, strong, b, label) {
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(p, small, em, li, .account-side-group > span),
body.theme-dark .account-data-shell-v175 :is(p, small, em, li, .account-side-group > span) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-side-group a,
body.theme-dark .account-data-shell-v175 .account-side-group a {
  border-color: transparent !important;
  background: transparent !important;
  color: #d8e1ee !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-side-group a:hover,
body.theme-dark .account-data-shell-v175 .account-side-group a:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-side-group a.active,
body.theme-dark .account-data-shell-v175 .account-side-group a.active {
  background: rgba(229, 9, 20, 0.22) !important;
  color: #ff8a95 !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-menu-ico,
body.theme-dark .account-data-shell-v175 .account-menu-ico {
  background: rgba(255, 255, 255, 0.075) !important;
  color: #ff6b79 !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-side-group a.active .account-menu-ico,
body.theme-dark .account-data-shell-v175 .account-side-group a.active .account-menu-ico {
  background: rgba(229, 9, 20, 0.24) !important;
  color: #ff9aa4 !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 {
  background:
    linear-gradient(180deg, rgba(17, 25, 40, 0.98), rgba(11, 17, 29, 0.99)) !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(.account-option-card-v183 button, .account-notification-form-v183 label, .account-security-list-v183 > span, .account-notification-feed-v241 article, .account-notification-preferences-v250 > span, .account-notification-toggle-v250),
body.theme-dark .account-data-shell-v175 :is(.account-option-card-v183 button, .account-notification-form-v183 label, .account-security-list-v183 > span, .account-notification-feed-v241 article, .account-notification-preferences-v250 > span, .account-notification-toggle-v250) {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background:
    radial-gradient(circle at 6% 0%, rgba(37, 99, 235, 0.08), transparent 32%),
    linear-gradient(180deg, #172132 0%, #111928 100%) !important;
  color: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 14px 30px rgba(0, 0, 0, 0.20) !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(.account-option-card-v183 button:hover, .account-notification-form-v183 label:hover),
body.theme-dark .account-data-shell-v175 :is(.account-option-card-v183 button:hover, .account-notification-form-v183 label:hover) {
  border-color: rgba(96, 165, 250, 0.32) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(37, 99, 235, 0.14), transparent 34%),
    linear-gradient(180deg, #1b2638 0%, #121c2d 100%) !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 button.active,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 button.active {
  border-color: rgba(229, 9, 20, 0.48) !important;
  background:
    radial-gradient(circle at 88% 28%, rgba(229, 9, 20, 0.22), transparent 36%),
    linear-gradient(180deg, #4b1420 0%, #32101a 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045), 0 18px 36px rgba(229, 9, 20, 0.12) !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 :is(b, small),
body.theme-dark .account-data-shell-v175 .account-option-card-v183 :is(b, small) {
  color: inherit !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 button:not(.active) small,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 button:not(.active) small {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 button.active small,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 button.active small {
  color: #f6cbd0 !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(.account-option-card-v183 .ui-icon, .account-notification-form-v183 .ui-icon, .account-security-list-v183 .ui-icon),
body.theme-dark .account-data-shell-v175 :is(.account-option-card-v183 .ui-icon, .account-notification-form-v183 .ui-icon, .account-security-list-v183 .ui-icon) {
  background: rgba(96, 165, 250, 0.14) !important;
  color: #60a5fa !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 button.active .ui-icon,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 button.active .ui-icon {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 em,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 em {
  color: #ffffff !important;
}

html[data-theme='dark'] .account-data-shell-v175 .account-option-card-v183 em .ui-icon,
body.theme-dark .account-data-shell-v175 .account-option-card-v183 em .ui-icon {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
}

html[data-theme='dark'] .account-data-shell-v175 :is(input, select, textarea),
body.theme-dark .account-data-shell-v175 :is(input, select, textarea) {
  border-color: rgba(148, 163, 184, 0.24) !important;
  background: #0f1726 !important;
  color: #f8fafc !important;
}

/* AleoFly v316b: hard lock every account tab/card surface in dark mode. */
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-side-panel, .account-main-panel, .account-main-panel > section, .account-main-panel > article, .account-settings-head-v183, .account-settings-card-v183),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-side-panel, .account-main-panel, .account-main-panel > section, .account-main-panel > article, .account-settings-head-v183, .account-settings-card-v183) {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.055), transparent 34%),
    linear-gradient(180deg, #111928 0%, #0c1320 100%) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-settings-head-v183 *,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-settings-head-v183 * {
  color: inherit !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-settings-head-v183 p,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-settings-head-v183 p {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-side-group a,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-side-group a,
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-sidebar-logout-v254,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-sidebar-logout-v254 {
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #d8e1ee !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-side-group a:is(:hover, .active),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-side-group a:is(:hover, .active),
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-sidebar-logout-v254:hover,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-sidebar-logout-v254:hover {
  border-color: rgba(229, 9, 20, 0.20) !important;
  background: rgba(229, 9, 20, 0.18) !important;
  color: #ffffff !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-option-card-v183 button:not(.active),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-option-card-v183 button:not(.active),
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is([data-language-choice], [data-currency-choice], [data-theme-choice]):not(.active),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is([data-language-choice], [data-currency-choice], [data-theme-choice]):not(.active) {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background:
    radial-gradient(circle at 5% 0%, rgba(96, 165, 250, 0.08), transparent 34%),
    linear-gradient(180deg, #172132 0%, #101827 100%) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-option-card-v183 button *,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-option-card-v183 button *,
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is([data-language-choice], [data-currency-choice], [data-theme-choice]) *,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is([data-language-choice], [data-currency-choice], [data-theme-choice]) * {
  color: inherit !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-option-card-v183 button:not(.active) small,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-option-card-v183 button:not(.active) small {
  color: #aeb9c9 !important;
}

/* AleoFly v317: dark home must not look squeezed inside the page background. */
@media (min-width: 761px) {
  html[data-theme='dark'] body:has(.aleo-home-v59),
  body.theme-dark:has(.aleo-home-v59) {
    background: #090d16 !important;
    overflow-x: hidden !important;
  }

  html[data-theme='dark'] main.app:has(.aleo-home-v59),
  body.theme-dark main.app:has(.aleo-home-v59) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.12), transparent 31%),
      linear-gradient(180deg, #090d16 0%, #070b13 58%, #050810 100%) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: clamp(42px, 5vw, 96px) !important;
    padding-left: clamp(42px, 5vw, 96px) !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > :is(.home-trip-selector, .home-premium-status-strip, .aleo-popular, .home-recommended-plans, .home-premium-finder, .home-regional-plans, .home-why, .home-testimonials, .home-premium-trust-strip, .home-operator-rail),
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > :is(.home-trip-selector, .home-premium-status-strip, .aleo-popular, .home-recommended-plans, .home-premium-finder, .home-regional-plans, .home-why, .home-testimonials, .home-premium-trust-strip, .home-operator-rail) {
    width: min(1696px, calc(100vw - 96px)) !important;
    max-width: calc(100vw - 96px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* AleoFly v318: final account profile/sidebar cleanup. */
body:has(.account-data-shell-v175) {
  padding-top: 172px !important;
}

.account-data-shell-v175 {
  padding-top: 34px !important;
}

.account-data-shell-v175 .account-side-panel,
.account-dashboard-v174 .account-side-panel {
  top: 156px !important;
  max-height: calc(100dvh - 176px) !important;
  overflow: hidden auto !important;
}

.account-profile-avatar-row-v183 .account-avatar-button {
  width: 76px !important;
  height: 76px !important;
  flex: 0 0 76px !important;
  display: grid !important;
  place-items: center !important;
}

.account-profile-avatar-row-v183 .account-avatar {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  min-height: 76px !important;
  padding: 0 !important;
  display: inline-grid !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.account-profile-avatar-row-v183 .account-avatar :is(span, i, b) {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: initial;
  color: inherit !important;
  display: block !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-hair,
.account-profile-avatar-row-v183 .account-avatar .account-avatar-face,
.account-profile-avatar-row-v183 .account-avatar .account-avatar-eye,
.account-profile-avatar-row-v183 .account-avatar .account-avatar-smile {
  position: absolute !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-hair {
  width: 63% !important;
  height: 42% !important;
  top: 12% !important;
  left: 18% !important;
  background: var(--avatar-hair, #1b1720) !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-face {
  width: 58% !important;
  height: 64% !important;
  bottom: 13% !important;
  left: 21% !important;
  background: var(--avatar-skin, #d88b62) !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-eye {
  width: 7% !important;
  height: 7% !important;
  top: 45% !important;
  border-radius: 999px !important;
  background: #1f2937 !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-eye-left {
  left: 30% !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-eye-right {
  right: 30% !important;
}

.account-profile-avatar-row-v183 .account-avatar .account-avatar-smile {
  width: 24% !important;
  height: 10% !important;
  left: 38% !important;
  bottom: 27% !important;
  border-bottom: 2px solid rgba(31, 41, 55, 0.75) !important;
  border-radius: 0 0 999px 999px !important;
  background: transparent !important;
}

.account-side-session-v318 {
  padding-top: 14px !important;
}

.account-sidebar-logout-v254 {
  width: 100% !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #e50914 !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.account-sidebar-logout-v254:hover,
.account-sidebar-logout-v254:focus-visible {
  border-color: rgba(229, 9, 20, 0.20) !important;
  background: #fff0f2 !important;
  color: #d90412 !important;
}

.account-profile-editor-v183,
.account-details-card-v183 {
  min-width: 0 !important;
  overflow: hidden !important;
}

.account-settings-form-v183 {
  grid-template-columns: 1fr !important;
}

.account-info-row-v183 {
  min-width: 0 !important;
}

.account-info-row-v183 strong {
  max-width: min(62%, 360px) !important;
}

html[data-theme='dark'] .account-sidebar-logout-v254,
body.theme-dark .account-sidebar-logout-v254 {
  background: transparent !important;
  color: #ff8a95 !important;
}

html[data-theme='dark'] .account-sidebar-logout-v254:hover,
body.theme-dark .account-sidebar-logout-v254:hover,
html[data-theme='dark'] .account-sidebar-logout-v254:focus-visible,
body.theme-dark .account-sidebar-logout-v254:focus-visible {
  border-color: rgba(229, 9, 20, 0.25) !important;
  background: rgba(229, 9, 20, 0.18) !important;
  color: #ffffff !important;
}

/* AleoFly v319: connect the dark home hero and trip selector into one visual system. */
@media (min-width: 761px) {
  html[data-theme='dark'] main.app:has(.aleo-home-v59),
  body.theme-dark main.app:has(.aleo-home-v59) {
    background:
      radial-gradient(circle at 5% 0%, rgba(229, 9, 20, 0.16), transparent 28%),
      radial-gradient(circle at 92% 13%, rgba(59, 130, 246, 0.10), transparent 30%),
      linear-gradient(180deg, #090d16 0%, #101827 44%, #080d16 100%) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero {
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background:
      linear-gradient(100deg, rgba(9, 13, 22, 0.99) 0%, rgba(15, 23, 39, 0.97) 50%, rgba(42, 18, 30, 0.82) 100%),
      var(--hero-bg, none) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(32px, 2.8vw, 52px) 0 clamp(34px, 3.1vw, 58px) !important;
    border: 0 !important;
    border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
    border-radius: 0 !important;
    background:
      radial-gradient(circle at 16% 0%, rgba(229, 9, 20, 0.11), transparent 34%),
      radial-gradient(circle at 84% 0%, rgba(59, 130, 246, 0.10), transparent 32%),
      linear-gradient(180deg, #101827 0%, #101725 48%, #0a101b 100%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.035),
      inset 0 -1px 0 rgba(255, 255, 255, 0.035) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector > :is(header, .home-trip-grid, .home-best-price-row),
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector > :is(header, .home-trip-grid, .home-best-price-row) {
    width: min(1696px, calc(100vw - 96px)) !important;
    max-width: calc(100vw - 96px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector > header,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector > header {
    margin-bottom: clamp(18px, 1.7vw, 30px) !important;
  }

  html[data-theme='dark'] .home-trip-selector h2,
  body.theme-dark .home-trip-selector h2 {
    color: #f8fafc !important;
  }

  html[data-theme='dark'] .home-trip-selector p,
  body.theme-dark .home-trip-selector p {
    color: #aeb9c9 !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card,
  body.theme-dark .home-trip-selector .home-trip-card {
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
    background: linear-gradient(180deg, #151d2d 0%, #101827 100%) !important;
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.26) !important;
    transition:
      transform 240ms ease,
      border-color 240ms ease,
      box-shadow 240ms ease,
      background 240ms ease !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card.home-one,
  body.theme-dark .home-trip-selector .home-trip-card.home-one {
    background:
      radial-gradient(circle at 16% 20%, rgba(229, 9, 20, 0.19), transparent 39%),
      linear-gradient(180deg, #151d2d 0%, #101827 100%) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card.home-multi,
  body.theme-dark .home-trip-selector .home-trip-card.home-multi {
    background:
      radial-gradient(circle at 16% 20%, rgba(37, 99, 235, 0.18), transparent 39%),
      linear-gradient(180deg, #151d2d 0%, #101827 100%) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card:hover,
  body.theme-dark .home-trip-selector .home-trip-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 26px 58px rgba(0, 0, 0, 0.34) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card .home-trip-copy strong,
  body.theme-dark .home-trip-selector .home-trip-card .home-trip-copy strong {
    color: #f8fafc !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card .home-trip-copy small,
  body.theme-dark .home-trip-selector .home-trip-card .home-trip-copy small {
    color: #b7c1d1 !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card > b,
  body.theme-dark .home-trip-selector .home-trip-card > b {
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-best-price-row,
  body.theme-dark .home-trip-selector .home-best-price-row {
    margin-top: clamp(22px, 2vw, 34px) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background:
      linear-gradient(90deg, rgba(229, 9, 20, 0.13) 0%, rgba(15, 23, 42, 0.94) 48%, rgba(15, 23, 42, 0.88) 100%) !important;
    color: #f8fafc !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-best-price-row small,
  body.theme-dark .home-trip-selector .home-best-price-row small {
    color: #b7c1d1 !important;
  }
}

/* AleoFly v320: make the dark home opening read as one continuous premium scene. */
@media (min-width: 761px) {
  html[data-theme='dark'] main.app:has(.aleo-home-v59),
  body.theme-dark main.app:has(.aleo-home-v59) {
    background:
      radial-gradient(circle at 8% 0%, rgba(229, 9, 20, 0.12), transparent 30%),
      radial-gradient(circle at 91% 7%, rgba(37, 99, 235, 0.11), transparent 31%),
      linear-gradient(180deg, #070b13 0%, #0b1220 40%, #080d16 100%) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero {
    position: relative !important;
    isolation: isolate !important;
    min-height: clamp(510px, 36vw, 610px) !important;
    padding-top: clamp(76px, 5vw, 104px) !important;
    padding-bottom: clamp(42px, 3.6vw, 70px) !important;
    overflow: hidden !important;
    background:
      radial-gradient(ellipse at 73% 44%, rgba(255, 255, 255, 0.10), transparent 38%),
      radial-gradient(circle at 11% 12%, rgba(229, 9, 20, 0.11), transparent 31%),
      linear-gradient(100deg, #090d16 0%, #101827 48%, #111a2b 68%, #0a101b 100%),
      var(--hero-bg, none) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero::after,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: -1px !important;
    left: 0 !important;
    z-index: 1 !important;
    height: clamp(118px, 9vw, 170px) !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg, rgba(11, 18, 32, 0) 0%, rgba(11, 18, 32, 0.72) 57%, #0b1220 100%) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero > *,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .aleo-home-hero > * {
    position: relative !important;
    z-index: 2 !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref .hero-copy,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref .hero-copy {
    align-self: center !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref .aleo-home-art::after,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref .aleo-home-art::after {
    background:
      linear-gradient(90deg, #0b1220 0%, rgba(11, 18, 32, 0.92) 12%, rgba(11, 18, 32, 0.30) 31%, rgba(11, 18, 32, 0) 58%, rgba(11, 18, 32, 0.42) 82%, #0b1220 100%),
      linear-gradient(180deg, rgba(11, 18, 32, 0.70) 0%, rgba(11, 18, 32, 0.08) 28%, rgba(11, 18, 32, 0.03) 64%, #0b1220 100%) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref .home-hero-art-img,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref .home-hero-art-img {
    filter:
      drop-shadow(0 30px 46px rgba(0, 0, 0, 0.30))
      saturate(1.02)
      contrast(0.98) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector {
    margin-top: -1px !important;
    padding-top: clamp(42px, 3.2vw, 62px) !important;
    border-top: 0 !important;
    border-bottom-color: rgba(148, 163, 184, 0.10) !important;
    background:
      radial-gradient(circle at 18% 2%, rgba(229, 9, 20, 0.07), transparent 30%),
      radial-gradient(circle at 82% 5%, rgba(37, 99, 235, 0.08), transparent 31%),
      linear-gradient(180deg, #0b1220 0%, #0f1726 46%, #0a101b 100%) !important;
    box-shadow: inset 0 56px 84px rgba(7, 11, 19, 0.22) !important;
  }

  html[data-theme='dark'] .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector > header,
  body.theme-dark .aleo-home-v59.aleo-home-desktop-ref > .home-trip-selector > header {
    margin-bottom: clamp(24px, 2.1vw, 38px) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card,
  body.theme-dark .home-trip-selector .home-trip-card {
    border-color: rgba(148, 163, 184, 0.22) !important;
    background:
      linear-gradient(135deg, rgba(21, 29, 45, 0.98) 0%, rgba(13, 20, 33, 0.98) 100%) !important;
    box-shadow:
      0 22px 50px rgba(0, 0, 0, 0.26),
      inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card.home-one,
  body.theme-dark .home-trip-selector .home-trip-card.home-one {
    background:
      radial-gradient(circle at 0% 0%, rgba(229, 9, 20, 0.15), transparent 35%),
      linear-gradient(135deg, rgba(21, 29, 45, 0.98) 0%, rgba(13, 20, 33, 0.98) 100%) !important;
  }

  html[data-theme='dark'] .home-trip-selector .home-trip-card.home-multi,
  body.theme-dark .home-trip-selector .home-trip-card.home-multi {
    background:
      radial-gradient(circle at 0% 0%, rgba(37, 99, 235, 0.14), transparent 35%),
      linear-gradient(135deg, rgba(21, 29, 45, 0.98) 0%, rgba(13, 20, 33, 0.98) 100%) !important;
  }
}

/* AleoFly v321: seal the mobile dark operator rail leak near the footer. */
@media (max-width: 760px) {
  html[data-theme='dark'] body:has(.aleo-home-v59),
  body.theme-dark:has(.aleo-home-v59) {
    background: #050913 !important;
  }

  html[data-theme='dark'] main.app:has(.aleo-home-v59),
  body.theme-dark main.app:has(.aleo-home-v59) {
    background:
      radial-gradient(circle at 50% -8%, rgba(229, 9, 20, 0.12), transparent 34%),
      linear-gradient(180deg, #050913 0%, #070d18 48%, #050913 100%) !important;
  }

  html[data-theme='dark'] .aleo-home-v59 > .home-operator-rail,
  body.theme-dark .aleo-home-v59 > .home-operator-rail {
    margin-top: 14px !important;
    background: transparent !important;
  }

  html[data-theme='dark'] .aleo-home-v59 > .home-operator-rail .home-operator-rail-shell,
  body.theme-dark .aleo-home-v59 > .home-operator-rail .home-operator-rail-shell {
    overflow: hidden !important;
    border: 1px solid rgba(148, 163, 184, 0.20) !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.22), transparent 36%),
      radial-gradient(circle at 90% 100%, rgba(37, 99, 235, 0.18), transparent 36%),
      linear-gradient(180deg, #111827 0%, #0b1220 58%, #070d18 100%) !important;
    box-shadow:
      0 22px 50px rgba(0, 0, 0, 0.38),
      inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
  }

  html[data-theme='dark'] .home-operator-rail-shell::before,
  body.theme-dark .home-operator-rail-shell::before {
    background:
      linear-gradient(90deg, rgba(229, 9, 20, 0.18), transparent 36%, transparent 64%, rgba(37, 99, 235, 0.14)),
      linear-gradient(135deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 22px) !important;
    opacity: 0.64 !important;
  }

  html[data-theme='dark'] .home-operator-rail-copy span,
  body.theme-dark .home-operator-rail-copy span {
    border-color: rgba(255, 114, 123, 0.28) !important;
    background: rgba(229, 9, 20, 0.15) !important;
    color: #ff7f8a !important;
  }

  html[data-theme='dark'] .home-operator-rail-copy strong,
  body.theme-dark .home-operator-rail-copy strong {
    color: #f8fafc !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
  }

  html[data-theme='dark'] .home-operator-rail-copy small,
  body.theme-dark .home-operator-rail-copy small {
    color: #aeb9c9 !important;
  }

  html[data-theme='dark'] .home-operator-marquee,
  body.theme-dark .home-operator-marquee {
    background: transparent !important;
  }

  html[data-theme='dark'] .home-operator-logo-pill,
  body.theme-dark .home-operator-logo-pill {
    border-color: rgba(226, 232, 240, 0.12) !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.94) 100%) !important;
    box-shadow:
      0 12px 24px rgba(0, 0, 0, 0.26),
      inset 0 1px 0 rgba(255, 255, 255, 0.70) !important;
  }

  html[data-theme='dark'] #site-footer,
  body.theme-dark #site-footer {
    background: #050913 !important;
  }
}

/* AleoFly v322: slow living map dots and existing hero-art motion. */
.home-premium-map::before {
  animation: aleoPremiumMapGridBreathe 46s ease-in-out infinite !important;
  will-change: background-position, opacity !important;
}

.home-premium-map-dot {
  --dot-drift-x: 4px;
  --dot-drift-y: -3px;
  --dot-ring: rgba(31, 122, 236, 0.13);
  --dot-ring-live: rgba(31, 122, 236, 0.20);
  --dot-shadow: rgba(31, 122, 236, 0.24);
  --dot-shadow-live: rgba(31, 122, 236, 0.34);
  animation: aleoPremiumMapDotLive 34s ease-in-out infinite !important;
  will-change: transform, box-shadow !important;
}

.home-premium-map-dot.red {
  --dot-drift-x: 3px;
  --dot-drift-y: -2px;
  --dot-ring: rgba(229, 9, 20, 0.12);
  --dot-ring-live: rgba(229, 9, 20, 0.22);
  --dot-shadow: rgba(229, 9, 20, 0.22);
  --dot-shadow-live: rgba(229, 9, 20, 0.36);
  animation-duration: 42s !important;
}

.home-premium-map-dot:nth-of-type(2) {
  --dot-drift-x: -3px;
  --dot-drift-y: 3px;
  animation-delay: -8s !important;
}

.home-premium-map-dot:nth-of-type(3) {
  --dot-drift-x: 5px;
  --dot-drift-y: 2px;
  animation-delay: -16s !important;
}

.home-premium-map-dot:nth-of-type(4) {
  --dot-drift-x: -4px;
  --dot-drift-y: -2px;
  animation-delay: -23s !important;
}

.home-premium-map-dot:nth-of-type(5) {
  --dot-drift-x: 3px;
  --dot-drift-y: 4px;
  animation-delay: -31s !important;
}

.home-premium-map-dot:nth-of-type(6) {
  --dot-drift-x: -5px;
  --dot-drift-y: 2px;
  animation-delay: -12s !important;
}

.home-premium-map-dot:nth-of-type(7) {
  --dot-drift-x: 4px;
  --dot-drift-y: -4px;
  animation-delay: -27s !important;
}

@media (min-width: 761px) {
  .aleo-home-desktop-ref .aleo-home-art > .home-hero-art-img {
    animation: aleoHomeHeroExistingArtGlide 38s ease-in-out infinite !important;
    transform-origin: 54% 56% !important;
    will-change: transform !important;
  }
}

@keyframes aleoPremiumMapGridBreathe {
  0%,
  100% {
    opacity: 0.66;
    background-position: center, 19px 13px;
  }
  45% {
    opacity: 0.84;
    background-position: 12px 3px, 31px 20px;
  }
  72% {
    opacity: 0.74;
    background-position: -8px 7px, 9px 4px;
  }
}

@keyframes aleoPremiumMapDotLive {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    box-shadow: 0 0 0 7px var(--dot-ring), 0 6px 14px var(--dot-shadow);
  }
  34% {
    transform: translate3d(var(--dot-drift-x), var(--dot-drift-y), 0) scale(1.035);
    box-shadow: 0 0 0 10px var(--dot-ring-live), 0 8px 20px var(--dot-shadow-live);
  }
  68% {
    transform: translate3d(calc(var(--dot-drift-x) * -0.62), calc(var(--dot-drift-y) * 0.72), 0) scale(0.985);
    box-shadow: 0 0 0 6px var(--dot-ring), 0 5px 13px var(--dot-shadow);
  }
}

@keyframes aleoHomeHeroExistingArtGlide {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  38% {
    transform: translate3d(10px, -5px, 0) scale(1.006);
  }
  70% {
    transform: translate3d(-7px, 3px, 0) scale(1.002);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-premium-map::before,
  .home-premium-map-dot,
  .aleo-home-desktop-ref .aleo-home-art > .home-hero-art-img {
    animation: none !important;
    transform: none !important;
  }
}

/* AleoFly v323: lock every buyer-account surface to the dark theme. */
html[data-theme='dark'] body:has(.account-dashboard-v174),
body.theme-dark:has(.account-dashboard-v174),
html[data-theme='dark'] body:has(.account-data-shell-v175),
body.theme-dark:has(.account-data-shell-v175) {
  background:
    radial-gradient(circle at 5% 0%, rgba(229, 9, 20, 0.14), transparent 30%),
    radial-gradient(circle at 94% 11%, rgba(37, 99, 235, 0.11), transparent 32%),
    linear-gradient(180deg, #060a12 0%, #08101d 44%, #050913 100%) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] main.app:has(.account-dashboard-v174),
body.theme-dark main.app:has(.account-dashboard-v174),
html[data-theme='dark'] main.app:has(.account-data-shell-v175),
body.theme-dark main.app:has(.account-data-shell-v175) {
  background:
    radial-gradient(circle at 10% 0%, rgba(229, 9, 20, 0.11), transparent 28%),
    radial-gradient(circle at 90% 14%, rgba(59, 130, 246, 0.10), transparent 31%),
    linear-gradient(180deg, #070b14 0%, #0c1421 46%, #050913 100%) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175,
body.theme-dark .account-dashboard-v174.account-data-shell-v175,
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-data-main-v175,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-data-main-v175 {
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(
  .account-side-panel,
  .account-main-panel,
  .account-settings-head-v183,
  .account-settings-card-v183,
  .account-empty-panel-v183,
  .account-continue-card-v184,
  .account-order-stats-v183 > span,
  .account-order-card-v183,
  .account-order-card-v184,
  .account-order-usage-v184 span,
  .account-esim-stats-v175 > span,
  .account-esim-summary-card,
  .account-esim-tabs-v175,
  .account-esim-tabs-v175 > span,
  .account-esim-tabs-v175 label,
  .account-esim-row-v175,
  .account-esim-row-stats span,
  .account-esim-pick-card > a,
  .account-esim-detail-metrics-v175,
  .account-esim-detail-metrics-v175 span,
  .account-esim-detail-table-v175,
  .account-esim-setup-card-v175,
  .account-install-qr-card-v175,
  .account-install-guide-card-v175,
  .account-install-guide-card-v175 > a,
  .account-activation-card-v175,
  .account-activation-side-v175,
  .account-activation-side-v175 > div,
  .account-activation-side-v175 > a,
  .account-receipt-paper-v260,
  .account-safe-strip,
  .account-safe-strip span
),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(
  .account-side-panel,
  .account-main-panel,
  .account-settings-head-v183,
  .account-settings-card-v183,
  .account-empty-panel-v183,
  .account-continue-card-v184,
  .account-order-stats-v183 > span,
  .account-order-card-v183,
  .account-order-card-v184,
  .account-order-usage-v184 span,
  .account-esim-stats-v175 > span,
  .account-esim-summary-card,
  .account-esim-tabs-v175,
  .account-esim-tabs-v175 > span,
  .account-esim-tabs-v175 label,
  .account-esim-row-v175,
  .account-esim-row-stats span,
  .account-esim-pick-card > a,
  .account-esim-detail-metrics-v175,
  .account-esim-detail-metrics-v175 span,
  .account-esim-detail-table-v175,
  .account-esim-setup-card-v175,
  .account-install-qr-card-v175,
  .account-install-guide-card-v175,
  .account-install-guide-card-v175 > a,
  .account-activation-card-v175,
  .account-activation-side-v175,
  .account-activation-side-v175 > div,
  .account-activation-side-v175 > a,
  .account-receipt-paper-v260,
  .account-safe-strip,
  .account-safe-strip span
) {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(229, 9, 20, 0.055), transparent 34%),
    radial-gradient(circle at 96% 18%, rgba(37, 99, 235, 0.08), transparent 34%),
    linear-gradient(180deg, #111928 0%, #0b1220 100%) !important;
  color: #f8fafc !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 46px rgba(0, 0, 0, 0.30) !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(
  .account-order-stats-v183 > span,
  .account-esim-stats-v175 > span,
  .account-esim-summary-card,
  .account-order-usage-v184 span,
  .account-continue-metrics-v184 b,
  .account-esim-row-stats span,
  .account-esim-detail-metrics-v175 span
),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(
  .account-order-stats-v183 > span,
  .account-esim-stats-v175 > span,
  .account-esim-summary-card,
  .account-order-usage-v184 span,
  .account-continue-metrics-v184 b,
  .account-esim-row-stats span,
  .account-esim-detail-metrics-v175 span
) {
  border-color: rgba(148, 163, 184, 0.20) !important;
  background:
    linear-gradient(180deg, rgba(22, 31, 48, 0.96), rgba(13, 20, 33, 0.98)) !important;
  color: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(
  h1,
  h2,
  h3,
  strong,
  b,
  label,
  dt,
  dd,
  code,
  .account-order-card-total-v183
),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(
  h1,
  h2,
  h3,
  strong,
  b,
  label,
  dt,
  dd,
  code,
  .account-order-card-total-v183
) {
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(
  p,
  small,
  em,
  time,
  .account-settings-head-v183 p,
  .account-order-card-main-v183 small,
  .account-order-card-main-v183 span,
  .account-order-card-meta-v183 span,
  .account-esim-row-meta small,
  .account-esim-detail-table-v175 dt,
  .account-install-guide-card-v175 > span
),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(
  p,
  small,
  em,
  time,
  .account-settings-head-v183 p,
  .account-order-card-main-v183 small,
  .account-order-card-main-v183 span,
  .account-order-card-meta-v183 span,
  .account-esim-row-meta small,
  .account-esim-detail-table-v175 dt,
  .account-install-guide-card-v175 > span
) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.btn, .account-data-main-v175 .btn),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.btn, .account-data-main-v175 .btn) {
  color: #ffffff !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.btn-ghost, .account-order-card-action-v183, .account-order-card-actions-v184),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.btn-ghost, .account-order-card-action-v183, .account-order-card-actions-v184) {
  border-color: rgba(255, 114, 123, 0.26) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)) !important;
  color: #ff8a95 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(
  .account-order-status,
  .account-esim-status,
  .account-esim-pills span,
  .account-esim-pick-card header span
),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(
  .account-order-status,
  .account-esim-status,
  .account-esim-pills span,
  .account-esim-pick-card header span
) {
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-order-status-paid, .account-order-status-completed, .account-esim-status-active),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-order-status-paid, .account-order-status-completed, .account-esim-status-active) {
  border-color: rgba(34, 197, 94, 0.22) !important;
  background: rgba(34, 197, 94, 0.13) !important;
  color: #86efac !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-order-status-pending, .account-order-status-issuing, .account-esim-status-ready),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-order-status-pending, .account-order-status-issuing, .account-esim-status-ready) {
  border-color: rgba(96, 165, 250, 0.24) !important;
  background: rgba(96, 165, 250, 0.13) !important;
  color: #93c5fd !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-order-status-failed, .account-order-status-cancelled, .account-esim-status-expired, .account-metric-value.is-danger),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-order-status-failed, .account-order-status-cancelled, .account-esim-status-expired, .account-metric-value.is-danger) {
  border-color: rgba(248, 113, 113, 0.24) !important;
  background: rgba(248, 113, 113, 0.13) !important;
  color: #fca5a5 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-install-steps-v175 li, .account-activation-warning),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-install-steps-v175 li, .account-activation-warning) {
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  padding: 12px !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-install-steps-v175 li > b,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-install-steps-v175 li > b {
  background: #e50914 !important;
  color: #ffffff !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-install-steps-v175 strong, .account-install-steps-v175 b),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-install-steps-v175 strong, .account-install-steps-v175 b) {
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-install-steps-v175 small, .account-install-actions-v175 small),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-install-steps-v175 small, .account-install-actions-v175 small) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(input, select, textarea, .account-activation-card-v175 code),
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(input, select, textarea, .account-activation-card-v175 code) {
  border-color: rgba(148, 163, 184, 0.24) !important;
  background: #0d1422 !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(input, textarea)::placeholder,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(input, textarea)::placeholder {
  color: #7f8da3 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-install-qr-img,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-install-qr-img {
  background: #ffffff !important;
  border-color: #ffffff !important;
  filter: none !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.36) !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-install-qr-empty,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-install-qr-empty,
html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-install-qr-card-v175 > small,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-install-qr-card-v175 > small {
  border-color: rgba(148, 163, 184, 0.20) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: #cbd5e1 !important;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-side-panel::-webkit-scrollbar,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-side-panel::-webkit-scrollbar {
  width: 10px;
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-side-panel::-webkit-scrollbar-track,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-side-panel::-webkit-scrollbar-track {
  background: rgba(5, 9, 19, 0.45);
}

html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-side-panel::-webkit-scrollbar-thumb,
body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-side-panel::-webkit-scrollbar-thumb {
  border: 2px solid rgba(5, 9, 19, 0.45);
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.38);
}

@media (max-width: 760px) {
  html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 :is(.account-order-stats-v183 > span, .account-esim-stats-v175 > span),
  body.theme-dark .account-dashboard-v174.account-data-shell-v175 :is(.account-order-stats-v183 > span, .account-esim-stats-v175 > span) {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
  }

  html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-order-stats-v183,
  body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-order-stats-v183,
  html[data-theme='dark'] .account-dashboard-v174.account-data-shell-v175 .account-esim-stats-v175,
  body.theme-dark .account-dashboard-v174.account-data-shell-v175 .account-esim-stats-v175 {
    background: transparent !important;
  }
}

/* AleoFly v324: make the live support chat fully readable in dark mode. */
html[data-theme='dark'] .buyer-support-panel-v228,
body.theme-dark .buyer-support-panel-v228 {
  --text: #f8fafc;
  --muted: #aeb9c9;
  --border: rgba(148, 163, 184, 0.20);
  border-color: rgba(148, 163, 184, 0.24) !important;
  background:
    radial-gradient(circle at 9% 0%, rgba(229, 9, 20, 0.13), transparent 32%),
    radial-gradient(circle at 92% 12%, rgba(59, 130, 246, 0.12), transparent 34%),
    linear-gradient(180deg, #111928 0%, #0b1220 100%) !important;
  color: #f8fafc !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 34px 98px rgba(0, 0, 0, 0.55) !important;
}

html[data-theme='dark'] .buyer-support-panel-v228 :is(header, .buyer-support-order-v228, .buyer-support-tabs-v228, .buyer-support-compose-v228),
body.theme-dark .buyer-support-panel-v228 :is(header, .buyer-support-order-v228, .buyer-support-tabs-v228, .buyer-support-compose-v228) {
  border-color: rgba(148, 163, 184, 0.18) !important;
  background:
    linear-gradient(180deg, rgba(18, 27, 43, 0.98), rgba(12, 19, 32, 0.98)) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-panel-v228 .buyer-support-thread-v228,
body.theme-dark .buyer-support-panel-v228 .buyer-support-thread-v228 {
  background:
    radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(9, 15, 27, 0.62), rgba(9, 15, 27, 0.18)) !important;
}

html[data-theme='dark'] .buyer-support-panel-v228 :is(strong, b, label, .buyer-support-issue-grid-v228 button span),
body.theme-dark .buyer-support-panel-v228 :is(strong, b, label, .buyer-support-issue-grid-v228 button span) {
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-panel-v228 :is(small, p, .buyer-support-empty-v228, .buyer-support-order-v228 label, .buyer-support-order-v228 p, .buyer-support-attach-v228, .buyer-support-issue-grid-v228 button small),
body.theme-dark .buyer-support-panel-v228 :is(small, p, .buyer-support-empty-v228, .buyer-support-order-v228 label, .buyer-support-order-v228 p, .buyer-support-attach-v228, .buyer-support-issue-grid-v228 button small) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] .buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) > span,
body.theme-dark .buyer-support-panel-v228 header > div:not(.buyer-support-health-v231) > span {
  background: #e50914 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(229, 9, 20, 0.28) !important;
}

html[data-theme='dark'] .buyer-support-health-v231 b,
body.theme-dark .buyer-support-health-v231 b {
  color: #86efac !important;
}

html[data-theme='dark'] .buyer-support-icon-btn-v228,
body.theme-dark .buyer-support-icon-btn-v228 {
  border-color: rgba(148, 163, 184, 0.24) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-order-v228 select,
body.theme-dark .buyer-support-order-v228 select,
html[data-theme='dark'] .buyer-support-compose-v228 textarea,
body.theme-dark .buyer-support-compose-v228 textarea {
  border-color: rgba(148, 163, 184, 0.24) !important;
  background: #0d1422 !important;
  color: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

html[data-theme='dark'] .buyer-support-order-v228 select option,
body.theme-dark .buyer-support-order-v228 select option {
  background: #0d1422 !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-compose-v228 textarea::placeholder,
body.theme-dark .buyer-support-compose-v228 textarea::placeholder {
  color: #91a0b6 !important;
}

html[data-theme='dark'] .buyer-support-tabs-v228 button,
body.theme-dark .buyer-support-tabs-v228 button,
html[data-theme='dark'] .buyer-support-issue-grid-v228 button,
body.theme-dark .buyer-support-issue-grid-v228 button {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-tabs-v228 button:hover,
body.theme-dark .buyer-support-tabs-v228 button:hover,
html[data-theme='dark'] .buyer-support-issue-grid-v228 button:hover,
body.theme-dark .buyer-support-issue-grid-v228 button:hover {
  border-color: rgba(255, 114, 123, 0.34) !important;
  background: rgba(229, 9, 20, 0.12) !important;
}

html[data-theme='dark'] .buyer-support-tabs-v228 button.active,
body.theme-dark .buyer-support-tabs-v228 button.active,
html[data-theme='dark'] .buyer-support-issue-grid-v228 button.active,
body.theme-dark .buyer-support-issue-grid-v228 button.active {
  border-color: rgba(255, 114, 123, 0.42) !important;
  background:
    radial-gradient(circle at 84% 10%, rgba(255, 255, 255, 0.11), transparent 38%),
    rgba(229, 9, 20, 0.22) !important;
  color: #ffffff !important;
}

html[data-theme='dark'] .buyer-support-issue-grid-v228 button.active small,
body.theme-dark .buyer-support-issue-grid-v228 button.active small {
  color: #ffc7cd !important;
}

html[data-theme='dark'] .buyer-support-ticket-head-v228 span,
body.theme-dark .buyer-support-ticket-head-v228 span,
html[data-theme='dark'] .buyer-support-priority-v231,
body.theme-dark .buyer-support-priority-v231 {
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #d8e1ee !important;
}

html[data-theme='dark'] .buyer-support-priority-v231.is-critical,
body.theme-dark .buyer-support-priority-v231.is-critical {
  border-color: rgba(248, 113, 113, 0.28) !important;
  background: rgba(229, 9, 20, 0.16) !important;
  color: #ff8a95 !important;
}

html[data-theme='dark'] .buyer-support-priority-v231.is-low,
body.theme-dark .buyer-support-priority-v231.is-low {
  border-color: rgba(34, 197, 94, 0.26) !important;
  background: rgba(34, 197, 94, 0.14) !important;
  color: #86efac !important;
}

html[data-theme='dark'] .buyer-support-quick-checks-v231,
body.theme-dark .buyer-support-quick-checks-v231,
html[data-theme='dark'] .buyer-support-compose-preview-v228,
body.theme-dark .buyer-support-compose-preview-v228,
html[data-theme='dark'] .buyer-support-attachment-preview-v228,
body.theme-dark .buyer-support-attachment-preview-v228 {
  border-color: rgba(148, 163, 184, 0.20) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-messages-v228 article,
body.theme-dark .buyer-support-messages-v228 article {
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #f8fafc !important;
}

html[data-theme='dark'] .buyer-support-messages-v228 article.mine,
body.theme-dark .buyer-support-messages-v228 article.mine {
  border-color: rgba(255, 114, 123, 0.28) !important;
  background:
    linear-gradient(135deg, rgba(229, 9, 20, 0.28), rgba(112, 20, 32, 0.35)) !important;
}

html[data-theme='dark'] .buyer-support-messages-v228 article.agent,
body.theme-dark .buyer-support-messages-v228 article.agent,
html[data-theme='dark'] .buyer-support-typing-v231,
body.theme-dark .buyer-support-typing-v231 {
  background: rgba(255, 255, 255, 0.075) !important;
  color: #d8e1ee !important;
}

html[data-theme='dark'] .buyer-support-compose-preview-v228 button,
body.theme-dark .buyer-support-compose-preview-v228 button {
  background: rgba(255, 255, 255, 0.09) !important;
  color: #ff8a95 !important;
}

html[data-theme='dark'] .buyer-support-panel-v228 .btn,
body.theme-dark .buyer-support-panel-v228 .btn {
  color: #ffffff !important;
  box-shadow: 0 16px 34px rgba(229, 9, 20, 0.28) !important;
}

html[data-theme='dark'] .buyer-support-panel-v228::-webkit-scrollbar,
body.theme-dark .buyer-support-panel-v228::-webkit-scrollbar,
html[data-theme='dark'] .buyer-support-thread-v228::-webkit-scrollbar,
body.theme-dark .buyer-support-thread-v228::-webkit-scrollbar,
html[data-theme='dark'] .buyer-support-tabs-v228::-webkit-scrollbar,
body.theme-dark .buyer-support-tabs-v228::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

html[data-theme='dark'] .buyer-support-panel-v228::-webkit-scrollbar-track,
body.theme-dark .buyer-support-panel-v228::-webkit-scrollbar-track,
html[data-theme='dark'] .buyer-support-thread-v228::-webkit-scrollbar-track,
body.theme-dark .buyer-support-thread-v228::-webkit-scrollbar-track,
html[data-theme='dark'] .buyer-support-tabs-v228::-webkit-scrollbar-track,
body.theme-dark .buyer-support-tabs-v228::-webkit-scrollbar-track {
  background: rgba(5, 9, 19, 0.45);
}

html[data-theme='dark'] .buyer-support-panel-v228::-webkit-scrollbar-thumb,
body.theme-dark .buyer-support-panel-v228::-webkit-scrollbar-thumb,
html[data-theme='dark'] .buyer-support-thread-v228::-webkit-scrollbar-thumb,
body.theme-dark .buyer-support-thread-v228::-webkit-scrollbar-thumb,
html[data-theme='dark'] .buyer-support-tabs-v228::-webkit-scrollbar-thumb,
body.theme-dark .buyer-support-tabs-v228::-webkit-scrollbar-thumb {
  border: 2px solid rgba(5, 9, 19, 0.45);
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.38);
}

/* AleoFly v325: mobile areas modal viewport lock and listing dark-mode leak guard. */
body.multi-area-modal-open {
  overscroll-behavior: contain !important;
}

body.modal-open.multi-area-modal-open {
  touch-action: auto !important;
}

.multi-area-modal:not([hidden]) {
  z-index: 5000 !important;
}

.multi-area-dialog,
.multi-area-body,
.multi-area-sections {
  min-height: 0;
}

.multi-area-sections {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

html[data-theme='dark'] body:has(:where(.aleo-listing-page, .category-page, .one-country-page, .multi-country-page, .global-category-page-v258)),
body.theme-dark:has(:where(.aleo-listing-page, .category-page, .one-country-page, .multi-country-page, .global-category-page-v258)) {
  background:
    radial-gradient(circle at 12% 0%, rgba(229, 9, 20, 0.14), transparent 30%),
    radial-gradient(circle at 86% 12%, rgba(59, 130, 246, 0.10), transparent 32%),
    linear-gradient(180deg, #090d16 0%, #060a12 58%, #050810 100%) !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] main.app:has(:where(.aleo-listing-page, .category-page, .one-country-page, .multi-country-page, .global-category-page-v258)),
body.theme-dark main.app:has(:where(.aleo-listing-page, .category-page, .one-country-page, .multi-country-page, .global-category-page-v258)),
html[data-theme='dark'] main.app :where(.aleo-listing-page, .category-page, .one-country-page, .multi-country-page, .global-category-page-v258),
body.theme-dark main.app :where(.aleo-listing-page, .category-page, .one-country-page, .multi-country-page, .global-category-page-v258) {
  background: transparent !important;
  color: #f7f9fd !important;
}

html[data-theme='dark'] main.app :where(.plan-card, .one-country-plan-card, .multi-plan-card, .global-plan-card-v258, .one-country-plans-shell, .one-country-results-panel, .global-type-card-v258, .global-tool-pill-v258, .global-sort-v258, .global-view-toggle-v258),
body.theme-dark main.app :where(.plan-card, .one-country-plan-card, .multi-plan-card, .global-plan-card-v258, .one-country-plans-shell, .one-country-results-panel, .global-type-card-v258, .global-tool-pill-v258, .global-sort-v258, .global-view-toggle-v258) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: linear-gradient(180deg, rgba(18, 24, 36, 0.98), rgba(10, 15, 25, 0.99)) !important;
  color: #f7f9fd !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32) !important;
}

html[data-theme='dark'] main.app :where(.plan-card h3, .plan-card strong, .plan-title h3, .one-country-plan-title strong, .one-country-plan-card h3, .multi-plan-card h3, .global-plan-card-v258 h3, .global-plan-card-v258 strong, .global-plans-head-v258 h2, .global-type-copy-v258 strong),
body.theme-dark main.app :where(.plan-card h3, .plan-card strong, .plan-title h3, .one-country-plan-title strong, .one-country-plan-card h3, .multi-plan-card h3, .global-plan-card-v258 h3, .global-plan-card-v258 strong, .global-plans-head-v258 h2, .global-type-copy-v258 strong) {
  color: #f7f9fd !important;
}

html[data-theme='dark'] main.app :where(.plan-card p, .plan-card small, .plan-meta, .one-country-plan-card > small, .one-country-price-row small, .multi-plan-card p, .global-plan-card-v258 p, .global-plan-card-v258 > small, .global-type-copy-v258 small, .global-plans-head-v258 span),
body.theme-dark main.app :where(.plan-card p, .plan-card small, .plan-meta, .one-country-plan-card > small, .one-country-price-row small, .multi-plan-card p, .global-plan-card-v258 p, .global-plan-card-v258 > small, .global-type-copy-v258 small, .global-plans-head-v258 span) {
  color: #aeb9c9 !important;
}

html[data-theme='dark'] main.app :where(.global-plan-badges-v258 span, .country-highlight-tags span, .multi-card-tags span),
body.theme-dark main.app :where(.global-plan-badges-v258 span, .country-highlight-tags span, .multi-card-tags span) {
  background: rgba(229, 9, 20, 0.16) !important;
  color: #ff7a86 !important;
}

@media (max-width: 760px) {
  body.multi-area-modal-open .site-header,
  body.multi-area-modal-open #mobile-bottom-nav {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .multi-area-modal:not([hidden]) {
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    display: grid !important;
    align-items: end !important;
    justify-content: stretch !important;
    overflow: hidden !important;
    padding: calc(8px + env(safe-area-inset-top, 0px)) 0 calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .multi-area-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .multi-area-head {
    min-height: 56px !important;
    padding: 12px 14px !important;
  }

  .multi-area-title {
    min-width: 0 !important;
  }

  .multi-area-title > span {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  .multi-area-title strong {
    overflow: hidden !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .multi-area-title small {
    overflow: hidden !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .multi-area-close {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
  }

  .multi-area-search {
    min-height: 42px !important;
    margin: 0 12px 10px !important;
    padding: 0 12px !important;
  }

  .multi-area-search input {
    height: 40px !important;
    min-width: 0 !important;
  }

  .multi-area-body {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  .multi-area-nav {
    display: flex !important;
    gap: 8px !important;
    min-height: 58px !important;
    overflow-x: auto !important;
    padding: 10px 12px !important;
    scrollbar-width: none !important;
  }

  .multi-area-nav::-webkit-scrollbar {
    display: none !important;
  }

  .multi-area-nav button {
    min-width: 118px !important;
    min-height: 38px !important;
    flex: 0 0 auto !important;
  }

  .multi-area-sections {
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px !important;
  }

  .multi-area-card {
    min-height: 82px !important;
    padding: 10px !important;
  }

  .multi-area-footer {
    position: relative !important;
    z-index: 2 !important;
    min-height: 62px !important;
    padding: 10px 12px !important;
    flex-wrap: nowrap !important;
  }

  .multi-area-footer span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .multi-area-footer .btn {
    min-width: 128px !important;
    min-height: 46px !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 380px) {
  .multi-area-title small {
    display: none !important;
  }

  .multi-area-nav button {
    min-width: 104px !important;
  }

  .multi-area-footer .btn {
    min-width: 118px !important;
  }
}

@media (max-width: 760px) {
  html[data-theme='dark'] body.multi-area-modal-open .multi-area-modal:not([hidden]),
  body.theme-dark.multi-area-modal-open .multi-area-modal:not([hidden]),
  body.multi-area-modal-open .multi-area-modal:not([hidden]) {
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: calc(8px + env(safe-area-inset-top, 0px)) 0 calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: end !important;
    justify-content: stretch !important;
  }

  html[data-theme='dark'] body.multi-area-modal-open .multi-area-dialog,
  body.theme-dark.multi-area-modal-open .multi-area-dialog,
  body.multi-area-modal-open .multi-area-dialog {
    left: 0 !important;
    right: 0 !important;
    justify-self: stretch !important;
    align-self: end !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
  }

  html[data-theme='dark'] body.multi-area-modal-open .multi-area-sections,
  body.theme-dark.multi-area-modal-open .multi-area-sections,
  body.multi-area-modal-open .multi-area-sections {
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden auto !important;
    touch-action: pan-y !important;
  }
}

/* AleoFly v326: prevent RTL mobile one-country category prices from covering flags. */
@media (max-width: 760px) {
  [dir='rtl'] .one-country-category-card header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
    grid-template-areas:
      "price flag"
      "name name" !important;
    align-items: center !important;
    gap: 5px 8px !important;
    min-height: 0 !important;
    direction: ltr !important;
  }

  [dir='rtl'] .one-country-category-card header > span {
    display: contents !important;
    padding: 0 !important;
  }

  [dir='rtl'] .one-country-category-card header .country-mini-flag,
  [dir='rtl'] .one-country-category-card header .flag-badge {
    grid-area: flag !important;
    justify-self: end !important;
    align-self: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
  }

  [dir='rtl'] .one-country-category-card header strong {
    grid-area: name !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: right !important;
    direction: rtl !important;
    unicode-bidi: isolate !important;
    line-height: 1.2 !important;
  }

  [dir='rtl'] .one-country-category-card header b {
    grid-area: price !important;
    position: static !important;
    inset: auto !important;
    justify-self: start !important;
    max-width: 100% !important;
    text-align: left !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    white-space: nowrap !important;
  }

  [dir='rtl'] .one-country-category-card header b .ui-icon {
    display: none !important;
  }

  [dir='rtl'] .one-country-category-card > p {
    width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    direction: rtl !important;
    unicode-bidi: isolate !important;
  }

  [dir='rtl'] .one-country-category-card > em {
    margin: 0 !important;
    justify-self: end !important;
  }
}

@media (max-width: 380px) {
  [dir='rtl'] .one-country-category-card header {
    grid-template-columns: minmax(0, 1fr) 26px !important;
    gap: 4px 7px !important;
  }

  [dir='rtl'] .one-country-category-card header .country-mini-flag,
  [dir='rtl'] .one-country-category-card header .flag-badge {
    width: 26px !important;
    height: 26px !important;
  }

  [dir='rtl'] .one-country-category-card header b {
    font-size: 12px !important;
  }
}

/* AleoFly v327: keep mobile one-country category card price/name/flag in separate grid cells. */
@media (max-width: 760px) {
  .one-country-category-card header {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) max-content !important;
    grid-template-areas: "flag name price" !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 28px !important;
    direction: ltr !important;
  }

  .one-country-category-card header > span {
    display: contents !important;
    padding: 0 !important;
  }

  .one-country-category-card header .country-mini-flag,
  .one-country-category-card header .flag-badge {
    grid-area: flag !important;
    justify-self: start !important;
    align-self: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
  }

  .one-country-category-card header strong {
    grid-area: name !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
  }

  .one-country-category-card header b {
    grid-area: price !important;
    position: static !important;
    inset: auto !important;
    justify-self: end !important;
    max-width: 100% !important;
    text-align: right !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    white-space: nowrap !important;
  }

  [dir='rtl'] .one-country-category-card header {
    grid-template-columns: minmax(0, 1fr) 28px !important;
    grid-template-areas:
      "price flag"
      "name name" !important;
    gap: 5px 8px !important;
  }

  [dir='rtl'] .one-country-category-card header .country-mini-flag,
  [dir='rtl'] .one-country-category-card header .flag-badge {
    justify-self: end !important;
  }

  [dir='rtl'] .one-country-category-card header strong {
    width: 100% !important;
    text-align: right !important;
    direction: rtl !important;
  }

  [dir='rtl'] .one-country-category-card header b {
    justify-self: start !important;
    text-align: left !important;
  }
}

@media (max-width: 380px) {
  .one-country-category-card header {
    grid-template-columns: 26px minmax(0, 1fr) max-content !important;
    gap: 7px !important;
  }

  .one-country-category-card header .country-mini-flag,
  .one-country-category-card header .flag-badge {
    width: 26px !important;
    height: 26px !important;
  }

  .one-country-category-card header b {
    font-size: 12px !important;
  }

  [dir='rtl'] .one-country-category-card header {
    grid-template-columns: minmax(0, 1fr) 26px !important;
    gap: 4px 7px !important;
  }
}

/* AleoFly v328: seal dark-mode table/card-table leaks across listing and account surfaces. */
html[data-theme='dark'] body main.app :where(.one-country-table-panel, .table-scroll, .account-esim-detail-table-v175),
body.theme-dark main.app :where(.one-country-table-panel, .table-scroll, .account-esim-detail-table-v175) {
  border-color: var(--border) !important;
  background:
    linear-gradient(180deg, rgba(17, 24, 38, 0.98), rgba(9, 13, 22, 0.99)) !important;
  color: var(--text) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32) !important;
}

html[data-theme='dark'] body main.app .one-country-plan-table,
body.theme-dark main.app .one-country-plan-table,
html[data-theme='dark'] body main.app .one-country-plan-table tbody,
body.theme-dark main.app .one-country-plan-table tbody,
html[data-theme='dark'] body main.app .orders-table,
body.theme-dark main.app .orders-table,
html[data-theme='dark'] body main.app .orders-table tbody,
body.theme-dark main.app .orders-table tbody {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

html[data-theme='dark'] body main.app .one-country-plan-table tr,
body.theme-dark main.app .one-country-plan-table tr,
html[data-theme='dark'] body main.app .orders-table tr,
body.theme-dark main.app .orders-table tr,
html[data-theme='dark'] body main.app .account-esim-detail-table-v175 div,
body.theme-dark main.app .account-esim-detail-table-v175 div {
  border-color: var(--border) !important;
  background:
    linear-gradient(180deg, rgba(20, 27, 41, 0.98), rgba(12, 17, 28, 0.99)) !important;
  color: var(--text) !important;
}

html[data-theme='dark'] body main.app .one-country-plan-table :where(th, td),
body.theme-dark main.app .one-country-plan-table :where(th, td),
html[data-theme='dark'] body main.app .orders-table :where(th, td),
body.theme-dark main.app .orders-table :where(th, td),
html[data-theme='dark'] body main.app .account-esim-detail-table-v175 :where(dt, dd),
body.theme-dark main.app .account-esim-detail-table-v175 :where(dt, dd) {
  border-color: var(--border) !important;
  background: transparent !important;
  color: var(--text) !important;
}

html[data-theme='dark'] body main.app .one-country-plan-table :where(strong, b),
body.theme-dark main.app .one-country-plan-table :where(strong, b),
html[data-theme='dark'] body main.app .orders-table :where(strong, b),
body.theme-dark main.app .orders-table :where(strong, b),
html[data-theme='dark'] body main.app .account-esim-detail-table-v175 :where(strong, b, dd),
body.theme-dark main.app .account-esim-detail-table-v175 :where(strong, b, dd) {
  color: var(--text) !important;
}

html[data-theme='dark'] body main.app .one-country-plan-table :where(small, span),
body.theme-dark main.app .one-country-plan-table :where(small, span),
html[data-theme='dark'] body main.app .orders-table :where(small, span),
body.theme-dark main.app .orders-table :where(small, span),
html[data-theme='dark'] body main.app .account-esim-detail-table-v175 :where(dt, small, span),
body.theme-dark main.app .account-esim-detail-table-v175 :where(dt, small, span) {
  color: var(--muted) !important;
}

html[data-theme='dark'] body main.app .one-country-plan-table :where(.btn, .btn-ghost, a, button),
body.theme-dark main.app .one-country-plan-table :where(.btn, .btn-ghost, a, button),
html[data-theme='dark'] body main.app .orders-table :where(.btn, .btn-ghost, a, button),
body.theme-dark main.app .orders-table :where(.btn, .btn-ghost, a, button) {
  border-color: rgba(255, 90, 105, 0.30) !important;
  background: rgba(229, 9, 20, 0.14) !important;
  color: #ff7a88 !important;
}

@media (max-width: 760px) {
  html[data-theme='dark'] body main.app .one-country-plan-table tr,
  body.theme-dark main.app .one-country-plan-table tr {
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.14), 0 12px 34px rgba(0, 0, 0, 0.26) !important;
  }
}

/* AleoFly v330: readable mobile arrows and phone-native one-country table rows. */
@media (max-width: 760px) {
  body main.app .one-country-all-plans .one-country-buy {
    width: 34px !important;
    min-width: 34px !important;
    height: 56px !important;
    min-height: 56px !important;
    border-left: 1px solid rgba(255, 255, 255, 0.28) !important;
    background: transparent !important;
  }

  body main.app .one-country-all-plans .one-country-buy::after {
    content: "" !important;
    width: 13px !important;
    height: 13px !important;
    border: solid #ffffff !important;
    border-width: 3px 3px 0 0 !important;
    transform: rotate(45deg) !important;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.5)) !important;
  }

  [dir='rtl'] body main.app .one-country-all-plans .one-country-buy::after {
    transform: rotate(225deg) !important;
  }

  html:not([data-theme='dark']) body:not(.theme-dark) main.app .one-country-all-plans .one-country-buy {
    border-left-color: rgba(229, 9, 20, 0.24) !important;
  }

  html:not([data-theme='dark']) body:not(.theme-dark) main.app .one-country-all-plans .one-country-buy::after {
    border-color: #e50914 !important;
    filter: none !important;
  }

  body main.app .one-country-page[data-country-view-state="table"] .one-country-table-panel {
    overflow: visible !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body main.app .one-country-plan-table {
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
  }

  body main.app .one-country-plan-table tbody {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    background: transparent !important;
  }

  body main.app .one-country-plan-table tr {
    width: 100% !important;
    min-height: 96px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content 34px !important;
    grid-template-areas:
      "main price action"
      "network price action"
      "tags price action" !important;
    align-items: center !important;
    gap: 5px 10px !important;
    padding: 12px 10px 12px 12px !important;
    border-radius: 14px !important;
  }

  body main.app .one-country-plan-table td {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body main.app .one-country-plan-table td:first-child {
    grid-area: main !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body main.app .one-country-plan-table td:first-child .country-mini-flag {
    width: 33px !important;
    height: 33px !important;
    flex: 0 0 auto !important;
  }

  body main.app .one-country-plan-table td:first-child strong {
    display: inline !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body main.app .one-country-plan-table td:first-child > span:not(.country-mini-flag):not(.flag-badge) {
    display: inline !important;
    margin-left: 8px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  body main.app .one-country-plan-table td:nth-child(2) {
    grid-area: tags !important;
  }

  body main.app .one-country-plan-table td:nth-child(2) .country-highlight-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin: 0 0 0 43px !important;
  }

  body main.app .one-country-plan-table td:nth-child(2) .country-highlight-tags span {
    min-height: 18px !important;
    padding: 2px 7px !important;
    font-size: 8px !important;
    line-height: 1 !important;
  }

  body main.app .one-country-plan-table td:nth-child(3) {
    grid-area: network !important;
    display: grid !important;
    gap: 2px !important;
    margin-left: 43px !important;
  }

  body main.app .one-country-plan-table td:nth-child(3) strong {
    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
  }

  body main.app .one-country-plan-table td:nth-child(3) small {
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
  }

  body main.app .one-country-plan-table td:nth-child(4) {
    grid-area: price !important;
    display: grid !important;
    gap: 3px !important;
    justify-items: end !important;
    align-self: center !important;
    min-width: 82px !important;
  }

  body main.app .one-country-plan-table td:nth-child(4) strong {
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body main.app .one-country-plan-table td:nth-child(4) span {
    display: none !important;
  }

  body main.app .one-country-plan-table td:nth-child(4) small {
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  body main.app .one-country-plan-table td:nth-child(5) {
    grid-area: action !important;
    align-self: stretch !important;
    display: grid !important;
    place-items: center !important;
    border-left: 1px solid rgba(255, 255, 255, 0.28) !important;
  }

  body main.app .one-country-plan-table td:nth-child(5) :where(a, button, .btn, .btn-ghost) {
    width: 34px !important;
    min-width: 34px !important;
    height: 100% !important;
    min-height: 54px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  body main.app .one-country-plan-table td:nth-child(5) :where(a, button, .btn, .btn-ghost)::after {
    content: "" !important;
    width: 13px !important;
    height: 13px !important;
    border: solid #ffffff !important;
    border-width: 3px 3px 0 0 !important;
    transform: rotate(45deg) !important;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.5)) !important;
  }

  [dir='rtl'] body main.app .one-country-plan-table td:nth-child(5) :where(a, button, .btn, .btn-ghost)::after {
    transform: rotate(225deg) !important;
  }

  html:not([data-theme='dark']) body:not(.theme-dark) main.app .one-country-plan-table td:nth-child(5) {
    border-left-color: rgba(229, 9, 20, 0.24) !important;
  }

  html:not([data-theme='dark']) body:not(.theme-dark) main.app .one-country-plan-table td:nth-child(5) :where(a, button, .btn, .btn-ghost)::after {
    border-color: #e50914 !important;
    filter: none !important;
  }
}

@media (max-width: 380px) {
  body main.app .one-country-plan-table tr {
    grid-template-columns: minmax(0, 1fr) max-content 30px !important;
    gap: 5px 8px !important;
    padding: 11px 8px 11px 10px !important;
  }

  body main.app .one-country-plan-table td:nth-child(4) {
    min-width: 72px !important;
  }

  body main.app .one-country-plan-table td:nth-child(4) strong {
    font-size: 16px !important;
  }

  body main.app .one-country-plan-table td:first-child strong {
    font-size: 16px !important;
  }

  body main.app .one-country-plan-table td:first-child > span:not(.country-mini-flag):not(.flag-badge) {
    font-size: 13px !important;
  }
}

/* AleoFly v331: premium route loading uses the header rail, not page skeletons. */
body > .app-loader {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body > .app-loader .app-loader__inner {
  display: none !important;
}

body.is-route-loading main.app {
  min-height: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

body.is-route-loading .site-footer {
  display: block !important;
}

#site-header.site-header .header-route-progress {
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  bottom: 0 !important;
  z-index: 8 !important;
  height: 3px !important;
  border-radius: 999px 999px 0 0 !important;
  pointer-events: none !important;
  transform: scaleX(1) translateZ(0) !important;
  transform-origin: left center !important;
  opacity: 0.78 !important;
  background: linear-gradient(90deg, transparent 0%, rgba(229, 9, 20, 0.2) 18%, #ff1f2c 48%, #e50914 55%, rgba(229, 9, 20, 0.18) 82%, transparent 100%) !important;
  background-size: 100% 100% !important;
  box-shadow: 0 0 18px rgba(229, 9, 20, 0.48), 0 -2px 14px rgba(229, 9, 20, 0.15) !important;
  transition: opacity 180ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

#site-header.site-header::after {
  animation: none !important;
  background-position: 50% 0 !important;
}

body.is-route-loading #site-header.site-header::after {
  opacity: 0.22 !important;
}

body:not(.is-route-loading) #site-header.site-header .header-route-progress {
  animation: none !important;
  background-position: 50% 0 !important;
}

body.is-route-loading #site-header.site-header .header-route-progress {
  opacity: 1 !important;
  background-size: 230% 100% !important;
  animation: aleoRouteProgressTravel 920ms cubic-bezier(0.55, 0, 0.15, 1) infinite !important;
}

body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
  animation: aleoRouteProgressSettle 340ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

html[data-theme='dark'] body #site-header.site-header .header-route-progress,
body.theme-dark #site-header.site-header .header-route-progress {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 78, 92, 0.22) 18%, #ff3644 48%, #e50914 56%, rgba(255, 78, 92, 0.2) 82%, transparent 100%) !important;
  box-shadow: 0 0 20px rgba(229, 9, 20, 0.58), 0 -2px 14px rgba(229, 9, 20, 0.2) !important;
}

@keyframes aleoRouteProgressTravel {
  0% {
    background-position: 120% 0;
    transform: scaleX(0.14) translateZ(0);
  }
  46% {
    transform: scaleX(0.76) translateZ(0);
  }
  100% {
    background-position: -120% 0;
    transform: scaleX(0.98) translateZ(0);
  }
}

@keyframes aleoRouteProgressSettle {
  0% {
    opacity: 1;
    transform: scaleX(0.88) translateZ(0);
  }
  100% {
    opacity: 0.78;
    transform: scaleX(1) translateZ(0);
    background-position: 50% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.is-route-loading #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
    animation: none !important;
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}

/* AleoFly v332: no hard-refresh image flash; full-width header progress starts at zero. */
html.is-app-booting body > .app-loader,
body > .app-loader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}

html.is-app-booting #site-header.site-header,
body.is-route-loading #site-header.site-header {
  overflow: hidden !important;
}

#site-header.site-header::after {
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  opacity: 0.48 !important;
  background: linear-gradient(90deg, rgba(229, 9, 20, 0.28), #e50914 50%, rgba(229, 9, 20, 0.28)) !important;
  background-size: 100% 100% !important;
  box-shadow: 0 0 18px rgba(229, 9, 20, 0.34) !important;
  animation: none !important;
}

#site-header.site-header .header-route-progress {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 40 !important;
  width: auto !important;
  height: 5px !important;
  border-radius: 0 !important;
  opacity: 0.92 !important;
  transform-origin: left center !important;
  transform: scaleX(1) translateZ(0) !important;
  background: linear-gradient(90deg, #e50914 0%, #ff4f5b 42%, #ffffff 50%, #ff4f5b 58%, #e50914 100%) !important;
  background-size: 260% 100% !important;
  box-shadow: 0 0 22px rgba(229, 9, 20, 0.66), 0 -2px 16px rgba(229, 9, 20, 0.24) !important;
}

html.is-app-booting #site-header.site-header .header-route-progress,
body.is-route-loading #site-header.site-header .header-route-progress {
  opacity: 1 !important;
  animation: aleoV332HeaderProgress 780ms cubic-bezier(0.55, 0, 0.15, 1) infinite !important;
}

body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
  animation: aleoV332HeaderProgressDone 260ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body:not(.is-route-loading) #site-header.site-header .header-route-progress {
  background-position: 50% 0 !important;
}

@keyframes aleoV332HeaderProgress {
  0% {
    background-position: 120% 0;
    transform: scaleX(0.03) translateZ(0);
  }
  36% {
    transform: scaleX(0.55) translateZ(0);
  }
  72% {
    transform: scaleX(0.9) translateZ(0);
  }
  100% {
    background-position: -120% 0;
    transform: scaleX(1) translateZ(0);
  }
}

@keyframes aleoV332HeaderProgressDone {
  0% {
    opacity: 1;
    transform: scaleX(0.92) translateZ(0);
  }
  100% {
    opacity: 0.92;
    background-position: 50% 0;
    transform: scaleX(1) translateZ(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.is-app-booting #site-header.site-header .header-route-progress,
  body.is-route-loading #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
    animation: none !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}

/* AleoFly v333: boot uses a transparent drawn A, hides SSR art, and resets the rail. */
html.is-app-booting body {
  overflow-x: hidden !important;
}

html.is-app-booting main.app {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.is-app-booting main.app .seo-fallback,
html.is-app-booting main.app .seo-fallback img {
  display: none !important;
}

html.is-app-booting #site-header.site-header {
  min-height: 5px !important;
  height: 5px !important;
  max-height: 5px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html.is-app-booting #site-header.site-header::before {
  display: none !important;
  opacity: 0 !important;
}

html.is-app-booting #site-header.site-header > :not(.header-route-progress) {
  display: none !important;
}

body > .app-loader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}

html.is-app-booting body > .app-loader:not(.is-hidden) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 90 !important;
  display: grid !important;
  place-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  background: transparent !important;
}

.app-loader-a {
  width: clamp(78px, 11vw, 128px) !important;
  height: clamp(78px, 11vw, 128px) !important;
  color: #e50914 !important;
  filter: drop-shadow(0 10px 28px rgba(229, 9, 20, 0.24)) !important;
}

.app-loader-a__stroke {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-dasharray: 245 !important;
  stroke-dashoffset: 245 !important;
  animation: aleoV333DrawA 1.16s cubic-bezier(0.55, 0, 0.15, 1) infinite !important;
}

#site-header.site-header::after {
  opacity: 0 !important;
  box-shadow: none !important;
  transform: scaleX(0) !important;
}

#site-header.site-header .header-route-progress {
  left: 0 !important;
  right: 0 !important;
  height: 5px !important;
  opacity: 0.96 !important;
  transform-origin: left center !important;
  transform: scaleX(0.045) translateZ(0) !important;
  background-position: 0 0 !important;
  background: linear-gradient(90deg, #e50914 0%, #ff3342 45%, #ffffff 52%, #ff3342 60%, #e50914 100%) !important;
  background-size: 260% 100% !important;
  box-shadow: 0 0 18px rgba(229, 9, 20, 0.52), 0 -2px 12px rgba(229, 9, 20, 0.18) !important;
}

html.is-app-booting #site-header.site-header .header-route-progress,
body.is-route-loading #site-header.site-header .header-route-progress {
  animation: aleoV333HeaderProgress 760ms cubic-bezier(0.55, 0, 0.15, 1) infinite !important;
}

body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
  animation: aleoV333HeaderProgressDone 260ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body:not(.is-route-loading) #site-header.site-header .header-route-progress {
  animation: none !important;
  transform: scaleX(0.045) translateZ(0) !important;
  background-position: 0 0 !important;
}

@keyframes aleoV333DrawA {
  0% {
    opacity: 0.42;
    stroke-dashoffset: 245;
    transform: translateY(2px);
  }
  54% {
    opacity: 1;
    stroke-dashoffset: 0;
    transform: translateY(0);
  }
  100% {
    opacity: 0.52;
    stroke-dashoffset: -245;
    transform: translateY(-1px);
  }
}

@keyframes aleoV333HeaderProgress {
  0% {
    background-position: 120% 0;
    transform: scaleX(0.045) translateZ(0);
  }
  34% {
    transform: scaleX(0.5) translateZ(0);
  }
  72% {
    transform: scaleX(0.94) translateZ(0);
  }
  100% {
    background-position: -120% 0;
    transform: scaleX(1) translateZ(0);
  }
}

@keyframes aleoV333HeaderProgressDone {
  0% {
    opacity: 1;
    transform: scaleX(1) translateZ(0);
  }
  100% {
    opacity: 0.96;
    background-position: 0 0;
    transform: scaleX(0.045) translateZ(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-loader-a__stroke {
    animation: none !important;
    stroke-dashoffset: 0 !important;
  }

  html.is-app-booting #site-header.site-header .header-route-progress,
  body.is-route-loading #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
    animation: none !important;
    transform: scaleX(0.045) translateZ(0) !important;
  }
}

/* AleoFly v334: deterministic header progress, no looping. */
#site-header.site-header .header-route-progress {
  animation: none !important;
  transform-origin: left center !important;
  transform: scaleX(0.045) translateZ(0) !important;
  background-position: 0 0 !important;
  transition:
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 160ms ease !important;
}

html.is-app-booting #site-header.site-header .header-route-progress,
body.is-route-loading #site-header.site-header .header-route-progress {
  animation: none !important;
  opacity: 1 !important;
  transform: scaleX(0.18) translateZ(0) !important;
  transition:
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 160ms ease !important;
}

body.is-route-loading.is-route-progress-fill #site-header.site-header .header-route-progress {
  animation: none !important;
  transform: scaleX(0.92) translateZ(0) !important;
  transition:
    transform 5600ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 160ms ease !important;
}

body.is-route-loading.is-route-progress-complete #site-header.site-header .header-route-progress,
body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
  animation: none !important;
  transform: scaleX(1) translateZ(0) !important;
  transition:
    transform 180ms ease-out,
    opacity 120ms ease !important;
}

body:not(.is-route-loading) #site-header.site-header .header-route-progress {
  animation: none !important;
  transform: scaleX(0.045) translateZ(0) !important;
  background-position: 0 0 !important;
  transition:
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 160ms ease !important;
}

@media (prefers-reduced-motion: reduce) {
  html.is-app-booting #site-header.site-header .header-route-progress,
  body.is-route-loading #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-progress-fill #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-progress-complete #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress,
  body:not(.is-route-loading) #site-header.site-header .header-route-progress {
    animation: none !important;
    transform: scaleX(0.045) translateZ(0) !important;
    transition: none !important;
  }
}

/* AleoFly v335: crisp header progress rail for desktop/mobile and dark/light. */
#site-header.site-header .header-route-progress {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 40 !important;
  width: auto !important;
  height: 4px !important;
  border-radius: 0 !important;
  opacity: 0 !important;
  transform-origin: left center !important;
  transform: scaleX(0) translate3d(0, 0, 0) !important;
  background: linear-gradient(90deg, #d90412 0%, #f20d1b 48%, #ff4d58 100%) !important;
  background-size: 100% 100% !important;
  background-position: 0 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  will-change: transform, opacity !important;
  transition:
    transform 140ms ease,
    opacity 120ms ease !important;
}

html[data-theme='dark'] body #site-header.site-header .header-route-progress,
body.theme-dark #site-header.site-header .header-route-progress {
  background: linear-gradient(90deg, #ff1726 0%, #ff3542 52%, #ff6b73 100%) !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

html.is-app-booting #site-header.site-header .header-route-progress,
body.is-route-loading #site-header.site-header .header-route-progress {
  animation: none !important;
  opacity: 1 !important;
  transform: scaleX(0.012) translate3d(0, 0, 0) !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  transition:
    transform 90ms linear,
    opacity 80ms ease !important;
}

body.is-route-loading.is-route-progress-fill #site-header.site-header .header-route-progress {
  animation: none !important;
  opacity: 1 !important;
  transform: scaleX(0.94) translate3d(0, 0, 0) !important;
  box-shadow: 0 1px 5px rgba(229, 9, 20, 0.24) !important;
  transition:
    transform 5200ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 80ms ease !important;
}

body.is-route-loading.is-route-progress-complete #site-header.site-header .header-route-progress,
body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
  animation: none !important;
  opacity: 1 !important;
  transform: scaleX(1) translate3d(0, 0, 0) !important;
  box-shadow: 0 1px 5px rgba(229, 9, 20, 0.22) !important;
  transition:
    transform 190ms ease-out,
    opacity 80ms ease !important;
}

body:not(.is-route-loading) #site-header.site-header .header-route-progress {
  animation: none !important;
  opacity: 0 !important;
  transform: scaleX(0) translate3d(0, 0, 0) !important;
  background-position: 0 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  transition:
    transform 140ms ease,
    opacity 100ms ease !important;
}

@media (max-width: 760px) {
  #site-header.site-header .header-route-progress {
    height: 3px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.is-app-booting #site-header.site-header .header-route-progress,
  body.is-route-loading #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-progress-fill #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-progress-complete #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress,
  body:not(.is-route-loading) #site-header.site-header .header-route-progress {
    animation: none !important;
    transform: scaleX(0) translate3d(0, 0, 0) !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    transition: none !important;
  }

  body.is-route-loading.is-route-progress-complete #site-header.site-header .header-route-progress,
  body.is-route-loading.is-route-loading-done #site-header.site-header .header-route-progress {
    opacity: 1 !important;
    transform: scaleX(1) translate3d(0, 0, 0) !important;
  }
}

/* AleoFly v336: keep the full header visible during refresh/boot. */
html.is-app-booting body #site-header.site-header {
  display: grid !important;
  grid-template-columns: minmax(190px, auto) minmax(380px, 1fr) auto !important;
  min-height: 104px !important;
  height: 104px !important;
  max-height: none !important;
  padding: 0 clamp(26px, 3vw, 52px) !important;
  margin: 0 !important;
  gap: clamp(18px, 2vw, 34px) !important;
  align-items: center !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(229, 9, 20, 0.14) !important;
  border-radius: 0 0 24px 24px !important;
  background:
    radial-gradient(circle at 14% 42%, rgba(229, 9, 20, 0.16), transparent 34%),
    linear-gradient(100deg, rgba(255, 222, 227, 0.88), rgba(255, 255, 255, 0.94), rgba(237, 244, 255, 0.84)) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
}

html.is-app-booting #site-header.site-header::before {
  display: block !important;
  opacity: 0.82 !important;
}

html.is-app-booting #site-header.site-header > .brand,
html.is-app-booting #site-header.site-header > .top-nav,
html.is-app-booting #site-header.site-header > .header-actions {
  visibility: visible !important;
  opacity: 1 !important;
}

html.is-app-booting #site-header.site-header > .brand {
  display: flex !important;
}

html.is-app-booting #site-header.site-header > .top-nav,
html.is-app-booting #site-header.site-header > .header-actions {
  display: flex !important;
}

@media (max-width: 980px) {
  html.is-app-booting body #site-header.site-header {
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    grid-template-columns: minmax(118px, 1fr) auto !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 0 8px !important;
    gap: 6px !important;
    border-radius: 16px !important;
  }

  html.is-app-booting #site-header.site-header > .top-nav {
    display: none !important;
  }

  html.is-app-booting #site-header.site-header > .brand.brand-image-lockup {
    grid-column: 1 !important;
    max-width: calc(100vw - 166px) !important;
  }

  html.is-app-booting #site-header.site-header .brand-image-lockup .brand-logo-image {
    width: clamp(116px, 33vw, 148px) !important;
    max-width: clamp(116px, 33vw, 148px) !important;
    max-height: 58px !important;
  }

  html.is-app-booting #site-header.site-header > .header-actions {
    grid-column: 2 !important;
    gap: 4px !important;
  }
}

html[data-theme='dark'].is-app-booting body #site-header.site-header,
html.is-app-booting body.theme-dark #site-header.site-header {
  border-bottom-color: rgba(255, 82, 94, 0.26) !important;
  background:
    radial-gradient(circle at 14% 42%, rgba(229, 9, 20, 0.26), transparent 34%),
    linear-gradient(100deg, rgba(92, 16, 36, 0.94), rgba(13, 20, 34, 0.96), rgba(30, 54, 88, 0.9)) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24) !important;
}
