/* =========================================
   Modern HubSpot Width Override
   Safe Responsive Version
========================================= */
/* =========================================
   GLOBAL CONTENT WIDTH
   Sistema único de ancho para toda la web
========================================= */
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl,
.page-center,
.content-wrapper {

    width: 100% !important;
    max-width: 1440px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 32px !important;
    padding-right: 32px !important;

}

/* =========================================
   DnD ROW ALIGNMENT FIX
========================================= */

.dnd-section .row-fluid {

    width: 100% !important;
    max-width: none !important;

}

/* =========================================
   SECTION SPACING
========================================= */

.section-padding {

    padding-top: clamp(70px, 8vw, 140px) !important;
    padding-bottom: clamp(70px, 8vw, 140px) !important;

}

/* =========================================
   HEADER FULL WIDTH FIX
========================================= */

/* Expandir el container SOLO del header */
.header-section .container,
.header-top-bar .container {

    max-width: 100% !important;
    width: 100% !important;

    padding-left: 40px !important;
    padding-right: 40px !important;

}

/* Mejor distribución horizontal */
.header-section .row {

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

}

/* El logo NO necesita ocupar 25% */
.header-logo {

    display: flex;
    align-items: center;

}

.col-xl-3.col-auto {

    flex: 0 0 auto !important;
    width: auto !important;
    max-width: unset !important;

}

/* Menú ocupa el espacio disponible */
.header-main-menu {

    width: 100%;

}

/* Navegación */
.header-main-menu-nav .navigation {

    display: flex !important;
    align-items: right !important;
    justify-content: right !important;

    flex-wrap: nowrap !important;

    gap: clamp(32px, 1.5vw, 40px) !important;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

}

/* Links */
.header-main-menu-nav .navigation li a {

    white-space: nowrap !important;

    font-size: clamp(14px, 0.75vw, 14px) !important;

    line-height: 1 !important;

    padding: 0 !important;

}

/* Evitar que el botón se deforme */
.header-right {

    flex: 0 0 auto;

}

/* Responsive */
@media (max-width: 1600px) {

    .header-section .container,
    .header-top-bar .container {

        padding-left: 28px !important;
        padding-right: 28px !important;

    }

    .header-main-menu-nav .navigation {

        gap: 32px !important;

    }

}

@media (max-width: 1400px) {

    .header-main-menu-nav .navigation li a {

        font-size: 14px !important;

    }

    .header-main-menu-nav .navigation {

        gap: 40px !important;

    }

}

/* ============================
   DROPDOWNS AUTOAJUSTABLES
   ============================ */

.header-main-menu-nav .navigation li .submenu,
.header-main-menu-nav .navigation li ul {

    width: max-content !important;
    min-width: 280px !important;
    max-width: 500px !important;

}

/* Evita cortes de texto */
.header-main-menu-nav .navigation li .submenu li a,
.header-main-menu-nav .navigation li ul li a {

    white-space: nowrap !important;

}

/* ============================
   SUBMENU NIVEL 3
   ============================ */

.header-main-menu-nav .navigation li ul li ul {

    left: calc(100% - 10px) !important;
    top: 0 !important;

}

/* =========================================
   Perfect Menu Vertical Alignment
========================================= */

.header-main-menu-nav .navigation {

    display: flex !important;
    align-items: center !important;

}

/* Todos los items */
.header-main-menu-nav .navigation > li {

    display: flex !important;
    align-items: center !important;

}

/* Todos los links */
.header-main-menu-nav .navigation > li > a {

    display: flex !important;
    align-items: center !important;

    line-height: 1 !important;

}

/* Item con submenu */
.header-main-menu-nav .has-sub-menu > a {

    gap: 6px;

}

/* Flecha */
.header-main-menu-nav .has-sub-menu > a::after {

    position: relative;
    top: 0;

}
/* =========================================
   Modern Dropdown Menu
========================================= */

/* Parent item */
.header-main-menu-nav .has-sub-menu {

    position: relative;

}

/* Fix broken arrow icon */
.header-main-menu-nav .has-sub-menu > a::after {

    content: "⌄" !important;

    font-size: 14px;
    font-weight: 600;

    border: none !important;
    background: none !important;

    display: flex;
    align-items: center;
    justify-content: center;

    width: auto;
    height: auto;

    margin-left: 4px;

    position: relative;
    top: -2px;

    transition: transform .25s ease;

}

/* Rotate arrow on hover */
.header-main-menu-nav .has-sub-menu:hover > a::after {

    transform: rotate(180deg);
    top: 3px;

}

/* Dropdown container */
.header-main-menu-nav .has-sub-menu > ul {

    position: absolute;

    top: calc(100% + 18px);
    left: 50%;

    transform: translateX(-50%);

    min-width: 260px;

    padding: 14px !important;

    background: #ffffff !important;

    border-radius: 16px;

    box-shadow:
      0 10px 30px rgba(0,0,0,.08),
      0 2px 8px rgba(0,0,0,.04);

    border: 1px solid rgba(0,0,0,.06);

    opacity: 0;
    visibility: hidden;

    transition:
      opacity .25s ease,
      transform .25s ease;

    z-index: 999;

}

/* Show dropdown */
.header-main-menu-nav .has-sub-menu:hover > ul {

    opacity: 1;
    visibility: visible;

    transform: translateX(-50%) translateY(-4px);

}

/* Dropdown items */
.header-main-menu-nav .has-sub-menu > ul li {

    width: 100%;

}

/* Dropdown links */
.header-main-menu-nav .has-sub-menu > ul li a {

    display: flex !important;
    align-items: center;

    width: 100%;

    padding: 12px 14px !important;

    border-radius: 10px;

    color: #222 !important;

    font-size: 14px !important;

    transition: all .2s ease;

}

/* Hover effect */
.header-main-menu-nav .has-sub-menu > ul li a:hover {

    background: #f5f7fa;

    transform: translateX(4px);

    color: var(--primary-color) !important;

}
/* =========================================
   Mobile Menu Fix
========================================= */

.offcanvas-menu-nav .navigation {

    display: flex;
    flex-direction: column;

    gap: 0 !important;

    padding: 0;
    margin: 0;

}

.offcanvas-menu-nav .navigation li {

    width: 100%;

}

.offcanvas-menu-nav .navigation li a {

    display: block;

    width: 100%;

    padding: 14px 0 !important;

    border-bottom: 1px solid rgba(0,0,0,.08);

    font-size: 16px !important;

    color: #222 !important;

}

.offcanvas-menu-nav .has-sub-menu > ul {

    position: static !important;

    opacity: 1 !important;
    visibility: visible !important;

    transform: none !important;

    box-shadow: none !important;

    border: none !important;

    background: transparent !important;

    padding-left: 16px !important;

    margin-top: 8px;

}

.offcanvas-menu-nav .has-sub-menu > a::after {

    display: none !important;

}
/* =========================================
   Mobile Menu Text Visibility
========================================= */

.header-offcanvas {

    background: #ffffff !important;

}

/* Main links */
.offcanvas-menu-nav .navigation li a {

    color: #33475b !important;

    font-weight: 200;

}

/* Hover */
.offcanvas-menu-nav .navigation li a:hover {

    color: var(--primary-color) !important;

}

/* Submenu container */
.offcanvas-menu-nav .has-sub-menu > ul {

    background: #f8f9fa !important;

    border-radius: 12px;

    padding: 8px 14px !important;

    margin-top: 10px;

}

/* Submenu links */
.offcanvas-menu-nav .has-sub-menu > ul li a {

    color: #33475b !important;

    font-size: 15px !important;

    padding: 10px 0 !important;

}

/* Close button */
.header-offcanvas-close {

    color: #ffffff !important;

}

/* Hamburger icon lines */
.header-offcanvas-open span {

    background: #33475b !important;

}
/* =========================================
   Remove Forced Uppercase
========================================= */

.offcanvas-menu-nav .navigation li a {

    text-transform: none !important;

}
/* =========================================
   Mobile Submenu Toggle
========================================= */

.offcanvas-menu-nav .has-sub-menu > ul {

    display: none;

}

.offcanvas-menu-nav .has-sub-menu > ul.submenu-open {

    display: block;

}

/* =========================================
   editorial line right
========================================= */


.editorial-text {

  position: relative;

  display: inline-block;

  padding-right: 1.5rem;

  line-height: 1.5;

  max-width: 40ch;
}

.editorial-text::after {

  content: "";

  position: absolute;

  top: 10%;

  bottom: 10%;

  right: 0;

  width: 1px;

  background: #808080;
}

/* =========================================
   Force DnD Columns To Fill Width
========================================= */

.page-banner-section .dnd-column {

    max-width: none !important;

}

/* =========================================
   Ajustar flechas breadcrumbs
========================================= */

.page-banner-content ul li:not(:last-child)::after {
    content: "›";
    display: inline-block;
    margin: 0 12px;
    color: #fff;
}
}
.page-banner-content ul li::before {
  content: none !important;
}