/* Samolet aviation theme. Loaded last for public pages. */

:root {
    --bg: #07111f;
    --bg-soft: #0a1728;
    --panel: rgba(9, 21, 36, 0.88);
    --panel-2: rgba(12, 29, 49, 0.92);
    --panel-strong: rgba(15, 37, 63, 0.96);
    --text: #f7fbff;
    --muted: #a9bdd2;
    --line: rgba(161, 201, 232, 0.18);
    --line-soft: rgba(161, 201, 232, 0.09);
    --yellow: #ffd166;
    --yellow-soft: #ffe7a8;
    --sky: #63c7ff;
    --sky-soft: #bdeaff;
    --runway: #ff9f1c;
    --radius: 18px;
    --radius-sm: 10px;
    --shadow: 0 28px 90px rgba(0, 18, 43, 0.56);
}

body:not(.admin-body),
.pay-body {
    color: var(--text);
    background:
        radial-gradient(900px 520px at 18% -8%, rgba(99, 199, 255, 0.22), transparent 60%),
        radial-gradient(760px 440px at 90% 8%, rgba(255, 209, 102, 0.18), transparent 58%),
        radial-gradient(560px 360px at 16% 90%, rgba(81, 132, 255, 0.16), transparent 62%),
        linear-gradient(180deg, #07111f 0%, #09192c 44%, #050b15 100%);
}

body:not(.admin-body)::before,
.pay-body::before {
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.55) 0 1px, transparent 1.6px),
        radial-gradient(circle at 72% 22%, rgba(255, 255, 255, 0.42) 0 1px, transparent 1.6px),
        radial-gradient(circle at 32% 74%, rgba(255, 255, 255, 0.34) 0 1px, transparent 1.6px),
        linear-gradient(110deg, transparent 0 48%, rgba(189, 234, 255, 0.12) 49%, transparent 50% 100%);
    background-size: 260px 220px, 310px 260px, 240px 280px, 180px 180px;
    mask-image: none;
    opacity: 0.5;
}

body:not(.admin-body)::after,
.pay-body::after {
    background:
        radial-gradient(420px 220px at 30% 16%, rgba(189, 234, 255, 0.08), transparent 65%),
        linear-gradient(125deg, transparent 0 16%, rgba(99, 199, 255, 0.12) 16.2%, transparent 16.8% 100%),
        linear-gradient(155deg, transparent 0 62%, rgba(255, 209, 102, 0.13) 62.2%, transparent 62.8% 100%);
}

.pay-header,
.site-header {
    background: rgba(5, 15, 28, 0.76) !important;
    border-bottom: 1px solid rgba(161, 201, 232, 0.18) !important;
    box-shadow: 0 14px 40px rgba(0, 17, 38, 0.2);
}

.pay-header__logo img,
.logo img {
    border-radius: 14px !important;
    border: 1px solid rgba(189, 234, 255, 0.28) !important;
    box-shadow: 0 12px 30px rgba(99, 199, 255, 0.12);
}

.pay-header__brand,
.logo-text strong {
    color: #ffffff !important;
}

.logo-text small,
.pay-header__login,
.desktop-nav a,
.home-nav a {
    color: var(--muted) !important;
}

body:not(.admin-body) .pay-header__login,
body:not(.admin-body) .home-header-cta,
body:not(.admin-body) .header-cta,
body:not(.admin-body) .btn,
body:not(.admin-body) .pay-btn,
body:not(.admin-body) .home-hero__secondary {
    border-radius: 10px !important;
}

body:not(.admin-body) .pay-header__login,
body:not(.admin-body) .btn-ghost,
body:not(.admin-body) .home-hero__secondary {
    border: 1px solid rgba(161, 201, 232, 0.22) !important;
    background: rgba(255, 255, 255, 0.045) !important;
}

body:not(.admin-body) .btn-primary,
body:not(.admin-body) .pay-btn,
body:not(.admin-body) .home-header-cta {
    color: #07111f !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.38), transparent 34%),
        linear-gradient(135deg, #ffe8a8 0%, #ffd166 48%, #ff9f1c 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.56),
        0 16px 34px rgba(255, 159, 28, 0.22) !important;
}

body:not(.admin-body) .pay-badge,
body:not(.admin-body) .section-kicker,
body:not(.admin-body) .pay-card__eyebrow,
body:not(.admin-body) .pay-plan-info__label,
body:not(.admin-body) .home-price-card__badge,
body:not(.admin-body) .account-card-badge {
    color: var(--sky-soft) !important;
    border-color: rgba(99, 199, 255, 0.28) !important;
    background: rgba(99, 199, 255, 0.10) !important;
    letter-spacing: 0.08em;
}

.home-hero {
    min-height: calc(100svh - 64px);
    display: grid;
    align-items: center;
    padding: clamp(72px, 9vw, 118px) 0 clamp(58px, 7vw, 82px) !important;
}

.home-hero::before {
    background:
        radial-gradient(ellipse 62% 46% at 50% 10%, rgba(99, 199, 255, 0.2), transparent 70%),
        linear-gradient(170deg, transparent 0 45%, rgba(189, 234, 255, 0.16) 45.3%, transparent 46.2% 100%) !important;
}

.home-hero__inner,
.pay-left__inner {
    position: relative;
}

.home-hero__inner::before,
.pay-left__inner::before {
    content: "";
    position: absolute;
    width: clamp(138px, 20vw, 230px);
    height: clamp(138px, 20vw, 230px);
    top: clamp(-70px, -7vw, -36px);
    right: min(-8vw, -34px);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(255, 209, 102, 0.22), transparent 64%),
        conic-gradient(from 225deg, transparent 0 22%, rgba(99, 199, 255, 0.34) 22% 23%, transparent 23% 100%);
    opacity: 0.95;
    pointer-events: none;
}

.home-hero__inner::after,
.pay-left__inner::after {
    content: "";
    position: absolute;
    width: 88px;
    height: 88px;
    top: clamp(-28px, -2vw, 4px);
    right: min(1vw, 10px);
    background: var(--yellow);
    clip-path: polygon(6% 54%, 96% 13%, 66% 86%, 51% 59%, 25% 72%);
    filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.26));
    transform: rotate(-8deg);
    pointer-events: none;
}

.home-hero__title,
.pay-title {
    letter-spacing: 0 !important;
    text-wrap: balance;
    text-shadow: 0 18px 50px rgba(0, 17, 38, 0.46);
}

.home-hero__accent,
.pay-title__accent {
    background: linear-gradient(135deg, #bdeaff 0%, #ffffff 30%, #ffd166 72%, #ff9f1c 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}

.home-hero__sub,
.pay-subtitle,
.home-section__sub,
body:not(.admin-body) .account-note,
body:not(.admin-body) .section-subtitle,
body:not(.admin-body) .legal-content p {
    color: var(--muted) !important;
}

.home-hero__offer {
    border-radius: 12px !important;
    border: 1px dashed rgba(255, 209, 102, 0.42) !important;
    background:
        linear-gradient(90deg, rgba(255, 209, 102, 0.15), rgba(99, 199, 255, 0.08)) !important;
    box-shadow: 0 16px 44px rgba(0, 17, 38, 0.22);
}

.home-hero__trust {
    border-top: 1px dashed rgba(161, 201, 232, 0.24) !important;
}

.pay-main {
    position: relative;
}

.pay-main::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(118deg, transparent 0 28%, rgba(99, 199, 255, 0.13) 28.2%, transparent 28.8% 100%),
        radial-gradient(520px 260px at 76% 48%, rgba(255, 209, 102, 0.12), transparent 68%);
}

.pay-grid,
.home-container,
.container {
    position: relative;
}

.pay-card,
.home-price-card,
.home-feature,
.home-step,
body:not(.admin-body) .account-card,
body:not(.admin-body) .card,
body:not(.admin-body) .legal-content,
.order-device-section,
.order-result-card,
.order-hero-v2,
.checkout-card {
    border-color: rgba(161, 201, 232, 0.18) !important;
    background:
        linear-gradient(150deg, rgba(17, 43, 72, 0.92), rgba(7, 17, 31, 0.86)) !important;
    box-shadow: 0 24px 70px rgba(0, 17, 38, 0.38) !important;
}

.pay-card,
.home-price-card {
    border-radius: 14px !important;
}

.pay-card::before,
.home-price-card::before {
    content: "";
    position: absolute;
    inset: 12px auto 12px 62%;
    width: 1px;
    border-left: 1px dashed rgba(255, 209, 102, 0.32);
    background: none !important;
    pointer-events: none;
}

.pay-card::after,
.home-price-card::after {
    content: "BOARDING";
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 5px 8px;
    border: 1px solid rgba(255, 209, 102, 0.24);
    border-radius: 8px;
    color: rgba(255, 209, 102, 0.72);
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    transform: rotate(3deg);
}

.pay-card__title,
.home-section__title,
.home-feature__title,
.home-step strong,
.home-final__title,
body:not(.admin-body) .account-card h2,
body:not(.admin-body) .legal-content h1,
body:not(.admin-body) .legal-content h2,
body:not(.admin-body) .order-hero-copy h1 {
    color: #ffffff !important;
}

.pay-plan-info,
.pay-tab,
.pay-input,
.pay-consent,
.pay-modal__dialog,
.order-qr-card,
.order-device-panel,
body:not(.admin-body) .account-access-card,
body:not(.admin-body) .account-auth-point,
body:not(.admin-body) .tariff-card {
    border-color: rgba(161, 201, 232, 0.18) !important;
    background: rgba(255, 255, 255, 0.045) !important;
}

.pay-input:focus {
    border-color: rgba(99, 199, 255, 0.7) !important;
    box-shadow: 0 0 0 4px rgba(99, 199, 255, 0.12);
}

.pay-tab--active,
.home-price-card--popular,
.home-price-card:hover {
    border-color: rgba(255, 209, 102, 0.62) !important;
    box-shadow: 0 22px 60px rgba(255, 159, 28, 0.14) !important;
}

.pay-tab__price,
.pay-plan-info__price,
.home-price-card__pricing strong,
.home-hero__offer strong {
    color: var(--yellow) !important;
}

.home-section--alt {
    border-color: rgba(161, 201, 232, 0.12) !important;
    background:
        linear-gradient(180deg, rgba(99, 199, 255, 0.045), rgba(255, 255, 255, 0.012)) !important;
}

.home-features,
.home-pricing,
.home-steps {
    position: relative;
}

.home-feature__icon,
.home-step__num,
.pay-feature__check,
.order-lifecycle-dot {
    color: var(--sky-soft) !important;
    border-color: rgba(99, 199, 255, 0.28) !important;
    background: rgba(99, 199, 255, 0.12) !important;
}

.home-feature:hover {
    border-color: rgba(99, 199, 255, 0.42) !important;
}

.home-price-card__cta {
    color: #07111f !important;
    background: linear-gradient(135deg, #ffe8a8, #ffd166 62%, #ff9f1c) !important;
    border-radius: 10px !important;
}

.home-final {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(125deg, rgba(99, 199, 255, 0.10), rgba(255, 209, 102, 0.10)),
        radial-gradient(620px 260px at 50% 0%, rgba(255, 209, 102, 0.18), transparent 70%) !important;
}

.home-final::after {
    content: "";
    position: absolute;
    right: clamp(24px, 12vw, 180px);
    bottom: 24px;
    width: 126px;
    height: 126px;
    background: rgba(255, 209, 102, 0.9);
    clip-path: polygon(6% 54%, 96% 13%, 66% 86%, 51% 59%, 25% 72%);
    opacity: 0.24;
    transform: rotate(-12deg);
}

.site-footer,
.pay-footer {
    background: rgba(5, 15, 28, 0.54) !important;
    border-top: 1px solid rgba(161, 201, 232, 0.14) !important;
}

.footer-badges span,
.checkout-payment-method {
    border-color: rgba(99, 199, 255, 0.2) !important;
    background: rgba(99, 199, 255, 0.08) !important;
}

.legal-content {
    padding: clamp(22px, 4vw, 42px);
    border-radius: 18px;
}

.legal-requisites,
.legal-table th,
.legal-table td {
    border-color: rgba(161, 201, 232, 0.18) !important;
}

.order-hero-v2 {
    overflow: hidden;
}

.order-hero-v2::after,
body:not(.admin-body) .account-dashboard-hero::after,
body:not(.admin-body) .account-auth-aside::after {
    content: "";
    position: absolute;
    width: 88px;
    height: 88px;
    right: 24px;
    top: 24px;
    background: rgba(255, 209, 102, 0.65);
    clip-path: polygon(6% 54%, 96% 13%, 66% 86%, 51% 59%, 25% 72%);
    opacity: 0.18;
    transform: rotate(-10deg);
    pointer-events: none;
}

body:not(.admin-body) .account-dashboard-hero,
body:not(.admin-body) .account-auth-aside {
    position: relative;
    overflow: hidden;
}

.order-status,
body:not(.admin-body) .account-status-pill {
    border-radius: 8px !important;
}

body:not(.admin-body) .account-table-wrap {
    border-color: rgba(161, 201, 232, 0.18) !important;
}

@media (max-width: 960px) {
    .home-hero__inner::before,
    .pay-left__inner::before,
    .home-hero__inner::after,
    .pay-left__inner::after {
        display: none;
    }

    .pay-main::before {
        opacity: 0.55;
    }

    .pay-card::before,
    .home-price-card::before,
    .pay-card::after,
    .home-price-card::after {
        display: none;
    }
}

@media (max-width: 720px) {
    .home-hero {
        min-height: auto;
        padding-top: 54px !important;
    }

    .pay-card,
    .home-price-card,
    body:not(.admin-body) .account-card,
    body:not(.admin-body) .card,
    body:not(.admin-body) .legal-content {
        border-radius: 14px !important;
    }

    .home-hero__actions,
    .pay-footer__inner {
        gap: 10px;
    }
}
