body {font-size: 14px !important;}

ptbody{
    /*background-color: #FAE98A;*/
    background: rgb(250,234,138);
    background: linear-gradient(180deg, rgba(250,234,138,1) 20%, rgba(189,136,60,1) 100%, rgba(189,136,60,1) 23123%);
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.font-14{font-size: 14px;}
.font-22{font-size: 22px;}
.nav-item{
    position: relative;
}
h3 i{
    font-size: 20px !important;
}
.section-shows{
    background-color: #ececec;
    /*background: rgb(250,234,138);*/
    /*background: linear-gradient(180deg, rgba(250,234,138,1) 20%, rgba(189,136,60,1) 100%, rgba(189,136,60,1) 23123%);*/
}
.container-shows{
    width: 100%;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}
@media (max-width: 1440px){
    .container-shows{
        max-width: 1480px;
    }
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto Condensed', sans-serif;
    margin: 0;
}
.bold{
    font-weight: 700;
}
a, a:hover{
    color: #2E1500;
}
.img-fluid-custom{
    max-width: none;
    width:100%;
    height: auto;
}
.card{
    border: none;
    /*    -webkit-box-shadow: 0px 10px 18px 0px rgba(255,255,255,.2);
        -moz-box-shadow: 0px 10px 18px 0px rgba(255,255,255,.2);
        box-shadow: 0px 10px 18px 0px rgba(255,255,255,.2);*/
}
.card ul {
    margin: 0;
}
.card ul li{
    /*line-height: 1.2 !important;*/
}
.card-body{
    padding: 7px;
}
.card-img-top{
    box-shadow: 0px 2px 10px 0px rgba(0,0,0,.2);
}
.show-image-container {
    position: relative;
    overflow: hidden;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    aspect-ratio: 1.9;
}
.show-image-container .card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.card-footer {
    padding: 10px ;
    /*    background-color: #ffffee;
        border-top: 1px solid #ffffdf;*/
    /*background-color: #f5f5f5 ;*/
    background-color: #fff ;
    border-top: 1px solid #dedede;
}
.card:hover{
    box-shadow: 0px 0px 28px 0px rgba(0,0,0,.3);
}

.bg-yellow{
    background-color: #FAE98A;
}

.card-borders{
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.discount{
    position: absolute;
    top: 0;
    right: 0;
}
.discount-inner{
    position: relative;
    width: 75px;
    height: 85px;
}

.clipboard {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /*background-color: #eb1e1e;*/
    background-color: #E00000;
    border-top-right-radius: 12px;
    padding: 8px;
    text-align: right;
    color: #fff;
    font-family: 'Roboto Condensed', sans-serif;
}
.clipboard-text-bold {
    font-size: 22px;
    font-weight: 700;
}
.clipboard-text-normal {
    font-size: 14px;
    line-height: 0.6;
}

.price{
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
    font-size: 22px;
}

.per-person{
    line-height: 0.5;
    font-size: 12px;
    font-weight: 300;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
}
.old{
    /*color: #c8c8c8;*/
    color: #E00000;
    text-decoration:  line-through;
}
.btn{
    border-radius: 0 !important;
}

/* DEPRECATED (2026-04-23): usar .btn-ts en el front público.
   Se mantienen estas reglas para vistas de backup (*OLD, *_bk, home2, landing)
   y para el panel /back que pueda seguir usándolas. No aplicar en nuevas vistas del front. */
.btn-custom-color {
    color: #FAE989 !important;
    background-color: #2E1500;
    /*border-color: #002454;*/
    /*    background: #000428;
        background: -webkit-linear-gradient(45deg, #000428, #004e92)!important;
        background: linear-gradient(45deg, #000428, #004e92)!important;
        color: #fff;
        border: 0;*/
}

.btn-custom-color:hover {
    background-color: #FAE989;
    color: #2E1500 !important;
    /*    background: #000428;
        background: -webkit-linear-gradient(45deg, #ddd, #fff)!important;
        background: linear-gradient(45deg, #ddd, #fff)!important;
        color: #000428;*/
}

.btn-custom-color-1 {
    color: #FAE989;
    background-color: #2E1500;
    /*border-color: #002454;*/
    /*    background: #000428;
        background: -webkit-linear-gradient(45deg, #000428, #004e92)!important;
        background: linear-gradient(45deg, #000428, #004e92)!important;
        color: #fff;
        border: 0;*/
}
.btn-custom-color-1:hover {
    background-color: #BD873C;
    color: #2E1500;
    /*    background: #000428;
        background: -webkit-linear-gradient(45deg, #ddd, #fff)!important;
        background: linear-gradient(45deg, #ddd, #fff)!important;
        color: #000428;*/
}
.btn-round{
    border-radius: 12px;
}
.btn{
    font-size: 1rem;
}
.section-houses{
    /*background: #FFFBDB;*/
    background: white;
}

.img-rounded{
    border-radius: 12px;
}
.box-brown {
    background-color: #FFF;
    position: absolute;
    bottom: 0;
    width: 100%;
    line-height: 30px;
    border: 1px solid #dedede;
    border-radius: 15px;
    padding: 10px 18px 0 !important;
    min-height: 65px;
}

.section-suscribe{
    background: #ffcc03
}
.suscribe{
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 20px;
}
.section-bannerfoot{
    background: #2E1500;
}
.section-footer{
    background: white;
}
.section-copy{
    background: #ffcc03;
}

.row.display-flex {
    display: flex;
    flex-wrap: wrap;
}
.row.display-flex > [class*='col-'] {
    display: flex;
    flex-direction: column;
}

/*
NAVBAR
*/

.navbar-brand p {
    color: #FFF;
    font-size: 29px;
    font-weight: 600;
    padding: 15px 0;
    position: absolute;
    top: 0;
}

.header{
    background: rgba(31,7,0,1);
    height: 90px;
}
.header-collapse {
    transition: .8s ease;
    background: rgba(31,7,0,1);
}

.header .navbar-default.navbar {
    padding: 10px 0;
}

.header .navbar-brand {
    padding-top: 0;
}

.header .navbar-default.navbar .navbar-nav .nav-item .nav-link {
    font-size: 14px;
    line-height: 22px;
    color: #fff;
    font-weight: 600;
    padding: 8px 14px;
}
.header .navbar-default.navbar .navbar-nav .nav-item .nav-link:hover {
    color: #e0b856;
}
.header .navbar-default .navbar-toggler {
    color: #c9a758;
    border-color: #c9a758;
}
.header .navbar-default .navbar-toggler .navbar-toggler-icon {
    color: #eee;
}
.header shrink {
    min-height: 35px;
}

.img-logo-circle {
    border-radius: 50%;
    width: 120px;
    height: auto;
}
.img-logo-circle-80 {
    border-radius: 50%;
    width: 70px;
    height: auto;
}
.img-logo-circle-100 {
    border-radius: 50%;
    width: 100px;
    height: auto;
}

ul li{
    /*line-height: 1.6;*/
}

.section-page-aboutus{
    background-color: white;
}

.box-white{
    padding: 10px;
    background-color: #fff;
    box-shadow: 0px 0px 15px 0px rgba(0,0,0,.1);
}
.li-icon{
    background: rgba(255,255,255, 0.6);
    padding: 5px;
    color:#2E1500;
    border-radius: 4px;
    /*    border-bottom-right-radius: 4px;
        box-shadow: 0px 0px 15px 0px rgba(255,255,255,.4);*/
}
.list-inline-item:not(:last-child) {
    margin-right: 0;
}

.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: .25rem;
}
.date-info{
    color: #E0B856;
}
.done-response, .fail-response {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.75em;
    text-align: center;
    padding: 20px 20px 30px 20px;
}
.dropdown-item a { text-decoration: none; }
.dropdown-item:focus, .dropdown-item:hover {
    background-color: #e0b856;
}
.dropdown-item.active, .dropdown-item:active {
    background-color: #e0b856;
}
.dropdown-menu{
    padding: 0 !important;
}

/*
.section-shows .fa-star-half-alt,
.section-shows .fa-star,
.section-houses .fa-star-half-alt,
.section-houses .fa-star,
#logo-starts .fa-star-half-alt,
#logo-starts .fa-star,
.card-title .fa-star,
.card-title .fa-star-half-alt {color: #ffcc03 !important;}
*/

.fa-star-half-alt, .fa-star {color: #ffcc03 !important;}

.black {color: black !important;}

li.li-icon .fa-star, ul.list-unstyled .fa-star {color: black !important;}

.wrapper-text{
    position: relative;
    overflow: hidden;
}
.text-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    background-image: -moz-linear-gradient(top, transparent, white);
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, transparent),color-stop(1, white));}
    
.text-overlay-house {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    /*
    background-image: -moz-linear-gradient(top, transparent, #FFFBDB);
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, transparent),color-stop(1, #FFFBDB));
    */
    background-image: -moz-linear-gradient(top, transparent, white);
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, transparent),color-stop(1, white));
}

.wrapper-text-extra-long{
    max-height: 260px;
}

.wrapper-text-long{
    max-height: 200px;
}
.text-overlay-long{
    padding-top: 200px;
}
.wrapper-text-small{
    max-height: 90px;
}
.text-overlay-small{
    padding-top: 60px;
}
.wrapper-text-medium{
    max-height: 250px;
}
.text-overlay-medium{
    padding-top: 120px;
}
.error{
    color: #E00000;
    font-weight: bold;
}

.pt-100{padding-top: 100px;}
.pt-110{padding-top: 110px !important;}
.pt-124{padding-top: 124px;}
.pt-50{padding-top: 50px;}
.pt-70{padding-top: 70px;}
.pt-80{padding-top: 80px;}
.pt-90{padding-top: 90px;}

.pt-nav-header { padding-top: 90px;}

.logo-house {top: 150px;}

.search {
    background-color: white;
    border-radius: 15px;
    text-align: center;
    color: #212529;
    border: 1px solid #dee2e6;
    padding: 14px 25px !important;
}

/* Modificación para el contenedor de búsqueda - mejor responsividad */
.container.search {
    width: 100% !important;
    max-width: 1000px !important;
    margin-left: auto;
    margin-right: auto;
}

/* Ajustes específicos para móviles */
@media (max-width: 575px) {
    .container.search {
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% 
    }
}

.navbar-brand { margin-left: 15px; }
.navbar-brand img { max-height: 50px !important; margin-top: 0px; }

@media (max-width: 575px) {
    .box-brown { position: relative; }
    .header { background: rgba(31,7,0,1); height: auto; }
    .header-collapse { transition: .8s ease; background: rgba(31,7,0,1);}
    .mt10res {margin-top: 10px; padding: 0 0 7px 15px !important;}
    .no-movil {display: none;}
    .mb10res {margin-bottom: 10px;}
    .logo-house {top: 125px;}
    .dxcf {margin-top: 0 !important; margin: 8px;}
    .navbar-brand img { max-height: 45px !important; margin-top: 5px; }
}

@media (max-width: 768px) {
    .slider-prev, .slider-next {top: 80px }
    .slider-prev {left: -20px;}
    .slider-next {right: -20px;}
    .dxcf {margin-top: 0 !important; margin: 8px;}
}

.align-media-1 {text-align: left;}
.align-media-2 {text-align: right;}

#form-book, #form-book .form-control {font-size: 14px;}

/*.card-body h5 small {font-size: 14px !important;}
.card-body .list-unstyled {font-size: 14px;}*/
.card-body .fas {margin-bottom: 5px;}

.services-show {
    background-color: #ffecac;
    border-radius: 15px;
    padding: 15px;
    margin: 15px 0;
}

.prices-show {
    border: 1px solid #dedede;
    border-radius: 15px;
    padding: 25px;
    background-color: #fff;
}

.container-book-form {
    margin: 5px 0;
    border: 1px solid #dedede;
    border-radius: 15px;
    padding: 0 25px;
    background-color:#fff;
}

.best-seller {
    background-color: #25d366;
    color: #fff;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    border-radius: 5px;
    font-size: 9px;
    padding: 1px 6px 3px;
    top: 7px !important;
    right: 6px !important;
    z-index: 3 !important;
}

.show-name-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
    background: rgba(0, 0, 0, 0.55);
    pointer-events: none;
    top: -32px;
}
.show-services-label {
    position: absolute;
    bottom: 41px;
    left: 0;
    right: 0;
    z-index: 3;
    text-align: center;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}
.show-services-bar {
    position: absolute;
    bottom: 6px;
    left: 0;
    right: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.show-services-bar a,
.show-services-bar a .fa-star,
.show-services-bar a .fa-star-half-alt,
.show-services-bar a i {
    color: #000 !important;
}
.show-services-bar a {
    color: #000;
    background-color: #ffcc03;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    text-shadow: none;
}
.show-services-bar a:hover {
    color: #000;
    background-color: #e6b800;
}

@media (max-width: 767px) {
    .show-name-overlay {
        font-size: 14px;
    }
    .show-services-label {
        font-size: 9px;
        letter-spacing: 2px;
        bottom: 44px;
    }
    .show-services-bar a {
        width: 24px;
        height: 24px;
        font-size: 11px;
    }
    .show-services-bar {
        bottom: 10px;
        gap: 6px;
    }
}

.img-logo-circle-90 {
    border-radius: 50%;
    width: 80px;
    height: 80px;
    object-fit: cover;
}
.show-house-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 0px 4px 0;
}
.show-house-logo {
    flex-shrink: 0;
    padding-top: 4px;
}
.show-house-info {
    flex: 1;
    min-width: 0;
    padding-top: 4px;
}
.show-house-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    color: #2E1500;
    margin-bottom: 6px;
}
.show-house-rating {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-top: 3px;
    font-family: 'Montserrat', sans-serif;
}
.show-house-rating:has(.show-house-stars) {
    flex-direction: column;
    align-items: flex-start;
}
.show-house-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}
.show-house-stars i {
    font-size: 11px !important;
    padding: 3px;
}
.show-house-rating i {
    background-color: #ffcc03;
    color: #fff !important;
    display: inline-block;
    padding: 4px;
    border-radius: 1px;
    font-size: 13px;
}
.show-reviews-link {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #888 !important;
    text-decoration: underline !important;
    white-space: nowrap;
    margin-left: 0;
    font-weight: 600;
}
.show-house-schedule {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    margin-top: 3px;
}
.show-house-zone {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    margin-top: 2px;
    font-weight: 600;
}
.show-house-zone a {
    color: inherit;
    position: relative;
    z-index: 9;
}
.show-schedule-price {
    display: flex;
    align-items: stretch;
    border-top: 1px solid #dedede;
    margin-top: 10px;
    padding-top: 10px;
    /*min-height: 160px;*/
}
.show-schedule-col {
    flex: 1;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    padding-right: 10px;
    border-right: none;
    align-self: flex-start;
}
.show-schedule-col li {
    margin-bottom: 2px;
    font-weight: 400;
}
.show-schedule-col li i {
    font-weight: 900;
    width: 1.25em;
    text-align: center;
    display: inline-block;
}
.show-price-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    align-self: flex-end;
    padding-left: 10px;
    min-width: 100px;
    /*min-height: 110px;*/
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 10px;
}
.show-price-col .price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
}
.show-price-col .price.old {
    font-size: 14px;
    text-decoration: line-through;
    color: #999;
    font-weight: 400;
}
.show-price-col .per-person {
    font-size: 11px;
    color: #666;
}
.show-currency {
    font-size: 14px;
}
.show-discount-badge {
    background-color: #25d366;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 4px;
}

.show-detail-link {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #888 !important;
    text-decoration: underline !important;
    font-weight: bold;
}

.show-detail-link:hover {
    color: #555 !important;
}
.book-now-button {
    background-color: #ffcc03;
    border: 2px solid #ffcc03;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    width: calc(100% - 8px);
    z-index: 9;
    padding: 10px;
}
.book-now-button:hover {
    background-color: #e6b800;
    border-color: #e6b800;
    color: #000;
}

.review-item {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}
.review-item:last-child {
    border-bottom: none;
}
.review-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.review-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #ffcc03;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.review-info {
    flex: 1;
}
.review-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #2E1500;
}
.review-stars {
    margin-top: 2px;
}
.review-stars i {
    background-color: #ffcc03;
    color: #fff !important;
    display: inline-block;
    padding: 3px;
    border-radius: 1px;
    font-size: 13px;
    margin-right: 2px;
}
.review-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #444;
    line-height: 1.5;
    margin-bottom: 8px;
}
.review-scores {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #666;
}
.review-scores i {
    color: #ffcc03 !important;
}

.badge-barrio {
    background-color: #E0B856;
    border-radius: 10px;
    margin: 3px 0 4px;
    padding: 3px 10px;
    font-weight: 500;
    font-size: 15px;
}
.filter-houses {
    border: 1px solid #dedede;
    border-radius: 15px;
    padding: 20px;
    background-color: #fff;    
}

.select2 { width: 93% !important; }

.card-body .list-unstyled {font-size: 13px !important;}

.no-gutters-a {padding-left: -15px !important;padding-right: -15px !important;}

#google-map2 {height: 600px; width: 100%;}

.btn-push {background-color: #FAE989 !important; color: black !important;}

.nav-link-custom {
    border: 1px solid #b88900;
    border-radius: 8px;
    padding: 8px 11px 6px;
    color: #f89c47 !important;
    display: inline-block !important;
}

.nav-link-custom:hover {color: white !important; text-decoration: none; border-color: white;}

.nav-item-custom {/* top: 9px;*/ }

/*.loader {width: 100% !important;}*/

.logo-inbox {width: 80px !important; bottom: 10px; }

.shape--rect {width: 100% !important}

.navbar-collapse {
    background-color: #1f0700;
    padding: 15px;
}

.card-btn {
    border-top: 1px solid #dedede;
    margin: 0 0 10px;
    padding-top: 10px;
}

/* DEPRECATED (2026-04-23): usar .btn-ts-outline.
   La clase .more-info-button-house se conserva solo como selector JS en default.blade.php. */
/* btn MORE INFO */
.more-info-button, .more-info-button-house {
    background-color: #ffffff;
    border: 2px solid #e4b65f;
    color: #e4b65f;
    transition: background-color 0.3s, color 0.3s;
    position: inherit;
    border-radius: 5px !important;
    z-index: 9;
}

.more-info-button:hover, .more-info-button-house:hover {
    background-color: #e4b65f;
    color: #000000;
}

/* DEPRECATED (2026-04-23): usar .btn-ts. Se conserva para vistas de backup. */
/* btn BUY TICKET */
.buy-button {
    background-color: #e4b65f;
    border: 2px solid #e4b65f;
    color: #212529;
    transition: background-color 0.3s, color 0.3s;
    position: inherit;
    border-radius: 5px !important;
    z-index: 9;
}

.buy-button:hover {
    background-color: #ffffff;
    color: #e4b65f;
}

.floating-wpp { z-index :9 !important; }

@media (max-width: 991px) {
    .floating-wpp { display: none !important; }
}

.stretched-link::after { bottom: 60px !important; }

.modal-dialog { max-width: 800px; }

.dropdown-item {font-size: 14px;}

.title-house {background-color: #260901; color: #ffffff;}

.startComments {
    font-size: 24px;
    letter-spacing: 6;   
}

.italic {font-style: italic;}

.jcarousel-pagination-shows { bottom: 15px; }

.search {
    background-color: white;
    border-radius: 15px;
    text-align: center;
    color: #212529;
    border: 1px solid #dee2e6;
    padding: 14px 25px !important;
}

 /* Modificación para el contenedor de búsqueda - mejor responsividad */
 .container.search {
    width: 100% !important;
    max-width: 1000px !important; /* En lugar de ancho fijo, usar max-width */
    margin-left: auto;
    margin-right: auto;
 }

 /* Ajustes específicos para móviles */
 @media (max-width: 575px) {
    .container.search {
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
 }

 .navbar-brand { margin-left: 15px; }

 /* help section */
 #help-section .card-header {
    padding: .75rem 1.25rem;
    margin-bottom: 0;
    background-color: transparent;
    border-bottom: 1px solid rgba(0,0,0,.125);
  }

  #help-section .btn:focus {
    box-shadow: none !important;
  }

  #help-section .card-body {
    padding: 15px 30px 15px 30px !important;
  }

/* Estilo base para la flecha */
.card-header button i {
    transition: transform 0.3s ease; /* Transición suave */
}

/* Estilo para la flecha cuando el acordeón está cerrado */
.card-header button:not(.active) i {
    transform: rotate(0deg); /* Rotar la flecha hacia abajo */
}

/* Estilo para la flecha cuando el acordeón está abierto */
.card-header button.active i {
    transform: rotate(90deg); /* Rotar la flecha hacia la derecha */
}

.card-header {
    position: relative;
    padding-right: 30px; /* Espacio para la flecha */
}

.card-header i {
    position: absolute;
    top: 40%;
    right: 15px; /* Ajusta el margen derecho según sea necesario */
    transform: translateY(-50%);
}

 /* CSS para el spinner */
 .spinner {
    border: 4px solid rgba(0, 0, 0, 0.1); 
    border-radius: 50%;
    border-top: 4px solid #000; 
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite; 
    text-align: center;
    margin: 0 auto;
    margin-top: 0px;
    margin-bottom: 0px;
    margin-top: 150px;
    margin-bottom: 200px;
}

/* Animación de rotación */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.social-footer i {
    font-size: 25px;
    letter-spacing: 5px;
}

.datepicker td, .datepicker th {padding: 10px !important;}

/*.datepicker table {margin: 11px 25px !important; font-size: 14px;}*/

.datepicker-days tr {height: auto !important;}

.datepicker-dropdown {
  background-color: var(--c-3);
  border: 0 !important;
}

.datepicker td, .datepicker th {color: var(--c-7);}
.datepicker table tr td.disabled {color: var(--c-5);}
.old .day {display: none;} 
.active.day {
  background-color: black !important;
  background-image:var(--c-dorado-oscuro) !important;
  /*border-radius: 100% !important;*/
  color: white !important;
}

.active.month, .active.year {
  background-color: black !important;
  background-image:var(--c-dorado-oscuro) !important;
  /*border-radius: 100% !important;*/
  color: white !important;
  min-width: 55px !important;
}

.datepicker table tr td span {
  width: 30% !important;
}

.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
  color: #DADADA !important;
}

.today.day {
  background-color: var(--c-dorado) !important;
  background-image:var(--c-dorado-oscuro) !important;
  /*border-radius: 100% !important;*/
}

.day:hover {
  background-color: black !important;
  /*border-radius: 100% !important;*/
  color: white !important;
}

.datepicker-switch:hover {background-color: black !important; color: white !important;}

.disabled.day:hover {
  background-color: transparent !important;  
}

.bootstrap-datetimepicker-widget.dropdown-menu {
    display: block;
    margin: 2px 0;
    padding: 4px;
    width: 19rem !important;
}

.datepicker-days .table td {
    border-top: 0 !important;
}

/* Pasos flow */
.step-indicator {
    font-weight: bold;
    font-size: 21px;
}

.line { transition: background-color 0.3s ease-in-out; }

.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

.fade-out {
    animation: fadeOut 0.5s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/* fin steps */

.section-page-flow {background-color: #ececec;}

     /* Estilo para los botones de más y menos */
     .button-minus, .button-plus {
        width: 40px;
        height: 40px;
        background-color: #343a40;
        color: white;
        border: none;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 18px;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .button-minus:hover, .button-plus:hover,
    .button-minus:active, .button-plus:active {
        background-color: white;
        color: #343a40;
        border: 1px solid #343a40;
    }

    /* Estilo para el input */
    .adultos-field, .menores-field {
        border: none;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        width: 60px;
        background-color: transparent;
        outline: none;
        -moz-appearance: textfield; /* Elimina flechas en Firefox */
    }

    /* Elimina flechas en Chrome, Edge y Safari */
    .adultos-field::-webkit-inner-spin-button, 
    .adultos-field::-webkit-outer-spin-button,
    .menores-field::-webkit-inner-spin-button, 
    .menores-field::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Centrando el contenido */
    .input-group {
        justify-content: center;
        align-items: center;
    }

    .form-label {
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        display: block;
    }

    #price-adult, #price-child { 
        font-size: 25px;
        font-weight: bold;
    }

    #price-label {
        margin-bottom: 0 !important;
    }
 
    .items-subtotales { 
        font-size: 20px;
        font-weight: bold;
    }

    #price-summary p {
        margin-bottom: 0 !important;
    }

    .btn-custom-flow {
        padding: 10px 60px 10px 60px;
        background-color: #aeaeae;
        font-size: 18px;
    }

    .btn-custom-flow:hover {
        background-color: black;
        color: white;
    }

    /* HTML: <div class="loader"></div> */
    
    .loader_flow {
        width: 50px;
        padding: 8px;
        aspect-ratio: 1;
        border-radius: 50%;
        background: #000;
        --_m: 
        conic-gradient(#0000 10%,#000),
        linear-gradient(#000 0 0) content-box;
        -webkit-mask: var(--_m);
                mask: var(--_m);
        -webkit-mask-composite: source-out;
                mask-composite: subtract;
        animation: l3 1s infinite linear;
    }
    @keyframes l3 {to{transform: rotate(1turn)}}

    #conte-loading { min-height: 450px; }

    .verde-claro { background-color : #e6ffe2; }

    .border-decoration {
        position: absolute;
        top: 20px;
        bottom: 20px;
        left: 20px;
        right: 20px;
        border: 1px solid rgba(128, 128, 128, 0.5); /* Gris semi-transparente para mejor visibilidad */
        pointer-events: none;
        z-index: 0;
    }

    .partners-container {
        position: relative;
        z-index: 1;
    }

    .section-bannerfoot img {
        width: auto;
    }

    .transfer-options {
        margin-top: 10px;
    }
    
    .transfer-option {
        position: relative;
    }
    
    .transfer-option input[type="radio"] {
        display: none;
    }
    
    .transfer-option label {
        display: block;
        padding: 10px 15px;
        border: 2px solid #ddd;
        border-radius: 5px;
        cursor: pointer;
        transition: all 0.3s ease;
        margin: 0;
        width: 100%;
    }
    
    .transfer-option input[type="radio"]:checked + label {
        border-color: #02BA5A;
        background-color: #f8fff8;
    }
    
    .transfer-price {
        font-weight: bold;
        color: #02BA5A;
    }
    
    .transfer-option small {
        font-size: 12px;
        opacity: 0.7;
    }

    .transfer-zone-group {
        border-left: 3px solid #ffcc03;
        padding: 6px 0 6px 10px;
        margin-top: 10px;
    }

    .transfer-zone-title {
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.5px;
        color: #333;
        text-transform: uppercase;
        margin-bottom: 6px;
    }

    .transfer-icon {
        color: #ffcc03;
        width: 18px;
        text-align: center;
        margin-right: 4px;
    }

/* Estilos para el dropdown personalizado de shows */
.custom-select-show .dropdown-toggle {
    background-color: #fff;
    border: 1px solid #ced4da;
    text-align: left;
    position: relative;
    padding-right: 30px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 100%;
}

.custom-select-show .dropdown-menu {
    width: 100%;
    padding: 0;
    margin-top: 0;
    border: 1px solid #ced4da;
    border-radius: 4px;
    max-height: 500px;
    /*min-height: 300px;*/
    overflow-y: auto;
    z-index: 9999999;
}

.custom-select-show .dropdown-item {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
    white-space: normal;
    display: flex;
    flex-direction: column;
    word-wrap: break-word;
    min-width: 0;
}

.custom-select-show .dropdown-item:last-child {
    border-bottom: none;
}

.custom-select-show .show-name {
    font-weight: 500;
    margin-bottom: 4px;
}

.custom-select-show .show-price {
    color: #e4b65f;
    font-size: 1.2em;
    font-weight: 700;
}

.custom-select-show .dropdown-item:hover {
    background-color: #f8f9fa;
}

.custom-select-show .dropdown-item.active,
.custom-select-show .dropdown-item:active {
    background-color: #e4b65f;
    color: #fff;
}

.custom-select-show .dropdown-item.active .show-price,
.custom-select-show .dropdown-item:active .show-price {
    color: #fff;
}

/* Estilos móviles para el dropdown */
@media (max-width: 575px) {

    .pt-80{padding-top: 70px;}
    .pt-110{padding-top: 90px !important;}
    .pt-nav-header { padding-top: 65px;}
    .custom-select-show .dropdown-menu {
        background-color: #333333;
        border-color: #ffffff;
    }
    
    .custom-select-show .dropdown-item { border-bottom: 1px solid rgba(255, 255, 255, 0.2); color: #ffffff; }
    .custom-select-show .show-name { color: #ffffff; }
    .custom-select-show .show-price { color: #e4b65f; }
    .custom-select-show .dropdown-item:hover { background-color: #444444; }
    .custom-select-show .dropdown-item.active,
    .custom-select-show .dropdown-item:active {
        background-color: #e4b65f;
        color: #ffffff;
    }
}

/* Ribbon destacado */
.ribbon-wrapper {
    width: 100px;
    height: 100px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.ribbon-destacado {
    text-align: center;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    position: relative;
    padding: 7px 0;
    left: -30px;
    top: 25px;
    width: 140px;
    background-color: #fabc03; 
    color: #2E1500;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
}

.back-gray {background-color: #ececec;}

/* =========================================================
   BOTONES UNIFICADOS FRONT (TS) — 2026-04-23
   Base tomada de .book-now-button. Aplica a CTA del front
   público. NO afecta panel /back ni vistas de backup.
   ========================================================= */
.btn-ts,
.book-now-button {
    background-color: #ffcc03;
    border: 2px solid #ffcc03;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 4px !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    text-decoration: none;
}
.btn-ts:hover, .btn-ts:focus,
.book-now-button:hover, .book-now-button:focus {
    background-color: #e6b800;
    border-color: #e6b800;
    color: #000;
    text-decoration: none;
}
.btn-ts.btn-ts-block { width: 100%; display: block; }
.btn-ts.btn-ts-sm    { font-size: 13px; padding: 6px 14px; }
.btn-ts.btn-ts-lg    { font-size: 17px; padding: 12px 28px; }

/* Variante outline (reemplaza more-info-button / more-info-button-house) */
.btn-ts-outline {
    background-color: #ffffff;
    border: 2px solid #ffcc03;
    color: #2E1500;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 4px !important;
    transition: background-color 0.25s ease, color 0.25s ease;
    text-decoration: none;
}
.btn-ts-outline:hover, .btn-ts-outline:focus {
    background-color: #ffcc03;
    color: #000;
    text-decoration: none;
}

/* Estado activo para toggles (view list / view map) */
.btn-ts.is-active {
    background-color: #2E1500;
    color: #ffcc03;
    border-color: #2E1500;
}

.btn-ts.is-active:hover {
    background-color: #2E1500;
    color: #ffcc03;
    border-color: #2E1500;
    opacity: 0.9;
}

.section-footer ul li {
  line-height: 1.9;
}

.mt10res {  padding: 0 0 0 10px }
.mt10res a { line-height: 1.25; padding: 0 0 0 20px; }

/* Show hero banner */
.show-hero-banner {
    position: relative;
    width: 100%;
    min-height: 280px;
    border-radius: 15px;
    background-color: #1a0a00;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.show-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.52);
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    text-align: center;
}

.show-hero-casa {
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    margin-bottom: 0.4rem;
    line-height: 1.2;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

.show-hero-show {
    color: #fff;
    font-weight: 400;
    font-size: 1.25rem;
    margin-bottom: 1.2rem;
    line-height: 1.3;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

.show-hero-btn {
    position: relative;
    z-index: 1;
}

@media (max-width: 576px) {
    .show-hero-banner  { min-height: 220px; margin-top: 30px;}
    .show-hero-casa    { font-size: 1.2rem; }
    .show-hero-show    { font-size: 1rem; }
}

/* Show date inline: label en la misma línea que el input */
.show-date-row .show-date-label {
    font-weight: 600;
    white-space: nowrap;
    margin-bottom: 0;
}
.show-date-input-group.input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    max-width: 200px;
    flex: 0 0 auto;
    width: auto;
}
.show-date-input-group.input-group .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-left: 0 !important;
}
.show-date-input-group.input-group .input-group-prepend {
    display: flex;
    margin-right: -1px;
}
.show-date-input-group.input-group .input-group-text {
    display: flex;
    align-items: center;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    color: #495057;
    padding: 0.375rem 0.75rem;
}

/* Opciones de Transfer: texto y precio en líneas separadas */
.transfer-option-line {
    display: block;
}
.transfer-option-price {
    display: block;
    padding-left: 1.7em;
    margin-top: 2px;
}

/* Summary header (encima del total a pagar) */
.summary-header {
    margin-bottom: 0.5rem;
}
.summary-header-title {
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.05em;
}
.summary-header-date {
    color: #00a452;
    font-weight: 600;
    font-size: 0.95rem;
    min-height: 1.2em;
}

/* Hotel field inline: label en la misma línea que el input */
.hotel-row {
    display: flex;
    align-items: center;
}
.hotel-row .hotel-label {
    font-weight: 600;
    white-space: nowrap;
    margin-bottom: 0;
}
.hotel-row .hotel-input-group.input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    max-width: 280px;
    flex: 0 0 auto;
    width: auto;
}
.hotel-row .hotel-input-group.input-group .hotel-input.form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-left: 0 !important;
}
.hotel-row .hotel-input-group.input-group .input-group-prepend {
    display: flex;
    margin-right: -1px;
}
.hotel-row .hotel-input-group.input-group .input-group-text {
    display: flex;
    align-items: center;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    color: #495057;
    padding: 0.375rem 0.75rem;
}