/* pricing-style.css — page-specific styles */
.pricing-card {
        overflow: visible !important;
    }

    .pricing-features-scroll {
        overflow-y: auto;
        overflow-x: visible !important;
    }

    .request-info-item {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .request-text {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .info-tip-wrap {
        display: inline-flex;
        align-items: center;
    }

    .info-tip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        border: 1px solid rgba(255,255,255,0.25);
        border-radius: 50%;
        background: rgba(255,255,255,0.08);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
        transition: all 0.2s ease;
        padding: 0;
    }

    .info-tip:hover {
        transform: translateY(-1px);
        background: rgba(255,255,255,0.14);
        border-color: rgba(255,255,255,0.42);
    }

    .request-tooltip {
        position: fixed;
        top: 0;
        left: 0;
        width: 320px;
        max-width: calc(100vw - 20px);
        background: rgba(8, 18, 28, 0.97);
        border: 1px solid rgba(255,255,255,0.14);
        border-radius: 16px;
        padding: 14px 14px 12px;
        box-shadow: 0 25px 60px rgba(0,0,0,0.5);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        color: #eef7fb;
        z-index: 2147483647;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    }

    .request-tooltip.show {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .request-tooltip::before {
        content: "";
        position: absolute;
        width: 14px;
        height: 14px;
        background: rgba(8, 18, 28, 0.97);
        transform: translateX(-50%) rotate(45deg);
    }

    .request-tooltip.place-bottom {
        transform: translateY(8px);
    }

    .request-tooltip.place-bottom.show {
        transform: translateY(0);
    }

    .request-tooltip.place-bottom::before {
        top: -7px;
        left: var(--arrow-left, 50%);
        border-left: 1px solid rgba(255,255,255,0.14);
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .request-tooltip.place-top {
        transform: translateY(-8px);
    }

    .request-tooltip.place-top.show {
        transform: translateY(0);
    }

    .request-tooltip.place-top::before {
        bottom: -7px;
        left: var(--arrow-left, 50%);
        border-right: 1px solid rgba(255,255,255,0.14);
        border-bottom: 1px solid rgba(255,255,255,0.14);
    }

    .request-tooltip h4 {
        margin: 0 0 10px;
        font-size: 14px;
        font-weight: 700;
        color: #ffffff;
    }

    .request-tooltip .tooltip-note {
        margin: 0 0 10px;
        font-size: 12.5px;
        line-height: 1.5;
        color: rgba(255,255,255,0.85);
    }

    .request-tooltip .tooltip-group {
        margin-bottom: 10px;
    }

    .request-tooltip .tooltip-label {
        display: block;
        margin-bottom: 6px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #7ce4df;
    }

    .request-tooltip ul {
        margin: 0;
        padding-left: 18px;
    }

    .request-tooltip li {
        margin: 0 0 5px;
        font-size: 12.5px;
        line-height: 1.45;
        color: rgba(255,255,255,0.9);
    }

    .request-tooltip .tooltip-extra {
        margin: 8px 0 0;
        padding-top: 10px;
        border-top: 1px solid rgba(255,255,255,0.1);
        font-size: 12.5px;
        line-height: 1.5;
        color: #ffffff;
    }

    /* ── Billing Toggle ── */
    .billing-toggle-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 0 0 36px;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.12);
        border-radius: 999px;
        padding: 5px;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }

    .billing-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 22px;
        border-radius: 999px;
        border: none;
        background: transparent;
        color: rgba(255,255,255,0.5);
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.25s ease;
        white-space: nowrap;
    }

    .billing-pill:hover {
        color: rgba(255,255,255,0.85);
    }

    .billing-pill.active {
        background: rgba(124,228,223,0.15);
        border: 1px solid rgba(124,228,223,0.35);
        color: #ffffff;
        box-shadow: 0 2px 12px rgba(124,228,223,0.15);
    }

    .billing-badge {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        background: rgba(124,228,223,0.15);
        border: 1px solid rgba(124,228,223,0.3);
        color: #7ce4df;
        border-radius: 999px;
        padding: 3px 10px;
        white-space: nowrap;
    }

    /* ── Grid visibility ── */
    .pricing-grid-monthly,
    .pricing-grid-onetime {
        display: none;
        contents: unset;
    }

    .pricing-grid-monthly.active,
    .pricing-grid-onetime.active {
        display: contents;
    }

    /* ── One-time footnote ── */
    .pricing-footnote-onetime {
        display: none;
    }

    .pricing-footnote-onetime.active {
        display: block;
    }

    .pricing-footnote-monthly {
        display: block;
    }

    .pricing-footnote-monthly.hidden {
        display: none;
    }


        
    

    /* Performance tuning */
    .request-tooltip {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        box-shadow: 0 16px 34px rgba(0,0,0,0.32);
    }

    .pricing-card,
    .pricing-panel,
    .pricing-tier,
    .pricing-table,
    .pricing-grid {
        will-change: auto;
    }

    main > section,
    .pricing-section,
    .pricing-wrap {
        content-visibility: auto;
        contain-intrinsic-size: 900px;
    }

    @media (prefers-reduced-motion: reduce) {
        *, *::before, *::after {
            animation: none !important;
            transition-duration: 0.01ms !important;
            scroll-behavior: auto !important;
        }
    }