.ppslws-privacy-banner[hidden], .ppslws-privacy-modal[hidden] { display: none !important; }
.ppslws-privacy-banner {
    position: fixed;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 100000;
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid rgba(48, 38, 70, .16);
    border-radius: 18px;
    background: #fff;
    color: #302646;
    box-shadow: 0 24px 70px rgba(33, 27, 48, .2);
}
.ppslws-privacy-banner-copy { max-width: 720px; }
.ppslws-privacy-banner-copy strong { display: block; margin-bottom: 6px; font-size: 19px; }
.ppslws-privacy-banner-copy p { margin: 0; color: #52606d; font-size: 14px; line-height: 1.55; }
.ppslws-privacy-banner-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.ppslws-privacy-choice,
.ppslws-privacy-link-button {
    appearance: none;
    border: 1px solid #d7d2df;
    border-radius: 12px;
    background: #fff;
    color: #302646;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
    padding: 11px 15px;
}
.ppslws-privacy-choice:hover,
.ppslws-privacy-choice:focus-visible,
.ppslws-privacy-link-button:hover,
.ppslws-privacy-link-button:focus-visible { border-color: #e75c4c; box-shadow: 0 0 0 3px rgba(231,92,76,.12); outline: none; }
.ppslws-privacy-choice:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.ppslws-privacy-banner-actions .ppslws-privacy-choice { min-width: 122px; text-align: center; }
.ppslws-privacy-link-button { border-color: transparent; background: transparent; color: #a83f35; text-decoration: underline; text-underline-offset: 3px; }
.ppslws-privacy-signal { max-width: 900px; }

.ppslws-privacy-modal { position: fixed; inset: 0; z-index: 100100; display: grid; place-items: center; padding: 24px; }
.ppslws-privacy-backdrop { position: absolute; inset: 0; background: rgba(22, 18, 31, .62); }
.ppslws-privacy-dialog {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: min(760px, calc(100vh - 48px));
    overflow: auto;
    padding: 34px;
    border-radius: 22px;
    background: #fff;
    color: #302646;
    box-shadow: 0 30px 90px rgba(0,0,0,.28);
}
.ppslws-privacy-dialog:focus { outline: none; }
.ppslws-privacy-close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f5f2f6; color: #302646; font-size: 25px; cursor: pointer; }
.ppslws-privacy-kicker { margin: 0 0 8px; color: #d44d3e; font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.ppslws-privacy-dialog h2 { margin: 0 44px 12px 0 !important; color: #302646 !important; font-size: clamp(28px, 5vw, 40px) !important; line-height: 1.08 !important; }
.ppslws-privacy-dialog > p { color: #52606d; line-height: 1.65; }
.ppslws-privacy-category { margin-top: 18px; padding: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; border: 1px solid #e7e2ea; border-radius: 15px; background: #fbfafc; }
.ppslws-privacy-category strong { display: block; margin-bottom: 4px; }
.ppslws-privacy-category p { margin: 0; color: #66717e; font-size: 13px; line-height: 1.55; }
.ppslws-privacy-status { white-space: nowrap; padding: 7px 9px; border-radius: 999px; background: #f0edf2; color: #5a5261; font-size: 12px; font-weight: 800; }
.ppslws-privacy-status.is-allowed { background: #e8f5ed; color: #286443; }
.ppslws-privacy-status.is-declined { background: #f2eff3; color: #655c69; }
.ppslws-privacy-status.is-always { background: #edf3ff; color: #304d77; }
.ppslws-privacy-dialog-actions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.ppslws-privacy-policy-link { margin-bottom: 0; font-size: 14px; }
.ppslws-privacy-policy-link a { color: #a83f35; font-weight: 750; }
.ppslws-privacy-signal-note { padding: 12px 14px; border-radius: 12px; background: #fff6dc; color: #6b5520 !important; font-size: 13px; }
body.ppslws-privacy-open { overflow: hidden; }
.ppslws-footer-privacy-button,
.ppslws-inline-privacy-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: none; }
.ppslws-footer-privacy-button:hover,
.ppslws-footer-privacy-button:focus-visible,
.ppslws-inline-privacy-button:hover,
.ppslws-inline-privacy-button:focus-visible { text-decoration: underline; outline: none; }
.ppslws-inline-privacy-button { color: #b74738; font-weight: 700; text-decoration: underline; }
.ppslws-analytics-disclosure ul { padding-left: 1.2em; }
.ppslws-analytics-disclosure li { margin: 9px 0; }

@media (max-width: 760px) {
    .ppslws-privacy-banner { left: 12px; right: 12px; bottom: 12px; padding: 17px; display: block; }
    .ppslws-privacy-banner-actions { margin-top: 14px; justify-content: stretch; }
    .ppslws-privacy-banner-actions .ppslws-privacy-choice { flex: 1 1 calc(50% - 5px); }
    .ppslws-privacy-banner-actions .ppslws-privacy-link-button { flex: 1 0 100%; }
    .ppslws-privacy-dialog { padding: 27px 20px 22px; }
    .ppslws-privacy-category { grid-template-columns: 1fr; gap: 10px; }
    .ppslws-privacy-status { justify-self: start; }
    .ppslws-privacy-dialog-actions .ppslws-privacy-choice { flex: 1 1 100%; }
}
