@font-face {
    font-family: 'Ebrima-Regular';
    src: url('../fonts/ebrima.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Ebrima-Bold';
    src: url('../fonts/ebrima-bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

body {
    font-family: "Ebrima-Regular", Helvetica;
}
label{
    font-weight: 900;
    font-size: 14px;
}

strong{
    font-family: "Ebrima-Bold", Helvetica;
}

/* Estilos para checkboxes personalizados */
.rounded-checkbox input[type="checkbox"],
input.rounded-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    border-radius: 4px;
    width: 14px;
    height: 14px;
    border: 1px solid var(--border-color);
    outline: none;
    cursor: pointer;
    background-color: white;
    top: 3px;
}

.rounded-checkbox input[type="checkbox"]:checked,
input.rounded-checkbox:checked {
    background-color: #6B6B6B; /* gris de fondo cuando está marcado */
    border-color: #6B6B6B;
}

/* Check blanco interno */
.rounded-checkbox input[type="checkbox"]::after,
input.rounded-checkbox::after {
    content: '';
    position: absolute;
    display: none;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid #FFFFFF;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.rounded-checkbox input[type="checkbox"]:checked::after,
input.rounded-checkbox:checked::after {
    display: block;
}

.rounded-checkbox input[type="checkbox"]:focus,
input.rounded-checkbox:focus {
    border: 2px solid var(--principal-color);
}

input[type="checkbox"],
input[type="radio"] {
    height: 16px;
}

input[type="number"]:disabled {
    background-color: transparent !important;
}

.aljpr-container {
    padding: 40px 80px;
}

.aljpr-container strong {
    font-weight: 900;
    font-family: "Ebrima-Bold", Helvetica;
}

.aljpr-box {
    border-radius: var(--radius-box);
    padding: 24px 40px 24px 40px;
}

.aljpr-small-box {
    border-radius: var(--radius-box);
    padding: 10px 40px 10px 40px;
}

.aljpr-square-box {
    border-radius: var(--radius-box);
    padding: 20px !important;
}


.border{
    border: 1px solid var(--border-color) !important;
}
.border-primary{
    border: 1px solid var(--principal-color) !important;
}
.border-right{
    border-right: 1px solid #6b6b6b;
}
.border-bottom-light{
    border-bottom: 1px solid #efefef;
}
.border-top-light{
    border-top: 1px solid #efefef;
}
.border-top{
    border-top: 1px solid #6b6b6b;
}
.border-left{
    border-left: 1px solid #6b6b6b;
}
.box-border{
    border: 1px solid var(--border-color);
}
.box-border-bottom{
    border-bottom: 1px solid var(--border-color);
    border-radius: 0px;
}

.back-grey {
    background-color: #7D7D7D;
}


.back-lightgrey {
    background-color: #F2F2F2;
}

.back-light {
    background-color: #efefef;
}

.back-lightgrey-alpha {
    background-color: rgba(245, 245, 245, 0.57);
}

.back-white {
    background-color: #FFFFFF;
}

.back-primary {
    background-color: var(--principal-color);
}

.back-primary-40{
    background-color: rgba(var(--principal-color-rgb), 0.4);
}

.back-secondary {
    background-color: var(--second-color);
}

.back-alert {
    background-color: #FFAE00;
}

.back-transparent {
    background-color: transparent;
}

.text-grey {
    color: #6B6B6B !important;
}

.text-white {
    color: white;
}

.text-primary {
    color: var(--principal-color) !important;
}

.text-secondary {
    color: var(--second-color) !important;
}

.text-black {
    color: #212529;
}

.text-error {
    color: #D82C2C !important;
}

.text-success {
    color: #11B467 !important;
}

.text-alert {
    color: #FFAE00 !important;
}
.no-border {
    border: 0;
}
.fw-700 {
    font-weight: 700;
}

.fw-900 {
    font-weight: 900;
}

.w-fit-content{
    width: fit-content !important;
}

.h-fit-content{
    height: fit-content !important;
}

.cursor-pointer {
    cursor: pointer;
}
.cursor-default {
    cursor: default !important;
}

.aljpr-container .navbar-brand img {
    max-height: 64px;
}

.aljpr-input-container {
    border-radius: var(--radius-input-buttons);
    padding: 5px;
    height: 40px;
}
nav .aljpr-input-container {
    height: 46px;
}

.aljpr-input-container.input-border, .aljpr-small-input-container.input-border{
    border: 1px solid var(--border-color);
}

.aljpr-small-input-container {
    border-radius: var(--radius-input-buttons);
    padding: 2px;
    height: 25px;
}

.aljpr-small-input-container.extra-services {
    padding: 5px;
}

.aljpr-input-container i,
.aljpr-icon-container i {
    font-size: 24px;
}

.aljpr-small-input-container i,
.aljpr-small-icon-container i {
    font-size: 15px;
}

.aljpr-input-container .input-group .input-group-append,
.aljpr-small-input-container .input-group .input-group-append {
    margin-left: 0 !important;
}

.aljpr-input-container.high {
    height: 60px;
    padding-left: 30px;
}

.aljpr-input {
    padding: 0 !important;
    border: 0 !important;
    color: var(--border) !important;
    border-radius: var(--radius-input-buttons) !important;
    height: auto !important;
    background-color: white !important;
    min-width: 35px;
}

.aljpr-input.h-100{
    height: 100% !important;
}

.aljpr-input.extra-small {
    font-size: 12px;
}

.aljpr-input.back-primary {
    background-color: var(--principal-color) !important;
}

.aljpr-input.text-white {
    color: white !important;
}

.aljpr-input.applied {
    font-weight: 700;
}

.aljpr-input:focus-visible {
    outline: 0;
}

.aljpr-input.error {
    color: #D82C2C !important;
}

.aljpr-icon-container {
    width: 58px;
    border-radius: var(--radius-input-buttons) !important;
    padding: 8px 20px 7px 20px;
    text-align: center;
    cursor: pointer;
    border: 0 !important;
}

.aljpr-small-icon-container {
    border-radius: var(--radius-input-buttons) !important;
    padding: 3px 14px;
    text-align: center;
    cursor: pointer;
    border: 0 !important;
}

.navbar .aljpr-small-icon-container {
    padding: 2px 14px;
}

.aljpr-icon-container.percentage-icon {
    padding-top: 6px;
    padding-bottom: 5px;
}

.aljpr-small-icon-container.extra-small {
    padding: 3px 10px;
}


.input-group-append .aljpr-icon-container,
.input-group-preppend .aljpr-icon-container,
.input-group-append .aljpr-small-icon-container,
.input-group-preppend .aljpr-small-icon-container {
    border: var(--bs-border-width) solid var(--bs-border-color);
}

.aljpr-icon-container.small-pb {
    padding-bottom: 4px;
}

.aljpr-icon-container.back-primary i,
.aljpr-icon-container.back-secondary i,
.aljpr-small-icon-container.back-primary i,
.aljpr-small-icon-container.back-secondary i,
.aljpr-btn.back-alert i {
    color: white;
}

.aljpr-icon-container.back-white i,
.aljpr-small-icon-container.back-white i {
    color: #6B6B6B;
}

.transparent {
    border: 0 !important;
    background: transparent !important;
}

.aljpr-btn {
    border: 0;
    border-radius: var(--radius-input-buttons);
    padding: 6px 30px;
    text-align: left;
}

.aljpr-btn.btn-square{
    padding: 11px 12px;
}

.aljpr-btn.btn-small {
    padding: 4px 24px;
    font-size: 14px;
}
.aljpr-btn i {
   font-size: 26px;
}
.btn.transparent i{
    font-size: 30px;
}


.aljpr-btn.btn-border i {
    color: var(--principal-color);
    margin-top: -3px;
}

.back-primary .aljpr-btn.btn-border {
    border: 2px solid white;
    color: white;
}


.aljpr-btn.btn-danger {
    color: white;
    background-color: #D82C2C;
    border-color: #D82C2C;
}

.aljpr-btn.pr-none {
    padding-right: 5px;
}

.pl-25 {
    padding-left: 25px;
}

.aljpr-btn.pl-none {
    padding-left: 5px;
}

.aljpr-btn.h-1 {
    min-height: 46px;
    height: fit-content;
}

.aljpr-btn.back-primary,
.aljpr-btn.back-secondary,
.aljpr-btn.back-alert,
.aljpr-small-box.back-primary,
.aljpr-box.back-primary {
    color: white;
}

.aljpr-btn.back-primary:disabled {
    opacity: 1;
    background: var(--second-color);
    cursor: not-allowed;
    color: white;
}

.back-primary .aljpr-btn.back-alert,
.back-primary .aljpr-btn.back-primary {
    background-color: white;
    color: var(--principal-color);
}

.back-primary .discount-popup .text-primary {
    color: white !important;
}

.back-primary .back-white.in-cart {
    color: var(--second-color);
}

.aljpr-btn .original-price {
    margin-left: 15px;
    margin-right: 10px;
    text-decoration: line-through;
    font-weight: 600;
    color: var(--second-color);
}

.aljpr-btn.btn-cart {
    min-height: 38px;
}

.aljpr-btn.high {
    min-height: 60px;
    font-size: 36px;
}

/* SMARTNOTES */
.smartnotes-component::-webkit-scrollbar {
    display: none;
}
.row-border{
    border-top: 1px solid #6b6b6b;
    border-bottom: 1px solid #6b6b6b;
    border-radius: 0;
}
.border-grey{
    border-color: #6b6b6b !important;
}
.border-bottom{
    border-bottom: 1px solid var(--border-color) !important;
    margin-left: 24px;
    margin-right: 24px;
}
.border-bottom-searchbox{
    position: relative;
}

.border-bottom-searchbox::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -40px;
    right: -40px;
    height: 1px;
    background-color: var(--border-color);
}

.room-block .border-bottom-searchbox::before {
    content: '';
    position: absolute;
    top: 0;
    left: -40px;
    right: -40px;
    height: 1px;
    background-color: var(--border-color);
}

.room-block .border-bottom-searchbox {
    padding-top: 1rem;
}

.cfgContentRow:not(:first-child) .border-top-searchbox::before {
    content: '';
    position: absolute;
    top: 0;
    left: -40px;
    right: -40px;
    height: 1px;
    background-color: var(--border-color);
}

.cfgContentRow:not(:first-child) .border-top-searchbox {
    padding-top: 1rem;
}

.padding-room-searchbox{
    padding: 0 42px;
}


.border-radius{
    border-radius: var(--radius-box) !important;
}
.border-radius-top{
    border-radius: var(--radius-box) var(--radius-box) 0 0 !important;
}
.border.border-lightgrey{
    border-color: #B4B4B4 !important;
}
.smartnotes-component .smartnote{
    width: 340px;
}
.aljpr-small-box.smartnote.back-primary {
    border: 1px solid var(--principal-color);
}

.aljpr-small-box.smartnote.back-grey {
    border: 1px solid rgba(218, 218, 218, 0.84);
}

.aljpr-small-box.smartnote.back-grey:hover {
    border: 1px solid var(--principal-color);
}

/* MODAL */
.aljpr-container.integration .modal-dialog {
    margin-top: 350px;
}

.aljpr-container .modal.fade.show {
    opacity: 1 !important;
}

.aljpr-container .modal {
    background: rgba(0, 0, 0, .4) !important;
}

.aljpr-container .modal-dialog {
    z-index: 1000;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    border-radius: var(--radius-box);
    background: transparent;
}

.aljpr-container .modal-content {
    border-radius: var(--radius-box);
    border: 0;
}

/* Borde más redondeado y centrado para el modal del popup de descuento */
.aljpr-container .modal-dialog:has(#popupClubDiscount) .modal-content,
.aljpr-container .modal-content:has(#popupClubDiscount) {
    border-radius: 20px !important;
}

.aljpr-container .modal-body{
    max-height: 1000px;
    overflow-y: auto;
    -ms-overflow-style: none;
}

.fix-height .modal-body{
    max-height: 650px;
    overflow-y: auto;
    overflow-x: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}


.fix-height .modal-body::-webkit-scrollbar {
    display: none;
}

.aljpr-container .modal-close-button {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 50px;
    height: 50px;
    background: var(--principal-color);
    border-radius: 66px;
    z-index: 2000;
    text-align: center;
    padding-top: 8px;
    cursor: pointer;
}

.aljpr-container .modal-close-button i {
    font-size: 21px;
    margin-top: 6px;
    color: white;
}

/* Botón de cerrar para popup de descuento */
.popup-close-button {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
    background-color: transparent;
    border: 3px solid white;
    border-radius: 50%;
    z-index: 2000;
    text-align: center;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.popup-comments-close-button {
    border-color: #000000 !important;
    color: #000000 !important;
}

.popup-comments-close-button-primary {
    border-color: var(--principal-color) !important;
    color: var(--principal-color) !important;
}

.popup-comments-close-button i {
    color: #000000 !important;
}

#roomInfo .carousel,
#roomInfo .carousel .carousel-inner,
#roomInfo .carousel .carousel-inner img {
    max-height: inherit;
}

.text-center.small {
    margin-top: -4px;
}

.form-control:focus {
    box-shadow: none;
}

.aljpr-container .resume-text-title {
    font-weight: 700;
    color: #6B6B6B;
    font-size: 14px;
}

.aljpr-container .resume-text-content {
    font-weight: 300;
    color: #6B6B6B;
    font-size: 12px;
}

.aljpr-container .total-text-title {
    font-weight: 300;
    font-size: 14px;
    color: var(--second-color);
}

.aljpr-container .total-text-content {
    font-weight: 700;
    font-size: 14px;
    color: var(--second-color);
}

.city-tax small{
    font-size: 12px;
}

/* MAP */
.aljpr-container .map {
    width: 100%;
    height: 240px;
    border-radius: var(--radius-box);
}

.aljpr-container .map iframe {
    border-radius: var(--radius-box);
}

/* FILTERS */
.aljpr-container .order-filter {
    cursor: pointer;
}

.aljpr-container .order-filter span {
    margin-right: 8px;
}

.aljpr-container .filters i {
    margin-left: 8px;
}

.aljpr-container .order-filter i.fa-sort-down {
    margin-top: -7px;
}

.aljpr-container .order-filter i.fa-sort-up {
    margin-top: 12px;
}

/* CHAIN CONTAINER */
.aljpr-container .aljpr-image-container {
    height: auto;
    width: 100%;
    border-radius: var(--radius-box);
}

.aljpr-container .aljpr-image-service-container {
    height: 175px;
    width: 100%;
    border-radius: var(--radius-box);
    background-size: cover;
}

.aljpr-container .property-detail .aljpr-icon-container {
    bottom: 5px;
    right: 5px;
}

.aljpr-container h3.property-title,
.aljpr-container h4.room-title {
    font-weight: 900;
}

.aljpr-container .property-category {
    font-size: 20px;
    position: relative;
    top: -2px;
    color: var(--principal-color);
}

.aljpr-container h5 {
    font-weight: 700;
}

.service-icons {
    display: grid;
    grid-auto-flow: column;     /* tantas columnas como iconos */
    grid-auto-columns: 1fr;     /* cada icono ocupa la misma fracción */
    column-gap: 12px;           /* separación uniforme */
    align-items: center;
    width: 100%;
}

.service-icons img {
    justify-self: center;       /* centra cada icono en su celda */
    max-height: 36px;           /* ajusta si necesitas */
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0;                  /* elimina márgenes previos */
}

/* Grid servicios (room info) - 2 columnas */
.services-list {
    display: flex;
    flex-wrap: wrap;
    --bs-gutter-x: 1.5rem;
}
.services-list .service-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    min-width: 0;
}
.services-list .service-label {
    word-break: break-word;
    line-height: 1.3;
}
.services-list .room-service-icon {
    flex-shrink: 0;
}
.services-list .service-bullet {
    flex-shrink: 0;
    font-weight: bold;
}

/* =========================================================
   Slider de iconos de servicios (renderizado por JS)
   - Auto-scroll continuo controlado por scrollLeft en JS.
   - Pausa mientras el ratón está encima.
   - Arrastrable con ratón y táctil.
   - Loop infinito: el JS duplica los items y envuelve el scroll
     cuando alcanza el ancho del set original.
   ========================================================= */

/* Viewport: recorta el track y oculta los bordes con un degradado */
.room-services-icons .services-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: grab;
    /* Evita seleccionar texto o arrastrar imágenes durante el drag */
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    /* Permite scroll vertical nativo pero consume el gesto horizontal */
    touch-action: pan-y;
    /* Fade lateral: los items aparecen/desaparecen suavemente en los bordes */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.room-services-icons .services-slider.services-slider-dragging {
    cursor: grabbing;
}

/* Track: fila horizontal con los items originales + duplicados */
.room-services-icons .services-slider-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    width: max-content;
    will-change: scroll-position;
}

/* Bloqueamos pointer-events en los hijos para que mousedown llegue al slider
   y no interfiera con el drag (las imágenes no capturan el gesto). */
.room-services-icons .services-slider .service-item,
.room-services-icons .services-slider img {
    -webkit-user-drag: none;
    pointer-events: none;
}

/* Item individual: icono centrado + etiqueta debajo */
.room-services-icons .services-slider .service-item {
    flex: 0 0 auto;
    width: 90px;
    min-width: 0;
    padding: 0 .25rem;
}
.room-services-icons .services-slider .room-service-icon {
    display: block;
    width: auto;
    height: 36px;
    max-width: 100%;
    max-height: 36px;
    margin: 0 auto;
    object-fit: contain;
    flex-shrink: 0;
}
.room-services-icons .services-slider .service-label {
    width: 100%;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.25;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
}

/* En escritorio el sidebar es más estrecho: reducimos el item pero mantenemos texto */
@media (min-width: 992px) {
    .room-services-icons .services-slider .service-item {
        width: 80px;
    }
    .room-services-icons .services-slider .room-service-icon {
        height: 32px;
        max-height: 32px;
    }
}
.category{
    font-size: 20px;
    color: var(--principal-color);
}

.aljpr-container .aljpr-best-price {
    margin-top: -5px;
}

.aljpr-container .aljpr-best-price .old-best-price {
    text-decoration: line-through;
    font-size: 25px;
}

.aljpr-container .aljpr-best-price .best-price {
    font-weight: 900;
    font-size: 40px;
}

.aljpr-container .property-detail .hidden {
    display: none;
}

.aljpr-container .property-detail .show {
    display: block;
}

.aljpr-container .property-description-summary a,
.aljpr-container .property-description-full a {
    font-weight: 900;
    color: inherit;
}
.aljpr-container button.room-info{
    background: rgba(0,0,0,0.6);
    border-radius: var(--radius-input-buttons);
}

/* DROPDOWNS */
.aljpr-container .dropdown-menu {
    border: 0;
    border-radius: var(--radius-box);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0px 0px 5px 2px #F5F5F5;
}

/* CUSTOM SPACING*/

.aljpr-container .aljpr-ml20 {
    margin-left: 20px;
}

.aljpr-container small {
    color: #6B6B6B;
}

.aljpr-container .aljpr-mr10,
.aljpr-container .aljpr-sm-mr10,
.aljpr-container .aljpr-md-mr10 {
    margin-right: 10px;
}

.aljpr-fs-small {
    font-size: small;
}

.aljpr-fs-smaller {
    font-size: smaller;
}


.fs-12{
    font-size: 12px;
}

.aljpr-container .room-detail .price {
    font-weight: 900;
    font-size: 20px;
}

.aljpr-container .sticky-cart-top {
    position: fixed !important;
    top: 76px !important;
    bottom: auto;
}

.tags-section a.selected {
    background-color: var(--principal-color);
    border-radius: var(--radius-box);
}

/* CART */

.aljpr-container #bodyCart h4 {
    margin: 0;
    font-weight: 900;
}

#divContentCartContainerMobile {
    position: fixed;
    bottom: 0;
    left: 0;
    font-size: 22px;
    display: none;
    z-index: 1;
}

.aljpr-container #divContentCartContainerMobile.cart-icon {
    bottom: 20px !important;
    left: 40px !important;
    padding: 16px 18px 12px 18px !important;
    border-radius: 40px !important;
    width: auto;
    z-index: 2;
}

/* POPOVER */

.aljpr-tooltip {
    --bs-tooltip-bg: #fff !important;
    --bs-tooltip-color: inherit;
    --bs-tooltip-opacity: 1;
    --bs-tooltip-max-width: 500px;
    --bs-tooltip-padding-x: 20px;
    --bs-tooltip-padding-y: 10px;
    --bs-tooltip-border-radius: var(--radius-box);
}

.tooltip {
    -webkit-box-shadow: 0px 0px 13px 1px rgba(186, 182, 186, 1);
    -moz-box-shadow: 0px 0px 13px 1px rgba(186, 182, 186, 1);
    box-shadow: 0px 0px 13px 1px rgba(186, 182, 186, 1);
    border-radius: var(--radius-box);
}

/* MODALS */
#commentsModal .global-rate {
    font-size: 40px;
    font-weight: 900;
    color: var(--principal-color);
}


#commentsModal .progress {
    border-radius: var(--radius-input-buttons);
    height: 16px;
}

#commentsModal .progress .progress-bar {
    background: var(--principal-color);
    border-radius: var(--radius-input-buttons);
}

/* Estilo para el proveedor en comentarios */

/* Ajustar el h4 del modal de comentarios para que las estrellas bajen cuando el texto es largo */
#commentsModal h4.name {
    flex-wrap: wrap;
}

#commentsModal h4.name .name {
    flex: 1 1 100%;
    min-width: 0;
}

#commentsModal h4.name .text-primary {
    flex-shrink: 0;
}

.aljpr-container ul.list-group{
    border-radius: var(--radius-box);
}

/* NO DISPO CALENDAR */
.price_calendar_wrapper {
    border-radius: var(--radius-box);
    line-height: normal;
    margin: 0 auto 40px;
    width: 100%;
}

.price_calendar_wrapper div {
    border: 0;
    font: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: initial;
}

.price_calendar_wrapper .full_container {
    padding: 16px 0 0;
    max-width: 1140px;
    width: 100%;
}

.price_calendar_wrapper .full_container .calendar_wrapper {
    align-items: stretch;
    column-gap: 18px;
    display: grid;
    grid-template-areas:
        ". controls ."
        "prev months next";
    grid-template-columns: auto auto auto;
    justify-content: center;
    position: relative;
    row-gap: 18px;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper {
    align-items: center;
    display: flex;
    gap: 10px;
    grid-area: controls;
    justify-content: space-between;
    margin-bottom: 0;
}

.price_calendar_wrapper .full_container .calendar_wrapper .calendar_months_wrapper {
    align-items: stretch;
    display: flex;
    gap: 18px;
    grid-area: months;
}

.price_calendar_wrapper .full_container .calendar_wrapper .calendar_nav_wrapper {
    align-items: center;
    display: flex;
}

.price_calendar_wrapper .full_container .calendar_wrapper .previous_nav_wrapper {
    grid-area: prev;
}

.price_calendar_wrapper .full_container .calendar_wrapper .next_nav_wrapper {
    grid-area: next;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper {
    display: flex;
    flex-direction: column;
    border: 1px solid #bdbdbd !important;
    border-radius: 8px;
    box-shadow: none;
    padding: 20px 14px 14px !important;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper .month_selector_wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
    position: relative;
}

.selector_full_wrapper {
    display: inline-block;
    position: relative;
    z-index: 4;
    height: 30px;
}

.top_wrapper .selector_full_wrapper {
    z-index: 4;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper .month_selector_wrapper .month_selector {
    height: 30px;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper .month_selector_wrapper .month_selector .selector_full_wrapper .selector_wrapper {
    line-height: 30px;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper .month_selector_wrapper .month_selector .selector_full_wrapper:not(.show) .selector_wrapper .selector,
.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .filter_selector .selector_full_wrapper:not(.show) .selector_wrapper .selector,
.price_calendar_wrapper .full_container .top_wrapper .selectors_wrapper .filters_selector_wrapper .filter_selector .selector_full_wrapper:not(.show) .selector_wrapper .selector {
    display: none;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper .month_selector_wrapper .month_selector .selector_full_wrapper.show .selector_wrapper {
    box-shadow: 0 6px 6px rgba(0, 0, 0, .161);
    height: auto;
}

.price_calendar_wrapper .selector_label {
    border-color: transparent;
    box-shadow: none;
    color: #111;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 24px;
    font-weight: 800;
    justify-content: center;
    line-height: 1.2;
    padding: 0 10px;
    text-align: center;
    cursor: pointer;
}

.price_calendar_wrapper .filters_selector_wrapper .selector_label {
    font-size: 16px;
    font-weight: 400;
}

.price_calendar_wrapper .selector_label svg {
    margin-bottom: 4px;
    margin-left: 10px;
    height: 7px;
    width: auto;
}

.price_calendar_wrapper .filters_selector_wrapper .selector_label svg {
    margin-bottom: 1px;
}

.previous_month,
.next_month {
    align-items: center;
    background: transparent;
    border: 0;
    color: #666;
    cursor: pointer;
    display: flex;
    height: 100%;
    justify-content: center;
    margin-top: 0;
    min-height: 100%;
    width: 38px;
}

.previous_month.disabled {
    cursor: not-allowed;
    color: lightgray;
}

.previous_month i,
.next_month i {
    font-size: 40px;
}

.selector_label i {
    color: #666;
    font-size: 14px;
}

.filter_selector .selector_label i {
    margin-left: 5px;
    font-size: 15px;
}

.previous_month svg,
.next_month svg {
    height: 7px;
    width: auto;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper .month_selector_wrapper .month_selector .selector_full_wrapper .selector_wrapper .selector {
    color: #8d8d8d;
    max-height: 260px;
    overflow-y: auto;
    padding: 10px;
    background-color: white;
}

.selector_full_wrapper .selector_wrapper .selector .option {
    cursor: pointer;
    font-size: 15px;
    padding: 16px 14px;
}

table.month_wrapper {
    border-collapse: initial;
    border-spacing: 5px 6px;
    margin: 0 auto;
    text-align: center;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper thead tr td {
    color: #8f8f8f;
    font-size: 16px;
    font-weight: 500;
    padding: 0 1px 4px;
    text-align: center;
    vertical-align: middle;
}

.price_calendar_wrapper td.day_wrapper {
    font-weight: 400;
    vertical-align: middle;
    cursor: pointer;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper {
    background: transparent;
    border: 0;
    color: #111;
    height: 68px;
    min-width: 38px;
    padding: 0 3px;
    position: relative;
    text-align: center;
    vertical-align: top;
    width: 38px;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .day_box {
    align-items: center;
    background: #fff;
    border: 1px solid #67d79d;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    height: 50px;
    justify-content: flex-start;
    padding: 5px 8px;
    position: relative;
    z-index: 2;
}

.closed {
    border-color: #f05a57 !important;
    color: #111 !important;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.disabled {
    color: #c4c4c4;
    cursor: default;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.disabled .day_box {
    background: #f4f4f4;
    border-color: #d6d6d6;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.disabled .day {
    font-weight: 700 !important;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.has_min_stay {
    color: #111;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.has_min_stay .day_box {
    border-color: #e2b03b;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.closed .day_box {
    border-color: #f05a57;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .day {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin-top: 3px;
    position: relative;
    z-index: 3;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .price {
    color: #777;
    font-size: 11px;
    line-height: 1.1;
    margin: auto auto 0;
    position: relative;
    width: max-content;
    z-index: 3;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .min_stay {
    color: #777;
    font-size: 10px;
    line-height: 1.1;
    margin-top: 2px;
    position: relative;
    width: 100%;
    z-index: 3;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.has_min_stay:before {
    display: none;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .min_stay:after {
    display: none;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected {
    color: white !important;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.hover .day_box {
    background-color: rgba(65, 191, 120, 0.14);
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected .day_box:before {
    background-color: #41bf78;
    border-radius: 6px;
    color: white;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2;
    opacity: 1;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected:after {
    background-color: #41bf78;
    content: "";
    height: 50px;
    left: -4px;
    opacity: .13;
    position: absolute;
    top: 0;
    width: calc(100% + 8px);
    z-index: 1;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.hover:after {
    display: none;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected.start_date:after {
    border-radius: 6px;
    left: 0;
    width: 100%;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected:not(.start_date):after {
    border-radius: 0 6px 6px 0;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected.start_date + .hover:after {
    left: -8px;
    width: calc(100% + 12px);
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper,
.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .filter_selector {
    display: flex;
    min-width: 0;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper {
    height: 42px;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper .selector_wrapper {
    background-color: #fff;
    border-radius: var(--radius-box);
    box-shadow: 0 6px 6px rgba(0, 0, 0, .161);
    font-size: 15px;
    font-weight: 400;
    height: 100%;
    left: 0;
    line-height: normal;
    min-width: 165px;
    position: relative;
    top: 0;
    width: 100%;
    width: max-content;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper:not(.show) .selector_wrapper {
    box-shadow: none;
    height: 100%;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper .selector_wrapper .selector_label {
    align-items: center;
    border: 1px solid #ebebeb;
    border-radius: var(--radius-input-buttons);
    cursor: pointer;
    display: flex;
    gap: 6px;
    height: 42px;
    justify-content: space-between;
    padding: 0 14px;
    text-align: left;
    white-space: nowrap;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper .selector_wrapper .selector_label span {
    display: block;
    line-height: 1.2;
}

.price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper .selector_wrapper .selector {
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 20;
    background-color: #fff;
    border-radius: var(--radius-box);
    box-shadow: 0 6px 6px rgba(0, 0, 0, .161);
    font-size: 15px;
}

.price_calendar_wrapper .full_container .bottom_wrapper .top .info_currency_wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
}

.price_calendar_wrapper .full_container .bottom_wrapper .top .info_currency_wrapper .left_wrapper .legends_wrapper {
    align-items: center;
    color: #555;
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    font-weight: 400;
    gap: 10px 22px;
    justify-content: center;
    line-height: 1.2;
}

.price_calendar_wrapper .full_container .bottom_wrapper .top .info_currency_wrapper .left_wrapper .legends_wrapper .legend {
    align-items: center;
    display: flex;
    margin: 0;
    white-space: nowrap;
}

.price_calendar_wrapper .full_container .bottom_wrapper .top .info_currency_wrapper .left_wrapper .legends_wrapper .legend .icon {
    display: inline-block;
    flex: 0 0 auto;
    height: 12px;
    margin-right: 8px;
    position: relative;
    width: 12px;
    border-radius: 2px;
}

.icon.dispo {
    background-color: #2BA96F;
}

.icon.no_dispo {
    background-color: #E75353;
}

.icon.min_stay {
    background-color: #E69524;
}

.price_calendar_wrapper .full_container .bottom_wrapper .top .info_currency_wrapper .left_wrapper .notice_info {
    color: #8d8d8d;
    font-size: 14px;
    font-style: italic;
    margin-top: 10px;
}

.price_calendar_wrapper .full_container .top_wrapper .top .selectors_wrapper .filters_selector_wrapper .selector_full_wrapper .selector_wrapper .selector {
    max-height: 175px;
    color: #8d8d8d;
    overflow-y: auto;
    padding: 10px;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.closed .no_dispo_text {
    color: #777;
    font-size: 9px;
    font-weight: 500;
    position: relative;
    z-index: 3;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected .price,
.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.selected .no_dispo_text {
    color: #fff;
}

.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.disabled .price,
.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.disabled .min_stay,
.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper.disabled .no_dispo_text {
    color: #c4c4c4;
}

@media (max-width: 767px) {
    .price_calendar_wrapper .full_container .calendar_wrapper {
        align-items: center;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper {
        align-items: center;
        flex-direction: column;
        gap: 10px;
        justify-content: center;
        width: 100%;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper,
    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filter_selector,
    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .selector_full_wrapper,
    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .selector_wrapper,
    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .btn-search {
        max-width: 320px;
        width: 100%;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .filters_selector_wrapper {
        justify-content: center;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .selector_wrapper .selector_label,
    .price_calendar_wrapper .full_container .calendar_wrapper .selectors_wrapper .btn-search {
        justify-content: center !important;
        text-align: center;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .calendar_nav_wrapper {
        display: none;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .calendar_months_wrapper {
        align-items: center;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper {
        padding: 18px 8px 14px !important;
        margin-top: 0 !important;
    }

    table.month_wrapper {
        border-spacing: 0px 7px;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper {
        height: 70px;
        min-width: 38px;
        width: 38px;
    }

    .price_calendar_wrapper .selector_label {
        font-size: 24px;
    }

    .price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .day_box{
        padding: 4px 4px;
    }
}

.price_calendar_wrapper .full_container .top_wrapper .top .selectors_wrapper button {
    margin-top: 8px;
    font-size: 18px;
}

/*
*   ANIMATIONS
*/

.btn-animation {
    -webkit-transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
}

.aljpr-btn.back-primary.btn-animation:hover,
.aljpr-icon-container.back-primary.btn-animation:hover {
    box-shadow: 0 0 40px 40px var(--second-color) inset;
}

.aljpr-btn.back-alert.btn-animation:hover {
    box-shadow: 0 0 40px 40px #d16500 inset;
}

.button-pulse {
    animation: pulse 1s infinite;
    transition: .3s;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    70% {
        transform: scale(.9);
    }

    100% {
        transform: scale(1);
    }
}

.button-scale {
    transition: all .1s ease-in-out;
}

.button-scale:hover {
    transform: scale(1.05);
}

.ui-datepicker.ui-widget.ui-widget-content,
#ui-datepicker-div.ui-datepicker {
    z-index: 12 !important;
}

.notify {
    border-radius: var(--radius-box) !important;
}

#map {
    height: 350px;
    width: 100%;
    border-radius: var(--radius-box) !important;
}

/*--------datepicker----------*/
.datepicker {
    cursor: pointer;
}

/*---------end datepicker--------*/

/*------- inside calendar--------*/
.ui-datepicker th {
    padding: 0.3em 0em;
    border-block-start: 0px !important;
    background-color: unset;
}

.ui-widget.ui-widget-content {
    border-radius: var(--radius-box);
}

.ui-widget-header {
    border: 0px;
    background: unset;
    margin-bottom: 10px;
}

.ui-datepicker-month {
    text-transform: capitalize !important;
}

.ui-state-hover {
    border: 0px !important;
    background-color: #FFFFFF00 !important;
    cursor: pointer;
}

.ui-datepicker table {
    border: none !important;
}

.ui-datepicker td span,
.ui-datepicker td a {
    text-align: center;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 0px;
    color: #FFFFFF !important;
    background: var(--principal-color) !important;
}

.ui-datepicker-current-day a:hover {
    color: #FFFFFF !important;
}

.ui-state-default:hover {
    color: var(--principal-color) !important;
    border-radius: var(--radius-box);
}

.ui-state-default {
    border: 0px !important;
    background: none !important;
    border-radius: var(--radius-box);
}

.ui-datepicker-today a {
    color: #333333 !important;
    background-color: #dddddd !important;
    border-radius: var(--radius-box) !important;
}

.ui-datepicker td a {
    padding: 0.4em;
}

.ui-datepicker-calendar tr:nth-child(even) td,
.ui-datepicker-calendar tr:nth-child(odd) td {
    background-color: inherit !important;
}

/*-------end inside calendar--------*/

/* -- Flat picker start -- */
/* Modificar el color de fondo del calendario */
.flatpickr-calendar {
    background-color: #fff;
    padding-top: 8px;
    border-radius: var(--radius-box) !important;
}

.flatpickr-months {
    margin-bottom: 10px;
}

.flatpickr-calendar .numInput.cur-year {
    font-weight: bold !important;
    max-width: 100% !important;
    border: 0 !important;
}

/* Modificar el color del texto de los días de la semana */
.flatpickr-weekdays {
    color: #333;
}

.flatpickr-days .dayContainer {
    padding-left: 5px !important;
}

.flatpickr-day:hover {
    border-radius: var(--radius-input-buttons) !important;
}

.flatpickr-day.inRange:hover {
    border-radius: 0 !important;
}

.flatpickr-day.today {
    border-color: var(--principal-color) !important;
    border-radius: var(--radius-input-buttons) !important;
}

/* Modificar el color de fondo de los días seleccionados */
.flatpickr-days .selected {
    background-color: var(--principal-color) !important;
    border-color: var(--principal-color) !important;
    color: #fff;
}

/* Modificar el color de fondo de los días seleccionados */
.flatpickr-days .rangeStart,
.flatpickr-days .rangeEnd {
    border-color: var(--principal-color) !important;
    background-color: var(--principal-color) !important;
    color: #fff;
}

.flatpickr-days .startRange {
    border-radius: var(--radius-input-buttons) 0 0 var(--radius-input-buttons) !important;
    background-color: var(--principal-color) !important;
    border-color: var(--principal-color) !important;
}

.flatpickr-days .endRange {
    border-radius: 0 var(--radius-input-buttons) var(--radius-input-buttons) 0 !important;
    background-color: var(--principal-color) !important;
    border-color: var(--principal-color) !important;
}

.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus {
    background-color: var(--principal-color) !important;
    border-color: var(--principal-color) !important;
}

/* Modificar el color de fondo de los días del rango seleccionado */
.flatpickr-day.inRange {
    background-color: var(--selection-color) !important;
    -webkit-box-shadow: -5px 0 0 var(--selection-color), 5px 0 0 var(--selection-color) !important;
    box-shadow: -5px 0 0 var(--selection-color), 5px 0 0 var(--selection-color) !important;
    border: 0 !important;
}

.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)) {
    -webkit-box-shadow: -5px 0 0 var(--selection-color) !important;
    box-shadow: -5px 0 0 var(--selection-color) !important;
}

.flatpickr-calendar.multiMonth .flatpickr-innerContainer .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    -webkit-box-shadow: -5px 0 0 var(--selection-color), 0px 0 0 var(--selection-color) !important;
    box-shadow: -5px 0 0 var(--selection-color), 0px 0 0 var(--selection-color) !important;
}

.flatpickr-day.hidden {
    display: block !important;
}

/* -- Flat picker end -- */
#price-comparer {
    border: 1px solid var(--principal-color);
    box-shadow: 0 2px 21px 0 rgba(0, 0, 0, 0.7);
    background-color: white;
    width: 400px;
    position: fixed;
    display: none;
    top: 15em;
    left: 5em;
    /* display: none; */
    z-index: 9999 !important; }
    #price-comparer .panel-heading {
      background: var(--principal-color);
      color: white;
      height: 38px; }
      #price-comparer .panel-heading h3 {
        float: left; }
      #price-comparer .panel-heading .ico {
        width: 16px;
        height: 16px;
        float: right;
        cursor: pointer; }
      #price-comparer .panel-heading .minus {
        background: url("/images/ico-minus.png"); }
      #price-comparer .panel-heading .plus {
        background: url("/images/ico-plus.png"); }
      #price-comparer .panel-heading .cross {
        background: url("/images/ico-unchecked.png"); }
    #price-comparer .property-name-comparer {
      color: var(--principal-color);
      font-weight: bold; }
    #price-comparer .panel-body p {
      margin-bottom: 15px;
      font-weight: 500; }
    #price-comparer .panel-body h2 {
      color: #555; }
    #price-comparer .panel-body hr {
      margin: 10px 0; }

/* CARROUSEL PROPERTY */
/* Botones del carrusel: círculo blanco y flecha gris */

.property-carousel, .room-carousel {
    border-radius: var(--radius-box);
}
.property-carousel .carousel-control-prev,
.property-carousel .carousel-control-next,
.room-carousel .carousel-control-prev,
.room-carousel .carousel-control-next,
.extra-service-carousel .carousel-control-prev,
.extra-service-carousel .carousel-control-next {
  opacity: 1;             /* que se vean bien */
}

.property-carousel .carousel-control-prev-icon,
.property-carousel .carousel-control-next-icon,
.room-carousel .carousel-control-prev-icon,
.room-carousel .carousel-control-next-icon,
.extra-service-carousel .carousel-control-prev-icon,
.extra-service-carousel .carousel-control-next-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #ffffff;      /* círculo blanco */
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  background-size: 50% 50%;
  background-position: center;
  background-repeat: no-repeat;
}

/* Flecha gris personalizada (prev) */
.property-carousel .carousel-control-prev-icon,
.room-carousel .carousel-control-prev-icon,
.extra-service-carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='%236b6b6b'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

/* Flecha gris personalizada (next) */
.property-carousel .carousel-control-next-icon,
.room-carousel .carousel-control-next-icon,
.extra-service-carousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='%236b6b6b'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.green-round-box {
    background-color: #D6F8E7;
    color: #1D583C;
    font-weight: bold;
    border-radius: 0px var(--radius-box) 0px var(--radius-box);
    font-size: 20px;
}

/* ------------------ CLUB BOX ------------------ */
.discount-club .round-icon {
    border-radius: 50% !important;
    height: 44px;
    width: 44px;
    font-size: 24px;
}
.discount-club .discount-text{
    font-size: 20px;
    font-weight: 900;
    color:black !important;
}
.small-discount-icon{
    font-size: 20px;
}
.round-right{
    border-radius: var(--radius-box) 0px 0px var(--radius-box);
}
.full-round{
    border-radius: var(--radius-box);
}
.fs-inherit{
    font-size: inherit;
}

/* Popup discount alignment helpers */
#popupClubDiscount {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}
#popupClubDiscount .popup-title{
    /* reserva altura para 2-3 líneas de h4 para alinear siguiente bloque */
    min-height: 4rem;
}
#popupClubDiscount .popup-lead{
    /* reserva altura para 3-4 líneas del texto descriptivo */
    min-height: 4.8rem;
}

.discount-applied{
    border-radius: var(--radius-input-buttons);
    padding: 2px 6px;
    background-color: var(--principal-color);
    font-size: 14px;
    width: fit-content;
}

.discount-club-title{
    margin-left: 8px;
}
/*------------------ language and currency selector ------------------*/

.language-currency-selector-wrapper {
    display: inline-block;
}

.lang-curr-dropdown .dropdown-toggle::after {
    display: none;
}

.language-currency-dropdown-menu {
    min-width: 200px;
    padding: 16px;
    border-radius: 20px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e0e0e0 !important;
    margin-top: 8px !important;
    overflow: hidden;
    background: white;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}

.lang-curr-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.lang-curr-tab-btn {
    flex: 1;
    padding: 10px 16px;
    background: transparent;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    font-weight: 700;
    font-size: 13px;
    color: #000;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lang-curr-tab-btn:hover:not(.active) {
    background-color: var(--selection-color);
    color: #000;
}

.lang-curr-tab-btn.active {
    background: var(--principal-color);
    color: #000;
}

.lang-curr-content {
    padding: 0;
    max-height: 280px;
    overflow-y: auto;
}

.lang-curr-content::-webkit-scrollbar {
    width: 4px;
}

.lang-curr-content::-webkit-scrollbar-track {
    background: transparent;
}

.lang-curr-content::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.1);
    border-radius: 2px;
}

.lang-curr-tab-content {
    display: none;
}

.lang-curr-tab-content.active {
    display: block;
}

.lang-curr-item {
    display: block;
    padding: 12px 16px;
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none;
    color: #000;
    text-align: center;
    border-radius: 25px;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.lang-curr-item:hover:not(.selected) {
    background-color: var(--selection-color);
    color: #000;
    text-decoration: none;
}

.lang-curr-item.selected {
    background-color: var(--hover-color);
    color: #000;
}

.lang-curr-item.selected:hover {
    background-color: var(--hover-color);
    color: #000;
}

.lang-curr-text {
    font-size: 13px;
    display: block;
    text-transform: uppercase;
    color: #000;
}

/* -------------------------------------------------- */
/* Ebrima-Bold para elementos en negrita de widget5   */
/* -------------------------------------------------- */
label,
.fw-700,
.fw-900,
.fw-bold,
.strong,
.aljpr-container h1,
.aljpr-container h2,
.aljpr-container h3,
.aljpr-container h4,
.aljpr-container h5,
.aljpr-container h6,
.aljpr-container h3.property-title,
.aljpr-container h4.room-title,
.aljpr-container .aljpr-best-price .best-price,
.aljpr-container .room-detail .price,
.aljpr-container .resume-text-title,
.aljpr-container .total-text-content,
#commentsModal .global-rate,
#commentsModal .customer-rate,
.aljpr-container .dropdown-item,
.aljpr-container .property-description-summary a,
.aljpr-container .property-description-full a,
.price_calendar_wrapper .selector_label,
.price_calendar_wrapper .full_container .calendar_wrapper .month_full_wrapper table.month_wrapper tbody tr td.day_wrapper .day,
.lang-curr-tab-btn,
#price-comparer .property-name-comparer {
    font-family: "Ebrima-Bold", Helvetica;
}

/* Modal widths (responsive) */
.modal-800 {
    --bs-modal-width: 800px !important;
}
.modal-1200 {
    --bs-modal-width: 1200px !important;
}

.text-muted {
    color: #B4B4B4 !important;
}

.room-cfg-input-group {
    width: auto !important;
    flex: 0 0 auto !important;
}

.button_add_minus_input {
    border: 1px solid #b4b4b4 !important;
    border-radius: var(--radius-input-buttons) !important;
    padding: 10px 12px;
    cursor: pointer !important;
    width: auto ;
    font-size: 12px !important;
}
.button_add_minus_input.age-children {
    width: 52px !important;
    padding: 5px 0px 5px 10px !important;
    font-size: 14px !important;
}

.destination-property-selected {
    position: relative !important;
    display: flex !important;
    align-content: center !important;
    justify-content: flex-start !important;
}

.destination-property-selected::before {
    content: '';
    position: absolute;
    top: 0;
    left: -40px;
    right: -40px;
    bottom: 0;
    background-color: var(--principal-color);
    z-index: 0;
}

.destination-property-selected .destination-property {
    position: relative;
    z-index: 1;
}

.button_add_minus_input i{
    font-size: 12px !important;
}
/* Header */
.w5-search-area > * { width: 100%; }
.navbar-default .btn { width: 38px; height: 38px; padding: 0; border-radius: 8px; }

.whatsapp-icon {
    width: 28px;
    height: 28px;
}

.bg-discount-not-applied {
    background-color: rgba(255, 0, 0, 0.17);
    color: #FF0000;
    padding: 10px;
    border-radius: var(--radius-box);
}

.calendar-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 36px 20px 24px;
    text-align: center;
}

.calendar-loading-spinner {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 4px solid rgba(103, 215, 157, 0.2);
    border-top-color: #67d79d;
    border-right-color: #3fc77b;
    animation: calendar-loading-spin 0.85s linear infinite;
}

.calendar-loading-title {
    color: #1f2f27;
    font-size: 1.05rem;
    font-weight: 700;
}

.calendar-loading-subtitle {
    color: #6b746f;
    font-size: 0.95rem;
    max-width: 540px;
    line-height: 1.5;
}

@keyframes calendar-loading-spin {
    to { transform: rotate(360deg); }
}
