.sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.label {
  overflow: hidden;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.label p, .label h1, .label b { margin: 0; }

.front { width: 86mm; height: 120mm; }
.story { width: 124mm; height: 76mm; }
.neck { width: 80mm; height: 13mm; }

[hidden] { display: none !important; }

/* Rústica: viña, papel cálido, letra de casa */

.is-rustica {
  background: #f4efe4;
  color: #241c16;
  border: 0.35mm solid #241c16;
}

.is-rustica.front { padding: 2mm; }
.is-rustica .inner { position: relative; height: 100%; }

.is-rustica.front .inner {
  border: 0.18mm solid #241c16;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 5mm 3.4mm 4mm;
  gap: 1.05mm;
  font-family: "Cormorant Garamond", Palatino, Georgia, serif;
}

.is-rustica .corner {
  position: absolute;
  width: 2.1mm;
  height: 2.1mm;
  border: 0.22mm solid #241c16;
}
.is-rustica .corner.nw { top: 1.3mm; left: 1.3mm; border-right: 0; border-bottom: 0; }
.is-rustica .corner.ne { top: 1.3mm; right: 1.3mm; border-left: 0; border-bottom: 0; }
.is-rustica .corner.sw { bottom: 1.3mm; left: 1.3mm; border-right: 0; border-top: 0; }
.is-rustica .corner.se { bottom: 1.3mm; right: 1.3mm; border-left: 0; border-top: 0; }

.is-rustica .vine { width: 20mm; height: 16mm; display: block; }
.is-rustica .vino { font-size: 6.4mm; font-style: italic; font-weight: 500; line-height: 0.85; }
.is-rustica .eco { font-size: 5.4mm; font-style: italic; font-weight: 500; line-height: 1; }
.is-rustica .natural {
  font-size: 3.5mm;
  font-weight: 600;
  font-variant: small-caps;
  letter-spacing: 0.12em;
  line-height: 1.15;
}
.is-rustica .familia {
  margin-top: 1.4mm;
  font-size: 7.1mm;
  font-style: italic;
  font-weight: 600;
  line-height: 0.92;
  white-space: nowrap;
}
.is-rustica .variedad { font-size: 4.2mm; font-style: italic; font-weight: 600; line-height: 1; }
.is-rustica .origen {
  max-width: 92%;
  font-size: 2.7mm;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.15;
}
.is-rustica .rule {
  width: 58%;
  display: flex;
  align-items: center;
  gap: 2.4mm;
}
.is-rustica .rule::before,
.is-rustica .rule::after { content: ""; flex: 1; height: 0.22mm; background: #241c16; }
.is-rustica .rule i { width: 1.45mm; height: 1.45mm; background: #6b2833; transform: rotate(45deg); }
.is-rustica .cosecha { font-size: 4.2mm; font-style: italic; font-weight: 500; }
.is-rustica .cosecha b { font-style: normal; font-weight: 600; font-size: 5.4mm; }
.is-rustica .desde {
  font-size: 3.05mm;
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.is-rustica .double { width: 62%; }
.is-rustica .double span { display: block; height: 0.25mm; background: #241c16; }
.is-rustica .double span + span { margin-top: 0.7mm; }
.is-rustica .por { font-size: 2.7mm; line-height: 1.15; }
.is-rustica .por em { font-style: italic; }

.is-rustica.story { padding: 2.2mm 2.6mm 2mm; }
.is-rustica.story .inner {
  border: 0.18mm solid #241c16;
  padding: 4mm 3.4mm 2.4mm;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Cormorant Garamond", Palatino, Georgia, serif;
}
.is-rustica .pair {
  width: 100%;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4mm;
}
.is-rustica .col { text-align: center; display: flex; flex-direction: column; min-height: 0; }
.is-rustica .caption { margin: 0 0 1.3mm; font-size: 5mm; font-style: italic; font-weight: 600; }
.is-rustica .story-foot {
  margin-top: 1.6mm;
  font-size: 2.7mm;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
}
.is-rustica .well {
  flex: 1;
  min-height: 38mm;
  border: 0.22mm solid #241c16;
  background: #efe6d4;
  position: relative;
  overflow: hidden;
}
.is-rustica .well img,
.is-bodega .well img,
.is-moderna .well img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.is-rustica .ghost { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0.45; }
.is-rustica .ghost svg { width: 14mm; height: 12mm; }

.is-rustica.neck {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3mm;
  font-family: "Cormorant Garamond", Palatino, Georgia, serif;
}
.is-rustica.neck p {
  font-size: 2.7mm;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Clásica de bodega: escudo, filete, banda del año */

.is-bodega {
  background: #f7f1e3;
  color: #1a120c;
  border: 0.45mm solid #8d7040;
  font-family: Cinzel, Palatino, Georgia, serif;
}

.is-bodega .bg {
  height: 100%;
  margin: 2.2mm;
  border: 0.25mm solid #8d7040;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3.2mm 3mm 2.6mm;
  gap: 1.1mm;
}

.is-bodega .crest {
  position: relative;
  width: 16mm;
  height: 18mm;
  flex: 0 0 auto;
}
.is-bodega .crest svg { width: 100%; height: 100%; display: block; }
.is-bodega .crest span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding-top: 1mm;
  color: #f3e6c8;
  font-size: 3.4mm;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.is-bodega .bg-kicker {
  font-size: 2.6mm;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
.is-bodega .bg-casa {
  font-size: 4.5mm;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.04em;
}
.is-bodega .bg-eco,
.is-bodega .bg-natural,
.is-bodega .bg-desde {
  font-family: "Cormorant Garamond", Palatino, Georgia, serif;
  font-size: 3.6mm;
  font-style: italic;
}
.is-bodega .bg-band {
  width: 100%;
  background: #1a120c;
  color: #e7d7ae;
  padding: 1.3mm 0 1mm;
  letter-spacing: 0.18em;
  font-size: 5mm;
  font-weight: 700;
}
.is-bodega .bg-var { font-size: 3.3mm; letter-spacing: 0.14em; text-transform: uppercase; }
.is-bodega .bg-do {
  font-family: "Cormorant Garamond", Palatino, Georgia, serif;
  font-size: 3mm;
  font-style: italic;
  max-width: 92%;
  line-height: 1.15;
}
.is-bodega .bg-por {
  margin-top: 0.6mm;
  font-family: "Cormorant Garamond", Palatino, Georgia, serif;
  font-size: 2.8mm;
  font-style: italic;
}

.is-bodega.story { padding: 2mm; }
.is-bodega .bg-story {
  height: 100%;
  border: 0.25mm solid #8d7040;
  padding: 2.4mm 2.6mm 1.8mm;
  display: flex;
  flex-direction: column;
  font-family: Cinzel, Palatino, Georgia, serif;
}
.is-bodega .pair {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5mm;
}
.is-bodega .col { display: flex; flex-direction: column; min-height: 0; text-align: center; }
.is-bodega .bg-cap { margin: 0 0 1.2mm; font-size: 3.2mm; letter-spacing: 0.12em; text-transform: uppercase; }
.is-bodega .well {
  flex: 1;
  min-height: 36mm;
  position: relative;
  overflow: hidden;
  border: 0.3mm solid #8d7040;
  background: #efe6d2;
}
.is-bodega .ghost-bodega {
  position: absolute;
  inset: 3mm;
  border: 0.2mm solid #8d7040;
}
.is-bodega .bg-story-foot {
  margin-top: 1.5mm;
  text-align: center;
  font-size: 2.6mm;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.is-bodega.neck {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a120c;
  color: #e7d7ae;
  border-color: #1a120c;
}
.is-bodega.neck p {
  font-size: 2.5mm;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Moderna: barra de color, año enorme, sin adorno */

.is-moderna {
  background: #fbfbfa;
  color: #161616;
  border: 0.25mm solid #161616;
  font-family: Outfit, "Segoe UI", sans-serif;
}

.is-moderna .mo { display: flex; height: 100%; }
.is-moderna .mo-rail { width: 7mm; flex: 0 0 7mm; background: #7a2432; }
.is-moderna .mo-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 6mm 5mm 5mm 4.5mm;
  min-width: 0;
}
.is-moderna .mo-casa {
  font-size: 3.2mm;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.is-moderna .mo-year {
  margin-top: 2mm;
  font-size: 16mm;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.82;
}
.is-moderna .mo-var {
  margin-top: 2.5mm;
  font-size: 6.2mm;
  font-weight: 500;
  line-height: 1;
}
.is-moderna .mo-vino,
.is-moderna .mo-eco,
.is-moderna .mo-natural {
  font-size: 3.3mm;
  font-weight: 300;
  line-height: 1.25;
}
.is-moderna .mo-vino { margin-top: 3mm; }
.is-moderna .mo-foot { margin-top: auto; }
.is-moderna .mo-desde,
.is-moderna .mo-do,
.is-moderna .mo-por {
  font-size: 2.8mm;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.is-moderna .mo-do { font-weight: 300; }

.is-moderna.story { background: #fbfbfa; }

.is-bodega .bg-band,
.is-bodega.neck,
.is-moderna .mo-rail,
.is-moderna.neck,
.is-bodega .well,
.is-moderna .well,
.is-rustica .well {
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.is-moderna .mo-story { height: 100%; }
.is-moderna .pair {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3mm;
}
.is-moderna .col { display: flex; flex-direction: column; min-height: 0; }
.is-moderna .mo-cap {
  margin: 0 0 1.4mm;
  font-size: 3.4mm;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.is-moderna .well {
  flex: 1;
  min-height: 40mm;
  position: relative;
  overflow: hidden;
  background: #eceae6;
  border: 0;
}
.is-moderna.neck {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3.5mm;
  background: #161616;
  color: #fbfbfa;
  border-color: #161616;
}
.is-moderna.neck p,
.is-moderna.neck b {
  font-size: 2.8mm;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
