/* =========================================================================
   Ficha de pack «Tierra y Mar» (template-parts/product/wine-pack.php)
   Mezcla de las dos fichas: la luz de tarde y el polen de la de tierra arriba del horizonte;
   el Atlántico, los rayos y la nieve marina de la de mar debajo. Las dos ventanas del estuche
   de la bodega («~ Terrestre ~ / ~ Submarino ~») enseñan cada botella en su mundo.
   La tarjeta de pack y el sello doble están en shop.css (también los usa la página Vinos).
   ========================================================================= */
.lh-wine--pack { --pack-horizon: 54%; }

/* Cabecera: el horizonte ------------------------------------------------- */
.lh-pack-head { position: relative; overflow: hidden; color: var(--arena-50); padding: clamp(40px, 6vw, 72px) var(--container-pad) clamp(64px, 8vw, 104px);
	background: linear-gradient(180deg, #1a130d 0%, #2e1e11 24%, #4a2b17 calc(var(--pack-horizon) - 1px), #1d5b69 var(--pack-horizon), var(--atlantico-900) 78%, #0b242c 100%); }
.lh-js .lh-hero-page .lh-pack-head { padding-top: calc(72px + clamp(40px, 6vw, 72px)); }
.lh-pack-head__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 38% 22% at 28% var(--pack-horizon), rgba(226,150,78,.55), rgba(214,140,70,.18) 55%, transparent 75%); }
.lh-pack-head__ridge { position: absolute; left: 0; right: 0; bottom: calc(100% - var(--pack-horizon)); width: 100%; height: 22%; pointer-events: none; }
.lh-pack-head__line { position: absolute; left: 0; right: 0; top: var(--pack-horizon); height: 1px; background: linear-gradient(90deg, transparent, rgba(246,235,210,.45) 20%, rgba(246,235,210,.25) 70%, transparent); }
.lh-pack-head__shimmer { position: absolute; left: 10%; width: 36%; top: var(--pack-horizon); height: 14%; background: repeating-linear-gradient(180deg, rgba(240,180,110,.18) 0 2px, transparent 2px 9px); -webkit-mask-image: radial-gradient(ellipse 50% 100% at 50% 0, #000, transparent); mask-image: radial-gradient(ellipse 50% 100% at 50% 0, #000, transparent); }
/* Arriba sube el polen; abajo cae la nieve marina y entran los rayos */
.lh-pack-head__sky, .lh-pack-head__sea { position: absolute; left: 0; right: 0; overflow: hidden; pointer-events: none; }
.lh-pack-head__sky { top: 0; bottom: calc(100% - var(--pack-horizon)); }
.lh-pack-head__sea { top: var(--pack-horizon); bottom: 0; }
.lh-pack-head__sky span { position: absolute; bottom: -10px; border-radius: 50%; background: rgba(233,196,120,.85); box-shadow: 0 0 8px 2px rgba(233,196,120,.4); animation: lhPackPollen linear infinite; }
.lh-pack-head__sea span { position: absolute; top: -10px; border-radius: 50%; background: rgba(232,246,248,.9); box-shadow: 0 0 6px 1px rgba(150,215,228,.5); animation: lhPackSnow linear infinite; }
.lh-pack-head__sea i { position: absolute; top: -10%; width: 110px; height: 130%; background: linear-gradient(180deg, rgba(220,238,240,.16), transparent 75%); filter: blur(10px); transform: rotate(18deg); transform-origin: 50% 0; }
@keyframes lhPackPollen { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: .9; } 100% { transform: translate(14px, -40vh); opacity: 0; } }
@keyframes lhPackSnow { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: .85; } 100% { transform: translate(-8px, 46vh); opacity: 0; } }
@keyframes lhPackFloat { 0%, 100% { transform: translateY(0) rotate(-1.5deg); } 50% { transform: translateY(-12px) rotate(1.5deg); } }
/* Una sola escala para los dos mundos: altitud del viñedo, nivel del mar y profundidad */
.lh-pack-head__scale { position: absolute; right: clamp(12px, 2vw, 28px); top: 14%; bottom: 10%; width: 64px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.lh-pack-head__scale::before { content: ""; position: absolute; right: 8px; top: 0; bottom: 0; width: 1px; background: linear-gradient(180deg, rgba(233,196,120,.15), rgba(233,196,120,.7) 46%, rgba(220,238,240,.7) 54%, rgba(220,238,240,.15)); }
.lh-pack-head__scale span { position: absolute; right: 18px; white-space: nowrap; transform: translateY(-50%); }
.lh-pack-head__scale span:nth-child(1) { top: 2%; color: var(--arena-300); }
.lh-pack-head__scale span:nth-child(2) { top: calc((var(--pack-horizon) - 14%) / .76); color: var(--arena-50); }
.lh-pack-head__scale span:nth-child(3) { top: 98%; color: var(--atlantico-100); }
.lh-pack-head__scale b { position: absolute; right: 4px; width: 9px; height: 9px; border-radius: 50%; transform: translateY(-50%); }
.lh-pack-head__scale b:nth-of-type(1) { top: 2%; background: var(--caldera-600); box-shadow: 0 0 0 4px rgba(149,64,31,.3); }
.lh-pack-head__scale b:nth-of-type(2) { top: 98%; background: var(--atlantico-500); box-shadow: 0 0 0 4px rgba(46,140,158,.3); }

.lh-pack-head__inner { position: relative; }
.lh-pack-head .lh-breadcrumb--inverse, .lh-pack-head .lh-breadcrumb--inverse a { color: var(--arena-200); }
.lh-pack-head .lh-breadcrumb--inverse a:hover { color: var(--arena-50); }
.lh-pack-head__grid { display: grid; grid-template-columns: minmax(320px, 480px) 1fr; gap: clamp(40px, 6vw, 88px); align-items: center; }

/* Las dos ventanas del estuche */
.lh-pack-pair { display: flex; justify-content: center; align-items: flex-start; gap: clamp(14px, 2vw, 22px); }
.lh-pack-win { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.lh-pack-win--mar { margin-top: 56px; } /* una se queda, la otra baja */
.lh-pack-win__frame { position: relative; width: clamp(140px, 15vw, 206px); aspect-ratio: 206 / 430; border-radius: 999px 999px 20px 20px; overflow: hidden; box-shadow: 0 30px 60px rgba(0,0,0,.45), inset 0 0 0 1px rgba(250,245,234,.2); }
.lh-pack-win__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lh-pack-win__veil { position: absolute; inset: 0; }
.lh-pack-win--tierra .lh-pack-win__bg { object-position: 62% 72%; transform: scale(1.25); transform-origin: 62% 72%; }
.lh-pack-win--tierra .lh-pack-win__veil { background: radial-gradient(circle at 50% 30%, rgba(240,196,120,.45), transparent 55%), linear-gradient(180deg, rgba(74,43,23,.35) 0%, rgba(46,30,17,.6) 55%, rgba(23,17,11,.92) 100%); }
.lh-pack-win--mar .lh-pack-win__bg { object-position: 30% 40%; }
.lh-pack-win--mar .lh-pack-win__veil { background: linear-gradient(180deg, rgba(46,140,158,.35) 0%, rgba(29,91,105,.65) 50%, rgba(11,36,44,.94) 100%); }
.lh-pack-win__bottle { position: absolute; left: 50%; bottom: 5%; height: 80%; width: auto; max-width: none; translate: -50% 0; }
.lh-pack-win--tierra .lh-pack-win__bottle { filter: drop-shadow(0 16px 18px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(240,196,120,.25)); }
.lh-pack-win--mar .lh-pack-win__bottle { translate: -42% 0; filter: drop-shadow(0 18px 22px rgba(0,0,0,.5)); animation: lhPackFloat 7s ease-in-out infinite; }
.lh-pack-win__label { font-family: var(--font-script); font-size: 26px; line-height: 1; white-space: nowrap; }
.lh-pack-win--tierra .lh-pack-win__label { color: var(--mosto-100); }
.lh-pack-win--mar .lh-pack-win__label { color: var(--atlantico-100); }
.lh-pack-win__where { margin-top: -6px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; text-align: center; color: var(--arena-300); }
.lh-pack-win--mar .lh-pack-win__where { color: var(--atlantico-100); opacity: .8; }
/* Sin sus dos vinos enlazados: el estuche */
.lh-pack-case { display: flex; justify-content: center; }
.lh-pack-case__img { height: clamp(380px, 40vw, 480px); width: auto; filter: drop-shadow(0 30px 40px rgba(0,0,0,.5)); }

.lh-pack-head__info { display: flex; flex-direction: column; justify-content: center; }
.lh-pack-head__badge { align-self: flex-start; margin-bottom: 18px; }
.lh-pack-head__eyebrow { color: var(--arena-300); }
.lh-pack-head__title { margin: 14px 0 0; font-weight: 500; font-size: var(--text-display-xl); line-height: var(--lh-display-xl); color: var(--arena-50); }
.lh-pack-head__vintage { margin-top: 8px; font-family: var(--font-script); font-size: var(--text-script); background: linear-gradient(90deg, var(--mosto-100), var(--atlantico-100)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lh-pack-head__lead { margin-top: 24px; max-width: 560px; font-size: var(--text-lead); line-height: var(--lh-lead); color: var(--arena-100); }
.lh-pack-head__lead p { margin: 0; }
.lh-pack-head .lh-price { color: var(--arena-50); }
.lh-pack-head .lh-qty { border-color: rgba(243,234,219,.35); }
.lh-pack-head .lh-stock-note { color: var(--arena-200); }
.lh-pack-head .lh-caption { color: var(--text-inverse-muted); }

/* Un mismo vino, dos crianzas ------------------------------------------- */
.lh-pack-fork { background: var(--arena-50); }
.lh-pack-trunk { margin: 44px auto 0; max-width: 980px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); }
.lh-pack-trunk--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
.lh-pack-trunk--1 { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
.lh-pack-trunk div { padding: 20px 22px; text-align: center; }
.lh-pack-trunk div + div { border-left: 1px solid var(--border-subtle); }
.lh-pack-trunk dt { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--text-muted); }
.lh-pack-trunk dd { margin: 8px 0 0; font-size: var(--text-small); line-height: var(--lh-small); color: var(--basalto-700); }
.lh-pack-split { display: block; width: 100%; max-width: 980px; height: 70px; margin: 0 auto; overflow: visible; }
.lh-pack-compare { max-width: 980px; margin: 0 auto; }
.lh-pack-compare__head, .lh-pack-compare__row { display: grid; grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr); gap: 0 28px; }
.lh-pack-compare__head { align-items: end; padding-bottom: 18px; }
.lh-pack-compare__side { display: flex; flex-direction: column; gap: 4px; }
.lh-pack-compare__side--tierra { text-align: right; align-items: flex-end; }
.lh-pack-compare__side strong { font-family: var(--font-display); font-weight: 500; font-size: 34px; line-height: 1.1; }
.lh-pack-compare__side--tierra strong { color: var(--tierra-700); }
.lh-pack-compare__side--mar strong { color: var(--atlantico-700); }
.lh-pack-compare__side small { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }
.lh-pack-compare__side--tierra small { color: var(--caldera-600); }
.lh-pack-compare__side--mar small { color: var(--atlantico-500); }
.lh-pack-compare__side .lh-caption { margin: 0; }
.lh-pack-compare__row { border-top: 1px solid var(--border-subtle); padding: 20px 0; }
.lh-pack-compare__row:last-child { border-bottom: 1px solid var(--border-subtle); }
.lh-pack-compare__row p { margin: 0; font-size: var(--text-small); line-height: var(--lh-small); }
.lh-pack-compare__row p:first-child { text-align: right; color: var(--tierra-700); }
.lh-pack-compare__row p:last-child { color: var(--atlantico-700); }
.lh-pack-compare__label { align-self: start; text-align: center; padding-top: 2px; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--basalto-500); }
.lh-pack-compare__label::before { content: ""; display: block; width: 8px; height: 8px; margin: 0 auto 8px; border-radius: 50%; background: linear-gradient(90deg, var(--caldera-600) 50%, var(--atlantico-500) 50%); }
/* Sin nota terrestre de la añada del pack: a la izquierda su versión de tierra (la que está a la venta),
   a la derecha la nota del submarino; mismas columnas que la comparativa, unidas por la espina central */
.lh-pack-solo { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr); gap: 0 28px; padding-top: 36px; }
.lh-pack-solo--sea { grid-template-columns: minmax(0, 620px); justify-content: center; }
.lh-pack-solo__land { align-self: center; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.lh-pack-solo__halo { position: relative; width: 170px; height: 230px; display: flex; align-items: flex-end; justify-content: center; margin-bottom: 18px; }
.lh-pack-solo__halo::before { content: ""; position: absolute; inset: 6px 10px 0; border-radius: 999px 999px 45% 45%; background: linear-gradient(180deg, rgba(232,217,190,.95) 0%, rgba(214,192,154,.8) 55%, rgba(226,178,106,.6) 100%); filter: blur(18px); opacity: .85; }
.lh-pack-solo__halo img { position: relative; height: 210px; width: auto; filter: drop-shadow(0 16px 16px rgba(23,17,11,.28)); }
.lh-pack-solo__land small { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--caldera-600); }
.lh-pack-solo__land strong { font-family: var(--font-display); font-weight: 500; font-size: 30px; line-height: 1.15; color: var(--tierra-700); }
.lh-pack-solo__vintage { font-family: var(--font-script); font-size: 20px; color: var(--tierra-600); }
.lh-pack-solo__land p { margin: 10px 0 0; max-width: 32ch; font-size: var(--text-small); line-height: var(--lh-small); color: var(--tierra-700); }
.lh-pack-solo a { margin-top: 14px; font-size: var(--text-small); text-underline-offset: 3px; }
.lh-pack-solo__land a { color: var(--caldera-700); }
.lh-pack-solo__sea a { display: inline-block; color: var(--atlantico-700); }
.lh-pack-solo__spine { justify-self: center; width: 1px; background: linear-gradient(180deg, var(--caldera-600), var(--atlantico-500)); opacity: .55; }
.lh-pack-solo__title { margin-bottom: 12px; font-family: var(--font-script); font-size: var(--text-script); color: var(--atlantico-700); }
.lh-pack-solo .lh-rows__row { grid-template-columns: 80px 1fr; }
.lh-pack-solo .lh-rows dd { color: var(--atlantico-700); }
.lh-pack-compare__note { margin: 22px auto 0; max-width: 620px; text-align: center; font-size: var(--text-caption); color: var(--text-muted); }
.lh-pack-compare__links { margin-top: 18px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 28px; font-size: var(--text-small); }
.lh-pack-compare__links a { color: var(--caldera-700); text-underline-offset: 3px; }
.lh-pack-compare__links a:last-child:not(:first-child), .lh-pack-compare__links a:only-child { color: var(--atlantico-700); }

/* El estuche ------------------------------------------------------------ */
.lh-pack-box { background: linear-gradient(180deg, var(--basalto-900) 0%, #2e1e11 46%, var(--atlantico-900) 100%); color: var(--arena-100); }
.lh-pack-box__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.lh-pack-box__photo { border-radius: var(--radius-lg, 16px); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.lh-pack-box__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lh-pack-box__quote { margin: 26px 0 0; font-family: var(--font-script); font-size: clamp(28px, 3vw, 38px); line-height: 1.25; background: linear-gradient(90deg, var(--mosto-100), var(--atlantico-100)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lh-pack-box__list { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--border-inverse); }
.lh-pack-box__list li { padding: 14px 0; border-bottom: 1px solid var(--border-inverse); display: grid; grid-template-columns: 34px 1fr; gap: 12px; font-size: var(--text-small); line-height: var(--lh-small); }
.lh-pack-box__list b { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1; color: var(--arena-300); }

/* Móvil ------------------------------------------------------------------ */
@media (max-width: 960px) {
	.lh-wine--pack { --pack-horizon: 34%; }
	.lh-pack-head__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.lh-pack-head__scale { display: none; }
	.lh-pack-head__glow { background: radial-gradient(ellipse 70% 14% at 50% var(--pack-horizon), rgba(226,150,78,.55), transparent 75%); }
	.lh-pack-box__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.lh-pack-win__frame { width: 40vw; }
	.lh-pack-win--mar { margin-top: 40px; }
	.lh-pack-win__label { font-size: 22px; }
	.lh-pack-win__where { font-size: 10px; letter-spacing: .1em; }
	.lh-pack-trunk, .lh-pack-trunk--2 { grid-template-columns: minmax(0, 1fr); }
	.lh-pack-trunk div + div { border-left: 0; border-top: 1px solid var(--border-subtle); }
	.lh-pack-split, .lh-pack-compare__head { display: none; }
	.lh-pack-compare { margin-top: 28px; }
	.lh-pack-compare__row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.lh-pack-compare__row p:first-child, .lh-pack-compare__row p:last-child { text-align: left; padding-left: 14px; border-left: 2px solid; }
	.lh-pack-compare__row p:first-child { border-color: var(--caldera-600); order: 2; }
	.lh-pack-compare__row p:last-child { border-color: var(--atlantico-500); order: 3; }
	.lh-pack-compare__label { order: 1; text-align: left; display: flex; align-items: center; gap: 8px; }
	.lh-pack-compare__label::before { margin: 0; }
	.lh-pack-compare__row p::before { display: block; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; margin-bottom: 4px; }
	.lh-pack-compare__row p:first-child::before { content: "Terrestre"; color: var(--caldera-600); }
	.lh-pack-compare__row p:last-child::before { content: "Submarino"; color: var(--atlantico-500); }
	.lh-pack-solo { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.lh-pack-solo__spine { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.lh-pack-head__sky span, .lh-pack-head__sea span, .lh-pack-win--mar .lh-pack-win__bottle { animation: none; }
}
