/* Изолированные стили баннера ПДн; префикс fz152-consent__ */

.fz152-consent {
    position: fixed;
    inset: 0;
    z-index: 100050;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 1rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
    pointer-events: none;
}

.fz152-consent * {
    box-sizing: border-box;
}

.fz152-consent--hidden {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.fz152-consent--hidden .fz152-consent__backdrop,
.fz152-consent--hidden .fz152-consent__panel {
    opacity: 0;
}

@media (prefers-reduced-motion: no-preference) {
    .fz152-consent:not(.fz152-consent--hidden) .fz152-consent__backdrop,
    .fz152-consent:not(.fz152-consent--hidden) .fz152-consent__panel {
        animation: fz152-consent-in 0.28s ease-out forwards;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fz152-consent:not(.fz152-consent--hidden) .fz152-consent__backdrop,
    .fz152-consent:not(.fz152-consent--hidden) .fz152-consent__panel {
        opacity: 1;
    }
}

@keyframes fz152-consent-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fz152-consent__backdrop {
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 55%);
    pointer-events: auto;
    cursor: pointer;
    opacity: 0;
}

.fz152-consent__panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 32rem;
    margin-bottom: env(safe-area-inset-bottom, 0px);
    padding: 1.25rem 1.35rem;
    border-radius: 0.75rem;
    background: hsl(184deg 93% 17%);
    color: #f4fafb;
    box-shadow: 0 0.5rem 2rem rgb(0 0 0 / 35%);
    pointer-events: auto;
    opacity: 0;
}

@media (min-width: 48rem) {
    .fz152-consent {
        align-items: center;
        padding-bottom: 1.5rem;
    }

    .fz152-consent__panel {
        max-width: 28rem;
        margin-bottom: 0;
    }
}

.fz152-consent__title {
    margin: 0 0 0.65rem;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
    font-family: Rubik, system-ui, sans-serif;
}

.fz152-consent__text {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: rgb(255 255 255 / 88%);
    font-family: Overpass, system-ui, sans-serif;
}

.fz152-consent__link {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.fz152-consent__link:hover {
    opacity: 0.9;
}

.fz152-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fz152-consent__btn {
    flex: 1 1 auto;
    min-width: 7.5rem;
    padding: 0.55rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: Rubik, system-ui, sans-serif;
    cursor: pointer;
    border: 2px solid transparent;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
    .fz152-consent__btn {
        transition: none;
    }
}

.fz152-consent__btn:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.fz152-consent__btn--primary {
    background: #e11e25;
    color: #fff;
    border-color: #e11e25;
}

.fz152-consent__btn--primary:hover {
    opacity: 0.92;
}

.fz152-consent__btn--outline {
    background: transparent;
    color: #fff;
    border-color: rgb(255 255 255 / 45%);
}

.fz152-consent__btn--outline:hover {
    background: rgb(255 255 255 / 10%);
}

.fz152-consent:not(.fz152-consent--hidden) {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
