/* Marco visual independiente de Bootstrap y del banner. */
:root {
    --landingnew-header-height: 50px;
}

.landingnew-shell {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    min-height: var(--landingnew-header-height);
    background: transparent;
    color: var(--landingnew-menu-text, #ddd);
    box-shadow: none;
    transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.landingnew-navbar {
    max-width: 1200px;
    min-height: var(--landingnew-header-height);
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    align-items: center;
}

.landingnew-shell.is-scrolled {
    background: #fff;
    color: #676a6c;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .16);
}

.landingnew-navbar__inner {
    min-height: var(--landingnew-header-height);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex: 0 0 auto;
}

.landingnew-navbar__brand,
.landingnew-navbar__actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.landingnew-logo {
    display: flex;
    align-items: center;
    max-width: min(42vw, 220px);
    max-height: 44px;
    overflow: hidden;
}

.landingnew-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 44px;
    height: auto;
    position: static !important;
}

.landingnew-menu {
    flex: 1 1 auto;
    min-width: 0;
}

.landingnew-menu__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.landingnew-menu__list > li {
    position: relative;
}

.landingnew-menu a,
.landingnew-session {
    color: inherit;
    text-decoration: none;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .8), -0.1px -0.1px 1px #000;
}

.landingnew-shell.is-scrolled .landingnew-menu a,
.landingnew-shell.is-scrolled .landingnew-session {
    text-shadow: none;
}

.landingnew-menu a {
    display: block;
    margin-left: 12px;
    padding: 0;
    font-family: 'Open Sans', helvetica, arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 20px;
    text-transform: uppercase;
}

.landingnew-menu a:hover,
.landingnew-menu a:focus,
.landingnew-session:hover,
.landingnew-session:focus {
    color: var(--landingnew-theme, #1ab394);
}

.landingnew-menu__list ul {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 12rem;
    padding: .35rem 0;
    margin: 0;
    list-style: none;
    background: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .18);
}

.landingnew-menu__list li:hover > ul,
.landingnew-menu__list li:focus-within > ul {
    display: block;
}

.landingnew-menu__list ul a {
    white-space: nowrap;
}

.landingnew-menu img {
    width: auto;
    max-width: 7rem;
    max-height: 2rem;
}

.landingnew-session {
    white-space: nowrap;
    font-family: 'Open Sans', helvetica, arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.landingnew-session--button {
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    padding: .45rem .7rem;
    border-radius: .25rem;
    background: var(--landingnew-theme, #1ab394);
    color: #fff;
    text-shadow: none;
}

.landingnew-session--button:hover,
.landingnew-session--button:focus {
    color: #fff;
    font-weight: 700;
}

.landingnew-user-menu {
    position: relative;
}

.landingnew-user-menu__toggle {
    border: 0;
    background: transparent;
    cursor: pointer;
}

.landingnew-user-menu__list {
    display: none;
    position: absolute;
    top: calc(100% + .5rem);
    right: 0;
    min-width: 13rem;
    margin: 0;
    padding: .35rem 0;
    list-style: none;
    background: #fff;
    color: #676a6c;
    font-family: 'Open Sans', helvetica, arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .18);
    text-align: left;
}

.landingnew-user-menu__list.is-open {
    display: block;
}

.landingnew-user-menu__list a {
    display: block;
    margin: 0;
    padding: .55rem .85rem;
    color: #676a6c;
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    letter-spacing: 0;
    line-height: inherit;
    text-shadow: none;
    text-transform: none;
}

.landingnew-user-menu__list a:hover,
.landingnew-user-menu__list a:focus {
    background: #f5f5f5;
    color: var(--landingnew-theme, #1ab394);
}

.landingnew-user-menu__switch {
    border-top: 1px solid #eee;
    margin-top: .35rem;
    padding: .55rem .85rem;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.landingnew-user-menu__switch label {
    display: block;
    margin-bottom: .35rem;
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
}

.landingnew-user-menu__switch div {
    display: flex;
    gap: .35rem;
}

.landingnew-user-menu__switch input {
    min-width: 0;
    width: 5rem;
    padding: .3rem;
    border: 1px solid #ddd;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.landingnew-user-menu__switch button {
    padding: .3rem .5rem;
    border: 0;
    background: var(--landingnew-theme, #1ab394);
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.landingnew-banner {
    position: relative;
    margin-top: var(--landingnew-banner-top);
    width: 100%;
}

.landingnew-banner__viewport {
    position: relative;
    height: var(--landingnew-banner-height);
    overflow: hidden;
    background: #fafafa;
}

.landingnew-banner__slides,
.landingnew-banner__slide {
    position: absolute;
    inset: 0;
}

.landingnew-banner__slide {
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease;
}

.landingnew-banner__slide.is-active {
    opacity: 1;
    visibility: visible;
}

.landingnew-banner__media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.landingnew-banner__caption {
    position: absolute;
    z-index: 2;
    max-width: min(50%, 38rem);
    max-height: calc(100% - 2rem);
    overflow: auto;
    color: #fff;
    text-align: left;
    text-shadow: 1px 1px 2px #000;
}

.landingnew-banner__floating {
    position: absolute;
    z-index: 3;
    max-width: min(35%, 20rem);
    max-height: 85%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, .45));
}

.landingnew-banner__control {
    position: absolute;
    z-index: 4;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: rgba(0, 0, 0, .25);
    color: #fff;
    font-size: 2.5rem;
    line-height: 1;
    padding: .15rem .6rem;
    cursor: pointer;
}

.landingnew-banner__control--prev { left: .5rem; }
.landingnew-banner__control--next { right: .5rem; }

.landingnew-banner__dots {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: .5rem;
    left: 0;
    display: flex;
    justify-content: center;
    gap: .4rem;
}

.landingnew-banner__dots button {
    width: .65rem;
    height: .65rem;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.landingnew-banner__dots button[aria-selected="true"] {
    background: #fff;
}

.landingnew-menu-toggle {
    display: none;
    border: 0;
    border-radius: 4px;
    background: #fff;
    color: inherit;
    padding: 9px 10px;
    cursor: pointer;
}

.landingnew-menu-toggle__bars {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.landingnew-menu-toggle__bars > span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background: #888;
}

.landingnew-menu-toggle:focus-visible {
    outline: 2px solid var(--landingnew-theme, #1ab394);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .landingnew-shell,
    .landingnew-shell.is-scrolled {
        background: #fff;
        color: #676a6c;
        box-shadow: none;
    }

    .landingnew-menu a,
    .landingnew-session {
        text-shadow: none;
    }

    .landingnew-navbar {
        display: block;
        padding: 0;
    }

    .landingnew-navbar__inner {
        padding: 0 15px;
    }

    .landingnew-menu-toggle {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
    }

    .landingnew-user-menu__list {
        position: fixed;
        top: var(--landingnew-header-height);
        right: .75rem;
    }

    .landingnew-menu-toggle__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .landingnew-menu {
        width: 100%;
        margin: 0;
        display: none;
        padding: 0 .75rem .75rem;
        background: #fff;
        color: #676a6c;
    }

    .landingnew-menu.is-open {
        display: block;
    }

    .landingnew-menu__list {
        display: block;
        padding: 0;
        max-height: calc(100vh - var(--landingnew-header-height));
        overflow-y: auto;
    }

    .landingnew-menu a {
        margin-left: 0;
        padding: .7rem .65rem;
        line-height: 1.2;
    }

    .landingnew-menu__list ul {
        position: static;
        padding-left: 1rem;
        background: transparent;
        box-shadow: none;
    }

    .landingnew-menu__list li:hover > ul {
        display: none;
    }

    .landingnew-menu__list li:focus-within > ul {
        display: block;
    }

    .landingnew-banner {
        margin-top: calc(var(--landingnew-header-height) + var(--landingnew-banner-top));
    }

    .landingnew-banner__viewport {
        height: var(--landingnew-banner-height);
    }

    .landingnew-banner__caption {
        top: auto !important;
        right: .75rem;
        bottom: .75rem;
        left: .75rem !important;
        max-width: none;
        max-height: 45%;
        padding: .35rem .5rem;
        background: rgba(0, 0, 0, .28);
        font-size: .9rem;
    }

    .landingnew-banner__floating {
        top: .75rem !important;
        right: .75rem;
        left: auto !important;
        max-width: 32%;
        max-height: 45%;
    }

    .landingnew-banner__control {
        font-size: 2rem;
    }
}

/* Barra inferior solo para pantallas internas iniciadas desde Comercio. */
.landingnew-bottom-navigation { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1000; display: flex; gap: 10px; align-items: stretch; overflow-x: auto; overflow-y: hidden; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #e5e8ef; background: #fff; box-shadow: 0 -6px 18px rgba(16, 24, 40, .06); scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x; user-select: none; cursor: grab; }
.landingnew-bottom-navigation::-webkit-scrollbar { display: none; }
.landingnew-bottom-navigation.is-dragging { cursor: grabbing; }
.landingnew-bottom-navigation__item { display: block; flex: 0 0 auto; width: 56px; height: 56px; overflow: hidden; border-radius: 14px; background: #f3f4f7; cursor: pointer; transition: transform .1s ease, box-shadow .15s ease; }
.landingnew-bottom-navigation__item:active { transform: scale(.96); }
.landingnew-bottom-navigation__item.is-active { box-shadow: 0 0 0 2px var(--landingnew-theme); }
.landingnew-bottom-navigation__item img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.landingnew-bottom-navigation__contextual { display: inline-flex; flex: 0 0 auto; min-width: 112px; height: 56px; align-items: center; justify-content: center; gap: 7px; padding: 8px 14px; border: 1px solid color-mix(in srgb, var(--landingnew-theme) 38%, #fff); border-radius: 14px; color: var(--landingnew-theme); background: color-mix(in srgb, var(--landingnew-theme) 9%, #fff); font: inherit; font-size: 13px; font-weight: 800; line-height: 1.1; text-decoration: none; cursor: pointer; }
.landingnew-bottom-navigation__contextual:hover { color: #fff; background: var(--landingnew-theme); text-decoration: none; }
.landingnew-bottom-navigation__contextual:disabled { opacity: .55; cursor: wait; }
.landingnew-main--with-bottom-navigation { padding-bottom: calc(10rem + env(safe-area-inset-bottom)) !important; }
.landingnew-bottom-navigation .landingnew-workflow-transition { display: block; flex: 0 0 auto; min-width: 108px; height: 56px !important; padding: 0 !important; border: 1px solid color-mix(in srgb, var(--landingnew-theme) 35%, #fff) !important; border-radius: 14px; background: color-mix(in srgb, var(--landingnew-theme) 10%, #fff); overflow: hidden; }
.landingnew-bottom-navigation .landingnew-workflow-transition > a { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 100%; padding: 8px 12px; color: var(--landingnew-theme); font-size: 13px; font-weight: 700; line-height: 1.15; text-align: center; text-decoration: none; }
.landingnew-bottom-navigation .landingnew-workflow-transition > a:hover { color: #fff; background: var(--landingnew-theme); text-decoration: none; transform: none; }
.landingnew-transition-dialog-backdrop { position: fixed; z-index: 2200; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(15, 23, 42, .48); }
.landingnew-transition-dialog { width: min(100%, 430px); padding: 24px; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(15, 23, 42, .26); }
.landingnew-transition-dialog h2 { margin: 0 0 10px; color: #1f2937; font-size: 20px; }
.landingnew-transition-dialog p { margin: 0; color: #4b5563; line-height: 1.5; }
.landingnew-transition-dialog__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.landingnew-transition-dialog__actions button { min-height: 40px; padding: 8px 16px; border: 0; border-radius: 9px; font: inherit; font-weight: 700; cursor: pointer; }
.landingnew-transition-dialog__cancel { color: #374151; background: #e5e7eb; }
.landingnew-transition-dialog__confirm { color: #fff; background: var(--landingnew-theme); }
#footerpos.landingnew-legacy-footer-delegated { display: none !important; }

/* Acción de alta común para las pantallas internas de landingnew: esquina superior derecha. */
.landingnew-floating-add,
.landingnew-main .btn-flotante,
.groupsnew__toolbar > .groupsnew__primary,
.plagrid [data-action="create"]:not([hidden]) {
    position: fixed !important;
    right: max(1rem, env(safe-area-inset-right)) !important;
    top: calc(var(--landingnew-header-height, 50px) + 1rem) !important;
    bottom: auto !important;
    z-index: 990 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-width: 54px;
    min-height: 54px;
    padding: .8rem 1rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--landingnew-theme, #1ab394) !important;
    box-shadow: 0 8px 20px rgba(16, 24, 40, .25) !important;
    color: #fff !important;
    font: 700 .9rem/1 Arial, sans-serif !important;
    text-decoration: none !important;
    cursor: pointer;
}
.landingnew-floating-add,
.landingnew-main .btn-flotante {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font: 900 1.8rem/1 Arial, sans-serif !important;
}
.landingnew-floating-add:hover,
.landingnew-floating-add:focus,
.landingnew-main .btn-flotante:hover,
.landingnew-main .btn-flotante:focus,
.groupsnew__toolbar > .groupsnew__primary:hover,
.groupsnew__toolbar > .groupsnew__primary:focus,
.plagrid [data-action="create"]:not([hidden]):hover,
.plagrid [data-action="create"]:not([hidden]):focus {
    background: #12866f !important;
    box-shadow: 0 12px 26px rgba(16, 24, 40, .32) !important;
    color: #fff !important;
    text-decoration: none !important;
    transform: translateY(-2px);
}
@media (max-width: 600px) {
    .landingnew-floating-add,
    .landingnew-main .btn-flotante,
    .groupsnew__toolbar > .groupsnew__primary,
    .plagrid [data-action="create"]:not([hidden]) {
        right: .8rem !important;
        top: calc(var(--landingnew-header-height, 50px) + .8rem) !important;
        bottom: auto !important;
        min-width: 50px;
        min-height: 50px;
        padding: .7rem .85rem !important;
    }
    .landingnew-floating-add,
    .landingnew-main .btn-flotante {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
    }
}
/* Configured public Web sections: keep authored content and responsive columns. */
.landingnew-content-section { width:100%; min-width:0; }
.landingnew-content-columns { display:grid; grid-template-columns:repeat(var(--section-columns),minmax(0,1fr)); gap:30px; align-items:stretch; }
.landingnew-content-column { min-width:0; overflow-wrap:anywhere; }
.landingnew-content-section img { max-width:100%; }
@media(max-width:767px) { .landingnew-content-columns { grid-template-columns:minmax(0,1fr); gap:16px; } }

.landingnew-blog { padding:24px max(16px,4vw); }
.landingnew-blog__heading { text-align:center; margin:0 auto 28px; max-width:980px; }
.landingnew-blog__grid { display:grid; grid-template-columns:repeat(var(--blog-columns),minmax(0,1fr)); gap:22px; max-width:1200px; margin:0 auto; }
.landingnew-blog__grid--1 { --blog-columns:1; }.landingnew-blog__grid--2 { --blog-columns:2; }.landingnew-blog__grid--3 { --blog-columns:3; }
.landingnew-blog__item { position:relative; min-width:0; min-height:20rem; overflow:hidden; border:1px solid #dedede; border-radius:0; background:#fff; transition:background-color .2s ease,color .2s ease; }
.landingnew-blog__item:hover,.landingnew-blog__item:focus-within { color:#fff; background:var(--landingnew-theme,#1ab394); }
.landingnew-blog__link { color:inherit; text-decoration:none; display:block; height:100%; }.landingnew-blog__link:hover,.landingnew-blog__link:focus { color:inherit; text-decoration:none; }
.landingnew-blog__figure { height:14rem; margin:0; overflow:hidden; background:#dfdfdf; }
.landingnew-blog__image { width:100%; height:100%; object-fit:cover; display:block; }
.landingnew-blog__content { padding:0 1rem 1rem; }.landingnew-blog__title { margin:1rem 0 .55rem; font-size:1.2rem; font-weight:600; line-height:1.25; }
.landingnew-blog__content p { color:#57606a; line-height:1.5; margin:.7rem 0; }.landingnew-blog__item:hover .landingnew-blog__content p,.landingnew-blog__item:hover .landingnew-blog__meta { color:#fff; }
.landingnew-blog__meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px 14px; font-size:.83rem; color:#68727d; }.landingnew-blog__metrics { margin-left:auto; white-space:nowrap; }
.landingnew-blog__metrics .fa-eye { margin-left:10px; }.landingnew-blog__tags { min-height:27px; padding:0 1rem 1rem; display:flex; flex-wrap:wrap; gap:6px; }.landingnew-blog__tag { display:inline-block; font-size:.78rem; padding:3px 8px; border:1px solid #c5cdd2; border-radius:0; background:#f0f3f5; color:#3f4b55; }.landingnew-blog__item:hover .landingnew-blog__tag { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.18); color:#fff; }
.landingnew-blog__share { position:absolute; top:0; right:0; z-index:2; }.landingnew-blog__share summary { display:flex; width:42px; height:42px; align-items:center; justify-content:center; list-style:none; cursor:pointer; color:#fff; background:var(--landingnew-theme,#1ab394); }.landingnew-blog__share summary::-webkit-details-marker { display:none; }.landingnew-blog__share-links { display:flex; padding:5px; gap:3px; background:#fff; border:1px solid #dedede; }.landingnew-blog__share-links a { display:flex; width:30px; height:30px; align-items:center; justify-content:center; color:var(--landingnew-theme,#1ab394); text-decoration:none; }.landingnew-blog__share-links a:hover { color:#fff; background:var(--landingnew-theme,#1ab394); }
.landingnew-blog__intro { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; }.landingnew-blog__more { margin:28px 0 4px; text-align:center; }.landingnew-blog__more-button { min-width:190px; padding:10px 18px; border:0; border-radius:0; color:#fff; background:var(--landingnew-theme,#1ab394); font:inherit; font-weight:700; cursor:pointer; }.landingnew-blog__more-button:hover { filter:brightness(.92); }.landingnew-blog__more-button.is-loading { opacity:.7; cursor:wait; }.landingnew-blog__more-button.is-loading .fa { animation:landingnew-blog-spin 1s linear infinite; }@keyframes landingnew-blog-spin { to { transform:rotate(360deg); } }
@media(max-width:767px) { .landingnew-blog__grid { grid-template-columns:minmax(0,1fr); } }

/* Compatibilidad con anclas históricas de las secciones: #nsecc123 y #secc123. */
[id^="secc"] { scroll-margin-top:80px; }

/* Keep the editorial HTML and reserve real space for the tags beneath the link. */
.landingnew-blog .landingnew-blog__item { display:flex; flex-direction:column; }
.landingnew-blog .landingnew-blog__link { height:auto; flex:1 0 auto; min-width:0; }
.landingnew-blog .landingnew-blog__tags { flex:0 0 auto; box-sizing:border-box; margin-top:auto; }
.landingnew-blog .landingnew-blog__intro { display:block; overflow:visible; -webkit-line-clamp:unset; font-size:1rem; line-height:1.6; overflow-wrap:anywhere; }
.landingnew-blog .landingnew-blog__intro p { margin:.65em 0; font-size:inherit; line-height:inherit; }
.landingnew-blog .landingnew-blog__intro :is(h1,h2,h3,h4,h5,h6) { margin:.8em 0 .45em; font-size:1.08rem; line-height:1.4; font-weight:700; }
.landingnew-blog .landingnew-blog__intro :is(strong,b) { font-weight:700; }
.landingnew-blog .landingnew-blog__title { padding-right:30px; font-size:1.3rem; font-weight:700; }
.landingnew-blog .landingnew-blog__item:is(:hover,:focus-within) .landingnew-blog__intro,
.landingnew-blog .landingnew-blog__item:is(:hover,:focus-within) .landingnew-blog__intro * { color:#fff; }
