/* ==========================================================================
   CSS BASE - ESTRUCTURA Y LAYOUT ORIGINAL
   ========================================================================== */

.bookres body{background:#333;font-size:15px}
#header{margin-top:-24px}
#widgethelp_uniquecssid{position:absolute;bottom:-30px;right:15px}
#topbar{width:100%;margin:0 auto 20px auto;vertical-align:bottom}
#topbar>div{display:inline-block;width:69.5%;vertical-align:text-bottom;line-height:100%}
#topbar>div:nth-child(2){width:30%;text-align:right}
#topbar>div:nth-child(2)>div{padding:5px 0}
#topbar h1{padding:0;margin:0}
#topbar h1 a{font-weight:700;color:#292929}
#topbar h1 a span{color:#a80d11}
#mainMenu_desktop{width:100%;text-align:left;background-color:#ddd;border-radius:10px;margin:0 auto 10px auto}
@media screen and (max-width: 550px){#mainMenu_desktop{display:none}}
#mainMenu_desktop ul{margin:0;padding:0;display:block;width:70%;min-width:600px;border-radius:5px}
#mainMenu_desktop ul li{margin:0;padding:0;display:inline-block}
#mainMenu_desktop ul li:nth-child(1) a{border-radius:5px 0 0 5px}
#mainMenu_desktop ul li a{font-size:.9rem;font-weight:400;text-decoration:none;text-transform:uppercase;text-align:left;display:block;padding:15px 10px;color:#292929}
#mainMenu_desktop ul li a:hover{background-color:#a80d11;color:#fff}
@media screen and (min-width: 720px){#mainMenu_desktop ul li a{font-size:1rem}}
#mainMenu_desktop ul li a img{height:18px;padding:0;margin:0}
#topform_holder{width:100%;height:40%;min-height:400px;max-height:600px;position:relative;top:0;transition-duration:.5s;transition-timing-function:cubic-bezier(0, 0, 0.99, 0)}
#topform_holder.topform_hide{height:0;min-height:0;overflow:hidden;transition-duration:.75s;transition-timing-function:cubic-bezier(0, 0, 0, 0.89)}
#topform_holder #topform_background{background:url("https://www.taxi-valencia.es/_cdw//plugin2020/images/banners/val1.jpg");background-size:cover;background-position:center bottom;z-index:1;position:absolute;top:0;left:0;width:100%;height:100%}
@media screen and (min-width: 850px){#topform_holder #topform_background{background-attachment:fixed}}
#topform_holder #topform{position:absolute;width:100%;left:0;bottom:0;padding:20px 0;background:rgba(255,255,255,.5);z-index:2}
#topform_holder #topform .formError{display:none;background:rgba(255,202,202,.68);color:red;text-align:center;position:absolute;bottom:0;top:0;width:100%;font-size:1.4rem;text-transform:uppercase;z-index:99}
#topform_holder #topform>div{width:100%}
#topform_holder #topform>div>div{width:98%;margin:10px auto}
@media screen and (min-width: 850px){#topform_holder #topform>div>div{width:50%;float:left;padding:0 10px 10px 0}}
#topform_holder #topform>div>div>div{float:left;padding:0 10px}
#topform_holder #topform>div>div .tf_g1{width:100%}
#topform_holder #topform>div>div .tf_g2{width:49%}
#topform_holder #topform>div>div .tf_g3{width:32%}
#topform_holder #topform>div>div .tf_g6{width:64%}
#topform_holder #topform label{display:block;text-align:left;height:30px;text-transform:uppercase;font-size:80%;font-weight:700;color:#292929;vertical-align:text-bottom;transform:translateY(10px)}
#topform_holder #topform label span{display:none}
#topform_holder #topform label img{width:auto;height:15px;display:inline-block;margin-top:0;margin-right:10px}
@media screen and (min-width: 850px){#topform_holder #topform label{height:26px;font-size:90%;transform:translateY(0)}#topform_holder #topform label span{display:inline}#topform_holder #topform label img{height:20px}}
#topform_holder #topform input,#topform_holder #topform select{-webkit-appearance:menulist;border:1px solid #ccc;font-size:.8em;padding:6px 10px;height:40px;width:100%;box-sizing:border-box;outline:none;border-radius:6px;box-shadow:inset 0px 1px 3px #eee,1px 1px 2px #eee;text-indent:30px;background-color:#fff}
#topform_holder #topform input#pax_adulto,#topform_holder #topform select#pax_adulto{background:url(../images/icons/form/adults.png) left center no-repeat;background-size:cover}
#topform_holder #topform input#pax_nino,#topform_holder #topform select#pax_nino{background:url(../images/icons/form/kids.png) left center no-repeat;background-size:cover}
#topform_holder #topform input#pax_bebe,#topform_holder #topform select#pax_bebe{background:url(../images/icons/form/baby.png) left center no-repeat;background-size:cover}
#topform_holder #topform input#origen_name,#topform_holder #topform input#destino,#topform_holder #topform select#origen_name,#topform_holder #topform select#destino{background:url(../images/icons/form/search.png) left center no-repeat;background-size:cover}
#topform_holder #topform input#f_ent_p_d,#topform_holder #topform input#f_sal_p_d,#topform_holder #topform select#f_ent_p_d,#topform_holder #topform select#f_sal_p_d{background:url(../images/icons/form/calendar.png) left center no-repeat;background-size:cover}
#topform_holder #topform input#ida_vuelta_calendar,#topform_holder #topform select#ida_vuelta_calendar{background:url(../images/icons/form/ida_vuelta.png) left center no-repeat;background-size:cover;text-indent:20px}
#topform_holder #topform input.date-pick,#topform_holder #topform select.date-pick{text-indent:5px}
.centimos{font-size:.75em}
#cdw_form button{position:relative;font-size:1.4em;font-weight:bold;min-width:100%;padding:4px 8px;height:40px;text-transform:uppercase;white-space:nowrap;background:#e01f33;color:#fff;border:1px solid #292929;border-radius:6px;box-shadow:inset 1px 1px 2px rgba(255,255,255,.5),0px 1px 0 rgba(0,0,0,.2);text-shadow:1px 1px 1px rgba(0,0,0,.4)}
#cdw_form button span{padding-right:10px;display:inline-block;position:relative;transition:.5s}
#cdw_form button span::after{content:"»";position:absolute;opacity:0;top:0;right:-10px;transition:.5s}
#cdw_form button:hover{background:#292929}
#cdw_form button:hover span{padding-right:25px}
#cdw_form button:hover span::after{opacity:1;right:0}
#cdw_form #resform_end{width:100%;clear:both;float:none;height:40px}
#step_journey{position:relative}
#step_journey #step_icon span{background:url(../images/icons/green/step_off.png);display:inline-block;width:20px;height:20px;background-size:contain}
#step_journey #step_icon span.step_on{background:url(../images/icons/green/step_on.png);background-size:contain}
@media screen and (max-width: 850px){#step_journey #step_texts{width:60%}}
#step_journey #change_dates{position:absolute;right:0px;bottom:5px;font-size:.8rem}
#reserva_desglose{background:#ddd;color:#292929;margin:10px 0;padding:10px;border-radius:10px}
.div_holder{width:100%;clear:left}
.div_holder input[type=text],.div_holder select{border:1px solid #ccc;font-size:1.1em;padding:6px 10px;height:40px;box-sizing:border-box;outline:none;border-radius:6px;box-shadow:inset 0px 1px 3px #eee,1px 1px 2px #eee;text-indent:5px;background-color:#fff}
.div_holder input[type=text].input_err,.div_holder select.input_err{background:#ffc1c1;color:red}
#step1_dynamic_order{display:flex;flex-wrap:wrap}
#step1_taxi{order:1}
#step1_taxi .step1_header_left{background:gray;border-bottom-color:gray}
#step1_taxi .step1_header_right{border-bottom-color:gray}
#step1_van{order:2}
#step1_van .step1_header_left{background:gray;border-bottom-color:gray}
#step1_van .step1_header_right{border-bottom-color:gray}
#step1_bus{order:3}
#step1_bus .step1_header_left{background:grayra;border-bottom-color:gray}
#step1_bus .step1_header_right{border-bottom-color:gray}
.step1_detail{width:98%;margin:20px auto}
@media screen and (min-width: 850px){.step1_detail{width:360px;margin:20px}}
.step1_detail button{font-size:1em}
.step1_detail>div{width:100%;clear:both}
.step1_detail>div:nth-child(4){border-bottom:1px solid #ddd;display:flex;flex-flow:row nowrap;align-items:flex-end}
.step1_detail>div>div{float:left;width:40%;box-sizing:border-box}
.step1_detail>div>div:nth-child(2){width:60%}
.step1_detail>div .step1_header_left{border-bottom:2px solid red;border-radius:10px 10px 0 0;padding:10px 0 4px 0;text-align:center;font-weight:700;color:#fff}
.step1_detail>div .step1_header_right{text-align:right;padding:0;font-size:1.7em;border-bottom:2px solid red}
.step1_detail>div .step1_pax_maletas{font-size:1.5em}
.step1_detail>div .step1_pax_maletas img{width:30px;height:30px;padding:5px;vertical-align:text-bottom}
.step1_detail>div .step1_veh_model{text-align:right}
.step1_detail>div .step1_veh_image img{width:100%}
.step1_detail>div .step1_veh_details{padding-left:20px}
.step1_detail>div .step1_precio_pax>div{text-align:left;font-weight:700;font-size:1.4em}
.step1_detail>div .step1_precio_pax>div .label{font-size:.6em;font-weight:700;width:100%;display:block;color:#000;text-align:left;padding-left:0}
.step1_detail>div .step1_btn_holder{border-radius:20px 20px 0 0;background:#ddd;padding:10px 20px}
.step1_detail>div .step1_btn_holder .step1_precio_total{text-align:right;font-weight:700;font-size:1.4em}
.step1_detail>div .step1_btn_holder .step1_precio_total .label{font-size:.6em;font-weight:700}
.step1_detail>div .step1_btn_holder .step1_precio_total .step1_total{color:#a80d11}
.extras{width:100%;min-width:250px;min-height:280px;margin:20px 1% 10px 1%;display:inline-flex;position:relative;border-bottom:2px solid #ddd;background:#fff;padding:0}
@media screen and (min-width: 850px){.extras{width:30%}}
.extras label{display:block;font-size:1.3rem;position:absolute;top:0;left:0;width:100%}
.extras>div{display:inline-block;width:59%;margin-top:40px}
.extras>div img{width:100%}
.extras>div.selector{
    width:39%;
    background:#f8f8f8;
    border-radius:18px;
    padding:18px;
    box-sizing:border-box;
    text-align:center;
    line-height:1.4;
    border:1px solid #ececec;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.extras input,
.extras select{
    width:70px;
    height:52px;
    border-radius:14px;
    border:2px solid #e4e4e4;
    background:#fff;
    text-align:center;
    font-size:28px;
    font-weight:700;
    margin:8px auto;
    display:block;
}
.extras.trans{background:none;border:none}
.qtySelector{width:100%;margin:0 auto 20px auto}
.qtySelector .qtyNumber{
    width:100%;
    text-align:center;
    padding-bottom:12px;
}

.qtySelector .qtyChanger{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
}
.qtySelector .qtyNumber{padding:5px}
.qtySelector .qtyMinus,
.qtySelector .qtyPlus{

    width:46px;
    height:46px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:#FFC107;
    color:#222;

    font-size:30px;
    font-weight:700;

    border-radius:50%;
    border:none;

    cursor:pointer;

    transition:all .2s ease;

    box-shadow:0 4px 10px rgba(0,0,0,.15);

    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
}

.qtySelector .qtyMinus:hover,
.qtySelector .qtyPlus:hover{

    background:#ffb300;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,.20);

}

.qtySelector .qtyMinus:active,
.qtySelector .qtyPlus:active{

    transform:scale(.92);

}
.qtySelector .qtyMinus:hover,.qtySelector .qtyPlus:hover{box-shadow:inset 1px 1px 4px 3px rgba(0,0,0,.5);opacity:.6}
.idavuelta_section,.reservation,.flightdetails,.booking-form{width:100%;padding:20px 0}
.idavuelta_section .formError,.idavuelta_section #correo_confirmar_error,.reservation .formError,.reservation #correo_confirmar_error,.flightdetails .formError,.flightdetails #correo_confirmar_error,.booking-form .formError,.booking-form #correo_confirmar_error{display:none;background:rgba(255,202,202,.68);color:red;text-align:center;width:100%;font-size:1.4rem;text-transform:uppercase}
.idavuelta_section .horas_section .time_div,.reservation .horas_section .time_div,.flightdetails .horas_section .time_div,.booking-form .horas_section .time_div{width:48%;margin-right:1%;display:inline-block}
.idavuelta_section .horas_section .time_div select,.reservation .horas_section .time_div select,.flightdetails .horas_section .time_div select,.booking-form .horas_section .time_div select{width:60px;text-indent:0;color:#000}
.idavuelta_section label,.reservation label,.flightdetails label,.booking-form label{text-transform:uppercase;font-size:90%;font-weight:700;color:#292929;vertical-align:text-bottom;display:block;margin:10px 0}
.idavuelta_section label img,.reservation label img,.flightdetails label img,.booking-form label img{height:20px;width:auto;display:inline-block;margin-top:5px;margin-right:10px}
.idavuelta_section label a,.reservation label a,.flightdetails label a,.booking-form label a{color:#292929;font-weight:300}
.idavuelta_section input[type=text],.idavuelta_section select,.reservation input[type=text],.reservation select,.flightdetails input[type=text],.flightdetails select,.booking-form input[type=text],.booking-form select{border:1px solid #ccc;font-size:1.1em;padding:6px 10px;height:40px;box-sizing:border-box;outline:none;border-radius:6px;box-shadow:inset 0px 1px 3px #eee,1px 1px 2px #eee;text-indent:5px;background-color:#fff}
.idavuelta_section input[type=text].input_err,.idavuelta_section select.input_err,.reservation input[type=text].input_err,.reservation select.input_err,.flightdetails input[type=text].input_err,.flightdetails select.input_err,.booking-form input[type=text].input_err,.booking-form select.input_err{background:#ffc1c1;color:red}
.idavuelta_section select,.reservation select,.flightdetails select,.booking-form select{-webkit-appearance:menulist;text-indent:50px}
.idavuelta_section select#f_sal_p_d,.reservation select#f_sal_p_d,.flightdetails select#f_sal_p_d,.booking-form select#f_sal_p_d{background:url(../images/icons/form/calendar.png) left center no-repeat;background-size:cover}
.idavuelta_section .rgpd_new,.reservation .rgpd_new,.flightdetails .rgpd_new,.booking-form .rgpd_new{font-size:1rem;padding:0;line-height:.9rem}
.all_the_buttons{width:30%;margin:10px auto;text-align:center;min-width:300px}
.all_the_buttons button{font-size:1.2rem;display:block;margin:10px auto;width:auto}
#datosvuelo_helper{min-width:340px;width:50%;box-sizing:border-box;height:0;overflow:hidden;opacity:0;transition-duration:.25s;transition-timing-function:ease-out}
#datosvuelo_helper.show_helper{height:auto;padding:20px 10px;border:2px solid #a80d11;border-radius:10px;margin:20px 0;opacity:1;transition-duration:.25s;transition-timing-function:ease-in}
#datosvuelo_helper label{display:inline}
#datosvuelo_helper select{text-indent:0}
#datosvuelo_helper>div{width:100%}
#datosvuelo_helper>div>div{display:inline-block;width:32%}
#datosvuelo_helper>div img{width:100%}
@media screen and (max-width: 850px){#res_layout_holder{display:flex;flex-wrap:wrap}#res_layout_holder #reservation_holder{width:100%;order:1}#res_layout_holder #side_resumen{order:2;width:100%;margin:20px auto}}
@media screen and (min-width: 850px){#reservation_holder.full_width{margin-right:0}#reservation_holder.shared_width{margin-right:400px}}
#side_resumen{background:#fff}
@media screen and (min-width: 850px){#side_resumen{width:360px;margin:20px;float:right;position:sticky;top:10px}}
#side_resumen>div{width:100%;clear:both}
#side_resumen>div:nth-child(1){border-bottom:1px solid #ddd}
#side_resumen>div .div_header{border-radius:10px 10px 0 0;padding:10px 0 4px 0;margin-right:20%;background-color:#ddd;text-align:center;font-weight:700;color:#fff;text-transform:uppercase}
#side_resumen>div label{color:#a80d11;font-size:1.25rem;text-transform:uppercase}
#side_resumen>div table{width:100%;margin-bottom:15px}
#side_resumen>div table tr td:nth-child(1){width:60%;text-align:left}
#side_resumen>div table tr td:nth-child(2){width:40%;text-align:right}
#side_resumen>div table tr.subtotal td{font-weight:700;font-size:1.1em;border-bottom:1px solid #ddd}
#side_resumen>div.total_box{border-radius:20px;background:#ddd;padding:10px 20px;text-align:center}
#side_resumen>div.total_box .reserva_subtotal{text-align:center;font-weight:700;font-size:1.6em;padding:10px 0 25px 0;display:block}
#side_resumen>div.total_box .all_the_buttons{font-size:.9rem}
#rgpd_new{font-size:60%;color:#fff}
.autocomplete-suggestions{border:1px solid #999;background:#fff;cursor:default;overflow:auto;box-shadow:1px 4px 3px rgba(50,50,50,.64);font-size:12px}
.autocomplete-suggestion{padding:2px 5px;white-space:normal;overflow:hidden}
.autocomplete-no-suggestion{padding:2px 5px}
.autocomplete-selected{background:#f0f0f0}
.autocomplete-suggestions strong{font-weight:700;color:#000}
.autocomplete-group{padding:2px 5px}
.autocomplete-group strong{font-weight:700;font-size:12px;color:#000;display:block;border-bottom:1px solid #000}
.cdw_tooltip{display:inline-block;position:relative;cursor:help;padding:0;margin:0;box-sizing:border-box}
.cdw_tooltip .cdw_tooltiptext{position:absolute;bottom:0;left:0;box-shadow:1px 1px 5px 2px rgba(0,0,0,.2);width:200px;padding:10px;box-sizing:border-box;background-color:#fff;border:2px solid #555;border-radius:3px;color:#000;font-size:12px;font-weight:300;display:none;text-align:center;z-index:1}
.cdw_tooltip:hover{bottom:0}
.flatpickr-day.selected{background-color:#a80d11;border-color:#a80d11}
#barraaceptacion{display:none;position:fixed;left:0;bottom:0;padding-bottom:20px;width:100%;text-align:center;min-height:40px;background-color:rgba(0,0,0,.5);color:#fff;z-index:99999}
#barraaceptacion .inner{width:100%;position:absolute;padding-left:5px;font-family:verdana;font-size:12px;top:30%}
#barraaceptacion .inner a.ok{padding:4px;color:#00ff2e;text-decoration:none}
#barraaceptacion .inner a.info{padding-left:5px;text-decoration:none;color:#faff00}
/*# sourceMappingURL=style2025.css.map */


/* ==========================================================================
   MEJORAS VISUALES PREMIUM - MODERNIZACIÓN SIN FILTRACIONES DE LAYOUT
   ========================================================================== */

#topform_holder #topform {
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

#topform_holder #topform input,
#topform_holder #topform select {
    height: 52px !important;
    border-radius: 14px !important;
    border: 1px solid #e5e5e5 !important;
    font-size: 18px !important;
}

#topform_holder #topform label {
    font-size: 14px !important;
    font-weight: 700 !important;
}

#cdw_form button {
    background: #FFC107 !important;
    border: none !important;
    color: #111 !important;
    font-weight: 800 !important;
    border-radius: 16px !important;
    height: 52px !important;
    box-shadow: 0 8px 20px rgba(255,193,7,.35);
}

#cdw_form button:hover {
    background: #ffca2c !important;
}

/* --- BLOQUE DE CONFIANZA (TRUST BOX UNIFICADO) --- */
.trust-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border-radius: 20px;
    padding: 20px 25px;
    margin: 30px auto;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    max-width: 1100px;
}

.trust-item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
}

.trust-item i {
    color: #FFC107;
    font-size: 34px;
    min-width: 34px;
}

.trust-item strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

.trust-item span {
    display: block;
    font-size: 15px;
    color: #666;
}

.trust-divider {
    width: 1px;
    height: 55px;
    background: #e5e5e5;
    margin: 0 25px;
}

@media(max-width:768px) {
    .trust-box {
        flex-direction: column;
        gap: 18px;
    }
    .trust-divider {
        display: none;
    }
}

/* --- CALENDARIO FLATPICKR (BOTÓN DE CONFIRMACIÓN CORREGIDO) --- */
.flatpickr-confirm-btn {
    width: calc(100% - 20px);
    margin: 10px;
    height: 48px;
    border: none;
    border-radius: 12px;
    background: #FFC107;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(255,193,7,.35);
    transition: .2s;
}

.flatpickr-confirm-btn:hover {
    background: #ffca2c;
    transform: translateY(-1px);
}

/* --- IDENTIFICADORES VISUALES DE BORDES IZQUIERDOS --- */
#topform_holder #topform input#origen_name {
    border-left: 6px solid #d90429 !important;
    background-color: #fff !important;
}

#topform_holder #topform input#destino {
    border-left: 6px solid #FFC107 !important;
    background-color: #fff !important;
}

#topform_holder #topform input#f_ent_human,
#topform_holder #topform input#f_sal_human,
input.flatpickr-input {
    border-left: 6px solid #2a9d8f !important;
}

#topform_holder #topform input:hover,
#topform_holder #topform select:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,.10) !important;
}

/* --- CUADRO DE ERROR PREMIUM --- */
#topform .formError {
    background: #fff4e5 !important;
    border: 1px solid #ffd27a !important;
    color: #b45309 !important;
    border-radius: 14px !important;
    padding: 12px 18px !important;
    margin: 0 0 15px 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
}

#topform .formError:before {
    content: "⚠️ ";
    margin-right: 6px;
}

.input_err {
    border: 2px solid #ef4444 !important;
    box-shadow: 0 0 0 4px rgba(239,68,68,.12) !important;
}

@media (max-width:768px) {
    #topform .tf_g2 {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-bottom: 12px !important;
    }
    #form_step1 {
        width: 100% !important;
        display: block !important;
    }
    #cdw_form button {
        margin-top: 8px !important;
    }
}

/* Ocultar iconos obsoletos en las etiquetas */
#topform_holder #topform label img,
#topform label img {
    display: none !important;
}
    
/* --- PANTALLA DE ÉXITO FINAL --- */
.booking-success {
    text-align: center;
    padding: 30px;
    max-width: 800px;
    margin: 0 auto;
}

.success-icon {
    width: 80px;
    height: 80px;
    line-height: 80px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: #28a745;
    color: #fff;
    font-size: 42px;
    font-weight: bold;
}

.success-reserva {
    margin: 25px auto;
    padding: 25px;
    background: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    max-width: 500px;
}

.success-reserva strong {
    display: block;
    font-size: 32px;
    margin-top: 10px;
}

.success-welcome {
    font-size: 18px;
    margin-bottom: 20px;
}

.btn-home {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 30px;
    background: #FFC107;
    color: #111;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 700;
}

.btn-home:hover {
    opacity: 0.9;
}

#step8_holder ~ #side_resumen {
    display: none;
}

.booking-summary-final {
    max-width: 600px;
    margin: 30px auto;
    padding: 20px;
    background: #f8f8f8;
    border-radius: 10px;
    text-align: left;
}

.booking-summary-final h3 {
    text-align: center;
    margin-bottom: 20px;
}

.booking-summary-final p {
    margin: 10px 0;
}

#step8_holder.booking-success {
    max-width: 900px;
    margin: 0 auto;
    float: none;
}

#step8_holder .success-reserva,
#step8_holder .booking-summary-final {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
}

body.booking-complete #step_icon,
body.booking-complete #step_texts,
body.booking-complete #reserva_desglose,
body.booking-complete #change_dates,
body.booking-complete #step_journey,
body.booking-complete #side_resumen {
    display: none !important;
}

/* --- CHECKBOX LEGAL MODERNO --- */
.aviso-contenedor h4 {
    font-size: 15px;
    color: #d62b2b;
    line-height: 1.5;
    font-weight: bold;
    margin: 10px 0;
}

.checkbox-container-nuevo {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    cursor: pointer;
    font-size: 15px;
    user-select: none;
    text-align: left;
}

.checkbox-container-nuevo input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark-nuevo {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 22px;
    width: 22px;
    background-color: #fff;
    border: 2px solid #ccc;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.checkbox-container-nuevo:hover input ~ .checkmark-nuevo {
    border-color: #d62b2b;
}

.checkbox-container-nuevo input:checked ~ .checkmark-nuevo {
    background-color: #d62b2b;
    border-color: #d62b2b;
}

.checkmark-nuevo:after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox-container-nuevo input:checked ~ .checkmark-nuevo:after {
    display: block;
}

.checkbox-container-nuevo .checkmark-nuevo:after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.texto-legal a {
    color: #222;
    text-decoration: underline;
    font-weight: bold;
    margin-right: 5px;
}

.texto-legal a:hover {
    color: #d62b2b;
}

/* --- CORRECCIÓN ABSOLUTA SOBRE BOTONES DESHABILITADOS --- */

/* Baja la fuerza visual del contenedor al bloquear */
.all_the_buttons.disabled-block,
.bookRes.disabled-block {
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

/* Fuerza el estado gris a CUALQUIER botón nativo deshabilitado (central o lateral derecho) */
button[name="bookReservation"]:disabled, 
button[name="bankReservation"]:disabled,
.all_the_buttons button:disabled,
.bookRes button:disabled {
    background-color: #e2e7ec !important;
    background-image: none !important;
    color: #8a8f98 !important;
    cursor: not-allowed !important;
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================================================
   EFECTO DINÁMICO PARA CASILLAS OBLIGATORIAS (CONTACTO Y VUELO)
   ========================================================================== */

/* 1. Estado inicial: Casilla obligatoria VACÍA (Llama la atención) */
.div_holder input[required]:placeholder-shown,
#datosvuelo input[required]:placeholder-shown {
    background-color: #fff9e6 !important; /* Fondo crema/amarillo suave */
    border: 1px solid #cca43b !important;  /* Borde dorado de advertencia */
}

/* 2. Estado completado: El usuario ya ha escrito en ella (Cambia a correcto) */
.div_holder input[required]:not(:placeholder-shown),
#datosvuelo input[required]:not(:placeholder-shown) {
    background-color: #ffffff !important;  /* Fondo blanco limpio */
    border: 1px solid #2a9d8f !important;  /* Borde verde esmeralda suave */
    box-shadow: 0 0 0 3px rgba(42, 157, 143, 0.1) !important;
}

/* 3. Mientras el usuario está tecleando dentro de ella */
.div_holder input[required]:focus,
#datosvuelo input[required]:focus {
    background-color: #ffffff !important;
    border-color: #FFC107 !important;     /* Borde amarillo de tu web */
    box-shadow: 0 0 0 4px rgba(255, 193, 7, 0.2) !important;
    outline: none;
}

/* --- ESTILO PERSONALIZADO PARA LANDING DE DENIA --- */

/* Fondo del motor y sombra elegante */
.motor-denia-custom .res-box {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    padding: 25px !important;
    border: none !important;
}

/* Títulos y etiquetas del formulario */
.motor-denia-custom label, 
.motor-denia-custom .step-title {
    color: #031f41 !important;
    font-weight: 700 !important;
}

/* Campos de entrada (Origen, Destino, etc.) */
.motor-denia-custom input, 
.motor-denia-custom select {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 10px !important;
    color: #334155 !important;
}

/* Botón de búsqueda/reserva corporativo */
.motor-denia-custom button {
    background: #ffcc00 !important;
    color: #031f41 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
    border: none !important;
    width: 100% !important;
    transition: background 0.3s ease !important;
}

.motor-denia-custom button:hover {
    background: #e6b800 !important;
}

/* --- Limpieza y orden del motor en la Landing --- */
.motor-denia-custom .res-box {
    background: #ffffff !important;
    padding: 20px !important;
    border-radius: 8px !important;
}

/* Ocultar elementos sobrantes que salen en la imagen */
.motor-denia-custom .titulo-reserva, 
.motor-denia-custom h2, 
.motor-denia-custom .pasos-reserva {
    display: none !important;
}

/* Alinear los campos para que no se vean desordenados */
.motor-denia-custom .form-group {
    margin-bottom: 15px !important;
}

.motor-denia-custom input, 
.motor-denia-custom select {
    width: 100% !important;
    height: 40px !important;
}

/* ===========================
   BOTÓN CONFIRMAR CALENDARIO
   =========================== */

.flatpickr-confirm-btn{

    width:calc(100% - 20px);

    margin:10px;

    padding:14px 0;

    border:none;

    border-radius:14px;

    background:linear-gradient(180deg,#FFD95A,#FFC107);

    color:#111;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    box-shadow:0 8px 20px rgba(255,193,7,.35);

    transition:.25s;
}

.flatpickr-confirm-btn:hover{

    background:#ffb300;

    transform:translateY(-1px);

}