@font-face {
    font-family: 'cormorant';
    src: url('../fonts/CormorantGaramond-Italic.ttf') format('truetype'),
         url('../fonts/CormorantGaramond-SemiBoldItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

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

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


@font-face {
    font-family: 'syne';
    src: url('../fonts/Syne-VariableFont_wght.ttf') format('truetype'),
    font-weight: normal;
    font-style: normal;
}

h1, h2 {
	font-family: 'syne' !important;
	color: #1f5675 !important;
}

h2 {
    font-weight: 100;
    font-size: 2.75rem !important;
    font-weight: lighter !important;
}

h3, h4, h5, h6, p, .u-text-body-alt-color, .u-input.u-text-body-alt-color, .u-input.u-text-body-alt-color[class*="u-border-"], li.active > a.u-button-style.u-text-body-alt-color, li.active > a.u-button-style.u-text-body-alt-color[class*="u-border-"], a.u-button-style.u-text-body-alt-color, a.u-button-style.u-text-body-alt-color[class*="u-border-"] {
	color: #1f5675 !important;
}

.menu-item-cart {
    position: relative;
    list-style: none;
}
.menu-item-cart .cart-icon {
    font-size: 30px;
}
.menu-item-cart .cart-count {
    background: #0073e6;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    padding: 2px 6px;
    position: absolute;
    top: -5px;
    right: -10px;
}


#header {
	width: 100vw !important;
}

.u-sheet-1 {
	width: 100vw !important;
    margin: auto;
    display: inline-grid;
;
}

.gy-row {
    display: block;
    width: 100vw;
    height: 45px;
}

.u-header .u-menu-1 {
	margin: auto !important;
}
#menu-menu-principal {
	margin-top: 5px;
}

.logo-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
    width: 100%;
/*    margin: 50px auto 50px auto;*/
    height: 100px;
}

.logo-wrapper a {
    margin: auto !important;
}

.menu-wrapper {
	background-color: #1f5675 !important;
}

.u-nav-item a.u-nav-link, .menu-collapse a.u-nav-link {
	color: #FFF;
	/*text-transform: uppercase;*/
}

.u-header .u-image-1 {
	margin-top: 0px !important;
}

.u-repeater-item {
    width: 200px;
	/*width: 325px;*/
	min-width: 200px;
    /*height: 400px;*/
}

#carousel_9b37 .u-repeater-item {
    width: 325px;
    min-width: 200px;
    height: 400px;
}


.wrapper_videoplayer {
	width: 540px;
    height: 304px;
    margin: 70px auto 70px auto;
}

.playerContainer {
	width: 100%;
	height: 100%;
}

.u-valign-top {
	justify-content: space-between !important;
}

.u-section-1 .u-image-1 {
	width: auto !important;
	height: auto !important;
}


/* Estilo base del menú */
.u-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 15px;
}

/* Estilo de los ítems de menú */
.u-nav-item {
    position: relative;
}

/* Estilo de los enlaces */
.u-nav-link {
    display: block;
    text-decoration: none;
    color: #333;
    padding: 10px 20px;
    background-color: transparent;
    transition: background 0.3s ease;
}

.u-nav-link:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

/* Estilo de los submenús */
.u-nav-item ul {
    display: none;
    position: absolute;
    left: 0;
    top: 15px;
    background-color: #1f5675 !important;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    list-style: none;
    padding: 0;
    min-width: 200px;
    z-index: 100;
}

/* Estilo de hover para los enlaces del submenú */
.u-nav-item ul .u-nav-link:hover {
    background-color: #FFF; /* Un azul más oscuro que #1f5675 */
    color: #1f5675; /* Un tono pastel cálido para el texto */
    transition: background 0.3s ease, color 0.3s ease;
}


.u-nav-item ul li {
    padding: 0;
    width: 100%;
}

/* Mostrar submenú al pasar el mouse */
.u-nav-item:hover > ul {
    display: block;
}

/* Estilo de los enlaces del submenú */
.u-nav-item ul .u-nav-link {
    padding: 10px;
    display: block;
    white-space: nowrap;
}

/*******************************************************************************************
 * INICIA ESTILOS PARA EVENTOS
*******************************************************************************************/
.eventos-lista {
    list-style: none !important; /* Quita los bullets */
    padding: 0; /* Elimina el padding por defecto */
}

.evento-item ul {
    list-style: none !important; /* También quita bullets de los horarios */
    padding: 0;
}

.eventos-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.evento-item {
    width: 30%;
    min-width: 275px;
    max-width: 350px;
    border: 1px solid #ddd;
    padding: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.evento-item a {
    text-decoration: none;
    color: inherit;
}

.evento-item h2 {
    font-size: 1.5rem !important;
    margin-bottom: 10px;
}

.evento-item p {
    font-size: 1rem;
    color: #555;
}

.evento-item .evento-price {
    font-size: 1.35rem;
    font-weight: bold;
    color: #333;
}

.evento-item p strong {
    font-weight: bold;
    color: #000;
}
/*******************************************************************************************
 * FINALIZA ESTILOS PARA EVENTOS
*******************************************************************************************/

/* Aseguramos que el contenedor del carrusel tiene posición relativa */
#carousel_e7d3 {
    position: relative;
    overflow: hidden; /* Aseguramos que nada se desborde fuera del contenedor */
    height: 100%;
    aspect-ratio: 5 / 3;
    z-index: 0;
}

/* El contenido encima del carrusel */
.overlay-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* Aseguramos que esté encima del carrusel */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; /* Los elementos estarán en una columna */
    text-align: center;
    color: white; /* Si quieres que el texto sea blanco, ajusta según el fondo */
    padding: 20px;
}

/* Estilos para los elementos dentro del overlay */
.overlay-content img,
.overlay-content h1,
.overlay-content p {
    margin: 10px;
}

p.u-large-text {
    font-size: 1.4rem !important;
}

p, p.u-text, a {
    font-size: 1.25rem !important;
}

.social-media {
    background-image: url(../images/social-media-icons-sm-blue.png);
    background-repeat: no-repeat;
    overflow: hidden;
    display: block;
    width: 35px;
    height: 35px;
    transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease;
    background-size: auto 140px;
    filter:  grayscale(5) brightness(5);
}

.socialmedia-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    align-content: stretch;
    gap: 10px;
    width: 70%;
    margin: auto;
    height: -webkit-fill-available;
}

.u-section-9 .u-icon-1 {
    width: 123px !important;
    height: 123px !important;
}

.socialmedia-wrapper span {
    width: 35px;
    height: 35px;
}

.social-instagram {
    background-position: -140px -4px;
}

.social-facebook {
    background-position: -8px -4px;
}

.social-x {
    background-position: -74px -4px;
}

.social-whatsapp {
    background-position: -140px -53px;
}

.social-telegram {
    background-position: -272px -100px;
}

.social-tiktok {
    background-position: -207px -4px;
}

.social-youtube {
    background-position: -74px -53px;
}

.social-threads {
    background-position: -272px -53px;
}

.social-truthsocial {
    background-position: -272px -4px;
}

.social-rumble {
    background-position: -74px -100px;
}

.u-icon:hover {
    animation: floating 0.5s ease-in-out;
/*    box-shadow: 0 0 15px rgba(255, 255, 255, 0.6);*/
}

.u-icon:hover .social-media {
    transform: scale(1.2) rotate(10deg);
    filter: brightness(1.2);
}

@keyframes floating {
    0% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
    100% { transform: translateY(0); }
}



.footer {
    background-color: #1f5675;
    color: #FFF !important;
    padding: 20px 0;
}

.footer-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
}

.footer-logo {
    width: 300px;
    height: 80px;
}

.footer-logo img {
    width: 100%; 
}

.footer-menu .footer-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.footer-menu .footer-nav li {
    display: inline-block;
}

.footer-menu .footer-nav a {
    color: white;
    text-decoration: none;
    font-weight: bold;
}

.footer-rights p, .footer-menu ul li a {
    font-size: 10px;
    color: #FFF !important;
}


#carousel_00d8 {

    background-image: linear-gradient(0deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1)), url("../images/2151892433.jpg");
    /*background-image: linear-gradient(0deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1)), url("../images/96102.jpg");*/
    /*background-image: linear-gradient(0deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1)), url("../images/banner-green-2.jpg");*/
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 95%;
    --animation-custom_in-translate_x: 0px;
    --animation-custom_in-translate_y: 0px;
    --animation-custom_in-opacity: 0;
    --animation-custom_in-rotate: 0deg;
    --animation-custom_in-scale: 0.3;
    max-height: 750px;
}

.owl-prev, .owl-next {
    display: none !important;
}


@media(max-width: 1024px) {
    .u-section-7 .u-repeater-1 {
        /*display: flex;
        flex-direction: column;*/
    }
    .u-section-7 .u-repeater-1 .u-repeater-item {
        /*width: 100%;*/
        width: 480px;
    }
    .u-section-2 .u-repeater-1 {
        grid-template-columns: repeat(2, calc(50% - 15px));
        grid-gap: 50px;
    }
    .u-section-5 .u-repeater-1 {
        grid-template-columns: repeat(2, calc(50% - 15px));
        min-height: 375px;
/*        grid-gap: 5%;*/
    }
    .u-section-1 .u-image-1 {
        margin: 50px auto 0;
    }
}

@media(max-width: 475px) {
    .u-section-7 .u-repeater-1 .u-repeater-item {
        width: 80%;
        min-width: 400px;
        margin: auto;
    }
    .u-section-7 .u-list-1 {
        width: 100%;
    }
    .u-section-12 .u-group-1 {
        width: 100%;
    }
}

@media(max-width: 768px) {
    .u-section-1 .u-image-1 {
        width: 70% !important;
        height: 70% !important;
    }
    .elementor-9 .elementor-element.elementor-element-5246df1 {
        min-height: 560px !important;
    }
    .u-repeater-item {
        width: 100%;
        min-width: 325px;
    }
}

@media(max-width: 688px) {
    .u-section-5 .u-repeater-1 {
        grid-template-columns: repeat(1, calc(100% - 15px));
        min-height: 375px;
/*        grid-gap: 50px;*/
    }
    .u-section-5 .u-list-item-1, .u-section-5 .u-list-item-2, .u-section-5 .u-list-item-3, .u-section-5 .u-list-item-4 {
        margin: auto !important;
        width: 80%;
    }
}

@media(max-width: 450px) {

    .u-section-2 .u-repeater-1 {
        grid-template-columns: repeat(1, calc(100% - 15px));
        grid-gap: 50px;
    }
    .u-section-7 .u-repeater-1 .u-repeater-item {
        width: 100%;
        min-width: 360px;
    }
    #menu-menu-principal-2 {
        flex-direction: column !important;
    }
    .elementor-9 .elementor-element.elementor-element-5246df1 {
        min-height: 290px !important;
    }
    .u-section-1 .u-image-1 {
        margin: 165px auto 0;
    }
}

@media(max-width: 375px) {
    .u-section-7 .u-repeater-1 .u-repeater-item {
        width: 100%;
        min-width: 300px;
    }
    .u-repeater-item {
        width: 325px;
        min-width: 375px;
    }
    .u-section-1 .u-image-1 {
        margin: 150px auto 0;
    }
}

@media(max-width: 320px) {
    .u-repeater-item {
        min-width: 300px;
    }
    .u-section-7 .u-repeater-1 .u-repeater-item {
        width: 95%;
        min-width: 300px;
    }
    .u-section-8 .u-text-2 {
        width: 300px;
    }
    .u-section-8 .u-text-1 {
        width: 300px;
    }
}

@media(max-width: 699px) {
    footer {
        margin-top: 50px;
    }
}

.u-section-6 .u-layout-wrap-1 .u-layout .u-layout-row .u-size-15 .u-layout-col .u-image {
    border-radius: 50%;
}




.u-btn-comprar {
    will-change: transform, opacity !important;
    animation-duration: 1500ms !important;
    background-color: #FFF !important;
    /*background-color: rgb(254 214 0 / 20%) !important;*/
    backdrop-filter: blur(10px);
    border-radius: 10px !important;
    width: 200px !important;
    margin: 10px auto 50px auto !important;
    font-weight: bold !important;
    padding: 10px 15px;
    color: #b59c17 !important;
}





/*#wpcf7-f355-o1 {
    width: 100%;
}

.wpcf7-form {
    width: 100%;
}

.u-form-group {
    width: 100% !important;
}

.wpcf7-form-control-wrap {
    width: 100%;
}

.wpcf7-form-control {
    width: 100%;
    font-size: 1.35rem;
    display: block;
    padding: 10px 12px;
    background-image: none;
    background-clip: padding-box;
    border-width: 0;
    border-radius: 3px;
    transition: border-color 
    ease-in-out 0.15s, box-shadow 
    ease-in-out 0.15s;
    color: inherit;
    height: auto;
}

.wpcf7-submit {
    color: white;
}*/

#wpcf7-f355-o1,
.wpcf7-form,
.u-form-group,
.wpcf7-form-control-wrap {
    width: 100% !important;
}

.wpcf7-form-control {
    width: 100%;
    font-size: 1rem; /* antes 1.35rem */
    padding: 6px 8px; /* antes 10px 12px */
    border: 1px solid #ccc; /* opcional: le da estructura */
    border-radius: 3px;
    background-color: #fff;
    box-sizing: border-box;
}

.wpcf7-form-control:focus {
    border-color: #888;
    outline: none;
    box-shadow: 0 0 2px rgba(0,0,0,0.1);
}

.wpcf7-submit {
    width: auto;
    padding: 6px 16px; /* antes era muy alto */
    font-size: 1rem;
    border-radius: 3px;
    background-color: #333; /* cambia según tu paleta */
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.wpcf7-submit:hover {
    background-color: #555;
}

/* Reduce el margen entre los campos */
.wpcf7-form p {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
}




.woocommerce .col2-set .col-1 {
    width: 100% !important;
    max-width: 75% !important;
}




/* ====== Checkout General ====== */
.woocommerce-checkout {
    font-family: 'Segoe UI', Roboto, sans-serif;
    color: #1a2b3c;
    background: #f9fbfd;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    max-width: 900px;
    margin: 40px auto;
}

/* Títulos */
.woocommerce-checkout h3,
.woocommerce-checkout h2 {
    font-size: 22px;
    color: #005fa3; /* azul profundo */
    border-bottom: 2px solid #cce4f7;
    padding-bottom: 6px;
    margin-bottom: 18px;
}

/* ====== Formulario de facturación ====== */
.woocommerce-billing-fields input,
.woocommerce-shipping-fields input,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #cce4f7;
    border-radius: 10px;
    background: #ffffff;
    transition: all 0.3s ease;
    font-size: 14px;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #4a9fd8;
    box-shadow: 0 0 0 3px rgba(74,159,216,0.25);
    outline: none;
}

/* Etiquetas */
.woocommerce-checkout label {
    font-weight: 600;
    font-size: 13px;
    color: #004b80;
    margin-bottom: 5px;
    display: inline-block;
}

/* ====== Resumen de pedido ====== */
.woocommerce-checkout-review-order {
    background: #ffffff;
    border: 1px solid #dceaf7;
    padding: 20px;
    border-radius: 14px;
    margin-top: 20px;
}

.woocommerce-checkout-review-order-table th {
    color: #004b80;
    font-weight: 600;
}

.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
    border-top: 1px solid #e6f0fa;
    padding: 12px 10px;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    font-size: 15px;
    font-weight: bold;
    color: #00385f;
}

/* ====== Botón Realizar Pedido ====== */
#place_order {
    background: linear-gradient(135deg, #0073e6, #005bb5);
    color: #fff;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    width: 100%;
    border: none;
    box-shadow: 0 3px 10px rgba(0,115,230,0.25);
}

#place_order:hover {
    background: linear-gradient(135deg, #005bb5, #004080);
    box-shadow: 0 4px 12px rgba(0,91,181,0.35);
    cursor: pointer;
}

/* ====== Métodos de pago ====== */
.woocommerce-checkout #payment {
    background: #ffffff;
    border: 1px solid #cce4f7;
    border-radius: 14px;
    padding: 20px;
    margin-top: 20px;
}

.woocommerce-checkout #payment .payment_box {
    background: #f0f7fc;
    border: 1px solid #b8dcf5;
    padding: 12px;
    border-radius: 10px;
    margin-top: 10px;
}

/* ====== Mensajes de error / validación ====== */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
    margin-bottom: 20px;
}

.woocommerce-error { background: #ffe8e8; border-left: 4px solid #e60000; }
.woocommerce-info { background: #e8f4ff; border-left: 4px solid #0073e6; }
.woocommerce-message { background: #e9fbe8; border-left: 4px solid #2fa84f; }







/* Contenedor principal */
.booking-lista {
    display: flex;
    flex-direction: row;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

/* Tablets: 2 columnas */
@media (min-width: 768px) {
    .booking-lista {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Escritorio: 3 columnas */
@media (min-width: 1024px) {
    .booking-lista {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Cada item */
.booking-item {
    background: #f8fbfd; /* azul muy suave, calmado */
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.booking-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}


/* Imagen */
.booking-imagen {
    border-radius: 12px;
    max-width: 100% !important;
    margin-bottom: 15px;
    aspect-ratio: 1 / 1;
}
/* Imagen */
.booking-imagen img {
    border-radius: 12px;
    max-width: 100% !important;
    height: 100% !important;
    margin-bottom: 15px;
    object-fit: cover;
}

/* Títulos */
.booking-item h2 {
    font-size: 1.2rem;
    color: #2a4d69; /* azul profundo */
    margin-bottom: 10px;
}

/* Texto */
.booking-item p {
    margin: 5px 0;
    font-size: 0.95rem;
    color: #4a4a4a;
}

/* Horarios */
.booking-item ul {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.booking-item ul li {
    font-size: 0.9rem;
    color: #2a4d69;
    background: #eaf4f9;
    padding: 5px 10px;
    border-radius: 8px;
    margin: 3px 0;
    display: inline-block;
}

/* Botón */
.booking-item .button {
    margin-top: auto;
    background: #4da6ff;
    color: white;
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 50px;
    font-weight: bold;
    transition: background 0.3s ease;
}

.booking-item .button:hover {
    background: #1a75d1;
}



.pleca-tml {
    position: absolute !important;
    margin: 0px !important;
    padding: 0px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    bottom: -68px !important;
    /*height: 90px;*/
}

/*.pleca-tml::before {
    content: "";
    position: absolute;
    border-left: 3px solid #d3dee4;
    width: 100%;
    height: 10px;
    top: -10px;
    left: 50%;
}*/

.pleca-tml a {
/*    color: #111111 !important;
    background-color: #d3dee4 !important;*/
    width: 100%;
    /*height: 90px;*/
    border-radius: 10px;
}


#carousel_d6ce {
    background-image: url(../images/campo-de-trigo.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    padding-bottom: 25px;
}


.pleca-benefits-tml {
    height: 325px !important;
    aspect-ratio: 1 / 1 !important;
}

.pleca-benefits-tml div {
    height: 100%;
    position: relative !important;

}

.btn-benefits-tml {
    position: absolute;
    bottom: 30px;
    left: 42%;
}






.wpcf7-form-control-wrap .wpcf7-radio {
  display: flex;
  justify-content: flex-start;
}

.wpcf7-form-control-wrap .wpcf7-radio input[type="radio"] {
  display: none;
}

.wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item-label {
  font-size: 30px;
  color: #ccc;
  cursor: pointer;
}

.wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item-label:before {
  content: "\2605";
}

.wpcf7-form-control-wrap .wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label {
  color: #ffd700;
}

.wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item-label.selected {
  color: #ffd700;
}


.container .woocommerce .products .product, .elementor-shortcode .products .product,
.elementor-widget-container .booking-lista .booking-item {
    float: unset !important;
    margin: unset !important;
    width: 260px !important;
    max-width: 350px;
    min-width: 250px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    padding: 5px;
    border-radius: 15px;
    border: 1px solid silver;
    height: 530px;
    -webkit-box-shadow: 0 0 10px 1px rgba(31,86,117,0.3);
    box-shadow: 0 0 10px 1px rgba(31,86,117,0.3);
}

.container .woocommerce .products .product a.woocommerce-LoopProduct-link h2.woocommerce-loop-product__title,
.elementor-shortcode .products .product a.woocommerce-LoopProduct-link h2.woocommerce-loop-product__title,
.elementor-widget-container .booking-lista .booking-item h2 {
    font-size: 1.5rem !important;
    line-height: 2rem;
}

.container .woocommerce .products .product a.woocommerce-LoopProduct-link img,
.elementor-shortcode .products .product a.woocommerce-LoopProduct-link img,
.elementor-widget-container .booking-lista .booking-item .booking-imagen img {
    /*border-radius: 15px 15px 0px 0px; */
    width: 100%;   
}

.elementor-shortcode ul.products {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    gap: 10px;
    list-style: none;
    justify-content: flex-start;
    flex-direction: row;
    align-items: center;
    align-content: center;
}

ul.products.columns-4 li:first-child {
    margin-left: 0;
}

.elementor-shortcode ul.products li {
    /*flex: 1 1 250px;*/          /* ancho mínimo de la tarjeta */
    max-width: 300px;         /* ancho máximo opcional */
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    text-align: center;
    padding: 0.5rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.elementor-shortcode ul.products li a,
.elementor-shortcode ul.products li img {
    display: block;
    width: 100%;
    height: auto;
}



.view-product-button {
    font-size: 100%;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: .618em 1em;
    font-weight: 700;
    border-radius: 3px;
    left: auto;
    color: #515151;
    background-color: #e9e6ed;
    border: 0;
    display: inline-block;
    background-image: none;
    box-shadow: none;
    text-shadow: none;
    width: auto !important;
}


.contact-title {
    width: 50%;
}

@media(max-width: 320px) {
    .contact-title {
        width: 80%;
    }
}



#carousel_00d8 .u-group-1 {
    background-color: rgba(255, 255, 255, 0.3) !important;
    border-radius: 15px;
}



.woocommerce .single-product .product_cat-eventos .summary p.price {
    display: none;
}