/* ===== Holidey compact cookie consent ===== */
.holidey-cookie-banner[hidden],
.cookie-floating-control[hidden] { display: none !important; }

.holidey-cookie-banner {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 1090;
    width: min(570px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px 15px;
    padding: 17px 18px 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 7% 10%, rgba(255, 101, 24, .68), transparent 31%),
        radial-gradient(circle at 100% 100%, rgba(18, 101, 166, .36), transparent 40%),
        linear-gradient(135deg, #071a2f 0%, #0b2442 48%, #123f68 100%);
    box-shadow: 0 24px 70px rgba(4, 21, 40, .38);
    backdrop-filter: blur(15px);
}

.holidey-cookie-banner::after {
    content: '';
    position: absolute;
    inset: auto -55px -80px auto;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(255, 106, 26, .13);
    pointer-events: none;
}

.cookie-banner-icon,
.cookie-settings-mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #ff7a24, #ee4f05);
    box-shadow: 0 10px 24px rgba(255, 91, 15, .32);
    flex: 0 0 auto;
}

.cookie-banner-icon { font-size: 1.18rem; }
.cookie-banner-copy { padding-right: 24px; }
.cookie-banner-copy strong { display: block; margin: 1px 0 4px; font: 800 1.08rem/1.2 Manrope, sans-serif; color: #fff; }
.cookie-banner-copy p { margin: 0; color: #c8d7e5; font-size: .84rem; line-height: 1.48; }
.cookie-banner-copy a { display: inline-block; margin-top: 4px; color: #ffad7e; font-size: .79rem; font-weight: 800; text-decoration: none; }
.cookie-banner-copy a:hover { color: #fff; text-decoration: underline; }

.cookie-banner-options {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 2px 0 0;
}

.cookie-inline-check {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 10px;
    color: #e8f1f8;
    background: rgba(255, 255, 255, .07);
    font-size: .76rem;
    font-weight: 750;
    cursor: pointer;
    user-select: none;
}
.cookie-inline-check:hover { border-color: rgba(255, 166, 115, .55); background: rgba(255, 255, 255, .11); }
.cookie-inline-check.is-required { color: #b9c9d8; cursor: default; }
.cookie-inline-check .form-check-input,
.cookie-checkbox-box .form-check-input {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 4px;
    background-color: transparent;
    cursor: pointer;
    box-shadow: none;
}
.cookie-inline-check .form-check-input:checked,
.cookie-checkbox-box .form-check-input:checked {
    border-color: #ff6a1a;
    background-color: #ff6a1a;
}
.cookie-inline-check .form-check-input:disabled,
.cookie-checkbox-box .form-check-input:disabled {
    opacity: 1;
    border-color: #43b79a;
    background-color: #147d64;
}

.cookie-banner-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
}

.cookie-btn-primary,
.cookie-btn-secondary {
    min-height: 38px;
    border-radius: 999px;
    padding: .52rem .95rem;
    font-weight: 800;
    font-size: .79rem;
}
.cookie-btn-primary { color: #fff; border-color: #ff6418; background: linear-gradient(135deg, #ff7522, #f04d05); box-shadow: 0 8px 18px rgba(255, 91, 15, .22); }
.cookie-btn-primary:hover, .cookie-btn-primary:focus { color: #fff; border-color: #ff7a29; background: linear-gradient(135deg, #ff8539, #f75b13); }
.cookie-btn-secondary { color: #e8f3fb; border-color: rgba(255, 255, 255, .20); background: rgba(255, 255, 255, .09); }
.cookie-btn-secondary:hover, .cookie-btn-secondary:focus { color: #fff; border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .14); }
.cookie-text-action { border: 0; padding: 7px 4px; color: #ffad7e; background: transparent; font-size: .79rem; font-weight: 800; }
.cookie-text-action:hover { color: #fff; text-decoration: underline; }
.cookie-text-action.light { color: #bcd0e1; }

.cookie-banner-minimize {
    position: absolute;
    top: 9px;
    right: 9px;
    z-index: 2;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    color: #c4d4e2;
    background: rgba(255, 255, 255, .06);
    font-size: .95rem;
}
.cookie-banner-minimize:hover { color: #fff; background: rgba(255, 255, 255, .14); }

.cookie-floating-control {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 1105;
    display: inline-flex;
    align-items: flex-start;
}
.cookie-fab {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(145deg, #ff6a1a 0%, #c94709 40%, #0b3155 100%);
    box-shadow: 0 14px 34px rgba(7, 31, 61, .35);
    font-size: 1.15rem;
    transition: transform .2s ease, filter .2s ease;
}
.cookie-fab:hover { transform: translateY(-2px) scale(1.03); filter: brightness(1.08); }
.cookie-fab-close {
    width: 20px;
    height: 20px;
    margin: -6px 0 0 -8px;
    border: 2px solid #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #66798c;
    box-shadow: 0 4px 10px rgba(8, 35, 64, .20);
    font-size: .72rem;
    line-height: 1;
}
.cookie-fab-close:hover { background: #c83a1d; }

/* Settings modal keeps the same dark orange/blue language as the compact card. */
.cookie-settings-modal .modal-dialog { max-width: 620px; }
.cookie-settings-modal .modal-content {
    max-height: min(700px, calc(100vh - 32px));
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 8% 5%, rgba(255, 106, 26, .42), transparent 27%),
        linear-gradient(145deg, #071a2f 0%, #0b2f51 62%, #124c6f 100%);
    box-shadow: 0 30px 90px rgba(3, 18, 34, .45);
}
.cookie-settings-modal .modal-header { padding: 17px 20px 14px; border-bottom: 1px solid rgba(255, 255, 255, .10); }
.cookie-settings-modal .modal-body { padding: 16px 20px; overflow-y: auto; }
.cookie-settings-modal .modal-footer { padding: 13px 20px 16px; border-top: 1px solid rgba(255, 255, 255, .10); }
.cookie-settings-heading { display: flex; align-items: center; gap: 11px; }
.cookie-settings-heading .eyebrow { color: #ffb184; font-size: .64rem; letter-spacing: .12em; }
.cookie-settings-heading .modal-title { margin: 1px 0 0; font: 800 1.28rem/1.15 Manrope, sans-serif; color: #fff; }
.cookie-settings-mark { width: 37px; height: 37px; border-radius: 11px; }
.cookie-settings-intro { margin: 0 0 13px; color: #c4d5e4; font-size: .83rem; line-height: 1.5; }

.cookie-choice-list { display: grid; gap: 8px; }
.cookie-choice { overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); border-radius: 15px; background: rgba(255, 255, 255, .055); }
.cookie-choice.is-required { background: rgba(20, 125, 100, .12); }
.cookie-choice-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 0; }
.cookie-choice-main {
    min-width: 0;
    min-height: 63px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 0 10px 12px;
    border: 0;
    background: transparent;
    text-align: left;
    color: #fff;
}
.cookie-choice-main:hover { background: rgba(255, 255, 255, .04); }
.cookie-choice-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #ffb184;
    background: rgba(255, 106, 26, .14);
}
.cookie-choice-title { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cookie-choice-title strong { color: #fff; font-size: .88rem; }
.cookie-choice-title small { color: #aec3d5; font-size: .73rem; line-height: 1.3; }
.cookie-choice-chevron { color: #8fa8bd; transition: transform .2s ease; }
.cookie-choice-main[aria-expanded="true"] .cookie-choice-chevron { transform: rotate(180deg); }
.cookie-choice-detail { padding: 0 13px 12px 56px; color: #b5c8d8; font-size: .76rem; line-height: 1.46; }
.cookie-checkbox-box { width: 36px; min-height: 60px; margin-right: 12px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.cookie-settings-actions { justify-content: space-between; gap: 9px; }

.footer-cookie-button,
.footer-install-button { border: 0; padding: 0; color: #9eb3c6; background: transparent; text-align: left; font-size: .82rem; }
.footer-cookie-button:hover,
.footer-install-button:hover { color: #fff; text-decoration: underline; }

@media (max-width: 575.98px) {
    .cookie-floating-control {
        bottom: var(--pwa-install-cookie-bottom, 18px);
        transition: bottom .22s ease;
    }
    .holidey-cookie-banner { left: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 15px; border-radius: 18px; }
    .cookie-banner-options { display: grid; grid-template-columns: 1fr 1fr; }
    .cookie-inline-check { width: 100%; }
    .cookie-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .cookie-banner-actions .cookie-text-action { grid-column: 1 / -1; justify-self: start; }
    .cookie-banner-actions .btn { width: 100%; }
    .cookie-settings-modal .modal-dialog { margin: 10px; }
    .cookie-settings-modal .modal-content { max-height: calc(100vh - 20px); border-radius: 19px; }
    .cookie-choice-main { grid-template-columns: auto minmax(0, 1fr); }
    .cookie-choice-main .cookie-choice-chevron { display: none; }
    .cookie-choice-detail { padding-left: 56px; }
}
