/* Направление «Полёт»: светлое небо с пушистыми облаками, вид из иллюминатора с крылом,
   направления в иллюминаторах, трафик выбирается как багаж (чемодан растёт с объёмом),
   сводка «Ваш полёт», ход заказа — самолёт над маршрутом, QR-код в иллюминаторе.
   Шрифты: Unbounded (заголовки) и Golos Text (текст), по макету Figma — см. typography.css. Синий — действие, оранжевый — самолёт.
   Отступы по шкале 4/8/12/16/24/32/48/64, скругления 12/16/24/32.
   Телефон — одна колонка и панель покупки снизу; от 900px — колонки и сводка сбоку. */
:root {
  --paper: #f4f8fd;
  --surface: #ffffff;
  --ink: #0f2340;
  --dim: #56677f;
  --rule: #dfe7f1;
  --soft: #eaf2ff;
  --go: #1b5fd6;
  --go-ink: #ffffff;
  --plane: #ff6a3d;
  --peach: #ffece4;
  --ok: #138a52;
  --bad: #c9341d;
  --sky-a: #c4dfff;
  --sky-b: #eef6ff;
  --cloud: #ffffff;
  --frame-a: #f3f6fa;
  --frame-b: #d0d9e6;
  --shade: #f7f9fc;
  --bag: #2b4a75;
  --bag-fill: #dfeafa;
  --font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display: 'Inter Tight', 'Inter', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --shadow: 0 1px 2px rgba(15, 35, 64, .05), 0 8px 24px rgba(15, 35, 64, .07);
  --shadow-lg: 0 18px 44px rgba(15, 35, 64, .16);
  --maxw: 1120px;
  --gut: max(16px, env(safe-area-inset-left, 0px));
  --gut-r: max(16px, env(safe-area-inset-right, 0px));
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0b1526; --surface: #142238; --ink: #eef3fb; --dim: #9fb0c8; --rule: #233653; --soft: #1a2d4b;
    --go: #5b93ff; --go-ink: #07101f; --plane: #ff8a63; --peach: #3a2620; --ok: #45c98a; --bad: #ff7a5c;
    --sky-a: #16305a; --sky-b: #0e1c33; --cloud: rgba(255, 255, 255, .07); --frame-a: #33486a; --frame-b: #1b2b45; --shade: #22344f;
    --bag: #b9cbe6; --bag-fill: #233a5e; --shadow: 0 1px 2px rgba(0, 0, 0, .4); --shadow-lg: 0 18px 44px rgba(0, 0, 0, .5); color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #0b1526; --surface: #142238; --ink: #eef3fb; --dim: #9fb0c8; --rule: #233653; --soft: #1a2d4b;
  --go: #5b93ff; --go-ink: #07101f; --plane: #ff8a63; --peach: #3a2620; --ok: #45c98a; --bad: #ff7a5c;
  --sky-a: #16305a; --sky-b: #0e1c33; --cloud: rgba(255, 255, 255, .07); --frame-a: #33486a; --frame-b: #1b2b45; --shade: #22344f;
  --bag: #b9cbe6; --bag-fill: #233a5e; --shadow: 0 1px 2px rgba(0, 0, 0, .4); --shadow-lg: 0 18px 44px rgba(0, 0, 0, .5); color-scheme: dark;
}
@media (min-width: 900px) { :root { --gut: max(32px, env(safe-area-inset-left, 0px)); --gut-r: max(32px, env(safe-area-inset-right, 0px)); } }

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.5 var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid var(--go); outline-offset: 3px; border-radius: 8px; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut-r); }
.app { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gut-r) calc(120px + env(safe-area-inset-bottom)) var(--gut); }
@media (min-width: 900px) { .app { padding-bottom: 96px; } }
[hidden] { display: none !important; }

/* ---- Шапка ---- */
.topbar { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 10; background: color-mix(in srgb, var(--paper) 88%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.topbar .wrap { height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.logo { display: flex; align-items: center; gap: 10px; font: 800 20px var(--display); letter-spacing: -.03em; }
.logo svg { flex: none; }
.logo small { font: 600 11px var(--font); color: var(--go); background: var(--soft); padding: 3px 8px; border-radius: 999px; }
@media (max-width: 400px) { .logo small { display: none; } }
.topnav { display: flex; gap: 2px; padding: 4px; border-radius: 999px; background: var(--surface); box-shadow: var(--shadow); }
.topnav a { display: flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--dim); white-space: nowrap; }
.topnav a.active { color: var(--go-ink); background: var(--go); }
@media (hover: hover) { .topnav a:not(.active):hover { color: var(--ink); } }
.in-tg .topbar { display: none; }
.demo-banner .wrap { padding-block: 0 8px; font-size: 12px; color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo-banner .wrap::before { content: 'ДЕМО'; background: var(--plane); color: #fff; padding: 2px 8px; margin-right: 8px; border-radius: 999px; font-weight: 700; }

/* ---- Небо и облака ---- */
.sky { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, var(--sky-a) 0%, var(--sky-b) 100%); }
.cloud { position: absolute; z-index: 0; fill: var(--cloud); pointer-events: none; filter: drop-shadow(0 6px 10px rgba(15, 35, 64, .06)); }
.trail { position: absolute; z-index: 0; pointer-events: none; color: var(--ink); }
.trail > path { opacity: .3; }
.trail-plane { fill: var(--plane); }

/* ---- Иллюминатор ---- */
.port { flex: none; display: block; width: 64px; height: 82px; padding: 6px; border-radius: 30px; background: linear-gradient(160deg, var(--frame-a), var(--frame-b)); box-shadow: 0 1px 2px rgba(15, 35, 64, .14), inset 0 1px 0 rgba(255, 255, 255, .7); }
.port-sky { position: relative; display: grid; place-items: center; width: 100%; height: 100%; border-radius: 24px; overflow: hidden;
  background: linear-gradient(180deg, #86bdfd 0%, #cfe5ff 70%, #eef6ff 100%);
  box-shadow: inset 0 0 0 2px rgba(15, 35, 64, .08), inset 0 10px 16px rgba(15, 35, 64, .18); }
.port-sky::before { content: ''; position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 16%; background: var(--shade); border-bottom: 2px solid var(--frame-b); }
.port-sky::after { content: ''; position: absolute; z-index: 3; inset: 0; border-radius: inherit; background: linear-gradient(125deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, 0) 38%); pointer-events: none; }
.flag { position: relative; z-index: 1; display: grid; place-items: center; line-height: 0; color: #0f2340; }
.flag img { display: block; width: 40px; height: 30px; object-fit: cover; border-radius: 4px; box-shadow: 0 0 0 1px rgba(15, 35, 64, .1), 0 2px 5px rgba(15, 35, 64, .18); }
.flag svg { width: 30px; height: 30px; color: #0f2340; }
.port .flag { margin-top: 12%; }
.port-lg { width: 112px; height: 146px; padding: 9px; border-radius: 52px; }
.port-lg .port-sky { border-radius: 44px; }
.port-lg .flag img { width: 68px; height: 51px; border-radius: 6px; }
.port-lg .flag svg { width: 52px; height: 52px; }
.port-row { width: 54px; height: 70px; padding: 5px; border-radius: 26px; }
.port-row .port-sky { border-radius: 21px; }
.port-row .flag img { width: 34px; height: 25px; border-radius: 3px; }
.port-sm { width: 44px; height: 56px; padding: 4px; border-radius: 20px; }
.port-sm .port-sky { border-radius: 16px; }
.port-sm .flag img { width: 28px; height: 21px; border-radius: 3px; }
.port-sm .flag svg { width: 20px; height: 20px; }
.port-xl { width: 300px; height: 384px; padding: 16px; border-radius: 132px; box-shadow: var(--shadow-lg), inset 0 2px 0 rgba(255, 255, 255, .8); }
.port-xl .port-sky { border-radius: 118px; }
.port-view svg { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ---- Главная ---- */
.hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; margin-top: 4px; padding: 32px 20px 24px; border-radius: 32px; }
.hero > * { min-width: 0; }
.hero .c1 { width: 112px; right: -26px; top: 16px; }
.hero .c2 { width: 170px; left: -48px; bottom: -22px; }
.hero .c3 { display: none; }
.hero-t { position: relative; z-index: 2; }
.hero h1 { font: 800 clamp(40px, 10.5vw, 76px)/.98 var(--display); letter-spacing: -.045em; margin: 0 0 16px; }
.hero p { margin: 0; color: var(--dim); max-width: 30em; font-size: 16px; }
.fsearch { display: grid; grid-template-columns: auto 30px minmax(0, 1fr) 22px; align-items: center; gap: 12px; margin-top: 24px; padding: 10px 16px; min-height: 68px; max-width: 560px; background: var(--surface); border-radius: 20px; box-shadow: var(--shadow-lg); }
.fsearch:focus-within { outline: 3px solid var(--go); outline-offset: 2px; }
.fsearch small { display: block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.fs-from b { font-weight: 700; font-size: 15px; white-space: nowrap; }
.fs-plane { color: var(--plane); display: grid; place-items: center; }
.fs-plane .plane { width: 28px; height: 20px; }
.fs-to { cursor: text; padding-left: 12px; border-left: 1px solid var(--rule); }
.fs-to input { width: 100%; border: 0; outline: none; background: none; color: var(--ink); font: 600 17px var(--font); padding: 0; }
.fs-to input::placeholder { color: var(--dim); font-weight: 500; }
.fs-ico { color: var(--go); display: grid; }
@media (max-width: 480px) { .fsearch { grid-template-columns: 26px minmax(0, 1fr) 22px; } .fs-from { display: none; } .fs-to { border-left: 0; padding-left: 0; } }
.quick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.quick-l { font-size: 13px; color: var(--dim); margin-right: 2px; }
.qchip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px 0 10px; border-radius: 999px; background: color-mix(in srgb, var(--surface) 82%, transparent); font-size: 14px; font-weight: 600; box-shadow: 0 1px 2px rgba(15, 35, 64, .06); }
.qchip .flag img { width: 22px; height: 16px; border-radius: 3px; }
@media (hover: hover) { .qchip:hover { background: var(--surface); color: var(--go); } }
.view { display: none; }
@media (min-width: 900px) {
  .hero { grid-template-columns: minmax(0, 1fr) 360px; padding: 56px 56px; border-radius: 40px; gap: 48px; }
  .hero .c1 { width: 96px; right: auto; left: 52%; top: 24px; }
  .hero .c2 { width: 200px; left: -50px; bottom: -30px; }
  .hero .c3 { display: block; width: 150px; right: -40px; bottom: 28px; }
  .view { position: relative; z-index: 1; display: grid; justify-items: center; }
  .view-chip { position: absolute; left: -28px; bottom: 34px; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-lg); }
  .view-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--peach); color: var(--plane); }
  .view-ic .plane { width: 22px; height: 16px; }
  .view-chip b { display: block; font-size: 15px; font-weight: 700; }
  .view-chip small { font-size: 13px; color: var(--dim); }
}
.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin: 16px 4px 0; padding: 0; list-style: none; font-size: 14px; color: var(--dim); }
.facts li::before { content: ''; display: inline-block; width: 16px; height: 12px; margin-right: 8px; vertical-align: -1px; background: var(--plane); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 24'%3E%3Cpath d='M33 12c0-1.2-1.3-2-3-2h-7.6L14.7 1.5c-.3-.3-.7-.5-1.1-.5h-1.3l3.6 9H8.4L5.6 6.6c-.2-.4-.6-.6-1-.6H3l1.8 6L3 18h1.6c.4 0 .8-.2 1-.6L8.4 14h7.5l-3.6 9h1.3c.4 0 .8-.2 1.1-.5l7.7-8.5H30c1.7 0 3-.8 3-2z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 24'%3E%3Cpath d='M33 12c0-1.2-1.3-2-3-2h-7.6L14.7 1.5c-.3-.3-.7-.5-1.1-.5h-1.3l3.6 9H8.4L5.6 6.6c-.2-.4-.6-.6-1-.6H3l1.8 6L3 18h1.6c.4 0 .8-.2 1-.6L8.4 14h7.5l-3.6 9h1.3c.4 0 .8-.2 1.1-.5l7.7-8.5H30c1.7 0 3-.8 3-2z'/%3E%3C/svg%3E") center / contain no-repeat; }
.facts b { color: var(--ink); font-weight: 700; }
@media (min-width: 760px) { .facts { grid-template-columns: repeat(4, auto); justify-content: space-between; margin: 20px 8px 0; } }

/* Акции */
.promos { display: grid; gap: 12px; margin-top: 32px; }
@media (min-width: 760px) { .promos { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.promo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 16px 14px 14px; border: 0; border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); text-align: left; cursor: pointer; transition: transform .16s; }
.promo-t { display: grid; min-width: 0; }
.promo-t b { font: 700 17px/1.25 var(--display); letter-spacing: -.01em; }
.promo-t span { font-size: 13px; color: var(--dim); }
.promo em { font-style: normal; font-weight: 700; color: var(--go); white-space: nowrap; font-size: 15px; }
.promo-ic { width: 44px; height: 56px; border-radius: 18px; display: grid; place-items: center; background: var(--peach); color: var(--plane); }
.promo-ic .plane { width: 24px; height: 18px; }
.promo-alt em { color: var(--plane); display: grid; }
@media (hover: hover) { .promo:hover { transform: translateY(-2px); } }

/* Вкладки */
.tabs { display: flex; gap: 4px; margin-top: 48px; padding: 4px; background: var(--surface); border-radius: 999px; width: fit-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; box-shadow: var(--shadow); }
.tabs::-webkit-scrollbar { display: none; }
.tabs button { flex: none; min-height: 44px; padding: 0 clamp(12px, 3.6vw, 18px); border: 0; border-radius: 999px; background: none; font-weight: 600; cursor: pointer; color: var(--dim); white-space: nowrap; }
.tabs button[aria-selected="true"] { background: var(--go); color: var(--go-ink); }
.tabs span { font-size: 12px; margin-left: 6px; opacity: .7; }
.note-h { margin: 16px 0 0; font-size: 14px; color: var(--dim); }
.empty { padding: 24px 4px; color: var(--dim); list-style: none; }

/* Список направлений: строки с иллюминатором */
.wins { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 700px) { .wins { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (min-width: 1000px) { .wins { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.wins li { min-width: 0; }
.win { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 10px 12px 10px 10px; border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); transition: transform .16s, box-shadow .16s; }
.win-t { display: grid; min-width: 0; }
.win-t b { font: 700 17px/1.25 var(--display); letter-spacing: -.01em; overflow-wrap: anywhere; }
.win-t small { font-size: 13px; color: var(--dim); }
.win-p { display: grid; justify-items: end; font-weight: 700; font-size: 16px; white-space: nowrap; }
.win-p small { font-size: 12px; font-weight: 500; color: var(--dim); line-height: 1; }
.chev { color: var(--dim); flex: none; }
@media (hover: hover) { .win:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); } .win:hover .chev { color: var(--go); } }

/* Как это работает: маршрут с самолётом */
.sec-h2 { margin: 64px 0 24px; font: 800 clamp(26px, 4.4vw, 36px)/1.1 var(--display); letter-spacing: -.035em; }
.how { list-style: none; margin: 0; padding: 0; display: grid; }
.how li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding-bottom: 24px; }
.how li::before { content: ''; position: absolute; left: 21px; top: 52px; bottom: 6px; border-left: 2px dashed var(--rule); }
.how li:last-child::before { display: none; }
.how-n { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--surface); color: var(--go); font: 800 17px var(--display); box-shadow: var(--shadow); }
.how-plane { background: var(--plane); color: #fff; }
.how-plane .plane { width: 22px; height: 16px; }
.how b { display: block; font: 700 18px/1.3 var(--display); letter-spacing: -.01em; padding-top: 9px; }
.how span:not(.how-n) { display: block; color: var(--dim); font-size: 15px; margin-top: 4px; max-width: 26em; }
@media (min-width: 760px) {
  .how { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .how li { grid-template-columns: 1fr; padding: 0; gap: 12px; }
  .how li::before { left: 56px; right: -12px; top: 21px; bottom: auto; border-left: 0; border-top: 2px dashed var(--rule); }
  .how b { padding-top: 0; }
}

/* ---- Раскладка «основное + сводка сбоку» ---- */
.split { display: grid; gap: 24px; }
.split > * { min-width: 0; }
.aside { display: none; }
@media (min-width: 900px) {
  .split { grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
  .split-even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .aside { display: block; margin-top: 32px; position: sticky; top: calc(84px + env(safe-area-inset-top, 0px)); }
  .has-aside .buybar { display: none; }
}

/* ---- Направление ---- */
.fhead { margin-top: 4px; padding: 24px 20px; border-radius: 32px; }
.fhead .c1 { width: 140px; right: -30px; bottom: -26px; }
.fhead .c2 { display: none; }
.fhead .trail { display: none; }
.fhead-in { position: relative; z-index: 2; display: flex; align-items: center; gap: 20px; }
.fhead-t { min-width: 0; }
.fhead-k { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--dim); font-weight: 500; }
.fcode { font: 600 13px var(--mono); background: var(--surface); color: var(--ink); padding: 3px 8px; border-radius: 8px; }
.fhead h1 { margin: 8px 0 0; font: 800 clamp(32px, 6.6vw, 58px)/1 var(--display); letter-spacing: -.045em; overflow-wrap: anywhere; }
.coverage { margin-top: 8px; font-size: 14px; max-width: 52em; }
.coverage summary { cursor: pointer; font-weight: 700; color: var(--go); display: flex; align-items: center; min-height: 44px; }
.coverage div { color: var(--dim); line-height: 1.7; }
@media (max-width: 560px) { .fhead .port-lg { width: 84px; height: 110px; padding: 7px; border-radius: 40px; } .fhead .port-lg .port-sky { border-radius: 33px; } .fhead .port-lg .flag img { width: 50px; height: 38px; } }
@media (min-width: 900px) {
  .fhead { padding: 40px 48px; border-radius: 40px; }
  .fhead .c1 { width: 180px; right: 40px; bottom: -36px; }
  .fhead .c2 { display: block; width: 90px; right: 34%; top: 20px; }
  .fhead .trail { display: block; width: 260px; right: 40px; top: 24px; }
}

.pick-h { margin: 32px 0 4px; font: 800 21px var(--display); letter-spacing: -.025em; }
.pick-s { margin: 0 0 16px; font-size: 14px; color: var(--dim); }

/* Багаж: чемодан растёт вместе с объёмом */
.bags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 560px) { .bags { grid-template-columns: repeat(auto-fill, minmax(116px, 1fr)); gap: 12px; } }
.bag { position: relative; display: grid; justify-items: center; align-content: end; gap: 2px; min-height: 156px; padding: 12px 6px 14px; border: 2px solid transparent; border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); cursor: pointer; transition: transform .14s, background .14s; }
.bag-box { position: relative; display: grid; place-items: end center; height: 72px; margin-bottom: 8px; color: var(--bag); }
.bag-f { fill: var(--bag-fill); }
.bag-inf { position: absolute; right: -14px; top: 4px; padding: 0 7px; border-radius: 999px; background: var(--plane); color: #fff; font: 800 14px/1.5 var(--display); font-style: normal; }
.bag b { font: 800 18px var(--display); letter-spacing: -.02em; }
.bag small { font-size: 12px; color: var(--dim); }
.bag-ok { position: absolute; right: 10px; top: 10px; width: 22px; height: 22px; border-radius: 50%; display: none; place-items: center; background: var(--go); color: var(--go-ink); }
.bag[aria-checked="true"] { border-color: var(--go); background: var(--soft); }
.bag[aria-checked="true"] .bag-ok { display: grid; }
.bag[aria-checked="true"] .bag-box { color: var(--go); }
.bag[aria-checked="true"] .bag-f { fill: color-mix(in srgb, var(--go) 22%, var(--surface)); }
@media (hover: hover) { .bag:not([aria-checked="true"]):hover { transform: translateY(-3px); } }
.durs { display: flex; flex-wrap: wrap; gap: 10px; }
.dur { display: grid; justify-items: start; min-height: 58px; padding: 8px 18px; border: 2px solid transparent; border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); cursor: pointer; text-align: left; }
.dur b { font-weight: 700; }
.dur small { font-size: 13px; color: var(--dim); }
.dur[aria-checked="true"] { border-color: var(--go); background: var(--soft); }
.dur-one { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 14px 18px; border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.dur-one b { font-size: 17px; }
.dur-one span { font-size: 14px; color: var(--dim); }
.you { margin-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 24px; background: var(--soft); }
.you-t { font: 700 18px var(--display); letter-spacing: -.02em; }
.you-h { font-size: 14px; color: var(--dim); margin-top: 2px; }
.you-price { font: 800 28px var(--display); letter-spacing: -.035em; white-space: nowrap; }
.tag { display: inline-block; font: 700 11px var(--font); letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--plane); padding: 3px 8px; border-radius: 999px; margin-left: 8px; vertical-align: 3px; }

.terms { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
@media (min-width: 640px) { .terms { grid-template-columns: 1fr 1fr; gap: 12px; } }
.terms li { padding: 16px 18px; background: var(--surface); border-radius: 20px; font-size: 14px; box-shadow: var(--shadow); }
.terms b { display: block; font-weight: 700; margin-bottom: 2px; font-size: 15px; }
.terms span { color: var(--dim); }

/* ---- Сводка «Ваш полёт» ---- */
.flight { padding: 24px; border-radius: 28px; background: var(--surface); box-shadow: var(--shadow); }
.flight-h { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.flight-route { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 12px; }
.flight-route small { display: block; font-size: 12px; color: var(--dim); }
.flight-route b { font: 800 34px/1 var(--display); letter-spacing: -.04em; }
.flight-route .to { text-align: right; }
.flight-path { position: relative; height: 28px; color: var(--plane); }
.flight-path::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed var(--rule); }
.flight-path .plane { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 30px; height: 22px; padding: 0 4px; background: var(--surface); box-sizing: content-box; }
.flight-name { margin-top: 8px; font-weight: 600; color: var(--dim); }
.flight-rows { margin-top: 16px; }
.flight-rows div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--rule); }
.flight-rows span { color: var(--dim); }
.flight-rows b { font-weight: 700; }
.flight-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; border-top: 1px solid var(--rule); }
.flight-total span { font-weight: 600; }
.flight-total b { font: 800 30px var(--display); letter-spacing: -.035em; }
.flight .btn { margin-top: 16px; }
.flight-n { margin: 12px 0 0; font-size: 13px; color: var(--dim); }

/* ---- Нижняя панель покупки (телефон) ---- */
.buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; padding: 0 var(--gut-r) calc(10px + env(safe-area-inset-bottom, 0px)) var(--gut); }
.buybar .wrap { padding: 10px 10px 10px 18px; display: flex; align-items: center; gap: 12px; background: var(--surface); border-radius: 24px; box-shadow: var(--shadow-lg); }
.buybar-info { flex: 1; min-width: 0; }
.buybar-title { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.buybar-sub { font-size: 12px; color: var(--dim); }
.buybar .btn { min-height: 50px; padding: 0 18px; border-radius: 16px; }

/* ---- Кнопки, формы ---- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; padding: 0 22px; border: 0; border-radius: 16px; cursor: pointer; font-weight: 700; font-size: 16px; }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .5; cursor: default; }
.btn-go { background: var(--go); color: var(--go-ink); }
.btn-line { background: none; color: var(--ink); box-shadow: inset 0 0 0 2px var(--rule); }
.btn-block { width: 100%; }
@media (hover: hover) { .btn-go:hover { filter: brightness(1.08); } .btn-line:hover { box-shadow: inset 0 0 0 2px var(--go); color: var(--go); } }
.page-h { font: 800 clamp(30px, 5.4vw, 46px)/1.05 var(--display); letter-spacing: -.04em; margin: 24px 0 16px; }
.narrow { max-width: 520px; }
.field { display: grid; gap: 8px; margin-top: 24px; }
.field label { font-size: 15px; font-weight: 700; }
.field input { height: 58px; padding: 0 16px; border: 2px solid transparent; border-radius: 16px; background: var(--surface); color: var(--ink); font: 500 17px var(--font); outline: none; width: 100%; box-shadow: var(--shadow); }
.field input:focus { border-color: var(--go); }
.field small { color: var(--dim); font-size: 13px; }
.checks { margin: 24px 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--dim); display: grid; gap: 8px; }
.checks li { position: relative; padding-left: 28px; }
.checks li::before { content: ''; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--ok) 16%, transparent); }
.checks li::after { content: ''; position: absolute; left: 3px; top: 4px; width: 14px; height: 14px; background: var(--ok); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.3 3 3L12.5 5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.3 3 3L12.5 5'/%3E%3C/svg%3E") center / contain no-repeat; }
.desk-pay { display: none; margin-top: 16px; }
@media (min-width: 900px) { .desk-pay { display: flex; } .has-desk-pay .buybar { display: none; } }

/* ---- Заказ ---- */
.state { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }
.state b { display: block; font-weight: 700; }
.state span { font-size: 14px; color: var(--dim); }
.state-mark { font: 700 12px var(--font); letter-spacing: .06em; padding: 5px 10px; border-radius: 999px; flex: none; }
.state-ok .state-mark { background: var(--ok); color: #fff; }
.state-bad .state-mark { background: var(--bad); color: #fff; }
.spinner { width: 24px; height: 24px; border: 3px solid var(--rule); border-top-color: var(--go); border-radius: 50%; animation: spin .8s linear infinite; flex: none; }
@keyframes spin { to { transform: rotate(360deg); } }
.install { margin-top: 24px; }
.col { display: grid; gap: 24px; align-content: start; }

/* Ход заказа: самолёт над маршрутом */
.fly { margin-top: 24px; }
.fly-line { position: relative; height: 30px; }
.fly-line::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed var(--rule); }
.fly-line i { position: absolute; left: 0; top: 50%; width: 50%; height: 3px; margin-top: -1.5px; border-radius: 2px; background: var(--go); }
.fly-plane { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 0 6px; background: var(--paper); color: var(--plane); display: grid; }
.fly-plane .plane { width: 32px; height: 24px; }
.fly ol { list-style: none; margin: 6px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); font-size: 13px; font-weight: 600; color: var(--dim); }
.fly li:nth-child(2) { text-align: center; }
.fly li:nth-child(3) { text-align: right; }
.fly li.done { color: var(--go); }
.fly li.now { color: var(--ink); font-weight: 800; }

/* eSIM с QR-кодом в иллюминаторе */
.esim { border-radius: 28px; background: var(--surface); box-shadow: var(--shadow); overflow: hidden; }
.esim-top { display: flex; align-items: center; gap: 16px; padding: 24px 20px; }
.esim-top .c1 { width: 130px; right: -24px; top: -10px; }
.esim-top > div { position: relative; z-index: 1; }
.esim-code { font: 800 54px/1 var(--display); letter-spacing: -.05em; }
.esim-name { font: 700 22px/1.1 var(--display); letter-spacing: -.02em; }
.esim-k { font-size: 13px; color: var(--dim); margin-top: 2px; }
.esim-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--rule); }
.esim-fields small { display: block; font-size: 12px; color: var(--dim); }
.esim-fields b { display: block; font-size: 17px; font-weight: 700; overflow-wrap: anywhere; }
.esim-qr { display: grid; justify-items: center; gap: 12px; padding: 24px 20px 8px; text-align: center; }
.qr-port { padding: 12px; border-radius: 70px; background: linear-gradient(160deg, var(--frame-a), var(--frame-b)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }
.qr-port img { display: block; width: 172px; height: 172px; padding: 30px 22px; box-sizing: content-box; background: #fff; border-radius: 58px; box-shadow: inset 0 0 0 2px rgba(15, 35, 64, .06); }
.esim-qr p { margin: 0; font-size: 13px; color: var(--dim); max-width: 22em; }
.esim-iccid { padding: 8px 20px 20px; text-align: center; font: 500 12px var(--mono); color: var(--dim); overflow-wrap: anywhere; }

.card-h { margin: 0 0 4px; font: 700 18px var(--display); letter-spacing: -.02em; }
.card { background: var(--surface); border-radius: 24px; padding: 18px 20px; box-shadow: var(--shadow); }
.card .code { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rule); min-width: 0; }
.card .code:last-child { border-bottom: 0; }
.card .code div { flex: 1; min-width: 0; }
.card .code small { display: block; font-size: 12px; font-weight: 600; color: var(--dim); }
.card .code code { display: block; font: 600 14px var(--mono); overflow-wrap: anywhere; }
.copy { flex: none; min-height: 44px; padding: 0 16px; border: 0; border-radius: 14px; background: var(--soft); color: var(--go); font-size: 14px; font-weight: 700; cursor: pointer; }
.copy:active { background: var(--go); color: var(--go-ink); }
.seg { display: flex; gap: 4px; padding: 4px; background: var(--surface); border-radius: 999px; box-shadow: var(--shadow); }
.seg button { flex: 1; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: none; font-weight: 700; cursor: pointer; color: var(--dim); }
.seg button[aria-selected="true"] { background: var(--go); color: var(--go-ink); }
.steps { list-style: none; margin: 12px 0 0; padding: 0; counter-reset: s; display: grid; gap: 8px; }
.steps li { counter-increment: s; position: relative; padding: 12px 14px 12px 56px; min-height: 52px; background: var(--surface); border-radius: 18px; box-shadow: var(--shadow); }
.steps li::before { content: counter(s); position: absolute; left: 12px; top: 10px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--soft); color: var(--go); font: 800 14px var(--display); }
.meter { height: 10px; border-radius: 999px; background: var(--soft); margin: 12px 0 8px; overflow: hidden; }
.meter div { height: 100%; background: var(--go); border-radius: 999px; }
.muted { color: var(--dim); }
.note-s { font-size: 13px; color: var(--dim); margin: 8px 0 0; }

/* Мои eSIM */
.mylist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.myrow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 16px 12px 12px; border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); }
.myrow-t { display: grid; min-width: 0; }
.myrow-t b { font-weight: 700; overflow-wrap: anywhere; }
.myrow-t small { font-size: 13px; color: var(--dim); }
.myrow-p { font-weight: 700; color: var(--go); }

.skeleton { border-radius: 24px; background: linear-gradient(90deg, var(--soft) 0%, var(--surface) 50%, var(--soft) 100%); background-size: 200% 100%; animation: sk 1.2s infinite; }
@keyframes sk { from { background-position: 200% 0; } to { background-position: -200% 0; } }

.toast { position: fixed; left: 50%; bottom: calc(100px + env(safe-area-inset-bottom)); transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
  background: var(--ink); color: var(--paper); padding: 11px 18px; border-radius: 999px; font-weight: 600; font-size: 14px; transition: .18s; z-index: 30; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ---- Вопрос о совместимости ---- */
.faq { margin-top: 24px; background: var(--surface); border-radius: 24px; box-shadow: var(--shadow); }
.faq summary { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px; font-weight: 700; list-style: none; cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--soft); color: var(--go); font: 600 20px var(--font); flex: none; }
.faq[open] summary::after { content: '–'; }
.faq-b { padding: 0 20px 18px; font-size: 14px; color: var(--dim); display: grid; gap: 8px; }
.faq-b b { color: var(--ink); font-weight: 600; }
.faq-b code { font: 600 14px var(--mono); background: var(--soft); color: var(--ink); padding: 1px 6px; border-radius: 6px; }

@media (prefers-reduced-motion: reduce) {
  .spinner { animation-duration: 3s; } .skeleton { animation: none !important; }
  .win, .promo, .bag { transition: none !important; }
  .win:hover, .promo:hover, .bag:hover { transform: none !important; }
}

/* Esimari refinement: keep the sky and the view from the aircraft;
   use typography, alignment and fine rules for the shopping interface. */
:root {
  --paper: #fff; --surface: #fff; --ink: #142C4F; --dim: #56677D;
  --rule: #DCE4ED; --soft: #EDF4FF; --go: #2463DC; --plane: #EF663E;
  --sky-a: #D5E8FC; --sky-b: #F0F6FC;
  --font: 'Onest', system-ui, -apple-system, sans-serif;
  --display: 'Onest', system-ui, -apple-system, sans-serif;
  --shadow: none; --maxw: 1280px;
  --gut: max(24px, env(safe-area-inset-left, 0px));
  --gut-r: max(24px, env(safe-area-inset-right, 0px));
}
.topbar { background: var(--paper); backdrop-filter: none; -webkit-backdrop-filter: none; }
.topbar .wrap { height: 88px; }
.logo { gap: 9px; font-size: 30px; font-weight: 700; letter-spacing: -.06em; }
.logo svg { width: 34px; height: 34px; }
.logo small { background: none; color: var(--dim); font-size: 12px; font-weight: 500; padding: 0 0 0 1px; letter-spacing: 0; align-self: flex-end; margin-bottom: 7px; }
.topnav { padding: 0; gap: 30px; border-radius: 0; background: none; }
.topnav a { padding: 0; font-size: 14px; border-radius: 0; font-weight: 500; }
.topnav a.active { color: var(--go); background: none; box-shadow: inset 0 -2px var(--go); }
.demo-banner { background: var(--soft); margin-bottom: 12px; }
.demo-banner .wrap { padding-block: 6px; font-size: 11px; color: var(--dim); }
.demo-banner .wrap::before { border-radius: 3px; font-size: 9px; padding: 2px 5px; background: none; border: 1px solid currentColor; color: var(--go); }
.hero { border-radius: 16px; margin-top: 0; padding: 40px; min-height: 344px; grid-template-columns: minmax(0, 1fr) 270px; gap: 42px; }
.hero h1 { font-size: clamp(48px, 5.6vw, 76px); font-weight: 600; letter-spacing: -.065em; line-height: 1.04; margin: 0 0 18px; }
.hero p { max-width: 390px; color: #506881; font-size: 16px; line-height: 1.55; }
.hero .c1 { width: 90px; left: auto; right: 28px; top: 28px; opacity: .5; }
.hero .c2 { width: 240px; left: -90px; bottom: -56px; opacity: .5; }
.hero .c3 { display: none; }
.view { display: grid; position: relative; justify-items: center; align-self: center; }
.view .port-xl { width: 210px; height: 272px; padding: 10px; border-radius: 96px; box-shadow: 0 16px 32px #35577F25, inset 0 2px 0 #fff; }
.view .port-xl .port-sky { border-radius: 86px; }
.view-caption { position: absolute; bottom: -24px; white-space: nowrap; font-size: 11px; color: #56677D; }
.fsearch { margin-top: 24px; min-height: 68px; max-width: 560px; padding: 12px 18px; border-radius: 9px; grid-template-columns: 24px minmax(0,1fr) 22px; gap: 16px; box-shadow: 0 4px 16px #3F638D10; border: 1px solid #fff; }
.fs-to { padding-left: 0; border-left: 0; }
.fs-to small { font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 11px; margin-bottom: 2px; }
.fs-to input { font-size: 16px; font-weight: 500; }
.fs-to input::placeholder { color: #4E6078; }
.fs-plane .plane { width: 24px; }
.fs-ico { color: var(--dim); }
.quick { gap: 14px; margin-top: 13px; }
.quick-l { font-size: 11px; }
.qchip { min-height: 30px; padding: 0; background: none; border-radius: 0; box-shadow: none; gap: 5px; font-size: 12px; font-weight: 500; color: #425F82; }
.qchip .flag img { width: 17px; height: 12px; border-radius: 1px; box-shadow: none; }
.home-note { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0 22px; color: var(--dim); font-size: 12px; }
.home-note a { display: flex; align-items: center; gap: 8px; color: var(--go); }
.home-note svg { width: 14px; height: 14px; }
#results { scroll-margin-top: 105px; }
.catalogue-head { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-bottom: 1px solid var(--rule); }
.catalogue-head h2 { margin: 12px 0 20px; font-size: 27px; line-height: 1.1; letter-spacing: -.04em; font-weight: 600; }
.tabs { padding: 0; margin: 0; border-radius: 0; gap: 24px; background: none; }
.tabs button { padding: 14px 0 20px; min-height: 58px; border-radius: 0; font-size: 14px; font-weight: 500; }
.tabs button[aria-selected="true"] { color: var(--go); background: none; box-shadow: inset 0 -2px var(--go); }
.tabs span { font-size: 11px; margin-left: 4px; }
.wins { margin: 0; gap: 0 32px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.win { grid-template-columns: 32px minmax(0,1fr) auto 14px; padding: 20px 0; min-height: 84px; gap: 12px; border-radius: 0; border-bottom: 1px solid var(--rule); box-shadow: none; background: none; }
.win .flag img { width: 28px; height: 20px; border-radius: 3px; box-shadow: 0 0 0 1px #142C4F10; }
.win .flag svg { width: 26px; height: 26px; color: var(--go); }
.win-t b { font-size: 16px; font-weight: 600; letter-spacing: -.025em; }
.win-t small { margin-top: 3px; font-size: 11px; }
.win-p { font-size: 15px; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.win-p small { font-size: 10px; line-height: 1.5; }
.chev { width: 14px; height: 14px; stroke-width: 1.5; }
.region-note { display: flex; gap: 18px; align-items: center; padding: 23px 26px; margin: 28px 0 0; background: var(--soft); border-radius: 10px; }
.region-mark { width: 34px; flex: none; color: var(--go); display: grid; }
.region-note b { font-size: 15px; font-weight: 600; }
.region-note p { margin: 3px 0 0; color: var(--dim); font-size: 12px; }
.region-link { margin-left: auto; border: 0; padding: 8px 0 8px 16px; display: flex; gap: 10px; align-items: center; color: var(--go); font-size: 13px; font-weight: 600; background: none; white-space: nowrap; cursor: pointer; }
.sec-h2 { font-size: 30px; font-weight: 600; letter-spacing: -.04em; margin: 52px 0 26px; }
.how b { font-size: 16px; font-weight: 600; }
.how span:not(.how-n) { font-size: 13px; line-height: 1.6; max-width: 24em; }
.how-n { box-shadow: none; width: 30px; height: 30px; background: none; border: 1px solid var(--rule); font-size: 13px; }
.how-plane { color: var(--plane); background: none; border: 0; }
.how li::before { top: 14px; left: 48px; border-width: 1px; }
.faq { border-radius: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); box-shadow: none; background: none; }
.faq summary { padding: 0; min-height: 64px; font-size: 14px; font-weight: 600; }
.faq summary::after { background: none; border-radius: 0; }
.faq-b { padding: 0 0 20px; font-size: 13px; max-width: 680px; }
.back-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: var(--dim); margin: 0 0 8px; }
.fhead { padding: 30px 36px; border-radius: 12px; min-height: 176px; }
.fhead-in { gap: 24px; }
.fhead-in > .flag { align-self: flex-start; margin-top: 9px; }
.fhead-in > .flag img { width: 48px; height: 34px; box-shadow: none; border-radius: 4px; }
.fhead-in > .flag svg { width: 42px; height: 42px; }
.fhead h1 { font-size: 50px; font-weight: 600; letter-spacing: -.055em; margin-top: 10px; }
.fhead-k { gap: 12px; font-size: 12px; }
.fcode { padding: 0; border-radius: 0; background: none; color: var(--go); font-family: var(--font); font-size: 12px; font-weight: 600; }
.fhead .trail { width: 210px; top: 28px; right: 30px; }
.fhead .c2 { display: none; }
.fhead .c1 { width: 160px; right: 55px; bottom: -34px; }
.split { gap: 40px; }
.pick-h { font-size: 20px; font-weight: 600; letter-spacing: -.035em; margin: 32px 0 7px; }
.pick-s { font-size: 12px; margin-bottom: 18px; }
.bags { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.bag { min-height: 98px; align-content: center; justify-items: start; gap: 5px; padding: 18px; border: 1px solid var(--rule); border-radius: 9px; box-shadow: none; }
.bag b { font-size: 24px; font-weight: 600; letter-spacing: -.04em; }
.bag small { font-size: 12px; }
.bag[aria-checked="true"] { background: var(--soft); border-color: var(--go); box-shadow: inset 0 0 0 1px var(--go); }
.bag-ok { width: 17px; height: 17px; top: 12px; right: 12px; }
.dur, .dur-one { border: 1px solid var(--rule); border-radius: 8px; box-shadow: none; padding: 12px 16px; font-size: 14px; }
.dur-one { justify-content: space-between; background: #F7F9FC; }
.dur-one b { font-size: 16px; }
.dur-one span { font-size: 12px; }
.you { padding: 20px 0; background: none; border-radius: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.you-t { font-weight: 600; font-size: 17px; }
.you-price { font-size: 28px; font-weight: 600; }
.you-h { font-size: 12px; max-width: 300px; }
.tag { background: none; color: var(--go); padding: 0; border-radius: 0; font-size: 10px; letter-spacing: 0; text-transform: none; vertical-align: 0; }
.terms { gap: 22px 24px; }
.terms li { padding: 0; border-radius: 0; background: none; box-shadow: none; font-size: 12px; line-height: 1.6; }
.terms b { font-size: 13px; font-weight: 600; }
.flight { border-radius: 12px; background: #F5F8FC; padding: 28px; border: 1px solid var(--rule); box-shadow: none; }
.flight-h { font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--ink); font-weight: 600; }
.flight-route { margin-top: 28px; }
.flight-route b { font-size: 32px; font-weight: 600; }
.flight-route small { margin-bottom: 7px; }
.flight-path .plane { background: #F5F8FC; }
.flight-name { font-size: 13px; margin: 14px 0 24px; }
.flight-rows div { font-size: 14px; padding: 14px 0; }
.flight-rows b { font-weight: 500; }
.flight-total { padding-top: 20px; }
.flight-total span { font-size: 14px; font-weight: 500; }
.flight-total b { font-size: 28px; font-weight: 600; }
.flight-n { font-size: 11px; line-height: 1.6; margin-top: 14px; }
.btn, .field input { border-radius: 8px; font-weight: 500; }
.btn { font-size: 14px; }
.field input { border: 1px solid var(--rule); box-shadow: none; }
.field label { font-weight: 500; }
.page-h { font-weight: 600; letter-spacing: -.05em; }
.narrow { max-width: 560px; margin: 0 auto; }
.narrow .back-link { margin-top: 6px; }
.narrow .page-h { margin-top: 8px; }
.checks { font-size: 12px; gap: 12px; }
.buybar { padding: 0; background: var(--surface); border-top: 1px solid var(--rule); box-shadow: 0 -6px 20px #142C4F08; }
.buybar .wrap { border-radius: 0; box-shadow: none; padding: 16px var(--gut) calc(16px + env(safe-area-inset-bottom)); }
.buybar-title { font-size: 13px; font-weight: 600; }
.buybar .btn { border-radius: 8px; font-size: 13px; padding: 0 16px; }
.esim, .state, .card, .myrow { border-radius: 10px; box-shadow: none; border: 1px solid var(--rule); }
.myrow { grid-template-columns: 40px minmax(0,1fr) auto; padding: 20px; gap: 16px; }
.myrow .flag img { width: 30px; height: 21px; box-shadow: none; border-radius: 3px; }
.myrow-p { font-weight: 500; font-size: 14px; }
.myrow-t b { font-weight: 500; font-size: 16px; }
.myrow-t small { margin-top: 4px; font-size: 12px; }
.state-mark { border-radius: 4px; font-size: 10px; }
.qr-port { border-radius: 8px; padding: 0; background: none; }
.qr-port img { border-radius: 8px; padding: 16px; }
.seg { background: #F5F8FC; border-radius: 8px; box-shadow: none; }
.seg button { border-radius: 5px; font-size: 14px; font-weight: 500; }
.steps li { border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--rule); font-size: 13px; line-height: 1.6; }
.copy { border-radius: 6px; font-size: 12px; font-weight: 500; }
@media (hover:hover) {
  .win:hover { transform: none; box-shadow: none; background: var(--soft); }
  .win:hover .win-t b { color: var(--go); }
  .bag:not([aria-checked="true"]):hover { transform: none; border-color: var(--go); }
  .qchip:hover { background: none; text-decoration: underline; }
}
@media (min-width:900px) {
  :root { --gut: 40px; --gut-r: 40px; }
  .split { grid-template-columns: minmax(0,1fr) 340px; }
  .split-even { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aside { top: 112px; }
}
@media (max-width:899px) {
  .topbar .wrap { height: 72px; }
  .hero { grid-template-columns: minmax(0,1fr) 180px; padding: 28px; gap: 20px; }
  .hero h1 { font-size: 52px; }
  .view .port-xl { width: 160px; height: 210px; padding: 8px; }
  .wins { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
  .split { gap: 24px; }
  .fhead .trail { display: block; width: 160px; top: 34px; }
  .fhead { padding: 28px; }
  .fhead h1 { font-size: 44px; }
}
@media (max-width:599px) {
  :root { --gut: max(20px, env(safe-area-inset-left,0px)); --gut-r: max(20px, env(safe-area-inset-right,0px)); }
  .topbar .wrap { height: 70px; }
  .logo { font-size: 26px; gap: 7px; }
  .logo svg { width: 29px; height: 29px; }
  .logo small { display: none; }
  .topnav { gap: 18px; }
  .topnav a { font-size: 12px; min-height: 36px; }
  .demo-banner { margin-bottom: 10px; }
  .demo-banner .wrap { font-size: 10px; padding-block: 5px; }
  .hero { display: block; padding: 24px 20px 18px; min-height: 0; border-radius: 12px; }
  .hero h1 { max-width: 175px; font-size: 44px; line-height: 1.02; margin-bottom: 12px; letter-spacing: -.06em; }
  .hero p { max-width: 174px; font-size: 12px; line-height: 1.5; }
  .hero .c1 { width: 45px; right: 5px; top: 15px; }
  .hero .c2 { display: none; }
  .view { position: absolute; right: 17px; top: 25px; z-index: 1; }
  .view .port-xl { width: 100px; height: 134px; padding: 6px; border-radius: 47px; box-shadow: 0 8px 18px #35577F20, inset 0 2px #fff; }
  .view .port-xl .port-sky { border-radius: 41px; }
  .view-caption { display: none; }
  .fsearch { margin-top: 22px; min-height: 62px; padding: 10px 12px; gap: 10px; border-radius: 7px; }
  .fs-to input { font-size: 14px; }
  .fs-to small { font-size: 10px; }
  .quick { margin-top: 9px; gap: 12px; }
  .quick-l { display: none; }
  .qchip { font-size: 10px; gap: 4px; }
  .qchip .flag img { width: 14px; height: 10px; }
  .home-note { padding: 13px 0 24px; font-size: 10px; gap: 10px; }
  .home-note a { gap: 4px; }
  .home-note svg { width: 12px; height: 12px; }
  .catalogue-head { display: block; }
  .catalogue-head h2 { font-size: 25px; margin: 2px 0 8px; }
  .tabs { gap: 23px; width: 100%; justify-content: space-between; }
  .tabs button { min-height: 48px; padding: 12px 0; font-size: 12px; }
  .tabs span { font-size: 10px; margin-left: 3px; }
  .wins { grid-template-columns: 1fr; gap: 0; }
  .win { min-height: 75px; padding: 17px 0; grid-template-columns: 32px minmax(0,1fr) auto 14px; gap: 13px; }
  .win-t b { font-size: 15px; }
  .win-t small { font-size: 10px; }
  .win-p { font-size: 15px; }
  .region-note { margin-top: 24px; padding: 20px; display: grid; grid-template-columns: 1fr; gap: 12px; border-radius: 8px; }
  .region-mark { display: none; }
  .region-note b { font-size: 14px; }
  .region-note p { font-size: 12px; line-height: 1.5; }
  .region-link { margin: 0; padding: 0; min-height: 32px; justify-content: space-between; font-size: 12px; }
  .sec-h2 { font-size: 25px; margin-top: 40px; }
  .how li { grid-template-columns: 30px minmax(0,1fr); gap: 12px; }
  .how li::before { top: 38px; left: 14px; }
  .how b { padding-top: 4px; font-size: 15px; }
  .how span:not(.how-n) { font-size: 12px; }
  .back-link { font-size: 12px; min-height: 36px; margin-bottom: 8px; }
  .fhead { padding: 24px 20px; min-height: 144px; }
  .fhead-in { gap: 15px; }
  .fhead-in > .flag img { width: 33px; height: 24px; }
  .fhead-in > .flag { margin-top: 5px; }
  .fhead h1 { font-size: 38px; margin-top: 10px; line-height: 1.06; }
  .fhead-k { font-size: 10px; gap: 8px; }
  .fcode { font-size: 10px; }
  .fhead .trail { display: none; }
  .fhead .c1 { width: 80px; bottom: -20px; right: -10px; }
  .pick-h { margin-top: 28px; font-size: 19px; }
  .pick-s { font-size: 11px; max-width: 290px; line-height: 1.6; }
  .bags { gap: 8px; }
  .bag { min-height: 88px; padding: 15px 12px; border-radius: 8px; }
  .bag b { font-size: 23px; }
  .bag small { font-size: 11px; }
  .bag-ok { width: 14px; height: 14px; right: 8px; top: 8px; }
  .bag-ok svg { width: 9px; }
  .dur-one { padding: 13px 14px; }
  .dur-one span { font-size: 10px; }
  .you { gap: 12px; margin-top: 20px; padding: 18px 0; align-items: start; }
  .you-t { font-size: 15px; }
  .you-price { font-size: 24px; }
  .you-h { font-size: 10px; line-height: 1.6; max-width: 210px; }
  .tag { display: block; margin: 3px 0; font-size: 10px; }
  .terms { grid-template-columns: 1fr; gap: 18px; }
  .terms li { font-size: 12px; }
  .buybar .wrap { gap: 10px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); }
  .buybar .btn { min-height: 48px; padding: 0 13px; font-size: 12px; }
  .buybar-title { font-size: 12px; }
  .buybar-sub { font-size: 11px; margin-top: 2px; }
  .flight { padding: 22px; }
  .flight-route { margin-top: 22px; }
  .page-h { font-size: 32px; }
  .state { padding: 14px; gap: 10px; }
  .state b { font-size: 14px; }
  .state span { font-size: 11px; }
  .state .state-mark { font-size: 9px; }
  .esim-code { font-size: 40px; }
  .esim-name { font-size: 19px; }
  .myrow { padding: 18px 14px; grid-template-columns: 30px minmax(0,1fr) auto; gap: 10px; }
  .myrow-t b { font-size: 13px; }
  .myrow-t small { font-size: 10px; }
  .myrow-p { font-size: 12px; }
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) { --paper:#0B1526;--surface:#142238;--ink:#EEF3FB;--dim:#A9B8CB;--rule:#2B3E57;--soft:#192F4F;--go:#84ADFF;--go-ink:#0B1526;--sky-a:#16305A;--sky-b:#142238; }
}
:root[data-theme="dark"] { --paper:#0B1526;--surface:#142238;--ink:#EEF3FB;--dim:#A9B8CB;--rule:#2B3E57;--soft:#192F4F;--go:#84ADFF;--go-ink:#0B1526;--sky-a:#16305A;--sky-b:#142238; }
@media (prefers-color-scheme:dark) {
 :root:not([data-theme="light"]) :is(.flight,.flight-path .plane,.dur-one,.seg) { background:var(--surface); }
 :root:not([data-theme="light"]) :is(.hero p,.qchip,.fs-to input::placeholder) { color:var(--dim); }
}
:root[data-theme="dark"] :is(.flight,.flight-path .plane,.dur-one,.seg) { background:var(--surface); }
:root[data-theme="dark"] :is(.hero p,.qchip,.fs-to input::placeholder) { color:var(--dim); }
:root, :root[data-theme] { --ok: var(--go); }
.state-ok .state-mark { color: var(--go-ink); }
.bag[data-vol="u"] b { font-size: 17px; letter-spacing: -.04em; }
.plan-limit-note { margin: 10px 0 0; color: var(--dim); font-size: 11px; line-height: 1.5; }
.field input[aria-invalid="true"] { border-color: var(--bad); }
@media (max-width:599px) { .bag[data-vol="u"] b { font-size: 15px; } .plan-limit-note { font-size: 10px; } }
/* Token-based foregrounds also keep the existing Telegram dark theme readable. */
.fs-to input::placeholder, .view-caption { color: var(--dim); }
.fsearch { border-color: var(--surface); }
.fhead-in > .flag svg { color: var(--go); }

/* Typography study: expressive Cyrillic display lettering with a quiet UI face.
   Palette, controls, artwork and layout are unchanged. */
:root {
  --font: 'Golos Text', system-ui, -apple-system, sans-serif;
  --display: 'Golos Text', system-ui, -apple-system, sans-serif;
  --brand-display: 'Unbounded', 'Golos Text', sans-serif;
}
:is(.hero h1, .fhead h1, .page-h, .sec-h2, .catalogue-head h2, .logo) {
  font-family: var(--brand-display);
  font-weight: 500;
  letter-spacing: -.045em;
}
.hero h1 { font-size: clamp(46px, 5vw, 64px); line-height: 1.18; }
.fhead h1 { font-size: 40px; line-height: 1.25; }
.page-h { font-size: 36px; line-height: 1.34; }
.catalogue-head h2 { font-size: 22px; line-height: 1.35; }
.sec-h2 { font-size: 24px; line-height: 1.375; }
.logo { font-size: 24px; line-height: 1.5; letter-spacing: -.06em; }
.logo small { font-family: var(--font); }
:is(.win-p, .you-price, .flight-total b, .bag b, .myrow-p) { font-variant-numeric: tabular-nums; }
@media (max-width: 899px) {
  .hero h1 { font-size: 46px; line-height: 1.15; }
  .fhead h1 { font-size: 36px; line-height: 1.22; }
}
@media (max-width: 599px) {
  .hero h1 { font-size: 36px; line-height: 44px; max-width: 175px; }
  .fhead h1 { font-size: 32px; line-height: 1.26; }
  .page-h { font-size: 28px; line-height: 1.2; }
  .catalogue-head h2 { font-size: 21px; line-height: 1.3; }
  .sec-h2 { font-size: 21px; line-height: 1.3; }
  .logo { font-size: 22px; line-height: 1.42; }
}
@media (max-width: 359px) {
  .hero h1 { font-size: 30px; line-height: 44px; letter-spacing: -.05em; }
  .fhead h1 { font-size: 28px; }
  .page-h { font-size: 25px; }
  .logo { font-size: 20px; }
  .fs-to input { font-size: 13px; }
}
@media (min-width: 900px) and (max-width: 980px) {
  .win { column-gap: 8px; }
}

/* Esimari account edition: original sky-blue palette, shared account and travel search. */
:root, :root[data-theme], :root:not([data-theme="light"]) {
  --paper:#FFFFFF;--surface:#FFFFFF;--ink:#142C4F;--dim:#56677D;--rule:#DCE4ED;
  --soft:#EDF4FF;--go:#2463DC;--go-ink:#FFFFFF;--plane:#EF663E;--ok:var(--go);
  --sky-a:#D5E8FC;--sky-b:#F0F6FC;--cloud:#FFFFFF;
  --font:'Golos Text',system-ui,sans-serif;--display:'Golos Text',system-ui,sans-serif;
  --shadow:0 3px 14px #17335E07;--shadow-lg:0 20px 70px #12294D25;
  color-scheme:light;
}
body {background:var(--paper);}
body:not(.is-home) {background:var(--sky-b);}
body.modal-open {overflow:hidden;}
.topbar,.in-tg .topbar {display:block;background:var(--surface);color:var(--ink);position:relative;top:0;}
.topbar .wrap {height:80px;}
.logo {font-family:'Unbounded','Golos Text',sans-serif;font-size:25px;font-weight:500;letter-spacing:-.06em;color:var(--ink);}
.logo svg rect {fill:var(--go);}
.logo svg g path {fill:var(--go-ink);}
.logo svg>path {stroke:#9CC6FF;}
.logo small {color:var(--dim);}
.topnav {gap:28px;align-items:center;}
.topnav a {color:var(--dim);font-size:14px;}
.topnav a.active {color:var(--go);box-shadow:inset 0 -2px var(--go);}
.profile-entry {position:relative;}
.profile-button {display:inline-flex;align-items:center;gap:8px;border:0;background:var(--soft);color:var(--go);border-radius:10px;min-height:42px;padding:0 14px;cursor:pointer;font-weight:500;font-size:14px;}
.profile-button svg {width:20px;height:20px;}
.profile-menu {position:absolute;z-index:35;right:0;top:calc(100% + 10px);min-width:230px;padding:8px;background:white;border:1px solid var(--rule);border-radius:16px;box-shadow:var(--shadow-lg);color:var(--ink);}
.profile-menu a,.profile-menu button {display:flex;align-items:center;width:100%;min-height:44px;padding:10px 14px;font:500 14px var(--font);color:var(--ink);border:0;background:none;border-radius:8px;text-align:left;cursor:pointer;box-shadow:none;}
.profile-menu :is(a,button):hover {background:var(--soft);color:var(--go);}
.profile-menu button {border-top:1px solid var(--rule);margin-top:4px;border-radius:0 0 8px 8px;color:var(--dim);}
.demo-banner {margin:0;background:var(--soft);}
.demo-banner .wrap {padding-block:7px;color:var(--dim);font-size:11px;}
.demo-banner .wrap::before {color:var(--go);border-color:#9CC6FF;}
.app {padding-top:0;min-height:calc(100vh - 110px);}
.initial-loading {padding:32px 0;color:var(--dim);}
.home-intro {position:relative;isolation:isolate;}
.home-intro::before {content:'';position:absolute;z-index:-1;inset:0 calc((100% - 100vw)/2);background:linear-gradient(180deg,var(--sky-a),var(--sky-b));}
.hero {display:block;min-height:0;padding:46px 0 28px;background:transparent;border-radius:0;overflow:visible;}
.hero .cloud,.hero .view {display:none;}
.hero-t {text-align:center;}
.hero h1 {font-family:var(--font);font-size:58px;line-height:1.08;font-weight:700;letter-spacing:-.045em;color:var(--ink);margin:0 0 16px;max-width:none;}
.hero p {font-size:17px;line-height:1.55;color:#506881;max-width:550px;margin:0 auto;}
.hero-search {display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;max-width:960px;margin:32px auto 0;}
.fsearch {grid-template-columns:28px minmax(0,1fr) 22px;max-width:none;margin:0;min-height:76px;border:0;border-radius:12px;padding:16px 24px;text-align:left;gap:16px;box-shadow:none;background:#FFF;}
.fs-plane {color:var(--plane);}
.fs-to small {font-size:12px;color:var(--dim);margin-bottom:3px;}
.fs-to input {font-size:19px;font-weight:500;}
.fs-to input::placeholder {color:#45556C;}
.fs-ico {color:#6B7B92;}
.btn-go {background:var(--go);color:var(--go-ink);}
.btn-go:hover {filter:brightness(1.04);}
.btn {border-radius:10px;font-weight:600;font-size:15px;min-height:52px;}
.search-button {font-size:17px;min-height:76px;border-radius:12px;}
.quick {justify-content:center;margin-top:16px;gap:18px;}
.quick-l {color:var(--dim);font-size:12px;}
.qchip {color:var(--ink);font-size:13px;min-height:32px;gap:6px;}
.qchip:hover {color:var(--go);}
.qchip .flag img {width:19px;height:14px;}
.home-note {padding:0 0 24px;color:var(--dim);font-size:12px;}
.home-note a {color:var(--go);}
#results {margin-top:30px;background:white;border-radius:18px;padding:12px 24px 4px;scroll-margin-top:20px;}
.catalogue-head {gap:24px;}
.catalogue-head h2,.sec-h2 {font-family:var(--font);font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.035em;}
.catalogue-head h2 {margin:16px 0 20px;}
.tabs {gap:24px;}
.tabs button {font-size:14px;}
.wins {column-gap:28px;}
.win {min-height:90px;}
.win-t b {font-size:16px;}
.win-p {font-size:16px;}
.region-note {background:white;border-radius:14px;padding:24px;margin-top:20px;}
.sec-h2 {margin-top:44px;}
.how-n {background:white;}
.faq {border:0;border-radius:14px;background:white;padding:0 22px;}
.back-link {margin-top:20px;}
.fhead {background:white;border-radius:16px;min-height:166px;padding:30px 32px;border:1px solid var(--rule);}
.fhead .cloud,.fhead .trail {display:none;}
.fhead h1 {font-family:var(--font);font-size:44px;font-weight:700;line-height:1.12;letter-spacing:-.035em;}
.fhead-k {font-size:13px;}
.split {gap:32px;}
.split>.aside {top:24px;}
.pick-h {font-family:var(--font);font-size:22px;font-weight:650;}
.pick-s {font-size:13px;}
.bags {gap:10px;}
.bag {background:white;border-radius:11px;min-height:104px;border-color:#D9E1ED;}
.bag[aria-checked="true"] {background:white;box-shadow:inset 0 0 0 1px var(--go);}
.bag b {font-size:26px;}
.bag[data-vol="u"] b {font-size:17px;}
.dur,.dur-one {background:white;border-radius:10px;}
.you {border:0;background:white;border-radius:12px;padding:20px;}
.you-price {font-size:30px;}
.terms {margin-top:26px;}
.flight {background:white!important;border-color:var(--rule);border-radius:16px;padding:28px;}
.flight-path .plane {background:white!important;}
.flight-h {font-size:15px;font-weight:600;}
.flight-route b {font-weight:650;}
.flight .btn {margin-top:20px;}
.flight-rows div {font-size:15px;}
.flight-total b {font-size:30px;}
.flight-n {font-size:12px;}
.page-h {font-family:var(--font);font-size:38px;font-weight:700;line-height:1.15;letter-spacing:-.035em;}
.narrow {max-width:580px;}
.checkout-page .page-h {margin-bottom:22px;}
.checkout-identity {position:relative;display:grid;gap:8px;padding:22px 24px;margin:18px 0;background:white;border:1px solid var(--rule);border-radius:14px;}
.checkout-identity>span {font-size:12px;color:var(--dim);}
.checkout-identity>b {font-size:15px;font-weight:500;overflow-wrap:anywhere;padding-right:80px;}
.checkout-identity>a {position:absolute;right:24px;bottom:22px;color:var(--go);font-size:13px;}
.checks {font-size:13px;}
.buybar {background:white;}
.buybar .wrap {background:white;}
.buybar .btn {border-radius:10px;}
.esim,.state,.card {background:white;border:1px solid var(--rule);border-radius:14px;}
.esim-top {background:#EDF3FF;}
.esim-name,.esim-code {color:var(--ink);}
.local-notice {border:1px solid #D6E3F8;background:#EDF4FF;color:#3D567D;border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.6;margin:20px 0;}
.install-demo {display:grid;gap:4px;}
.install-demo b {color:var(--ink);}
.demo-esim-placeholder {display:grid;place-content:center;width:200px;height:180px;background:#F0F4FA;border:2px dashed #B7C8E1;border-radius:16px;color:#58759F;font-size:30px;font-weight:650;letter-spacing:.05em;}
.demo-esim-placeholder span {font-size:12px;font-weight:400;letter-spacing:0;margin-top:10px;}
.text-button {display:inline-flex;align-items:center;gap:6px;min-height:36px;border:0;padding:0;background:none;color:var(--go);font:500 14px var(--font);cursor:pointer;text-align:left;}
.text-button:disabled {color:var(--dim);cursor:default;}
.form-error {color:#AC301D;font-size:13px;line-height:1.5;min-height:20px;margin:10px 0;}
.form-error:empty {min-height:0;margin:0;}
.auth-dialog {width:calc(100% - 40px);max-width:470px;padding:0;border:0;border-radius:22px;background:white;color:var(--ink);box-shadow:var(--shadow-lg);overflow:auto;max-height:calc(100dvh - 40px);}
.auth-dialog::backdrop {background:#12213B66;backdrop-filter:blur(2px);}
.auth-content {position:relative;padding:38px 40px 30px;}
.dialog-close {position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#F1F3F6;color:#536277;font:400 25px var(--font);cursor:pointer;}
.auth-symbol {display:grid;place-items:center;width:48px;height:48px;background:var(--soft);color:var(--go);border-radius:14px;margin:0 auto 18px;}
.auth-symbol svg {width:25px;height:25px;}
.auth-content h2 {font-family:var(--font);font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px;text-align:center;font-weight:700;}
.auth-sub {font-size:14px;line-height:1.55;color:var(--dim);text-align:center;margin:0 0 26px;overflow-wrap:anywhere;}
.auth-sub strong {font-weight:500;color:var(--ink);}
.auth-content label {display:block;font-size:13px;font-weight:500;margin-bottom:8px;}
.auth-content input {width:100%;height:56px;border:1px solid #D7E0EC;border-radius:10px;font:400 17px var(--font);padding:0 16px;background:#FFF;color:var(--ink);outline:none;}
.auth-content input:focus {border-color:var(--go);box-shadow:0 0 0 3px #2463EB12;}
.auth-content input[aria-invalid="true"] {border-color:#AC301D;}
.auth-content #authSubmit {margin-top:14px;}
.auth-footnote {font-size:12px;color:var(--dim);line-height:1.5;text-align:center;margin:18px 0 0;}
.auth-code-meta {display:grid;gap:4px;margin-top:16px;}
.auth-code-meta span {font-size:12px;color:var(--dim);}
.auth-code-meta .text-button {font-size:13px;}
.auth-back {font-size:13px;margin-top:2px;}
.demo-auth-note {border-radius:10px;background:#EDF4FF;padding:14px 16px;margin-top:20px;font-size:12px;color:#3C5C8E;line-height:1.5;}
.demo-auth-note b {font-weight:600;}
.demo-auth-note p {margin:5px 0 0;}
.demo-auth-note strong {font-size:16px;font-weight:650;color:#173C79;letter-spacing:.08em;white-space:nowrap;}
.auth-gate {max-width:600px;text-align:center;margin:60px auto;padding:44px 36px;background:white;border-radius:20px;}
.auth-gate h1 {font:700 32px/1.2 var(--font);letter-spacing:-.035em;margin:0 0 16px;}
.auth-gate p {font-size:15px;color:var(--dim);line-height:1.6;margin:0 auto 26px;max-width:400px;}
.auth-gate>.text-button {display:flex;justify-content:center;margin-top:16px;}
.account-heading {margin:36px 0 26px;}
.account-heading h1 {font:700 36px/1.15 var(--font);letter-spacing:-.035em;margin:0 0 10px;}
.account-heading p {font-size:14px;line-height:1.5;color:var(--dim);margin:0;}
.account-layout {display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start;}
.account-sidebar {background:white;border-radius:16px;padding:20px;}
.account-person {display:flex;gap:12px;align-items:center;padding:4px 0 20px;border-bottom:1px solid var(--rule);}
.account-person>span {display:grid;place-items:center;width:40px;height:40px;background:var(--soft);color:var(--go);border-radius:50%;flex:none;}
.account-person svg {width:22px;height:22px;}
.account-person>div {min-width:0;}
.account-person b {display:block;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.4;}
.account-person small {display:block;font-size:11px;color:var(--dim);margin-top:4px;}
.account-sidebar nav {display:grid;gap:4px;padding:14px 0;}
.account-sidebar nav a {font-size:14px;font-weight:500;padding:12px 14px;border-radius:9px;}
.account-sidebar nav a[aria-current="page"] {background:var(--soft);color:var(--go);}
.account-logout {width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--rule);padding:18px 14px 4px;font:400 13px var(--font);color:var(--dim);cursor:pointer;}
.account-main {min-width:0;}
.account-panel,.account-empty {background:white;border-radius:16px;padding:30px;}
.account-panel h2,.account-empty h2 {font:650 23px/1.3 var(--font);letter-spacing:-.025em;margin:0 0 18px;}
.account-panel>p {font-size:14px;line-height:1.65;color:var(--dim);}
.account-panel>.form-error {color:#AC301D;}
.account-empty {text-align:center;padding:44px 32px;}
.empty-esim {display:grid;place-items:center;width:60px;height:70px;border:2px solid #ADC5EF;border-radius:12px;background:var(--soft);color:var(--go);font-size:14px;font-weight:600;margin:0 auto 22px;}
.account-empty h2 {margin-bottom:12px;}
.account-empty p {font-size:14px;color:var(--dim);line-height:1.65;max-width:400px;margin:0 auto 24px;}
.account-link-card {display:flex;align-items:center;gap:16px;padding:22px 26px;background:white;border-radius:14px;margin-top:18px;}
.account-link-card>span:first-child {display:grid;place-items:center;width:40px;height:40px;flex:none;background:var(--soft);border-radius:12px;color:var(--go);}
.account-link-card svg {width:22px;height:22px;}
.account-link-card>span:last-child {margin-left:auto;color:var(--go);}
.account-link-card b {font-size:14px;font-weight:600;}
.account-link-card p {font-size:12px;color:var(--dim);margin:5px 0 0;line-height:1.5;}
.orders-heading {display:flex;align-items:center;gap:10px;margin:0 0 16px;}
.orders-heading h2 {font-size:22px;margin:0;font-weight:600;}
.orders-heading span {font-size:12px;color:var(--dim);}
.account-orders {margin:0;padding:0;list-style:none;display:grid;gap:12px;}
.account-order-card {min-width:0;background:var(--surface);border:1px solid var(--rule);border-radius:14px;}
.account-order-card:focus-within {border-color:#B8CEF3;}
.account-order {display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px;border-radius:14px;}
.account-order:focus-visible {outline:2px solid var(--go);outline-offset:-3px;}
.order-symbol {display:grid;place-items:center;width:44px;height:48px;border-radius:10px;background:var(--soft);color:var(--go);font-size:10px;font-weight:600;}
.order-symbol svg {width:23px;height:23px;}
.order-main b {font-size:15px;font-weight:600;line-height:1.5;display:block;overflow-wrap:anywhere;}
.order-main small {display:block;font-size:12px;line-height:1.5;color:var(--dim);margin-top:5px;}
.order-price {font-size:17px;font-weight:600;text-align:right;white-space:nowrap;}
.order-price span {display:block;font-size:11px;font-weight:400;color:var(--go);margin-top:6px;}
.account-caption {font-size:12px!important;color:var(--dim);line-height:1.6!important;margin:18px 0 0;}
.profile-field {display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--rule);}
.profile-field>div {min-width:0;}
.profile-field span {font-size:12px;color:var(--dim);}
.profile-field b {display:block;font-size:15px;font-weight:500;overflow-wrap:anywhere;margin-top:7px;}
.profile-field .verified-label {color:var(--go);white-space:nowrap;}
.profile-field .text-button {white-space:nowrap;}
.profile-field .btn {font-size:13px;white-space:nowrap;min-height:44px;}
.telegram-symbol {display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--soft);color:var(--go);margin-bottom:22px;}
.telegram-symbol svg {width:28px;height:28px;}
.telegram-panel {max-width:760px;}
.telegram-panel>.btn {margin-top:12px;}
.telegram-panel>p {max-width:560px;}
.linked-identities {display:flex;flex-wrap:wrap;gap:12px;padding:18px 0 22px;font-size:14px;align-items:center;overflow-wrap:anywhere;}
.linked-identities span:nth-child(2) {color:var(--go);}
.link-steps {padding:0;margin:20px 0 24px;list-style:none;display:grid;gap:12px;counter-reset:link;}
.link-steps li {counter-increment:link;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--dim);}
.link-steps li::before {content:counter(link);display:grid;place-items:center;width:25px;height:25px;flex:none;border:1px solid var(--rule);border-radius:50%;font-size:11px;}
.link-steps li.current {color:var(--ink);font-weight:500;}
.link-steps li.current::before {background:var(--go);border-color:var(--go);color:white;}
.link-steps li.complete {color:var(--go);}
.link-steps li.complete::before {content:'✓';background:var(--soft);border-color:var(--soft);}
.bot-simulator {background:#F5F8FD;border:1px dashed #B9CBE5;border-radius:12px;padding:20px;margin:22px 0 16px;}
.bot-simulator>b {font-size:14px;}
.bot-simulator p {font-size:12px;line-height:1.65;color:var(--dim);margin:8px 0 16px;}
.bot-simulator .btn {font-size:13px;min-height:44px;}
.bot-preview {padding:14px;background:white;border-radius:8px;font-size:13px;line-height:1.6;margin-bottom:14px;overflow-wrap:anywhere;}
.demo-order-test {border-top:1px solid var(--rule);padding-top:14px;margin-top:20px;}
.demo-order-test .text-button {font-size:12px;}
.demo-order-result {color:var(--go)!important;}
@media (hover:hover) {
 .profile-button:hover {background:#DCEAFF;}
 .account-sidebar nav a:hover {background:#F4F7FC;}
 .account-order-card:hover {border-color:#B8CEF3;}
 .account-link-card:hover {box-shadow:0 0 0 1px #B8CEF3;}
 .topnav a:not(.active):hover {color:white;}
}
@media(min-width:900px) {.split{grid-template-columns:minmax(0,1fr) 340px;}.split-even{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:899px) {
 .topbar .wrap{height:72px;}
 .hero {padding-top:38px;}
 .hero h1 {font-size:48px;}
 .hero-search {grid-template-columns:minmax(0,1fr) 170px;}
 .search-button {font-size:15px;}
 .account-layout {grid-template-columns:220px minmax(0,1fr);gap:18px;}
 .account-sidebar {padding:16px;}
 .account-person {gap:8px;}
 .account-person>span{width:32px;height:32px;}
 .account-panel {padding:24px;}
 .account-order {padding:18px;gap:12px;}
 .order-price {font-size:15px;}
}
@media(max-width:599px) {
 .topbar .wrap{height:66px;}
 .logo{font-size:22px;line-height:1.4;}
 .topnav{gap:14px;}
 .topnav>a{font-size:12px;}
 .topnav>a[data-nav="my"]{display:none;}
 .profile-button{min-height:38px;padding:0 11px;font-size:12px;gap:6px;}
 .profile-button svg{width:17px;height:17px;}
 .profile-menu{min-width:210px;}
 .demo-banner .wrap{font-size:10px;padding-block:6px;}
 .hero{padding:30px 0 22px;}
 .hero h1{font-family:var(--font);font-size:38px;line-height:1.12;font-weight:700;letter-spacing:-.045em;max-width:none;margin-bottom:14px;}
 .hero p{max-width:310px;font-size:14px;line-height:1.55;}
 .hero-search{display:grid;grid-template-columns:1fr;margin-top:24px;gap:10px;}
 .fsearch{min-height:68px;border-radius:10px;padding:12px 16px;gap:12px;}
 .fs-to input{font-size:16px;}
 .fs-to small{font-size:11px;}
 .search-button{min-height:52px;font-size:15px;border-radius:10px;}
 .quick{margin-top:12px;gap:16px;}
 .qchip{font-size:11px;min-height:28px;}
 .qchip .flag img{width:16px;height:11px;}
 .home-note{padding:0 0 20px;font-size:10px;gap:10px;}
 #results{margin-top:20px;padding:5px 16px 0;border-radius:14px;}
 .catalogue-head h2{font-family:var(--font);font-size:25px;font-weight:700;line-height:1.2;margin:14px 0 8px;}
 .tabs{gap:16px;justify-content:space-between;}
 .tabs button{font-size:11px;padding:14px 0;}
 .tabs span{font-size:9px;margin-left:3px;}
 .win{min-height:80px;grid-template-columns:26px minmax(0,1fr) auto 10px;gap:10px;padding:17px 0;}
 .win .flag img{width:25px;height:18px;}
 .win-t b{font-size:14px;}
 .win-p{font-size:14px;}
 .win-p small{font-size:9px;}
 .win-t small{font-size:10px;}
 .region-note{padding:20px;border-radius:12px;}
 .sec-h2{font-family:var(--font);font-size:25px;font-weight:700;line-height:1.2;}
 .faq{padding:0 18px;border-radius:12px;}
 .back-link{margin-top:14px;font-size:12px;}
 .fhead{padding:24px 20px;min-height:136px;border-radius:13px;}
 .fhead h1{font-family:var(--font);font-size:36px;line-height:1.1;font-weight:700;}
 .fhead-k{font-size:10px;}
 .pick-h{font-size:20px;}
 .pick-s{font-size:12px;}
 .bags{gap:8px;}
 .bag{padding:15px 12px;min-height:91px;}
 .bag b{font-size:24px;}
 .bag[data-vol="u"] b{font-size:15px;}
 .you{padding:18px 16px;}
 .you-price{font-size:26px;}
 .page-h{font-family:var(--font);font-size:31px;line-height:1.15;font-weight:700;}
 .checkout-identity{padding:20px;}
 .checkout-identity>b{font-size:14px;padding-right:0;}
 .checkout-identity>a{position:static;font-size:12px;}
 .buybar .btn{font-size:13px;}
 .auth-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px;}
 .auth-content{padding:34px 24px 26px;}
 .auth-content h2{font-size:26px;}
 .auth-sub{font-size:13px;}
 .auth-content input{font-size:16px;}
 .auth-gate{margin:26px 0;padding:34px 24px;border-radius:16px;}
 .auth-gate h1{font-size:27px;}
 .auth-gate p{font-size:14px;}
 .account-heading{margin:26px 0 20px;}
 .account-heading h1{font-size:30px;}
 .account-heading p{font-size:12px;}
 .account-layout{display:block;}
 .account-sidebar{padding:12px;margin-bottom:18px;border-radius:12px;}
 .account-person{display:none;}
 .account-sidebar nav{display:flex;gap:4px;padding:0;overflow:auto;}
 .account-sidebar nav a{padding:11px 12px;font-size:12px;white-space:nowrap;flex:1;text-align:center;}
 .account-logout{display:none;}
 .account-panel,.account-empty{padding:24px 20px;border-radius:13px;}
 .account-empty{padding-block:32px;}
 .account-panel h2,.account-empty h2{font-size:22px;}
 .account-panel>p,.account-empty p{font-size:13px;}
 .account-link-card{padding:20px;gap:12px;}
 .account-link-card b{font-size:13px;}
 .account-link-card p{font-size:11px;}
 .account-link-card>span:first-child{width:32px;height:32px;}
 .account-link-card svg{width:19px;height:19px;}
 .profile-field{gap:12px;flex-wrap:wrap;}
 .profile-field b{font-size:14px;}
 .profile-field .verified-label{font-size:11px;}
 .profile-field>.text-button{font-size:12px;}
 .orders-heading h2{font-size:21px;}
 .account-order{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:20px 16px;}
 .order-symbol{width:32px;height:40px;font-size:9px;}
 .order-symbol svg{width:19px;height:19px;}
 .order-main b{font-size:14px;}
 .order-main small{font-size:11px;}
 .order-price{grid-column:2;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:16px;}
 .order-price span{margin:0;font-size:11px;}
 .local-notice{font-size:12px;padding:14px;}
 .linked-identities{font-size:13px;gap:9px;}
 .bot-simulator{padding:16px;}
 .bot-simulator .btn{padding:0 14px;font-size:12px;}
 .demo-order-test .text-button{font-size:11px;}
}
@media(max-width:359px) {
 .logo{font-size:20px;}.logo svg{width:27px;height:27px;}
 .topnav{gap:10px;}.topnav>a{display:none;}
 .hero h1{font-size:34px;line-height:1.12;}
 .hero p{font-size:13px;}
 .home-note{font-size:9px;}
 .tabs{gap:12px;}.tabs button{font-size:10px;}
 .tabs span{font-size:8px;}
 .win{column-gap:8px;}
 .win-t b{font-size:13px;}.win-p{font-size:13px;}
 .account-sidebar nav a{font-size:11px;padding:10px 9px;}
 .account-heading h1{font-size:28px;}
 .auth-content{padding-inline:20px;}
 .account-panel,.account-empty{padding-inline:18px;}
 .page-h{font-size:29px;}
}

.telegram-login { margin-top: 16px; }
.profile-button:disabled { opacity: .55; cursor: default; }

/* Language control and Armenian glyph coverage. */
.language-picker {position:relative;display:inline-flex;color:var(--go);flex:none;}
.language-trigger {display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--soft);color:var(--go);border-radius:12px;padding:0 13px;font:500 14px var(--font);height:44px;cursor:pointer;}
.language-trigger:hover,.language-trigger[aria-expanded="true"] {background:#e4eeff;border-color:#c9dcf7;}
.language-chevron {flex:none;transition:transform .15s ease;}
.language-trigger[aria-expanded="true"] .language-chevron {transform:rotate(180deg);}
.language-menu {position:absolute;top:calc(100% + 9px);right:0;z-index:25;width:176px;max-width:calc(100vw - 32px);padding:7px;background:var(--surface);border:1px solid var(--rule);border-radius:16px;box-shadow:0 14px 36px #142c4f1a,0 3px 8px #142c4f0a;}
.topnav .language-menu .language-option {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:0 13px;border-radius:10px;color:var(--ink);font:500 15px/1.4 'Golos Text','Noto Sans Armenian',sans-serif;text-decoration:none;white-space:nowrap;}
.topnav .language-menu button.language-option {width:100%;border:0;background:transparent;text-align:left;cursor:pointer;}
.topnav .language-menu .language-option:hover {background:#f3f7fd;color:var(--go);}
.topnav .language-menu .language-option[aria-checked="true"] {background:var(--soft);color:var(--go);}
.topnav .language-menu .language-option:focus-visible {outline:2px solid var(--go);outline-offset:-2px;}
.language-check {visibility:hidden;flex:none;}
.language-option[aria-checked="true"] .language-check {visibility:visible;}
:root[lang="hy"], :root[lang="hy"][data-theme], :root[lang="hy"]:not([data-theme="light"]) {--font:'Noto Sans Armenian','Golos Text',system-ui,sans-serif;--display:'Noto Sans Armenian','Golos Text',system-ui,sans-serif;}
html[lang="hy"] :is(.hero h1,.page-h,.account-heading h1,.fhead h1) {letter-spacing:-.02em;line-height:1.25;}
html[lang="hy"] .hero h1 {font-size:52px;}
html[lang="hy"] .auth-content h2 {font-size:25px;line-height:1.35;}
html[lang="hy"] .account-sidebar nav a {font-size:13px;}
@media(min-width:600px) and (max-width:799px) {
 .topnav {gap:14px;}
 .topnav>a {display:none;}
 .profile-button {white-space:nowrap;}
}
@media(max-width:599px) {
 .topnav {gap:12px;}
 .topnav>a {display:none;}
 .language-trigger {font-size:12px;height:36px;padding:0 8px;gap:4px;border-radius:10px;}
 .language-globe {display:none;}
 .language-chevron {width:12px;height:12px;}
 .language-menu {top:calc(100% + 5px);width:104px;padding:3px;border-radius:10px;box-shadow:0 8px 24px #142c4f18,0 2px 5px #142c4f08;}
 .topnav .language-menu .language-option {min-height:36px;padding:0 8px;gap:8px;border-radius:7px;font-size:12px;}
 .language-check {width:14px;height:14px;}
 .profile-button {padding:0 10px;font-size:12px;gap:5px;}
 html[lang="hy"] .hero h1 {font-size:32px;}
 html[lang="hy"] .account-sidebar nav a {font-size:11px;padding:11px 9px;}
 html[lang="hy"] .tabs {gap:12px;}
 html[lang="hy"] .tabs button {font-size:11px;}
 html[lang="hy"] .account-sidebar nav a {flex:0 0 auto;}
}
@media(prefers-reduced-motion:reduce) {.language-chevron {transition:none;}}
@media(max-width:359px) {
 .topnav {gap:8px;}
 .profile-button {width:40px;justify-content:center;padding:0;}
 .profile-button span {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
}

@media(max-width:359px) {
 html[lang="hy"] .home-note {display:grid;grid-template-columns:1fr;gap:8px;}
 html[lang="hy"] .home-note a {justify-self:start;}
}

/* Compact destination heading on phones; long names retain natural wrapping. */
@media (max-width: 599px) {
  .fhead { min-height: 0; padding: 14px 16px; border-radius: 12px; }
  .fhead-in { gap: 10px; }
  .fhead-in > .flag { flex-shrink: 0; align-self: flex-start; margin-top: 18px; }
  .fhead-in > .flag img { width: 28px; height: 20px; border-radius: 3px; }
  .fhead-in > .flag svg { width: 28px; height: 28px; }
  .fhead h1, html[lang="hy"] .fhead h1 { font-size: clamp(23px, 7.2vw, 28px); line-height: 1.2; margin: 4px 0 0; }
  .fhead-k { line-height: 1.4; gap: 6px; }
}

/* One complete package per card, shared by the initial HTML and live picker. */
.plan-picker { margin-top: 32px; }
.plan-picker h2 { margin: 0 0 7px; color: var(--ink); font: 650 clamp(22px, 2.6vw, 28px)/1.25 var(--font); letter-spacing: -.035em; }
.plan-picker > p:not(.plan-limit-note) { margin: 0 0 22px; color: var(--dim); font-size: 14px; line-height: 1.6; }
.plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.plan-card { min-width: 0; display: flex; flex-direction: column; padding: 22px 20px 18px; color: var(--ink); text-decoration: none; background: var(--surface); border: 1px solid var(--rule); border-radius: 18px; cursor: pointer; transition: border-color .15s, background-color .15s; }
.plan-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 34px; }
.plan-card-volume { font: 650 30px/1.15 var(--font); letter-spacing: -.035em; }
.plan-card-unlimited .plan-card-volume { font-size: 19px; letter-spacing: -.025em; }
:lang(hy) .plan-card-unlimited .plan-card-volume { font-size: clamp(13px, 1.4vw, 18px); }
.plan-card-check { flex: 0 0 20px; display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid #CED9E8; border-radius: 50%; color: transparent; }
.plan-card-check svg { width: 12px; height: 12px; }
.plan-card-duration { margin-top: 7px; color: var(--dim); font-size: 14px; line-height: 1.5; }
.plan-card-badge { align-self: flex-start; max-width: 100%; margin-top: 8px; padding: 4px 7px; border-radius: 6px; background: var(--soft); color: var(--go); font-size: 11px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.plan-card-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 8px; padding-top: 18px; margin-top: 22px; border-top: 1px solid var(--rule); }
.plan-card-price { font: 600 23px/1.2 var(--font); letter-spacing: -.035em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.plan-card-action { color: var(--go); font-size: 13px; font-weight: 500; }
.plan-card[aria-checked="true"] { border-color: var(--go); box-shadow: inset 0 0 0 1px var(--go); background: #F7FAFF; }
.plan-card[aria-checked="true"] .plan-card-check { border-color: var(--go); background: var(--go); color: white; }
.plan-card:focus-visible { outline: 3px solid #9FC3FF; outline-offset: 3px; }
.plan-picker .plan-limit-note { margin: 14px 0 0; font-size: 12px; line-height: 1.6; }
.plan-option { min-width: 0; display: flex; flex-direction: column; }
.plan-option .plan-card { flex: 1; }
.plan-card-coverage { padding: 10px 6px 0; color: var(--dim); font-size: 12px; line-height: 1.6; }
.plan-card-coverage summary { cursor: pointer; color: var(--go); min-height: 32px; }
.plan-card-coverage p { margin: 8px 0; }
.destination-purchase .faq { margin-top: 24px; }
@media (hover: hover) { .plan-card:not([aria-checked="true"]):hover { border-color: #8AABE0; background: #FAFCFF; } }
@media (min-width: 900px) and (max-width: 1150px) { .destination-purchase { gap: 28px; grid-template-columns: minmax(0, 1fr) 300px; } .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 600px) and (max-width: 799px) { .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
  .plan-picker { margin-top: 20px; }
  .plan-picker h2 { font-size: 22px; }
  .plan-picker > p:not(.plan-limit-note) { margin-bottom: 12px; font-size: 12px; }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .plan-card { padding: 12px 12px 11px; border-radius: 12px; }
  .plan-card-top { min-height: 26px; gap: 4px; }
  .plan-card-volume { font-size: 23px; }
  .plan-card-unlimited .plan-card-volume { font-size: 16px; }
  :lang(hy) .plan-card-unlimited .plan-card-volume { font-size: 12px; }
  .plan-card-check { flex-basis: 17px; width: 17px; height: 17px; }
  .plan-card-check svg { width: 10px; height: 10px; }
  .plan-card-duration { font-size: 12px; margin-top: 2px; }
  .plan-card-badge { margin-top: 5px; padding: 3px 5px; font-size: 10px; }
  .plan-card-bottom { flex-direction: row; align-items: center; padding-top: 9px; margin-top: 10px; gap: 6px; }
  .plan-card-price { font-size: 19px; }
  .plan-card-action { display: block; padding: 0; background: transparent; font-size: 11px; }
  .plan-picker .plan-limit-note { margin-top: 10px; font-size: 11px; }
}
@media (max-width: 359px) {
  .plan-grid { grid-template-columns: minmax(0, 1fr); }
  .plan-card-bottom { flex-direction: row; align-items: center; }
  .plan-card-action { padding: 0; }
  :lang(hy) .plan-card-unlimited .plan-card-volume { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .plan-card { transition: none; } }

/* Crawlable public details are useful to readers too. They stay in the same
   document before and after the interactive catalogue starts. */
.seo-details { margin-top: 48px; border-top: 1px solid var(--rule); padding-top: 32px; color: var(--dim); font-size: 14px; line-height: 1.7; }
.seo-details h2 { color: var(--ink); font: 600 clamp(22px, 3vw, 28px)/1.3 var(--font); margin: 0 0 16px; letter-spacing: -.02em; }
.seo-details h3 { color: var(--ink); font: 600 17px/1.4 var(--font); margin: 24px 0 10px; }
.seo-details p { max-width: 76ch; margin: 12px 0; }
.seo-details > * + section { margin-top: 32px; }
.seo-details a { color: var(--go); text-decoration: underline; text-underline-offset: 3px; }
.seo-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; }
.seo-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px 24px; list-style: none; padding: 0; margin: 16px 0 28px; }
.seo-grid .seo-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.seo-grid > section:last-child .seo-links { grid-template-columns: minmax(0, 1fr); }
.seo-links li { min-width: 0; overflow-wrap: anywhere; }
.seo-language-links { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rule); }
.seo-language-links a[aria-current="page"] { color: var(--ink); text-decoration: none; }
.seo-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--dim); margin: 12px 0 20px; }
.seo-breadcrumbs a { color: var(--go); }
@media (max-width: 599px) {
  .seo-details { margin-top: 32px; padding-top: 24px; font-size: 13px; }
  .seo-grid { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .seo-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; }
}
@media (max-width:599px) {
  :lang(hy) .bag[data-vol="u"] b { font-size: clamp(10px,2.8vw,14px); letter-spacing: -.035em; overflow-wrap: anywhere; max-width: 100%; }
}

/* Вкладки каталога на телефоне: длинные армянские названия переносятся, а не обрезаются у края */
@media(max-width:599px) {
 .tabs {display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;align-items:stretch;gap:12px;overflow:visible;width:100%;}
 .tabs button {white-space:normal;text-align:left;font-size:13px;line-height:1.25;min-height:48px;padding:10px 0;}
 .tabs span {font-size:11px;white-space:nowrap;}
 html[lang="hy"] .tabs button {font-size:12px;}
}

/* Валюта в шапке, типы тарифов и метки товаров */
.currency-picker[hidden] {display:none;}
.currency-picker select {max-width:92px;}
.type-chips {display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;}
.type-chips + #packageOptions .plan-picker {margin-top:20px;}
.type-chip {min-height:40px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink);font:500 14px var(--font);cursor:pointer;}
.type-chip[aria-checked="true"] {background:var(--go);border-color:var(--go);color:var(--go-ink);}
.type-chip:focus-visible {outline:2px solid var(--go);outline-offset:2px;}
.duration-chips {margin-top:10px;}
.type-chip[aria-selected="true"] {background:var(--go);border-color:var(--go);color:var(--go-ink);}
.plan-toolbar {display:flex;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:22px;}
.plan-toolbar .type-chips {margin:0;}
.plan-more {flex:0 0 auto;min-height:40px;padding:8px 0;border:0;background:transparent;color:var(--go);font:500 13px var(--font);cursor:pointer;text-align:right;}
.plan-more:focus-visible {outline:2px solid var(--go);outline-offset:3px;border-radius:4px;}
.plan-more[hidden],.duration-options[hidden] {display:none;}
.duration-options {display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:16px;}
.duration-options>span {font-size:12px;color:var(--dim);}
.duration-options .type-chips {margin:0;}
.plan-toolbar + .duration-options[hidden] + #packageOptions .plan-picker {margin-top:22px;}
@media(max-width:599px) {
 .plan-toolbar {margin-top:16px;flex-wrap:wrap;gap:2px 12px;}
 .plan-more {min-height:34px;font-size:11px;}
 .duration-options {margin-top:12px;gap:7px 10px;}
 .duration-options>span {font-size:11px;}
}
.dur {position:relative;}
.dur .badge {position:absolute;top:-9px;right:10px;font:600 10px/1 var(--font);color:#fff;background:var(--go);padding:4px 7px;border-radius:999px;white-space:nowrap;}
@media(max-width:599px){
 .currency-picker select {max-width:70px;}
 .type-chips {margin-top:14px;gap:6px;}
 .type-chips + #packageOptions .plan-picker {margin-top:16px;}
 .type-chip {min-height:34px;padding:0 12px;font-size:12px;}
 .tabs {grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* Цена за ГБ в списке направлений */
.per-gb { color: var(--go); white-space: nowrap; }
/* Остаток трафика в «Мои eSIM» */
.order-usage { display: grid; gap: 6px; margin-top: 10px; font-size: 12.5px; color: var(--dim); }
.usage-bar { display: block; height: 6px; max-width: 260px; border-radius: 999px; background: var(--soft); overflow: hidden; }
.usage-bar i { display: block; height: 100%; border-radius: inherit; background: var(--go); }
.order-usage.is-low { color: #b45309; }
.order-usage.is-low .usage-bar i, .meter.is-low div { background: #e8891c; }
.usage-tip { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: #fff6e8; color: #8a4b0b; font-size: 13px; }
/* Проверка телефона */
.compat-intro { margin: -12px 0 16px; color: var(--dim); font-size: 15px; }
.compat-brands { display: flex; flex-wrap: wrap; gap: 8px; }
.compat-brands button { min-height: 44px; padding: 0 18px; border: 1px solid var(--rule); border-radius: 999px; background: var(--surface); color: var(--ink); font: 600 14px var(--font); cursor: pointer; }
.compat-brands button[aria-checked="true"] { background: var(--go); border-color: var(--go); color: var(--go-ink); }
.compat-answer { margin-top: 16px; padding: 20px; border: 1px solid var(--rule); border-radius: 16px; background: var(--surface); }
.compat-answer b { font: 700 17px var(--display); }
.compat-answer p { margin: 8px 0 0; font-size: 15px; }
.compat-answer .compat-note { color: var(--dim); font-size: 14px; }
.compat-check { margin: 14px 0 0; color: var(--dim); font-size: 14px; }
.compat code, .faq-list code { font: 600 14px var(--mono); background: var(--soft); color: var(--ink); padding: 1px 6px; border-radius: 6px; }
.faq-list .faq { margin-top: 0; }
.faq-list .faq + .faq { border-top: 0; margin-top: 8px; }
.faq-list .faq-b span { max-width: 46em; }
@media (max-width: 599px) {
  .compat-brands button { min-height: 40px; padding: 0 10px; font-size: 12px; }
  .compat-intro { font-size: 14px; line-height: 1.6; }
  .compat-answer { padding: 14px; border-radius: 12px; }
  .compat-answer b { font-size: 16px; }
  .compat-answer p { font-size: 14px; line-height: 1.6; }
  .compat-answer .compat-note, .compat-check { font-size: 13px; line-height: 1.6; }
  .faq-list .faq { padding: 0 16px; border-radius: 12px; }
  .faq-list .faq summary { padding: 12px 0; min-height: 56px; font-size: 13px; line-height: 1.5; }
  .faq-list .faq-b { font-size: 13px; line-height: 1.65; }
  .order-usage { margin-top: 6px; gap: 4px; font-size: 12px; }
  .usage-bar { height: 4px; }
}


/* Приглашения и бонусы */
.invite { display: grid; gap: 18px; }
.invite-hero { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; padding: 22px; border-radius: 16px; background: linear-gradient(135deg, #eaf3ff, #fff3ea); }
.invite-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: white; color: var(--plane, #ff6a3d); }
.invite-icon svg { width: 28px; height: 28px; }
.invite-hero h2 { margin: 2px 0 6px; font: 700 20px/1.25 var(--display); letter-spacing: -.02em; }
.invite-hero p { margin: 0; color: var(--dim); font-size: 15px; }
.invite-link { display: grid; gap: 6px; font-size: 13px; color: var(--dim); }
.invite-row { display: flex; gap: 8px; }
.invite-row input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--rule); border-radius: 10px; background: white; color: var(--ink); font: 500 14px var(--mono); }
.invite-share { display: flex; flex-wrap: wrap; gap: 8px; }
.invite-share .btn { min-height: 42px; }
.invite-code { margin: 0; font-size: 13px; color: var(--dim); }
.invite-code b { font: 600 14px var(--mono); color: var(--ink); letter-spacing: .08em; }
.invite-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.invite-stats div { display: grid; align-content: start; gap: 2px; padding: 16px; border-radius: 14px; background: white; }
.invite-stats small { color: var(--dim); font-size: 12px; }
.invite-stats b { font: 700 22px var(--display); letter-spacing: -.02em; }
.invite-stats span { color: var(--dim); font-size: 12px; }
.invite-h { margin: 6px 0 0; font-size: 15px; }
.invite-history { list-style: none; margin: 0; padding: 0; background: white; border-radius: 14px; }
.invite-history li { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--rule); }
.invite-history li:last-child { border-bottom: 0; }
.invite-history li > span:first-child { display: grid; } .invite-history small { color: var(--dim); font-size: 12px; }
.invite-history .pos { color: #138a52; font-weight: 600; white-space: nowrap; } .invite-history .neg { color: var(--ink); font-weight: 600; white-space: nowrap; }
.invite-history li.cancelled { opacity: .55; } .invite-history li.cancelled .pos { text-decoration: line-through; }
.invite-history li.pending .pos { color: var(--dim); }
.invite-banner { display: inline-block; margin: 14px 0 0; padding: 8px 14px; border-radius: 999px; background: #fff3ea; color: #9a3d12; font-size: 14px; font-weight: 600; }
/* Сумма к оплате: скидка и бонусы */
.pay-sum { display: grid; gap: 12px; margin-top: 14px; }
.pay-sum:empty { display: none; }
.bonus-toggle { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 16px; border: 1px solid var(--rule); border-radius: 14px; background: white; cursor: pointer; }
.bonus-toggle input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--go); }
.bonus-toggle span { display: grid; gap: 2px; } .bonus-toggle small { color: var(--dim); font-size: 12.5px; }
.pay-rows { display: grid; gap: 8px; padding: 14px 16px; border-radius: 14px; background: white; font-size: 14px; }
.pay-rows div { display: flex; justify-content: space-between; gap: 12px; }
.pay-minus b { color: #138a52; }
.pay-total { padding-top: 8px; border-top: 1px solid var(--rule); font-size: 16px; }
@media (max-width: 599px) {
  .invite-hero { grid-template-columns: 1fr; padding: 18px; }
  .invite-stats { grid-template-columns: 1fr 1fr; }
  .invite-stats div:last-child { grid-column: 1 / -1; }
  .invite-row { flex-direction: column; }
}
/* Кабинет на телефоне: четыре раздела — сеткой 2×2, все видны без прокрутки */
@media (max-width: 599px) {
  .account-sidebar nav { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; }
  .account-sidebar nav a, html[lang="hy"] .account-sidebar nav a { white-space: normal; text-align: center; line-height: 1.25; }
}

/* eSIM на почту */
.email-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.email-card > div { flex: 1 1 260px; min-width: 0; }
.email-card p { margin: 6px 0 0; font-size: 14px; overflow-wrap: anywhere; }

/* Три понятных вида покрытия; точные наборы остаются отдельными товарами. */
.catalogue-head .catalogue-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:390px;max-width:100%;margin:8px 0;padding:4px;background:var(--paper);border:1px solid var(--rule);border-radius:12px;box-shadow:none;overflow:visible;}
.catalogue-head .catalogue-tabs button {min-height:42px;padding:8px 12px;text-align:center;font-size:14px;line-height:1.3;white-space:normal;border-radius:8px;}
.catalogue-head .catalogue-tabs button[aria-selected="true"] {background:var(--go);color:var(--go-ink);box-shadow:none;}
.catalogue-panel {padding-bottom:24px;}
.catalogue-intro {font-size:14px;color:var(--dim);margin:20px 0;max-width:760px;}
.country-sections.type-chips {margin:0 0 10px;}
.family-choice {width:100%;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;text-align:left;cursor:pointer;}
.family-choice .win-t b {font-size:15px;}
.family-choice .win-p {font-size:14px;}
.family-choice svg:last-child {color:var(--go);width:16px;}
.coverage-filter {padding:18px 20px;background:var(--paper);border-radius:12px;margin:0 0 22px;}
.coverage-filter label {display:block;font-weight:600;font-size:14px;margin:0 0 10px;}
.coverage-filter-row {display:flex;align-items:center;gap:10px;max-width:760px;}
.coverage-filter input {flex:1;min-width:0;min-height:44px;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;color:var(--ink);font:inherit;font-size:14px;}
.coverage-filter .btn {min-height:44px;padding:10px 18px;font-size:13px;}
.coverage-reset {border:0;background:none;color:var(--go);min-height:44px;padding:8px;cursor:pointer;font:inherit;font-size:13px;}
.coverage-filter p {font-size:12px;line-height:1.5;color:var(--dim);margin:8px 0 0;}
.coverage-filter .coverage-error {color:var(--bad);}
.coverage-filter .coverage-matched {color:var(--go);font-weight:600;}
.coverage-offers {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.coverage-offer {min-width:0;border:1px solid var(--rule);border-radius:16px;padding:22px;background:var(--surface);display:flex;flex-direction:column;}
.coverage-offer h3 {font-family:var(--font);font-size:20px;font-weight:650;line-height:1.4;margin:0 0 14px;letter-spacing:-.025em;}
.coverage-preview {display:flex;flex-wrap:wrap;gap:6px;}
.coverage-preview span {font-size:11px;line-height:1.4;padding:5px 8px;border-radius:5px;background:var(--soft);color:var(--dim);}
.coverage-all {margin:10px 0 16px;font-size:12px;}
.coverage-all summary {cursor:pointer;min-height:40px;padding:10px 0;color:var(--go);}
.coverage-all>div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;max-height:190px;overflow:auto;overscroll-behavior:contain;padding:12px 10px;background:var(--paper);border-radius:8px;color:var(--dim);}
.coverage-all>div span {overflow-wrap:anywhere;}
.coverage-policy {margin:0 0 16px;font-size:12px;color:var(--dim);line-height:1.5;}
.coverage-offer-bottom {display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--rule);margin-top:auto;}
.coverage-price {display:grid;grid-template-columns:auto auto;gap:0 6px;align-items:baseline;white-space:nowrap;}
.coverage-price>span {font-size:12px;color:var(--dim);}
.coverage-price b {font-size:24px;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
.coverage-price small {grid-column:1/-1;font-size:12px;color:var(--dim);margin-top:5px;}
.coverage-choose.btn {font-size:12px;padding:10px 14px;min-height:44px;border-radius:9px;gap:6px;}
.coverage-choose svg {width:15px;height:15px;flex:none;}
.coverage-section-head {margin:0 0 20px;}
.coverage-back {background:none;border:0;padding:8px 0;min-height:40px;color:var(--go);font:inherit;font-size:13px;cursor:pointer;}
.coverage-section-title {font-family:var(--font);font-size:24px;line-height:1.3;margin:5px 0 8px;letter-spacing:-.03em;}
.coverage-section-head p {margin:0;font-size:13px;color:var(--dim);}
.route-collection {margin-top:26px;border-top:1px solid var(--rule);padding-top:8px;}
.route-collection>summary {cursor:pointer;min-height:56px;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;list-style:none;}
.route-collection>summary::-webkit-details-marker {display:none;}
.route-collection>summary::after {content:'+';margin-left:auto;color:var(--go);font-size:22px;font-weight:400;}
.route-collection[open]>summary::after {content:'−';}
.route-collection>summary small {font-size:11px;font-weight:500;color:var(--dim);background:var(--soft);border-radius:5px;padding:3px 7px;}
.route-collection>p {margin:0 0 8px;color:var(--dim);font-size:13px;}
.route-list.wins {grid-template-columns:repeat(2,minmax(0,1fr));}
.route-flags {position:relative;width:32px;height:30px;}
.route-flags img {position:absolute;width:23px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 2px white;}
.route-flags img:first-child {top:1px;left:0;}
.route-flags img:nth-child(2) {bottom:0;right:0;}
.route-list .win-t b {font-size:13px;line-height:1.45;}
.coverage-empty {padding:30px 0 18px;max-width:600px;}
.coverage-empty h3 {font:600 20px/1.4 var(--font);margin:0 0 8px;}
.coverage-empty p {font-size:14px;color:var(--dim);margin:0 0 18px;}
.catalogue-search-title {font:650 24px/1.3 var(--font);margin:18px 0 24px;}
.catalogue-search-group {font:600 18px/1.4 var(--font);margin:24px 0 8px;}
@media (hover:hover) {.family-choice:hover {color:var(--go);background:var(--paper);} .coverage-reset:hover,.coverage-back:hover {text-decoration:underline;}}
@media (max-width:1000px) {.family-list.wins {grid-template-columns:repeat(2,minmax(0,1fr));}.coverage-offer-bottom {align-items:flex-start;flex-direction:column;}.coverage-choose.btn {align-self:stretch;justify-content:center;}}
@media (max-width:700px) {
 .catalogue-head .catalogue-tabs {width:100%;margin:10px 0 14px;gap:3px;padding:3px;}
 .catalogue-head .catalogue-tabs button,html[lang="hy"] .catalogue-head .catalogue-tabs button {font-size:12px;min-height:40px;padding:8px 5px;}
 .catalogue-panel {padding-bottom:18px;}
 .catalogue-intro {font-size:13px;margin:16px 0;}
 .country-sections .type-chip {font-size:11px;min-height:32px;padding:0 10px;}
 .family-list.wins,.route-list.wins {grid-template-columns:1fr;}
 .family-choice.win {min-height:74px;padding:14px 0;}
 .family-choice .win-t b {font-size:14px;}
 .family-choice .win-t small {font-size:10px;}
 .family-choice .win-p {font-size:13px;}
 .coverage-filter {padding:14px 12px;margin-bottom:16px;}
 .coverage-filter label {font-size:13px;margin-bottom:8px;}
 .coverage-filter-row {flex-wrap:wrap;gap:8px;}
 .coverage-filter input {flex-basis:100%;font-size:16px;min-height:42px;}
 .coverage-filter .btn {flex:1;min-height:40px;padding:8px 12px;}
 .coverage-reset {min-height:40px;padding:8px 10px;}
 .coverage-filter p {font-size:11px;}
 .coverage-offers {grid-template-columns:1fr;gap:12px;}
 .coverage-offer {padding:16px;border-radius:12px;}
 .coverage-offer h3 {font-size:18px;margin-bottom:12px;}
 .coverage-preview {gap:5px;}
 .coverage-preview span {font-size:10px;padding:4px 6px;}
 .coverage-all {margin:8px 0 12px;}
 .coverage-all>div {font-size:11px;}
 .coverage-offer-bottom {flex-direction:row;align-items:center;gap:10px;padding-top:12px;}
 .coverage-price b {font-size:22px;}
 .coverage-price small {font-size:11px;}
 .coverage-choose.btn {align-self:auto;min-height:42px;font-size:11px;padding:8px 10px;}
 .coverage-choose svg {display:none;}
 .coverage-section-title {font-size:21px;}
 .route-collection {margin-top:20px;}
 .route-collection>summary {font-size:16px;}
}
@media (max-width:360px) {.coverage-offer-bottom {align-items:flex-start;flex-direction:column;}.coverage-choose.btn {align-self:stretch;}}

@media (max-width:700px) {html[lang="hy"] .catalogue-head .catalogue-tabs button {font-size:11px;overflow-wrap:anywhere;}}

.route-list .win-t .route-policy {font-size:10px;line-height:1.5;white-space:normal;}

/* Compact package conditions; detailed reading opens in a focused panel. */
.plan-option-info {border:1px solid var(--rule);border-radius:18px;background:var(--surface);overflow:hidden;}
.plan-option-info>.plan-card {border:0;border-radius:17px 17px 0 0;box-shadow:none;}
.plan-option-info>.plan-card[aria-checked="true"] {box-shadow:none;}
.plan-option-info:has(>.plan-card[aria-checked="true"]) {border-color:var(--go);box-shadow:inset 0 0 0 1px var(--go);}
.plan-card-generation {font-size:11px;line-height:1.5;color:var(--dim);margin-top:5px;}
.plan-conditions {min-width:0;}
.plan-conditions>summary {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 20px;border-top:1px solid var(--rule);font:500 12px/1.4 var(--font);color:var(--go);cursor:pointer;list-style:none;}
.plan-conditions>summary::-webkit-details-marker {display:none;}
.plan-conditions-arrow {font-size:17px;font-weight:400;}
.plan-conditions>summary:focus-visible {outline:3px solid #9FC3FF;outline-offset:-3px;}
.plan-conditions-fallback {padding:0 20px 20px;}
.plan-option-info:has(>.plan-conditions[open]) {grid-column:1/-1;}
.plan-conditions[open]>summary {background:var(--soft);}
.checkout-conditions {margin:14px 0;border:1px solid var(--rule);border-radius:12px;background:var(--surface);overflow:hidden;}
.checkout-conditions .plan-conditions>summary {border-top:0;min-height:48px;padding:14px 20px;}
.plan-detail-dialog {width:min(760px,calc(100vw - 40px));height:min(820px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--rule);border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 28px 100px #142c4f40;overflow:hidden;}
.plan-detail-dialog[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto;}
.plan-detail-dialog::backdrop {background:rgba(14,34,61,.45);}
.plan-dialog-header {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 20px;background:var(--paper);border-bottom:1px solid var(--rule);}
.plan-dialog-header>div {min-width:0;}
.plan-dialog-header p {margin:0 0 6px;font-size:12px;color:var(--dim);}
.plan-dialog-header h2 {font:650 27px/1.3 var(--font);letter-spacing:-.03em;margin:0 0 7px;}
.plan-dialog-header span {font-size:14px;color:var(--dim);}
.plan-dialog-close {width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--rule);border-radius:10px;background:white;color:var(--ink);cursor:pointer;}
.plan-dialog-content {padding:4px 28px 22px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.plan-dialog-footer {padding:16px 28px;border-top:1px solid var(--rule);background:var(--surface);display:flex;justify-content:flex-end;}
.plan-dialog-footer .btn {font-size:14px;min-height:46px;padding:12px 24px;border-radius:10px;}
.pd-section {padding:20px 0;border-bottom:1px solid var(--rule);}
.pd-section:last-of-type {border-bottom:0;}
.pd-section h3 {font:650 17px/1.4 var(--font);letter-spacing:-.015em;margin:0 0 14px;color:var(--ink);}
.pd-section p,.pd-section li {font-size:13px;line-height:1.65;color:var(--dim);}
.pd-section p {margin:8px 0;}
.pd-section ul {margin:0;padding-left:18px;}
.pd-grid {display:grid;grid-template-columns:minmax(135px,.7fr) minmax(0,1.6fr);gap:12px 24px;margin:0;font-size:13px;line-height:1.65;}
.pd-grid dt {color:var(--dim);}
.pd-grid dd {margin:0;color:var(--ink);overflow-wrap:anywhere;}
.pd-grid dd p {margin:4px 0 0;font-size:12px;color:var(--dim);}
.pd-note {font-size:12px;line-height:1.6;color:var(--dim);margin:10px 0 0;}
.pd-detail {margin-top:12px;font-size:13px;}
.pd-detail>summary {color:var(--go);cursor:pointer;min-height:40px;padding:9px 0;}
.pd-detail dl,.pd-detail ul {margin:8px 0;}
.pd-detail li {margin:5px 0;}
.pd-source {font-size:11px;line-height:1.6;color:var(--dim);margin:18px 0 0;}
@media (hover:hover) {.plan-conditions>summary:hover {background:var(--soft);}.plan-dialog-close:hover {border-color:var(--go);color:var(--go);}}
@media (max-width:599px) {
 .plan-option-info {border-radius:12px;}
 .plan-option-info>.plan-card {border-radius:11px 11px 0 0;}
 .plan-card-generation {font-size:10px;margin-top:4px;}
 .plan-conditions>summary {font-size:11px;min-height:40px;padding:9px 12px;gap:6px;}
 .plan-conditions-arrow {font-size:15px;}
 .plan-conditions-fallback {padding:0 14px 14px;}
 .plan-detail-dialog {width:100%;max-width:100%;height:90vh;height:90dvh;max-height:90dvh;margin:auto 0 0;border-radius:20px 20px 0 0;border-bottom:0;}
 .plan-dialog-header {padding:18px 18px 16px;gap:12px;}
 .plan-dialog-header h2 {font-size:22px;line-height:1.35;margin-bottom:5px;}
 .plan-dialog-header p {font-size:11px;}
 .plan-dialog-header span {font-size:12px;}
 .plan-dialog-close {width:42px;height:42px;}
 .plan-dialog-content {padding:0 18px 20px;}
 .plan-dialog-footer {padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));}
 .plan-dialog-footer .btn {width:100%;min-height:46px;justify-content:center;font-size:13px;}
 .pd-section {padding:18px 0;}
 .pd-section h3 {font-size:16px;margin-bottom:12px;}
 .pd-grid {grid-template-columns:1fr;gap:3px;}
 .pd-grid dt:not(:first-child) {margin-top:10px;}
 .pd-grid dt {font-size:11px;}
 .pd-grid dd {font-size:13px;line-height:1.65;}
 .pd-section p,.pd-section li {font-size:12px;}
}
.pd-grid>div {display:grid;grid-template-columns:minmax(135px,.7fr) minmax(0,1.6fr);gap:24px;grid-column:1/-1;}
.pd-network-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:14px 0;}
.pd-network {min-width:0;}
.pd-network>strong {font-size:12px;font-weight:500;color:var(--dim);}
.pd-network ul {list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:7px 0 0;}
.pd-network li {border:1px solid var(--rule);border-radius:6px;padding:5px 8px;margin:0;color:var(--ink);font-size:12px;}
.pd-network li span {font-size:11px;color:var(--go);margin-left:5px;}
@media (max-width:599px) {.pd-grid>div {grid-template-columns:1fr;gap:3px;}.pd-network-list {grid-template-columns:1fr;gap:12px;}}
.plan-dialog-content:focus-visible {outline:2px solid #9FC3FF;outline-offset:-2px;}

/* One suggested country package; the checkmark still represents the buyer's choice. */
.plan-card-content {display:flex;flex-direction:column;padding-bottom:20px;}
/* Launch notice uses the existing catalogue palette and header width. */
.catalogue-launch-note {background:var(--soft);border-bottom:1px solid var(--rule);color:var(--dim);font-size:12px;line-height:1.5;}
.catalogue-launch-note .wrap {display:flex;flex-wrap:wrap;gap:3px 14px;padding-top:10px;padding-bottom:10px;}
.catalogue-launch-note b {color:var(--go);font-weight:600;}

/* Stateless payment return information uses the existing account card layout. */
.payment-return-page {padding-top:36px;padding-bottom:48px;}
.payment-return-heading {margin-bottom:26px;}
.payment-return-icon {display:grid;place-items:center;width:52px;height:52px;margin-bottom:24px;border-radius:14px;background:var(--soft);color:var(--go);}
.payment-return-heading .page-h {margin:0 0 16px;}
.payment-return-heading>p,.payment-return-details>p {font-size:15px;line-height:1.7;color:var(--dim);margin:0;}
.payment-return-details {padding:24px;}
.payment-return-details .card-h {margin-bottom:10px;}
.payment-return-details .note-s {font-size:13px;margin-top:14px;}
.payment-return-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
@media(max-width:599px) {
  .payment-return-page {padding-top:24px;}
  .payment-return-heading .page-h {font-size:30px;}
  .payment-return-heading>p,.payment-return-details>p {font-size:14px;}
  .payment-return-details {padding:20px;}
  .payment-return-actions .btn {width:100%;}
}
button.plan-card {width:100%;text-align:left;color:inherit;font-family:inherit;cursor:pointer;}
.plan-option-info>.plan-card .plan-card-bottom {margin-top:auto;}
.plan-option-recommended {border-color:#a4bff0;background:#f7faff;}
.plan-option-recommended>.plan-card {background:#f7faff;}
.plan-card-recommended {align-self:flex-start;display:inline-flex;max-width:100%;margin-top:8px;padding:5px 9px;border-radius:6px;background:var(--go);color:var(--go-ink);font-size:11px;font-weight:600;line-height:1.35;}
.plan-option-recommended>.plan-conditions>summary {background:#f2f7ff;}
@media (max-width:599px) {.plan-card-content {padding-bottom:10px;}.plan-card-recommended {font-size:10px;line-height:1.4;padding:4px 6px;margin-top:6px;}html[lang="hy"] .plan-card-recommended {font-size:9px;}}
