/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.menu ul#menu-menu-principal li a {
    text-transform: uppercase;
    font-family: "IBM PLEX SANS";
    font-weight: 500;
    letter-spacing: inherit;
    font-size: 15px;
}
ul#menu-menu-principal {
    margin-top: 0;
}
.jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a {
    margin: 0 10px !important;
}
span.elementor-counter-number-prefix {
    color: #e34b54;
}
.e--pointer-underline .elementor-item:after {
    left: 22px;
    width: 30%;
    border-radius: 100px;
}
.menu.elementor-sticky--effects {
    background-color: white;
    box-shadow: 5px 5px 20px #00000014;
}
.flecha-bounce {
    animation: bounceContinuous 0.9s infinite cubic-bezier(0.45, 0, 0.55, 1);
}

@keyframes bounceContinuous {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}
.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_faccc93.elementor-col-100.elementor-field-required {
    padding: 20px 0;
}
.elementor-field-type-acceptance label,
.elementor-field-type-acceptance label a {
    color: white;
}
/*
 * CSS TABLAS TIPOLOGÍA
 */
/* CONTENEDOR */
.tabla-ejemplo-estilos {
    width: 100%;
    overflow-x: auto;
}

/* TABLA */
.tabla-ejemplo-estilos table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Manrope";
    text-align: center;
}

/* CABECERA */
.tabla-ejemplo-estilos thead th {
    background: #000;
    color: #fff;
    padding: 20px 10px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
}

/* FILAS */
.tabla-ejemplo-estilos tbody td {
    padding: 20px 10px;
    font-size: 16px;
}

/* FILAS ZEBRA */
.tabla-ejemplo-estilos tbody tr:nth-child(odd) {
    background: #ffffff;
}
.tabla-ejemplo-estilos tbody tr:nth-child(even) {
    background: #f3f3f3;
}

/* ENLACES */
.tabla-ejemplo-estilos a {
    color: #000;
    text-decoration: none;
    font-weight: bold;
}

/* ----------------------
   RESPONSIVE (MÓVIL)
-----------------------*/
@media (max-width: 768px) {
    /* Ocultar cabecera */
    .tabla-ejemplo-estilos thead {
        display: none;
    }

    /* Convertir tabla en bloques */
    .tabla-ejemplo-estilos table,
    .tabla-ejemplo-estilos tbody,
    .tabla-ejemplo-estilos tr,
    .tabla-ejemplo-estilos td {
        display: block;
        width: 100%;
    }

    /* Tarjetas */
    .tabla-ejemplo-estilos tbody tr {
        margin-bottom: 20px;
        border: 1px solid #ddd;
        background: #fff !important;
        border-radius: 6px;
        overflow: hidden;
    }

    /* Celdas */
    .tabla-ejemplo-estilos tbody td {
        padding: 14px 15px;
        border-bottom: 1px solid #eee;
        position: relative;
    }

    .tabla-ejemplo-estilos tbody td:last-child {
        border-bottom: none;
    }

    /* Etiquetas de cabecera en móvil */
    .tabla-ejemplo-estilos tbody td::before {
        content: attr(data-label);
        font-weight: bold;
        text-transform: uppercase;
        color: #444;
        font-size: 12px;
        margin-bottom: 4px;
        display: block;
    }
}
.tabla-ejemplo-estilos {
    margin-bottom: 60px;
}
.reservado {
    color: #d06608;
    font-weight: 500;
}
.disponible {
    color: #3a8000;
    font-weight: 500;
}
.no-disponible {
    color: #ff2121;
    font-weight: 500;
}
/*
 * FIN CSS TABLAS TIPOLOGÍA
 */

/*
 * CSS FORMA DE PAGO
 */
.formas-pago-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.forma-pago-item {
    background: #f5f5f5;
    padding: 40px 30px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 150px;
}
.forma-pago-numero {
    font-size: 42px;
    font-weight: 500;
    color: #000;
    margin-bottom: 15px;
    display: block;
    font-family: "IBM Plex Sans", Sans-serif;
}
.forma-pago-texto {
    font-size: 15px;
    font-weight: 600;
    color: #000;
    line-height: 1.5;
    text-transform: uppercase;
    display: block;
}
@media (max-width: 991px) {
    .formas-pago-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .formas-pago-wrapper {
        grid-template-columns: 1fr;
    }
}
/*
 * FIN CSS FORMA DE PAGO
 */
.img-destacada {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
}
.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
	border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color);
}
.En.curso .elementor-heading-title, .Finalizada .elementor-heading-title {
	padding: 5px 10px;
	color: white;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}
.En.curso, .Finalizada{
  border-radius: 100px;
}
.En.curso{
  background: #2FB74B !important;
}
.Finalizada{
  background: #cc454d;
}
.error404 #content {
	text-align: center;
	margin-top: 100px;
	margin-bottom: 150px;
}