/* VIVA VF HEADER REAL FIX */

@media only screen and (min-width: 769px) {

    body .vf-site-header {
        height: auto !important;
        overflow: visible !important;
    }

    body .vf-header-main {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        text-align: center !important;
        gap: 0 !important;
        padding-top: 18px !important;
        padding-bottom: 12px !important;
    }

    body .vf-branding {
        order: 1 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 auto 14px auto !important;
        padding: 0 !important;
        flex: none !important;
    }

    body .vf-branding .custom-logo-link {
        display: inline-block !important;
        width: auto !important;
        max-width: 95% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        float: none !important;
    }

    body .vf-branding img.custom-logo {
        display: block !important;
        width: 680px !important;
        max-width: 92vw !important;
        height: auto !important;
        margin: 0 auto !important;
        float: none !important;
    }

    body .vf-menu-toggle {
        order: 2 !important;
    }

    body .vf-primary-navigation {
        order: 3 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        flex: none !important;
        float: none !important;
        clear: both !important;
    }

    body .vf-primary-menu {
        display: inline-flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        float: none !important;
        text-align: center !important;
    }

    body .vf-primary-menu li {
        display: inline-block !important;
        float: none !important;
        margin: 0 !important;
        text-align: center !important;
    }

    body .vf-primary-menu li a {
        display: block !important;
        text-align: center !important;
    }
}

/* FIN VIVA VF HEADER REAL FIX */


/* VIVA FIX - HIDE MOBILE TOGGLE DESKTOP */

@media only screen and (min-width: 769px) {
    body .vf-menu-toggle {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
}

/* FIN VIVA FIX - HIDE MOBILE TOGGLE DESKTOP */





/* VIVA LOGO PROPORTION FIX */

@media only screen and (min-width: 769px) {
    body .vf-branding {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    body .vf-branding .custom-logo-link {
        display: inline-block !important;
        width: auto !important;
        max-width: 92vw !important;
        margin: 0 auto !important;
    }

    body .vf-branding img.custom-logo {
        display: block !important;
        width: auto !important;
        max-width: 1100px !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }
}

/* FIN VIVA LOGO PROPORTION FIX */


/* VIVA HERO SLIDER CSS */

body .vf-home-hero-slider {
    position: relative !important;
    width: 100% !important;
    max-width: 1200px !important;
    height: 380px !important;
    margin: 0 auto 34px auto !important;
    overflow: hidden !important;
    background: #111 !important;
}

body .vf-home-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    opacity: 0;
    animation: vivaHeroFade 15s infinite;
}

body .vf-home-hero-slide-1 {
    background-image: url("https://vivaflamenco.com/wp-content/uploads/2018/01/flamenco-dancers-banner.jpg") !important;
    opacity: 1;
    animation-delay: 0s;
}

body .vf-home-hero-slide-2 {
    background-image: url("https://vivaflamenco.com/wp-content/uploads/2017/12/slider-2-1.jpg") !important;
    animation-delay: 5s;
}

body .vf-home-hero-slide-3 {
    background-image: url("https://vivaflamenco.com/wp-content/uploads/2017/12/slider-3-1.jpg") !important;
    animation-delay: 10s;
}

@keyframes vivaHeroFade {
    0%   { opacity: 0; }
    5%   { opacity: 1; }
    30%  { opacity: 1; }
    38%  { opacity: 0; }
    100% { opacity: 0; }
}

@media only screen and (max-width: 768px) {
    body .vf-home-hero-slider {
        height: 230px !important;
        margin-bottom: 24px !important;
    }
}

/* FIN VIVA HERO SLIDER CSS */


/* VIVA REMOVE MENU TOP LINE */

body .vf-header-main,
body .vf-primary-navigation,
body .vf-primary-menu,
body .vf-primary-menu::before,
body .vf-primary-menu::after,
body .vf-primary-navigation::before,
body .vf-primary-navigation::after {
    border-top: none !important;
    box-shadow: none !important;
    background-image: none !important;
}

body .vf-primary-navigation {
    border: none !important;
}

/* FIN VIVA REMOVE MENU TOP LINE */


/* VIVA RED GRADIENT SQUARE CARD */

/* Fondo exterior con gradiente rojo oscuro, como la franja superior */
body.vf-theme-premium {
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
}

/* Header blanco limpio */
body.vf-theme-premium .vf-site-header {
    background: #ffffff !important;
}

/* Un poco más de aire debajo del menú, antes de empezar el fondo rojo */
body.vf-theme-premium .vf-header-main {
    padding-bottom: 14px !important;
    margin-bottom: 0 !important;
}

/* Fondo del área principal */
body.vf-theme-premium .vf-site-content {
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    padding: 0 18px 60px 18px !important;
}

/* Mismo ancho máximo que el slider */
body.vf-theme-premium .vf-front-page,
body.vf-theme-premium .vf-site-content > .vf-container,
body.vf-theme-premium .vf-site-content article {
    max-width: 1200px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
}

/* Caja blanca cuadrada, pegada arriba, con borde amarillo fino */
body.vf-theme-premium .vf-front-content,
body.vf-theme-premium .vf-site-content article {
    background: #ffffff !important;
    border: 3px solid #f4d35e !important;
    border-radius: 0 !important;
    box-shadow:
        0 18px 38px rgba(0, 0, 0, 0.34),
        0 4px 10px rgba(0, 0, 0, 0.22) !important;
    padding: 44px 54px !important;
    overflow: hidden !important;
}

/* Home: caja del mismo ancho que el slider */
body.home.vf-theme-premium .vf-front-page {
    max-width: 1200px !important;
    width: 100% !important;
}

/* Centrar títulos principales de Home */
body.home.vf-theme-premium .vf-entry-content h1,
body.home.vf-theme-premium .vf-entry-content h2,
body.home.vf-theme-premium .vf-entry-content h3 {
    text-align: center !important;
}

/* Texto interior */
body.vf-theme-premium .vf-entry-content {
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #333333 !important;
}

/* Títulos */
body.vf-theme-premium .vf-entry-content h1,
body.vf-theme-premium .vf-entry-content h2,
body.vf-theme-premium .vf-entry-content h3 {
    color: #111111 !important;
}

/* Imágenes interiores */
body.vf-theme-premium .vf-entry-content img {
    border-radius: 6px !important;
}

/* Footer sobre fondo blanco */
body.vf-theme-premium .vf-site-footer {
    background: #ffffff !important;
}

/* Móvil */
@media only screen and (max-width: 768px) {
    body.vf-theme-premium .vf-header-main {
        padding-bottom: 10px !important;
    }

    body.vf-theme-premium .vf-site-content {
        padding: 0 10px 40px 10px !important;
    }

    body.vf-theme-premium .vf-front-content,
    body.vf-theme-premium .vf-site-content article {
        padding: 26px 20px !important;
        border-width: 2px !important;
        border-radius: 0 !important;
    }
}

/* FIN VIVA RED GRADIENT SQUARE CARD */











/* VIVA REMOVE WHITE GAP UNDER MENU */

/* Quitar el espacio blanco debajo del menú amarillo */
body.vf-theme-premium .vf-header-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.vf-theme-premium .vf-primary-navigation {
    margin-bottom: 0 !important;
}

body.vf-theme-premium .vf-site-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* El contenido empieza inmediatamente después del menú */
body.vf-theme-premium .vf-site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* FIN VIVA REMOVE WHITE GAP UNDER MENU */




















/* VIVA SURGICAL PAGE ALIGNMENT */

/*
   TODAS las páginas normales.
   NO toca Home.
   NO toca grids, tablas, galerías ni columnas internas.
*/

body.page:not(.home).vf-theme-premium .vf-site-content {
    padding: 0 18px 60px 18px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Caja blanca pegada arriba y centrada */
body.page:not(.home).vf-theme-premium .vf-site-content article {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
}

/* Quitar cualquier hueco rojo superior */
body.page:not(.home).vf-theme-premium .vf-site-content > *:first-child {
    margin-top: 0 !important;
}

/* Misma sangría real para título y contenido */
body.page:not(.home).vf-theme-premium .entry-header,
body.page:not(.home).vf-theme-premium article > h1,
body.page:not(.home).vf-theme-premium article > .entry-title {
    padding: 22px 46px 0 46px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Contenido con exactamente la misma sangría */
body.page:not(.home).vf-theme-premium .vf-entry-content {
    padding: 0 46px 46px 46px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Si el título está dentro del contenido, NO debe salirse a la izquierda */
body.page:not(.home).vf-theme-premium .vf-entry-content > h1:first-child,
body.page:not(.home).vf-theme-premium .vf-entry-content h1:first-of-type {
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
}

/* Estilo del título */
body.page:not(.home).vf-theme-premium .entry-title,
body.page:not(.home).vf-theme-premium .entry-header h1,
body.page:not(.home).vf-theme-premium article > h1,
body.page:not(.home).vf-theme-premium article > .entry-title,
body.page:not(.home).vf-theme-premium .vf-entry-content > h1:first-child,
body.page:not(.home).vf-theme-premium .vf-entry-content h1:first-of-type {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-size: 30px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    color: #111111 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

/* No tocar estructura interna; solo impedir desbordes */
body.page:not(.home).vf-theme-premium .vf-entry-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* Móvil */
@media only screen and (max-width: 768px) {
    body.page:not(.home).vf-theme-premium .vf-site-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.page:not(.home).vf-theme-premium .entry-header,
    body.page:not(.home).vf-theme-premium article > h1,
    body.page:not(.home).vf-theme-premium article > .entry-title {
        padding: 18px 22px 0 22px !important;
    }

    body.page:not(.home).vf-theme-premium .vf-entry-content {
        padding: 0 22px 34px 22px !important;
    }

    body.page:not(.home).vf-theme-premium .entry-title,
    body.page:not(.home).vf-theme-premium .entry-header h1,
    body.page:not(.home).vf-theme-premium article > h1,
    body.page:not(.home).vf-theme-premium article > .entry-title,
    body.page:not(.home).vf-theme-premium .vf-entry-content > h1:first-child,
    body.page:not(.home).vf-theme-premium .vf-entry-content h1:first-of-type {
        font-size: 26px !important;
    }
}

/* FIN VIVA SURGICAL PAGE ALIGNMENT */


/* VIVA URGENT TITLE TOPGAP FIX */

/* TODAS las páginas normales. NO HOME. */

/* 1. Quitar espacio rojo entre menú y página */
html body.page:not(.home).vf-theme-premium .vf-site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 2. Caja blanca pegada arriba */
html body.page:not(.home).vf-theme-premium .vf-site-content article {
    margin-top: -18px !important;
    padding-top: 0 !important;
}

/* 3. Títulos principales: más pequeños y NO pegados al borde */
html body.page:not(.home).vf-theme-premium .entry-title,
html body.page:not(.home).vf-theme-premium .entry-header h1,
html body.page:not(.home).vf-theme-premium article > h1:first-child,
html body.page:not(.home).vf-theme-premium article h1:first-of-type,
html body.page:not(.home).vf-theme-premium .vf-entry-content > h1:first-child,
html body.page:not(.home).vf-theme-premium .vf-entry-content h1:first-of-type {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    color: #111111 !important;
    text-align: left !important;

    margin-top: 0 !important;
    margin-bottom: 22px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-top: 18px !important;
    padding-left: 42px !important;
    padding-right: 42px !important;
    padding-bottom: 0 !important;

    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* 4. Si el título va dentro del contenido, evitar que quede fuera */
html body.page:not(.home).vf-theme-premium .vf-entry-content > h1:first-child {
    padding-left: 42px !important;
    padding-right: 42px !important;
}

/* 5. Móvil */
@media only screen and (max-width: 768px) {
    html body.page:not(.home).vf-theme-premium .vf-site-content article {
        margin-top: -8px !important;
    }

    html body.page:not(.home).vf-theme-premium .entry-title,
    html body.page:not(.home).vf-theme-premium .entry-header h1,
    html body.page:not(.home).vf-theme-premium article > h1:first-child,
    html body.page:not(.home).vf-theme-premium article h1:first-of-type,
    html body.page:not(.home).vf-theme-premium .vf-entry-content > h1:first-child,
    html body.page:not(.home).vf-theme-premium .vf-entry-content h1:first-of-type {
        font-size: 24px !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        padding-top: 16px !important;
    }
}

/* FIN VIVA URGENT TITLE TOPGAP FIX */





/* VIVA REMOVE WHITE CARD BORDER */

/* Quitar completamente cualquier borde entre la caja blanca y el fondo rojo */
html body.vf-theme-premium .vf-front-content,
html body.vf-theme-premium .vf-site-content article {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: 0 !important;
    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.38),
        0 5px 14px rgba(0, 0, 0, 0.24) !important;
}

/* Por si algún pseudo-elemento estuviera dibujando línea */
html body.vf-theme-premium .vf-front-content::before,
html body.vf-theme-premium .vf-front-content::after,
html body.vf-theme-premium .vf-site-content article::before,
html body.vf-theme-premium .vf-site-content article::after {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* FIN VIVA REMOVE WHITE CARD BORDER */


/* VIVA ALANTE STYLE FOOTER */

html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    color: #ffffff !important;
    padding: 12px 18px !important;
    margin: 0 !important;
    border-top: 2px solid #f9c400 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

html body.vf-theme-premium .vf-alante-footer-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

html body.vf-theme-premium .vf-alante-footer-copy {
    color: #ffffff !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

html body.vf-theme-premium .vf-alante-footer-nav {
    margin: 0 !important;
    padding: 0 !important;
}

html body.vf-theme-premium .vf-alante-footer-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: flex-end !important;
}

html body.vf-theme-premium .vf-alante-footer-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

html body.vf-theme-premium .vf-alante-footer-menu a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

html body.vf-theme-premium .vf-alante-footer-menu a:hover,
html body.vf-theme-premium .vf-alante-footer-menu a:focus {
    color: #f9c400 !important;
}

@media only screen and (max-width: 768px) {
    html body.vf-theme-premium .vf-alante-footer-inner {
        display: block !important;
        text-align: center !important;
    }

    html body.vf-theme-premium .vf-alante-footer-copy {
        margin-bottom: 8px !important;
    }

    html body.vf-theme-premium .vf-alante-footer-menu {
        justify-content: center !important;
        gap: 8px 12px !important;
    }
}

/* FIN VIVA ALANTE STYLE FOOTER */


/* VIVA YELLOW FOOTER LIKE TOP MENU */

/* Mantener tamaño compacto, pero cambiar fondo a amarillo */
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    background: #f9c400 !important;
    color: #111111 !important;
    border-top: 2px solid #7b0f0f !important;
    border-bottom: 2px solid #7b0f0f !important;
    box-shadow: none !important;
}

/* Texto copyright en negro */
html body.vf-theme-premium .vf-alante-footer-copy {
    color: #111111 !important;
}

/* Enlaces normales negros */
html body.vf-theme-premium .vf-alante-footer-menu a {
    color: #111111 !important;
    background: transparent !important;
    border-radius: 18px !important;
    padding: 6px 10px !important;
    transition: background 0.18s ease, color 0.18s ease !important;
}

/* Página activa en rojo, igual que menú superior */
html body.vf-theme-premium .vf-alante-footer-menu li.current-menu-item > a,
html body.vf-theme-premium .vf-alante-footer-menu li.current_page_item > a {
    background: #c71919 !important;
    color: #ffffff !important;
}

/* Hover rojo oscuro, igual que menú superior */
html body.vf-theme-premium .vf-alante-footer-menu li > a:hover,
html body.vf-theme-premium .vf-alante-footer-menu li > a:focus,
html body.vf-theme-premium .vf-alante-footer-menu li.current-menu-item > a:hover,
html body.vf-theme-premium .vf-alante-footer-menu li.current_page_item > a:hover {
    background: #7b0f0f !important;
    color: #ffffff !important;
}

/* FIN VIVA YELLOW FOOTER LIKE TOP MENU */


/* VIVA TOP MENU REPAIR FINAL */

/* Header limpio */
html body.vf-theme-premium .vf-site-header,
html body.vf-theme-premium .vf-header-main {
    background: #ffffff !important;
}

/* Menú superior amarillo, limpio y compacto */
html body.vf-theme-premium .vf-primary-navigation {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    background: #f9c400 !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    overflow: visible !important;
}

/* Borde superior rojo degradado */
html body.vf-theme-premium .vf-primary-navigation::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    box-shadow: none !important;
}

/* Borde inferior rojo degradado */
html body.vf-theme-premium .vf-primary-navigation::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    box-shadow: none !important;
}

/* Lista del menú centrada */
html body.vf-theme-premium .vf-primary-menu {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    background: transparent !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
}

/* Items */
html body.vf-theme-premium .vf-primary-menu li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Enlaces normales */
html body.vf-theme-premium .vf-primary-menu li > a {
    display: block !important;
    color: #111111 !important;
    background: transparent !important;
    border-radius: 18px !important;
    padding: 8px 13px !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    transition: background 0.18s ease, color 0.18s ease !important;
}

/* Página activa */
html body.vf-theme-premium .vf-primary-menu li.current-menu-item > a,
html body.vf-theme-premium .vf-primary-menu li.current_page_item > a {
    background: #c71919 !important;
    color: #ffffff !important;
}

/* Hover */
html body.vf-theme-premium .vf-primary-menu li > a:hover,
html body.vf-theme-premium .vf-primary-menu li > a:focus,
html body.vf-theme-premium .vf-primary-menu li.current-menu-item > a:hover,
html body.vf-theme-premium .vf-primary-menu li.current_page_item > a:hover {
    background: #7b0f0f !important;
    color: #ffffff !important;
}

/* La hamburguesa no debe aparecer en escritorio */
@media only screen and (min-width: 769px) {
    html body.vf-theme-premium .vf-menu-toggle {
        display: none !important;
        visibility: hidden !important;
    }
}

/* FIN VIVA TOP MENU REPAIR FINAL */


/* VIVA FIX OVERLAP MENU CLEAN */

/* Menú superior correcto: amarillo, sin borde blanco raro */
html body.vf-theme-premium .vf-primary-navigation {
    background: #f9c400 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    position: relative !important;
}

/* Borde superior rojo */
html body.vf-theme-premium .vf-primary-navigation::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    box-shadow: none !important;
}

/* Borde inferior rojo */
html body.vf-theme-premium .vf-primary-navigation::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    box-shadow: none !important;
}

/* Área principal: sin padding superior, pero SIN solapar */
html body.vf-theme-premium main#content,
html body.vf-theme-premium .vf-site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
}

/* Páginas normales: caja blanca empieza justo después del menú, sin top negativo */
html body.page:not(.home).vf-theme-premium .vf-site-content article {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow:
        -14px 0 24px rgba(0, 0, 0, 0.20),
         14px 0 24px rgba(0, 0, 0, 0.20) !important;
}

/* Si algún contenedor quedó con top negativo, anularlo */
html body.page:not(.home).vf-theme-premium .vf-site-content > *:first-child,
html body.page:not(.home).vf-theme-premium .vf-site-content > .vf-container:first-child {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Footer pegado abajo sin cambiar colores */
html body.vf-theme-premium .vf-site-footer,
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    margin-top: 0 !important;
}

/* FIN VIVA FIX OVERLAP MENU CLEAN */


/* VIVA REMOVE TOP MENU WHITE BORDER */

/* Quitar cualquier borde/línea blanca alrededor del menú superior amarillo */
html body.vf-theme-premium .vf-primary-navigation,
html body.vf-theme-premium .vf-primary-navigation *,
html body.vf-theme-premium .vf-primary-navigation::before,
html body.vf-theme-premium .vf-primary-navigation::after {
    outline: 0 !important;
}

/* El propio bloque del menú no debe tener borde blanco */
html body.vf-theme-premium .vf-primary-navigation {
    border-left: 0 !important;
    border-right: 0 !important;
    border-color: transparent !important;
}

/* Quitar líneas blancas que puedan venir del header o contenedores */
html body.vf-theme-premium .vf-site-header,
html body.vf-theme-premium .vf-header-main,
html body.vf-theme-premium .vf-container,
html body.vf-theme-premium .vf-primary-menu {
    border-bottom-color: transparent !important;
    border-top-color: transparent !important;
}

/* Mantener SOLO las líneas rojas del menú */
html body.vf-theme-premium .vf-primary-navigation::before,
html body.vf-theme-premium .vf-primary-navigation::after {
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    height: 2px !important;
    border: 0 !important;
}

/* FIN VIVA REMOVE TOP MENU WHITE BORDER */


/* VIVA NO MENU BORDER */

/* Menú superior sin ningún borde */
html body.vf-theme-premium .vf-primary-navigation {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Eliminar pseudo-elementos que dibujan líneas */
html body.vf-theme-premium .vf-primary-navigation::before,
html body.vf-theme-premium .vf-primary-navigation::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

/* Eliminar bordes de contenedores cercanos */
html body.vf-theme-premium .vf-site-header,
html body.vf-theme-premium .vf-header-main,
html body.vf-theme-premium .vf-primary-menu {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* FIN VIVA NO MENU BORDER */


/* VIVA REMOVE RED GAP EVERYWHERE */

/* Quitar espacio rojo entre menú amarillo y contenido en TODA la web */
html body.vf-theme-premium main#content,
html body.vf-theme-premium .vf-site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Primera caja/contenido pegado al menú */
html body.vf-theme-premium .vf-site-content > *:first-child,
html body.vf-theme-premium .vf-site-content article:first-child,
html body.vf-theme-premium .vf-front-page:first-child,
html body.vf-theme-premium .vf-front-content:first-child,
html body.vf-theme-premium .vf-home-hero-slider:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Eliminar cualquier separación desde el header/menú */
html body.vf-theme-premium .vf-site-header,
html body.vf-theme-premium .vf-header-main,
html body.vf-theme-premium .vf-primary-navigation {
    margin-bottom: 0 !important;
}

/* Si el rojo sigue viniendo del fondo del content, taparlo en la zona superior */
html body.vf-theme-premium .vf-site-content::before {
    content: "" !important;
    display: block !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* FIN VIVA REMOVE RED GAP EVERYWHERE */


/* VIVA REMOVE HOME SLIDER GAP */

/* Home: quitar espacio rojo entre slider y caja blanca */
html body.home.vf-theme-premium .vf-home-hero-slider {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html body.home.vf-theme-premium .vf-front-page,
html body.home.vf-theme-premium .vf-front-content,
html body.home.vf-theme-premium .vf-site-content article {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* FIN VIVA REMOVE HOME SLIDER GAP */


/* VIVA ALIGN HEADER WIDTH WITH PAGE */

/* Header completo limitado al ancho de la página blanca */
html body.vf-theme-premium .vf-site-header {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
}

/* Franja roja superior, logo y menú dentro del mismo ancho */
html body.vf-theme-premium .vf-top-strip,
html body.vf-theme-premium .vf-header-main,
html body.vf-theme-premium .vf-primary-navigation {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* El fondo exterior alrededor del header queda rojo */
html body.vf-theme-premium {
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
}

/* FIN VIVA ALIGN HEADER WIDTH WITH PAGE */


/* VIVA MENU ITEM SPACING */

/* Separar un poco los títulos del menú para que el highlight no se pegue */
html body.vf-theme-premium .vf-primary-menu {
    gap: 8px !important;
}

html body.vf-theme-premium .vf-primary-menu li {
    margin-left: 2px !important;
    margin-right: 2px !important;
}

/* Mantener el tamaño del botón sin hacerlo enorme */
html body.vf-theme-premium .vf-primary-menu li > a {
    padding-left: 13px !important;
    padding-right: 13px !important;
}

/* FIN VIVA MENU ITEM SPACING */


/* VIVA FOOTER ALIGN NO GAP */

/* Quitar separación roja entre página y footer */
html body.vf-theme-premium .vf-site-content {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

html body.vf-theme-premium .vf-site-content > *:last-child,
html body.vf-theme-premium .vf-site-content article:last-child,
html body.vf-theme-premium .vf-front-page:last-child,
html body.vf-theme-premium .vf-front-content:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Footer alineado al mismo ancho que la página blanca */
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Interior del footer dentro del mismo ancho */
html body.vf-theme-premium .vf-alante-footer-inner {
    max-width: 1200px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* FIN VIVA FOOTER ALIGN NO GAP */


/* VIVA REMOVE FOOTER TOP BORDER */

/* Quitar borde/línea entre página blanca y footer */
html body.vf-theme-premium .vf-site-footer,
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Quitar borde/sombra inferior de la caja blanca que pueda parecer línea */
html body.vf-theme-premium .vf-site-content article,
html body.vf-theme-premium .vf-front-content {
    border-bottom: 0 !important;
    outline: 0 !important;
}

/* FIN VIVA REMOVE FOOTER TOP BORDER */


/* VIVA FOOTER MORE VERTICAL SPACE */

html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

html body.vf-theme-premium .vf-alante-footer-menu a {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

/* FIN VIVA FOOTER MORE VERTICAL SPACE */


/* VIVA FOOTER VERTICAL CENTER */

/* Footer con altura suficiente y contenido centrado verticalmente */
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    min-height: 54px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Interior centrado verticalmente */
html body.vf-theme-premium .vf-alante-footer-inner {
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
}

/* Menú centrado verticalmente */
html body.vf-theme-premium .vf-alante-footer-nav,
html body.vf-theme-premium .vf-alante-footer-menu {
    display: flex !important;
    align-items: center !important;
}

/* Botones del footer con aire igual arriba y abajo */
html body.vf-theme-premium .vf-alante-footer-menu a {
    display: flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* FIN VIVA FOOTER VERTICAL CENTER */


/* VIVA FOOTER COPYRIGHT STRIP */

/* Footer amarillo: solo menú centrado */
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    background: #f9c400 !important;
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.vf-theme-premium .vf-alante-footer-inner {
    width: 100% !important;
    max-width: 1200px !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

html body.vf-theme-premium .vf-alante-footer-copy {
    display: none !important;
}

html body.vf-theme-premium .vf-alante-footer-nav {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

html body.vf-theme-premium .vf-alante-footer-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Franja inferior igual que la superior */
html body.vf-theme-premium .vf-bottom-copyright-strip {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    color: #ffffff !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
}

html body.vf-theme-premium .vf-bottom-copyright-strip span {
    color: #ffffff !important;
}

/* FIN VIVA FOOTER COPYRIGHT STRIP */


/* VIVA FOOTER COPYRIGHT STRIP */

/* Footer amarillo: solo menú centrado */
html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    background: #f9c400 !important;
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.vf-theme-premium .vf-alante-footer-inner {
    width: 100% !important;
    max-width: 1200px !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

html body.vf-theme-premium .vf-alante-footer-copy {
    display: none !important;
}

html body.vf-theme-premium .vf-alante-footer-nav {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

html body.vf-theme-premium .vf-alante-footer-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Franja inferior igual que la superior */
html body.vf-theme-premium .vf-bottom-copyright-strip {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    color: #ffffff !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
}

html body.vf-theme-premium .vf-bottom-copyright-strip span {
    color: #ffffff !important;
}

/* FIN VIVA FOOTER COPYRIGHT STRIP */


/* VIVA BOTTOM STRIP HEIGHT FIX */

html body.vf-theme-premium .vf-bottom-copyright-strip {
    min-height: 36px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.3 !important;
}

html body.vf-theme-premium .vf-bottom-copyright-strip span {
    display: block !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* FIN VIVA BOTTOM STRIP HEIGHT FIX */


/* VIVA BOTTOM STRIP MATCH TOP */

html body.vf-theme-premium .vf-bottom-copyright-strip {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 42px !important;
    box-sizing: border-box !important;
}

html body.vf-theme-premium .vf-bottom-copyright-strip span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    line-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

/* FIN VIVA BOTTOM STRIP MATCH TOP */


/* VIVA FOOTER LOGO LEFT MENU RIGHT */

html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
    min-height: 54px !important;
    height: 54px !important;
    padding: 0 18px !important;
}

html body.vf-theme-premium .vf-alante-footer-inner {
    min-height: 54px !important;
    height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

/* Crear logo pequeño a la izquierda */
html body.vf-theme-premium .vf-alante-footer-inner::before {
    content: "" !important;
    display: block !important;
    width: 260px !important;
    height: 32px !important;
    background-image: url("https://vivaflamenco.com/wp-content/uploads/2018/01/cropped-viva-flamenco-logo-new.png") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
    flex: 0 0 auto !important;
}

/* Menú a la derecha */
html body.vf-theme-premium .vf-alante-footer-nav {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

html body.vf-theme-premium .vf-alante-footer-menu {
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: auto !important;
}

/* En móvil, centrar todo */
@media only screen and (max-width: 768px) {
    html body.vf-theme-premium .vf-site-footer.vf-alante-style-footer {
        height: auto !important;
        min-height: 70px !important;
        padding: 10px 12px !important;
    }

    html body.vf-theme-premium .vf-alante-footer-inner {
        height: auto !important;
        min-height: 70px !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    html body.vf-theme-premium .vf-alante-footer-inner::before {
        width: 220px !important;
        height: 28px !important;
        background-position: center center !important;
    }

    html body.vf-theme-premium .vf-alante-footer-nav,
    html body.vf-theme-premium .vf-alante-footer-menu {
        justify-content: center !important;
        margin-left: 0 !important;
    }
}

/* FIN VIVA FOOTER LOGO LEFT MENU RIGHT */


/* VIVA MATCH BOTTOM GRADIENT TO TOP */

html body.vf-theme-premium .vf-bottom-copyright-strip {
    background: linear-gradient(135deg, #8f1717 0%, #641414 45%, #220d0d 100%) !important;
}

/* FIN VIVA MATCH BOTTOM GRADIENT TO TOP */


/* VIVA EXACT SAME TOP BOTTOM GRADIENT */

html body.vf-theme-premium .vf-top-strip,
html body.vf-theme-premium .vf-bottom-copyright-strip {
    background: linear-gradient(90deg, #8f1717 0%, #641414 48%, #220d0d 100%) !important;
    color: #ffffff !important;
}

/* FIN VIVA EXACT SAME TOP BOTTOM GRADIENT */


/* VIVA DARKER EXACT GRADIENT TOP BOTTOM */

html body.vf-theme-premium .vf-top-strip,
html body.vf-theme-premium .vf-bottom-copyright-strip {
    background: linear-gradient(90deg, #5f0d0d 0%, #3b0909 50%, #160404 100%) !important;
    color: #ffffff !important;
}

/* FIN VIVA DARKER EXACT GRADIENT TOP BOTTOM */

