:root {
    --hab-bg: #f7faff;
    --hab-surface: #eef4ff;
    --hab-ink: #10243e;
    --hab-muted: #3f5875;
    --hab-line: #c9d9f2;
    --hab-gold: #2a6fca;
    --hab-wine: #163963;
    --hab-shadow: 0 18px 34px rgba(20, 49, 88, 0.16);
}

#s-banner.b-interno::before {
    background:
        radial-gradient(circle at 82% 16%, rgba(130, 181, 255, 0.28), transparent 36%),
        linear-gradient(180deg, rgba(8, 20, 40, 0.56), rgba(8, 20, 40, 0.78));
}

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

#content-eventos {
    border-radius: 12px;
    border: 1px solid #c8d7ef;
    background: linear-gradient(180deg, #fbfdff 0%, #eff5ff 100%);
}

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

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

.content-fechas-tem-alta li svg,
.content-fechas-tem-alta h3 svg {
    fill: #2a6fca;
}

#content-gal-hab a.hab-gallery-thumb.is-active {
    border-color: #2a6fca;
    box-shadow: 0 0 0 2px rgba(42, 111, 202, 0.26);
}

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

.contemp-room-topbar-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.contemp-room-topbar-item {
    border: 1px solid #d8e4f6;
    background: #ffffff;
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 10px 18px rgba(22, 57, 99, 0.08);
    position: relative;
    overflow: hidden;
}

.contemp-room-topbar-item::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #2a6fca 0%, #5ea2ff 100%);
}

.contemp-room-topbar-item:last-child {
    background: linear-gradient(145deg, #1c5aa8 0%, #2a6fca 100%);
    border-color: #1f5fb2;
}

.contemp-room-topbar-item:last-child::before {
    background: linear-gradient(180deg, #9dc5ff 0%, #ffffff 100%);
}

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

.contemp-room-topbar-item span,
.contemp-room-topbar-item a {
    color: #133862;
    font-weight: 800;
    font-size: 1.2rem;
    line-height: 1.05;
    text-decoration: none;
}

.contemp-room-topbar-item .contemp-time-note {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #54759d;
}

.contemp-date-trigger {
    margin-top: 2px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #133862;
    cursor: pointer;
    text-align: left;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.contemp-date-day {
    font-size: 1.45rem;
    line-height: 1;
    letter-spacing: .01em;
}

.contemp-date-month {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #54759d;
}

.contemp-room-topbar-item:last-child strong {
    color: #dfeeff;
}

.contemp-room-topbar-item:last-child a,
.contemp-room-topbar-item:last-child span {
    color: #ffffff;
    font-size: 1rem;
    letter-spacing: .01em;
}

.contemp-room-topbar-item:last-child a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

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

.contemp-nights-note {
    margin-top: 2px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #d7e8ff;
}

.contemp-room-shell {
    padding-top: 20px;
    padding-bottom: 18px;
}

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

.contemp-room-layout #content-eventos {
    margin-top: 0;
}

@media (max-width: 640px) {
    .contemp-room-topbar-inner {
        grid-template-columns: 1fr;
    }
}
