.elementor-2526 .elementor-element.elementor-element-09b0eac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2526 .elementor-element.elementor-element-e275c89{--spacer-size:46px;}.elementor-2526 .elementor-element.elementor-element-38a2dcc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for shortcode, class: .elementor-element-8dffb17 *//* =========================================
   BIO-LUXURY STYLE - V2 (FIXED)
   ========================================= */

/* --- ESTRUCTURA GENERAL --- */
.bio-wrapper {
    width: 100%;
    max-width: 100%; /* Ocupar todo el ancho disponible */
    font-family: 'Poppins', sans-serif;
    color: #333;
    box-sizing: border-box;
}

/* --- GRID PRINCIPAL (2 COLUMNAS) --- */
.bio-main-grid {
    display: grid;
    grid-template-columns: 60% 35%; /* Izquierda ancha, Derecha sidebar */
    gap: 5%;
    margin-bottom: 60px;
    align-items: start;
}

/* --- COLUMNA IZQUIERDA (FOTO + TEXTO) --- */
.bio-left-col {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.bio-gallery img.bio-main-img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    object-fit: cover;
    display: block;
}

/* Descripción debajo de la imagen */
.bio-content-section {
    padding: 0; /* Sin padding extra para alinear con la foto */
}

.bio-section-title {
    font-family: 'Playfair Display', serif;
    color: #1a2e20;
    font-size: 2rem;
    margin-bottom: 20px;
    border-bottom: 2px solid #a8cf45;
    display: inline-block;
    padding-bottom: 5px;
}

.bio-section-title.center {
    display: block;
    text-align: center;
    border: none;
    margin-top: 50px;
}

.bio-long-desc p, 
.bio-long-desc li {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
}

/* --- COLUMNA DERECHA (SIDEBAR STICKY) --- */
.bio-sidebar-col {
    position: relative;
}

.bio-sidebar-inner {
    position: sticky;
    top: 30px; /* Se queda fijo al bajar */
    background: #ffffff;
    padding: 30px;
    border-radius: 15px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
}

.bio-title {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    color: #1a2e20;
    line-height: 1.1;
    margin: 0 0 10px 0;
}

.bio-price {
    font-size: 1.5rem;
    color: #a8cf45; /* Verde Lima */
    font-weight: 700;
    margin-bottom: 15px;
    font-family: 'Playfair Display', serif;
}

.bio-short-desc {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.5;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

/* --- CALENDARIO (CORRECCIÓN VISUAL) --- */
.bio-booking-area form.cart {
    display: flex;
    flex-direction: column;
}

.wc-bookings-booking-form {
    border: none !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Etiquetas del formulario */
.wc-bookings-booking-form label {
    font-size: 12px;
    text-transform: uppercase;
    color: #1a2e20;
    font-weight: 800;
    display: block;
    margin-bottom: 5px;
}

/* Cabecera del Calendario */
.wc-bookings-date-picker .ui-datepicker-header {
    background: #1a2e20 !important; /* Verde oscuro */
    color: white !important;
    border-radius: 6px 6px 0 0;
    padding: 10px 0;
}

.wc-bookings-date-picker .ui-datepicker-title {
    color: #fff !important; /* Texto Blanco */
    font-weight: 600;
}

/* Flechas */
.wc-bookings-date-picker .ui-datepicker-prev span, 
.wc-bookings-date-picker .ui-datepicker-next span {
    filter: invert(1) brightness(200%); /* Asegura que sean blancas */
    opacity: 1;
}

/* Cuerpo del Calendario */
.wc-bookings-date-picker .ui-datepicker {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 0 0 6px 6px;
}

/* Días (CORRECCIÓN DE LEGIBILIDAD) */
.wc-bookings-date-picker table.ui-datepicker-calendar tbody td a {
    background: #fff !important;
    color: #222 !important; /* TEXTO NEGRO OSCURO */
    font-weight: 600 !important;
    border: 1px solid #f0f0f0 !important;
    text-align: center !important;
    padding: 8px 0 !important;
}

/* Días Disponibles (Verde clarito) */
.wc-bookings-date-picker table.ui-datepicker-calendar tbody td.bookable a {
    background: #f1f8f1 !important;
    color: #1a2e20 !important; /* Texto verde oscuro */
    font-weight: 800 !important;
}

/* Día Seleccionado (Fondo verde fuerte, texto blanco) */
.wc-bookings-date-picker table.ui-datepicker-calendar tbody td.ui-datepicker-current-day a,
.wc-bookings-date-picker table.ui-datepicker-calendar tbody td.bookable a:hover {
    background: #a8cf45 !important;
    color: #fff !important; /* TEXTO BLANCO */
    border-color: #a8cf45 !important;
}

/* Días Pasados/Bloqueados */
.wc-bookings-date-picker table.ui-datepicker-calendar tbody td.ui-datepicker-unselectable span,
.wc-bookings-date-picker table.ui-datepicker-calendar tbody td.ui-datepicker-unselectable.ui-state-disabled {
    background: #fafafa !important;
    color: #ccc !important;
}

/* Costo Total */
.wc-bookings-booking-cost {
    background: #f4f4f4;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    color: #1a2e20;
    margin-top: 15px;
    border-radius: 5px;
}

/* Botón Book Now */
button.single_add_to_cart_button {
    background: #a8cf45 !important;
    color: #1a2e20 !important;
    width: 100%;
    padding: 15px !important;
    border-radius: 50px !important;
    margin-top: 15px !important;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 16px;
    border: none;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(168, 207, 69, 0.3);
}

button.single_add_to_cart_button:hover {
    background: #1a2e20 !important;
    color: #fff !important;
    transform: translateY(-2px);
}

/* --- PRODUCTOS RELACIONADOS --- */
.bio-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 30px;
}

.bio-related-card {
    display: block;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    height: 250px;
}

.bio-related-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}

.bio-related-card:hover img {
    transform: scale(1.1);
}

.bio-related-info {
    position: absolute;
    bottom: 0; left: 0; width: 100%;
    padding: 15px;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: white;
}

.bio-related-info h3 {
    margin: 0;
    font-size: 1.1rem;
    font-family: 'Playfair Display', serif;
}

/* =========================================
   RESPONSIVE MOBILE (CORRECCIÓN CRÍTICA)
   ========================================= */
@media (max-width: 900px) {
    /* Cambiar a una sola columna */
    .bio-main-grid {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Ordenar elementos en Móvil: Titulo/Precio primero, luego Foto, luego Calendario, luego Info */
    .bio-sidebar-col {
        order: 2; /* Poner el sidebar debajo de la foto si quieres, o arriba */
        width: 100%;
        margin-top: 30px;
    }
    
    .bio-left-col {
        order: 1; /* Foto primero */
        width: 100%;
    }

    /* Ajustar la imagen */
    .bio-gallery img.bio-main-img {
        height: auto;
        border-radius: 10px;
        margin-bottom: 0;
    }

    /* Sidebar en móvil (ya no es sticky) */
    .bio-sidebar-inner {
        position: static;
        padding: 20px;
        border: none;
        background: #fdfdfd;
        box-shadow: none;
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
    }

    .bio-title { font-size: 1.8rem; }
    
    /* Calendario en móvil */
    .wc-bookings-date-picker table.ui-datepicker-calendar tbody td a {
        padding: 10px 0 !important; /* Más grande para el dedo */
        font-size: 14px !important;
    }

    /* Relacionados en columna */
    .bio-related-grid {
        grid-template-columns: 1fr;
    }
    
    /* Asegurar que nada se salga de la pantalla */
    .bio-wrapper, .bio-main-grid, .bio-left-col, .bio-sidebar-col {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden;
    }
}

/* =========================================
   FIX: FORZAR ANCHO COMPLETO EN DESCRIPCIÓN
   ========================================= */

/* 1. Forzar al contenedor del texto a usar todo el espacio */
.bio-long-desc {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word; /* Evita que palabras largas rompan el diseño */
}

/* 2. Resetear cualquier elemento dentro de la descripción 
      (Párrafos, Divs, Spans que traigan formato raro) */
.bio-long-desc > * {
    max-width: 100% !important;
    width: auto !important; /* Deja que fluya */
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* 3. Asegurar que las imágenes dentro del texto no se salgan */
.bio-long-desc img {
    max-width: 100% !important;
    height: auto !important;
}

/* 4. Unificar tipografía y espacios para que todos se vean igual */
.bio-long-desc p, 
.bio-long-desc ul, 
.bio-long-desc ol, 
.bio-long-desc div {
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    color: #444 !important;
    margin-bottom: 20px !important;
    text-align: left !important; /* Fuerza alineación izquierda para evitar huecos raros */
}

/* 5. Corrección específica para listas que a veces se ven muy a la derecha */
.bio-long-desc ul, 
.bio-long-desc ol {
    padding-left: 20px !important; /* Solo el espacio necesario para la viñeta */
}/* End custom CSS */