/* ==== FUENTES ==== */
@font-face {
  font-display:swap;
  font-family:"Kumbh Sans";
  font-style:normal;
  font-weight:400 700;
  src:url("../fonts/kumbh-var.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family:"Kumbh Sans Fallback";
  src:local("Arial");
  ascent-override:95.80%;
  size-adjust:103.34%;
}
@font-face {
  font-display:swap;
  font-family:"Lora";
  font-style:normal;
  font-weight:400 600;
  src:url("../fonts/lora-var.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family:"Lora Fallback";
  src:local("Georgia");
  ascent-override:96.30%;
  size-adjust:104.86%;
}

/* ==== VARIABLES ==== */
:root {
  --c-lienzo: #FFFFFF;
  --c-popelin: #F6F7F8;
  --c-forro: #ECEDEF;
  --c-pespunte: #D5D7DC;
  --c-percha: #8A8D94;
  --c-carbon: #3B3D43;
  --c-noche: #1E1F23;
  --c-salvia: #3F6B6A;
  --c-acero: #5A6478;
  --c-velo: #1E1F2359;
  --c-velo-dk: #0F101299;
  --s-puntada: .5rem;
  --s-dobladillo: 1rem;
  --s-pinza: 2rem;
  --s-largo: clamp(2.5rem, 5vw, 4rem);
  --s-pieza: clamp(3.5rem, 8vw, 7rem);
  --s-orilla: clamp(1.25rem, 4vw, 3rem);
  --s-patron: 76rem;
  --s-cab: 4.75rem;
}

/* ==== BASE ==== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-padding-top: 6rem;

  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;

  font-family: "Lora", "Lora Fallback", Georgia, serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--c-noche);

  background: var(--c-lienzo);
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3 {
  margin: 0 0 var(--s-dobladillo);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: normal;
}

p {
  margin: 0 0 var(--s-dobladillo);
}

a {
  color: var(--c-salvia);
  text-underline-offset: .2em;
}

[hidden] {
  display: none;
}

:focus-visible {
  outline: 3px solid var(--c-acero);
  outline-offset: 3px;
}

.wrp {
  max-width: var(--s-patron);
  margin-inline: auto;
  padding-inline: var(--s-orilla);
}

.skp {
  position: absolute;
  top: .5rem;
  left: 1rem;
  z-index: 500;

  padding: .75rem 1rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  color: var(--c-lienzo);

  background: var(--c-noche);
  transform: translateY(-160%);
}

.skp:focus {
  transform: none;
}

.sec-t {
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
}

/* ==== CABECERA ==== */
.hd {
  position: sticky;
  top: 0;
  z-index: 150;

  border-bottom: 1px solid var(--c-pespunte);

  background: var(--c-lienzo);
}

.hd-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-pinza);
  max-width: var(--s-patron);
  min-height: var(--s-cab);
  margin-inline: auto;
  padding-inline: var(--s-orilla);
}

.nv {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.75rem;
}

.nv a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 2px solid transparent;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--c-noche);
  text-decoration: none;
}

.nv a:hover {
  border-bottom-color: var(--c-pespunte);
}

.nv a.nav-active {
  border-bottom-color: var(--c-salvia);
}

.lg {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 44px;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--c-noche);
  text-decoration: none;
}

.lg-mk {
  flex: none;
  width: 30px;
  height: 30px;
}

.brg {
  display: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--c-pespunte);

  background: var(--c-lienzo);
  cursor: pointer;
}

.brg-l,
.brg-l::before,
.brg-l::after {
  display: block;
  width: 22px;
  height: 2px;

  background: var(--c-noche);
}

.brg-l {
  position: relative;
}

.brg-l::before,
.brg-l::after {
  position: absolute;
  left: 0;

  content: '';
}

.brg-l::before {
  top: -7px;
}

.brg-l::after {
  top: 7px;
}

@media (max-width: 760px) {
  .js-enabled .nv {
    display: none;
  }

  .js-enabled .brg {
    display: inline-flex;
  }

  .nv {
    gap: 0 1rem;
  }
}

/* ==== MENÚ MÓVIL ==== */
.mnu {
  position: fixed;
  inset: 0;
  z-index: 400;

  display: flex;
  flex-direction: column;
  padding: var(--s-dobladillo) var(--s-orilla) var(--s-pinza);
  overflow-y: auto;

  color: var(--c-forro);

  background: var(--c-noche);
  visibility: hidden;
}

.mnu.nav-active {
  visibility: visible;
}

.mnu-tp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: calc(var(--s-cab) - var(--s-dobladillo));
  margin-bottom: var(--s-pinza);
}

.mnu-x {
  min-width: 48px;
  min-height: 48px;
  padding: 0 1rem;
  border: 1px solid var(--c-percha);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1rem;
  color: var(--c-lienzo);

  background: transparent;
  cursor: pointer;
}

.mnu-lg {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--c-lienzo);
}

.mnu-nv a {
  display: flex;
  align-items: center;
  min-height: 60px;
  border-bottom: 1px solid var(--c-carbon);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--c-lienzo);
  text-decoration: none;
}

.mnu-nv a.nav-active {
  box-shadow: inset 4px 0 0 var(--c-salvia);
  padding-left: 1rem;
}

.mnu-ft {
  padding-top: var(--s-pinza);

  font-size: .98rem;
}

.mnu-ft a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;

  color: var(--c-lienzo);
}

/* ==== RÓTULOS ==== */
.ey {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 var(--s-dobladillo);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .9rem;
  font-weight: 600;
  color: var(--c-carbon);
}

.ey::before {
  flex: none;
  width: 1.6rem;
  height: .6rem;

  content: '';

  background: var(--c-salvia);
  transform: skewX(-24deg);
}

/* ==== BOTONES ==== */
.btn {
  display: block;
  width: 100%;
  padding: 1.1rem 1.5rem;
  border: 2px solid var(--c-salvia);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-lienzo);
  text-align: center;
  text-decoration: none;

  background: var(--c-salvia);
  box-shadow: 0 16px 32px -20px var(--c-velo);
  cursor: pointer;
  transition: background-color .2s, border-color .2s, color .2s;
}

.btn:hover {
  border-color: var(--c-noche);

  background: var(--c-noche);
}

.btn-g {
  color: var(--c-noche);

  background: transparent;
  border-color: var(--c-noche);
  box-shadow: none;
}

.btn-g:hover {
  color: var(--c-lienzo);
}

/* ==== PORTADA ==== */
.hro {
  padding-top: clamp(2.25rem, 5vw, 4rem);

  background: var(--c-lienzo);
}

.hro-gr {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: end;
}

.hro h1 {
  max-width: 24ch;

  font-size: clamp(2rem, 3.3vw, 3rem);
}

.hro-ld {
  max-width: 58ch;

  color: var(--c-carbon);
}

.hro-ac {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--s-dobladillo);
  max-width: 36rem;
  margin-top: var(--s-pinza);
}

.hro-dt {
  margin: 0;
  border-top: 2px solid var(--c-noche);
}

.hro-dt div {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1rem;
  align-items: baseline;
  padding: .85rem 0;
  border-bottom: 1px solid var(--c-pespunte);
}

.hro-dt dt {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.85rem;
  font-weight: 500;
  line-height: 1;
  color: var(--c-salvia);
}

.hro-dt dd {
  margin: 0;

  font-size: .98rem;
  color: var(--c-carbon);
}

.hro-st {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  max-width: 120rem;
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  padding-inline: .5rem;
}

.hro-st figure {
  margin: 0;
}

.duo {
  background: var(--c-salvia);
}

.duo img {
  width: 100%;

  filter: grayscale(1) contrast(1.06);
  mix-blend-mode: luminosity;
}

@media (max-width: 900px) {
  .hro-gr {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-pinza);
  }

  .hro-st {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hro-st figure:first-child {
    grid-column: 1 / -1;
  }

  .hro-st figure:first-child img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 35%;
  }
}

@media (max-width: 480px) {
  .hro-ac {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==== RECORRIDO ==== */
.rl {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  background: var(--c-popelin);
}

.rl-hd {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: center;
  margin-bottom: var(--s-pinza);
}

.rl-in p {
  max-width: 54ch;
}

.rl-ct {
  display: none;
  align-items: center;
  gap: .5rem;
  margin-top: var(--s-dobladillo);
}

.js-enabled .rl-ct {
  display: flex;
}

.rl-bt {
  width: 48px;
  height: 48px;
  border: 1px solid var(--c-noche);

  font-size: 1.2rem;
  color: var(--c-noche);

  background: var(--c-lienzo);
  cursor: pointer;
}

.rl-bt:disabled {
  color: var(--c-acero);

  border-color: var(--c-pespunte);
  cursor: default;
}

.rl-cn {
  min-width: 5rem;
  margin: 0;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  color: var(--c-carbon);
  text-align: center;
}

.rl-cn b {
  font-weight: 600;
  color: var(--c-salvia);
}

.rl-tr {
  display: grid;
  grid-auto-columns: minmax(17rem, 22rem);
  grid-auto-flow: column;
  gap: var(--s-dobladillo);
  margin: 0;
  padding: 0 0 1.25rem;
  overflow-x: auto;

  list-style: none;

  scroll-snap-type: x mandatory;
  scrollbar-color: var(--c-percha) var(--c-forro);
}

.rl-pn {
  display: flex;
  flex-direction: column;

  background: var(--c-lienzo);
  box-shadow: 0 18px 40px -30px var(--c-velo);
  scroll-snap-align: start;
}

.rl-pn.inview {
  box-shadow: inset 0 3px 0 var(--c-salvia), 0 18px 40px -30px var(--c-velo);
}

.rl-pn figure {
  margin: 0;
}

.rl-bx {
  flex: 1;
  padding: 1.25rem 1.35rem 1.5rem;
}

.rl-no {
  display: block;
  margin-bottom: .5rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  color: var(--c-salvia);
}

.rl-pn h3 {
  font-size: 1.25rem;
}

.rl-pn p {
  margin: 0;

  font-size: 1rem;
  color: var(--c-carbon);
}

.pln {
  margin: 0;
  padding: 1rem;

  background: var(--c-lienzo);
  box-shadow: 0 18px 40px -30px var(--c-velo);
}

.pln svg {
  display: block;
  width: 100%;
  height: auto;
}

.pln figcaption {
  margin-top: .5rem;

  font-size: .92rem;
  color: var(--c-carbon);
}

.pln-t {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 13px;
  fill: var(--c-noche);
}

.pln-n {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  fill: var(--c-lienzo);
}

@media (max-width: 900px) {
  .rl-hd {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .rl-tr {
    grid-auto-columns: auto;
    grid-auto-flow: row;
    padding-bottom: 0;
    overflow: visible;

    scroll-snap-type: none;
  }

  .js-enabled .rl-ct {
    display: none;
  }
}

/* ==== OCASIONES ==== */
.dk {
  padding-top: var(--s-pieza);
  padding-bottom: var(--s-pieza);

  color: var(--c-forro);

  background: var(--c-noche);
}

.dk h2,
.dk h3 {
  color: var(--c-lienzo);
}

.dk .ey {
  color: var(--c-forro);
}

.dk-gr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
  gap: var(--s-largo);
  align-items: start;
}

.dk-tl {
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: var(--s-pinza);
  border-bottom: 1px solid var(--c-carbon);
}

.js-enabled .dk-tl {
  display: grid;
}

.dk-tb {
  min-height: 52px;
  padding: .75rem .5rem;
  border: 0;
  border-bottom: 3px solid transparent;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--c-pespunte);

  background: transparent;
  cursor: pointer;
}

.dk-tb[aria-selected="true"] {
  color: var(--c-lienzo);

  border-bottom-color: var(--c-salvia);
}

.dk-pn + .dk-pn {
  margin-top: var(--s-largo);
}

.js-enabled .dk-pn + .dk-pn {
  margin-top: 0;
}

.dk-pn[hidden] {
  display: none;
}

.dk-pn h3 {
  font-size: 1.35rem;
}

.dk-ls {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--c-carbon);

  list-style: none;
}

.dk-rw {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0 1rem;
  align-items: center;
  padding: .6rem 0;
  border-bottom: 1px solid var(--c-carbon);
}

.dk-rw a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--c-lienzo);
  text-decoration: none;
}

.dk-rw a:hover {
  text-decoration: underline;
}

.dk-fb {
  grid-column: 1;

  font-size: .94rem;
  color: var(--c-pespunte);
}

.dk-pr {
  grid-column: 2;
  grid-row: 1 / span 2;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--c-lienzo);
}

.dk-nt {
  margin: var(--s-dobladillo) 0 0;
  padding: 1rem 1.25rem;

  font-size: .98rem;
  color: var(--c-forro);

  background: var(--c-carbon);
}

@media (max-width: 900px) {
  .dk-gr {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .dk-tb {
    font-size: .92rem;
  }
}

/* ==== CARTEL ==== */
.pb {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  background: var(--c-lienzo);
}

.pb-hd {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: end;
  margin-bottom: var(--s-pinza);
}

.pb-hd p:last-child {
  color: var(--c-carbon);
}

.pb-ls {
  border-top: 2px solid var(--c-noche);
}

.pb-rw {
  border-bottom: 1px solid var(--c-pespunte);
}

.pb-sm {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1.3fr) minmax(0, 1.5fr) 5.5rem 1.5rem;
  gap: 1rem;
  align-items: center;
  min-height: 64px;
  padding: .7rem 0;

  list-style: none;
  cursor: pointer;
}

.pb-sm::-webkit-details-marker {
  display: none;
}

.pb-sm:hover .pb-nm {
  text-decoration: underline;
}

.pb-no {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .95rem;
  font-weight: 600;
  color: var(--c-salvia);
}

.pb-nm {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 500;
}

.pb-fb {
  font-size: .96rem;
  color: var(--c-carbon);
}

.pb-pr {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--c-salvia);
  text-align: right;
}

.pb-ic {
  position: relative;

  width: 1.1rem;
  height: 1.1rem;
}

.pb-ic::before,
.pb-ic::after {
  position: absolute;
  top: 50%;
  left: 0;

  width: 100%;
  height: 2px;

  content: '';

  background: var(--c-noche);
}

.pb-ic::after {
  transform: rotate(90deg);
}

.pb-rw[open] .pb-ic::after {
  transform: none;
}

.pb-bd {
  display: grid;
  grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
  gap: var(--s-pinza);
  padding: .5rem 0 2rem 4rem;
}

.pb-bd figure {
  margin: 0;

  background-color: var(--c-forro);
  box-shadow: 0 18px 40px -30px var(--c-velo);
}

.pb-bd p {
  color: var(--c-carbon);
}

.pb-ln {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 1.25rem;
  border: 2px solid var(--c-noche);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
  color: var(--c-noche);
  text-decoration: none;
}

.pb-ln:hover {
  color: var(--c-lienzo);

  background: var(--c-noche);
}

@media (max-width: 760px) {
  .pb-hd {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .pb-sm {
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    gap: .15rem .75rem;
  }

  .pb-fb {
    grid-column: 2 / 4;
    grid-row: 2;
  }

  .pb-ic {
    display: none;
  }

  .pb-bd {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 0;
  }
}

/* ==== TALLAS ==== */
.tls {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .7rem;
  margin: 0 0 1rem;
  padding: 0 .3rem;

  list-style: none;
}

.tl {
  position: relative;
  isolation: isolate;

  display: inline-block;
  min-width: 2.6rem;
  padding: .25rem .6rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .9rem;
  font-weight: 600;
  color: var(--c-lienzo);
  text-align: center;
}

.tl::before {
  position: absolute;
  inset: 0;
  z-index: -1;

  content: '';

  background: var(--c-acero);
  transform: skewX(-14deg);
}

.est {
  display: inline-block;
  padding: .15rem .6rem;
  border: 1px solid var(--c-acero);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .85rem;
  font-weight: 600;
  color: var(--c-acero);
}

/* ==== CITA ==== */
.inv {
  position: relative;
  isolation: isolate;

  padding-top: var(--s-pieza);
  padding-bottom: var(--s-pieza);
  overflow: hidden;

  color: var(--c-forro);

  background: var(--c-noche);
}

.inv::before {
  position: absolute;
  top: 0;
  right: 12%;
  bottom: 0;
  z-index: -1;

  width: 16rem;

  content: '';

  background: var(--c-carbon);
  transform: skewX(-14deg);
}

.inv h2 {
  color: var(--c-lienzo);
}

.inv .ey {
  color: var(--c-forro);
}

.inv-gr {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: center;
}

.inv-big {
  margin: 0 0 var(--s-dobladillo);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: clamp(4.5rem, 10vw, 8rem);
  font-weight: 500;
  line-height: .9;
  color: var(--c-lienzo);
}

.inv-big span {
  margin-left: .4rem;

  font-size: .3em;
  color: var(--c-forro);
}

.inv-tx {
  max-width: 50ch;
}

.inv-dl {
  margin: 0 0 var(--s-dobladillo);
  padding: .5rem 1.5rem;

  color: var(--c-noche);

  background: var(--c-lienzo);
  box-shadow: 0 30px 60px -28px var(--c-velo-dk);
}

.inv-dl div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--c-pespunte);
}

.inv-dl div:last-child {
  border-bottom: 0;
}

.inv-dl dt {
  font-size: 1rem;
}

.inv-dl dd {
  margin: 0;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--c-salvia);
  text-align: right;
}

.inv .btn {
  border-color: var(--c-lienzo);
}

@media (max-width: 900px) {
  .inv-gr {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==== EQUIPO ==== */
.qn {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  background: var(--c-popelin);
}

.qn-gr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: center;
}

.qn-ls {
  margin: 0;
}

.qn-ls div {
  padding: 1.1rem 1.25rem;
  border-left: 3px solid var(--c-noche);

  background: var(--c-lienzo);
  box-shadow: 0 14px 30px -24px var(--c-velo);
}

.qn-ls div + div {
  margin-top: .75rem;
}

.qn-ls dt {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 500;
}

.qn-ls dd {
  margin: .2rem 0 0;

  color: var(--c-carbon);
}

@media (max-width: 900px) {
  .qn-gr {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==== FRANJA FINAL ==== */
.cta-b {
  padding-top: var(--s-pieza);
  padding-bottom: var(--s-pieza);

  background: var(--c-lienzo);
}

.cta-gr {
  position: relative;

  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: center;
  padding: var(--s-largo);

  background: var(--c-forro);
  box-shadow: 0 24px 50px -36px var(--c-velo);
}

.cta-gr::before {
  position: absolute;
  top: -.6rem;
  left: var(--s-largo);

  width: 4rem;
  height: 1.2rem;

  content: '';

  background: var(--c-salvia);
  transform: skewX(-24deg);
}

.cta-gr p {
  margin: 0;

  color: var(--c-carbon);
}

@media (max-width: 760px) {
  .cta-gr {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--s-pinza) var(--s-dobladillo);
  }
}

/* ==== CABECERA DE PÁGINA ==== */
.ph {
  padding-top: clamp(2.25rem, 5vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--c-pespunte);

  background: var(--c-popelin);
}

.ph h1 {
  max-width: 28ch;

  font-size: clamp(2rem, 3.3vw, 3rem);
}

.ph-ld {
  max-width: 64ch;
  margin: 0;

  color: var(--c-carbon);
}

/* ==== COLECCIÓN ==== */
.nt-b {
  padding-top: var(--s-pinza);
  padding-bottom: var(--s-pinza);

  background: var(--c-lienzo);
}

.nt-ls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-dobladillo);
  margin: 0;
  padding: 0;

  list-style: none;
}

.nt-ls li {
  padding: 1.25rem 1.35rem;
  border-top: 3px solid var(--c-noche);

  font-size: 1rem;
  color: var(--c-carbon);

  background: var(--c-popelin);
}

.nt-no {
  display: block;
  margin-bottom: .35rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.1;
  color: var(--c-salvia);
}

.col {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  background: var(--c-lienzo);
}

.col-hd {
  max-width: 46rem;
  margin-bottom: var(--s-pinza);
}

.col-hd p:last-child {
  margin: 0;

  color: var(--c-carbon);
}

.col-gr {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 var(--s-pinza);
}

.crd {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--s-pinza) 0;
  border-top: 1px solid var(--c-pespunte);
}

.crd-ft {
  display: grid;
  grid-column: span 2;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--s-pinza);
  align-items: start;
}

.crd-fg {
  margin: 0 0 1rem;

  background: var(--c-forro);
  box-shadow: 0 18px 40px -30px var(--c-velo);
}

.crd-ft .crd-fg {
  margin: 0;
}

.crd-tx {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.crd h3 {
  margin-bottom: .35rem;

  font-size: 1.25rem;
}

.crd-mt {
  margin-bottom: .5rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .95rem;
  color: var(--c-acero);
}

.crd-ds {
  font-size: 1rem;
  color: var(--c-carbon);
}

.crd-pz {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .4rem .8rem;
  margin: auto 0 .9rem;
}

.crd-pr {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.65rem;
  font-weight: 500;
  color: var(--c-salvia);
}

.crd-pz small {
  font-size: .88rem;
  color: var(--c-carbon);
}

.crd-ln {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: .5rem 1rem;
  border: 2px solid var(--c-noche);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
  color: var(--c-noche);
  text-align: center;
  text-decoration: none;
}

.crd-ln:hover {
  color: var(--c-lienzo);

  background: var(--c-noche);
}

.tll {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  color: var(--c-forro);

  background: var(--c-noche);
}

.tll h2 {
  color: var(--c-lienzo);
}

.tll .ey {
  color: var(--c-forro);
}

.tll-gr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: var(--s-largo);
  align-items: start;
}

.tbl-w {
  min-width: 0;
}

.tbl {
  width: 100%;
  border-collapse: collapse;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1rem;
}

.tbl caption {
  padding-bottom: .75rem;

  font-size: .95rem;
  text-align: left;
}

.tbl th,
.tbl td {
  padding: .7rem .5rem;
  border-bottom: 1px solid var(--c-carbon);

  text-align: left;
}

.tbl thead th {
  font-weight: 600;
  color: var(--c-lienzo);

  border-bottom: 2px solid var(--c-pespunte);
}

.tbl tbody th {
  font-weight: 600;
  color: var(--c-lienzo);
}

.cui {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  background: var(--c-popelin);
}

.cui-gr {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-dobladillo);
  margin-bottom: var(--s-pinza);
}

.cui-cd {
  padding: 1.5rem;

  background: var(--c-lienzo);
  box-shadow: 0 18px 40px -30px var(--c-velo);
}

.cui-cd h3 {
  font-size: 1.2rem;
}

.cui-cd p {
  margin: 0;

  color: var(--c-carbon);
}

.cui-bt {
  max-width: 26rem;
}

@media (max-width: 1000px) {
  .col-gr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .tll-gr,
  .cui-gr,
  .nt-ls {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .col-gr {
    grid-template-columns: minmax(0, 1fr);
  }

  .crd-ft {
    display: flex;
    grid-column: auto;
    align-items: stretch;
  }

  .crd-ft .crd-fg {
    margin-bottom: 1rem;
  }

  .tbl th,
  .tbl td {
    padding: .6rem .3rem;
  }
}

/* ==== MUESTRAS DE TEJIDO ==== */
figure.tej {
  position: relative;
  display: flex;
  align-items: flex-end;
  aspect-ratio: 4 / 3;
  overflow: hidden;

  background-color: var(--c-tela, #8A8D94);
}

.tej::before {
  content: "";

  position: absolute;
  inset: 0;

  background: linear-gradient(165deg, #3F6B6A2E 0%, #1E1F2361 100%);
}

.tej-tx {
  position: relative;
  max-width: calc(100% - 2rem);
  margin: 1rem;
  padding: .55rem .85rem .6rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--c-lienzo);

  background: var(--c-noche);
}

.tej-tx::before {
  content: "";

  display: inline-block;
  width: .55rem;
  height: .85rem;
  margin-right: .5rem;

  background: var(--c-salvia);
  transform: skewX(-18deg);
}

.tej-tx small {
  display: block;
  margin-top: .15rem;

  font-size: .85rem;
  font-weight: 400;
  color: var(--c-pespunte);
}

.tn-blanco { --c-tela: #EEEDE8; }
.tn-negro { --c-tela: #2B2C30; }
.tn-oliva { --c-tela: #6E7052; }
.tn-crudo { --c-tela: #E4DCCB; }
.tn-rayas { --c-tela: #EEF0F4; }
.tn-gris { --c-tela: #8E9096; }
.tn-burdeos { --c-tela: #6B2F3A; }

.tej-popelin {
  background-image:
    repeating-linear-gradient(0deg, #FFFFFF2E 0 1px, #00000000 1px 3px),
    repeating-linear-gradient(90deg, #1E1F231A 0 1px, #00000000 1px 3px);
}

.tej-crepe {
  background-image:
    repeating-linear-gradient(45deg, #FFFFFF17 0 1px, #00000000 1px 4px),
    repeating-linear-gradient(-45deg, #0000002E 0 1px, #00000000 1px 5px),
    repeating-linear-gradient(12deg, #FFFFFF0F 0 2px, #00000000 2px 9px);
}

.tej-plisado {
  background-image:
    repeating-linear-gradient(90deg, #FFFFFF29 0 3px, #00000000 3px 16px, #1E1F2340 16px 21px, #00000000 21px 26px);
}

.tej-punto {
  background-image:
    repeating-linear-gradient(60deg, #FFFFFF24 0 2px, #00000000 2px 8px),
    repeating-linear-gradient(-60deg, #FFFFFF24 0 2px, #00000000 2px 8px),
    repeating-linear-gradient(90deg, #1E1F2321 0 1px, #00000000 1px 8px);
}

.tej-rayas {
  background-image:
    repeating-linear-gradient(90deg, #4E6185 0 2px, #00000000 2px 11px),
    repeating-linear-gradient(0deg, #1E1F2314 0 1px, #00000000 1px 3px);
}

.tej-roma {
  background-image:
    repeating-linear-gradient(0deg, #FFFFFF21 0 1px, #00000000 1px 4px, #1E1F232E 4px 5px, #00000000 5px 6px);
}

.tej-jersey {
  background-image:
    repeating-linear-gradient(90deg, #FFFFFF1A 0 1px, #00000000 1px 3px),
    repeating-linear-gradient(0deg, #0000002E 0 1px, #00000000 1px 4px);
}

/* ==== FORMULARIO ==== */
.cit {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-largo);

  background: var(--c-lienzo);
}

.cit-gr {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: start;
}

.frm {
  padding: var(--s-pinza);
  border-top: 4px solid var(--c-noche);

  background: var(--c-lienzo);
  box-shadow: 0 24px 60px -34px var(--c-velo);
}

.frm-f {
  margin-bottom: 1rem;
}

.frm label {
  display: block;
  margin-bottom: .4rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
}

.frm input[type="tel"],
.frm textarea {
  display: block;
  width: 100%;
  padding: .85rem 1rem;
  border: 1px solid var(--c-percha);
  border-radius: 0;

  font: inherit;
  color: var(--c-noche);

  background: var(--c-popelin);
}

.frm textarea {
  min-height: 8.5rem;

  resize: vertical;
}

.frm input[aria-invalid="true"],
.frm textarea[aria-invalid="true"] {
  border: 2px solid var(--c-noche);
}

.frm-ck {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
}

.frm-ck input {
  width: 1.3rem;
  height: 1.3rem;
  margin: .25rem 0 0;

  accent-color: var(--c-salvia);
}

.frm-ck label {
  margin: 0;

  font-family: "Lora", "Lora Fallback", Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
}

.frm-er {
  min-height: 1.4em;
  margin: .3rem 0 0;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .92rem;
  font-weight: 600;
  color: var(--c-noche);
}

.frm-er:empty {
  min-height: 0;
  margin: 0;
}

.frm-ms {
  margin: 0;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
}

.frm-ms:empty {
  display: none;
}

.frm-ms:not(:empty) {
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  border-left: 3px solid var(--c-noche);

  background: var(--c-forro);
}

.frm-nt {
  margin: 2.25rem 0 0;

  font-size: .95rem;
  color: var(--c-carbon);
}

.dat > * + * {
  margin-top: var(--s-pinza);
}

.stp {
  margin: 0;
  padding: 0;

  list-style: none;
}

.stp li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--c-pespunte);
}

.stp-no {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  color: var(--c-salvia);
}

.stp h3 {
  margin-bottom: .3rem;

  font-size: 1.1rem;
}

.stp p {
  margin: 0;

  font-size: 1rem;
  color: var(--c-carbon);
}

.dat-ad {
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--c-salvia);

  font-style: normal;
  line-height: 1.7;

  background: var(--c-popelin);
}

.dat-ad a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;

  color: var(--c-noche);
}

.hrs {
  width: 100%;
  border-collapse: collapse;
}

.hrs caption {
  padding-bottom: .5rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
  text-align: left;
}

.hrs th,
.hrs td {
  padding: .65rem 0;
  border-bottom: 1px solid var(--c-pespunte);

  font-size: 1rem;
  text-align: left;
  vertical-align: top;
}

.hrs th {
  padding-right: 1rem;

  font-weight: 400;
  color: var(--c-carbon);
}

@media (max-width: 900px) {
  .cit-gr {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .frm {
    padding: var(--s-dobladillo);
  }

  .frm textarea {
    min-height: 7rem;
  }
}

/* ==== TEXTOS LEGALES ==== */
.lgl {
  padding-top: var(--s-largo);
  padding-bottom: var(--s-pinza);

  background: var(--c-lienzo);
}

.lgl-gr {
  display: grid;
  grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
  gap: var(--s-largo);
  align-items: start;
}

.lgl-toc {
  padding: 1.25rem 1.4rem;
  border-left: 3px solid var(--c-noche);

  background: var(--c-popelin);
}

.lgl-toc h2 {
  font-size: 1.1rem;
}

.lgl-toc ol {
  margin: 0;
  padding: 0;

  list-style: none;
}

.lgl-toc a {
  display: flex;
  align-items: center;
  min-height: 44px;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .98rem;
  color: var(--c-noche);
}

.lgl-tb {
  width: 100%;
  border-collapse: collapse;
}

.lgl-tb caption {
  padding-bottom: .75rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: left;
}

.lgl-tb th,
.lgl-tb td {
  padding: .75rem .75rem .75rem 0;
  border-bottom: 1px solid var(--c-pespunte);

  font-size: 1rem;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.lgl-tb th {
  width: 34%;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
}

.lgl-tb thead th {
  width: auto;

  border-bottom: 2px solid var(--c-noche);
}

.lgl-sec {
  padding-top: var(--s-pinza);
  padding-bottom: var(--s-pinza);
}

.lgl-sec:nth-of-type(even) {
  background: var(--c-popelin);
}

.lgl-tx {
  max-width: 50rem;
}

.lgl-tx h2 {
  font-size: 1.55rem;
}

.lgl-tx h3 {
  font-size: 1.15rem;
}

.lgl-tx ul {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.lgl-cd {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--s-dobladillo);
  margin: 0 0 var(--s-dobladillo);
  padding: 0;

  list-style: none;
}

.lgl-cd li {
  padding: 1.2rem 1.3rem;
  border-top: 3px solid var(--c-acero);

  font-size: 1rem;

  background: var(--c-lienzo);
  box-shadow: 0 16px 34px -26px var(--c-velo);
}

.lgl-cd b {
  display: block;
  margin-bottom: .25rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
}

.lgl-nt {
  margin: 0 0 var(--s-dobladillo);
  padding: 1rem 1.25rem;

  color: var(--c-forro);

  background: var(--c-noche);
}

.lgl-nt a {
  color: var(--c-lienzo);
}

.lgl-dt {
  font-size: .95rem;
  color: var(--c-carbon);
}

.rst-ck {
  display: none;
  max-width: 22rem;
  margin-bottom: .75rem;
}

.js-enabled .rst-ck {
  display: block;
}

.rst-ms {
  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-weight: 600;
}

.tls-cd {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-dobladillo);
}

.tls-cd a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 9rem;
  padding: 1.4rem;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--c-noche);
  text-decoration: none;

  background: var(--c-popelin);
  box-shadow: 0 18px 40px -30px var(--c-velo);
}

.tls-cd a:hover {
  box-shadow: inset 0 3px 0 var(--c-salvia), 0 18px 40px -30px var(--c-velo);
}

.tls-cd span {
  font-family: "Lora", "Lora Fallback", Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--c-carbon);
}

@media (max-width: 900px) {
  .lgl-gr,
  .tls-cd {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==== PIE ==== */
.ft {
  padding-top: var(--s-pinza);
  padding-bottom: var(--s-pinza);

  color: var(--c-pespunte);

  background: var(--c-noche);
}

.ft-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2.5rem;
}

.ft .lg {
  color: var(--c-lienzo);
}

.ft address {
  font-size: .95rem;
  font-style: normal;
  line-height: 1.55;
}

.ft address small {
  display: block;
  margin-top: .3rem;

  font-size: .85rem;
  color: var(--c-pespunte);
}

.ft-ct a,
.ft-nv a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .95rem;
  color: var(--c-lienzo);
}

.ft-ct {
  display: flex;
  flex-direction: column;
}

.ft-nv {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.25rem;
}

.ft-nv a {
  text-decoration: none;
}

.ft-nv a:hover {
  text-decoration: underline;
}

/* ==== AVISO COOKIES ==== */
.aviso-cookies {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 200;

  display: grid;
  gap: .75rem;
  width: min(22.5rem, calc(100% - 2rem));
  padding: 1rem 1.1rem;
  border-top: 3px solid var(--c-salvia);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .95rem;
  line-height: 1.45;
  color: var(--c-forro);

  background: var(--c-noche);
  box-shadow: 0 20px 50px -18px var(--c-velo-dk);
}

.aviso-cookies[hidden] {
  display: none;
}

.ac-tx {
  margin: 0;
}

.ac-tx a {
  color: var(--c-lienzo);
}

.ac-bt {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .5rem;
}

.ac-bt button {
  min-height: 44px;
  padding: .5rem;
  border: 2px solid var(--c-lienzo);

  font-family: "Kumbh Sans", "Kumbh Sans Fallback", Arial, sans-serif;
  font-size: .95rem;
  font-weight: 600;
  color: var(--c-lienzo);

  background: transparent;
  cursor: pointer;
}

.ac-bt button:hover {
  color: var(--c-noche);

  background: var(--c-lienzo);
}

@media (max-width: 600px) {
  .aviso-cookies {
    right: 0;
    bottom: 0;

    width: 100%;
  }
}

/* ==== AJUSTES ==== */
@media (min-width: 1600px) {
}
