/* =========================================================
   Hotel IKIN — estilos del child (v1.1.0)
   ========================================================= */

/* ---------------------------------------------------------
   1) Calendario Easy Booking (Pickadate)
   (antes snippet WPCode #1225: dropdown.min.css del plugin da 404)
   --------------------------------------------------------- */
.picker {
    display: none;
    position: absolute;
    z-index: 10000;
    width: 100%;
    max-width: 300px;
    box-sizing: border-box;
    font-size: 15px;
    font-family: inherit;
}
.picker__holder {
    background: #fff;
    border: 1px solid rgba(16,16,16,0.15);
    box-shadow: 0 8px 28px rgba(0,0,0,0.15);
    border-radius: 6px;
    overflow: hidden;
}
.picker__frame { padding-top: 4px; }
.picker__box { padding: 14px 16px 8px; }
.picker__title { display: none; }

.picker__header { position: relative; text-align: center; margin-bottom: 10px; }
.picker__month,
.picker__year {
    display: inline-block;
    font-weight: 600;
    color: #101010;
    margin: 0 3px;
}
.picker__select--month,
.picker__select--year { display: none; }

.picker__nav--prev,
.picker__nav--next {
    position: absolute;
    top: -2px;
    width: 26px;
    height: 26px;
    line-height: 26px;
    text-align: center;
    border-radius: 50%;
    cursor: pointer;
    color: #101010;
}
.picker__nav--prev:hover,
.picker__nav--next:hover { background: rgba(189,148,90,0.15); }
.picker__nav--prev { left: -2px; }
.picker__nav--next { right: -2px; }
.picker__nav--prev::before { content: '\2039'; font-size: 20px; }
.picker__nav--next::before { content: '\203A'; font-size: 20px; }
.picker__nav--disabled,
.picker__nav--disabled:hover {
    opacity: 0.25;
    cursor: default;
    background: none;
    pointer-events: none;
}

.picker__table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin-top: 4px;
}
.picker__weekday {
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1.2;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: rgba(16,16,16,0.45);
    padding-bottom: 8px;
}
.picker__day {
    text-align: center;
    vertical-align: middle;
    padding: 8px 0;
    margin: 1px 0;
    cursor: pointer;
    border-radius: 50%;
    color: #101010;
}
.picker__day--outfocus { color: rgba(16,16,16,0.3); }
.picker__day--disabled,
.picker__day--disabled:hover {
    color: rgba(16,16,16,0.2);
    cursor: not-allowed;
    background: none;
}
.picker__day--infocus:hover,
.picker__day--outfocus:hover {
    background: rgba(189,148,90,0.15);
}
.picker__day--highlighted { background: rgba(189,148,90,0.12); }
.picker__day--today { font-weight: 700; text-decoration: underline; }
.picker__day--selected,
.picker__day--selected:hover {
    background: #bd945a;
    color: #fff;
}

.picker__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid rgba(16,16,16,0.1);
    margin-top: 10px;
    padding: 8px 0;
}
.picker__footer button {
    background: none;
    border: none;
    padding: 4px 8px;
    margin: 0;
    font-size: 13px;
    cursor: pointer;
    color: #bd945a;
    white-space: nowrap;
}
.picker__footer button[disabled] {
    opacity: 0.35;
    cursor: default;
}
.picker__footer button:hover:not([disabled]) {
    text-decoration: underline;
}

.picker--opened { display: block; }
.picker--closed { display: none; }

/* ---------------------------------------------------------
   2) Cabecera: logo en menú compacto y degradado en páginas internas
   (antes snippet WPCode #1226)
   --------------------------------------------------------- */
@media only screen and (max-width: 1064px) {
  .rixos-mob-menu-wrapper .logo-holder {
    top: 50% !important;
    transform: translateY(-50%);
    overflow: hidden;
  }
  .rixos-mob-menu-wrapper .logo-holder .logo-img {
    max-height: 56px;
    width: auto;
    height: auto;
    display: block;
  }
}
.banner-header { position: relative; }
.banner-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 180px;
  background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
  z-index: 2;
  pointer-events: none;
}

/* ---------------------------------------------------------
   3) Ficha de habitación: cantidad, huéspedes y pre-reserva
   --------------------------------------------------------- */
.quantity { position: relative; overflow: visible; }
.quantity .ikin-qty-suffix {
    display: inline-block;
    margin-left: 8px;
    font-size: 13px;
    white-space: nowrap;
    vertical-align: middle;
    color: inherit;
}

/* Fecha larga ("martes 10 de noviembre de 2026") sin pisar el icono */
.wceb_datepicker { text-overflow: ellipsis; padding-right: 44px; }

/* Formulario de pre-reserva en la ficha: el tema flota los hijos de form.cart
   (con eso el selector de huéspedes quedaba en una columna de 0 px en móvil). */
form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}
form.cart > .wceb_picker_wrap,
form.cart > .ikin-guests {
    flex: 0 0 100%;
    float: none;
    width: 100%;
    box-sizing: border-box;
}
form.cart > .quantity {
    flex: 0 0 auto;
    float: none;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
form.cart > .single_add_to_cart_button {
    flex: 1 1 auto;
    float: none;
    margin: 0;
}
/* "Precio total" sin valor hasta elegir fechas: se oculta */
.booking_summary.is-empty { display: none; }

/* Galería: todas las fotos con la misma proporción (una vertical estiraba el carrusel y dejaba huecos) */
.rooms2 .owl-carousel .owl-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.ikin-guests {
    display: flex;
    gap: 12px;
    margin: 0;
}
.ikin-guests label { flex: 1 1 0; min-width: 0; margin: 0; }
.ikin-guests span {
    display: block;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    opacity: .65;
    margin-bottom: 4px;
}
.ikin-guests select {
    width: 100%;
    height: 44px;
    padding: 0 10px;
    border: 1px solid rgba(16,16,16,.2);
    background: #fff;
    border-radius: 0;
}

.ikin-prereserva-banner {
    border: 1px solid #bd945a;
    background: rgba(189,148,90,.08);
    padding: 16px 18px;
    margin: 0 0 18px;
}
.ikin-prereserva-banner .ikin-pb-title { display: block; font-size: 17px; margin-bottom: 4px; }
.ikin-prereserva-banner .ikin-pb-detail { display: block; font-size: 14px; opacity: .85; }
.ikin-prereserva-banner .ikin-pb-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.ikin-prereserva-banner button {
    padding: 10px 18px;
    border: 1px solid #bd945a;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.2;
}
.ikin-prereserva-banner button.ikin-pb-confirm { background: #bd945a; color: #fff; }
.ikin-prereserva-banner .ikin-pb-note { margin: 10px 0 0; font-size: 12px; opacity: .65; }
.ikin-prereserva-banner.is-error { border-color: #b3261e; background: rgba(179,38,30,.06); }
.ikin-prereserva-banner.is-loading { opacity: .8; }

/* ---------------------------------------------------------
   4) Formulario de pre-reserva
   --------------------------------------------------------- */
.ikin-prereserva-form .ikin-form-error {
    flex-basis: 100%;
    margin: 8px 0 0;
    padding: 0 6px;
    font-size: 13px;
    color: #ffb4ab;
}

/* ---------------------------------------------------------
   5) "Carrito" -> "Pre-Reserva": icono de calendario en vez de cesta
   --------------------------------------------------------- */
.fa-basket-shopping::before { content: "\f274"; } /* calendar-check */

/* ---------------------------------------------------------
   6) Carrito / Checkout: sin la descripción larga truncada ("Habitación con vi…")
      (el detalle útil son las fechas y huéspedes)
   --------------------------------------------------------- */
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-checkout .wc-block-components-product-metadata__description,
.wc-block-mini-cart .wc-block-components-product-metadata__description {
    display: none;
}
.wc-block-components-product-details { font-size: 14px; line-height: 1.5; }

/* ---------------------------------------------------------
   8) Métodos de pago: la descripción respeta los saltos de línea
   --------------------------------------------------------- */
.wc-block-components-radio-control-accordion-content { white-space: pre-line; line-height: 1.7; }

/* ---------------------------------------------------------
   9) Equivalente en Bs. (tasa BCV)
   --------------------------------------------------------- */
.ikin-bs-total {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 2px 12px;
    margin: 10px 0 0;
    padding: 12px 14px;
    border: 1px solid #bd945a;
    background: rgba(189,148,90,.08);
    font-size: 14px;
}
.ikin-bs-total .ikin-bs-amount { font-size: 17px; }
.ikin-bs-total .ikin-bs-note { flex-basis: 100%; font-size: 12px; opacity: .65; }
.ikin-bs-note p { margin: 0 0 10px; }

@media (max-width: 767px) {
    /* Ficha de habitación: aire entre la galería y el título, y menos hueco antes de las pestañas */
    .single-product .entry-summary { margin-top: 28px; }
    .single-product section.section-padding:has(.row.product) { padding-bottom: 50px; }
}

/* ---------------------------------------------------------
   10) Botón fijo "Pre-Reservar" en móvil (Home): el formulario queda bajo el pliegue
   --------------------------------------------------------- */
.ikin-sticky-cta {
    display: none;
}
@media (max-width: 767px) {
    .ikin-sticky-cta {
        display: block;
        position: fixed;
        left: 16px;
        right: 176px; /* deja libre el widget de ayuda (píldora de ~150 px) */
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        z-index: 999;
        padding: 14px 10px;
        background: #bd945a;
        color: #fff !important;
        text-align: center;
        font-size: 15px;
        line-height: 1.2;
        border-radius: 4px;
        box-shadow: 0 6px 18px rgba(0,0,0,.25);
        transition: opacity .2s, transform .2s;
    }
    .ikin-sticky-cta.is-hidden {
        opacity: 0;
        transform: translateY(20px);
        pointer-events: none;
    }
}

@media (max-width: 575px) {
    .ikin-guests { flex-direction: row; }
    .ikin-prereserva-banner .ikin-pb-actions button { flex: 1 1 100%; }
}

/* Carrusel de habitaciones del Home: título con la fuente de los títulos del Home y en blanco */
.elementor-widget-rixos-woo-carousel .title,
.elementor-widget-rixos-woo-carousel .title a,
.elementor-widget-rixos-woo-carousel .cont h2,
.elementor-widget-rixos-woo-carousel .cont h3,
.elementor-widget-rixos-woo-carousel .cont h4,
.elementor-widget-rixos-woo-carousel .cont h5,
.elementor-widget-rixos-woo-carousel .cont h2 a,
.elementor-widget-rixos-woo-carousel .cont h3 a,
.elementor-widget-rixos-woo-carousel .cont h4 a,
.elementor-widget-rixos-woo-carousel .cont h5 a,
.elementor-widget-rixos-woo-carousel .woocommerce-loop-product__title {
    font-family: var(--rx-main-font) !important;
    font-weight: 400 !important;
    text-transform: var(--rx-main-transform) !important;
    color: #fff !important;
}

/* Botón de WhatsApp destacado (Eventos y Bodas) */
.elementor-widget-text-editor .ikin-wa-wrap { margin: 22px 0; }
.elementor-widget-text-editor a.ikin-wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 30px;
    background: #25d366;
    color: #fff !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
    text-decoration: none !important;
    border-radius: 50px;
    box-shadow: 0 8px 22px rgba(37, 211, 102, .45);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.elementor-widget-text-editor a.ikin-wa-btn:hover,
.elementor-widget-text-editor a.ikin-wa-btn:focus {
    background: #1ebe5a;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(37, 211, 102, .55);
}
@media (max-width: 575px) {
    .elementor-widget-text-editor a.ikin-wa-btn { display: flex; width: 100%; font-size: 19px; padding: 16px 18px; }
}

/* Home, "Servicios del hotel": las 6 fichas con la misma altura (cuadrícula de filas iguales:
   1 columna en móvil, 2 en tableta, 3 en escritorio) */
.elementor-element-319059b {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: 1fr;
    align-items: stretch;
}
.elementor-element-319059b > .e-con {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column;
}
.elementor-element-319059b .elementor-widget-rixos-feature,
.elementor-element-319059b .elementor-widget-rixos-feature > .elementor-widget-container,
.elementor-element-319059b .elementor-widget-rixos-feature .amenities {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.elementor-element-319059b .elementor-widget-rixos-feature .amenities .item {
    flex: 1 1 auto !important;
    height: auto !important;
}
@media (max-width: 767px) {
    /* el primer widget traía otro margen en móvil y quedaba más bajo */
    .elementor-element-319059b .elementor-widget-rixos-feature > .elementor-widget-container {
        margin: 0 0 10px !important;
    }
}
@media (min-width: 768px) {
    .elementor-element-319059b { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1025px) {
    .elementor-element-319059b { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
