:root {
    --hab-bg: #fffdf7;
    --hab-surface: #fff8eb;
    --hab-ink: #2f1e16;
    --hab-muted: #5d4a3c;
    --hab-line: #e6d2ab;
    --hab-gold: #c9982f;
    --hab-wine: #6f2a11;
    --hab-shadow: 0 16px 30px rgba(98, 40, 18, 0.14);
}

#s-banner.b-interno::before {
    background:
        radial-gradient(circle at 22% 18%, rgba(235, 189, 98, 0.26), transparent 42%),
        linear-gradient(180deg, rgba(40, 18, 8, 0.6), rgba(40, 18, 8, 0.72));
}

#s-banner.b-interno h2 {
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

#content-eventos {
    border-radius: 22px;
    border: 1px solid #dcc192;
    background: linear-gradient(180deg, #fffdf8 0%, #fef7ea 100%);
}

.content-fechas-tem-alta {
    border: 1px solid #dec798;
    background: #fff8eb;
}

.content-fechas-tem-alta h3 {
    color: #6f2a11;
}

#content-gal-hab a.hab-gallery-thumb.is-active {
    border-color: #c9982f;
    box-shadow: 0 0 0 2px rgba(201, 152, 47, 0.28);
}

.colonial-room-topbar {
    width: min(1160px, calc(100% - 32px));
    margin: 20px auto 0;
}

.colonial-room-topbar + section #content-eventos {
    margin-top: 0;
}

.colonial-room-topbar + section {
    padding-top: 14px;
}

.colonial-room-topbar-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.colonial-room-topbar-item {
    border: 1px solid #e1cda1;
    background: linear-gradient(180deg, #fffef9 0%, #f8ecd4 100%);
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 10px 20px rgba(96, 44, 20, 0.1);
    position: relative;
    overflow: hidden;
}

.colonial-room-topbar-item::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #c9982f 0%, #e2be69 100%);
}

.colonial-room-topbar-item:last-child {
    background: linear-gradient(145deg, #7e2f12 0%, #9a3b18 100%);
    border-color: #8d3415;
}

.colonial-room-topbar-item strong {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: #6f4a25;
    padding-left: 2px;
}

.colonial-room-topbar-item .contemp-date-trigger {
    margin-top: 2px;
    padding: 0;
    border: 0 !important;
    outline: 0;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: #2d2118;
    cursor: pointer;
    text-align: left;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.colonial-room-topbar-item .contemp-date-trigger {
    color: #2d2118;
}

.colonial-room-topbar-item .contemp-date-trigger:focus,
.colonial-room-topbar-item .contemp-date-trigger:focus-visible {
    border: 0 !important;
    outline: 2px solid rgba(201, 152, 47, 0.42);
    outline-offset: 2px;
    box-shadow: none;
}

.colonial-room-topbar-item .contemp-date-day {
    font-size: 1.45rem;
}

.colonial-room-topbar-item .contemp-date-month {
    color: #6f4a25;
}

.colonial-room-topbar-item .contemp-nights-note {
    margin-top: 2px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.contemp-range-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.colonial-room-topbar-item:last-child strong,
.colonial-room-topbar-item:last-child a,
.colonial-room-topbar-item:last-child .contemp-nights-note {
    color: #fff2d8;
}

.colonial-room-topbar-item a {
    color: #fff7ea;
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 980px) {
    .colonial-room-topbar-inner {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .colonial-room-topbar-item {
        padding: 12px 14px;
    }

    .colonial-room-topbar + section {
        padding-top: 10px;
    }

    .flatpickr-calendar {
        max-width: min(340px, calc(100vw - 20px));
    }

    .flatpickr-calendar .flatpickr-days,
    .flatpickr-calendar .dayContainer {
        max-width: 100%;
        min-width: 100%;
    }
}
