/* =============================================================
 * BASE STYLES
 * ============================================================*/
.datepicker {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    position: absolute;
    width: 260px;
    z-index: 1;
}

.datepicker__inner { overflow: hidden; }

.datepicker__month {
    border-collapse: collapse;
    text-align: center;
    width: 100%;
}

.datepicker__month--month2 { display: none; }

.datepicker__month-day--valid { cursor: pointer; }

.datepicker__month-day--lastMonth,
.datepicker__month-day--nextMonth { visibility: hidden; }

.datepicker__month-button { cursor: pointer; }

.datepicker__info--feedback { display: none; }

.datepicker__info--error,
.datepicker__info--help { display: block; }

.datepicker__close-button { cursor: pointer; }

.datepicker__tooltip { position: absolute; }

/* =============================================================
 * THEME — Hacienda Hotel Deluxe
 * Colours: #CF7965 (terracotta) · #295758 (teal) · #fff
 * Font: Marcellus
 * ============================================================*/
.datepicker {
    background-color: #fff;
    border-radius: 0;
    border-top: 3px solid #CF7965;
    -webkit-box-shadow: 0 8px 32px rgba(41, 87, 88, 0.13);
    box-shadow:         0 8px 32px rgba(41, 87, 88, 0.13);
    color: #295758;
    font-family: 'Marcellus', Georgia, serif;
    font-size: 14px;
    line-height: 14px;
}

.datepicker__inner { padding: 20px; }

.datepicker__month { font-size: 12px; }

.datepicker__month-caption {
    border-bottom: 1px solid #e0d8d5;
    height: 2.5em;
    vertical-align: middle;
}

.datepicker__month-name {
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #295758;
}

.datepicker__week-days {
    height: 2em;
    vertical-align: middle;
}

.datepicker__week-name {
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #CF7965;
}

.datepicker__month-day {
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-property: color, background-color, border-color;
    transition-property: color, background-color, border-color;
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    color: #295758;
    padding: 9px 7px;
}

.datepicker__month-day--no-check-in { position: relative; }
.datepicker__month-day--no-check-in:after {
    background-color: rgba(207, 121, 101, 0.08);
    bottom: 0; content: ''; display: block;
    left: 0; position: absolute; right: 50%; top: 0; z-index: -1;
}

.datepicker__month-day--no-check-out { position: relative; }
.datepicker__month-day--no-check-out:after {
    background-color: rgba(207, 121, 101, 0.08);
    bottom: 0; content: ''; display: block;
    left: 50%; position: absolute; right: 0; top: 0; z-index: -1;
}

.datepicker__month-day--invalid { color: #ddd; }

.datepicker__month-day--disabled { color: #ddd; position: relative; }
.datepicker__month-day--disabled:after {
    content: '\00d7';
    left: 50%; position: absolute;
    color: #CF7965; font-size: 16px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.datepicker__month-day--day-of-week-disabled {
    background-color: rgba(207, 121, 101, 0.06);
}

.datepicker__month-day--selected {
    background-color: rgba(207, 121, 101, 0.18);
    color: #295758;
}
.datepicker__month-day--selected:after { display: none; }

.datepicker__month-day--hovering {
    background-color: rgba(41, 87, 88, 0.10);
    color: #295758;
}

.datepicker__month-day--today {
    background-color: #295758;
    color: #fff;
}

.datepicker__month-day--first-day-selected,
.datepicker__month-day--last-day-selected {
    background-color: #CF7965;
    color: #fff;
}
.datepicker__month-day--last-day-selected:after { content: none; }

/* ── Navigation buttons ───────────────────────────────── */
.datepicker__month-button {
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #f5f0ee;
    border-radius: 2px;
    color: #295758;
    display: inline-block;
    padding: 5px 10px;
}

.datepicker__month-button:hover {
    background-color: #CF7965;
    color: #fff;
}

/* ── Topbar / info text ───────────────────────────────── */
/*
 * modificado para el boton
 * .datepicker__topbar {
    margin-bottom: 20px;
    position: relative;
}*/

.datepicker__topbar {
    margin-bottom: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.datepicker__info-text {
    font-size: 13px;
    font-family: 'Marcellus', Georgia, serif;
}

.datepicker__info--selected {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.datepicker__info--selected-label { color: #CF7965; }

.datepicker__info-text--selected-days {
    font-size: 11px;
    font-style: normal;
    color: #295758;
}

.datepicker__info--error {
    color: #CF7965;
    font-size: 13px;
    font-style: italic;
}

.datepicker__info--help {
    color: #aaa;
    font-style: italic;
}

/* ── Close / confirm button ───────────────────────────── */
.datepicker__close-button {
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-property: color, background-color, letter-spacing;
    transition-property: color, background-color, letter-spacing;
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #295758;
    border-radius: 2px;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-family: 'Marcellus', Georgia, serif;
    font-size: 10px;
    letter-spacing: 0.12em;
    color: #fff;
    /* Remove margin-top so it doesn't push down */
    margin-top: 0;
    padding: 7px 13px;
    text-decoration: none;
    text-shadow: none;
    text-transform: uppercase;
    /* Keep it compact */
    white-space: nowrap;
    flex-shrink: 0;
}

.datepicker__close-button:hover {
    background-color: #CF7965;
    color: #fff;
    letter-spacing: 0.18em;
}

/* ── Table resets ─────────────────────────────────────── */
table  { border: none; }
th     { text-align: center; }
th, td { border: none; }

/* ── Tooltip ──────────────────────────────────────────── */
.datepicker__tooltip {
    background-color: #f5f0ee;
    border: 1px solid #CF7965;
    border-radius: 2px;
    color: #295758;
    font-family: 'Marcellus', Georgia, serif;
    font-size: 11px;
    margin-top: -5px;
    padding: 5px 10px;
}

.datepicker__tooltip:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #CF7965;
    bottom: -4px;
    content: '';
    left: 50%;
    margin-left: -4px;
    position: absolute;
}

/* ── Responsive ───────────────────────────────────────── */
@media (min-width: 320px) {
    .datepicker { width: 300px; }
}

@media (min-width: 480px) {
    .datepicker { width: 460px; }
    .datepicker__months { overflow: hidden; }
    .datepicker__month  { width: 200px; }
    .datepicker__month--month1 { float: left; }
    .datepicker__month--month2 { display: table; float: right; }
    .datepicker__month-button--disabled { visibility: hidden; }
    .datepicker__months { position: relative; }
    .datepicker__months:before {
        background: #e0d8d5;
        bottom: 0; content: ''; display: block;
        left: 50%; position: absolute; top: 0; width: 1px;
    }
}

/* Override the absolute positioning at 768px that caused the overlap */
@media (min-width: 768px) {
    .datepicker { width: 560px; }
    .datepicker__month { width: 240px; }
    .datepicker__close-button {
        /* Remove position: absolute — let flexbox handle it instead */
        position: static;
        margin-top: 0;
        right: auto;
        top: auto;
    }
}