/* Catálogo Ensutex · sistema visual alineado con el Home · 2026-07-16 */
:root {
  --catalog-ink: #05070a;
  --catalog-paper: #f7f8fa;
  --catalog-white: #fff;
  --catalog-muted: #5d6470;
  --catalog-line: rgba(8, 12, 18, .12);
  --catalog-blue: #1cb9d2;
  --catalog-blue-dark: #087f94;
}

body[data-ens-page="catalog"] {
  background: var(--catalog-white);
  color: var(--catalog-ink);
  font-family: 'Readex Pro', system-ui, -apple-system, sans-serif;
}

body[data-ens-page="catalog"] main section:not(.catalog-page-hero) {
  background-image: none !important;
}

body[data-ens-page="catalog"] #catalogo,
body[data-ens-page="catalog"] #promociones,
body[data-ens-page="catalog"] #equipaciones,
body[data-ens-page="catalog"] #telas,
body[data-ens-page="catalog"] #cotizador-express,
body[data-ens-page="catalog"] #contacto,
body[data-ens-page="catalog"] #cotizador-express + section {
  content-visibility: visible !important;
  contain: none !important;
}

/* Navegación: el mismo sistema flotante del inicio. */
.ens-home-nav .ensutex-nav-cta {
  border: 1px solid rgba(28, 185, 210, .66) !important;
  background: rgba(7, 10, 14, .92) !important;
  color: #fff !important;
}

.ens-home-nav .ensutex-nav-cta strong {
  margin-left: .28em;
  color: var(--catalog-blue);
}

.ens-home-nav.ens-scroll-nav {
  transition: transform .28s ease, opacity .28s ease !important;
}

.ens-home-nav.ens-nav-hidden {
  transform: translateY(-110%) !important;
  opacity: 0;
  pointer-events: none;
}

/* Hero: producto a la izquierda, decisión a la derecha. */
.catalog-page-hero {
  min-height: min(900px, 100svh) !important;
  padding: 5.7rem 0 0 !important;
  display: grid;
  align-items: stretch;
  background: #000 !important;
  color: #fff !important;
}

.catalog-page-hero .ens-hero-video {
  inset: 5.7rem 0 auto !important;
  width: 100% !important;
  height: calc(100% - 5.7rem) !important;
  object-fit: cover !important;
  object-position: left top !important;
  transform: none !important;
}

.catalog-page-hero .ens-hero-scrim {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .02) 0%, rgba(0, 0, 0, .08) 35%, rgba(0, 0, 0, .7) 61%, #000 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .42), transparent 38%) !important;
}

.catalog-page-hero__layout {
  width: 100%;
  min-height: calc(min(900px, 100svh) - 5.7rem);
  display: grid !important;
  /* Columnas equilibradas: el copy respira hacia el centro en vez de
     quedar pegado al borde derecho (feedback Carlos 17-jul). */
  grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr) !important;
  align-items: center !important;
  gap: clamp(1.5rem, 3.5vw, 3.5rem) !important;
  padding-top: clamp(3rem, 8vh, 6rem) !important;
  padding-bottom: clamp(3rem, 8vh, 6rem) !important;
}

.catalog-page-hero__copy {
  grid-column: 2;
  max-width: 39rem !important;
  margin: 0 !important;
  color: #fff !important;
}

.catalog-page-hero__copy h1 {
  max-width: 12ch;
  margin-bottom: 1.4rem !important;
  color: #fff !important;
  font-size: clamp(3rem, 5.2vw, 5.8rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.055em !important;
  line-height: .96 !important;
  text-transform: none !important;
}

.catalog-page-hero__copy p {
  max-width: 35rem;
  color: rgba(255, 255, 255, .78) !important;
  font-size: clamp(1rem, 1.3vw, 1.2rem) !important;
  line-height: 1.6 !important;
}

.catalog-page-hero__copy p strong { color: var(--catalog-blue); }

.catalog-hero-badge {
  border: 1px solid rgba(255, 255, 255, .16) !important;
  background: rgba(8, 11, 16, .7) !important;
  color: rgba(255, 255, 255, .86) !important;
  backdrop-filter: blur(14px);
}

.catalog-hero-primary,
.catalog-hero-secondary {
  min-height: 3.35rem;
  border: 1px solid rgba(255, 255, 255, .18);
}

.catalog-hero-primary {
  border-color: var(--catalog-blue) !important;
  background: var(--catalog-blue) !important;
  color: #031014 !important;
}

.catalog-hero-secondary {
  background: rgba(4, 6, 9, .72) !important;
  color: #fff !important;
  backdrop-filter: blur(12px);
}

.catalog-hero-primary:hover { background: #41cae0 !important; }
.catalog-hero-secondary:hover { border-color: var(--catalog-blue) !important; }
.catalog-hero-decision,
.ens-catalog-showreel { display: none !important; }

/* Tres caminos: una escena oscura, sin rayas, sin tarjetas decorativas. */
#caminos {
  padding: clamp(4rem, 8vw, 7rem) 0 !important;
  background: var(--catalog-ink) !important;
  color: #fff;
}

#caminos > div { max-width: 78rem !important; }
#caminos .text-center { margin-bottom: 2.7rem !important; }
#caminos .text-center > span { color: var(--catalog-blue) !important; }
#caminos h2 {
  max-width: 14ch;
  margin-inline: auto;
  color: #fff !important;
  font-size: clamp(2.35rem, 5vw, 4.8rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.05em !important;
  line-height: 1 !important;
  text-transform: none !important;
}
#caminos .text-center p { color: rgba(255, 255, 255, .62) !important; font-size: 1rem; }
#caminos .grid { gap: .75rem !important; }
#caminos .grid > a {
  position: relative;
  min-height: 18rem;
  padding: 2rem !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 1.75rem !important;
  background: rgba(255, 255, 255, .045) !important;
  color: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
}
#caminos .grid > a::before {
  content: attr(data-catalog-number);
  display: block;
  width: fit-content;
  margin-bottom: auto;
  color: var(--catalog-blue);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
}
#caminos .grid > a:nth-child(1)::before { content: "01"; }
#caminos .grid > a:nth-child(2)::before { content: "02"; }
#caminos .grid > a:nth-child(3)::before { content: "03"; }
#caminos .grid > a > .material-symbols-outlined { display: none !important; }
#caminos .grid > a > span.absolute { background: var(--catalog-blue) !important; color: #031014 !important; }
#caminos .grid h3 {
  margin-top: 4.5rem;
  color: #fff !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}
#caminos .grid p { color: #c3c7cd !important; font-size: .94rem !important; }
#caminos .grid a > span:last-child { color: #fff !important; font-size: .72rem; }
#caminos .grid > a:hover { border-color: rgba(28, 185, 210, .7) !important; background: rgba(28, 185, 210, .08) !important; }

/* Explorador de productos. */
#catalogo {
  padding: clamp(4.5rem, 8vw, 7rem) 0 !important;
  background: var(--catalog-paper) !important;
  border: 0 !important;
  overflow: clip !important;
}

#catalogo > div { max-width: 88rem !important; }
#catalogo > div > .mb-14 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  margin-bottom: 2.2rem !important;
  padding-bottom: 1.6rem !important;
  border-bottom-color: var(--catalog-line) !important;
}
#catalogo h2 {
  color: var(--catalog-ink) !important;
  font-size: clamp(2.2rem, 4.5vw, 4.6rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.05em !important;
  line-height: 1 !important;
  text-transform: none !important;
}
#catalogo .catalog-intro,
#catalogo .catalog-toolbar .catalog-paths,
#catalogo > div > .mt-12.mb-20 { display: none !important; }

.catalog-toolbar {
  display: grid !important;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr) !important;
  gap: 1rem !important;
  max-width: none !important;
  margin-bottom: 1.5rem !important;
  padding: .75rem !important;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 1.25rem !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(7, 13, 22, .07) !important;
}
.catalog-toolbar .catalog-search { grid-column: 1; }
.catalog-toolbar__filters {
  grid-column: 2 !important;
  padding: 0 !important;
  border: 0 !important;
}
#catalogo .catalog-toolbar__filters #cat-tabs {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: .45rem !important;
  min-width: 0 !important;
  padding: 0 !important;
}
#catalogo .catalog-toolbar__filters #cat-tabs .cat-tab { flex: 0 0 auto !important; width: auto !important; }
#catalogo .catalog-toolbar__filters > div[aria-label="Accesos complementarios del catálogo"] { display: none !important; }
.catalog-search__input {
  min-height: 3.15rem !important;
  border-color: transparent !important;
  border-radius: .9rem !important;
  background: #f1f3f5 !important;
}
.cat-tab {
  min-height: 2.85rem !important;
  padding: .72rem 1rem !important;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #3d4651 !important;
  font-size: .7rem !important;
}
.cat-tab.active,
.cat-tab:hover {
  border-color: var(--catalog-ink) !important;
  background: var(--catalog-ink) !important;
  color: #fff !important;
}
.catalog-toolbar__filters > div[aria-label="Accesos complementarios del catálogo"] { display: none !important; }

.catalog-carousel-shell { max-width: none !important; }
.catalog-carousel__toolbar {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.catalog-carousel__arrow {
  border-color: var(--catalog-line) !important;
  background: #fff !important;
  color: var(--catalog-ink) !important;
}
.catalog-carousel__arrow:hover { border-color: var(--catalog-blue) !important; background: var(--catalog-blue) !important; }
.catalog-carousel__arrow .material-symbols-outlined { display: none !important; }
.catalog-carousel__arrow::before { font-size: 1.1rem; font-weight: 800; line-height: 1; }
.catalog-carousel__arrow[data-catalog-prev]::before { content: "←"; }
.catalog-carousel__arrow[data-catalog-next]::before { content: "→"; }
#catalogo button[onclick^="scrollCatalog"] { display: none !important; }
.catalog-carousel__progress-bar { background: var(--catalog-blue) !important; }

#cat-grid[data-catalog-carousel] {
  min-height: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 1rem !important;
  padding: .25rem .1rem 1.25rem !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scroll-padding-left: .1rem !important;
}
#cat-grid[data-catalog-carousel] > [data-product-id] {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 calc(33.333% - .67rem) !important;
  width: calc(33.333% - .67rem) !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 44rem !important;
  display: flex !important;
  opacity: 1 !important;
  transform: none !important;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 1.5rem !important;
  background: #fff !important;
  box-shadow: 0 16px 50px rgba(9, 14, 24, .07) !important;
  overflow: hidden !important;
}
#cat-grid[data-catalog-carousel] > [data-product-id].is-hidden { display: none !important; }
#cat-grid[data-catalog-carousel] > [data-product-id]:hover {
  border-color: rgba(28, 185, 210, .7) !important;
  box-shadow: 0 22px 64px rgba(9, 14, 24, .12) !important;
}
#cat-grid .catalog-product-stage {
  min-height: 23rem !important;
  padding: 1.5rem !important;
  border-bottom: 1px solid var(--catalog-line) !important;
  background: #eef1f4 !important;
  background-image: radial-gradient(circle at 50% 60%, rgba(28, 185, 210, .15), transparent 55%) !important;
}
#cat-grid .catalog-product-stage::after { opacity: .5 !important; }
#cat-grid .catalog-product-visual {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 22px rgba(4, 8, 14, .22)) !important;
}
#cat-grid[data-catalog-carousel] > [data-product-id] > .p-5 {
  padding: 1.35rem !important;
  background: #fff !important;
}
#cat-grid h3 {
  color: var(--catalog-ink) !important;
  font-size: 1.15rem !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}
#cat-grid h3 + p { min-height: 2.8rem; color: var(--catalog-muted) !important; font-size: .78rem !important; }
.catalog-size-prices {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
  width: 100%;
}
.catalog-size-prices > span {
  min-width: 0;
  padding: .55rem .35rem;
  border: 1px solid var(--catalog-line);
  border-radius: .7rem;
  color: #58606b;
  background: #f7f8fa;
  font-size: .68rem;
  line-height: 1.25;
  text-align: center;
}
.catalog-size-prices > span b { display: block; color: var(--catalog-ink); font-size: .64rem; }
.catalog-size-prices > .is-standard { border-color: rgba(28, 185, 210, .55); background: rgba(28, 185, 210, .1); color: var(--catalog-blue-dark); }
.catalog-size-prices > .is-standard { color: #066579 !important; }
.catalog-size-prices > .is-special { border-color: rgba(11, 18, 32, .25); background:#0b1220; color:#fff; }
.catalog-size-prices > .is-special b { color:#7de5f2; }
.catalog-size-note { grid-column:1/-1; color:#65707c; font-size:.68rem; line-height:1.4; text-align:left; }
.catalog-fabric-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
}
.catalog-fabric-prices span {
  display: flex;
  justify-content: space-between;
  gap: .45rem;
  padding: .55rem .65rem;
  border-radius: .65rem;
  background: #0b0e13;
  color: #fff;
  font-size: .68rem;
}
.catalog-fabric-prices b { color: var(--catalog-blue); }
#cat-grid [data-product-btn],
#packs [data-pack-btn] {
  min-height: 3.1rem;
  border-radius: 999px !important;
  background: var(--catalog-ink) !important;
  color: #fff !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: .8rem !important;
}
#cat-grid [data-product-btn]:hover,
#packs [data-pack-btn]:hover { background: var(--catalog-blue) !important; color: #031014 !important; }
.pack-badge { border-color: rgba(28, 185, 210, .35) !important; background: rgba(28, 185, 210, .1) !important; color: #08778a !important; }
.pack-hint,
.pack-hint--multi { border-color: rgba(28, 185, 210, .24) !important; background: rgba(28, 185, 210, .06) !important; color: var(--catalog-ink) !important; }
.pack-hint-select { border-color: var(--catalog-line) !important; background-color: #fff !important; color: var(--catalog-ink) !important; }
.pack-hint-cta { background: var(--catalog-ink) !important; color: #fff !important; }

/* Packs: cuatro combinaciones reales, grandes y consistentes. */
#promociones {
  padding: clamp(4.5rem, 8vw, 7rem) 0 !important;
  background: #fff !important;
  border: 0 !important;
}
#promociones > div { max-width: 88rem !important; }
#promociones > div > .text-center > span { border-color: rgba(28, 185, 210, .3) !important; background: rgba(28, 185, 210, .1) !important; color: var(--catalog-blue-dark) !important; }
#promociones h2 {
  color: var(--catalog-ink) !important;
  font-size: clamp(2.3rem, 4.8vw, 4.8rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.05em !important;
  line-height: 1 !important;
  text-transform: none !important;
}
#packs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
#packs > [data-pack-id] {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 29rem;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 1.5rem !important;
  box-shadow: 0 18px 55px rgba(8, 13, 23, .08) !important;
}
#packs > [data-pack-id] > div:first-child {
  aspect-ratio: auto !important;
  min-height: 100%;
  padding: 1rem !important;
  border: 0 !important;
  background: #0a0d12 !important;
}
#packs > [data-pack-id] > div:first-child > span:first-of-type {
  top: 1rem !important;
  right: auto !important;
  bottom: auto !important;
  left: 1rem !important;
  display: inline-flex !important;
  align-items: center;
  min-height: 1.7rem;
  padding: .35rem .7rem !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
}
#packs > [data-pack-id] > div:first-child > span:nth-of-type(2) {
  top: 1rem !important;
  right: 1rem !important;
  bottom: auto !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center;
  min-height: 1.7rem;
  padding: .35rem .7rem !important;
  border-radius: 999px !important;
  background: var(--catalog-blue) !important;
  color: #031014 !important;
}
#packs > [data-pack-id] > .p-6 { padding: 1.45rem !important; }
#packs h3 { color: var(--catalog-ink) !important; text-transform: none !important; }
#packs .text-\[\#E20613\] { color: var(--catalog-blue-dark) !important; }
#packs .bg-\[\#E20613\] { background: var(--catalog-blue) !important; color: #031014 !important; }
#packs .line-through { color: #626975 !important; }
#packs .text-\[\#E20613\],
#packs .text-\[\#1cb9d2\] { color: #066579 !important; }
.pack-product-composition {
  position: absolute;
  inset: 3.4rem .5rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pack-product-composition img {
  position: relative;
  width: 61%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .48));
}
.pack-product-composition img:first-child { z-index: 2; margin-right: -25%; transform: translateX(-3%); }
.pack-product-composition img:last-child { z-index: 1; transform: translateX(3%) scale(.91); opacity: .9; }

/* Equipaciones completas recuperadas. */
.catalog-equipment {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background: var(--catalog-ink) !important;
  color: #fff;
}
.catalog-equipment__inner { width: min(88rem, calc(100% - 2rem)); margin: 0 auto; }
.catalog-equipment__heading { max-width: 52rem; margin-bottom: 2.5rem; }
.catalog-equipment__heading > span { color: var(--catalog-blue); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.catalog-equipment__heading h2 { margin: .8rem 0 1rem; max-width: 13ch; color: #fff; font-size: clamp(2.4rem, 5vw, 5rem); font-weight: 650; letter-spacing: -.055em; line-height: .98; }
.catalog-equipment__heading p { max-width: 45rem; color: rgba(255, 255, 255, .62); line-height: 1.65; }
.catalog-equipment__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.equipment-card { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); min-height: 34rem; overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); border-radius: 1.75rem; background: rgba(255, 255, 255, .04); }
.equipment-card__media { min-width: 0; overflow: hidden; background: #11151b; }
.equipment-card__media img { width: 100%; height: 100%; object-fit: cover; }
.equipment-card__body { display: flex; flex-direction: column; min-width: 0; padding: 1.7rem; }
.equipment-card__number { color: var(--catalog-blue); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.equipment-card h3 { margin: auto 0 .75rem; color: #fff; font-size: clamp(1.7rem, 2.5vw, 2.5rem); font-weight: 650; letter-spacing: -.035em; line-height: 1; }
.equipment-card p { color: rgba(255, 255, 255, .6); font-size: .88rem; line-height: 1.55; }
.equipment-card__price { display: grid; grid-template-columns: auto 1fr; align-items: end; gap: .15rem .7rem; margin: 1.2rem 0; }
.equipment-card__price s { color: #aeb4bc; font-size: .8rem; }
.equipment-card__price strong { grid-row: 1 / span 2; grid-column: 2; color: #fff; font-size: 2rem; line-height: 1; text-align: right; }
.equipment-card__price span { color: var(--catalog-blue); font-size: .72rem; font-weight: 700; }
.equipment-card button { min-height: 3.2rem; padding: .8rem 1rem; border: 1px solid var(--catalog-blue); border-radius: 999px; background: var(--catalog-blue); color: #031014; font-weight: 700; }

/* Telas: información suficiente, sin paneles anidados ni estética técnica vieja. */
#telas {
  padding: clamp(4.5rem, 8vw, 7rem) 0 !important;
  background: var(--catalog-paper) !important;
  border: 0 !important;
}
#telas > div { max-width: 88rem !important; }
#telas h2 {
  color: var(--catalog-ink) !important;
  font-size: clamp(2.3rem, 4.5vw, 4.6rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.05em !important;
  line-height: 1 !important;
  text-transform: none !important;
}
#telas .fabric-tab {
  min-height: 3rem;
  padding: .7rem 1rem !important;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 999px !important;
  color: #4f5661 !important;
  background: #fff !important;
  font-size: .78rem !important;
  text-transform: none !important;
}
#telas .fabric-tab.active { border-color: var(--catalog-ink) !important; background: var(--catalog-ink) !important; color: #fff !important; }
#telas .flex.justify-center.border-b { gap: .55rem !important; border: 0 !important; }
#telas .fabric-content > div > div,
#telas .fabric-content > div.max-w-4xl,
#telas .fabric-content > div.max-w-3xl {
  border: 1px solid var(--catalog-line) !important;
  border-radius: 1.5rem !important;
  background: #fff !important;
  box-shadow: 0 16px 50px rgba(8, 13, 23, .07) !important;
}
#telas .fabric-content .grid.grid-cols-2.gap-4.text-xs { display: none !important; }
#telas .fabric-photo { border: 0 !important; border-radius: 1rem !important; background: #eef1f4 !important; box-shadow: none !important; }
#telas .fabric-photo > div { display: none !important; }
#telas .fabric-cta { border-color: var(--catalog-ink) !important; border-radius: 999px !important; background: var(--catalog-ink) !important; color: #fff !important; box-shadow: none !important; text-transform: none !important; }
#telas .fabric-cta:hover { border-color: var(--catalog-blue) !important; background: var(--catalog-blue) !important; color: #031014 !important; }
.fabric-variant-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin-top: 1.35rem; }
.fabric-variant-grid > div { position: relative; display: flex; flex-direction: column; gap: .25rem; min-width: 0; padding: 1rem; border: 1px solid var(--catalog-line); border-radius: 1rem; background: #f7f8fa; }
.fabric-variant-grid strong { color: var(--catalog-ink); }
.fabric-variant-grid span { color: #59616c; font-size: .76rem; }
.fabric-variant-grid em { margin-top: .35rem; color: var(--catalog-blue-dark); font-size: .65rem; font-style: normal; font-weight: 700; }
.fabric-variant-grid .is-recommended { border-color: rgba(28, 185, 210, .65); background: rgba(28, 185, 210, .08); }
#telas .text-\[\#E20613\] { color: var(--catalog-blue-dark) !important; }
#telas .bg-\[\#E20613\] { background: var(--catalog-blue) !important; color: #031014 !important; }

/* Cotizador y cierre: superficies sólidas, controles legibles. */
#cotizador-express { padding: clamp(4.5rem, 8vw, 7rem) 1rem !important; background: #fff !important; }
#cotizador-box { max-width: 68rem !important; border: 1px solid rgba(255, 255, 255, .12); border-radius: 1.75rem !important; background: var(--catalog-ink) !important; background-image: none !important; }
#cotizador-box::before,
#cotizador-box::after { display: none !important; }
#cotizador-box h2 { font-weight: 650 !important; letter-spacing: -.045em !important; text-transform: none !important; }
.wizard-primary { border-color: var(--catalog-blue) !important; background: var(--catalog-blue) !important; color: #031014 !important; }

#cotizador-express + section {
  padding: 3rem 1rem !important;
  background: #0b0e13 !important;
}
#cotizador-express + section > div { max-width: 72rem !important; }
#cotizador-express + section .grid { gap: .65rem !important; }
#cotizador-express + section .grid > div {
  min-height: 0 !important;
  padding: 1rem !important;
  display: grid !important;
  grid-template-columns: 2.8rem 1fr;
  grid-template-rows: auto auto auto;
  gap: .15rem .7rem;
  text-align: left !important;
  border-radius: 1rem !important;
  background: rgba(255, 255, 255, .04) !important;
  box-shadow: none !important;
}
#cotizador-express + section .grid > div > div:first-child { grid-row: 1 / span 3; width: 2.8rem !important; height: 2.8rem !important; margin: 0 !important; border-radius: .8rem !important; }
#cotizador-express + section .grid > div > span,
#cotizador-express + section .grid > div > h3,
#cotizador-express + section .grid > div > p { grid-column: 2; }
#cotizador-express + section .material-symbols-outlined { font-size: 1.25rem !important; }

#contacto { padding: clamp(4.5rem, 8vw, 7rem) 0 !important; background: var(--catalog-paper) !important; }
#contacto > div { max-width: 76rem !important; gap: clamp(2rem, 6vw, 5rem) !important; align-items: start !important; }
#contacto h2 { color: var(--catalog-ink) !important; font-size: clamp(2.4rem, 4.5vw, 4.5rem) !important; font-weight: 650 !important; letter-spacing: -.05em !important; line-height: 1 !important; text-transform: none !important; }
#contacto > div > div:first-child a { padding: .55rem 0 !important; margin: 0 !important; border-bottom: 1px solid var(--catalog-line); border-radius: 0 !important; }
#contacto > div > div:first-child a > div:first-child { width: 2.25rem !important; height: 2.25rem !important; border: 0 !important; background: transparent !important; color: var(--catalog-ink) !important; box-shadow: none !important; }
#contacto .material-symbols-outlined { width: auto !important; height: auto !important; font-size: 1.05rem !important; line-height: 1 !important; }
#form-cotizador { padding: clamp(1.25rem, 4vw, 2.2rem) !important; border: 1px solid var(--catalog-line) !important; border-radius: 1.5rem !important; box-shadow: 0 22px 70px rgba(8, 13, 23, .1) !important; }
#form-cotizador button[type="submit"] { min-height: 3.4rem; border-radius: 999px !important; background: var(--catalog-ink) !important; background-image: none !important; text-transform: none !important; letter-spacing: 0 !important; }
#form-cotizador button[type="submit"]:hover { background: var(--catalog-blue) !important; color: #031014 !important; }

/* El catálogo no hereda texturas ni estados ocultos de antiguas escenas de cine. */
#caminos .grid > a:last-child { background: rgba(255, 255, 255, .045) !important; background-image: none !important; }
body[data-ens-page="catalog"] :is(#caminos, #catalogo, #promociones, #equipaciones, #telas, #cotizador-express, #contacto) :is(.ens-motion-target, [data-reveal]) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}
body[data-ens-page="catalog"] :is(#caminos, #catalogo, #promociones, #equipaciones, #telas, #cotizador-express, #contacto) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}
body[data-ens-page="catalog"] :is(#caminos, #catalogo, #promociones, #equipaciones, #telas, #cotizador-express, #contacto) .wp-word {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
}
#anim-scroll-progress { background: var(--catalog-blue) !important; }
#catalogo .text-zinc-400 { color: #626975 !important; }
body[data-ens-page="catalog"] .border-red-200 { color: #066579 !important; }
#promociones .border-red-200 { color: #066579 !important; }
#packs .material-symbols-outlined { color: var(--catalog-blue) !important; }
.catalog-price-source { display: none !important; }
body[data-ens-page="catalog"] .ensutex-consent__actions button[data-consent="all"],
body[data-ens-page="catalog"] .ens-chat-option--primary {
  border-color: var(--catalog-blue) !important;
  background: var(--catalog-blue) !important;
  color: #031014 !important;
}

/* Los iconos informativos son apoyos, nunca el contenido dominante. */
#form-cotizador p { display: flex; align-items: flex-start; gap: .45rem; }
#form-cotizador .material-symbols-outlined,
#form-cotizador .material-symbols-outlined svg {
  flex: 0 0 1.05rem !important;
  width: 1.05rem !important;
  min-width: 1.05rem !important;
  height: 1.05rem !important;
  min-height: 1.05rem !important;
  max-width: 1.05rem !important;
  max-height: 1.05rem !important;
  margin-top: .15rem !important;
}

@media (max-width: 1180px) {
  #cat-grid[data-catalog-carousel] > [data-product-id] { flex-basis: calc(50% - .5rem) !important; width: calc(50% - .5rem) !important; }
  #packs > [data-pack-id],
  .equipment-card { grid-template-columns: 1fr; }
  #packs > [data-pack-id] > div:first-child { min-height: 22rem; }
  .equipment-card__media { min-height: 25rem; }
  .equipment-card h3 { margin-top: 2rem; }
}

@media (max-width: 1023px) {
  .catalog-page-hero { min-height: 48rem !important; }
  .catalog-page-hero .ens-hero-scrim { background: linear-gradient(0deg, #000 5%, rgba(0, 0, 0, .88) 43%, rgba(0, 0, 0, .08) 82%) !important; }
  .catalog-page-hero__layout { min-height: calc(48rem - 4rem); grid-template-columns: 1fr !important; align-items: end !important; padding-bottom: 3rem !important; }
  .catalog-page-hero__copy { grid-column: 1; max-width: 39rem !important; }
  .catalog-page-hero__copy h1 { font-size: clamp(2.8rem, 8vw, 4.6rem) !important; }
  .catalog-toolbar { grid-template-columns: 1fr !important; }
  .catalog-toolbar .catalog-search,
  .catalog-toolbar__filters { grid-column: 1 !important; }
  #packs,
  .catalog-equipment__grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
  .catalog-page-hero { min-height: 45rem !important; padding-top: 4rem !important; }
  .catalog-page-hero .ens-hero-video {
    inset: 4rem 0 auto !important;
    height: calc(100% - 4rem) !important;
    object-position: 32% center !important;
  }
  .catalog-page-hero__layout { min-height: calc(45rem - 4rem); padding: 2rem 1rem 2.4rem !important; }
  .catalog-page-hero__copy h1 { max-width: 11ch; margin-bottom: 1rem !important; font-size: clamp(2.65rem, 12vw, 3.65rem) !important; }
  .catalog-page-hero__copy p { font-size: .95rem !important; }
  .catalog-hero-badge { margin-bottom: 1rem !important; font-size: .62rem !important; }
  .catalog-page-hero__copy .cta-flow { display: grid !important; grid-template-columns: 1fr 1fr; }
  .catalog-hero-primary,
  .catalog-hero-secondary { min-width: 0 !important; padding-inline: .75rem !important; font-size: .76rem !important; }

  #caminos { padding: 3.5rem 0 !important; }
  #caminos .grid { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .8rem; }
  #caminos .grid > a { flex: 0 0 84%; min-height: 17rem; scroll-snap-align: center; }

  #catalogo { padding: 3.8rem 0 !important; }
  #catalogo > div > .mb-14 { grid-template-columns: 1fr !important; gap: .7rem; }
  #catalogo > div > .mb-14 > div:last-child { display: none !important; }
  .catalog-toolbar { padding: .65rem !important; }
  #catalogo .catalog-toolbar__filters #cat-tabs {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
    padding: .15rem 0 .45rem !important;
  }
  #catalogo .catalog-toolbar__filters #cat-tabs .cat-tab { scroll-snap-align: start; }
  .catalog-carousel__toolbar { grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem !important; }
  #cat-grid[data-catalog-carousel] { min-height: 0 !important; padding-inline: .75rem !important; scroll-padding-left: .75rem !important; }
  #cat-grid[data-catalog-carousel] > [data-product-id] {
    flex: 0 0 calc(100% - 2rem) !important;
    width: calc(100% - 2rem) !important;
    min-width: calc(100% - 2rem) !important;
    min-height: 0 !important;
    scroll-snap-align: center !important;
  }
  #cat-grid .catalog-product-stage { min-height: 21rem !important; }
  #cat-grid h3 + p { min-height: 0; }
  .catalog-size-prices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-size-prices > span { font-size: .64rem; }

  #promociones { padding: 3.8rem 0 !important; }
  #packs { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 .1rem .8rem; }
  #packs > [data-pack-id] { flex: 0 0 88%; min-height: 0; scroll-snap-align: center; }
  #packs > [data-pack-id] > div:first-child { min-height: 20rem; }

  .catalog-equipment { padding: 3.8rem 0; }
  .catalog-equipment__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .equipment-card { flex: 0 0 91%; min-height: 0; scroll-snap-align: center; }
  .equipment-card__media { min-height: 23rem; }

  #telas { padding: 3.8rem 0 !important; }
  #telas .flex.justify-center.border-b { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; }
  #telas .fabric-content > div > div,
  #telas .fabric-content > div.max-w-4xl,
  #telas .fabric-content > div.max-w-3xl { padding: 1.1rem !important; }
  .fabric-variant-grid { grid-template-columns: 1fr; }

  #cotizador-box { padding: 2.4rem 1rem !important; }
  #cotizador-express + section { display: none !important; }
  #contacto > div { grid-template-columns: 1fr !important; }
  #form-cotizador { padding: 1.1rem !important; }
}

/* 2026-07-18 · Ajustes de lectura, formulario y texturas en mobile. */
#form-cotizador p {
  display: block !important;
}

#form-cotizador .quote-form-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

#form-cotizador .quote-form-benefit {
  display: grid !important;
  grid-template-columns: 1.4rem minmax(0, 1fr);
  gap: .55rem !important;
  align-items: start !important;
  margin: 0 !important;
  padding: .85rem;
  border: 1px solid rgba(28, 185, 210, .2);
  border-radius: 1rem;
  background: rgba(28, 185, 210, .055);
}

#form-cotizador .quote-form-benefit .material-symbols-outlined {
  color: #087f94 !important;
}

#telas .fabric-photo {
  cursor: zoom-in !important;
}

#telas .fabric-photo .fabric-img,
#telas .fabric-abrigos-grid img {
  object-position: center center !important;
}

@media (max-width: 767px) {
  .catalog-page-hero {
    min-height: 41.5rem !important;
  }

  .catalog-page-hero__layout {
    min-height: calc(41.5rem - 4rem) !important;
    padding-top: clamp(13.2rem, 57vw, 16.25rem) !important;
    padding-bottom: 1.65rem !important;
  }

  .catalog-page-hero .ens-hero-video {
    height: clamp(13rem, 56vw, 16rem) !important;
  }

  .catalog-page-hero__copy h1 {
    font-size: clamp(2.45rem, 10.8vw, 3.15rem) !important;
  }

  .catalog-page-hero__copy p {
    margin-bottom: 0 !important;
    line-height: 1.5 !important;
  }

  #telas .flex.justify-center.border-b {
    gap: .45rem !important;
    margin-inline: -.25rem !important;
    padding: .15rem .25rem .65rem !important;
    scroll-padding-left: .25rem;
  }

  #telas .fabric-tab {
    flex: 0 0 auto !important;
    max-width: 9.25rem !important;
    min-height: 3.35rem !important;
    padding: .65rem .9rem !important;
    font-size: .72rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  #telas .fabric-content > div > div,
  #telas .fabric-content > div.max-w-4xl,
  #telas .fabric-content > div.max-w-3xl {
    padding: 1rem !important;
  }

  #telas .fabric-photo {
    width: min(100%, 19rem) !important;
    margin-inline: auto !important;
    aspect-ratio: 4 / 3 !important;
  }

  #form-cotizador {
    gap: 1rem !important;
    padding: 1rem !important;
    border-radius: 1.15rem !important;
  }

  #form-cotizador h3 {
    margin: 0 !important;
    font-size: 1.35rem !important;
    line-height: 1.12 !important;
    text-transform: none !important;
  }

  #form-cotizador .quote-form-intro {
    color: #4f5965 !important;
    font-size: .86rem !important;
    line-height: 1.55 !important;
  }

  #form-cotizador .quote-form-benefits {
    grid-template-columns: 1fr !important;
  }

  #form-cotizador .quote-form-benefit {
    font-size: .77rem !important;
    line-height: 1.48 !important;
  }

  #form-cotizador input:not([type="checkbox"]) {
    min-height: 3.2rem !important;
    border-radius: .85rem !important;
    background: #f7f9fa !important;
  }

  #form-cotizador > label {
    padding: .85rem !important;
    border-radius: .9rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ens-home-nav.ens-scroll-nav,
  #cat-grid .catalog-product-visual { transition: none !important; }
}

/* 2026-07-16 — un solo carril filtrable. Las familias cambian el contenido de
   la misma línea sin repetir secciones ni fijar una altura que corte fichas. */
#catalogo .catalog-category-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 0 !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
}

#catalogo .catalog-category-lane {
  min-width: 0;
  scroll-margin-top: 7rem;
}

#catalogo .catalog-category-lane__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.35rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #d8dde3;
}

#catalogo .catalog-category-lane__number {
  display: block;
  margin-bottom: .35rem;
  color: #066579;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#catalogo .catalog-category-lane__heading h3 {
  margin: 0;
  color: #090b0f;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  font-weight: 750;
  letter-spacing: -.045em;
  line-height: 1;
  text-transform: none;
}

#catalogo .catalog-category-lane__heading p {
  max-width: 48rem;
  margin: .55rem 0 0;
  color: #626975;
  font-size: .9rem;
  line-height: 1.55;
}

#catalogo .catalog-category-lane__controls {
  display: none;
  flex: 0 0 auto;
  gap: .5rem;
}

#catalogo .catalog-category-lane__heading.has-overflow .catalog-category-lane__controls {
  display: flex;
}

#catalogo .catalog-category-lane__controls button {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfd5dc;
  border-radius: 999px;
  background: #fff;
  color: #0b0d11;
  font-family: system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

#catalogo .catalog-category-lane__controls button:disabled {
  opacity: .3;
  cursor: default;
}

#catalogo .catalog-category-track {
  display: flex !important;
  gap: 1.15rem !important;
  align-items: flex-start;
  margin-inline: calc(clamp(1rem, 3vw, 2rem) * -1);
  padding: 0 clamp(1rem, 3vw, 2rem) 1.2rem;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

#catalogo .catalog-category-track::-webkit-scrollbar { display: none; }

#catalogo .catalog-category-track .cat-card {
  flex: 0 0 clamp(16.75rem, 24vw, 20rem) !important;
  width: clamp(16.75rem, 24vw, 20rem) !important;
  min-width: clamp(16.75rem, 24vw, 20rem) !important;
  height: auto !important;
  scroll-snap-align: start;
  border: 1px solid #dfe3e8 !important;
  border-radius: 1.35rem !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(17, 24, 39, .07) !important;
  overflow: hidden !important;
}

#catalogo .catalog-category-track .cat-card.is-hidden { display: none !important; }

#catalogo .catalog-product-stage {
  min-height: 15.5rem !important;
  aspect-ratio: 4 / 3 !important;
  padding: 1.5rem 1.5rem 4.55rem !important;
  background: #0a0c10 !important;
  border: 0 !important;
}
#catalogo .catalog-product-stage > .pack-badge { display: none !important; }

#catalogo .catalog-product-stage .catalog-product-visual {
  width: 100% !important;
  height: 100% !important;
  max-height: 13.5rem !important;
  object-fit: contain !important;
  transform: none !important;
  filter: drop-shadow(0 18px 20px rgba(0,0,0,.34)) !important;
}

#catalogo .catalog-product-stage > span:not(.catalog-product-title-badge) {
  top: .85rem !important;
  padding: .35rem .7rem !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(8,10,14,.78) !important;
  color: rgba(255,255,255,.8) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}

#catalogo .catalog-product-stage > span:not(.catalog-product-title-badge):first-child { left: .85rem !important; }
#catalogo .catalog-product-stage > span:not(.catalog-product-title-badge):nth-child(2):not(:last-child) { right: .85rem !important; }
#catalogo .cat-card h3 { color: #0b0d11 !important; text-transform: none !important; }
#catalogo .catalog-product-title-badge {
  position: absolute;
  z-index: 2;
  right: .85rem;
  bottom: .85rem !important;
  left: .85rem;
  display: flex;
  min-height: 2.45rem;
  align-items: center;
  justify-content: center;
  padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .8rem;
  background: #18bdd5 !important;
  box-shadow: 0 .7rem 1.5rem rgba(0, 0, 0, .24);
  color: #041116 !important;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: -.015em;
  line-height: 1.1;
  text-align: center;
}
#catalogo .catalog-product-title-badge[data-product-tone="poleras-ml"] { background: #1583b9; color: #fff; }
#catalogo .catalog-product-title-badge[data-product-tone="polerones"] { background: #0d5266; color: #fff; }
#catalogo .catalog-product-title-badge[data-product-tone="buzos"] { background: #1d6f7e; color: #fff; }
#catalogo .catalog-product-title-badge[data-product-tone="shorts"] { background: #0b7387; color: #fff; }
#catalogo .catalog-category-track .cat-card > .p-5 {
  flex-grow: 0 !important;
  justify-content: flex-start !important;
  gap: .8rem;
  padding: 1rem !important;
}
#catalogo .catalog-category-track .cat-card > .p-5 > div:first-child { min-width: 0; }
#catalogo .catalog-category-track .cat-card .catalog-card-description {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2 !important;
}
#catalogo .catalog-category-track .cat-card .catalog-price-source { display: none !important; }
#catalogo .catalog-category-track .cat-card .mt-4 {
  margin-top: 0 !important;
  padding-top: .8rem !important;
}
#catalogo .catalog-category-track .cat-card .pack-hint { margin-top: .55rem !important; }
#catalogo .catalog-category-track .cat-card .pack-hint--multi { gap: .35rem !important; }
#catalogo .catalog-category-track .cat-card .pack-hint--multi .pack-hint-copy { display: none !important; }
#catalogo .cat-card .line-clamp-1,
#catalogo .cat-card .line-clamp-2 { display: block !important; overflow: visible !important; -webkit-line-clamp: unset !important; }
#catalogo .cat-card [data-product-btn] { border-radius: 999px !important; background: #080b0e !important; }
#catalogo .cat-card [data-product-btn]:hover { background: #18bdd5 !important; color: #051014 !important; }

#catalogo .catalog-toolbar__filters #cat-tabs {
  display: flex !important;
  width: min(100%, 68rem) !important;
  justify-content: center !important;
  gap: .45rem !important;
  margin: 0 auto 2.5rem !important;
  padding: .35rem !important;
  overflow-x: auto !important;
  border: 1px solid #dfe3e8 !important;
  border-radius: 999px !important;
  background: #fff !important;
}

#catalogo .catalog-toolbar__filters #cat-tabs .cat-tab {
  flex: 0 0 auto !important;
  min-height: 2.65rem !important;
  padding: .6rem 1rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #525a66 !important;
  background: transparent !important;
  font-size: .75rem !important;
  text-transform: none !important;
}

#catalogo .catalog-toolbar__filters #cat-tabs .cat-tab:hover,
#catalogo .catalog-toolbar__filters #cat-tabs .cat-tab.active {
  background: #080b0e !important;
  color: #fff !important;
}

/* Packs: la información sale de la fotografía. Las prendas quedan limpias y
   los datos aparecen en una fila estable dentro del cuerpo de cada tarjeta. */
#packs > [data-pack-id] { position: relative; border-radius: 1.4rem !important; }
#packs > [data-pack-id] > div:first-child {
  min-height: 18rem !important;
  aspect-ratio: 4 / 3 !important;
  padding: 1.75rem !important;
  background: #090b0f !important;
}
#packs .pack-product-composition {
  width: 100% !important;
  height: 100% !important;
  min-height: 14rem !important;
}
#packs .pack-product-composition img {
  max-width: 58% !important;
  max-height: 15.5rem !important;
  object-fit: contain !important;
}
#packs .pack-product-composition img.pack-applied-visual{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;transform:none!important;opacity:1!important;filter:none!important}
#packs .pack-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 .9rem;
}
#packs .pack-meta span {
  position: static !important;
  display: inline-flex;
  padding: .35rem .65rem !important;
  border: 1px solid #dce1e7 !important;
  border-radius: 999px !important;
  background: #f5f7f9 !important;
  color: #313842 !important;
  font-size: .64rem !important;
  box-shadow: none !important;
}
#packs .pack-meta span:last-child { border-color: #aee9f2 !important; background: #e8fbfe !important; color: #076d7e !important; }
#packs [data-pack-id] .material-symbols-outlined { display: none !important; }
#packs h3 { text-transform: none !important; letter-spacing: -.025em !important; }

@media (min-width: 768px) {
  #packs > [data-pack-id] > div:first-child {
    min-width: 0 !important;
    width: auto !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }
}

/* Telas: composición centrada, dos opciones equilibradas y fotografía entera. */
#telas { background: #f4f6f8 !important; }
#telas .fabric-content > div {
  margin-inline: auto !important;
  align-items: stretch !important;
}
#telas #content-poleras > div {
  display: grid !important;
  width: min(100%, 64rem) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}
#telas #content-poleras > div > div {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  padding: 1.35rem !important;
  border: 1px solid #dde2e8 !important;
  border-radius: 1.35rem !important;
  background: #fff !important;
  box-shadow: 0 20px 55px rgba(17,24,39,.07) !important;
}
#telas .fabric-photo {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 1rem !important;
  background: #0a0c10 !important;
}
#telas .fabric-photo .fabric-img {
  width: 100% !important;
  height: 100% !important;
  padding: 1rem !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
}
#telas .fabric-photo > div { display: none !important; }
#telas .fabric-content:not(#content-poleras) > div { width: min(100%, 56rem) !important; }

@media (max-width: 767px) {
  #catalogo .catalog-category-lane { width: 100% !important; }
  #catalogo .catalog-category-lane__heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end !important;
    gap: .8rem !important;
    padding-inline: 1rem !important;
  }
  #catalogo .catalog-category-lane__heading > div:first-child { min-width: 0; }
  #catalogo .catalog-category-lane__heading p { max-width: 28rem; }
  #catalogo .catalog-category-list { gap: 0 !important; }
  #catalogo .catalog-category-lane__heading { align-items: center; }
  #catalogo .catalog-category-lane__heading p { font-size: .82rem; }
  #catalogo .catalog-category-track {
    gap: .85rem !important;
    margin-inline: -1rem;
    padding: 0 1rem 1rem;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  #catalogo .catalog-category-track::-webkit-scrollbar { display: none; }
  #catalogo .catalog-category-track .cat-card {
    flex: 0 0 min(84vw, 21rem) !important;
    width: min(84vw, 21rem) !important;
    height: auto !important;
    scroll-snap-align: center;
  }
  #catalogo .catalog-product-stage { min-height: 15.25rem !important; }
  #catalogo .catalog-product-title-badge {
    right: .75rem;
    bottom: .75rem;
    left: .75rem;
    min-height: 2.7rem;
    font-size: .8rem;
  }
  #catalogo .catalog-toolbar__filters #cat-tabs { justify-content: flex-start !important; border-radius: 1rem !important; }
  #packs { display: grid !important; grid-template-columns: 1fr !important; overflow: visible !important; }
  #packs > [data-pack-id] { width: 100% !important; }
  #telas #content-poleras > div { grid-template-columns: 1fr !important; }
  #telas .fabric-content > div { width: 100% !important; }
}

/* Contraste final: gana incluso frente al bundle asíncrono heredado. */
@media (max-width: 1023px) {
  body[data-ens-page="catalog"] .floating-widgets {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body[data-ens-page="catalog"] #chatbot-panel { display: flex !important; }
  body[data-ens-page="catalog"] #chatbot-panel.ens-chat-panel.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}
html body[data-ens-page="catalog"] main#main-content section#caminos .grid > a > p.text-gray-600 {
  color: #d0d4da !important;
}
html body[data-ens-page="catalog"] main#main-content section#caminos .grid > a > p.text-zinc-300 {
  color: #d0d4da !important;
}
html body[data-ens-page="catalog"] main#main-content section#promociones span.border-red-200 {
  color: #05586a !important;
}
body[data-ens-page="catalog"] [class*="text-[#E20613]"] { color: #066579 !important; }
body[data-ens-page="catalog"] [class*="bg-[#E20613]"] {
  background: var(--catalog-blue) !important;
  color: #031014 !important;
}
body[data-ens-page="catalog"] [class*="bg-red-"] { background-color: rgba(28, 185, 210, .12) !important; }
body[data-ens-page="catalog"] [class*="border-red-"] { border-color: rgba(28, 185, 210, .4) !important; }

/* Visuales educativos: cada imagen explica una elección, no decora el catálogo. */
.catalog-inclusive-visual{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr);gap:1.35rem;align-items:stretch;max-width:67rem;margin:0 auto 2.25rem;overflow:hidden;border:1px solid #1f2a33;border-radius:1.5rem;background:#090d12;box-shadow:0 24px 65px rgba(7,12,18,.16)}
.catalog-inclusive-visual img{width:100%;height:19rem;object-fit:cover;object-position:center 47%}
.catalog-inclusive-visual figcaption{display:grid;align-content:center;gap:.65rem;padding:1.8rem;color:#c6d0d9;font-size:.93rem;line-height:1.55}.catalog-inclusive-visual strong{color:#fff;font-size:clamp(1.45rem,2.7vw,2.25rem);font-weight:700;letter-spacing:-.045em;line-height:1.02}.catalog-inclusive-visual span{max-width:27ch}
.pack-lookbook{position:relative;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(17rem,.68fr);gap:0;max-width:74rem;margin:0 auto 2rem;overflow:hidden;border:1px solid #202a33;border-radius:1.65rem;background:#080b0e;box-shadow:0 28px 80px rgba(7,12,18,.18)}
.pack-lookbook img{width:100%;height:26rem;object-fit:cover;object-position:center}.pack-lookbook figcaption{display:grid;align-content:center;gap:.7rem;padding:clamp(1.5rem,3vw,2.6rem);background:radial-gradient(circle at 0 50%,rgba(24,189,213,.16),transparent 52%),#080b0e;color:#bfc8d1}.pack-lookbook figcaption span{color:#8ee6f2;font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.pack-lookbook figcaption strong{color:#fff;font-size:clamp(1.45rem,2.8vw,2.4rem);font-weight:700;letter-spacing:-.045em;line-height:1.02}.pack-lookbook figcaption p{margin:0;font-size:.88rem;line-height:1.55}
.fabric-visual-explainer{position:relative;max-width:64rem;margin:0 auto 1.25rem;overflow:hidden;border:1px solid #1f2a33;border-radius:1.4rem;background:#090d12;box-shadow:0 22px 58px rgba(7,12,18,.13)}.fabric-visual-explainer img{width:100%;height:18rem;object-fit:cover}.fabric-visual-explainer figcaption{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18);backdrop-filter:blur(12px)}.fabric-visual-explainer figcaption div{display:grid;gap:.15rem;padding:.8rem 1rem;background:rgba(5,8,11,.84);color:#fff}.fabric-visual-explainer figcaption span{color:#8ee6f2;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.fabric-visual-explainer figcaption strong{font-size:.82rem;line-height:1.3}
.fabric-visual-explainer--three figcaption{grid-template-columns:repeat(3,minmax(0,1fr))}
#telas .fabric-photo .fabric-img--panal,#telas .fabric-photo .fabric-img--shelsey,#telas .fabric-photo .fabric-img--abrigo,#telas .fabric-photo .fabric-img--kabu{padding:0!important;object-fit:cover!important;filter:none!important}#telas .fabric-photo .fabric-img--panal{object-position:left center!important}#telas .fabric-photo .fabric-img--shelsey{object-position:right center!important}#telas .fabric-photo .fabric-img--abrigo{object-position:center!important}#telas .fabric-photo .fabric-img--kabu{object-position:center!important}
.fabric-touch-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1.2rem}.fabric-touch-guide article{display:grid;gap:.48rem;padding:1rem;border:1px solid #dce2e8;border-radius:1rem;background:#f7f9fa;color:#4d5762;font-size:.77rem;line-height:1.45}.fabric-touch-guide article.is-highlighted{border-color:rgba(24,189,213,.65);background:rgba(24,189,213,.08)}.fabric-touch-guide strong{color:#111820;font-size:.9rem}.fabric-touch-guide b{color:#077288;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:767px){.catalog-inclusive-visual,.pack-lookbook{grid-template-columns:1fr}.catalog-inclusive-visual img{height:17rem}.catalog-inclusive-visual figcaption{padding:1.25rem}.pack-lookbook img{height:17rem}.pack-lookbook figcaption{padding:1.35rem}.fabric-visual-explainer img{height:14.5rem}.fabric-visual-explainer figcaption,.fabric-visual-explainer--three figcaption{position:static;grid-template-columns:1fr}.fabric-touch-guide{grid-template-columns:1fr}.fabric-touch-guide article{grid-template-columns:5.5rem 1fr}.fabric-touch-guide article strong{grid-row:span 2}.fabric-touch-guide article span{min-width:0}}
#packs .pack-product-composition > img.pack-applied-visual,#packs .pack-product-composition > img.pack-applied-visual:first-child,#packs .pack-product-composition > img.pack-applied-visual:last-child{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;transform:none!important;opacity:1!important;filter:none!important;margin:0!important}

/* 2026-07-16 · Flujo descendente y visuales sin recortes. */
.catalog-flow-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:62rem;margin:0 auto 1.75rem;padding:0;list-style:none}.catalog-flow-roadmap li{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;align-items:center;padding:.85rem 1rem;border:1px solid #dbe2e8;border-radius:1rem;background:#fff;color:#505a65;font-size:.78rem;line-height:1.35}.catalog-flow-roadmap b{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:#080b0e;color:#fff;font-size:.72rem}.catalog-flow-roadmap strong{display:block;color:#111820;font-size:.83rem}
.pack-fabric-note{max-width:54rem;margin:0 auto 2rem;padding:1rem 1.15rem;border:1px solid rgba(24,189,213,.42);border-radius:1rem;background:rgba(24,189,213,.08);color:#3e4a55;font-size:.86rem;line-height:1.55;text-align:center}.pack-fabric-note strong{color:#08788d}
#packs .pack-product-composition{inset:3.25rem .65rem .55rem!important}
#packs .pack-product-composition > img.pack-applied-visual,#packs .pack-product-composition > img.pack-applied-visual:first-child,#packs .pack-product-composition > img.pack-applied-visual:last-child{object-fit:contain!important;object-position:center!important}
.catalog-equipment__grid{align-items:start}
.equipment-card{display:flex;min-height:0;flex-direction:column}
.equipment-card__media{width:100%;min-height:0;aspect-ratio:16/10;padding:.45rem;background:#080b0e}
.equipment-card__media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:1.2rem}
.equipment-card__body{min-height:20rem}.equipment-card h3{margin:1.75rem 0 .75rem}
.catalog-inclusive-visual img{height:auto;min-height:19rem;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#080b0e}
.fabric-pack-rule{margin:1rem 0 0;padding:.8rem .9rem;border-left:3px solid #18bdd5;border-radius:.55rem;background:#edfafd;color:#39535a;font-size:.78rem;line-height:1.5}
.fabric-abrigos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1.3rem}.fabric-abrigos-grid figure{position:relative;margin:0;overflow:hidden;border:1px solid #d9e0e6;border-radius:1rem;background:#f8fafb}.fabric-abrigos-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.fabric-abrigos-grid figcaption{display:grid;gap:.2rem;padding:.72rem .8rem;background:#0c1116;color:#fff}.fabric-abrigos-grid figcaption strong{color:#8ee6f2;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.fabric-abrigos-grid figcaption span{color:#d2d8df;font-size:.68rem;line-height:1.35}
#telas .fabric-photo .fabric-img--panal,#telas .fabric-photo .fabric-img--shelsey,#telas .fabric-photo .fabric-img--kabu{object-position:center!important}
@media(max-width:767px){.catalog-flow-roadmap{grid-template-columns:1fr;gap:.5rem}.catalog-flow-roadmap li{grid-template-columns:1.8rem 1fr;padding:.7rem .8rem}.catalog-flow-roadmap b{width:1.8rem;height:1.8rem}.catalog-inclusive-visual img{height:auto;min-height:0;aspect-ratio:16/9}.equipment-card__media{min-height:0;aspect-ratio:16/10}.equipment-card__body{min-height:18rem}.fabric-abrigos-grid{grid-template-columns:1fr}.fabric-abrigos-grid img{aspect-ratio:16/8}}
body[data-ens-page="catalog"] .qc-drawer:not(.qc-open) {
  visibility: hidden;
  pointer-events: none;
}

body[data-ens-page="catalog"] .qc-drawer.qc-open {
  visibility: visible;
}

/* Mobile: el medio se compone como una escena completa, nunca como un recorte. */
@media (max-width: 767px) {
  .catalog-page-hero {
    min-height: 45rem !important;
    background: #000 !important;
  }
  .catalog-page-hero .ens-hero-video {
    inset: 4rem 0 auto !important;
    width: 100% !important;
    height: clamp(14rem, 62vw, 18rem) !important;
    object-fit: contain !important;
    object-position: center top !important;
    background: #000 !important;
  }
  .catalog-page-hero .ens-hero-scrim {
    background: linear-gradient(180deg, transparent 4rem, rgba(0, 0, 0, .08) 16rem, #000 23rem, #000 100%) !important;
  }
  .catalog-page-hero__layout {
    align-items: end !important;
    padding-top: clamp(15rem, 66vw, 19rem) !important;
  }
  #catalogo .catalog-product-stage,
  #packs > [data-pack-id],
  #packs > [data-pack-id] > div:first-child { min-width: 0 !important; max-width: 100% !important; }
  #packs > [data-pack-id] > div:first-child {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 11 !important;
    overflow: hidden !important;
  }
  #packs .pack-product-composition {
    inset: 3.25rem .75rem .75rem !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  #packs .pack-product-composition > img.pack-applied-visual,
  #catalogo .catalog-product-stage img,
  .equipment-card__media img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  .equipment-card__media {
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    background: #090b0f !important;
  }
  .pack-lookbook img {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #090b0f !important;
  }
}

/* Orden final del hero mobile: imagen compacta y copy más arriba. */
@media (max-width: 767px) {
  .catalog-page-hero {
    min-height: 41.5rem !important;
  }

  .catalog-page-hero .ens-hero-video {
    height: clamp(13rem, 56vw, 16rem) !important;
    object-position: center top !important;
  }

  .catalog-page-hero__layout {
    min-height: calc(41.5rem - 4rem) !important;
    align-items: end !important;
    padding-top: clamp(13.2rem, 57vw, 16.25rem) !important;
    padding-bottom: 1.65rem !important;
  }

  .catalog-page-hero__copy h1 {
    font-size: clamp(2.45rem, 10.8vw, 3.15rem) !important;
  }
}
