/*
Theme Name: Simply Auto Transport
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Web Booster
Author URI: https://webbooster.com.co/
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.1.1.1722966757
Updated: 2024-08-06 17:52:37

*/

.ti-profile-img-square {
    display: none;
}

div#email_footer a.mail-link span,
div.email_footer a.mail-link span {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
}

.form_home label.gfield_label.gform-field-label,
.form_home legend.gfield_label.gform-field-label.gfield_label_before_complex,
.form_home label.gform-field-label.gform-field-label--type-inline.gfield_consent_label,
#home_white p.gform_required_legend,
.home_white p.gform_required_legend,
.form_home .gchoice label,
.form_home span label.gform-field-label,
.form_home span label,
.form_home legend.gfield_label.gform-field-label
{
    color: #F4F5F6;
    font-size: 16px;
}

.form_home input#gform_submit_button_1,
.form_home input[id^="gform_submit_button"] {
    background-color: #0baccf !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: #FFFFFF !important;
    border-radius: 30px 30px 30px 30px !important;
    padding: 10px 20px 10px 20px !important;
}

.form_home label.gfield_label.gform-field-label, .form_home legend.gfield_label.gform-field-label.gfield_label_before_complex, .form_home label.gform-field-label.gform-field-label--type-inline.gfield_consent_label, #home_white p.gform_required_legend, .home_white p.gform_required_legend{
    font-family: "Libre Franklin", Sans-serif;
}

.form_home div#field_submit {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.gform-theme--foundation .gform_fields {
    row-gap: 20px;
}

.menu_sb ul.sub-menu {
    width: 100% !important;
}

.justificar p.elementor-icon-box-description {
    text-align: justify;
}

.form_home a {
    color: #A1CD3A;
    font-weight: bold;
}

.pencil-background {
    position: relative;
    display: inline-block;
    background-color: #000; /* Fondo negro para el triángulo */
    padding: 10px 50px;
    text-align: center;
}

.pencil-background h2::after {
    content: '';
    position: absolute;
    right: -40px;
    top: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 0 40px 40px;
    border-color: transparent transparent transparent black;
    z-index: 1;
}

.pencil-background-left{
    position: relative;
    display: inline-block;
    background-color: #000; /* Fondo negro para el triángulo */
    padding: 10px 50px;
    text-align: center;
}

.pencil-background-left h2::after{
    content: '';
    position: absolute;
    top: 0;
    right: 100%; /* Posiciona el triángulo a la izquierda del texto */
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 40px 0;
    border-color: transparent black transparent transparent;
}

div#we_provide {
    grid-template-columns: 100px 1fr;
}

.tag-shape {
  width: 82px;
  height: 72px;
  background-color: #005ba3; /* Azul similar al de la imagen */
  position: relative;
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
}

.tag-shape-left{
  width: 82px;
  height: 72px;
  background-color: #005ba3; /* Azul similar al de la imagen */
  position: relative;
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  transform: scaleX(-1);
}

.btn-simply i.fas {
    background: #fff;
    border-radius: 50%;
    padding: 5px;
    color: #000;
}

.text_decora_animated h3{
    margin-bottom: 8px;
}

.faqlist .ewd-ufaq-faq-div{
    border: 2px solid #707070;
    border-radius: 30px;
    padding: 10px 20px;
    margin: 10px 0;
}

.faqlist_style2 .ewd-ufaq-faq-div{
    border: 2px solid #777;
    border-radius: 5px;
    padding: 10px 20px;
    margin: 10px 0;
}

.faqlist_style2 .ewd-ufaq-faq-div a.ewd-ufaq-post-margin {
    display: flex;
    flex-direction: row-reverse;
    column-gap: 0px;
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: center;
}

.faqlist_style2 .ewd-ufaq-faq-title-text{
    float: none;
    width: 100%;
}

.faqlist_style2 .ewd-ufaq-faq-div a.ewd-ufaq-post-margin .ewd-ufaq-post-margin-symbol.ewd-ufaq- {
    margin-right: 0;
}

.faqlist_style2 .ewd-ufaq-faq-div a.ewd-ufaq-post-margin{
    color: #777;
}

.faqlist_style2 .ewd-ufaq-faq-div a.ewd-ufaq-post-margin .ewd-ufaq-clear {
    display: none;
}

.faqlist_style2 .ewd-ufaq-faq-div a.ewd-ufaq-post-margin .ewd-ufaq-post-margin-symbol.ewd-ufaq- span {
    font-size: 15px;
}

.faqlist .ewd-ufaq-faq-div a.ewd-ufaq-post-margin{
    color: #095e8c;
}

.faqlist .ewd-ufaq-faq-div .ewd-ufaq-faq-categories,
.faqlist_style2 .ewd-ufaq-faq-div .ewd-ufaq-faq-categories {
    display: none;
}

button.flipster__button.flipster__button--next,
button.flipster__button.flipster__button--prev {
    opacity: 1;
}

/* style testimonios */

.ti-widget.ti-wp-testimonial-1 .ti-profile-img-square img {
    margin: 0 auto;
    border-radius: 50%;
    width: 50%;
}

.ti-widget.ti-wp-testimonial-1 .ti-profile-img-square {
    margin-bottom: 20px;
}

.testimonios .ti-widget.ti-wp-testimonial-1 .ti-review-item .ti-inner{
    border-radius: 25px !important;
    margin-bottom: 10px !important;
}

.testimonios .ti-widget.ti-wp-testimonial-1 .ti-review-item:nth-child(odd) .ti-inner,
.testimonios .ti-widget.ti-wp-testimonial-1 .ti-review-item:nth-child(odd) .ti-profile-img-square img {
    -webkit-box-shadow: 7px 7px 0px 0px rgba(161, 205, 58, 1);
    -moz-box-shadow: 7px 7px 0px 0px rgba(161, 205, 58, 1);
    box-shadow: 7px 7px 0px 0px rgba(161, 205, 58, 1);
}

.testimonios .ti-widget.ti-wp-testimonial-1 .ti-review-item:nth-child(even) .ti-inner,
.testimonios .ti-widget.ti-wp-testimonial-1 .ti-review-item:nth-child(even) .ti-profile-img-square img {
    -webkit-box-shadow: 7px 7px 0px 0px rgba(11, 172, 207, 1);
    -moz-box-shadow: 7px 7px 0px 0px rgba(11, 172, 207, 1);
    box-shadow: 7px 7px 0px 0px rgba(11, 172, 207, 1);
}

.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-next:after,
.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-prev:after,
.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-next:before,
.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-prev:before {
    background: #000000 !important;
}

.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-next:after,
.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-next:before {
    right: -10px !important;
}

.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-prev:after,
.ti-widget.ti-wp-testimonial-1 .ti-controls .ti-prev:before {
    left: -10px !important;
}

.quote-hedear, .route.quote-validation .bg-secondary,
.route.quote-validation hr {
    display: none;
}

button#route-btn,
button#route-btn-autotransport,
button#data-info,
button#condition-type,
button#transport-vehicle,
button#pickup-wrapper,
button#delivery-wrapper,
#quote-form button.btn.btn-primary {
    background-color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #0baccf !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: #0baccf !important;
    border-radius: 30px 30px 30px 30px !important;
    padding: 10px 20px 10px 20px !important;
    display: flex;
    gap: 10px;
    justify-content: center;
}

div#cotizacion_form button#route-btn:hover,
div#cotizacion_form button#route-btn-autotransport:hover,
#quote-form button#data-info:hover,
div#cotizacion_form button#condition-type:hover,
div#cotizacion_form button#transport-vehicle:hover,
div#cotizacion_form button#pickup-wrapper:hover,
div#cotizacion_form button#delivery-wrapper:hover,
div#cotizacion_form button#transport-type:hover {
    background-color: #0baccf !important;
    color: #fff !important;
    border-color: #19283c !important;
}

h2#header_transport_section {
    text-align: center;
}

input#pickup_location,
input#destination,
input#origin,
input#user_lastname,
input#delivery_location,
form#quote-form span,
form#quote-form input,
form#quote-form select,
form#quote-form select option {
    border-radius: 25px;
    color: #fff;
}

div#open-outlined-wrapper .btn-check:checked+.btn,
div#running-outlined-wrapper .btn-check:checked+.btn,
div#non-running-outlined-wrapper .btn-check:checked+.btn,
div#enclosed-outlined-wrapper .btn-check:checked+.btn {
    background-color: #19283c !important;
    color: #fff !important;
}

div#cotizacion_form button#route-btn:hover svg,
div#cotizacion_form button#route-btn-autotransport:hover svg,
#quote-form button#data-info:hover svg,
div#cotizacion_form button#condition-type:hover svg,
div#cotizacion_form button#transport-vehicle:hover svg,
div#cotizacion_form button#pickup-wrapper:hover svg,
div#cotizacion_form button#delivery-wrapper:hover svg,
#quote-form button.btn.btn-primary:hover svg {
    fill: #fff;
}

input#delivery_location::placeholder,
input#pickup_location::placeholder,
input#destination::placeholder,
input#origin::placeholder,
input#user_name::placeholder,
input#user_lastname::placeholder,
input#user_email::placeholder,
input#user_bin::placeholder,
form#quote-form select:disabled {
    color: #fff;
}

.car-rates-form{
    max-width: 100% !important;
    width: 100%;
}

.pading-form-right{
    padding-right: 16px;
}

input[type=date]:focus, input[type=email]:focus,
input[type=number]:focus, input[type=password]:focus,
input[type=search]:focus, input[type=tel]:focus,
input[type=text]:focus, input[type=url]:focus,
select:focus, textarea:focus {
    box-shadow: 0 0 0 .25rem #204ce5a6;
    border-color: #204ce5;
    outline-width: 3px !important;
    border-width: 0.8px !important;
    border-radius: 3px !important;
}

div#enclosed-outlined-wrapper label:hover,
div#running-outlined-wrapper label:hover,
div#non-running-outlined-wrapper label:hover,
div#open-outlined-wrapper label:hover {
    background-color: #19283c !important;
    color: #fff !important;
    border: solid #0baccf 2px !important;
}

button#route-btn svg,
button#route-btn-autotransport svg,
button#data-info svg,
button#condition-type svg,
button#transport-vehicle svg,
button#pickup-wrapper svg,
button#delivery-wrapper svg,
#quote-form button.btn.btn-primary svg{
    width: 20px;
    fill: #0baccf;
}

.trans-btn {
    justify-content: center;
    gap: 20px !important;
    margin-top: 20px !important;
    display: flex;
}

button#bc-route,
button#bc-trans-type-simply,
button#bck-rate,
button#bck-pickup,
button#bc-condition-simply,
button#bc-condition,
button#bc-vehicle,
button#bc-trans-type
{
    background-color: #19283c !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #0baccf;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: #0baccf !important;
    border-radius: 30px 30px 30px 30px !important;
    padding: 10px 20px 10px 20px !important;
    display: flex;
    gap: 10px;
    justify-content: center;
}

button#bc-route svg,
button#bc-trans-type-simply svg,
button#bck-rate svg,
button#bck-pickup svg,
button#bc-condition-simply svg,
button#bc-condition svg,
button#bc-vehicle svg,
button#bc-trans-type svg {
    width: 16px;
    fill: #0baccf;
}

button#bc-route:hover svg,
button#bc-trans-type-simply:hover svg,
button#bck-rate:hover svg,
button#bck-pickup:hover svg,
button#bc-condition:hover svg,
button#bc-condition-simply:hover svg,
button#bc-vehicle:hover svg,
button#bc-route:hover,
button#bc-condition:hover,
button#bc-condition-simply:hover,
button#bc-trans-type-simply:hover,
button#bck-rate:hover,
button#bck-pickup:hover,
button#bc-vehicle:hover,
button#bc-trans-type:hover svg,
button#bc-trans-type:hover {
    fill: #fff;
    color: #fff !important;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 1;
}

.transporttype,
.condition-operable {
    display: flex;
    border-top: 2px solid #000;
    gap: 10px;
    align-items: center;
    padding-top: 20px;
}

form#quote-form .transporttype label.label_autotransport,
form#quote-form label#autotransport-enclosed,
form#quote-form label#autotransport-open,
form#quote-form label#running,
form#quote-form label#non-running {
    padding: 0 !important;
    margin: initial !important;
}

.transporttype .opne,
.transporttype .enclosed,
.condition-operable .running,
.condition-operable .non-running {
    display: flex;
    align-items: center;
    gap: 5px;
}

.condition-operable {
    padding-bottom: 20px;
}

button.btn-edit-booking {
    display: block;
    margin: 0 auto;
}

/* Estilos para la modal */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background: #fff;
    padding: 20px;
    width: 1200px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    margin: 30px auto;
}

.close-modal {
    background: red;
    color: white;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    margin-top: 10px;
    border-radius: 4px;
}

.form-group {
    margin-bottom: 15px;
    text-align: left;
}

label {
    display: block;
    font-weight: bold;
}

input, select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

#origin, input#destination{
    font-size: 20px;
}

.select2-container .select2-selection--single .select2-selection__rendered{
    padding: initial;
}

div#its-operable,
div#transport-type {
    font-size: 20px;
    font-weight: 700;
}

.condition-operable label#running,
.condition-operable label#non-running,
.transporttype #autotransport-open,
.transporttype #autotransport-enclosed {
    font-weight: 500;
    font-size: 18px;
}

.pac-matched,
.pac-item-query{
    font-size: 20px;
}

.step-number {
    display: flex;
    margin-bottom: 20px;
    justify-content: space-around;
}

p.step-label {
    text-transform: uppercase;
}

span.rounded-circle.border.border-dark.active {
    box-shadow: 0 0 0 3px #0d6efd;
    border-width: 4px !important;
}

.rate-type {
    align-items: center;
    border: 6px solid #0BACCF;
    padding: 5px 15px;
    border-radius: 50px;
    cursor: pointer;
}

.star i {
    font-weight: 300;
}

.precio,
span.partitial,
span.full-prices,
.title-services {
    font-size: 2em;
    font-weight: 600;
    margin-bottom: 0 !important;
}

.rate-type span i {
    font-size: 2em;
    color: #0BACCF;
}

.rate-type.active span i:before {
    content: "\f13a";
}

.select2-container {
    width: initial;
}

.rate-type.active .market i.fa-circle:before {
    content: "\f192";
    color: #A1CD3A;
}

.market i {
    font-size: 1.5em;
}

.simply-table {
    border: none;
}

.rate-fulll, .rate-partion {
    border: none !important;
}

.fw-bold {
    font-size: 25px !important;
    margin-bottom: 0;
}

.payment {
    justify-content: center;
}

span.fs-1.fw-bold.h1 {
    padding: 20px;
    background: #0202;
    border-radius: 50px;
}

.check span.fw-bold {
    background: #0BACCF !important;
    color: #fff;
}

span.fs-1.fw-bold.h1 {
    width: 200px;
    padding: 0;
    background: #fff;
    border-radius: 25px;
    border: 3px solid #0BACCF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 25px;;
}

.rate-fulll:hover span.fs-1.fw-bold.h1, .rate-partion:hover span.fs-1.fw-bold.h1 {
    background: #0BACCF !important;
    color: #fff;
}

span.fs-1.fw-bold.h1 i {
    color: #0BACCF;
    font-size: 40px;
}

.check span.fs-1.fw-bold.h1 i,
.rate-fulll:hover span.fs-1.fw-bold.h1 i, .rate-partion:hover span.fs-1.fw-bold.h1 i{
    color: #fff;
    font-size: 40px;
}

.price-disabled {
    text-decoration: line-through;
    color: red;
    font-size: 1em !important; /* Más pequeño */
}

.full {
    display: flex;
    align-items: center;
    gap: 10px;
}

.card.m-4.simply-table {
    margin-top: 0 !important;
}

.contact-help-info {
    padding: 0;
}

.contact-help-info-wrapp{
    border: none;
}

.card-body.sobra-activa {
    box-shadow: 0px 10px 16px 0px rgba(0, 0, 0, .5);
    background: #ebebeb;
    border-radius: 25px;
    margin-top: 15px;
}

#rate-wrapper {
    margin: 0 auto;
    background-color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #0baccf !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: #0baccf !important;
    border-radius: 30px 30px 30px 30px !important;
    padding: 10px 20px 10px 20px !important;
    display: flex;
    gap: 10px;
    justify-content: center;
}

.simply-form-service, .quote-summary-wrapper {
    width: 50%;
}

#rate-wrapper:hover,
button#edit-booking:hover {
    background-color: #0baccf !important;
    color: #fff !important;
    border-color: #19283c !important;
}

button#edit-booking {
    margin: 0 auto;
    background-color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #0baccf !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: #0baccf !important;
    border-radius: 30px 30px 30px 30px !important;
    padding: 10px 20px 10px 20px !important;
    display: flex;
    gap: 10px;
    justify-content: center;
}

.encendido-tab {
    border: none;
}

.vehiculo-info-contenedor {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.booking-page {
    display: flex;
}

.card-body h4{
    font-weight: 600;
    text-transform: uppercase;
    color: var(--e-global-color-primary);
    font-size: var(--e-global-typography-primary-font-size);
}

.card-style {
    border: none;
    box-shadow: 0px 10px 16px 0px rgba(0, 0, 0, .5);
    background: #ebebeb;
    border-radius: 25px;
}

.nopay-wrapp {
    text-align: center;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
}

.nopay-cero {
    font-size: 3em;
    font-weight: bold;
    color: #fff;
    text-shadow: 3px 3px 0 #098ea8,
    6px 6px 0 #077385,
    9px 9px 0 #055965,
    12px 12px 10px rgba(0, 0, 0, 0.4);
}

h4.detail-title {
    color: #fff;
    text-align: center;
    font-size: 27px;
}

.card-style-oscuro{
    --display: flex;
    --border-radius: 25px 25px 25px 25px;
    box-shadow: 7px 7px 0px 0px #A1CD3A;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 50px;
    --padding-right: 50px;
    background-color: #19283C;
    border: none;
    color: #fff;
}

.card-style-oscuro-azul{
    --display: flex;
    --border-radius: 25px 25px 25px 25px;
    box-shadow: 7px 7px 0px 0px #0baccf;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 50px;
    --padding-right: 50px;
    background-color: #19283C;
    border: none;
    color: #fff;
}

.title_services {
    font-size: 19px;
    width: 184px;
}

.valor_services {
    font-size: 18px;
    font-weight: 500;
}

h2.tit-nopay {
    font-size: 20px;
    margin: 0;
    font-weight: 600;
    text-transform: uppercase;
}

.service-table{
    text-align: center;
}

body.booking-simply {
    /*background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 1) 70%);*/
}

.booking-wrapper {
    --bs-gutter-x: 0;
}

body.booking-simply main#content form#boooking-form {
    max-width: 1300px;
    margin: 40px auto;
}

body.booking-simply h1.entry-title {
    /*color: #fff;*/
}

body.booking-simply main#content {
    max-width: 100%;
}

h3.subtit-nopay {
    font-size: 16px;
    margin: 0;
    text-transform: uppercase;
}

h4.sumary-title {
    font-weight: 600;
    text-transform: uppercase;
    font-size: var(--e-global-typography-primary-font-size);
    color: var(--e-global-color-primary);
    text-align: center;
    border-style: solid;
    --border-style: solid;
    border-width: 0px 0px 4px 0px;
    --border-top-width: 0px;
    --border-right-width: 0px;
    --border-bottom-width: 4px;
    --border-left-width: 0px;
    border-color: var(--e-global-color-90c97b1);
    --border-color: var(--e-global-color-90c97b1);
    margin: 6px 0 0 0;
    padding: 10px;
}

.data-info.quote-validation {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.infodadata {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 10px;
}

/* Estilos del tooltip */
.custom-tooltip {
    position: absolute;
    background: #0baccf;
    color: white;
    padding: 8px 12px;
    font-size: 14px;
    border-radius: 6px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
    opacity: 0;
    display: none;
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 1000;
}

/* Flecha del tooltip */
.custom-tooltip::after {
    content: "";
    position: absolute;
    border-width: 8px;
    border-style: solid;
}

/* Ícono de FontAwesome con tooltip */
.tooltip-target {
    display: inline-block;
    cursor: pointer;
    font-size: 20px; /* Tamaño ajustable del ícono */
    color: #0baccf;
    position: relative;
}

/* Ocultar tooltips inicialmente */
.tooltip-content {
    display: none;
}

.containerservice {
    flex-direction: row;
    display: flex;
    gap: 10px;
}

.containerservice {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-option {
    padding: 10px 20px;
    border: 2px solid #0baccf;
    background-color: white;
    color: #0baccf;
    font-weight: bold;
    cursor: pointer;
    border-radius: 5px;
    transition: all 0.3s ease;
    text-align: center;
}

.btn-option.selected {
    background-color: #0baccf;
    color: white;
}

button.btn-option:hover {
    background-color: #19283C;
}

button.btn-option {
    border-radius: 25px;
}

.switch {
    position: relative;
    display: inline-block;
    width: 80px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

#slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.4s;
    border-radius: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    font-weight: bold;
    font-size: 14px;
    color: white;
    font-family: Arial, sans-serif;
}

form#quote-form #slider span {
    position: absolute;
    width: 100%;
    text-align: center;
    font-size: 14px !important;
    font-weight: bold;
    transition: opacity 0.4s;
}

.no-text {
    opacity: 1;
}

.yes-text {
    opacity: 0;
}

span.yes-text, span.no-text {
    background: transparent !important;
}

#slider:after {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 7px;
    background-color: white;
    transition: 0.4s;
    border-radius: 50%;
}

input:checked + #slider {
    background-color: #0baccf !important;
}

input:checked + #slider .no-text {
    opacity: 0;
}

input:checked + #slider .yes-text {
    opacity: 1;
    text-align: left !important;
}

input:checked + #slider:after {
    transform: translateX(46px);
}

#switch-container {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 34px;
}

#switch-input {
    opacity: 0;
    width: 0;
    height: 0;
}

#switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.4s;
    border-radius: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
}

#switch-slider img {
    width: 40px; /* Ajusta el tamaño de los íconos */
    height: auto;
    transition: opacity 0.4s;
    position: absolute;
    filter: brightness(0) invert(1);
}

#icon-open {
    opacity: 1;
    right: 15px;
}

#icon-covered {
    opacity: 0;
    text-align: left; /* Ajuste solicitado */
}

#switch-slider:after {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: 0.4s;
    border-radius: 50%;
}

#switch-input:checked + #switch-slider {
    background-color: #0baccf;
}

#switch-input:checked + #switch-slider #icon-open {
    opacity: 0;
}

#switch-input:checked + #switch-slider #icon-covered {
    opacity: 1;
    text-align: left; /* Asegura la alineación cuando está activo */
}

#switch-input:checked + #switch-slider:after {
    transform: translateX(67px);
}

div#switch-label {
    text-transform: uppercase;
    font-weight: 500;
}

div#contenerdor-form {
    min-width: 440px;
}

button#route-btn-autotransport {
    margin-top: 20px !important;
}

.icon_shadow svg {
    filter: drop-shadow(-8px 0px 3px rgba(0, 0, 0, 0.2));
}

.icon_shadow_invertido svg {
    filter: drop-shadow(8px 0px 3px rgba(0, 0, 0, 0.1));
}

.container_image .elementor-cta__bg.elementor-bg {
    background-size: contain;
    background-repeat: no-repeat;
}

img.ti-star {
    max-width: 17px !important;
}

@media (min-width: 600px) {

}

@media (max-width: 600px) {

    .containerservice {
        flex-direction: row;
        display: flex;
        gap: 10px;
    }

    .pading-form-right {
        padding-right: 0;
    }

    .card-body .form-group, .infodadata {
        flex-direction: column;
    }

    .rate-type.d-flex.justify-content-between:not(.active) + div {
        display: none !important;
    }

    .rate-fulll, .rate-partion, .rate-type{
        flex-direction: column;
    }

    .payment {
        flex-direction: column;
        align-items: center;
    }

    .simply-form-service, .quote-summary-wrapper {
        width: 100%;
    }

    div#contenerdor-form {
        padding: 40px 0 !important;
        min-width: 320px;
    }

    .trans-btn {
        flex-direction: column-reverse;
    }

    .condition-operable, .transporttype {
        flex-direction: column;
    }

    button#route-btn-autotransport {
        width: 100%;
    }

    .booking-page {
        flex-direction: column-reverse;
    }

    .pencil-background h2::after {
        border-width: 25px 0 23px 19px;
        right: -18px;
    }

    .pencil-background-left h2::after {
        border-width: 26px 26px 22px 0;
    }

    .pencil-background{

    }

    .vehiculo-info-contenedor {
        flex-direction: column;
    }

    .modal-content{
        width: 100%;
    }
}

/* =============================================================
   BOOKING RESULTS — Two-column redesign (bsr)
   ============================================================= */

.booking-simply-redesign {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px 48px;
}

.booking-map-section {
    margin-bottom: 32px;
    border-radius: 12px;
    overflow: hidden;
}

/* Two-column grid */
.booking-two-col {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 28px;
    align-items: start;
}

@media (max-width: 900px) {
    .booking-two-col {
        grid-template-columns: 1fr;
    }
    .booking-col-summary {
        order: -1;
    }
}

/* Shared card overrides */
.booking-simply-redesign .card {
    border-radius: 12px;
    border: 1px solid #e8ecf0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    margin-bottom: 20px;
}

.bsr-section-title {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #1a2d4e;
    margin-bottom: 16px;
}

/* Continue button */
.bsr-btn-continue {
    width: 100%;
    padding: 14px 24px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 8px;
}

.bsr-payment-card .card-body { padding: 20px 24px; }
.bsr-payment-note { font-size: .875rem; color: #6b7280; margin-bottom: 8px; }

/* Summary card */
.bsr-summary-card .card-body { padding: 24px; }

.bsr-route { margin-bottom: 20px; }

.bsr-route-leg {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 6px 0;
}

.bsr-route-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-top: 4px;
    flex-shrink: 0;
}

.bsr-dot-from { background: #22c55e; }
.bsr-dot-to   { background: #ef4444; }

.bsr-route-line { width: 2px; height: 20px; background: #d1d5db; margin-left: 5px; }

.bsr-route-label {
    display: block;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #9ca3af;
    margin-bottom: 2px;
}

.bsr-route-leg strong { font-size: .9rem; color: #111827; line-height: 1.3; }

/* Details table */
.bsr-details-table { width: 100%; border-collapse: collapse; font-size: .875rem; }

.bsr-details-table th,
.bsr-details-table td {
    padding: 7px 4px;
    border-bottom: 1px solid #f3f4f6;
    text-align: left;
    vertical-align: top;
}

.bsr-details-table th { color: #6b7280; font-weight: 500; width: 42%; white-space: nowrap; }
.bsr-details-table td { color: #111827; font-weight: 600; }
.bsr-details-table tr:last-child th,
.bsr-details-table tr:last-child td { border-bottom: none; }

/* Edit card */
.bsr-edit-card .card-body { padding: 8px 16px 16px; }

.bsr-edit-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    padding: 12px 8px;
    font-size: .9rem;
    font-weight: 600;
    color: #0baccf;
    cursor: pointer;
    text-align: left;
}

.bsr-edit-toggle:hover { color: #0891b2; }
.bsr-chevron { margin-left: auto; transition: transform .25s; }
.bsr-chevron.open { transform: rotate(180deg); }

.bsr-edit-panel {
    padding-top: 8px;
    border-top: 1px solid #f3f4f6;
}

/* Form fields */
.bsr-field-group { margin-bottom: 14px; }

.bsr-label {
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.bsr-input-wrap { position: relative; }

.bsr-input-wrap .fa {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    pointer-events: none;
}

.bsr-input {
    width: 100%;
    padding: 9px 10px 9px 30px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: .875rem;
    color: #111827;
    background: #fff;
    transition: border-color .15s;
    box-sizing: border-box;
}

.bsr-field-group > .bsr-input { padding-left: 10px; }

.bsr-input:focus {
    outline: none;
    border-color: #0baccf;
    box-shadow: 0 0 0 3px rgba(11,172,207,.12);
}

/* Radio group */
.bsr-radio-group { display: flex; gap: 8px; }

.bsr-radio-label {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 10px;
    border: 2px solid #d1d5db;
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    color: #374151;
    transition: border-color .15s, background .15s, color .15s;
    user-select: none;
}

.bsr-radio-label input[type="radio"] { display: none; }

.bsr-radio-label.active {
    border-color: #0baccf;
    background: #e0f7fb;
    color: #0baccf;
}

/* Vehicle selects */
.bsr-vehicle-selects { display: flex; flex-direction: column; gap: 6px; }

.bsr-select {
    width: 100%;
    padding: 9px 32px 9px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: .875rem;
    color: #111827;
    background: #fff;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
    box-sizing: border-box;
}

.bsr-select:disabled { background-color: #f9fafb; color: #9ca3af; cursor: not-allowed; }
.bsr-select:focus { outline: none; border-color: #0baccf; }

.bsr-notice {
    font-size: .78rem;
    margin-top: 4px;
    padding: 6px 10px;
    border-radius: 5px;
    background: #fef9c3;
    color: #78350f;
}

/* Action buttons */
.bsr-recalc-actions { display: flex; gap: 10px; margin-top: 16px; }

.bsr-btn-cancel {
    padding: 9px 18px;
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
}

.bsr-btn-cancel:hover { background: #e5e7eb; }

.bsr-btn-recalc {
    flex: 1;
    padding: 9px 18px;
    background: #0baccf;
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background .15s;
}

.bsr-btn-recalc:hover { background: #0891b2; }
.bsr-btn-recalc:disabled { background: #a0d8e5; cursor: wait; }

/* Steps 2 & 3 */
.bsr-step-card { max-width: 640px; margin: 0 auto; }
.bsr-step-card .card-body { padding: 28px; }
.bsr-step-card .bsr-field-group { margin-bottom: 18px; }
.bsr-step-card .bsr-input { padding-left: 10px; }

.bsr-step-nav {
    display: flex;
    gap: 12px;
    padding: 16px 28px 24px;
    border-top: 1px solid #f3f4f6;
}

.bsr-btn-back {
    padding: 12px 24px;
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

.bsr-btn-next {
    flex: 1;
    padding: 12px 24px;
    background: #0baccf;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

.bsr-recalc-overlay {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,.75);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    font-size: 1.1rem;
    font-weight: 600;
    color: #0baccf;
    gap: 12px;
}
/* =============================================================
   RATE ACCORDION  (bsr-rate-accordion)
   ============================================================= */

.bsr-rate-accordion {
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 12px;
    transition: border-color .2s;
}

.bsr-rate-accordion.is-open {
    border-color: #0baccf;
}

/* ── Header ── */
.bsr-rate-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #fff;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: background .15s;
}

.bsr-rate-accordion.is-open .bsr-rate-header {
    background: #f0fafd;
}

.bsr-rate-header:hover { background: #f8fffe; }

.bsr-rate-header-left,
.bsr-rate-header-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bsr-tier-badge {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    letter-spacing: .02em;
}

.bsr-rate-accordion.is-open .bsr-tier-badge {
    color: #0baccf;
}

.bsr-header-price {
    font-size: 1.3rem;
    font-weight: 800;
    color: #0baccf;
}

.bsr-header-price sup {
    font-size: .75rem;
    font-weight: 600;
    vertical-align: super;
}

.bsr-rate-chevron {
    font-size: .85rem;
    color: #6b7280;
    transition: transform .2s;
}

.bsr-rate-accordion.is-open .bsr-rate-chevron {
    transform: rotate(180deg);
}

/* ── Body ── */
.bsr-rate-body {
    padding: 20px;
    background: #fff;
    border-top: 1px solid #e5e7eb;
}

/* ── Payment options ── */
.bsr-payment-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
}

/* ── Payment card ── */
.bsr-pay-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
    position: relative;
    transition: border-color .18s, box-shadow .18s, background .18s;
    background: #fff;
}

.bsr-pay-card:hover {
    border-color: #0baccf;
    background: #f0fafd;
}

.bsr-pay-card.is-selected {
    border-color: #0baccf;
    background: #f0fafd;
    box-shadow: 0 0 0 3px rgba(11,172,207,.12);
}

.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

.bsr-pay-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bsr-pay-label {
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6b7280;
}

.bsr-pay-card.is-selected .bsr-pay-label {
    color: #0baccf;
}

.bsr-pay-check {
    font-size: 1.1rem;
    color: #d1d5db;
    transition: color .15s;
}

.bsr-pay-card.is-selected .bsr-pay-check {
    color: #0baccf;
}

.bsr-pay-amount {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    line-height: 1;
}

.bsr-pay-currency {
    font-size: .85rem;
    font-weight: 700;
    color: #111827;
    align-self: flex-start;
    padding-top: 4px;
}

.bsr-pay-number {
    font-size: 2.4rem;
    font-weight: 800;
    color: #111827;
    line-height: 1;
}

.bsr-pay-card.is-selected .bsr-pay-number,
.bsr-pay-card.is-selected .bsr-pay-currency {
    color: #0baccf;
}

.bsr-pay-desc {
    font-size: .78rem;
    color: #9ca3af;
    margin: 0;
    line-height: 1.4;
}

.bsr-discount-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    border-radius: 8px;
    padding: 10px 14px;
    margin: 10px 0 6px;
    box-shadow: 0 2px 8px rgba(22,163,74,.25);
}
.bsr-discount-banner-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}
.bsr-discount-save-label {
    font-size: .65rem;
    font-weight: 700;
    color: rgba(255,255,255,.8);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bsr-discount-save-amount {
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
}
.bsr-discount-banner-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.2;
}
.bsr-discount-original-label {
    font-size: .65rem;
    color: rgba(255,255,255,.75);
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 600;
}
.bsr-discount-original-price {
    font-size: 1rem;
    color: rgba(255,255,255,.65);
    font-weight: 600;
}
.bsr-discount-original-price s {
    text-decoration-color: rgba(255,255,255,.9);
}

/* ── Rate description text ── */
.bsr-rate-desc-text {
    font-size: .85rem;
    color: #6b7280;
    margin: 4px 0 12px;
    line-height: 1.6;
}

/* ── Admin panel (details/summary) ── */
.bsr-admin-panel {
    margin-top: 16px;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fffbeb;
    padding: 0;
}

.bsr-admin-summary {
    font-size: .8rem;
    font-weight: 700;
    color: #92400e;
    padding: 10px 14px;
    cursor: pointer;
    user-select: none;
    letter-spacing: .04em;
}

.bsr-admin-table { margin-top: 8px; font-size: .78rem; }
.bsr-admin-table th { width: 40%; font-weight: 600; color: #374151; }
.bsr-admin-table td { color: #6b7280; }

/* ── Responsive ── */
@media (max-width: 540px) {
    .bsr-payment-options { grid-template-columns: 1fr; }
    .bsr-pay-number { font-size: 2rem; }
}

/* =============================================================
   SIMPLY AUTO TRANSPORT — BRAND IDENTITY OVERRIDES
   Colors: Navy #0D5FA0 | Cyan #00A8D5 | Coral #FF6B54
            Dark Gray #4C586C | Light Gray #F4F5F6
   Typography: Libre Franklin, Open Sans
   ============================================================= */

/* ── Google Font import ── */
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;600;700;800&family=Open+Sans:wght@400;600&display=swap');

/* ── Base typography for booking page ── */
.booking-simply-redesign,
.booking-simply-redesign * {
    font-family: 'Libre Franklin', 'Open Sans', sans-serif;
    color: #4C586C;
}

/* ── Two-column wrapper ── */
.booking-simply-redesign .booking-two-col {
    gap: 24px;
}

/* ── Section titles ── */
.booking-simply-redesign .bsr-section-title {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #FF6B54;
    margin-bottom: 14px;
}

/* ── Cards ── */
.booking-simply-redesign .bsr-summary-card.card,
.booking-simply-redesign .bsr-edit-card.card,
.booking-simply-redesign .bsr-step-card.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(13,95,160,.08);
    background: #fff;
}

/* ── Route dots ── */
.booking-simply-redesign .bsr-dot-from { background: #00A8D5; }
.booking-simply-redesign .bsr-dot-to   { background: #FF6B54; }
.booking-simply-redesign .bsr-route-line { background: #e5e7eb; }

/* ── Details table ── */
.booking-simply-redesign .bsr-details-table th {
    color: #9ca3af;
    font-weight: 600;
    font-size: .78rem;
}
.booking-simply-redesign .bsr-details-table td {
    color: #4C586C;
    font-weight: 600;
    font-size: .82rem;
}

/* ── Edit toggle link ── */
.booking-simply-redesign .bsr-edit-toggle {
    color: #00A8D5;
    font-weight: 700;
}
.booking-simply-redesign .bsr-edit-toggle:hover { color: #0D5FA0; }
.booking-simply-redesign #bsr-edit-chevron { color: #00A8D5; }

/* ── Edit panel inputs ── */
.booking-simply-redesign .bsr-label {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #9ca3af;
}

.booking-simply-redesign .bsr-input,
.booking-simply-redesign .bsr-select {
    border: 1.5px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    color: #4C586C;
    font-family: 'Open Sans', sans-serif;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
    transition: border-color .15s, box-shadow .15s;
}

.booking-simply-redesign .bsr-input:focus,
.booking-simply-redesign .bsr-select:focus {
    outline: none;
    border-color: #00A8D5;
    box-shadow: 0 0 0 3px rgba(0,168,213,.12);
}

/* ── Radio labels (transport type / condition) ── */
.booking-simply-redesign .bsr-radio-label {
    border: 1.5px solid #E2E8F0;
    border-radius: 8px;
    color: #4C586C;
    font-weight: 600;
    transition: border-color .15s, background .15s, color .15s;
}

.booking-simply-redesign .bsr-radio-label.active,
.booking-simply-redesign .bsr-radio-label:hover {
    border-color: #0D5FA0;
    background: #eef5fb;
    color: #0D5FA0;
}

/* ── Action buttons ── */
.booking-simply-redesign .bsr-btn-recalc {
    background: #0D5FA0;
    border-radius: 8px;
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
}
.booking-simply-redesign .bsr-btn-recalc:hover { background: #0a4f85; }
.booking-simply-redesign .bsr-btn-recalc:disabled { background: #90b8d8; }

.booking-simply-redesign .bsr-btn-cancel {
    border-radius: 8px;
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 600;
    border-color: #E2E8F0;
    color: #4C586C;
}
.booking-simply-redesign .bsr-btn-cancel:hover { background: #F4F5F6; }

/* ── Continue & Back buttons ── */
.booking-simply-redesign .bsr-btn-continue,
.booking-simply-redesign .bsr-btn-next {
    background: #0D5FA0;
    border-radius: 8px;
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
    letter-spacing: .04em;
    transition: background .15s;
}
.booking-simply-redesign .bsr-btn-continue:hover,
.booking-simply-redesign .bsr-btn-next:hover { background: #0a4f85; }

.booking-simply-redesign .bsr-btn-back {
    border-radius: 8px;
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 600;
    border-color: #E2E8F0;
    color: #4C586C;
}

/* ── Rate Accordion ── */
.booking-simply-redesign .bsr-rate-accordion {
    border: 2px solid #E2E8F0;
    border-radius: 12px;
    box-shadow: 0 1px 6px rgba(13,95,160,.05);
}
.booking-simply-redesign .bsr-rate-accordion.is-open {
    border-color: #0D5FA0;
    box-shadow: 0 2px 16px rgba(13,95,160,.12);
}

.booking-simply-redesign .bsr-rate-header { background: #fff; }
.booking-simply-redesign .bsr-rate-accordion.is-open .bsr-rate-header { background: #f0f6fc; }
.booking-simply-redesign .bsr-rate-header:hover { background: #f7fbff; }

.booking-simply-redesign .bsr-tier-badge {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 800;
    color: #4C586C;
    font-size: 1rem;
}
.booking-simply-redesign .bsr-rate-accordion.is-open .bsr-tier-badge { color: #0D5FA0; }

.booking-simply-redesign .bsr-header-price { color: #0D5FA0; }
.booking-simply-redesign .bsr-rate-chevron { color: #9ca3af; }
.booking-simply-redesign .bsr-rate-accordion.is-open .bsr-rate-chevron { color: #0D5FA0; }

/* ── Payment cards ── */
.booking-simply-redesign .bsr-pay-card {
    border: 2px solid #E2E8F0;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.booking-simply-redesign .bsr-pay-card:hover {
    border-color: #00A8D5;
    background: #f0fafd;
}
.booking-simply-redesign .bsr-pay-card.is-selected {
    border-color: #0D5FA0;
    background: #f0f6fc;
    box-shadow: 0 0 0 3px rgba(13,95,160,.1);
}

.booking-simply-redesign .bsr-pay-label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #9ca3af;
}
.booking-simply-redesign .bsr-pay-card.is-selected .bsr-pay-label { color: #FF6B54; }

.booking-simply-redesign .bsr-pay-number,
.booking-simply-redesign .bsr-pay-currency { color: #4C586C; }
.booking-simply-redesign .bsr-pay-card.is-selected .bsr-pay-number,
.booking-simply-redesign .bsr-pay-card.is-selected .bsr-pay-currency { color: #0D5FA0; }

.booking-simply-redesign .bsr-pay-check { color: #E2E8F0; }
.booking-simply-redesign .bsr-pay-card.is-selected .bsr-pay-check { color: #0D5FA0; }

.booking-simply-redesign .bsr-pay-desc { color: #9ca3af; }

/* ── Route notice ── */
.booking-simply-redesign .bsr-notice { color: #FF6B54; font-weight: 600; }

/* ── Recalc overlay ── */
.bsr-recalc-overlay { color: #0D5FA0; }

/* ── Admin panel ── */
.booking-simply-redesign .bsr-admin-summary { color: #92400e; }

/* ── Step cards ── */
.booking-simply-redesign .bsr-step-card h4 {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
    color: #0D5FA0;
    font-size: 1.1rem;
    margin-bottom: 20px;
}

/* ── Decorative coral dot separator ── */
.booking-simply-redesign .bsr-rate-body {
    border-top: 2px dotted #FF6B5430;
}

/* ── Edit & Recalculate toggle — neutralize inherited hover backgrounds ── */
.booking-simply-redesign .bsr-edit-toggle,
.booking-simply-redesign .bsr-edit-toggle:hover,
.booking-simply-redesign .bsr-edit-toggle:focus,
.booking-simply-redesign .bsr-edit-toggle:active {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.booking-simply-redesign .bsr-edit-toggle {
    color: #00A8D5 !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: color .15s !important;
}

.booking-simply-redesign .bsr-edit-toggle:hover {
    color: #0D5FA0 !important;
}

/* ── Recalculate button — forzar texto blanco (herencia de color: #4C586C del * selector) ── */
.booking-simply-redesign .bsr-btn-recalc,
.booking-simply-redesign .bsr-btn-recalc:hover,
.booking-simply-redesign .bsr-btn-recalc:focus {
    color: #ffffff !important;
}

.booking-simply-redesign .bsr-btn-next,
.booking-simply-redesign .bsr-btn-next:hover,
.booking-simply-redesign .bsr-btn-continue,
.booking-simply-redesign .bsr-btn-continue:hover {
    color: #ffffff !important;
}

/* ── Outer layout grid (replaces .booking-two-col inside the form) ── */
.booking-simply-redesign .booking-main-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 24px;
    align-items: start;
}

.booking-simply-redesign .booking-col-left {
    min-width: 0;
}

@media (max-width: 900px) {
    .booking-simply-redesign .booking-main-layout {
        grid-template-columns: 1fr;
    }
    .booking-simply-redesign .booking-col-summary {
        order: -1;
    }
}

/* ── Special Zone Surcharge breakdown (Your Quote card) ── */
.bsr-szz-breakdown {
    margin-top: 16px;
    border-top: 1px solid #e2e8f0;
    padding-top: 12px;
}
.bsr-szz-title {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin: 0 0 8px;
}
.bsr-szz-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}
.bsr-szz-table tr th,
.bsr-szz-table tr td {
    padding: 4px 0;
    vertical-align: middle;
}
.bsr-szz-table tr td {
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}
.bsr-szz-row th { color: #475569; font-weight: 400; }
.bsr-szz-total {
    border-top: 1px solid #cbd5e1;
    margin-top: 4px;
}
.bsr-szz-total th,
.bsr-szz-total td {
    padding-top: 8px;
    font-weight: 700;
    color: #1e3a5f;
}
.bsr-szz-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 20px;
    margin-right: 4px;
    text-transform: uppercase;
}
.bsr-szz-badge--pickup   { background: #dbeafe; color: #1d4ed8; }
.bsr-szz-badge--delivery { background: #fee2e2; color: #b91c1c; }

/* ── Zipcode tag en FROM/TO ── */
.bsr-zipcode-tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 1px 6px;
    margin-top: 2px;
    letter-spacing: 0.03em;
}

.bsr-discount-banner * {
    color: #fff !important;
}

/* ============================================================
   HAWAII — Child theme overrides
   ============================================================ */

/* ── Hawaii Selector (To Hawaii / From Hawaii screen) ──────── */
.hawaii-selector-wrapper {
    max-width: 480px;
    width: calc(100% - 2rem);
    margin: 2rem auto;
}

.hawaii-selector-card {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 4px 24px rgba(0,0,0,.08);
    overflow: hidden;
    padding: 1.5rem;
}

.hawaii-selector-header {
    text-align: center;
    margin-bottom: 1.25rem;
}
.hawaii-selector-flag {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}
.hawaii-selector-title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #1a3c6e;
    margin: 0 0 6px 0 !important;
}
.hawaii-selector-desc {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

.hawaii-selector-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

.hawaii-option-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #1e293b;
    cursor: pointer;
    width: 100%;
    margin: 0;
    text-decoration: none;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.hawaii-option-card:hover {
    border-color: #0ea5e9;
    background: #f0f9ff;
    box-shadow: 0 0 0 3px rgba(14,165,233,.1);
    color: #1a3c6e;
    text-decoration: none;
}
.hawaii-option-icon {
    font-size: 1.6rem;
    line-height: 1;
    flex-shrink: 0;
}
.hawaii-option-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 2px;
}
.hawaii-option-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a3c6e;
    line-height: 1.2;
}
.hawaii-option-desc {
    font-size: 12px;
    color: #64748b;
    font-weight: 400;
    line-height: 1.3;
}
.hawaii-option-arrow {
    font-size: 18px;
    color: #0ea5e9;
    flex-shrink: 0;
    font-weight: 600;
}

/* ── Hawaii location radio buttons (inside quote form) ─────── */
#quote-form .form-check {
    padding: 0;
    margin-bottom: 8px;
}
#quote-form .form-check .form-check-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
#quote-form .form-check .form-check-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    border-radius: var(--q-radius-sm) !important;
    border: 1.5px solid var(--q-border) !important;
    background: var(--q-bg) !important;
    color: var(--q-text) !important;
    cursor: pointer;
    width: 100%;
    transition: border-color var(--q-transition), background var(--q-transition), color var(--q-transition), box-shadow var(--q-transition);
}
#quote-form .form-check .form-check-label:hover {
    border-color: var(--q-accent) !important;
    background: #f0f9ff !important;
}
#quote-form .form-check .form-check-input:checked + .form-check-label {
    border-color: var(--q-accent) !important;
    background: linear-gradient(135deg, #e0f2fe, #bae6fd) !important;
    color: var(--q-primary) !important;
    box-shadow: 0 0 0 3px rgba(14,165,233,.15) !important;
}

/* ── Hawaii back link (inside quote form) ───────────────────── */
.hawaii-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    padding: 6px 12px 6px 8px;
    border-radius: 50px;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    margin-bottom: 12px;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
    line-height: 1;
}
.hawaii-back-link:hover {
    border-color: #0ea5e9;
    color: #0ea5e9;
    background: #f0f9ff;
    text-decoration: none;
}
.hawaii-back-arrow {
    font-size: 15px;
    line-height: 1;
    transition: transform 0.2s ease;
}
.hawaii-back-link:hover .hawaii-back-arrow {
    transform: translateX(-3px);
}

/* ── Hawaii port icon ────────────────────────────────────────── */
.hawaii-port-icon {
    font-size: 16px;
    margin-right: 8px;
    flex-shrink: 0;
}

/* ── Transport navigation links (Hawaii ↔ Nationwide) ─────── */
.transport-nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 1rem auto 0;
    max-width: 480px;
    width: calc(100% - 2rem);
    padding: 12px 20px;
    border-radius: 50px;
    border: 1.5px solid #e2e8f0;
    background: #ffffff;
    color: #1a3c6e;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.transport-nav-link:hover {
    border-color: #0ea5e9;
    background: #f0f9ff;
    color: #0ea5e9;
    box-shadow: 0 4px 16px rgba(14,165,233,.15);
    text-decoration: none;
}
.transport-nav-icon {
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
}
.transport-nav-text {
    flex: 1;
    text-align: center;
}
.transport-nav-arrow {
    font-size: 16px;
    color: #0ea5e9;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.transport-nav-link:hover .transport-nav-arrow {
    transform: translateX(3px);
}

/* ── Hawaii condition notice ────────────────────────────────── */
.hawaii-condition-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    border: 1px solid #fed7aa;
    border-radius: var(--q-radius-sm);
    padding: 10px 14px;
    margin-bottom: 1rem;
}
.hawaii-condition-notice span {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
}
.hawaii-condition-notice p {
    font-size: 13px;
    font-weight: 600;
    color: #9a3412;
    margin: 0;
    line-height: 1.4;
}