/* Navegación de pasos */
.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {display:none!important;}
#reserva-parking-page {max-width: 950px; margin: 0 auto;}
.step-navigation ul::before {
    content:""; width: 450px; height: 2px; background-color: #999;
    position: absolute; top: 35px; left: 50%; transform: translate(-50%, -50%);
}
.step-navigation ul {
    margin:0; padding:0; list-style: none; position: relative; margin-bottom: 35px;
    display: flex; align-items: center; justify-content: center; gap: 25px;
}
.step-navigation ul li {width: 175px; margin: 0; padding:0; text-align: center; position: relative;}
.step-navigation ul li h4 {color:#666!important; font-weight: normal!important; font-size: 16px;}
.step-navigation ul li h4 strong {
    display:block; width: 50px; height: 50px; line-height: 50px; font-size: 23px; background-color: #fff;
    border: 1px solid #666; color: #666!important; border-radius: 50%; margin:10px auto;
}
.step-navigation ul li.active h4 {color:#000!important; font-weight: bold!important;}
.step-navigation ul li.active h4 strong {border:1px solid #000!important; color:#000!important;}

/* pasos */
.step-wrapper {margin: 20px 0; background: #f9f9f9; border: 1px solid #ddd;}
.step-heading {padding: 15px; border-bottom: 2px solid #000; }
.step-heading strong {display: inline-block; border-right: 1px solid; padding: 0 10px;}
.step-content {padding: 25px 15px 0 15px !important;}

/* formulario */
.step-active .step-heading {background-color: #000;}
.step-active .step-heading h4, .step-active .step-heading strong {color: #fff!important; font-weight: normal!important;}
.step-active .step-heading h4 {margin-bottom: 0!important;}
.step-active .step-heading strong {margin-right: 7px;}
.step-booking-form {margin-bottom: 0!important;}
.step-booking-form label {display:none!important;}
.step-booking-form input[type="text"], .step-booking-form input[type="email"], 
.step-booking-form select {
    /* padding: 8px 12px; width: 100%;
    background-color: #fff; border: 1px solid #ccc; border-radius: 3px;
    */
}

.step-booking-form input[type="text"], .step-booking-form input[type="email"], 
.step-booking-form select {
    outline: none; border-color: #666; box-shadow: none!important;
}
.step-booking-form .booking-form-button  {
    width: 100% !important; max-width: 300px !important; 
    margin: 0px !important; padding: 12px 24px !important; 
    background: #000 !important; color: #fff !important;
    border: none !important; border-radius: 0px !important;
    font-size: 16px !important; font-weight: 600 !important; text-transform: uppercase !important;
    cursor: pointer !important; transition: all 0.3s ease !important;
}
.step-booking-form .booking-form-button:hover {
    background: #333 !important; box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}
.step-booking-form .booking-form-button:disabled {
    background: #ccc !important; cursor: not-allowed !important; box-shadow: none !important;
}

.booking-form-response {}
.booking-form-response > * { display:block; padding: 10px; margin:0 10px 20px 10px; }
.booking-form-response .response-error {   
    color:#ff0000; border:1px solid #ff0000; background-color: #ffe6e6;
    background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24;
}
.booking-form-response .response-success { 
    color: rgb(0, 128, 0); border: 1px solid rgb(0, 128, 0); background-color: rgb(230, 255, 230);
    background: #d4edda; border: 1px solid #c3e6cb; color: #155724;
}

/* FORMULARIO RESERVA */ 
#step-reserva-parking .booking-form-row {display: flex; gap: 35px; flex-wrap: wrap; align-items: center;}
#step-reserva-parking .booking-form-row .booking-form-column {min-width: 200px; flex: 1;}
#step-reserva-parking .reserva-buttons {text-align: right;}
.reserva-entrada, .reserva-salida {padding: 10px;}
.reserva-entrada .booking-form-field, .reserva-salida .booking-form-field {display: inline-block; width: 125px;}
.reserva-entrada h4, .reserva-salida h4 {
    padding-bottom: 5px; margin-bottom: 10px; border-bottom: 1px solid; color: #999;
    font-size: 14px !important; font-weight: normal !important; text-transform: uppercase;
}

.booking-form-row.reserva-summary {
    background: #d4edda;  color: #155724;
    border: 10px solid #f9f9f9; border-top: 0; border-right:0;
}
.booking-form-row.reserva-summary p {margin:0!important;}
.reserva-summary .reserva-duracion, .reserva-summary .reserva-precio {padding: 0 10px;}
.reserva-summary .reserva-duracion strong, .reserva-summary .reserva-precio strong {font-size:18px;  color: #155724;}
.step-content .resumen-reserva-parking {list-style: none; margin:0; padding:0px; display: flex; gap: 10px; align-items: stretch;
    justify-content: space-between; flex-wrap: wrap;}
.step-content .resumen-reserva-parking li {margin:0; margin-bottom: 20px;flex: 1;}
.step-content .resumen-reserva-parking li strong {display: block;}

/* Flatpickr custom styles */
.flatpickr-current-month {padding: 0!important;}
.flatpickr-current-month select {
    margin:0!important; border: none!important;
    text-align: center; background-image:none!important
}
.flatpickr-day.blocked-date {
    background-color: rgba(198, 40, 40,0.3) !important; color: white !important;
    cursor: not-allowed !important; border-radius: 50%!important;
}
.flatpickr-day.past-date {
    background-color: #f5f5f5 !important; color: #bdbdbd !important; 
    cursor: not-allowed !important;
}

/** FORMULARIO PEDIDO */
#formulario-pedido-parking .booking-form-row {display: flex; flex-wrap: wrap;}
#formulario-pedido-parking .booking-form-field {flex-grow: 1; flex-shrink: 1; flex-basis: auto; padding: 0 10px;}
#formulario-pedido-parking .booking-form-field:nth-child(odd) {width: 40%;}
#formulario-pedido-parking .booking-form-field:nth-child(even) {width: 60%;}
#formulario-pedido-parking .booking-form-field-matricula, #formulario-pedido-parking .booking-form-field-country, #formulario-pedido-parking .booking-form-field-state {width: 33%!important;}
#formulario-pedido-parking p {font-weight: bold; margin: 0 10px 20px 10px;}
#formulario-pedido-parking .booking-form-acepta {width: 100%!important; margin: 10px; margin-top: 0px;}
#formulario-pedido-parking .booking-form-acepta label {display: inline !important; font-weight: normal;}
#formulario-pedido-parking .booking-form-acepta label a {color: #000; font-weight: bold; text-decoration: underline!important;}
button#enviar-pedido {margin:10px!important; margin-bottom: 20px!important;}

/* DATOS DE LA RESERVA  */
#step-pedido-parking .resumen-pedido-parking {font-size: 14px;}
#step-pedido-parking .resumen-pedido-parking p.leading {margin-top:0;}
#step-pedido-parking .resumen-pedido-parking p.leading strong {color:#000;}

/* PAGO */
#step-pago-parking.step-active {}
#order_review .shop_table {display:none!important;}
.order_item td {vertical-align: top!important; text-align: right!important;}
.order_item td.product-name {text-align: left!important;}
.order_item td.product-name ul.wc-item-meta {margin: 0; padding: 0;}
.order_item td.product-name ul.wc-item-meta li p {display: inline;}
#step-pago-parking #payment {margin:0!important;}
#step-pago-parking .payment-method {margin-bottom: 20px;}
#step-pago-parking .payment-method label {font-weight: normal;}
#top #step-pago-parking #payment #place_order {background-color: #74af49!important; font-weight: bold; text-transform: uppercase;}


/* Responsive design */
@media (max-width: 768px) {
    #step-reserva-parking .booking-form-row {flex-direction: column; gap: 15px;}
    #step-reserva-parking .booking-form-field {min-width: 100%;}
    .calcular-precio, .reserva-parking-submit {max-width: 100% !important;}
}


/* CONDICIONES DEL SERVICIO */
.greentab.togglecontainer {max-width: 950px; margin: 0 auto;}
.greentab.togglecontainer .toggler.av-title-above {background-color: #74af49!important; color: #fff!important;}

