/* Catálogo: the native tree and controls, with a spacious two-photo layout. */
@media (min-width: 62rem) {
  body.catalogo-theme .wapu-megamenu.wapu-megamenu--editorial-v2.catalogo-megamenu {
    --catalogo-mega-paper: #fff;
    --catalogo-mega-ink: var(--wtds-ink, #171717);
    width: 100vw;
    max-width: 100vw;
    max-height: calc(100dvh - 10rem);
    border: 0;
    border-radius: 0;
    background: var(--catalogo-mega-paper);
    box-shadow: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__body {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(0, 1.85fr);
    align-items: start;
    gap: clamp(24px, 3.5vw, 56px);
    width: 100%;
    min-height: 0;
    padding: clamp(28px, 4vw, 56px);
    background: var(--catalogo-mega-paper);
  }
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu.catalogo-megamenu--text-only .wapu-megamenu-v2__body { grid-template-columns: minmax(0, 1fr); }
  /* Keep the parent's visual node for its listeners and paging initialization. */
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__visual,
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__brands,
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__footer,
  body.catalogo-theme .catalogo-megamenu .catalogo-mega-root-heading { display: none !important; }
  body.catalogo-theme .catalogo-mega-navigation { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  body.catalogo-theme .catalogo-mega-navigation__all,
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__group-title,
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__group--custom > strong,
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__link {
    display: flex;
    align-items: center;
    min-height: 40px;
    margin: 0;
    padding: 4px 0;
    border: 0;
    color: var(--catalogo-mega-ink);
    font-family: var(--wtds-font-display, Arial, sans-serif);
    font-size: clamp(18px, 1.65vw, 24px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.035em;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    overflow-wrap: anywhere;
  }
  body.catalogo-theme .catalogo-mega-navigation__all { margin-bottom: 2px; }
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__group-title small { display: none; }
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__groups { display: block; min-width: 0; max-height: none; padding: 0; overflow: visible; }
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__column { display: flex; flex-direction: column; gap: 12px; max-height: none; padding: 0; overflow: visible; }
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__group ul { display: grid; gap: 4px; }
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__group li > ul { margin: 2px 0 6px; padding-inline-start: 14px; border: 0; }
  body.catalogo-theme .catalogo-megamenu .wapu-megamenu-v2__group li > ul .wapu-megamenu-v2__link { min-height: 32px; font-family: var(--wtds-font-text, Arial, sans-serif); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
  body.catalogo-theme .catalogo-megamenu :is(.catalogo-mega-navigation__all, .wapu-megamenu-v2__group-title, .wapu-megamenu-v2__link):hover { color: var(--wapu-mega-accent, var(--wtds-action, #171717)); }
  body.catalogo-theme .catalogo-megamenu a:focus-visible { outline: 2px solid var(--wapu-mega-accent, var(--wtds-action, #171717)); outline-offset: 3px; }
  body.catalogo-theme .catalogo-mega-navigation .wapu-megamenu-v2__footer-pages,
  body.catalogo-theme .catalogo-mega-navigation .wapu-megamenu-v2__pagination { justify-content: flex-start; }
  body.catalogo-theme .catalogo-mega-navigation .wapu-megamenu-v2__footer-pages { margin-top: 8px; }
  body.catalogo-theme .catalogo-mega-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; min-width: 0; }
  body.catalogo-theme .catalogo-mega-features[data-count="1"] { grid-template-columns: minmax(0, 1fr); width: calc((100% - 20px) / 2); }
  body.catalogo-theme .catalogo-mega-feature { display: flex; flex-direction: column; gap: 16px; min-width: 0; color: var(--catalogo-mega-ink); text-decoration: none; }
  body.catalogo-theme .catalogo-mega-feature > img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 18px; }
  body.catalogo-theme .catalogo-mega-feature__caption { display: block; font: 500 clamp(14px, 1.35vw, 20px)/1.2 var(--wtds-font-text, Arial, sans-serif); letter-spacing: -.035em; text-transform: uppercase; overflow-wrap: anywhere; }
}
@media (min-width: 62rem) and (max-width: 74.9375rem) {
  body.catalogo-theme .wapu-megamenu--editorial-v2.catalogo-megamenu .wapu-megamenu-v2__body { grid-template-columns: minmax(11rem, .8fr) minmax(0, 1.6fr); gap: 24px; padding: 28px; }
  body.catalogo-theme .catalogo-mega-features { gap: 16px; }
  body.catalogo-theme .catalogo-mega-features[data-count="1"] { width: calc((100% - 16px) / 2); }
}

/* Roll the label inside a fixed link hit area. The second face is decorative. */
@media (min-width: 62rem) and (prefers-reduced-motion: no-preference) {
  body.catalogo-theme .catalogo-mega-roll {
    display: block;
    position: relative;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  body.catalogo-theme :is(.catalogo-mega-roll__front, .catalogo-mega-roll__back) {
    display: block;
    transition: transform 600ms cubic-bezier(.165, .84, .44, 1),
                opacity 600ms cubic-bezier(.165, .84, .44, 1);
  }
  body.catalogo-theme .catalogo-mega-roll__front {
    transform: translateY(var(--catalogo-roll-shift, 0%));
    opacity: var(--catalogo-roll-front-opacity, 1);
  }
  body.catalogo-theme .catalogo-mega-roll__back {
    position: absolute;
    inset: 0;
    pointer-events: none;
    transform: translateY(calc(100% + var(--catalogo-roll-shift, 0%)));
    opacity: var(--catalogo-roll-back-opacity, 0);
  }
  body.catalogo-theme .catalogo-mega-roll__back::before { content: attr(data-label); }
  body.catalogo-theme a:focus-visible .catalogo-mega-roll {
    --catalogo-roll-shift: -100%;
    --catalogo-roll-front-opacity: 0;
    --catalogo-roll-back-opacity: 1;
  }
}

@media (min-width: 62rem) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.catalogo-theme a:hover .catalogo-mega-roll {
    --catalogo-roll-shift: -100%;
    --catalogo-roll-front-opacity: 0;
    --catalogo-roll-back-opacity: 1;
  }
}
