:root {
    --fs-40: 40px;
    --fs-36: 36px;
    --fs-30: 30px;
    --fs-20: 20px;

    --primary-font: 'Lato', sans-serif;

    --primary-color: #0082C2;
    --secondary-color: #132356;
}

body {
    font-family: var(--primary-font);
}

.page-content,
.entry-content,
.entry-summary {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
    font-family: var(--primary-font);
    margin: 0;
    font-weight: 700;
}

.container-md {
    max-width: 1130px;
    margin: 0 auto;
    padding: 0 15px;
}

.py-170 {
    padding: 170px 0;
}

.py-80 {
    padding: 80px 0;
}

.my-170 {
    margin: 170px 0;
}

.my-120 {
    margin: 120px 0;
}

.my-110 {
    margin: 110px 0;
}

.my-80 {
    margin: 80px 0;
}

.btn-resiter {
    height: 30px;
    border-radius: 60px;
    border: 2px solid;
    font-size: 18px;
    text-align: center;
    width: fit-content;
    min-width: 120px;
    padding-inline: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-resiter-primary,
.btn-resiter-primary:visited {
    background-color: white;
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-resiter-primary:hover {
    background-color: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

header {
    position: relative;
    z-index: 9;
    width: 100%;
    top: 0;
}

header .container_header {
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
}

header .inner-content-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

header img {
    max-width: 225px;
}

header .navigation-center {
    display: flex;
    align-items: center;
    gap: 15px;
}

header .button-header {
    height: 40px;
    background: white;
    border-radius: 5px;
    padding-inline: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: black;
    text-decoration: none;
    font-size: 16px;
}

header .button-header:hover {
    background: var(--color-rose);
    color: var(--color-black);
    transition: all ease-out 0.3s;
}

header .wpml-lang-dropdown button,
header .wpml-lang-dropdown button:active {
    color: white;
}

header .dropdown-menu {
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    padding: 10px 0;
    margin-top: 10px;
}

header .wpml-lang-dropdown button:hover,
header .wpml-lang-dropdown button:active,
header .wpml-lang-dropdown button:focus,
header .wpml-lang-dropdown button.show {
    background: transparent !important;
    color: white !important
}

header .wpml-lang-dropdown button i {
    transform: rotate(0);
    transition: all ease-out 0.3s;
}

header .wpml-lang-dropdown button.show i {
    transform: rotate(180deg);
    transition: all ease-out 0.3s;
}

header .wpml-lang-dropdown .dropdown-toggle::after {
    display: none;
}

header .wpml-lang-dropdown button,
header .navigation-center .search-header button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

header .navigation-center .search-header button i {
    color: white;
    font-size: 30px;
}

header .right-header {
    display: flex;
    align-items: center;
}

header .right-header ul li a {
    color: var(--secondary-color);
    font-size: 25px;
    font-weight: 300;
}

header .right-header ul li a::before {
    display: none;
}

header .right-header ul {
    display: flex;
    align-items: center;
    gap: 25px;
}

header .right-header .nav-top-header {
    margin-right: 25px;
}

header .menunav {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0px;
}

header .divider {
    height: 40px;
    background: white;
    width: 1px;
    display: block;
    margin-inline: 5px;
}

header .menu-resiter {
    background: rgba(255, 255, 255, 0.60);
    position: absolute;
    width: 100%;
    top: 149px;
}

header .menu-resiter button {
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--secondary-color);
    text-transform: uppercase;
    font-size: 25px;
    border-radius: 0;
    transition: all ease-out 0.3s;
}

header .menu-resiter button:hover {
    border-bottom: 2px solid var(--primary-color);
}

header .menu-resiter .submenu {
    color: var(--secondary-color);
}

header .menu-resiter .submenu {
    display: flex;
    padding: 0;
    margin: 25px 0 0 0;
}

header .menu-resiter .submenu a::before {
    display: none;
}

header .menu-resiter .submenu a {
    font-size: 17px;
    gap: 0;
    padding: 0;
}

header .menu-resiter .submenu li+li {
    margin-top: 25px;
}

.header__navigation.nav-desktop {
    justify-content: flex-end;
    padding: 16px 0;
}

.header__navigation.nav-desktop .primary-menu {
    display: flex;
    gap: 80px;
}

header .header__navigation.nav-mobile {
    display: none;
}

header .lang-switch,
header .lang-switch a {
    font-size: 25px;
    text-decoration: none;
    color: var(--secondary-color);
    font-weight: 300 !important;
    font-family: var(--primary-font);
    display: flex;
    gap: 5px;
    align-items: center;
    transition: all ease-out 0.3s;
}

header .lang-switch a:hover {
    color: var(--primary-color);
}

header .lang-switch img {
    width: 40px;
    height: 30px;
    object-fit: cover;
    object-position: left;
}

header .lang-switch a span {
    font-weight: 400 !important;
}

.hamburger {
    position: relative;
    background-color: var(--color-white);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    transition: background-color 0.3s ease;
    cursor: pointer;
    display: none;
}

.hamburger.menu-open,
.hamburger:hover {
    background-color: var(--secondary-color);
}

.hamburger a.main-nav-toggle {
    display: block;
    width: 20px;
    height: 13px;
    position: absolute;
    top: 12px;
    z-index: 2;
}

.hamburger a.main-nav-toggle::after,
.hamburger a.main-nav-toggle::before {
    content: "";
    position: absolute;
    top: 0;
    height: 0;
    border-bottom: 3px solid var(--secondary-color);
    width: 100%;
    left: 0;
    right: 0;
    border-radius: 60px;
    transition: all ease-out 0.3s;
}

.hamburger:hover a.main-nav-toggle::after,
.hamburger:hover a.main-nav-toggle::before {
    border-color: var(--secondary-color);
}

.hamburger a.main-nav-toggle i {
    display: block;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    height: 3px;
    background-color: var(--secondary-color);
    width: 100%;
    position: absolute;
    top: 50%;
    transition: all ease-out 0.3s;
}

.hamburger:hover a.main-nav-toggle i {
    background-color: var(--secondary-color);
}

.hamburger .border-hamburger {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 1px solid var(--secondary-color);
    border-radius: 100%;
    z-index: 1;
    transition: all ease-out 0.3s;
}

.hamburger.menu-open .border-hamburger,
.hamburger:hover .border-hamburger {
    transform: scale(1.25);
}

.hamburger a.main-nav-toggle::after {
    top: 100%;
}

.hamburger a.main-nav-toggle.active-menu::after {
    content: '';
    transform: rotate(-45deg);
    transform-origin: center;
    top: 50%;
    border-radius: 60px;
    border-color: var(--color-white);
}

.hamburger a.main-nav-toggle.active-menu::before {
    content: '';
    transform: rotate(45deg);
    transform-origin: center;
    top: 50%;
    border-radius: 60px;
    border-color: var(--color-white);
}

.hamburger a.main-nav-toggle.active-menu i {
    opacity: 0;
}

.search-form-container {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    backdrop-filter: blur(20px);
    border-radius: 8px;
    background: white;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    max-width: 310px;
}

.search-form-container i.bi-x {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 20px;
    cursor: pointer;
}

.search-form-container form,
.search-form-container form label {
    width: 100%;
    position: relative;
}

.search-form-container form input {
    width: 100%;
    border: 1px solid var(--color-black);
    border-radius: 5px;
    font-size: 16px;
    height: 40px;
    padding: 0 40px 0 15px;
}

.search-form-container form .bi-search {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

header .header__navigation {
    position: relative;
    width: 100%;
    padding: 25px 180px 25px 80px;
    display: flex;
    transition: opacity .1s ease, transform ease-out 0.3s;
}

.opened-menu header .header__navigation {
    transform: translateY(calc(100% + 15px));
    opacity: 1;
    transition: all ease-out 0.3s;
    z-index: 8;
}


ul.list-unstyled {
    padding: 0;
    margin: 0;
    list-style: none;
    color: var(--secondary-color);
    font-size: 19px;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 10px;
}

ul.primary-menu {
    padding: 0;
    margin: 0;
    list-style: none;
    color: white;
    font-size: 19px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
    grid-auto-flow: column;
    column-gap: 40px;
    row-gap: 15px;
}

ul.list-unstyled li a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-white);
    text-decoration: none;
    transition: all ease-out 0.3s;
}

header ul.list-unstyled li.current-menu-item a,
header ul.list-unstyled li.current-item a,
header ul.list-unstyled li a:hover {
    font-weight: normal;
    color: var(--color-rose) !important;
}

ul.list-unstyled li a::before {
    content: '\F231';
    font-family: 'bootstrap-icons';
    font-size: 12px;
}

ul.primary-menu li:nth-child(1) {
    grid-row: 1;
}

ul.primary-menu li:nth-child(2) {
    grid-row: 2;
}

ul.primary-menu li:nth-child(3) {
    grid-row: 3;
}

ul.primary-menu li:nth-child(4) {
    grid-row: 4;
}

ul.primary-menu li:nth-child(5) {
    grid-row: 5;
}

ul.primary-menu li:nth-child(6) {
    grid-row: 6;
}

ul.primary-menu li:nth-child(7) {
    grid-row: 7;
}

.additional-menu {
    position: relative;
}

.additional-menu::before {
    content: '';
    width: .5px;
    height: calc(100% - 100px);
    display: block;
    background: #ffffff80;
    position: absolute;
    top: 0;
    /* transform: translateY(-50%); */
    left: -80px;
}

.site-header {

    transition: all 0.4s ease;
    /* animación suave */
}

.site-header.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    transform: translateY(0);
}

/*.site-header.sticky-hide {
  transform: translateY(-100%);
}*/


footer .main-footer {
    padding-block: 40px;
    color: white;
}

footer .main-footer h4 {
    font-size: 18px;
    margin-bottom: 20px;
}

footer .main-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    color: white;
}

footer .main-footer ul li+li {
    margin-top: 20px;
}

footer .main-footer ul a {
    text-decoration: none;
    color: white;
    font-weight: 300;
    font-size: 16px;
    transition: all 0.3s ease;
}

footer .main-footer ul a:hover {
    color: var(--primary-color);
}

footer .main-footer .social-icons {
    display: flex;
    justify-content: flex-end;
    gap: 50px;
}

footer .main-footer .social-icons a {
    color: white;
    font-size: 35px;
}

footer .main-footer .social-icons a:hover {
    color: var(--primary-color);
}

footer .bottom-footer {
    background-color: white;
    padding-block: 30px;
}

footer .bottom-footer .footer-bottom-text p {
    font-weight: 300;
}

footer .bottom-footer .certificaciones {
    display: flex;
    justify-content: flex-end;
}

footer .bottom-footer>.row {
    align-items: center;
}


.single-industria .content-wrapper,
.single-servicio .content-wrapper,
.single-filial .content-wrapper,
body:not(.home).page .content-wrapper {
    background-image: url('/wp-content/uploads/2025/10/Rectangle-29.webp');
    padding-top: 120px;
}

.single-industria .content-wrapper .item-info .btn-resiter {
    margin-top: 45px;
    display: block;
    margin-inline: auto;
}

.single-industria .content-wrapper h1,
.single-servicio .content-wrapper h1,
.single-filial .content-wrapper h1 {
    text-align: center;
    text-transform: uppercase;
    font-size: 60px;
    color: var(--secondary-color);
}

.single-filial .content-wrapper h1 {
    margin-bottom: 45px;
}

.single-industria .content-wrapper .content,
.single-industria .content-wrapper h1,
.single-filial .content-wrapper .content {
    max-width: 990px;
    margin: 0 auto;
}

.single-industria .content-wrapper .content {
    margin-bottom: 170px;
}

.single-industria .content-wrapper .content p,
.single-servicio .content-wrapper .content p,
.single-filial .content-wrapper .content p {
    text-align: center;
    font-size: 30px;
    font-style: italic;
    color: var(--secondary-color);
    font-weight: 400;
    margin-bottom: 0;
}

.single-industria .featured-image,
.single-servicio .featured-image,
.single-filial .featured-image,
.page .featured-image {
    position: relative;
}

.single-industria .featured-image .child-featured {
    height: 400px;
    background: var(--secondary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    padding-block: 60px 40px;
}

.single-industria .featured-image .child-featured h1 {
    font-size: 64px;
    margin: 0;
    font-weight: 700;
    line-height: 70px;
    text-transform: uppercase;
    max-width: 690px;
    margin: 0 auto;
}

.single-industria .featured-image img,
.single-servicio .featured-image img,
.single-filial .featured-image img,
.page .featured-image img {
    width: 100%;
    max-height: 100dvh;
}

.single-industria .featured-image .breadcrumb-resiter,
.single-servicio .featured-image .breadcrumb-resiter,
.single-filial .featured-image .breadcrumb-resiter,
.page .featured-image .breadcrumb-resiter {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 40px;
    background: rgba(255, 255, 255, 0.70);
    display: flex;
    align-items: center;
}

.single-industria .industrias-list .item-list {
    max-width: 100%;
}

.single-industria .industrias-list .item-list .col-left {
    max-width: 50%;
    flex: 0 0 50%;
}

.single-industria .industrias-list img {
    aspect-ratio: 16/11;
}

.single-industria .industrias-list .item-list .item-info {
    max-width: 100%;
    flex: 1;
}

.single-industria .arrow-icon {
    display: none;
}

.single-industria .featured-image img {
    object-fit: cover;
}

.single-industria .content-wrapper-child {
    padding-top: 0;
}

.single-industria .content-wrapper-child .industrias-services-list img {
    width: 100%;
    margin-bottom: 55px;
}

.single-industria .content-wrapper-child .industrias-services-list h2 {
    font-size: 60px;
    color: var(--secondary-color);
    margin-bottom: 55px;
    text-transform: uppercase;
}

.single-industria .content-wrapper-child .industrias-services-list p {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 0;
    font-style: italic;
    color: var(--secondary-color);
}

.single-servicio h2 {
    font-size: 50px;
    text-align: center;
    color: #04345e;
    margin-bottom: 75px;
    text-transform: uppercase;
}

.breadcrumb-inner {
    font-size: 18px;
    color: var(--secondary-color);
}

.breadcrumb-inner a,
.breadcrumb-inner a:visited {
    color: var(--secondary-color);
    text-decoration: none;
    font-weight: 400;
}

.breadcrumb-inner .titulo {
    font-size: 600;
}

.breadcrumb-inner button {
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    font-weight: 600;
    color: var(--secondary-color);
}

.servicios-flex .inner-list-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
}

.servicios-flex .item-list {
    flex: 0 0 calc(33.333% - 25px);
    padding: 20px;
    background: white;
    border: 2px solid #EAEAEA;
    text-align: center;
}

.servicios-flex .item-list img {
    aspect-ratio: 1/1;
    object-fit: cover;
    margin-bottom: 25px;
}

.servicios-flex .item-list p {
    font-size: 25px;
    font-weight: 300;
    margin-bottom: 25px;
}

.servicios-flex h3 {
    font-size: 35px;
    color: var(--primary-color);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.servicios-flex .arrow-icon {
    display: none;
}

.info-filial p,
.info-filial ul {
    font-size: 20px;
    font-weight: 300;
}

.info-filial ul {
    padding: 0 0 0 20px;
    margin: 0;
    font-family: 'Lato';
}

.contact-filial {
    background: #D9D9D9;
    padding: 40px;
    margin-top: 70px;
    position: relative;
}

.contact-filial .contact-flag {
    position: absolute;
    top: -35px;
    right: 40px;
}

.contact-filial h3 {
    font-size: 25px;
    font-weight: 300;
    color: var(--secondary-color);
    margin-bottom: 30px;
}

.contact-filial .contact-item h4 {
    color: #595959;
    font-size: 20px;
    font-weight: 400;
}

.contact-filial .contact-item p,
.contact-filial .contact-item a,
.contact-filial .contact-item a:visited {
    color: #595959;
    font-size: 20px;
    font-weight: 300;
    text-decoration: none;
    margin: 0;
}

.contact-filial .contact-item+.contact-item {
    margin-top: 25px;
}

.info-featured {
    margin-block: 140px;
}

.info-featured .item-card {
    padding: 20px;
    background: white;
    display: flex;
    gap: 20px;
    border: 2px solid var(--Gris-02, #EAEAEA);
}

.info-featured .item-card .item-info,
.info-featured .item-card .item-image {
    flex: 0 0 calc(50% - 10px);
}

.info-featured .item-card .item-image img {
    aspect-ratio: 16 / 11;
    width: 100%;
    object-fit: cover;
}

.info-featured .item-card p {
    font-size: 20px;
    font-weight: 300;
    margin: 0;
}

.info-featured .item-card h4 {
    font-size: 40px;
    margin-bottom: 20px;
    text-align: center;
    color: var(--primary-color);
}

.flags-filials {
    margin-block: 110px;
}

.flags-filials h2 {
    text-align: center;
    font-size: 40px;
    color: var(--secondary-color);
    margin-bottom: 45px;
}

.flags-filials .flags-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;

}

.flags-filials .flag-item a {
    text-align: center;
    text-decoration: none;
    font-size: 30px;
    color: var(--primary-color);
    padding: 10px;
    background: white;
    display: block;
    border: 2px solid transparent;
    transition: all ease-out 0.3s;
}

.flags-filials .flag-item a:hover {
    color: var(--secondary-color);
    border-color: #EAEAEA;
}

.flags-filials .flag-item a img {
    transform: scale(1);
    width: 150px;
    transition: all ease-out 0.3s;
}

.flags-filials .flag-item a:hover img {
    transform: scale(1.05);
    transition: all ease-out 0.3s;
}

.flags-filials .flag-item a h4 {
    margin-top: 15px;

}

.page .featured-image img {
    width: 100%;
}

@media (max-width: 1250px) {
    header .menunav {
        max-width: calc(100% - 32px);
    }

    .additional-menu::before {
        left: -40px
    }
}


@media (max-width: 1150px) {

    .additional-menu::before {
        display: none;
    }
}

@media (max-width: 991px) {

    header ul.primary-menu {
        margin-bottom: 25px;
    }

    header .header__navigation {
        flex-direction: column;
        padding: 35px;
        background-size: auto;
        background-position: bottom right;
    }

    header .right-header,
    header .header__navigation.nav-desktop {
        display: none;
    }

    header .header__navigation.nav-mobile {
        display: flex;
        position: absolute;
        transform: translateX(-100dvw);
    }

    .hamburger {
        display: flex;
    }

    .single-industria .item-info .item-description,
    .single-industria .item-info .btn-resiter {
        display: none !important;
    }

    .single-industria .text-mobile {
        display: block;
        margin-top: 0;
        text-align: center;
    }

    .single-industria .industrias-list .item-list .item-info {
        order: 0;
        margin-bottom: 0px;
    }

    .single-industria .industrias-list .item-list {
        flex-direction: row !important
    }

    .single-industria .arrow-icon {
        display: flex;
        justify-content: center;
    }

    .single-industria .industrias-list h3 {
        font-size: 18px;
        color: var(--secondary-color);
    }

    .single-industria .industrias-list .arrow-icon i {
        font-size: 25px;
        color: var(--primary-color);
        font-weight: 900;
        margin-top: 35px;
        cursor: pointer;
        transition: all ease-out 0.3s;
    }

    .servicios-flex .arrow-icon i {
        font-size: 25px;
        color: var(--primary-color);
        font-weight: 900;
        margin-top: 15px;
        margin-bottom: 25px;
        cursor: pointer;
        transition: all ease-out 0.3s;
    }

    .single-industria .industrias-list .open .arrow-icon i,
    .servicios-flex .open .arrow-icon i {
        transform: rotate(180deg);
        transition: all ease-out 0.3s;
    }

    .single-industria .item-description {
        text-align: left;
        font-size: 16px;
    }

    .single-industria .text-mobile a {
        margin-inline: auto;
        margin-top: 25px;
    }

    .single-industria .industrias-list .item-list+.item-list {
        margin-top: 20px;
    }

    .servicios-flex .arrow-icon {
        display: flex;
        justify-content: center;
    }

    .servicios-flex .item-list {
        flex: 0 0 calc(50% - 25px);
    }

    .servicios-flex .item-list p {
        display: none;
    }

    .servicios-flex h3 {
        font-size: 20px;
    }

}

@media (max-width: 768px) {

    .py-170 {
        padding: 80px 0;
    }

    .my-170 {
        margin: 80px 0;
    }

    .my-120 {
        margin: 80px 0;
    }

    .my-110 {
        margin: 60px 0;
    }

    .single-industria .content-wrapper,
    .single-servicio .content-wrapper,
    .single-filial .content-wrapper,
    body:not(.home).page .content-wrapper {
        padding-top: 60px;
    }

    footer .bottom-footer .row>div[class*="col-"]:first-child {
        width: 30%;
    }

    footer .bottom-footer .row>div[class*="col-"]:nth-child(2) {
        width: 70%;
    }

    footer .main-footer .row>div[class*="col-"]:first-child,
    footer .main-footer .row>div[class*="col-"]:nth-child(2) {
        width: 50%;
    }

    footer .main-footer .row>div[class*="col-"]:nth-child(3) {
        margin-top: 25px;
    }

    header img {
        max-width: 150px;
    }

    header .button-header,
    header .search-header {
        display: none;
    }

    header .header__navigation {
        flex-direction: column;
        padding: 35px;
        background-image: none;
        max-height: calc(100dvh - 160px);
        overflow-y: scroll;
    }

    header ul.primary-menu {
        display: flex;
        flex-direction: column;
        margin-bottom: 25px;
    }

    .single-industria .featured-image img {
        height: 100dvh;
    }

    .single-industria .featured-image .child-featured h1 {
        font-size: 40px;
        line-height: 50px;
    }

    .single-industria .content-wrapper-child .industrias-services-list h2 {
        font-size: 30px;
        margin-bottom: 30px;
    }

    .single-industria .content-wrapper-child .industrias-services-list p {
        font-size: 18px;
    }

    .single-industria .content-wrapper-child .industrias-services-list img {
        margin-bottom: 30px;
        height: 480px;
        object-fit: cover;
    }

    .single-industria .featured-image img,
    .single-servicio .featured-image img,
    .single-filial .featured-image img,
    .page .featured-image img {
        min-height: 680px;
        object-fit: cover;
    }
}