.generator-tariffs {
    padding: 20px;
    border-color: #d8e7f4;
    background: linear-gradient(180deg, #f8fcff 0%, #f1f7fd 100%);
}

.generator-tariffs__intro h2 {
    margin-top: 7px;
    font-size: 20px;
}

.generator-tariffs__intro p {
    max-width: 480px;
    margin-top: 7px;
    color: #536b80;
    font-size: 12px;
    line-height: 1.5;
}

.generator-tariffs__intro p[hidden] {
    display: none;
}

#standardTariffGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

#standardTariffGrid > .tariff-choice--free,
#standardTariffGrid > .tariff-grid__consent,
#standardTariffGrid > .tariff-grid__divider {
    grid-column: 1 / -1;
}

#standardTariffGrid > .tariff-choice--free {
    margin: 0;
}

#standardTariffGrid > .tariff-choice[hidden],
#standardTariffGrid > .tariff-choice--free[hidden] ~ .tariff-grid__divider {
    display: none;
}

#generatorConsentBlock {
    --consent-indent: 30px;
    min-width: 0;
    padding: 0 2px;
}

.generator-tariffs > #generatorConsentBlock {
    margin-top: 14px;
}

#generatorConsentBlock .consent-line--tariffs {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    white-space: normal;
    line-height: 1.45;
}

#generatorConsentBlock #generatorCheckoutTerms {
    margin: 5px 0 0 var(--consent-indent);
    padding: 0;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 650;
    text-align: left;
    white-space: normal;
}

.tariff-grid__divider {
    margin: 6px 0 0;
    color: #5b7186;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

#standardTariffGrid .tariff-action {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 10px;
    row-gap: 10px;
    align-items: center;
    justify-content: stretch;
    min-height: 172px;
    padding: 14px;
    border-radius: 16px;
    text-align: left;
    font-family: inherit;
    box-shadow: 0 8px 22px rgba(27, 72, 118, .07);
}

#standardTariffGrid .tariff-action--free {
    grid-template-columns: 68px minmax(0, 1fr);
    min-height: 145px;
    padding: 17px;
    border-color: #a8d9ff;
    color: #102a43;
    background: linear-gradient(125deg, #e8f6ff 0%, #f7fcff 62%, #deefff 100%);
    box-shadow: 0 14px 30px rgba(15, 122, 229, .14), inset 0 1px 0 #fff;
}

#standardTariffGrid .tariff-action--week,
#standardTariffGrid .tariff-action--month {
    border: 1px solid #d7e7f5;
    color: #102a43;
    background: #fff;
}

#standardTariffGrid .tariff-action--month {
    background: #f8fbff;
}

#standardTariffGrid .tariff-action:hover:not(:disabled) {
    transform: translateY(-2px);
    border-color: #93c8f7;
    box-shadow: 0 15px 30px rgba(24, 94, 160, .15);
}

#standardTariffGrid .tariff-action:focus-visible {
    outline: 3px solid #7abaf5;
    outline-offset: 3px;
}

#standardTariffGrid .tariff-action__icon {
    grid-column: 1;
    grid-row: 1;
    display: block;
    width: 52px;
    height: 52px;
    object-fit: contain;
}

#standardTariffGrid .tariff-action--free .tariff-action__icon {
    width: 68px;
    height: 68px;
}

#standardTariffGrid .tariff-action__copy {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    opacity: 1;
}

#standardTariffGrid .tariff-action__copy strong {
    color: #102a43;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 900;
}

#standardTariffGrid .tariff-action--free .tariff-action__copy strong {
    font-size: 16px;
}

#standardTariffGrid .tariff-action__copy small {
    color: #60778d;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 650;
}

#standardTariffGrid .tariff-action .tariff-action__cta {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 7px 9px;
    border: 1px solid #c8e2f9;
    border-radius: 10px;
    color: #0b63b1;
    background: #edf7ff;
    font-size: 11px;
    line-height: 1.25;
    font-weight: 850;
    text-align: center;
    opacity: 1;
}

#standardTariffGrid .tariff-action--free .tariff-action__cta {
    min-height: 44px;
    border-color: #0d76d9;
    color: #fff;
    background: linear-gradient(100deg, #147be4, #319af1);
    box-shadow: 0 8px 18px rgba(15, 122, 229, .18);
    font-size: 13px;
}

#standardTariffGrid .tariff-action--week .tariff-action__cta {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-color: #153454;
    color: #fff;
    background: linear-gradient(110deg, #173654 0%, #0e2946 100%);
    box-shadow: 0 7px 15px rgba(16, 43, 70, .16);
}

#standardTariffGrid .tariff-action--week .tariff-action__cta::after {
    position: absolute;
    z-index: -1;
    top: -65%;
    left: -55%;
    width: 38%;
    height: 230%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .25), transparent);
    transform: skewX(-22deg);
    animation: tariff-week-sheen 5s ease-in-out infinite;
    content: "";
    pointer-events: none;
}

@keyframes tariff-week-sheen {
    0%, 64% { left: -55%; }
    84%, 100% { left: 125%; }
}

#standardTariffGrid .tariff-action:disabled {
    transform: none;
    opacity: .65;
    box-shadow: none;
}

#standardTariffGrid .tariff-action:disabled .tariff-action__cta {
    box-shadow: none;
}

#standardTariffGrid .tariffs-legal {
    margin: 7px 0 0;
    color: #6b8093;
    font-size: 10px;
    line-height: 1.3;
    text-align: center;
}

#paywall {
    scroll-margin-top: 88px;
    padding: 20px;
    border-color: #d8e7f4;
    border-radius: 20px;
    background: linear-gradient(180deg, #f8fcff 0%, #f1f7fd 100%);
    box-shadow: 0 12px 30px rgba(27, 72, 118, .08);
}

#paywallText[hidden] {
    display: none;
}

#paywall .paywall-tariffs {
    gap: 10px;
    margin-top: 18px;
}

#paywall .paywall-tariff {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 10px;
    row-gap: 12px;
    align-items: center;
    justify-content: stretch;
    min-height: 164px;
    padding: 16px;
    border: 1px solid #d7e7f5;
    border-radius: 16px;
    color: #102a43;
    background: #fff;
    box-shadow: 0 8px 22px rgba(27, 72, 118, .07);
    font-family: inherit;
    text-align: left;
}

#paywall .paywall-tariff--month {
    border-color: #b7d9f7;
    background: linear-gradient(130deg, #f2f9ff, #e9f5ff);
    box-shadow: 0 10px 24px rgba(15, 122, 229, .1);
}

#paywall .paywall-tariff:hover {
    transform: translateY(-2px);
    border-color: #90c8f5;
    box-shadow: 0 15px 30px rgba(24, 94, 160, .14);
}

#paywall .paywall-tariff:focus-visible {
    outline: 3px solid #7abaf5;
    outline-offset: 3px;
}

#paywall .paywall-tariff__icon {
    grid-column: 1;
    grid-row: 1;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

#paywall .paywall-tariff__copy {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    opacity: 1;
}

#paywall .paywall-tariff__copy strong {
    color: #102a43;
    font-size: 15px;
    line-height: 1.25;
}

#paywall .paywall-tariff__copy small {
    color: #60778d;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 650;
}

#paywall .paywall-tariff .paywall-tariff__cta {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 7px 9px;
    border: 1px solid #153454;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(110deg, #173654, #0e2946);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 850;
    text-align: center;
    opacity: 1;
}

#paywall .paywall-tariff--month .paywall-tariff__cta {
    border-color: #0d76d9;
    background: linear-gradient(100deg, #147be4, #319af1);
    box-shadow: 0 8px 18px rgba(15, 122, 229, .18);
}

@media (max-width: 640px) {
    .generator-tariffs {
        padding: 15px;
    }

    .generator-tariffs__intro h2 {
        white-space: normal;
        line-height: 1.25;
    }

    #generatorConsentBlock {
        --consent-indent: 21px;
    }

    #standardTariffGrid {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
        margin-top: 15px;
    }

    #standardTariffGrid .tariff-action,
    #standardTariffGrid .tariff-action--free {
        min-height: 0;
        padding: 13px;
    }

    #standardTariffGrid .tariff-action--free {
        grid-template-columns: 58px minmax(0, 1fr);
        padding: 15px;
    }

    #standardTariffGrid .tariff-action--free .tariff-action__icon {
        width: 58px;
        height: 58px;
    }

    #standardTariffGrid .tariff-action__cta {
        min-height: 42px;
    }

    #paywall {
        scroll-margin-top: 66px;
        padding: 15px;
    }

    #paywall .paywall-tariffs {
        margin-top: 15px;
    }

    #paywall .paywall-tariff {
        min-height: 0;
        padding: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #standardTariffGrid .tariff-action {
        transition: none;
    }

    #paywall .paywall-tariff {
        transition: none;
    }

    #standardTariffGrid .tariff-action--week .tariff-action__cta::after {
        animation: none;
        display: none;
    }
}

/* A direct catalog exit stays independent of questionnaire validation and checkout. */
#standardTariffGrid > .tariff-choice--ready-program { grid-column:1 / -1; }
#standardTariffGrid .tariff-ready-program-link {
    display:flex; align-items:center; justify-content:center; box-sizing:border-box;
    width:100%; min-height:48px; padding:13px 18px; border:1px solid #153454; border-radius:10px;
    color:#fff; background:linear-gradient(110deg,#173654,#0e2946);
    box-shadow:0 7px 15px rgba(16,43,70,.16); font-family:inherit;
    font-size:13px; line-height:1.3; font-weight:850; text-align:center; text-decoration:none;
    transition:transform .16s ease,box-shadow .16s ease;
}
#standardTariffGrid .tariff-ready-program-link:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(16,43,70,.23); }
#standardTariffGrid .tariff-ready-program-link:focus-visible { outline:3px solid #7abaf5; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { #standardTariffGrid .tariff-ready-program-link { transition:none; } }
