/* ResvBAR — mobile bottom sheets (cookies · PWA · push) — مصدر واحد */

@media (max-width: 767.98px) {
    .rv-cc-bar,
    .rv-pwa-bar,
    .rv-push-bar {
        padding: 0;
    }

    .rv-cc-bar__surface,
    .rv-pwa-bar__surface,
    .rv-push-bar__surface {
        max-width: none;
        margin: 0;
        border-radius: 22px 22px 0 0;
        border-inline: none;
        border-bottom: none;
        box-shadow:
            0 -1px 0 rgba(1, 48, 95, 0.06),
            0 -8px 32px rgba(1, 48, 95, 0.1),
            0 -24px 64px rgba(15, 23, 42, 0.08);
    }

    .rv-cc-bar__surface::before,
    .rv-pwa-bar__surface::before,
    .rv-push-bar__surface::before {
        height: 4px;
        border-radius: 22px 22px 0 0;
    }

    .rv-cc-bar__inner,
    .rv-pwa-bar__inner,
    .rv-push-bar__inner {
        position: relative;
        flex-direction: column;
        align-items: stretch;
        gap: 0.875rem;
        padding: 0.625rem 1rem 1rem;
        padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    }

    .rv-cc-bar__inner {
        gap: 1.25rem;
        padding: 0.5rem 1.25rem 1.375rem;
        padding-bottom: calc(1.375rem + env(safe-area-inset-bottom, 0px));
    }

    .rv-cc-bar__inner::before,
    .rv-pwa-bar__inner::before,
    .rv-push-bar__inner::before {
        content: '';
        display: block;
        width: 2.25rem;
        height: 0.25rem;
        margin: 0.125rem auto 0.375rem;
        border-radius: 999px;
        background: #e2e8f0;
    }

    .rv-cc-bar__inner::before {
        width: 2.5rem;
        margin: 0.375rem auto 0.625rem;
    }

    .rv-cc-bar__copy,
    .rv-pwa-bar__copy,
    .rv-push-bar__copy {
        align-items: flex-start;
        gap: 0.75rem;
    }

    .rv-cc-bar__copy {
        gap: 0.875rem;
    }

    .rv-cc-bar__icon,
    .rv-pwa-bar__icon,
    .rv-push-bar__icon {
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 14px;
        font-size: 1.125rem;
    }

    .rv-cc-bar__text,
    .rv-pwa-bar__text,
    .rv-push-bar__text {
        font-size: 0.8125rem;
        line-height: 1.55;
    }

    .rv-cc-bar__title,
    .rv-pwa-bar__title,
    .rv-push-bar__title {
        display: block;
        font-size: 1rem;
        line-height: 1.35;
        margin-bottom: 0.25rem;
    }

    .rv-cc-bar__title {
        font-size: 1.0625rem;
        line-height: 1.4;
        margin-bottom: 0.5rem;
    }

    .rv-cc-bar__desc,
    .rv-pwa-bar__desc,
    .rv-push-bar__desc {
        display: block;
        color: #64748b;
    }

    .rv-cc-bar__desc {
        line-height: 1.65;
    }

    .rv-cc-bar__more {
        display: block;
        margin-top: 0.75rem;
        margin-inline-start: 0;
        font-size: 0.8125rem;
        font-weight: 700;
        color: #0089bf;
        text-decoration: none;
    }

    .rv-cc-bar__more:hover {
        text-decoration: underline;
    }

    .rv-cc-bar__actions,
    .rv-pwa-bar__actions,
    .rv-push-bar__actions {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        width: 100%;
    }

    .rv-cc-bar__actions {
        gap: 0.625rem;
        padding-top: 1rem;
        margin-top: 0.125rem;
        border-top: 1px solid #f1f5f9;
    }

    .rv-cc-bar__actions .rv-cc-btn--primary,
    .rv-cc-bar__actions .rv-cc-btn--muted {
        width: 100%;
        min-width: 0;
    }

    .rv-cc-bar__actions .rv-cc-btn--link {
        align-self: center;
        min-height: auto;
        margin-top: 0.375rem;
        padding-block: 0.375rem;
        font-size: 0.8125rem;
    }

    .rv-cc-btn,
    .rv-pwa-bar__actions .rv-cc-btn,
    .rv-push-bar__actions .rv-cc-btn {
        min-height: 48px;
        border-radius: 12px;
        font-size: 0.9375rem;
        font-weight: 700;
        white-space: normal;
    }

    .rv-cc-btn--primary {
        min-width: 0;
        width: 100%;
        box-shadow: 0 6px 18px rgba(1, 48, 95, 0.22);
    }

    .rv-pwa-bar__actions .rv-cc-btn--primary,
    .rv-push-bar__actions .rv-cc-btn--primary {
        width: 100%;
    }

    .rv-pwa-bar__actions .rv-cc-btn--muted,
    .rv-push-bar__actions .rv-cc-btn--muted {
        width: 100%;
        background: transparent;
        border: none;
        color: #64748b;
        min-height: 44px;
        box-shadow: none;
    }

    .rv-pwa-bar__actions .rv-cc-btn--muted:active,
    .rv-push-bar__actions .rv-cc-btn--muted:active {
        background: #f8fafc;
    }

    .rv-cc-bar__actions .rv-cc-btn--muted {
        min-height: 48px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
    }

    .rv-cc-bar__actions .rv-cc-btn--muted:active {
        background: #f1f5f9;
    }

    .rv-pwa-install-guide {
        margin: 0 1rem 0.75rem;
        margin-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
        padding: 0.75rem 0.875rem;
        border-radius: 12px;
        font-size: 0.8125rem;
        line-height: 1.6;
    }

    body.rv-cc-bar-open {
        padding-bottom: calc(220px + env(safe-area-inset-bottom, 0px));
    }

    body.rv-pwa-bar-open {
        padding-bottom: calc(132px + env(safe-area-inset-bottom, 0px));
    }

    body.rv-push-bar-open {
        padding-bottom: calc(132px + env(safe-area-inset-bottom, 0px));
    }

    body.rv-cc-bar-open.rv-pwa-bar-open,
    body.rv-cc-bar-open.rv-push-bar-open {
        padding-bottom: calc(220px + env(safe-area-inset-bottom, 0px));
    }

    body.rv-cc-bar-open .rv-pwa-bar.is-visible,
    body.rv-cc-bar-open .rv-push-bar.is-visible {
        bottom: calc(216px + env(safe-area-inset-bottom, 0px));
    }

    body.rv-cc-bar-open.rv-pwa-bar-open .rv-push-bar.is-visible {
        bottom: calc(336px + env(safe-area-inset-bottom, 0px));
    }

    .rv-cc-modal {
        align-items: flex-end;
        padding: 0;
    }

    .rv-cc-modal__dialog {
        max-width: none;
        border-radius: 22px 22px 0 0;
        max-height: min(88vh, 520px);
        overflow-y: auto;
    }

    .rv-cc-modal__head {
        position: sticky;
        top: 0;
        z-index: 1;
        background: #fff;
        padding-top: 0.75rem;
    }

    .rv-cc-modal__head::before {
        content: '';
        display: block;
        width: 2.25rem;
        height: 0.25rem;
        margin: 0 auto 0.625rem;
        border-radius: 999px;
        background: #e2e8f0;
    }

    .rv-cc-modal__foot {
        position: sticky;
        bottom: 0;
        background: #fff;
        padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .rv-cc-bar,
    .rv-pwa-bar,
    .rv-push-bar {
        transition: none;
    }
}
