/* ══════ CABINET — Personal Account Styles ══════ */

/* ── Nav styles (matching расчет2/calc3 page) ── */
.nav-links {
    display:flex; gap:1.8rem; align-items:center; list-style:none; margin:0; padding:0;
}
.nav-links li { list-style:none; }
.nav-links a {
    font-family:'Nunito Sans',sans-serif;
    font-size:.78rem; color:var(--text-muted);
    text-decoration:none; letter-spacing:.04em; transition:color .2s;
}
.nav-links a:hover { color:var(--gold); }
.nav-cta {
    padding:.45rem 1.1rem;
    background:linear-gradient(135deg,rgba(212,165,74,.15),rgba(212,165,74,.08));
    border:1px solid rgba(212,165,74,.3);
    border-radius:6px;
    color:var(--gold) !important; font-weight:500;
    font-size:.75rem !important; letter-spacing:.06em;
    transition:all .3s;
}
.nav-cta:hover { box-shadow:0 4px 20px rgba(212,165,74,.35); }
.nav-social-desktop { display:flex; gap:.6rem; align-items:center; }
.nav-social-icon {
    display:flex; align-items:center; justify-content:center;
    width:30px; height:30px; border-radius:50%;
    border:1px solid rgba(107,63,160,.2);
    color:var(--text-muted) !important; transition:all .3s; text-decoration:none;
}
.nav-social-icon:hover { border-color:rgba(212,165,74,.4); color:var(--gold) !important; }
.nav-social-icon svg { width:14px; height:14px; }
.nav-social-mobile { display:none; }
.mobile-toggle { display:none; background:none; border:none; cursor:pointer; padding:.5rem; }
.mobile-toggle span { display:block; width:22px; height:1.5px; background:var(--cream-muted); margin:5px 0; transition:.3s; }

/* Auth icons — no circle, bare icons, close to CTA */
.nav-auth-icons { display:flex; align-items:center; gap:.5rem; margin-left:-.8rem; }
.nav-auth-icon {
    display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:24px; padding:0;
    background:none; border:none; cursor:pointer;
    color:var(--text-muted); transition:color .2s; text-decoration:none;
    line-height:1;
}
.nav-auth-icon:hover { color:var(--gold) !important; }
.nav-auth-icon svg { width:17px; height:17px; display:block; }
.nav-auth-icon.active { color:var(--gold); }

.cab-container {
    max-width:620px; margin:0 auto; padding:0 1.5rem;
    min-height:60vh;
}

/* ── Auth screen ── */
.cab-auth { padding:5rem 0 3rem; text-align:center; }
.cab-auth-logo {
    font-size:2rem; color:var(--gold); margin-bottom:1.2rem;
    letter-spacing:.2em; opacity:.8;
}
.cab-auth-title {
    font-family:'Cormorant Garamond',serif; font-size:1.8rem;
    color:var(--gold); margin-bottom:1.5rem;
}
.cab-auth-hint { font-size:.85rem; color:var(--text-muted); margin-bottom:1rem; }
.cab-auth-links {
    display:flex; justify-content:center; gap:1.2rem;
    margin-top:1rem; font-size:.8rem;
}

.cab-auth-form { max-width:360px; margin:0 auto; }
.cab-input {
    width:100%; padding:.85rem 1.1rem; font-size:.95rem;
    background:rgba(255,255,255,.03); border:1px solid rgba(212,165,74,.1);
    border-radius:10px; color:var(--cream); outline:none;
    font-family:'Nunito Sans',sans-serif; transition:all .3s;
    margin-bottom:.6rem;
}
.cab-input:focus { border-color:var(--gold); background:rgba(255,255,255,.05); }
.cab-input::placeholder { color:var(--text-muted); opacity:.4; }

/* Select в стиле сайта (золотая рамка, шеврон, тёмный фон) */
.cab-select {
    padding:.55rem 2rem .55rem .9rem;
    font-size:.9rem; font-family:'Nunito Sans',sans-serif;
    background:rgba(255,255,255,.04); color:var(--cream);
    border:1px solid rgba(212,165,74,.25); border-radius:8px;
    outline:none; cursor:pointer;
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23d4a54a' stroke-width='1.5' fill='none'/></svg>");
    background-repeat:no-repeat; background-position:right .8rem center;
    transition:border-color .25s, background .25s;
}
.cab-select:hover  { border-color:rgba(212,165,74,.5); }
.cab-select:focus  { border-color:var(--gold); background-color:rgba(255,255,255,.07); }

.cab-time-edit { display:inline-flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.cab-time-edit .cab-btn { width:auto; margin-top:0; padding:.55rem 1.1rem; font-size:.85rem; }
.cab-time-edit .cab-link { font-size:.85rem; }

.cab-input-code {
    text-align:center; font-size:1.8rem; letter-spacing:.6em;
    font-weight:500; padding:1rem; font-family:'Cormorant Garamond',serif;
    color:var(--gold);
}

.cab-btn {
    width:100%; padding:.85rem; margin-top:.5rem;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    color:var(--deep); font-weight:600; font-size:.95rem;
    border:none; border-radius:8px; cursor:pointer;
    font-family:'Nunito Sans',sans-serif; transition:all .3s;
}
.cab-btn:hover:not(:disabled) { box-shadow:0 4px 20px rgba(212,165,74,.3); }
.cab-btn:disabled { opacity:.5; cursor:wait; }

.cab-btn-secondary {
    background:transparent; border:1px solid rgba(212,165,74,.25);
    color:var(--gold);
}
.cab-btn-secondary:hover:not(:disabled) { background:rgba(212,165,74,.08); box-shadow:none; }

.cab-btn-danger {
    background:transparent; border:1px solid rgba(192,96,128,.25);
    color:var(--rose);
}
.cab-btn-danger:hover:not(:disabled) { background:rgba(192,96,128,.08); box-shadow:none; }

.cab-btn-small { padding:.5rem 1rem; font-size:.8rem; width:auto; }

.cab-error {
    display:none; padding:.5rem .8rem; margin-top:.5rem;
    background:rgba(192,96,128,.1); border:1px solid rgba(192,96,128,.2);
    border-radius:6px; font-size:.8rem; color:var(--rose); text-align:center;
}

.cab-success {
    display:none; padding:.5rem .8rem; margin-top:.5rem;
    background:rgba(64,176,160,.1); border:1px solid rgba(64,176,160,.2);
    border-radius:6px; font-size:.8rem; color:var(--teal); text-align:center;
}

.cab-hint { font-size:.75rem; color:var(--text-muted); margin-top:.8rem; }
.cab-link { color:var(--gold); text-decoration:none; cursor:pointer; }
.cab-link:hover { color:var(--gold-light); text-decoration:underline; }

/* ── Dashboard ── */
.cab-dashboard { padding:4.5rem 0 3rem; }

.cab-header {
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:2rem;
}
.cab-header-title {
    font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--gold);
}
.cab-header-email { font-size:.78rem; color:var(--text-muted); }
.cab-logout { font-size:.78rem; color:var(--text-muted); cursor:pointer; border:none; background:none; font-family:inherit; }
.cab-logout:hover { color:var(--rose); }

/* ── Cards ── */
.cab-card {
    padding:1.5rem; margin-bottom:1rem; border-radius:10px;
    background:rgba(107,63,160,.04); border:1px solid rgba(107,63,160,.1);
}
.cab-card-title {
    font-family:'Cormorant Garamond',serif; font-size:1.1rem;
    color:var(--gold); margin-bottom:.8rem;
    display:flex; align-items:center; gap:.5rem;
}
.cab-card-title-icon { font-size:1rem; }

/* ── Subscription card ── */
.cab-sub-status {
    display:inline-block; padding:3px 12px; border-radius:20px;
    font-size:.72rem; font-weight:600; letter-spacing:.03em;
}
.cab-sub-status.active { background:rgba(64,176,160,.12); color:var(--teal); }
.cab-sub-status.trial { background:rgba(212,165,74,.12); color:var(--gold); }
.cab-sub-status.expired { background:rgba(192,96,128,.12); color:var(--rose); }
.cab-sub-status.cancelled { background:rgba(152,138,120,.12); color:var(--text-muted); }

.cab-sub-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:.5rem 0; font-size:.85rem;
}
.cab-sub-label { color:var(--text-muted); }
.cab-sub-value { color:var(--cream); font-weight:400; }

.cab-sub-actions {
    display:flex; gap:.5rem; margin-top:1rem; flex-wrap:wrap;
}

/* ── User data card ── */
.cab-user-row {
    display:flex; gap:1rem; padding:.3rem 0; font-size:.85rem;
}
.cab-user-label { color:var(--text-muted); min-width:80px; }
.cab-user-value { color:var(--cream); }

/* ── Forecasts list ── */
.cab-forecast-item {
    padding:.8rem 0; border-bottom:1px solid rgba(107,63,160,.06);
    cursor:pointer; transition:background .2s;
}
.cab-forecast-item:last-child { border-bottom:none; }
.cab-forecast-item:hover { background:rgba(212,165,74,.03); margin:0 -.5rem; padding:.8rem .5rem; border-radius:6px; }

.cab-forecast-date { font-size:.75rem; color:var(--gold); margin-bottom:.2rem; }
.cab-forecast-preview { font-size:.82rem; color:var(--text-soft); line-height:1.5; }
.cab-forecast-type {
    display:inline-block; padding:1px 8px; border-radius:10px;
    font-size:.65rem; background:rgba(107,63,160,.1); color:var(--orchid);
    margin-left:.5rem;
}

/* ── Forecast detail modal ── */
.cab-modal {
    display:none; position:fixed; inset:0; z-index:2000;
    background:rgba(8,5,16,.92); overflow-y:auto;
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.cab-modal.open { display:block; }
.cab-modal-inner {
    max-width:540px; margin:0 auto; padding:4rem 1.5rem 3rem;
}
.cab-modal-close {
    position:fixed; top:1rem; right:1.5rem; z-index:2001;
    background:none; border:none; color:var(--text-muted); font-size:1.5rem;
    cursor:pointer; padding:.5rem;
}
.cab-modal-close:hover { color:var(--cream); }
.cab-modal-title {
    font-family:'Cormorant Garamond',serif; font-size:1.3rem;
    color:var(--gold); margin-bottom:1rem;
}
.cab-modal-text { font-size:.88rem; color:var(--text-soft); line-height:1.8; }
.cab-modal-text p { margin-bottom:.6rem; }

/* ── No subscription state ── */
.cab-empty { text-align:center; padding:2rem 0; }
.cab-empty-icon { font-size:2rem; margin-bottom:.5rem; opacity:.5; }
.cab-empty-text { font-size:.85rem; color:var(--text-muted); margin-bottom:1rem; }

/* ── Card management (for YooKassa) ── */
.cab-card-manage {
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.cab-card-info-inline {
    display:flex; align-items:center; gap:.6rem;
    font-size:.88rem; color:var(--text-soft);
}

/* Detach confirm screen */
.cab-detach-confirm-screen { text-align:center; padding:1rem 0; }
.cab-detach-icon { margin-bottom:.8rem; }
.cab-detach-title {
    font-family:'Cormorant Garamond',serif; font-size:1.2rem;
    color:var(--cream); margin-bottom:.5rem;
}
.cab-detach-text {
    font-size:.82rem; color:var(--text-muted); line-height:1.6;
    margin-bottom:1.2rem; max-width:320px; margin-left:auto; margin-right:auto;
}
.cab-detach-check {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.85rem; color:var(--text-soft); cursor:pointer;
    margin-bottom:1rem;
}
.cab-detach-check input { accent-color:var(--rose); }
.cab-detach-actions {
    display:flex; flex-direction:column; gap:.5rem; max-width:280px; margin:0 auto;
}

/* ── Confirm dialog ── */
.cab-confirm {
    display:none; padding:1rem; margin-top:.8rem;
    background:rgba(192,96,128,.05); border:1px solid rgba(192,96,128,.12);
    border-radius:8px;
}
.cab-confirm.open { display:block; }
.cab-confirm-text { font-size:.82rem; color:var(--text-soft); margin-bottom:.8rem; line-height:1.5; }
.cab-confirm-check {
    display:flex; align-items:center; gap:.5rem;
    font-size:.8rem; color:var(--text-muted); margin-bottom:.8rem; cursor:pointer;
}
.cab-confirm-check input { accent-color:var(--rose); }
.cab-confirm-actions { display:flex; gap:.5rem; }

/* ── Loader ── */
.cab-loader {
    display:flex; justify-content:center; align-items:center;
    gap:.8rem; padding:3rem; color:var(--gold); font-size:.88rem;
}

/* ── Animations ── */
@keyframes cabFadeIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.cab-fade-in { animation:cabFadeIn .4s ease; }

@keyframes shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }
.shake { animation:shake .4s ease; }

/* ── Auth divider ── */
.cab-auth-divider {
    display:flex; align-items:center; gap:1rem; margin:1.2rem 0;
    color:var(--text-muted); font-size:.75rem;
}
.cab-auth-divider::before, .cab-auth-divider::after {
    content:''; flex:1; height:1px; background:rgba(212,165,74,.08);
}

/* ── Dashboard rows ── */
.cab-row { display:flex; justify-content:space-between; align-items:center; padding:.45rem 0; font-size:.85rem; }
.cab-row-l { color:var(--text-muted); }
.cab-row-v { color:var(--cream); text-align:right; }
.cab-muted { font-size:.85rem; color:var(--text-muted); }

.cab-badge {
    display:inline-block; padding:2px 10px; border-radius:20px;
    font-size:.72rem; font-weight:500; letter-spacing:.02em;
}
.cab-badge.active { background:rgba(64,176,160,.15); color:#5fcfb0; }
.cab-badge.trial { background:rgba(212,165,74,.15); color:var(--gold); }
.cab-badge.expired { background:rgba(220,60,60,.12); color:#e05555; }
.cab-badge.cancelled { background:rgba(220,60,60,.12); color:#e05555; }

/* Cancel link inside subscription */
.cab-cancel-link { font-size:.78rem; color:var(--text-muted); opacity:.7; }
.cab-cancel-link:hover { color:var(--rose); opacity:1; }

/* ── Products grid ── */
.cab-product {
    display:flex; align-items:center; gap:1rem; padding:.8rem .6rem;
    border-bottom:1px solid rgba(107,63,160,.05); text-decoration:none;
    transition:background .2s; border-radius:6px;
}
.cab-product:last-child { border-bottom:none; }
.cab-product:hover { background:rgba(212,165,74,.04); }
.cab-product.owned { opacity:.7; cursor:default; }
.cab-product-icon { flex-shrink:0; color:var(--orchid); }
.cab-product.owned .cab-product-icon { color:var(--teal); }
.cab-product-info { flex:1; min-width:0; }
.cab-product-name { font-size:.88rem; color:var(--cream); margin-bottom:.15rem; }
.cab-product-desc { font-size:.72rem; color:var(--text-muted); line-height:1.4; }
.cab-product-price { flex-shrink:0; font-size:.82rem; color:var(--gold); font-weight:500; white-space:nowrap; }

/* ── Custom checkbox ── */
.cab-checkbox { position:absolute; opacity:0; width:0; height:0; }
.cab-check-label {
    display:inline-flex; align-items:center; gap:.6rem;
    font-size:.82rem; color:var(--text-soft); cursor:pointer;
    margin-bottom:.8rem; line-height:1.4;
}
.cab-check-box {
    flex-shrink:0; width:18px; height:18px;
    border:1.5px solid rgba(212,165,74,.3); border-radius:4px;
    background:rgba(255,255,255,.03);
    transition:all .2s; position:relative;
}
.cab-check-box::after {
    content:''; position:absolute; top:1px; left:5px;
    width:6px; height:10px; border:solid var(--deep); border-width:0 2.5px 2.5px 0;
    transform:rotate(45deg); opacity:0; transition:opacity .2s;
}
.cab-checkbox:checked + .cab-check-box {
    background:var(--gold); border-color:var(--gold);
}
.cab-checkbox:checked + .cab-check-box::after { opacity:1; }
.cab-checkbox:focus-visible + .cab-check-box { box-shadow:0 0 0 2px rgba(212,165,74,.4); }

/* ── Cancel subscription confirm ── */
.cab-cancel-confirm {
    margin-top:.8rem; padding:1rem; border-radius:8px;
    background:rgba(192,96,128,.04); border:1px solid rgba(192,96,128,.1);
}
.cab-cancel-text {
    font-size:.82rem; color:var(--text-soft); line-height:1.6; margin-bottom:1rem;
}
.cab-cancel-row {
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    flex-wrap:wrap;
}
.cab-cancel-row .cab-check-label { margin-bottom:0; flex:1 1 auto; min-width:0; }
.cab-cancel-row .cab-btn { flex-shrink:0; }
@media (max-width:520px) {
    .cab-cancel-row { flex-direction:column; align-items:stretch; gap:.8rem; }
    .cab-cancel-row .cab-check-label { justify-content:flex-start; }
    .cab-cancel-row .cab-btn { width:100%; }
}

/* ── Product action button ── */
.cab-btn-link {
    display:inline-block; padding:.35rem .9rem;
    font-size:.75rem; font-weight:500; letter-spacing:.03em;
    color:var(--gold); border:1px solid rgba(212,165,74,.25);
    border-radius:5px; transition:all .3s; white-space:nowrap;
}
.cab-product:hover .cab-btn-link { background:rgba(212,165,74,.1); border-color:rgba(212,165,74,.4); }
.cab-product-action { flex-shrink:0; }

/* ── History items ── */
.cab-history-item {
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:.7rem 0; border-bottom:1px solid rgba(107,63,160,.06);
}
.cab-history-item:last-child { border-bottom:none; }
/* Значок продукта — те же иконки, что на витрине: в списке подряд стоят
   разбор, чат и прогноз, и без значка строки сливаются в одну стену. */
.cab-history-icon {
    flex:0 0 34px; width:34px; height:34px; display:flex; align-items:center;
    justify-content:center; border-radius:10px; color:var(--gold);
    background:rgba(212,165,74,.10); border:1px solid rgba(212,165,74,.20);
}
.cab-history-icon svg { width:18px; height:18px; }
.cab-history-info { flex:1; min-width:0; }
.cab-history-name { font-size:.85rem; color:var(--cream); margin-bottom:.15rem; }
.cab-history-date { font-size:.72rem; color:var(--text-muted); }

/* ── Change password inline ── */
.cab-change-pass { margin-top:.8rem; display:flex; gap:.5rem; flex-wrap:wrap; }
.cab-change-pass .cab-input { flex:1; min-width:150px; margin-bottom:0; }

/* ── Profile actions row ── */
.cab-profile-actions {
    display:flex; gap:.6rem; margin-top:1rem; flex-wrap:wrap;
    justify-content:space-between;
}
.cab-profile-actions .cab-btn { flex:0 0 auto; }
@media (max-width:520px) {
    .cab-profile-actions { flex-direction:column; }
    .cab-profile-actions .cab-btn { width:100%; }
}

/* ── Profile edit fields ── */
.cab-edit-field { margin-bottom:.8rem; }
.cab-edit-field label {
    display:block; font-size:.72rem; color:var(--text-muted);
    letter-spacing:.04em; margin-bottom:.35rem; text-transform:uppercase;
}
.cab-edit-field .cab-input { margin-bottom:0; }

/* ── Responsive ── */
/* Навигация уходит в бургер на 1260px. Замер 13.08.2026: десктопное меню
   переносится на вторую строку уже на 1220px, а с 1250px упирается в логотип.
   Прежние 960/768px оставляли полосу в 250-300px, где шапка была сломана. */
@media(max-width:1260px) {
    .nav-links {
        display:none; position:fixed; top:0; left:0; right:0;
        flex-direction:column; gap:0;
        background:rgba(8,5,16,.98); backdrop-filter:blur(30px);
        padding:3.5rem 1.5rem 1.5rem;
        border-bottom:1px solid rgba(212,165,74,.1); z-index:999;
    }
    .nav-links.open { display:flex; }
    .nav-links li { padding:.7rem 0; border-bottom:1px solid rgba(107,63,160,.08); }
    .nav-links li:last-child { border-bottom:none; }
    .nav-links a { font-size:.9rem; color:var(--cream-muted); }
    .nav-cta { display:block; text-align:center; margin-top:.3rem; }
    .nav-social-desktop { display:none; }
    .nav-social-mobile {
        display:flex; gap:.8rem; justify-content:center;
        padding-top:.5rem; border-top:1px solid rgba(107,63,160,.15); margin-top:.5rem;
    }
    .mobile-toggle {
        display:block; background:none; border:none; cursor:pointer; padding:.5rem; z-index:1001;
    }
    .mobile-toggle span { display:block; width:22px; height:1.5px; background:var(--cream-muted); margin:5px 0; transition:all .3s; }
    /* Иконка личного кабинета в бургере: без черты, по центру, крупнее */
    .nav-links li.nav-auth-icons {
        border-bottom:none;
        display:flex;
        justify-content:center;
        margin-left:0;
        padding:.7rem 0 .2rem;
    }
    .nav-auth-icons .nav-auth-icon { width:auto; height:auto; }
    .nav-auth-icons .nav-auth-icon svg { width:26px; height:26px; }
    /* Убираем сепаратор между "Рассчитать Накшатры" (CTA-кнопка) и иконкой кабинета */
    .nav-links li:has(.nav-cta) { border-bottom:none; }
    /* Сжимаем отступ между иконкой и соц. сетями — сепаратор (border-top) остаётся */
    .nav-social-mobile { margin-top:.2rem; padding-top:.4rem; }
}
@media (max-width:480px) {
    .cab-container { padding:0 1rem; }
    .cab-auth { padding:3.5rem 0 2rem; }
    .cab-dashboard { padding:3.5rem 0 2rem; }
    .cab-header { flex-direction:column; align-items:flex-start; gap:.3rem; }
    .cab-sub-actions { flex-direction:column; }
    .cab-sub-actions .cab-btn-small { width:100%; text-align:center; }
}

/* ── TG WebApp ── */
.tg-webapp .cab-auth { padding:2rem 0; }
.tg-webapp .cab-dashboard { padding:1rem 0; }


/* ── Астролог: строка купленного доступа ── */
.cab-astro-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(207,164,94,.12)}
.cab-astro-row:last-child{border-bottom:none}
.cab-astro-txt{flex:1;min-width:0}
.cab-astro-name{font-size:.95rem;font-weight:600;color:var(--cream);margin-bottom:2px}
.cab-astro-status{font-size:.8rem;color:rgba(242,234,217,.55)}
/* тёмный текст на золотой кнопке — js-rules §9 */
.cab-astro-btn{flex:none;display:inline-flex;align-items:center;padding:10px 18px;border-radius:99px;
  background:linear-gradient(135deg,#e0bd7a,#cfa45e);color:#1a1206 !important;-webkit-text-fill-color:#1a1206;
  font-size:.85rem;font-weight:650;text-decoration:none;white-space:nowrap}
.cab-astro-btn:hover{filter:brightness(1.07);color:#1a1206 !important}
/* ── Астролог: подписка человека (одна на все карты) ──
   Управление подпиской живёт только здесь: до какого числа оплачено, какая
   карта привязана и два РАЗНЫХ действия — выключить продление или удалить карту. */
.cab-astro-sub{padding:14px 16px;margin-bottom:14px;border-radius:14px;
  border:1px solid rgba(207,164,94,.28);background:rgba(207,164,94,.07)}
.cab-astro-sub-title{font-size:.9rem;font-weight:650;color:var(--cream);margin-bottom:4px}
.cab-astro-sub-line{font-size:.82rem;color:rgba(242,234,217,.65)}
.cab-astro-sub-acts{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}
.cab-astro-sub-confirm{margin-top:12px}

@media(max-width:520px){
  .cab-astro-row{flex-direction:column;align-items:stretch;gap:10px}
  .cab-astro-btn{justify-content:center}
  .cab-astro-sub-acts{gap:12px}
}


/* ── Складные блоки в партнёрской программе ──
   «Оплатить с баланса» и история начислений занимали три экрана и отодвигали
   всё остальное. Показываем их по требованию (просьба владельца 21.08.2026). */
.ref-fold { margin:.75rem 0 0; border:1px solid rgba(212,165,74,.18);
    border-radius:12px; background:rgba(255,255,255,.02); overflow:hidden; }
.ref-fold > summary { cursor:pointer; padding:.7rem .9rem; font-size:.86rem;
    color:var(--gold); list-style:none; user-select:none; }
.ref-fold > summary::-webkit-details-marker { display:none; }
.ref-fold > summary::after { content:'▾'; float:right; opacity:.7; transition:transform .2s; }
.ref-fold[open] > summary::after { transform:rotate(180deg); }
.ref-fold__body { padding:0 .9rem .9rem; }
