/* ================================================
   NOTAS DE REFERENCIA CSS
   [class^="clase"]      ->  elementos cuya clase comienza por...
   .clase[type=submit]   ->  elementos con atributo concreto
 */


/* GLOBAL / BASE ############################## */

html, body { background-color: #000 !important; }
body.page-template { overflow-x: hidden; width: 100% !important; }

a:active, a:hover { color: #ff4e5b; }


/* UTILIDADES DE MAQUETACIÓN ################## */

/* ====== Clears (espaciado en widgets de texto) ====== */
.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
    padding: 20px;
}

.clearsmall {
    clear: both; display: block; overflow: hidden;
    visibility: hidden; width: 0; height: 0;
    padding: 10px;
}

.clearextrasmall {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
    padding: 5px;
}

.clearextrasmall2 {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
    padding: 1px;
}

.clearnospacing {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
    padding: 0;
}

/* ====== Centrados ====== */
.center1 {
    justify-content: center;
}

.center2 {
    align-items: center;
}

.center3 {
    justify-content: center;
    align-items: center;
    display: grid;
}

.center4 {
    margin-left: auto;
    margin-right: auto;
    display: grid;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.center5 {
    margin-left: auto;
    margin-right: auto;
    display: grid;
}

@media only screen and (max-width: 768px) {
    .center-movil {
        justify-content: center;
        align-items: center;
        text-align: justify;
    }
}

/* ====== Alineación de texto ====== */
.justificado { text-align: justify; }
.text-left { text-align: left; }
.textcenter { text-align: center; }
.mayusculas { text-transform: uppercase; }
.noromper { white-space: nowrap; }

/* ====== Saltos de línea ====== */
.br::after, .salto::after {
    content: "";
    display: block;
    margin-bottom: 0em;
}
@media only screen and (min-width: 768px) {
    br.solomovil {
        display: none;
    }
}

/* ====== Ocultar en móvil/desktop ====== */
@media only screen and (min-width: 768px) {
    .oculto-ml {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    .col100 {
        width: 100% !important;
    }
    .fs40 {
        font-size: 30px !important;
    }
}

/* ====== Paddings ====== */
.padding-l5  { padding-left:  5px; }
.padding-l10 { padding-left: 10px; }
.padding-l15 { padding-left: 15px; }
.padding-l20 { padding-left: 20px; }

/* ====== Márgenes ====== */
.marginl10 { margin-left:  10px; }
.marginl15 { margin-left:  15px; }
.marginr10 { margin-right: 10px; }
.marginr15 { margin-right: 15px; }

/* ====== Colores utilitarios ====== */
.blanco { color: #fff; }
.rojo   { color: var(--e-global-color-primary); }
.dorado { color: gold; font-weight: 600; }

/* ====== Números (alineación vertical) ====== */
@media only screen and (min-width: 768px) {
    .numero {
        vertical-align: top;
        display: inline-block;
        margin-top: -0.2em;
    }
}

@media only screen and (max-width: 767px) {
    .numero {
        vertical-align: top;
        display: inline-block;
        margin-top: 0 !important;
    }
}


/* TIPOGRAFÍA Y UTILIDADES DE TEXTO ########### */

u {
    text-decoration: none;
    border-bottom: 1px solid;
}

.negrita { font-weight: 600; }
.bold    { font-weight: 900; }
.bold1   { font-weight: 900; }

.bold1:hover {
    color: #fff;
    transition-duration: 1s;
}

/* ====== Tamaños fijos en px ====== */
.fs25 { font-size: 25px; }
.fs30 { font-size: 30px; }
.fs35 { font-size: 35px; }
.fs38 { font-size: 38px; }
.fs40 { font-size: 40px; }

/* ====== Tamaños relativos en em ====== */
.big    { font-size: larger; }
.em1    { font-size: 1em; }
.em1-3  { font-size: 1.3em; }
.em2    { font-size: 2em; line-height: 1.2em; }

/* Nota: originalmente aparecía "lh3" sin punto; corregido a .lh3 */
.em3, .lh3 { line-height: 3em; }

/* ====== Títulos destacados ====== */
.titulo1 {
    color: #fff;
    text-shadow: 0px 0px 15px rgb(255 78 91 / 58%);
}

.titulo2 {
    color: #fff;
    font-family: "Raleway", Sans-serif;
    font-size: 50px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0px 0px 15px rgb(255 78 91 / 58%);
}

/* ====== H2 personalizado en URLs de eventos ====== */
h2.h2person {
    color: #fff;
    font-size: 37px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 1px;
    text-shadow: 0px 0px 15px rgba(255, 78, 90, 0.58);
    margin: 0;
}


/* ESTILOS DE LINK ############################ */

a.linkbr { color: #fff; }
a.linkbr:hover {
    color: var(--e-global-color-primary) !important;
}

a.link0 { color: #fff; }
a.link0:hover {
    color: var(--e-global-color-primary) !important;
}

a.linkw:hover {
    color: #fff !important;
}

a.link1 {
    padding: 0 0.25rem;
    margin: 0 -0.25rem;
    box-shadow: inset 0 0 0 0 #ff4e5b;
    transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    color: var(--e-global-color-primary);
}

a.link1:hover {
    color: #fff;
    box-shadow: inset 100px 0 0 0 var(--e-global-color-primary);
}

.link1 a:hover {
    color: #fff !important;
}

a.link2 {
    text-decoration: none;
    font-weight: 700;
}

a.link2:hover {
    color: var(--e-global-color-primary);
    background-color: var(--link-1);
    border-bottom: 2px solid;
    padding: 0 0.25rem;
    margin: 0 -0.25rem;
    transition: transform 0.3s ease-in-out;
}

a.linktxt,
.link {
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid #fff;
    padding: 0 0.25rem;
    margin: 0 -0.25rem;
}

a.linktxt:hover,
.link:hover {
    color: var(--e-global-color-primary) !important;
    border-bottom: 1px solid;
    padding: 0 0.25rem;
    margin: 0 -0.25rem;
    transition: transform 0.3s ease-in-out;
}

a.linktxt1 {
    color: #fff !important;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px solid #fff;
    padding: 2px;
    margin: 5px 0 0 5px;
}

a.linktxt1:hover {
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    border-bottom: none;
    background-color: #ff4e5b;
    padding: 2px;
    margin: 5px 0 0 5px;
    transition-duration: 0.5s;
}

a.linkbl { color: #fff; }
a.linkbl:hover {
    color: var(--e-global-color-primary);
}

a.linkdestacado {
    color: var(--e-global-color-primary);
    border-bottom: 1px solid;
}

a.linkdestacado:hover {
    color: #fff;
    border-bottom: 1px solid;
}

.link3 {
    color: #fff;
    border-bottom: 1px solid;
}

.link3:hover {
    color: var(--e-global-color-primary);
}

a.link4 {
    text-decoration: none;
    color: #fff;
}

a.link4:hover {
    color: var(--e-global-color-primary);
    border-bottom: 1px solid;
    padding: 0 0.25rem;
    margin: 0 -0.25rem;
    transition: transform 0.3s ease-in-out;
}

a.linknormal,
ul.linknormal li a {
    text-decoration: none;
    color: #fff;
}

a.linknormal:hover,
ul.linknormal li a:hover {
    color: var(--e-global-color-primary);
    transition-duration: 0.3s;
}

.nolink,
.nolink:hover {
    color: #fff !important;
}

.linkgr,
.linkgr ul li.cat-item,
.linkgr ul,
.linkgr li.cat-item.cat-item {
    color: #d3d3d3;
}

.linkgr:hover,
.linkgr .elementor-post__title a:hover,
.linkgr .elementor-post-info__item--type-terms a:hover,
.linkgr ul li a:hover {
    color: #ff4e5b !important;
}

/* ====== Hovers genéricos ====== */
.hover1:hover { color: #ff4e5b !important; }
.hover2:hover { color: #000 !important; }

.hoverbl .elementor-icon-box-title a:hover {
    color: #fff;
}

/* ====== Enlaces en categorías de blog ====== */
.catsnots a:hover {
    color: #ff4e5b !important;
}


/* SUBRAYADOS ################################# */

.subrayado1 {
    display: table;
}

.subrayado1::after {
    content: "";
    display: block;
    height: 2px;
    background-color: var(--e-global-color-primary);
    transform: scale(0, 1);
    transform-origin: left;
    transition: transform 0.25s;
}

.subrayado1:hover::after {
    transform: scale(1, 1);
}

.subrayado2 {
    color: #fff;
    display: inline;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(74%, rgba(255, 255, 255, 0)), color-stop(15%, #ff4e5b));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 74%, #ff4e5b 15%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 74%, #ff4e5b 15%);
    background-position-y: -3px;
    position: relative;
    max-width: max-content;
}

.subrayado3 {
    color: var(--e-global-color-primary);
    text-decoration-skip: edges;
    text-decoration-skip-ink: auto;
    text-decoration: none;
    border-bottom: 1px solid;
}

.subrayado {
    text-decoration-skip: edges;
    text-decoration-skip-ink: auto;
    text-decoration: none;
    border-bottom: 1px solid;
}

.subrayad {
    text-transform: none;
    text-decoration: none;
    border-bottom: 1px solid;
}

/* subrayado animado*/
.subrayado4 {
    position: relative;
    text-decoration: none;
    display: inline-block;
}
.subrayado4::after {
    content: "";
    position: absolute;
    width: 0;
    height: 4px;
    bottom: -2px;
    left: 50%;
    background-color: #fff;
    transition: all 0.4s ease;
    transform: translateX(-50%);
    box-shadow: 0 0 10px -5px #ff4e5b80;
}
.subrayado4:hover::after { width: 100%; }


/* DESTACADOS ################################# */

.destacado1 {
    background-color: #ff4e5b;
    color: #fff;
    padding: 8px 20px;
    border-radius: 5px;
}

.destacado11 {
    background-color: #ff4e5b;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    margin: 5px 0;
    display: inline-block;
}

.destacado2 {
    background-color: #ff4e5b;
    color: #fff;
    padding: 8px 20px;
}

.destacado3 {
    text-transform: uppercase;
    background: linear-gradient(to top, #f50012, #ffa51e);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 900;
    text-shadow: 0px 0px 15px rgb(255 78 91 / 58%);
}

.destacado4 {
    text-transform: uppercase;
    background: linear-gradient(180deg, rgba(242, 165, 0, 1) 0%, rgba(222, 90, 0, 1) 50%, rgba(203, 15, 0, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 900;
    text-shadow: 0px 0px 15px rgb(255 78 91 / 58%);
}


/* SEPARADORES ################################ */

.hr1 {
    width: 50%;
    margin: 0 auto;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid;
    border-color: var(--e-global-color-b5a6979);
}

.hr2 {
    width: 50%;
    margin: 0 auto;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    border-top: 1px solid;
    border-color: var(--e-global-color-b5a6979);
}


/* LISTAS ##################################### */

ul.novineta,
ul.nobullets {
    list-style-type: none;
    padding-left: 25px;
}

/* Nota: originalmente .lista1 li tenía 'align-items:' sin valor.
   Eliminado por indicación del usuario (alineación natural a la izquierda). */
.lista1 li {
    display: flex;
    gap: 15px;
    width: 100%;
    margin-bottom: 8px;
    text-align: left;
}

ul.elementor-icon-list-items .elementor-icon-list-item {
    list-style-type: none;
}


/* PRECIOS #################################### */

.precios {
    box-shadow: 0px 0px 10px -5px rgb(11 11 11 / 85%);
}


/* ====== #precioserv1 - círculo precio packs ====== */
#precioserv1 {
    background-color: var(--e-global-color-primary);
    right: 10px;
    width: 65px;
    max-width: 65px;
    height: 65px;
    padding: 15px 0;
    border-radius: 50%;
    color: #fff !important;
    font-size: 1.2em;
    font-weight: 700 !important;
    text-align: center;
    -webkit-box-shadow: 4px 1px 5px 0px #000;
    box-shadow: 4px 1px 5px 0px #000;
}

#precioserv1::after {
    content: "€";
    font-size: 0.6em;
    color: #fff;
    font-weight: 700;
    position: absolute;
    top: 25px;
    right: 6px;
}

@media only screen and (min-width: 700px) {
    #precioserv1 {
        background-color: var(--e-global-color-primary);
        position: absolute;
        top: 0;
    }
}

/* ====== .precioserv - círculo precio genérico ====== */
.precioserv {
    background-color: var(--e-global-color-primary);
    top: -50px;
    right: 10px;
    width: 65px;
    max-width: 65px;
    height: 65px;
    padding: 15px 0;
    border-radius: 50%;
    color: #fff !important;
    position: absolute;
    -webkit-box-shadow: 4px 1px 5px 0px #000;
    box-shadow: 4px 1px 5px 0px #000;
}

.precioserv li span {
    width: 75px;
    height: 75px;
    position: absolute;
    right: 5px;
    top: 0;
    font-size: 20px;
    color: #fff !important;
}

.precioserv::after {
    content: " €";
    font-size: 0.8em;
    position: relative;
    right: 1em;
    bottom: -0.5em;
    color: #fff;
    font-weight: 700;
    vertical-align: bottom;
}

@media only screen and (min-width: 700px) {
    .precioserv {
        background-color: var(--e-global-color-primary);
        position: absolute;
        top: 0;
    }
}

/* ====== .precioservi - círculo precio servicio ====== */
.precioservi {
    max-width: 75px !important;
    width: 75px !important;
    position: absolute;
    right: -15px;
    top: -15px;
    height: 75px !important;
    z-index: 9;
    font-size: 23px;
    font-weight: 700;
    color: #fff;
    padding: 13px 10px;
    line-height: 48px;
    background-color: var(--e-global-color-primary);
    text-align: center;
    border-radius: 50%;
}

.precioservi:before {
    content: "DESDE";
    font-size: 10px;
    position: absolute;
    width: 100px;
    top: -5px;
    text-align: center;
    left: -11px !important;
}

.precioservi:after {
    left: 57px !important;
}

.precioservi::after {
    content: " €";
    font-size: 0.5em;
    color: #fff;
    font-weight: 600;
    position: absolute;
    top: 18px;
    right: 16px;
}

.precioservi.precios:before {
    content: "DESDE";
    font-size: 10px;
    position: absolute;
    width: 100px;
    top: -5px;
    left: 20px;
}

/* ====== .precioservipacks - círculo precio packs ====== */
.precioservipacks {
    max-width: 75px !important;
    width: 75px !important;
    position: absolute;
    right: -8px;
    top: -8px;
    height: 75px !important;
    z-index: 9;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    padding: 13px 10px;
    line-height: 48px;
    background-color: var(--e-global-color-primary);
    border-radius: 50%;
}

.precioservipacks:before {
    content: "DESDE";
    font-size: 10px;
    position: absolute;
    width: 100px;
    left: -12px;
    top: -5px;
    text-align: center;
}

.precioservipacks::after {
    content: " €";
    font-size: 0.6em;
    color: #fff;
    font-weight: 600;
    position: absolute;
    top: 16px;
    right: 6px;
}

.precioservipacks.precios:before {
    content: "DESDE";
    font-size: 10px;
    position: absolute;
    width: 100px;
    top: -5px;
    left: 20px;
}

.precioservipacks .elementor-post-info__item--type-custom {
    position: absolute;
    font-size: 30px;
    font-weight: 600;
    right: 11px;
    width: 100px;
    top: 0;
}

/* ====== .newprice25 - burbuja precio 2025 ====== */
.newprice25 {
    background-color: var(--e-global-color-primary);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    position: absolute;
    margin-right: -10px;
    margin-top: -10px;
}

.newprice25 li span {
    padding-top: 0.2em;
}

.newprice25 li span:before {
    content: "DESDE";
    font-size: 9px;
    line-height: 1em;
    letter-spacing: 0.8px;
    width: 100%;
    display: inline-block;
}

.newprice25 li span:after {
    content: "€";
    font-size: 10px;
    line-height: 1em;
}

/* ====== .pricebox - caja precio inline ====== */
.pricebox {
    background-color: var(--e-global-color-primary);
    color: #fff;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: baseline;
    flex-shrink: 0;
    min-width: 45px;
    text-align: center;
    justify-content: center;
    line-height: 1em;
}

.pricebox.medium { padding: 2px 10px; }

.pricebox2 {
    color: #fff;
    font-weight: 600;
    padding: 0 5px;
    background-color: var(--e-global-color-703aa48);
    border: 1px solid #ff4e5b;
}

.pricebox:after, .pricebox2:after {
    content: "€";
    font-size: 0.7em;
    margin-left: 0.3em;
}

.pricebox3 {
    background-color: var(--e-global-color-primary);
    columns: 1;
    color: #fff;
    font-weight: 600;
    padding: 0 5px 2px;
}

.elementor-icon-list-item:has(.pricebox) {
	line-height: 1.6em;
}

/* ====== .eur - sufijo euro ====== */
.eur:after {
    content: "€";
    font-size: 0.8em;
    margin-left: 0.2em;
}

/* ====== Otros precios (solo en desktop ≥700px) ====== */
@media only screen and (min-width: 700px) {
    .serprice {
        width: 120px;
        height: 120px !important;
    }
    .serprice::after {
        content: " €";
        font-size: 25px;
        color: #fff;
        font-weight: 800;
        position: absolute;
        top: 23px;
        right: 0;
    }
    .globo {
        font-weight: 600;
        background-color: var(--e-global-color-703aa48);
        color: #fff;
        padding: 0 5px;
        border: 1px solid #ff4e5b;
    }
}

/* ====== Tabla de precios Elementor ====== */
ul.elementor-price-table__features-list {
    padding-bottom: 10px !important;
}

i.far.fa-check-circle.small {
    font-size: 0.9em;
    vertical-align: middle;
}


/* BOTONES #################################### */
#boton-small {
    padding: 10px;
}

.elementor-button-link.elementor-button.xs {
    padding: 10px;
}

.elementor-button-link.elementor-button.xl {
    padding: 15px;
}

.elementor-button-link.elementor-button.elementor-size-sm:hover,
.elementor-widget-button .elementor-button:hover {
    box-shadow: 0px 0px 15px 0px rgba(255, 78, 90, 0.39);
}

/* ====== boton icono Back to top ====== */
.gap-backtop a[href="#"] {
    color: #1a1a1a !important;
}


/* IMÁGENES ################################### */

.imagecover {
    width: 100% !important;
    object-fit: cover !important;
}

.svg-tel {
    vertical-align: top;
}

/* ====== Emojis ====== */
.elementor img[class^="emoji"] {
    max-width: 50px;
    width: 1em;
}

/* ====== Iconos SVG Elementor ====== */
.elementor-icon i,
.elementor-icon svg {
    max-width: 30px;
}

.elementor-icon-list-items .elementor-icon-list-icon svg {
    max-width: 1.5em;
}

.gap-ai-icon svg {
    max-width: 20px;
}

/* ====== Iconos Font Awesome ====== */
i.fas.fa-bars:before {
    color: #fff;
}


/*
.elementor-popup-modal .dialog-close-button {
    border-radius: 5px;
}

.elementor-popup-modal .dialog-close-button svg {
    fill: #fff;
    height: 2em;
    width: 2em;
    background-color: ;
    border-radius: 5px;
}

.elementor-popup-modal .dialog-close-button:hover svg {
    fill:;
    background-color: #212121;
}

elementor-popup-modal-9888 e.eicon-close {
}
#elementor-popup-modal-9888 a:hover e.eicon-close {
}
*/
       /* ====== Fix z-index menú móvil  ====== */
.elementor-2620 .elementor-element.elementor-element-d063feb .jet-mobile-menu__container,
.elementor-2620 .elementor-element.elementor-element-d063feb .jet-mobile-menu__container .jet-mobile-menu__container-inner {
    z-index: 9999 !important;
}

.elementor-2620 .elementor-element.elementor-element-d063feb .jet-mobile-menu__item .jet-dropdown-arrow svg {
    max-width: 20px !important;
}


/* FORMULARIOS + PROTECCIÓN DE DATOS ########## */

/* ====== Checkbox de aceptación ====== */
label .acepto2,
label .acepto {
    text-transform: none;
    color: #fff;
}

.acepto3 {
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .acepto2 {
        font-size: 13px;
    }
}

/* ====== Textos de privacidad ====== */
.txtprivacidad {
    font-size: 14px;
    line-height: 14px;
    display: inline-block;
}

.privacidad-formulario {
    line-height: 1em;
}

a.linkprotec {
    color: currentcolor;
    border-bottom: 1px solid;
    white-space: nowrap;
}

a.linkprotec:hover {
    color: #ff4e5b;
}

label[for="form-field-publi-0"] {
    font-weight: 600;
    text-transform: inherit;
}

/* ====== Desplegable privacidad compacto ====== */
.gap-priv-details {
    margin: 10px 0 6px;
}

.gap-priv-details > summary {
    cursor: pointer;
    letter-spacing: 0.5px;
    font-size: 13px;
    opacity: 0.95;
}

.gap-priv-box {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.25);
    max-height: 5.6em;
    overflow: auto;
}

.gap-priv-box p {
    margin: 0 0 8px;
    font-size: 12.5px;
    line-height: 1.35;
}

.gap-priv-box p:last-child {
    margin-bottom: 0;
}

a.linkprivacidad {
    color: #fff;
    text-decoration: underline;
}

a.linkprivacidad:hover {
    color: #ff4e5b;
}

/* ====== Dropbar protección de datos ====== */
.dropdatos .jet-dropbar__button-text {
    color: #fff;
}

.textdropdatos {
    line-height: 1.5em;
}

a.privacidaddrop {
    color: var(--e-global-color-primary);
    text-decoration: underline;
    white-space: nowrap;
}

a.privacidaddrop:hover {
    color: #0B080F;
}

/* ====== Mensajes de error ====== */
.elementor-message-danger {
    color: #890a0a;
    background-color: #ffc6c6;
    padding: 5px 5px;
    border-radius: 6px;
}


/* WIDGET: JET UNFOLD ######################### */

.jet-unfold {
    padding-left: 0 !important;
    border: none !important;
}

.jet-unfold__button {
    text-transform: uppercase !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    padding: 15px 20px !important;
    background-color: #FF4E5B50 !important;
    border-color: var(--e-global-color-primary) !important;
}

.jet-unfold__button:hover {
    background-color: #ff4e5b !important;
    border-color: var(--e-global-color-primary) !important;
}

.jet-unfold__button.elementor-button {
    background: #ffffff00 !important;
    border: none !important;
}

.jet-unfold__button-text {
    border-bottom: 1px solid #fff;
    padding-bottom: 3px;
}

.elementor-widget-jet-unfold .jet-unfold__content {
    text-align: justify;
    color: #AAAAAA;
}

.blockquote .jet-unfold__content-inner.elementor-text-editor.elementor-clearfix {
    border-left-color: #FF4E5B94;
    padding-left: 10px;
    border-left-style: solid;
    border-left-width: 1px;
}

.borderojo .jet-unfold__content {
    border-left: 1px solid #FF4E5B94;
    padding-left: 10px;
}


/* Separador unificado en #212121 (antes había 3 versiones distintas) */
.jet-unfold__separator {
    height: 30px !important;
    background-color: transparent;
    background-image: linear-gradient(180deg, #00000000 0%, #212121 100%) !important;
}

/* ====== Unfold en página /experiencias-nauticas/ ====== */
.person .jet-unfold__separator {
    height: 30px !important;
    background-color: transparent;
    background-image: linear-gradient(180deg, #00000000 0%, #212121 100%) !important;
}

.person .jet-unfold__button {
    padding: 10px !important;
    font-size: 0.7em !important;
}

/* ====== Unfold con título h2/h3 ====== */
#unfold h2,
#unfold h3 {
    font-size: 1.3em;
}

.serviciospacks .elementor-icon-list-text {
    color: #fff !important;
}


/* WIDGET: ACORDEÓN ########################### */

.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg {
    max-width: 14px;
    max-height: 14px;
}

.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
    width: 1em;
}

/* ====== Acordeón con playlist (audio / video) ====== */
.acordeon .wp-playlist-item.wp-playlist-playing {
    background: #FF4E5B94;
    color: #fff;
}

.acordeon .wp-playlist-light {
    background: #111;
    color: #aaa;
    font-weight: 500;
}

.acordeon .wp-playlist-light .wp-playlist-caption {
    color: #aaa;
}

.acordeon .wp-playlist-light .wp-playlist-caption:hover {
    color: #fff;
}

.acordeon .wp-playlist-item.wp-playlist-playing .wp-playlist-item-title {
    color: #fff;
}

.acordeon .wp-playlist {
    border: 1px solid #FF4E5B94;
}

.acordeon .wp-playlist-item .wp-playlist-playing .wp-playlist-caption:hover {
    color: #16ef28;
}

a.wp-playlist-caption:hover {
    color: #ff4e5b;
}

.acordeon .wp-playlist.wp-video-playlist.wp-playlist-light .mejs-overlay-button:hover {
    background-color: #ff4e5b90;
    border-radius: 50%;
}

/* ====== Acordeón FAQs ====== */
#acor-faqs svg {
    height: 15px;
    width: 15px;
}

.acordeon-h2 .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
    width: 0.8em;
}

.acordeon-h2 .elementor-toggle .elementor-tab-title .elementor-toggle-icon i.fas {
    font-size: 18px;
    vertical-align: middle;
}

.acordeon-h2 .elementor-toggle .elementor-tab-title .elementor-toggle-icon-opened {
    padding-top: 0.2em;
}

.type-post .content-post .acordeon-h2 a {
    border: none !important;
}

/* ====== Accesibilidad táctil (diana 48x48 PageSpeed) ====== */
@media (max-width: 767px) {
    .elementor-accordion-title {
        line-height: 1.4em !important;
    }
    .elementor-accordion .elementor-accordion-item .elementor-tab-title,
    .elementor-accordion .elementor-accordion-item .elementor-tab-title a {
        min-height: 48px !important;
        display: flex !important;
        align-items: center;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
    .elementor-accordion .elementor-accordion-item {
        margin-bottom: 8px !important;
    }
}

.elementor-accordion .elementor-tab-title,
.elementor-tabs .elementor-tab-title {
    min-height: 48px;
    padding-top: 12px;
    padding-bottom: 12px;
}

@media (pointer: coarse) {
    .elementor-accordion .elementor-tab-title,
    .elementor-accordion .elementor-tab-title > a.elementor-accordion-title {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 48px;
        padding: 12px 16px;
        box-sizing: border-box;
    }
    .elementor-accordion .elementor-accordion-item {
        margin-bottom: 8px;
    }
    .elementor-accordion .elementor-tab-content a {
        display: inline-flex;
        align-items: center;
        min-height: 48px;
        padding: 10px 8px;
        margin: 6px 0;
    }
    .elementor-accordion .elementor-tab-title:focus-visible,
    .elementor-accordion .elementor-tab-title > a.elementor-accordion-title:focus-visible,
    .elementor-accordion .elementor-tab-content a:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 2px;
    }
}


/* WIDGET: TABS / PESTAÑAS #################### */

.elementor-tabs .elementor-tabs-wrapper {
    display: initial !important;
}

.elementor-tabs .elementor-tabs-wrapper div {
    border-left: 1px solid #444;
    border-right: 1px solid #444;
    border-top: 1px solid #444;
    margin-top: -1px;
    margin-bottom: -1px;
}

.elementor-widget-tabs .elementor-tab-title {
    border-bottom: none !important;
}

.elementor-tab-content {
    border-top: 1px solid #444 !important;
}

.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before {
    border-width: none !important;
    border: none !important;
    border-bottom-style: none !important;
}

.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,
.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before {
    width: auto !important;
}

.elementor-widget-tabs .elementor-tab-title a:hover {
    color: var(--e-global-color-accent);
}

.elementor-tabs .elementor-tabs-wrapper div:hover {
    color: #fff;
}

/* ====== Tabs en móvil ====== */
@media only screen and (max-width: 700px) {
    .elementor-tab-title {
        font-size: 14px;
        width: 100%;
    }
    .elementor-tabs .elementor-tabs-wrapper div {
        border-bottom: 1px solid #444 !important;
        display: inline-block !important;
        border: 1px solid #444;
        margin-top: 0;
        margin-bottom: 0;
    }
    .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before {
        border-bottom-style: none !important;
        border: none !important;
    }
    .elementor-tab-mobile-title {
        display: none;
    }
}

/* ====== Tabs con span decorativo ====== */
.spantabs2 {
    font-size: 1.8em;
    font-family: "Raleway", Sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

/* ====== Span y logo en tabs (solo desktop ≥700px) ====== */
@media only screen and (min-width: 700px) {
    .spantabs {
        font-size: 25px;
    }
    .logotabs {
        max-height: 60px;
    }
}

/* ====== Menú tabs con navegación (templates concretos) ====== */
.elementor-3175 .elementor-element.elementor-element-15bb32d .elementor-tab-title,
.elementor-4814 .elementor-element.elementor-element-0ae289c .elementor-tab-title,
.elementor-4811 .elementor-element.elementor-element-0ae289c .elementor-tab-title,
.elementor-4816 .elementor-element.elementor-element-0ae289c .elementor-tab-title,
.elementor-6148 .elementor-element.elementor-element-0ae289c .elementor-tab-title {
    display: none;
}

.elementor-element.elementor-global-6292 .elementor-nav-menu .elementor-item {
    display: inline-block;
    text-align: left;
}


/* WIDGET: TOGGLE / CONMUTADOR ################ */

.elementor-toggle .elementor-tab-title {
    background-color: #FF4E5B52 !important;
    color: #fff !important;
    border: 1px solid #ff4e5b !important;
}

.elementor-toggle .elementor-tab-title i:before,
.elementor-toggle .elementor-tab-title a {
    color: #fff !important;
}

/* ====== Conmutador H2 FAQ ====== */
.conmutador-h2 .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
    width: 0.8em;
}

.conmutador-h2 .elementor-toggle .elementor-tab-title .elementor-toggle-icon i.fas {
    font-size: 18px;
    vertical-align: middle;
}

.conmutador-h2 .elementor-toggle .elementor-toggle-icon-opened {
    padding-top: 0.2em;
}

/* ====== jet-switcher ====== */
.jet-switcher__content-wrapper {
    overflow: visible !important;
}


/* WIDGET: BANNERS JET ######################## */

/* ====== Plantilla botonera enlaces barco (template 8734) ====== */
.sombra .jet-banner__title {
    text-shadow: 1px 1px 5px #020000;
}

.jet-banner.jet-effect-ruby {
    max-height: 150px !important;
}

/* ====== Plantilla botonera soltero/soltera/mixta (template 37267) ====== */
.elementor-37267 .jet-banner.jet-effect-sarah {
    max-height: 200px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .elementor-37267 .jet-banner.jet-effect-sarah {
        max-height: 130px;
    }
}

@media only screen and (max-width: 767px) {
    .elementor-37267 .jet-banner.jet-effect-sarah {
        max-height: 150px;
    }
}


/* WIDGET: SWIPER / CARRUSEL ################## */

/* ====== Paginación Swiper con diana táctil 48x48 ====== */
.swiper-pagination-bullet {
    position: relative;
    width: 1em;
    height: 1em;
    padding: 2px;
    background-clip: content-box;
    border-radius: 50%;
    margin: 0 6px;
    top: 10px;
    bottom: 10px;
    box-sizing: content-box;
}

.swiper-pagination {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    overflow: visible;
}

.swiper-pagination-bullet-active {
    opacity: 1;
}

/* ====== Flechas prev/next con diana 48x48 ====== */
.swiper-button-prev,
.swiper-button-next {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 9999px;
    touch-action: manipulation;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 18px;
}

/* ====== Botones swiper en loop-carousel ====== */
.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next {
    border-radius: 0 20px 20px 0;
    padding: 2px;
    background-color: var(--e-global-color-primary);
}

.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
    border-radius: 20px 0 0 20px;
    padding: 2px;
    background-color: var(--e-global-color-primary);
}

/* ====== Icono lupa swiper ====== */
svg.e-font-icon-svg.e-fas-search-plus {
    fill: #fff !important;
}

/* ====== Galería jet-slider ====== */
.jet-slider .sp-full-screen-button {
    top: 50% !important;
    right: 50% !important;
    font-size: 20px;
}


/* LOOP / LISTING GRID ######################## */

.e-loop-item {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.e-loop-item:hover {
    transform: translateY(-8px);
    box-shadow: 10px 10px 30px -10px rgb(255 92 92 / 85%);
    border-radius: 20px;
    transition-duration: 0.5s;
}

.e-loop-item h3 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: auto;
    font-size: 1em;
    font-weight: 600;
}

/* ====== Excerpts y botones dentro de loop ====== */
.elementor-loop-container .elementor-widget-theme-post-excerpt {
    margin-top: -20px !important;
    margin-bottom: 30px !important;
    padding-bottom: 20px;
}

.buttonbajo {
    bottom: 0;
    position: absolute;
    right: 0;
}

.swiper-container.elementor-loop-container .buttonbajo {
    bottom: 0;
    position: relative;
    right: 0;
}

/* ====== Servicios / Packs (loop títulos con hover) ====== */
.serviciospacks .elementor-page-title h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
}

.serviciospacks h2.elementor-heading-title[class*=elementor-size-] > a:hover {
    color: #fff;
    border-bottom: 1px solid;
}

.serviciospacks h2.elementor-heading-title[class*=elementor-size-] > a:hover span {
    color: #fff;
}

/* ====== Grid en tablet ====== */
@media only screen and (max-width: 1024px) {
    .elementor-grid-tablet-1 .elementor-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 624px) {
    .elementor-grid-tablet-1 .elementor-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}


/* CONTENIDO SEO / EDITOR TEXTO ############### */

.contenido blockquote {
    padding-left: 20px;
    color: #ccc;
    border-left: 1px solid #ff4e5b;
}

/* ====== Contenido SEO en páginas internas ====== */
.contentseo {
    text-align: left;
}

.contentseo h2 { font-size: 1.2em; }
.contentseo h3 { font-size: 1.4em; }

.contentseo a {
    color: #fff;
    border-bottom: 1px solid;
}

.contentseo a:hover {
    color: var(--e-global-color-primary);
}

/* ====== Escaparates SEO ====== */
.escaparate h3 {
    font-size: 1.3em;
    font-weight: 600;
}

.escaparate h4 {
    font-size: 1.1em;
    font-weight: 600;
}

/* ====== Categorías en sidebar / widget ====== */
.elementor-widget-wp-widget-categories h5 {
    display: none;
}

#categors a {
    color: var(--e-global-color-primary);
}

#categors li {
    border-bottom: 1px solid #333;
    padding: 5px 10px !important;
    color: var(--e-global-color-primary);
}

#categors a:hover {
    color: #fff;
}

#categors h5 {
    display: none;
}


/* MIGAS DE PAN ############################### */

.rank-math-breadcrumb {
    text-align: center !important;
    display: inline-block;
}


/* REGLAS ESPECÍFICAS (IDs Elementor) ######### */

/* Icono en template con este ID */
.elementor-element-e7ffb3f .elementor-element svg {
    min-width: auto;
    max-width: 50px;
}

/* Loop en /tarifas-despedidas-valencia/ (según comentario original) */
.elementor-element-60f4df6 {
    margin-bottom: -20px;
}

/* Padding 0 en móvil en esta sección concreta */
@media only screen and (max-width: 767px) {
    .elementor-17308 .elementor-element.elementor-element-560d7efe {
        padding: 0 !important;
    }
}

/* Dropbar protección datos - botón base (4af9219) */
.elementor-element-4af9219 .jet-dropbar__button {
    background-color: #00000000;
    padding: 0;
    border: none;
    text-transform: none;
}

/* Labels ocultos en formulario (c454e33) */
.elementor-element.elementor-element-c454e33 .elementor-labels-above .elementor-field-group > label {
    display: none;
}

/* Colores iconos post-info en loop */
.elementor-widget .elementor-icon-list-icon.elementor-icon-list-text {
    color: var(--e-global-color-text);
}

a.elementor-post-info__terms-list-item:hover {
    color: var(--e-global-color-secondary) !important;
}

/* Body overflow/padding: regla original con ID 104 y section específica
   (elementor-104 .elementor-element.elementor-element-fe17574 .elementor-tab-content) */
.elementor-104 .elementor-element.elementor-element-fe17574 .elementor-tab-content {
    border: 1px solid #444;
}




/* BARRA DE SCROLL ############################ */

html {
    scrollbar-width: thin;
    scrollbar-color: #AE353E #72777D;
}

::-webkit-scrollbar {
    width: 14px;
}

::-webkit-scrollbar-track {
    border-radius: 0;
    background-color: #72777D;
    border: 4px solid #000;
}

::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background-color: #AE353E;
    height: 50%;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #ff4e5b;
}


/* FECKO: REGLAS DEL DISEÑADOR EXTERNO ######## */

/* ====== Intereses (loop/grid con overflow visible) ====== */
.intereses {
    overflow-x: hidden !important;
}

@media screen and (min-width: 1024px) {
    .intereses .swiper {
        overflow: visible !important;
    }
    .swiper-slide {
        will-change: transform;
        border-style: solid;
        border-width: 0;
        transition-duration: 0.5s;
        transition-property: border, background, transform;
        overflow: visible;
    }
}

.swiper-slide > .elementor-element {
    height: auto !important;
}

.intereses .swiper-container {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    margin-top: -90px;
    margin-bottom: -90px;
}

.intereses .swiper-container-horizontal {
    padding-top: 20px;
}

.intereses .swiper-container-horizontal .swiper-slide,
.intereses .elementor-widget-loop-carousel {
    overflow: visible !important;
}

.intereses .swiper-slide section:hover {
    border-radius: 20px !important;
    box-shadow: rgba(255, 78, 91, 0.5) 0px 0px 100px 10px,
                rgba(255, 78, 91, 0.2) 0px 0px 20px 10px !important;
    transition: box-shadow 0.3s linear !important;
}

.intereses .swiper-slide .EWLtag:hover {
    border-radius: 20px !important;
    box-shadow: none !important;
    transition: box-shadow 0.3s linear !important;
}

.intereses .elementor-page-title .elementor-heading-title span {
    margin-left: -10px;
    text-transform: uppercase;
    position: absolute;
    font-size: 10px;
    margin-top: -23px;
    background-color: #000;
    border-radius: 30px;
    padding: 5px 10px;
    display: block;
}


/* PRUEBAS 2026 ############################### */

/* (zona libre para pruebas temporales - mover a su sección al validar) */


/* PENDIENTE DE REVISAR / HEREDADO ############ */

/* (vacío - las reglas inciertas se han ubicado en REGLAS ESPECÍFICAS
    o bajo la sección FECKO con cabecera propia) */
/* URLS ESPECÍFICAS (reglas mixtas) ########### */

/* ====== /eventos/cumpleanos/ ====== */
.galeria-eventos-cumpleanos img {
    width: 100%;
    height: 150px !important;
    object-fit: cover;
    vertical-align: middle;
}

/* ====== elementor-page-9788 + page-id-4874 (columnas cien/ciendos) ====== */
@media only screen and (max-width: 1024px) {
    .colcien,
    .colciendos {
        z-index: 0;
        width: 100% !important;
    }
    .elementor-page-9788 .colcien,
    .page-id-4874 .colcien {
        margin-bottom: -150px;
        z-index: 0;
        width: 100% !important;
    }
    .elementor-page-9788 .colcien img,
    .page-id-4874 .colcien img {
        z-index: 1 !important;
    }
    .elementor-page-9788 .colciendos,
    .page-id-4874 .colciendos {
        width: 100% !important;
        z-index: 2 !important;
    }
}

@media only screen and (min-width: 1204px) {
    .elementor-page-9788 .colcien img,
    .page-id-4874 .colcien img {
        padding-top: 10px;
        padding-right: 10px;
    }
}

.elementor-page-9788 .colciendos .elementor-widget-post-info div {
    background-color: #fff !important;
    color: #ff4e5b !important;
}

.elementor-page-9788 .colciendos .elementor-widget-post-info div a {
    font-weight: 700;
    color: #ff4e5b !important;
}

.elementor-page-9788 .colciendos h2 {
    background-color: #ff4e5b !important;
    display: inline;
    padding: 0 10px;
}

.elementor-page-9788 .colciendos h3.elementor-heading-title .destacado,
.single-packs-despedidas .colciendos h3 .destacado {
    background-color: #fff !important;
    display: inline;
    padding: 0 10px;
}
