/* Новая страница покупки VIP (2026). Всё внутри .odb2, чтобы не задеть остальной сайт. */
.odb2 {
	--b2-navy: #09123d;
	--b2-yellow: #ffb400;
	--b2-yellow-soft: #fff4d6;
	--b2-ink: #222631;
	--b2-muted: #535b6b;
	--b2-soft: #7a8191;
	--b2-line: #e3e5ea;
	--b2-bg: #f3f4f7;
	--b2-green: #1a7f45;
	--b2-green-soft: #e6f4ec;
	--b2-link: #1f35a8;
	color: var(--b2-ink);
	font-size: 16px;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding-bottom: 8px;
}
.odb2 *, .odb2 *::before, .odb2 *::after { box-sizing: border-box; }
.odb2 a { color: var(--b2-link); }
.odb2 a:hover { color: var(--b2-navy); }
.odb2 :focus-visible { outline: 3px solid var(--b2-yellow); outline-offset: 2px; }
.odb2 h1, .odb2 h2, .odb2 h3 { font-family: inherit; text-transform: none; letter-spacing: 0; }
@media (prefers-reduced-motion: reduce) { .odb2 * { transition: none !important; } }

/* панель предпросмотра для админа */
.odb2-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 14px; border-radius: 8px; background: #2b2f3a; color: #f1f2f5; font-size: 14px; }
.odb2-preview b { color: var(--b2-yellow); }
.odb2-preview > a { color: #c9d1ff; margin-left: auto; }
.odb2-switch { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.odb2-switch a { padding: 4px 10px; border-radius: 999px; border: 1px solid #5b6070; color: #f1f2f5; text-decoration: none; }
.odb2-switch a[aria-current] { background: var(--b2-yellow); border-color: var(--b2-yellow); color: var(--b2-navy); font-weight: 700; }

/* первый экран */
.odb2-hero { display: flex; flex-direction: column; gap: 10px; }
.odb2-hero h1 { margin: 0; font-size: clamp(28px, 5vw, 40px); line-height: 1.12; color: var(--b2-navy); text-wrap: balance; }
.odb2-hero h1 em { font-style: normal; background: linear-gradient(transparent 62%, var(--b2-yellow) 62%); }
.odb2-hero p { margin: 0; font-size: 18px; color: var(--b2-muted); max-width: 640px; }
.odb2-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 4px 0 0; padding: 0; list-style: none; font-size: 15px; }
.odb2-facts li { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 0; }
.odb2-facts li::before { display: none; }
.odb2-facts svg { flex: none; color: var(--b2-green); }

.odb2-status { padding: 10px 14px; border: 1px solid var(--b2-line); border-radius: 8px; background: #fff; font-size: 15px; }
.odb2-status strong { color: var(--b2-navy); }

/* тарифы */
.odb2-stack { display: flex; flex-direction: column; gap: 12px; }
.odb2-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; padding-top: 12px; }
.odb2-plan { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 22px 20px 20px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; scroll-margin-top: 90px; }
.odb2-plan:target { box-shadow: 0 0 0 3px rgba(255, 180, 0, .5); }
.odb2-plan.odb2-top { border: 2px solid var(--b2-yellow); box-shadow: 0 10px 30px rgba(9, 18, 61, .10); }
.odb2-ribbon { position: absolute; top: -13px; left: 20px; padding: 3px 10px; border-radius: 4px; background: var(--b2-yellow); color: var(--b2-navy); font-weight: 700; font-size: 13px; letter-spacing: .03em; text-transform: uppercase; }
.odb2-plan h2 { margin: 0; font-size: 22px; line-height: 1.15; color: var(--b2-navy); }
.odb2-term { color: var(--b2-muted); font-size: 15px; }
.odb2-price { display: flex; align-items: baseline; gap: 6px; }
.odb2-price b { font-size: 46px; line-height: 1; color: var(--b2-navy); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.odb2-price span { font-size: 18px; color: var(--b2-muted); }
.odb2-per { font-size: 15px; }
.odb2-day { display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 999px; background: var(--b2-green-soft); color: var(--b2-green); font-weight: 700; font-size: 14px; }
.odb2-hint { margin: -6px 0 0; font-size: 13px; color: var(--b2-soft); }
.odb2-feats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; flex: 1; font-size: 15px; }
.odb2-feats li { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; margin: 0; padding: 0; }
.odb2-feats li::before { display: none; }
.odb2-feats svg { margin-top: 3px; }
.odb2-yes svg { color: var(--b2-green); }
.odb2-no { color: var(--b2-soft); }
.odb2-no svg { color: #b9bdc7; }
.odb2-plus { font-weight: 700; color: var(--b2-navy); }
.odb2-form { margin: 0; }
.odb2-buy { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; padding: 0 18px; border: 1px solid #cdd1da; border-radius: 8px; background: #fff; color: var(--b2-navy); font: inherit; font-weight: 700; font-size: 17px; cursor: pointer; text-transform: none; }
.odb2-buy:hover { background: #eef1f8; }
.odb2-top .odb2-buy, .odb2-buy.odb2-primary { background: var(--b2-yellow); border-color: var(--b2-yellow); }
.odb2-top .odb2-buy:hover, .odb2-buy.odb2-primary:hover { background: #ffc233; }
.odb2-buy[disabled], .odb2-top .odb2-buy[disabled] { cursor: default; background: #f1f2f5; border-color: #f1f2f5; color: var(--b2-soft); }
.odb2-mode { margin: -6px 0 0; font-size: 13px; font-weight: 700; color: var(--b2-green); text-align: center; }
.odb2-why { margin: -4px 0 0; font-size: 13px; color: var(--b2-muted); text-align: center; }
.odb2-more { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; border: 0; background: none; color: var(--b2-link); font: inherit; font-weight: 700; cursor: pointer; text-align: left; }
.odb2-more svg { flex: none; transition: transform .2s; }
.odb2-more[aria-expanded="true"] svg { transform: rotate(180deg); }

/* таблицы */
.odb2-table { overflow-x: auto; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; }
.odb2-table[hidden] { display: none; }
.odb2-table table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 15px; margin: 0; }
.odb2-table th, .odb2-table td { padding: 11px 14px; border: 0; border-top: 1px solid var(--b2-line); text-align: center; background: transparent; }
.odb2-table thead th { border-top: 0; vertical-align: bottom; color: var(--b2-navy); font-weight: 700; }
.odb2-table thead th small { display: block; font-weight: 400; font-size: 13px; color: var(--b2-muted); }
.odb2-table .odb2-left { text-align: left; font-weight: 400; color: var(--b2-ink); }
.odb2-table thead .odb2-left { font-weight: 700; color: var(--b2-navy); }
.odb2-y { color: var(--b2-green); font-weight: 700; }
.odb2-n { color: #b9bdc7; }
.odb2-table .odb2-col-top { background: var(--b2-yellow-soft); }
.odb2-table tfoot td { padding-block: 14px; }
.odb2-table tfoot .odb2-buy { min-height: 42px; font-size: 15px; }
.odb2-hist table { min-width: 0; }
.odb2-hist th, .odb2-hist td { text-align: left; }
.odb2-pill { margin-left: 6px; padding: 1px 8px; border-radius: 4px; background: #f2f3f6; color: var(--b2-muted); font-size: 12px; font-weight: 700; }
.odb2-empty { color: var(--b2-soft); text-align: center !important; padding: 20px 14px !important; }

/* доверие */
.odb2-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.odb2-trust-item { display: flex; gap: 12px; align-items: flex-start; }
.odb2-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--b2-navy); color: var(--b2-yellow); }
.odb2-trust h3 { margin: 0 0 2px; font-size: 16px; color: var(--b2-navy); }
.odb2-trust p { margin: 0; font-size: 14px; color: var(--b2-muted); }
.odb2-try { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 15px; }
.odb2-sep { color: var(--b2-soft); }

/* гигабайты */
.odb2-gb { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; }
.odb2-gb-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; }
.odb2-gb-head h2, .odb2-h2 { margin: 0; font-size: 22px; color: var(--b2-navy); }
.odb2-gb-bal { font-size: 15px; color: var(--b2-muted); }
.odb2-gb-bal b { font-size: 18px; color: var(--b2-navy); }
.odb2-gb-teaser { margin: 0; font-size: 15px; color: var(--b2-muted); }
.odb2-packs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.odb2-pack { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--b2-line); border-radius: 8px; text-align: center; }
.odb2-pack b { font-size: 26px; line-height: 1; color: var(--b2-navy); }
.odb2-pack .odb2-buy { min-height: 40px; font-size: 15px; }
.odb2-sim-tag { margin-left: 6px; padding: 1px 6px; border-radius: 4px; background: #fff1cc; color: #6b4a00; font-size: 12px; }

/* вопросы */
.odb2-faq { display: flex; flex-direction: column; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; }
.odb2-faq details { border-top: 1px solid var(--b2-line); }
.odb2-faq details:first-child { border-top: 0; }
.odb2-faq summary { display: flex; justify-content: space-between; gap: 12px; padding: 14px 18px; list-style: none; font-weight: 700; color: var(--b2-navy); cursor: pointer; }
.odb2-faq summary::-webkit-details-marker { display: none; }
.odb2-faq summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--b2-soft); }
.odb2-faq details[open] summary::after { content: "−"; }
.odb2-ans { max-width: 760px; padding: 0 18px 16px; font-size: 15px; color: var(--b2-muted); }
.odb2-ans p { margin: 0; }

/* окно входа и подтверждения */
.odb2-sheet { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: end center; padding: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); background: rgba(9, 18, 61, .45); }
.odb2-sheet[hidden] { display: none; }
@media (min-width: 700px) { .odb2-sheet { place-items: center; } }
.odb2-sheet-box { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 420px; padding: 22px; border-radius: 12px; background: #fff; }
.odb2-sheet-box h2 { margin: 0; font-size: 21px; color: var(--b2-navy); }
.odb2-sheet-box p { margin: 0; font-size: 15px; color: var(--b2-muted); }
.odb2-x { align-self: flex-end; padding: 4px; border: 0; background: none; color: var(--b2-soft); font: inherit; font-size: 14px; cursor: pointer; }
.odb2-login { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.odb2-login[hidden] { display: none; }
.odb2-login label { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; color: var(--b2-navy); }
.odb2-login label a { font-weight: 400; }
.odb2-login input[type="text"], .odb2-login input[type="password"] { width: 100%; height: 44px; margin-bottom: 6px; padding: 0 12px; border: 1px solid #cdd1da; border-radius: 6px; font: inherit; font-size: 16px; background: #fff; color: var(--b2-ink); }
.odb2-small { font-size: 13px !important; }

/* липкая кнопка на телефоне */
.odb2-sticky { display: none; }

@media (max-width: 860px) {
	.odb2-plans { grid-template-columns: 1fr; gap: 22px; }
	.odb2-plan.odb2-top { order: -1; }
	.odb2-trust { grid-template-columns: 1fr; }
	.odb2-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.odb2 { padding-bottom: 84px; }
	.odb2-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--b2-line); background: #fff; box-shadow: 0 -6px 20px rgba(9, 18, 61, .08); }
	.odb2-sticky-txt { flex: 1; min-width: 0; font-size: 14px; line-height: 1.25; color: var(--b2-muted); }
	.odb2-sticky-txt b { display: block; font-size: 16px; color: var(--b2-navy); }
	.odb2-sticky .odb2-form, .odb2-sticky .odb2-buy { width: auto; }
	.odb2-sticky .odb2-buy { min-height: 46px; }
}

/* способы оплаты: онлайн и прямой перевод без комиссии */
.odb2-pay { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.odb2-pay-opt { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; }
.odb2-pay-opt h3 { margin: 0; font-size: 18px; color: var(--b2-navy); }
.odb2-pay-opt p { margin: 0; font-size: 15px; color: var(--b2-muted); }
.odb2-pay-direct { border: 2px solid var(--b2-green); }
.odb2-pay-direct h3::after { content: "0 % комиссии"; margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--b2-green-soft); color: var(--b2-green); font-size: 13px; vertical-align: 2px; }
.odb2-pay-tag { align-self: flex-start; font-size: 13px; color: var(--b2-soft); }
.odb2-pay-more { font-weight: 700; }
.odb2-nowrap { white-space: nowrap; color: var(--b2-navy); }
.odb2-table .odb2-left small { display: block; font-size: 12px; color: var(--b2-soft); }
@media (max-width: 860px) { .odb2-pay { grid-template-columns: 1fr; } }

/* все 5 тарифов карточками: 5 в ряд на широком экране, 3+2 на среднем, столбиком на телефоне */
.odb2-plans { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.odb2-plans .odb2-plan { padding: 20px 14px 16px; gap: 12px; }
.odb2-plans .odb2-plan h2 { font-size: 20px; }
.odb2-plans .odb2-price b { font-size: 38px; }
.odb2-plans .odb2-feats { font-size: 14px; gap: 7px; }
.odb2-plans .odb2-buy { min-height: 46px; font-size: 16px; padding: 0 10px; }
.odb2-plans .odb2-ribbon { left: 14px; }
@media (max-width: 1100px) { .odb2-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 860px) { .odb2-plans { grid-template-columns: 1fr; gap: 22px; } .odb2-plans .odb2-price b { font-size: 46px; } }

/* ровные карточки: все строки (заголовок, цена, каждое преимущество, кнопка) на одной линии во всех тарифах */
@supports (grid-template-rows: subgrid) {
@media (min-width: 861px) {
	.odb2-plans { row-gap: 22px; }
	.odb2-plans .odb2-plan { display: grid; grid-row: span 11; grid-template-rows: subgrid; row-gap: 12px; }
	.odb2-plans .odb2-feats { display: grid; grid-row: span 6; grid-template-rows: subgrid; row-gap: 8px; }
	.odb2-plans .odb2-mode, .odb2-plans .odb2-why, .odb2-plans .odb2-hint { margin: 0; }
}
}
@media (max-width: 860px) { .odb2-hint:empty, .odb2-note-empty { display: none; } }
.odb2-hint:empty, .odb2-note-empty { margin: 0; min-height: 0; }

.odb2-plans .odb2-feats li { white-space: nowrap; }
.odb2-plans .odb2-feats li span { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 860px) { .odb2-plans .odb2-feats li { white-space: normal; } }

/* оплата без комиссии: кнопка Т-Банка и все способы перевода */
.odb2-pay-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 4px; }
.odb2 a.odb2-buy { text-decoration: none; }
.odb2 a.odb2-buy.odb2-green, .odb2 a.odb2-buy.odb2-green:hover { width: auto; min-height: 44px; font-size: 15px; background: var(--b2-green); border-color: var(--b2-green); color: #fff; }
.odb2-manual { display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 2px solid var(--b2-green); border-radius: 10px; background: #fff; scroll-margin-top: 90px; }
.odb2-manual-head p { margin: 6px 0 0; font-size: 15px; color: var(--b2-muted); max-width: 760px; }
.odb2-manual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.odb2-way { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 8px; background: var(--b2-bg); min-width: 0; }
.odb2-way h3 { margin: 0; font-size: 16px; color: var(--b2-navy); }
.odb2-way p { margin: 0; font-size: 14px; color: var(--b2-ink); overflow-wrap: anywhere; }
.odb2-way code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; padding: 1px 5px; border-radius: 4px; background: #fff; color: var(--b2-navy); user-select: all; }
.odb2-manual-contact { margin: 0; font-size: 15px; }
@media (max-width: 860px) { .odb2-manual-grid { grid-template-columns: 1fr; } .odb2-manual { padding: 16px; } }

/* правило сайта button:hover красит все кнопки в зелёный с белым текстом — у кнопок страницы покупки свои состояния */
.odb2 button.odb2-buy:hover, .odb2 button.odb2-buy:focus, .odb2 button.odb2-buy:active { background: #eef1f8; border-color: #cdd1da; color: var(--b2-navy); box-shadow: none; }
.odb2 .odb2-top button.odb2-buy:hover, .odb2 .odb2-top button.odb2-buy:focus, .odb2 .odb2-top button.odb2-buy:active,
.odb2 button.odb2-buy.odb2-primary:hover, .odb2 button.odb2-buy.odb2-primary:focus, .odb2 button.odb2-buy.odb2-primary:active { background: #ffc233; border-color: #ffc233; color: var(--b2-navy); }
.odb2 button.odb2-buy[disabled]:hover, .odb2 button.odb2-buy[disabled]:focus { background: #f1f2f5; border-color: #f1f2f5; color: var(--b2-soft); }
.odb2 button.odb2-more:hover, .odb2 button.odb2-more:focus, .odb2 button.odb2-more:active { background: none; border-color: transparent; color: var(--b2-navy); box-shadow: none; text-decoration: underline; }
.odb2 button.odb2-x:hover, .odb2 button.odb2-x:focus, .odb2 button.odb2-x:active { background: none; border-color: transparent; color: var(--b2-navy); box-shadow: none; }
.odb2 button.odb2-more, .odb2 button.odb2-x { height: auto; }

/* оплата из-за рубежа (/vip-abroad.html) */
.oda-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.odb2 a.oda-chip { display: inline-flex; flex-direction: column; min-width: 110px; padding: 8px 14px; border: 1px solid #cdd1da; border-radius: 8px; background: #fff; color: var(--b2-navy); text-decoration: none; line-height: 1.25; }
.odb2 a.oda-chip span { font-size: 14px; color: var(--b2-muted); }
.odb2 a.oda-chip:hover { border-color: var(--b2-navy); color: var(--b2-navy); }
.odb2 a.oda-chip[aria-current] { border: 2px solid var(--b2-yellow); background: var(--b2-yellow-soft); padding: 7px 13px; }
.oda-plan { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; }
.oda-plan[hidden] { display: none; }
.oda-plan-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 8px 20px; }
.oda-plan h2 { margin: 0; font-size: 24px; color: var(--b2-navy); }
.oda-term { font-size: 14px; color: var(--b2-muted); }
.oda-eur { font-size: 18px; color: var(--b2-muted); }
.oda-eur b { font-size: 40px; line-height: 1; color: var(--b2-navy); font-variant-numeric: tabular-nums; }
.oda-feats { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.oda-feats li { margin: 0; padding-left: 20px; position: relative; }
.oda-feats li::before { content: "✓"; position: absolute; left: 0; color: var(--b2-green); font-weight: 700; }
.oda-cols { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.oda-box { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; min-width: 0; }
.oda-box p { margin: 0; font-size: 15px; color: var(--b2-muted); }
.oda-sub { font-weight: 700; color: var(--b2-ink) !important; }
.oda-req { display: flex; flex-direction: column; border: 1px solid var(--b2-line); border-radius: 8px; }
.oda-req-row { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 12px; border-top: 1px solid var(--b2-line); }
.oda-req-row:first-child { border-top: 0; }
.oda-req-k { font-size: 14px; color: var(--b2-muted); }
.oda-req-v { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 15px; color: var(--b2-navy); background: none; padding: 0; overflow-wrap: anywhere; user-select: all; }
.oda-req-sum .oda-req-v { font-size: 18px; font-weight: 700; }
.odb2 button.oda-copy, .odb2 button.oda-copy:hover, .odb2 button.oda-copy:focus { height: 34px; padding: 0 12px; border: 1px solid #cdd1da; border-radius: 6px; background: #fff; color: var(--b2-navy); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; box-shadow: none; }
.odb2 button.oda-copy:hover { background: #eef1f8; }
.odb2 button.oda-copy.is-done { border-color: var(--b2-green); color: var(--b2-green); }
.oda-note { font-size: 13px !important; color: var(--b2-soft) !important; }
.oda-btns { display: flex; flex-direction: column; gap: 8px; }
.odb2 a.oda-btn { min-height: 46px; font-size: 16px; text-decoration: none; }
.oda-steps { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.oda-steps li { margin: 0; }
.oda-contacts { font-size: 15px !important; color: var(--b2-ink) !important; }
.oda-back { margin: 0; font-size: 15px; }
@media (max-width: 860px) {
	.oda-cols { grid-template-columns: 1fr; }
	.oda-req-row { grid-template-columns: minmax(0, 1fr) auto; }
	.oda-req-k { grid-column: 1 / -1; }
}

/* «или переводом без комиссии» под кнопкой тарифа; ссылка админа на заявки */
.odb2-foot { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.odb2-foot:empty { display: none; }
.odb2 .odb2-transfer, .odb2 button.odb2-transfer, .odb2 button.odb2-transfer:hover, .odb2 button.odb2-transfer:focus { height: auto; padding: 2px 4px; border: 0; background: none; box-shadow: none; color: var(--b2-green); font: inherit; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.odb2 span.odb2-transfer { cursor: default; }
.odb2 a.odb2-admin-tr { margin-left: 8px; padding: 4px 10px; border-radius: 999px; background: var(--b2-green); color: #fff; text-decoration: none; font-weight: 700; }

/* отзывы: ссылки на страницы Яндекс Вебмастера всех доменов сайта */
.odb2-reviews { display: flex; flex-direction: column; gap: 12px; }
.odb2-reviews-head p { margin: 6px 0 0; font-size: 15px; color: var(--b2-muted); max-width: 760px; }
.odb2-domains { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.odb2 a.odb2-domain { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; color: var(--b2-navy); text-decoration: none; min-width: 0; }
.odb2 a.odb2-domain:hover { border-color: var(--b2-yellow); background: var(--b2-yellow-soft); color: var(--b2-navy); }
.odb2-domain b { font-size: 16px; overflow-wrap: anywhere; }
.odb2-domain b::after { content: " ↗"; color: var(--b2-soft); font-weight: 400; }
.odb2-domain span { font-size: 13px; color: var(--b2-soft); }
@media (max-width: 1100px) { .odb2-domains { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .odb2-domains { grid-template-columns: 1fr; } }

/* доплата V.I.P → V.I.P Plus: новая цена и зачёркнутая годовая */
.odb2-old { margin-left: 8px; font-size: 16px; color: var(--b2-soft); }
.odb2-plan.odb2-upsell { border: 2px solid var(--b2-green); }

/* тариф, выбранный по ссылке (/vip-status.html#p…), выделяется сильнее «Популярного»: зелёная рамка, метка и главная кнопка;
   у V.I.P остаётся только бейдж */
.odb2-plan:target { border: 2px solid var(--b2-green); box-shadow: 0 10px 30px rgba(26, 127, 69, .18); }
.odb2-plan:target::after { content: 'Вы выбрали'; position: absolute; top: -12px; right: 14px; padding: 3px 10px; border-radius: 6px; background: var(--b2-green); color: #fff; font-size: 12px; font-weight: 700; }
.odb2-plans:has(.odb2-plan:target) .odb2-plan.odb2-top:not(:target) { border: 1px solid var(--b2-line); box-shadow: none; }
.odb2 .odb2-plans:has(.odb2-plan:target) .odb2-top:not(:target) .odb2-buy { background: #fff; border-color: #cdd1da; color: var(--b2-navy); }
.odb2 .odb2-plan:target .odb2-buy, .odb2 .odb2-plan:target button.odb2-buy:hover, .odb2 .odb2-plan:target button.odb2-buy:focus { background: var(--b2-green); border-color: var(--b2-green); color: #fff; }
@media (max-width: 900px) { .odb2-plans:has(.odb2-plan:target) .odb2-plan:target { order: -2; } }

/* подсказка «?» у пунктов тарифа: по наведению или по нажатию на телефоне */
.odb2 .odb2-hint { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; margin: 0 0 0 4px; padding: 0; border: 1px solid #c9ced8; border-radius: 50%; background: #fff; color: #6b7280; font: 700 11px/1 inherit; cursor: help; box-shadow: none; }
.odb2 .odb2-hint:hover, .odb2 .odb2-hint:focus { border-color: var(--b2-navy); color: var(--b2-navy); background: #fff; outline: none; }
.odb2-hint i { font-style: normal; }
.odb2-hint span { display: none; position: absolute; z-index: 30; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); width: min(250px, 78vw); padding: 10px 12px; border-radius: 8px; background: var(--b2-navy); color: #fff; font-weight: 400; font-size: 13px; line-height: 1.45; text-align: left; white-space: normal; box-shadow: 0 8px 24px rgba(9, 18, 61, .25); }
.odb2-hint:hover span, .odb2-hint:focus span { display: block; }
.odb2-feats li { position: relative; }

/* редкие способы оплаты свёрнуты, чтобы не пугать длинными адресами */
.odb2-ways-more { margin-top: 14px; border: 1px solid var(--b2-line); border-radius: 10px; background: #fff; }
.odb2-ways-more summary { padding: 12px 16px; cursor: pointer; font-weight: 700; color: var(--b2-navy); list-style: none; }
.odb2-ways-more summary::-webkit-details-marker { display: none; }
.odb2-ways-more summary::after { content: '▾'; margin-left: 8px; color: var(--b2-soft); }
.odb2-ways-more[open] summary::after { content: '▴'; }
.odb2-ways-more .odb2-manual-grid { padding: 0 16px 16px; }
/* пункт: значок, текст и «?» в одной строке */
.odb2-feats li { grid-template-columns: 18px minmax(0, max-content) 18px; justify-content: start; }
.odb2-feats li .odb2-hint { align-self: start; margin: 1px 0 0; }
.odb2-plans .odb2-feats li .odb2-hint span { overflow: visible; text-overflow: clip; white-space: normal; }
/* подписи не обрезаются, а переносятся (строки в карточках выравнивает subgrid); «?» — тихий, без рамки */
.odb2-plans .odb2-feats li { white-space: normal; }
.odb2-plans .odb2-feats li span { overflow: visible; text-overflow: clip; }
.odb2 .odb2-hint { width: 16px; height: 16px; border: 0; background: #eef0f4; color: #8a90a0; font-size: 10px; }
.odb2 .odb2-hint:hover, .odb2 .odb2-hint:focus { background: var(--b2-navy); color: #fff; }
.odb2-feats li .odb2-hint { margin-top: 2px; }

/* оплата из-за рубежа — видна сразу: строка под заголовком, ссылка в каждой карточке, отдельный блок оплаты */
.odb2-fact-abroad a { color: var(--b2-navy); font-weight: 700; text-decoration: underline; text-decoration-color: var(--b2-yellow); text-underline-offset: 3px; }
.odb2-abroad { display: block; margin-top: 6px; font-size: 13px; font-weight: 700; color: var(--b2-navy) !important; text-decoration: none !important; }
.odb2-abroad:hover { text-decoration: underline !important; }
.odb2-pay { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.odb2-pay-abroad { order: 3; border: 2px solid #2a62b8; }
.odb2 a.odb2-buy.odb2-abroad-btn { align-self: flex-start; width: auto; min-height: 44px; font-size: 15px; background: #2a62b8; border-color: #2a62b8; color: #fff; }
.odb2 a.odb2-buy.odb2-abroad-btn:hover { background: #224f96; border-color: #224f96; }
@media (max-width: 860px) { .odb2-pay { grid-template-columns: 1fr; } }
/* у каждого способа оплаты — своё действие; кнопки прижаты к низу блока */
.odb2-pay-opt .odb2-buy, .odb2-pay-opt .odb2-pay-btns { margin-top: auto; }
.odb2 a.odb2-buy.odb2-pay-up { align-self: flex-start; width: auto; min-height: 44px; font-size: 15px; text-decoration: none; }
.odb2-pay-btns { padding-top: 4px; }
