/* ==========================================================================
   FORMULARIO DE RESERVAS - EUROFREETOUR
   ========================================================================== */


/* ==========================================================================
   01. SECCIÓN PRINCIPAL
   ========================================================================== */

.eft-reservation {
    position: relative;

    min-height: 760px;

    display: flex;
    align-items: center;

    padding: 72px 0;

    overflow: hidden;

    background: #ff4e55;

    isolation: isolate;
}


/* ==========================================================================
   02. FONDO FOTOGRÁFICO
   ========================================================================== */

.eft-reservation__background {
    position: absolute;
    inset: 0;

    z-index: -2;
}

.eft-reservation__background img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}

.eft-reservation__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(111, 5, 12, 0.52) 0%,
            rgba(244, 37, 79, 0.56) 48%,
            rgba(255, 78, 85, 0.94) 72%,
            rgba(255, 78, 85, 1) 100%
        );
}


/* ==========================================================================
   03. CONTENEDOR
   ========================================================================== */

.eft-reservation__container {
    position: relative;
    z-index: 2;

    width:
        min(
            1180px,
            calc(100% - 40px)
        );

    display: flex;
    justify-content: flex-end;

    margin-inline: auto;
}


/* ==========================================================================
   04. TARJETA
   ========================================================================== */

.eft-reservation__card {
    width:
        min(
            100%,
            555px
        );

    padding:
        30px
        34px
        34px;

    border:
        1px solid
        rgba(16, 24, 40, 0.1);

    border-radius: 34px;

    background:
        rgba(255, 252, 252, 0.96);

    box-shadow:
        0 28px 60px rgba(74, 13, 20, 0.28),
        0 3px 10px rgba(16, 24, 40, 0.08);

    backdrop-filter:
        blur(10px);
}


/* ==========================================================================
   05. ENCABEZADO
   ========================================================================== */

.eft-reservation__header {
    max-width: 440px;

    margin:
        0
        auto
        26px;

    text-align: center;
}

.eft-reservation__title {
    margin:
        0
        0
        8px;

    color: #5f5f63;

    font-family:
        var(--eft-font-heading);

    font-size:
        clamp(
            2rem,
            3vw,
            2.5rem
        );

    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.eft-reservation__title span {
    color: #ff4e55;
}

.eft-reservation__description {
    max-width: 390px;

    margin:
        0
        auto;

    color: #24242a;

    font-size: 0.92rem;
    line-height: 1.45;
}


/* ==========================================================================
   06. FORMULARIO
   ========================================================================== */

.eft-form {
    width: 100%;
}

.eft-form__grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        16px
        14px;
}


/* ==========================================================================
   07. FECHA/HORARIO + IDIOMA
   ========================================================================== */

.eft-form__schedule {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: start;

    gap:
        16px
        14px;

    margin-top: 16px;
}


/* ==========================================================================
   08. CAMPOS
   ========================================================================== */

.eft-form__field {
    position: relative;

    min-width: 0;
}

.eft-form__field--full {
    min-width: 0;
}

.eft-form__field label {
    display: block;

    margin:
        0
        0
        7px;

    padding-left: 2px;

    color: #ff4e55;

    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
}

.eft-form__field input,
.eft-form__field select,
.eft-form__field textarea {
    width: 100%;

    box-sizing: border-box;

    border:
        1px solid #c7c9cc;

    background: #ffffff;

    color: #303038;

    font-family:
        var(--eft-font-body);

    font-size: 0.9rem;

    outline: none;

    transition:
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}

.eft-form__field input,
.eft-form__field select {
    min-height: 46px;

    padding:
        0
        16px;

    border-radius: 999px;
}

.eft-form__field textarea {
    min-height: 100px;

    padding:
        14px
        16px;

    border-radius: 14px;

    resize: vertical;
}

.eft-form__field input::placeholder,
.eft-form__field textarea::placeholder {
    color: #a1a2a7;
}

.eft-form__field input:focus,
.eft-form__field select:focus,
.eft-form__field textarea:focus {
    border-color: #ff4e55;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(255, 78, 85, 0.12);
}


/* ==========================================================================
   09. SELECT NATIVO
   ========================================================================== */

.eft-form__control {
    position: relative;
}

.eft-form__field select {
    padding-right: 42px;

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;
}

.eft-form__control:not(.eft-form__control--date)::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 17px;

    width: 9px;
    height: 9px;

    border-right:
        2px solid #111111;

    border-bottom:
        2px solid #111111;

    transform:
        translateY(-70%)
        rotate(45deg);

    pointer-events: none;
}


/* ==========================================================================
   10. ERRORES
   ========================================================================== */

.eft-form__error {
    min-height: 14px;

    display: block;

    margin-top: 4px;

    padding-left: 4px;

    color: #c81d39;

    font-size: 0.72rem;
    line-height: 1.25;
}

.eft-form__field.is-error input,
.eft-form__field.is-error select,
.eft-form__field.is-error textarea,
.eft-form__field.is-error .eft-reservation-calendar-trigger {
    border-color: #c81d39;

    box-shadow:
        0 0 0 3px
        rgba(200, 29, 57, 0.1);
}


/* ==========================================================================
   11. HONEYPOT
   ========================================================================== */

.eft-form__honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip:
        rect(
            0
            0
            0
            0
        ) !important;

    white-space: nowrap !important;
}


/* ==========================================================================
   12. PRIVACIDAD
   ========================================================================== */

.eft-form__privacy {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;

    color: #66676d;

    font-size: 0.76rem;
    line-height: 1.4;

    cursor: pointer;
}

.eft-form__privacy input {
    width: 16px;
    height: 16px;

    flex: 0 0 16px;

    margin:
        1px
        0
        0;

    accent-color: #ff4e55;
}

.eft-form__privacy a {
    color: #ff4e55;

    font-weight: 700;

    text-decoration: underline;
    text-underline-offset: 2px;
}


/* ==========================================================================
   13. BOTÓN
   ========================================================================== */

.eft-form__actions {
    display: flex;
    justify-content: center;

    margin-top: 22px;
}

.eft-form__submit {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding:
        0
        22px;

    border: 0;

    border-radius: 999px;

    background: #ff4e55;

    color: #ffffff;

    font-family:
        var(--eft-font-body);

    font-size: 0.98rem;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 10px 22px
        rgba(255, 78, 85, 0.24);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}

.eft-form__submit:hover {
    transform:
        translateY(-2px);

    background: #f4254f;

    box-shadow:
        0 14px 28px
        rgba(244, 37, 79, 0.32);
}

.eft-form__submit:active {
    transform: none;
}

.eft-form__submit:disabled {
    opacity: 0.65;

    cursor: not-allowed;

    transform: none;
}

.eft-form__submit-icon {
    width: 24px;
    height: 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.eft-form__submit-icon svg {
    display: block;
}


/* ==========================================================================
   14. MENSAJES
   ========================================================================== */

.eft-form__message {
    min-height: 20px;

    margin-top: 14px;

    text-align: center;

    font-size: 0.86rem;
    font-weight: 700;
}

.eft-form__message.is-success {
    color: #14804a;
}

.eft-form__message.is-error {
    color: #c81d39;
}


/* ==========================================================================
   15. CHOICES.JS
   ========================================================================== */

.eft-form .choices {
    position: relative;

    width: 100%;

    margin: 0;

    font-family:
        var(--eft-font-body);
}

.eft-form .choices__inner {
    min-height: 48px;

    display: flex;
    align-items: center;

    padding:
        6px
        46px
        6px
        17px;

    border:
        1px solid
        rgba(88, 90, 96, 0.28);

    border-radius: 999px;

    background: #ffffff;

    color: #303138;

    font-size: 0.88rem;
    font-weight: 500;

    box-shadow:
        0 5px 14px
        rgba(16, 24, 40, 0.04);

    transition:
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}

.eft-form .choices:hover .choices__inner {
    border-color:
        rgba(244, 37, 79, 0.42);
}

.eft-form .choices.is-focused .choices__inner,
.eft-form .choices.is-open .choices__inner {
    border-color:
        var(--eft-primary);

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(244, 37, 79, 0.1),
        0 9px 22px
        rgba(16, 24, 40, 0.08);
}

.eft-form .choices__list--single {
    width: 100%;

    padding: 0;
}

.eft-form
.choices__list--single
.choices__item {
    width: 100%;

    overflow: hidden;

    color: #35373d;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.eft-form .choices__placeholder {
    color: #9a9ca2;

    opacity: 1;

    font-weight: 400;
}


/* ==========================================================================
   16. FLECHA CHOICES
   ========================================================================== */

.eft-form
.choices[data-type*="select-one"]::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 19px;

    width: 8px;
    height: 8px;

    margin:
        -6px
        0
        0;

    border: 0;

    border-right:
        2px solid #2b2c31;

    border-bottom:
        2px solid #2b2c31;

    transform:
        rotate(45deg);

    pointer-events: none;

    transition:
        transform 0.24s ease,
        border-color 0.24s ease;
}

.eft-form
.choices[data-type*="select-one"].is-open::after {
    margin-top: -1px;

    border-color:
        var(--eft-primary);

    transform:
        rotate(225deg);
}


/* ==========================================================================
   17. MENÚ CHOICES
   ========================================================================== */

.eft-form .choices__list--dropdown,
.eft-form .choices__list[aria-expanded] {
    z-index: 300;

    margin-top: 8px;

    padding: 8px;

    overflow: hidden;

    border:
        1px solid
        rgba(244, 37, 79, 0.16);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 24px 60px
        rgba(16, 24, 40, 0.16),
        0 5px 16px
        rgba(16, 24, 40, 0.07);
}

.eft-form
.choices__list--dropdown
.choices__list,
.eft-form
.choices__list[aria-expanded]
.choices__list {
    max-height: 220px;

    overflow-y: auto;

    scrollbar-width: thin;

    scrollbar-color:
        rgba(244, 37, 79, 0.4)
        transparent;
}

.eft-form
.choices__list--dropdown
.choices__item,
.eft-form
.choices__list[aria-expanded]
.choices__item {
    padding:
        11px
        13px;

    border-radius: 11px;

    color: #3b3d43;

    font-size: 0.87rem;
    font-weight: 500;
}

.eft-form
.choices__list--dropdown
.choices__item--selectable.is-highlighted,
.eft-form
.choices__list[aria-expanded]
.choices__item--selectable.is-highlighted {
    background:
        rgba(244, 37, 79, 0.1);

    color:
        var(--eft-primary);
}

.eft-form
.choices__list--dropdown
.choices__item.is-selected,
.eft-form
.choices__list[aria-expanded]
.choices__item.is-selected {
    background:
        var(--eft-primary);

    color: #ffffff;
}

.eft-form
.choices.is-disabled
.choices__inner {
    background: #f3f4f6;

    opacity: 0.7;

    cursor: not-allowed;
}


/* ==========================================================================
   18. SELECTOR FECHA + HORARIO
   ========================================================================== */

.eft-reservation-calendar-trigger {
    width: 100%;
    min-height: 58px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    padding:
        10px
        12px
        10px
        16px;

    border:
        1px solid #d9dee7;

    border-radius: 16px;

    background: #ffffff;

    color: #111827;

    text-align: left;

    font-family: inherit;

    cursor: pointer;

    box-shadow: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.eft-reservation-calendar-trigger:hover {
    border-color: #DE316D;
}

.eft-reservation-calendar-trigger:focus-visible {
    border-color: #DE316D;

    outline: none;

    box-shadow:
        0 0 0 4px
        rgba(222, 49, 109, 0.09);
}

.eft-reservation-calendar-trigger__copy {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 3px;
}

.eft-reservation-calendar-trigger__copy strong {
    color: #1f2937;

    font-size: 0.82rem;
    font-weight: 600;

    line-height: 1.3;
}

.eft-reservation-calendar-trigger__copy small {
    color: #98a2b3;

    font-size: 0.68rem;

    line-height: 1.35;
}

.eft-reservation-calendar-trigger__icon {
    width: 36px;
    height: 36px;

    flex:
        0
        0
        36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #fff1f6;

    color: #DE316D;
}

.eft-reservation-calendar-trigger__icon svg {
    width: 19px;
    height: 19px;

    display: block;
}


/* ==========================================================================
   19. MODAL DEL CALENDARIO
   ========================================================================== */

.eft-reservation-calendar-panel {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;

    right: auto !important;
    bottom: auto !important;

    z-index: 99999;

    width:
        min(
            900px,
            calc(100vw - 48px)
        );

    max-width: 900px;

    max-height:
        calc(100dvh - 48px);

    margin: 0 !important;

    padding: 18px;

    box-sizing: border-box;

    overflow-x: hidden;
    overflow-y: auto;

    overscroll-behavior: contain;

    border:
        1px solid #e4e7ec;

    border-radius: 24px;

    background: #ffffff;

    box-shadow:
        0 34px 100px
        rgba(17, 24, 39, 0.24),

        0 0 0 100vmax
        rgba(17, 24, 39, 0.46);

    transform:
        translate(-50%, -50%) !important;
}

.eft-reservation-calendar-panel[hidden] {
    display: none !important;
}


/* ==========================================================================
   20. CONTENEDOR DEL MODAL
   ========================================================================== */

.eft-reservation-calendar {
    width: 100%;
    min-width: 0;

    display: grid;

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(280px, 0.88fr);

    gap: 16px;

    align-items: stretch;
}


/* ==========================================================================
   21. TARJETAS DEL CALENDARIO
   ========================================================================== */

.eft-reservation-calendar
.eft-booking__calendar-card,

.eft-reservation-calendar
.eft-booking__schedule-card {
    width: 100%;
    min-width: 0;

    margin: 0;

    box-sizing: border-box;

    border:
        1px solid #e4e7ec;

    border-radius: 18px;

    background: #ffffff;

    box-shadow: none;
}

.eft-reservation-calendar
.eft-booking__calendar-card {
    padding: 22px;
}

.eft-reservation-calendar
.eft-booking__schedule-card {
    padding: 22px;
}


/* ==========================================================================
   22. CABECERA DEL CALENDARIO
   ========================================================================== */

.eft-reservation-calendar
.eft-booking__calendar-top {
    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        42px;

    align-items: center;

    gap: 10px;

    margin-bottom: 18px;
}

.eft-reservation-calendar
.eft-booking__month {
    min-width: 0;

    text-align: center;
}

.eft-reservation-calendar
.eft-booking__month-label {
    display: block;

    color: #202838;

    font-size: 1rem;
    font-weight: 700;

    line-height: 1.2;
}

.eft-reservation-calendar
.eft-booking__month small {
    display: block;

    margin-top: 4px;

    color: #98a2b3;

    font-size: 0.66rem;
    line-height: 1.35;
}

.eft-reservation-calendar
.eft-booking__month-nav {
    width: 40px;
    height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border:
        1px solid #e4e7ec;

    border-radius: 12px;

    background: #ffffff;

    color: #DE316D;

    cursor: pointer;
}

.eft-reservation-calendar
.eft-booking__month-nav svg {
    width: 18px;
    height: 18px;

    stroke: currentColor;
    stroke-width: 1.8;
}


/* ==========================================================================
   23. SEMANA Y DÍAS
   ========================================================================== */

.eft-reservation-calendar
.eft-booking__weekdays,

.eft-reservation-calendar
.eft-booking__days {
    display: grid;

    grid-template-columns:
        repeat(
            7,
            minmax(0, 1fr)
        );

    gap: 5px;
}

.eft-reservation-calendar
.eft-booking__weekdays {
    margin-bottom: 6px;
}

.eft-reservation-calendar
.eft-booking__weekdays span {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    min-height: 28px;

    color: #98a2b3;

    font-size: 0.58rem;
    font-weight: 700;

    text-align: center;

    text-transform: uppercase;
}

.eft-reservation-calendar
.eft-booking__day {
    width: 100%;
    min-width: 0;

    aspect-ratio: 1 / 0.9;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 3px;

    border-radius: 10px;
}

.eft-reservation-calendar
.eft-booking__day-number {
    font-size: 0.74rem;
}


/* ==========================================================================
   24. LEYENDA
   ========================================================================== */

.eft-reservation-calendar
.eft-booking__legend {
    display: flex;
    flex-wrap: wrap;

    gap:
        9px
        13px;

    margin-top: 18px;

    padding-top: 15px;

    border-top:
        1px solid #eef0f3;
}

.eft-reservation-calendar
.eft-booking__legend-item {
    font-size: 0.64rem;
}


/* ==========================================================================
   25. HORARIOS
   ========================================================================== */

.eft-reservation-calendar
.eft-booking__schedule-header {
    margin-bottom: 18px;
}

.eft-reservation-calendar
.eft-booking__schedule-header h3 {
    margin:
        8px
        0
        4px;

    color: #202838;

    font-size: 1.1rem;
    line-height: 1.25;
}

.eft-reservation-calendar
.eft-booking__schedule-header p {
    margin: 0;

    color: #98a2b3;

    font-size: 0.72rem;
    line-height: 1.5;
}

.eft-reservation-calendar
.eft-booking__schedule-list {
    display: grid;

    gap: 9px;
}

.eft-reservation-calendar
.eft-booking__schedule-empty {
    min-height: 265px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 20px;

    text-align: center;
}

.eft-reservation-calendar
.eft-booking__schedule-option {
    min-height: 60px;

    padding:
        11px
        13px;
}


/* ==========================================================================
   26. ESTADO INICIAL
   ========================================================================== */

.eft-reservation-calendar__empty {
    min-height: 180px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding:
        24px
        20px;

    border:
        1px solid #e4e7ec;

    border-radius: 18px;

    background: #ffffff;

    text-align: center;
}

.eft-reservation-calendar__empty strong {
    color: #111827;

    font-size: 0.9rem;
    font-weight: 700;
}

.eft-reservation-calendar__empty p {
    max-width: 320px;

    margin: 0;

    color: #98a2b3;

    font-size: 0.74rem;
    line-height: 1.55;
}


/* ==========================================================================
   27. SUPERPOSICIÓN
   ========================================================================== */

.eft-reservation,
.eft-reservation__container,
.eft-reservation__card,
.eft-form,
.eft-form__field {
    overflow: visible;
}

.eft-form .choices {
    z-index: 10;
}

.eft-form .choices.is-open {
    z-index: 400;
}


/* ==========================================================================
   28. TABLET
   ========================================================================== */

@media (max-width: 992px) {

    .eft-reservation {
        min-height: auto;

        padding:
            64px
            0;
    }

    .eft-reservation__container {
        justify-content: center;
    }

    .eft-reservation__card {
        width:
            min(
                100%,
                620px
            );
    }

}


/* ==========================================================================
   29. TABLET - MODAL
   ========================================================================== */

@media (max-width: 820px) {

    .eft-reservation-calendar-panel {
        width:
            min(
                680px,
                calc(100vw - 28px)
            );

        max-height:
            calc(100dvh - 28px);

        padding: 14px;

        border-radius: 20px;
    }

    .eft-reservation-calendar {
        grid-template-columns: 1fr;
    }

    .eft-reservation-calendar
    .eft-booking__schedule-empty {
        min-height: 170px;
    }

}


/* ==========================================================================
   30. MÓVIL
   ========================================================================== */

@media (max-width: 680px) {

    .eft-reservation {
        padding:
            46px
            0;
    }

    .eft-reservation__background img {
        object-position:
            38%
            center;
    }

    .eft-reservation__container {
        width:
            min(
                calc(100% - 24px),
                560px
            );
    }

    .eft-reservation__card {
        padding:
            27px
            20px
            28px;

        border-radius: 28px;
    }

    .eft-reservation__header {
        margin-bottom: 24px;
    }

    .eft-reservation__title {
        font-size:
            clamp(
                1.85rem,
                9vw,
                2.3rem
            );
    }

    .eft-reservation__description {
        font-size: 0.86rem;
    }

    .eft-form__grid,
    .eft-form__schedule {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .eft-form__field input,
    .eft-form__field select {
        min-height: 48px;
    }

    .eft-form__field textarea {
        min-height: 112px;
    }

    .eft-form__submit {
        width: 100%;

        min-height: 52px;
    }

    .eft-form__privacy {
        font-size: 0.73rem;
    }


    /* ----------------------------------------------------------------------
       MODAL EN MÓVIL
       ---------------------------------------------------------------------- */

    .eft-reservation-calendar-panel {
        width:
            calc(100vw - 18px);

        max-width: none;

        max-height:
            calc(100dvh - 18px);

        padding: 9px;

        border-radius: 18px;
    }

    .eft-reservation-calendar {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .eft-reservation-calendar
    .eft-booking__calendar-card,

    .eft-reservation-calendar
    .eft-booking__schedule-card {
        border-radius: 15px;
    }

    .eft-reservation-calendar
    .eft-booking__calendar-card {
        padding:
            16px
            10px;
    }

    .eft-reservation-calendar
    .eft-booking__schedule-card {
        padding:
            16px
            12px;
    }

    .eft-reservation-calendar
    .eft-booking__calendar-top {
        grid-template-columns:
            38px
            minmax(0, 1fr)
            38px;

        gap: 6px;

        margin-bottom: 14px;
    }

    .eft-reservation-calendar
    .eft-booking__month-nav {
        width: 36px;
        height: 36px;
    }

    .eft-reservation-calendar
    .eft-booking__month-label {
        font-size: 0.92rem;
    }

    .eft-reservation-calendar
    .eft-booking__month small {
        font-size: 0.6rem;
    }

    .eft-reservation-calendar
    .eft-booking__weekdays,

    .eft-reservation-calendar
    .eft-booking__days {
        gap: 3px;
    }

    .eft-reservation-calendar
    .eft-booking__weekdays span {
        min-height: 24px;

        font-size: 0.5rem;
    }

    .eft-reservation-calendar
    .eft-booking__day {
        aspect-ratio: 1 / 1;

        padding: 2px;

        border-radius: 8px;
    }

    .eft-reservation-calendar
    .eft-booking__day-number {
        font-size: 0.65rem;
    }

    .eft-reservation-calendar
    .eft-booking__legend {
        gap:
            7px
            9px;

        margin-top: 13px;

        padding-top: 12px;
    }

    .eft-reservation-calendar
    .eft-booking__legend-item {
        font-size: 0.56rem;
    }

    .eft-reservation-calendar
    .eft-booking__schedule-header h3 {
        font-size: 1rem;
    }

    .eft-reservation-calendar
    .eft-booking__schedule-empty {
        min-height: 135px;

        padding: 16px;
    }

    .eft-reservation-calendar
    .eft-booking__schedule-option {
        min-height: 54px;

        padding:
            9px
            10px;
    }

}


/* ==========================================================================
   31. MÓVIL PEQUEÑO
   ========================================================================== */

@media (max-width: 390px) {

    .eft-reservation__container {
        width:
            calc(100% - 18px);
    }

    .eft-reservation__card {
        padding:
            24px
            16px
            26px;

        border-radius: 24px;
    }

    .eft-reservation__title {
        font-size: 1.75rem;
    }

    .eft-form__field label {
        font-size: 0.82rem;
    }

    .eft-form__field input,
    .eft-form__field select,
    .eft-form__field textarea {
        font-size: 0.84rem;
    }

    .eft-reservation-calendar-panel {
        width:
            calc(100vw - 10px);

        max-height:
            calc(100dvh - 10px);

        padding: 6px;

        border-radius: 15px;
    }

    .eft-reservation-calendar
    .eft-booking__calendar-card {
        padding:
            14px
            7px;
    }

    .eft-reservation-calendar
    .eft-booking__schedule-card {
        padding:
            14px
            9px;
    }

    .eft-reservation-calendar
    .eft-booking__weekdays,

    .eft-reservation-calendar
    .eft-booking__days {
        gap: 2px;
    }

    .eft-reservation-calendar
    .eft-booking__day-number {
        font-size: 0.62rem;
    }

}