/*
Theme Name: Enfold Child
Description: Child Theme for Enfold
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/

/* ===== FOOTER CR v4 ===== */
#footer-page .container_wrap,#footer-page .container.av-section-cont-open,
#footer-page main,#footer-page .post-entry,#footer-page .entry-content-wrapper,
#footer-page .avia_codeblock_section,#footer-page .avia_codeblock{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important;}
#footer-page{background:transparent!important;}

#fcr2{font-family:\"PT Sans\",sans-serif;width:100%;box-sizing:border-box;background:linear-gradient(180deg,#0D2E68 0%,#1E59C0 100%);color:rgba(255,255,255,.7);}
.fcr2-main{max-width:1160px;margin:0 auto;padding:48px 24px 44px;display:grid;grid-template-columns:auto auto 1fr;column-gap:60px;box-sizing:border-box;}
#fcr2 .fcr2-nav-col{padding:0;}
#fcr2 .fcr2-nav-col:nth-child(2){padding-left:20px!important;}
#fcr2 .fcr2-nav-col:nth-child(3){padding-left:20px!important;}
#fcr2 .fcr2-nav-col h5,#fcr2 .fcr2-nav-col h3,#fcr2 .fcr2-nav-col h4{font-size:1rem!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;color:#fff!important;margin:0 0 20px 0!important;padding:0!important;background:none!important;border:none!important;line-height:1.3!important;}
#fcr2 .fcr2-nav-col ul{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;padding:0!important;list-style:none!important;}
#fcr2 .fcr2-nav-col ul li{margin:0!important;padding:0!important;}
#fcr2 .fcr2-nav-col ul li a{font-size:.75rem!important;color:#7ab8f5!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:600!important;text-decoration:none!important;display:block!important;line-height:1.4!important;transition:color .15s!important;}
#fcr2 .fcr2-nav-col ul li a:hover{color:#fff!important;}
#fcr2 .fcr2-nav-col .widget{padding:0!important;margin-bottom:0!important;}
#fcr2 .fcr2-nav-col .seperator{display:none!important;}
.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer>ul{display:none!important;}
#top #header_meta,#top #header_meta nav ul ul li,#top #header_meta nav ul ul a,#top #header_meta nav ul ul{background-color:#002d73!important;}
.fcr2-btm-wrap{background:#0D2E68;}
.fcr2-btm{max-width:1160px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-sizing:border-box;flex-wrap:wrap;}
.fcr2-btm-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.fcr2-btm-left .fcr2-copy{font-size:.75rem;color:#fff;}
.fcr2-btm-sep{color:rgba(255,255,255,.3);font-size:.75rem;}
.fcr2-btm-left a{font-size:.75rem;color:#fff;text-decoration:none;transition:opacity .15s;}
.fcr2-btm-left a:hover{color:#fff;}
.fcr2-btm-right{display:flex;align-items:center;gap:12px;}
.fcr2-soc{display:flex;gap:14px;}
.fcr2-soc a{width:auto;height:auto;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .15s;}
.fcr2-soc a:hover{opacity:1;}
.fcr2-soc svg{width:18px;height:18px;fill:#fff;}
.fcr2-lang{display:flex;align-items:center;padding-left:0;}
.fcr2-lang a{font-size:.75rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s;padding:0 6px 0 0;}
.fcr2-lang a+a{padding:0 0 0 6px;}
.fcr2-lang a:hover{color:#fff;}
.fcr2-lang a.lang-active{color:#fff;}
.fcr2-lang-sep{color:rgba(255,255,255,.4);font-size:.75rem;padding:0 2px;}
@media(max-width:900px){
  .fcr2-main{grid-template-columns:1fr 1fr;gap:28px 0;}
  #fcr2 .fcr2-nav-col:nth-child(2){border-left:none!important;padding-left:0!important;}
}
@media(max-width:540px){
  .fcr2-main{grid-template-columns:1fr;padding:28px 16px;}
  #fcr2 .fcr2-nav-col{border-left:none!important;padding-left:0!important;}
  .fcr2-btm{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;}
  .fcr2-btm-right{flex-wrap:wrap;}
}

/* ===== Banner Red de Talleres (página 3014) ===== */
.page-id-3014 main.content{padding-top:0!important;}
.atb-banner{position:relative;width:100%;min-height:265px;overflow:hidden;border-radius:0;box-sizing:border-box;display:flex;align-items:center;margin-bottom:28px;margin-top:0;}
.atb-banner-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.atb-banner-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;background:linear-gradient(90deg,rgba(13,46,104,.97) 0%,rgba(13,46,104,.92) 40%,rgba(13,46,104,.55) 75%,rgba(13,46,104,.25) 100%);}
.atb-banner-content{position:relative;z-index:3;max-width:640px;padding:32px 48px;box-sizing:border-box;}
.atb-banner-title{font-size:2.2rem;font-weight:700;color:#fff!important;margin:0 0 14px;line-height:1.15;}
.atb-banner-subtitle{font-size:1.05rem;color:rgba(255,255,255,.92)!important;margin:0;line-height:1.5;max-width:520px;}
@media(max-width:760px){
  .atb-banner{min-height:253px;margin-bottom:20px;}
  .atb-banner-overlay{background:linear-gradient(180deg,rgba(13,46,104,.55) 0%,rgba(13,46,104,.94) 65%,rgba(13,46,104,.97) 100%);}
  .atb-banner-content{padding:24px 20px;max-width:100%;}
  .atb-banner-title{font-size:1.7rem;}
  .atb-banner-subtitle{font-size:.92rem;}
}

/* ============================================================
   TOP BAR (#header_meta) - movido desde Quick CSS al child theme
   Aplica a español e inglés.
   ============================================================ */

/* --- Reset / overrides del sub-menú nativo (solo queda selector de idioma) --- */
#top .sub_menu li {
    border-right-style: none !important;
}

#top #header_meta,
#top #header_meta nav ul ul li,
#top #header_meta nav ul ul a,
#top #header_meta nav ul ul {
    float: initial !important;
}

/* Ocultar el menú de países nativo del lado izquierdo */
#top #header_meta .sub_menu > ul.menu,
#top #header_meta .sub_menu > div > ul.menu,
#top #header_meta .sub_menu #avia2-menu,
#top #header_meta .sub_menu #avia2-menu ul {
    display: none !important;
}

/* --- Aumentar altura de la barra y alinear verticalmente todo --- */
#top #header_meta {
    min-height: 45px !important;
}

#top #header_meta .container {
    min-height: 45px !important;
}

/* --- Selector de idioma a la izquierda --- */
#top #header_meta .sub_menu {
    line-height: 45px !important;
    top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    height: 45px !important;
}

#top #header_meta .sub_menu > ul.assa-header-lang {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

#top #header_meta .sub_menu img,
#top #header_meta .avia_wpml_language_switch img {
    display: inline !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top #header_meta .avia_wpml_language_switch {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

#top #header_meta .avia_wpml_language_switch li {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
}

#top #header_meta .avia_wpml_language_switch li a {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#top #header_meta .avia_wpml_language_switch .language_flag,
#top #header_meta .avia_wpml_language_switch .language_native,
#top #header_meta .avia_wpml_language_switch .language_translated,
#top #header_meta .avia_wpml_language_switch .language_code {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
}

/* --- Bloque Oficinas / Contáctenos / Teléfono a la derecha --- */
#top .phone-info {
    float: right !important;
    font-size: 13px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    height: 45px !important;
    padding: 0 !important;
    margin: 0 !important;
}

#top .phone-info > div {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

#top .phone-info .llama {
    width: auto !important;
    float: right !important;
    margin-right: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    padding: 0 !important;
}

#top .phone-info .llama:last-child {
    margin-right: 0 !important;
}

#top .phone-info .llama .assa-top-icon,
#top .phone-info .llama > span,
#top .phone-info .llama > a,
#top .phone-info .llama > span > a {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top .phone-info .llama .assa-top-icon {
    margin-right: 5px !important;
}

#top .phone-info .llama .assa-top-icon svg {
    width: 16px !important;
    height: 16px !important;
    fill: #ffffff !important;
    display: block !important;
}

/* --- Menú de países a la derecha (dentro de .phone-info) --- */
#top .phone-info .assa-country-nav {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    height: 45px !important;
    margin-left: 13px !important;
    padding-left: 13px !important;
    position: relative !important;
}

#top .phone-info .assa-country-nav::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 1px !important;
    height: 16px !important;
    background: rgba(255, 255, 255, 0.6) !important;
}

#top .phone-info .assa-country-menu,
#top .phone-info .assa-country-menu li,
#top .phone-info .assa-country-menu li a {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

#top .phone-info .assa-country-menu li {
    position: relative !important;
    padding: 0 5px !important;
}

#top .phone-info .assa-country-menu li a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 13px !important;
}

#top .phone-info .assa-country-menu img {
    display: inline !important;
    vertical-align: middle !important;
    margin: 0 5px 0 0 !important;
    padding: 0 !important;
}

#top .phone-info .assa-country-menu li a img:last-child {
    margin-left: 6px !important;
}

/* Puente invisible para mantener el hover entre el país activo y el dropdown */
#top .phone-info .assa-country-menu li::after {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    height: 10px !important;
    background: transparent !important;
    display: block !important;
}

#top .phone-info .assa-country-menu li ul {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: -28px !important;
    left: auto !important;
    width: 170px !important;
    background: #0D2E68 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    z-index: 999 !important;
    flex-direction: column !important;
    border-radius: 2px !important;
}

#top .phone-info .assa-country-menu li:hover > ul,
#top .phone-info .assa-country-menu li:focus-within > ul,
#top .phone-info .assa-country-menu li.assa-country-open > ul {
    display: flex !important;
}

#top .phone-info .assa-country-menu li ul li,
#top .phone-info .assa-country-menu li ul li a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 6px 12px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

#top .phone-info .assa-country-menu li ul li {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3) !important;
}

#top .phone-info .assa-country-menu li ul li:last-child {
    border-bottom: none !important;
}

#top .phone-info .assa-country-menu li ul li a:hover,
#top .phone-info .assa-country-menu li ul li a:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

#top .phone-info .assa-country-menu li ul li img {
    margin-right: 8px !important;
}

/* --- Selector de idioma custom ENG / ESP en top bar --- */
#top #header_meta .assa-header-lang {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    list-style: none !important;
    margin: 0 0 0 10px !important;
    padding: 0 !important;
    line-height: 1 !important;
    height: auto !important;
    background: transparent !important;
}

#top #header_meta .assa-header-lang li {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 5px !important;
    line-height: 1 !important;
    float: none !important;
    border: none !important;
    background: transparent !important;
}

#top #header_meta .assa-header-lang li.assa-header-lang-sep {
    padding: 0 2px !important;
    cursor: default !important;
}

#top #header_meta .assa-header-lang a {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    padding: 0 !important;
    opacity: 0.75 !important;
    transition: opacity 0.15s ease !important;
    background: transparent !important;
    border: none !important;
}

#top #header_meta .assa-header-lang a:hover,
#top #header_meta .assa-header-lang a:focus,
#top #header_meta .assa-header-lang li.lang-active a {
    opacity: 1 !important;
    text-decoration: underline !important;
    background: transparent !important;
}

:root {
    --assa-topbar-separator: rgba(255, 255, 255, 0.6);
    --assa-topbar-gap: 13px;
}

/* --- Mobile: top bar en una sola línea (idioma | teléfono | país) --- */
@media screen and (max-width: 767px) {

    /* Neutralizar estilos de layout.css que centran el sub_menu */
    .responsive #top #header_meta .sub_menu,
    .responsive #top #header_meta .sub_menu > ul,
    .responsive #top #header_meta .sub_menu > ul > li {
        float: none !important;
        width: auto !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    /* Quitar margen nativo del selector de idioma para pegarlo a la izquierda */
    .responsive #top #header_meta .assa-header-lang {
        margin: 0 !important;
    }

    /* Container flex: idioma a la izquierda, teléfono+país a la derecha */
    .responsive #top #header_meta .container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        min-height: 45px !important;
    }

    .responsive #top #header_meta .sub_menu,
    .responsive #top #header_meta .phone-info {
        float: none !important;
        display: inline-flex !important;
        align-items: center !important;
        vertical-align: middle !important;
        height: 45px !important;
        line-height: 1 !important;
        position: static !important;
    }

    /* Idioma a la izquierda */
    .responsive #top #header_meta .sub_menu {
        justify-content: flex-start !important;
        margin: 0 !important;
    }

    /* Teléfono + país a la derecha */
    .responsive #top #header_meta .phone-info {
        justify-content: flex-end !important;
        margin-left: var(--assa-topbar-gap) !important;
        padding-left: var(--assa-topbar-gap) !important;
        border-left: 1px solid var(--assa-topbar-separator) !important;
    }

    .responsive #top #header_meta .phone-info .llama#nosale {
        display: none !important;
    }

    .responsive #top #header_meta .phone-info .llama {
        margin-right: 0 !important;
        padding: 0 !important;
    }

    /* Asegurar separador teléfono/país (el ::before original) */
    .responsive #top #header_meta .phone-info .assa-country-nav::before {
        left: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* --- Pantallas muy pequeñas: solo bandera del país, sin texto --- */
@media screen and (max-width: 360px) {
    #top #header_meta .phone-info .assa-country-menu li.menu-item-has-children > a,
    #top #header_meta .phone-info .assa-country-menu li.current-menu-item > a {
        font-size: 0 !important;
    }

    #top #header_meta .phone-info .assa-country-menu li.menu-item-has-children > a img,
    #top #header_meta .phone-info .assa-country-menu li.current-menu-item > a img {
        font-size: 13px !important;
        margin: 0 2px !important;
    }
}

/* --- Mobile: agrandar hamburguesa de UberMenu (sobrescribe skin vanilla_bar) --- */
.ubermenu-skin-vanilla-bar.ubermenu-responsive-toggle,
#top .ubermenu-skin-vanilla-bar.ubermenu-responsive-toggle,
.ubermenu.ubermenu-skin-vanilla-bar.ubermenu-responsive-toggle {
    font-size: 32px !important;
}

/* Ocultar selector de idioma nativo de WPML en el footer (usamos el custom) */
#lang_sel_footer,
.wpml-ls-statics-footer {
    display: none !important;
}

/* --- Override: asegurar ancho del dropdown de países --- */
#top #header_meta .phone-info .assa-country-nav .assa-country-menu li.menu-item-has-children ul.sub-menu {
    width: 170px !important;
    right: -28px !important;
    left: auto !important;
}

/* ============================================================
   NAV PRINCIPAL: flecha dropdown UberMenu (estilo SV)
   El indicador "close" (X) de UberMenu no debe mostrarse por defecto;
   se reemplaza por un chevron via CSS ya que este config de UberMenu
   no genera el <i class="ubermenu-sub-indicator"> que SV si tiene.
   ============================================================ */
.ubermenu-main .ubermenu-sub-indicator-close {
    display: none !important;
}

.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target::after {
    content: "\f107" !important;
    font-family: "Font Awesome 5 Free", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
    display: inline-block !important;
    margin-left: 6px !important;
    font-size: 0.8em !important;
}



/* ===== Ocultar banner WPML "development site" ===== */
.otgs-development-site-front-end{display:none!important;}
