@font-face{font-family:"Fraunces";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/Fraunces-Regular.woff2") format("woff2");}
@font-face{font-family:"Fraunces";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/Fraunces-SemiBold.woff2") format("woff2");}
@font-face{font-family:"Fraunces";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/Fraunces-Bold.woff2") format("woff2");}
@font-face{font-family:"General Sans";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/GeneralSans-Regular.woff2") format("woff2");}
@font-face{font-family:"General Sans";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/GeneralSans-Medium.woff2") format("woff2");}
@font-face{font-family:"General Sans";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/GeneralSans-SemiBold.woff2") format("woff2");}
@font-face{font-family:"General Sans";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/GeneralSans-Bold.woff2") format("woff2");}

:root{
  --bg:#0A0705; --bg-raised:#170F09; --bg-raised-2:#1F140B;
  --ink:#EDEAE3; --ink-dim:#C9BDA9; --ink-faint:#8C8072;
  --accent:#C97A32; --accent-strong:#E08F3E; --accent-ink:#1B0F06;
  --line:rgba(237,234,227,0.14); --line-strong:rgba(237,234,227,0.28);
  --voice-cultural:#8C8072; --voice-marca:#C97A32;
  --shadow: 0 30px 60px -20px rgba(0,0,0,0.6);
  --radius:2px; --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:.2s; --dur:.35s; --dur-slow:.6s;
}
/* Identidad deliberadamente de un solo mundo visual (oscuro, cinematográfico) —
   decisión de Fase 2, no una omisión: el Hero depende de una fotografía de baja
   clave que solo funciona sobre fondo oscuro. Se ignora prefers-color-scheme y
   cualquier data-theme del visor a propósito. */
:root[data-theme="dark"], :root[data-theme="light"]{
  --bg:#0A0705; --bg-raised:#170F09; --bg-raised-2:#1F140B; --ink:#EDEAE3; --ink-dim:#C9BDA9; --ink-faint:#8C8072;
  --accent:#C97A32; --accent-strong:#E08F3E; --accent-ink:#1B0F06; --line:rgba(237,234,227,0.14); --line-strong:rgba(237,234,227,0.28);
  --voice-cultural:#8C8072; --voice-marca:#C97A32; --shadow:0 30px 60px -20px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"General Sans", ui-sans-serif, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* Tipografía de títulos: global a propósito (la identidad tipográfica debe verse
   igual en la tienda). Los márgenes en cero, en cambio, son del layout de la
   landing: se acotan a .jh-landing (con :where(), especificidad 0) para no
   aplanar el espaciado de WooCommerce ni de las páginas internas. */
h1,h2,h3{font-family:"Fraunces", Georgia, serif; text-wrap:balance; font-weight:600; letter-spacing:-0.01em;}
:where(.jh-landing) :is(h1,h2,h3){margin:0;}
:where(.jh-landing) p{margin:0;}
a{color:inherit;}
.jh-container{max-width:1240px; margin:0 auto; padding:0 28px;}
.jh-eyebrow{font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-faint); font-weight:600;}
.jh-eyebrow.jh-on-accent{color:var(--accent);}
.jh-eyebrow.jh-on-hero{color:#DCD2C2;}
.jh-wordmark.jh-sm{font-size:15px;}

/* ---- nav ---- */
.jh-nav{
  position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; backdrop-filter:blur(10px);
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  border-bottom:1px solid var(--line); opacity:0; transform:translateY(-100%);
  transition:opacity .4s ease, transform .4s ease;
}
.jh-nav.jh-show{opacity:1; transform:translateY(0);}
.jh-wordmark{font-family:"Fraunces"; font-size:clamp(20px, 1.8vw, 24px); line-height:1.1; letter-spacing:0.04em; font-weight:600;}
.jh-navlinks{display:flex; gap:26px; font-size:13px; letter-spacing:0.03em;}
.jh-navlinks a{text-decoration:none; color:var(--ink-dim); transition:color var(--dur-fast) var(--ease);}
.jh-navlinks a:hover{color:var(--accent);}
.jh-navlinks{display:none;}
@media(min-width:860px){.jh-navlinks{display:flex;}}
.jh-navlinks a:focus-visible, .jh-sec-head .jh-more:focus-visible, .jh-fgrid a:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:1px;}

/* ---- buttons ---- */
.jh-btn{
  font-family:"General Sans"; font-size:13px; font-weight:600; letter-spacing:0.03em;
  padding:11px 22px; border-radius:var(--radius); border:1px solid var(--line-strong); cursor:pointer;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), letter-spacing var(--dur) var(--ease);
  background:transparent; color:var(--ink);
}
.jh-btn:hover{border-color:var(--ink-dim); letter-spacing:0.06em;}
.jh-btn.jh-primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.jh-btn.jh-primary:hover{background:var(--accent-strong); border-color:var(--accent-strong);}
.jh-btn:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.jh-btn.jh-sm{padding:9px 18px; font-size:12.5px;}

/* ---- hero ---- */
.jh-hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden;}
.jh-hero-media{position:absolute; inset:0; overflow:hidden; background:#000;}
.jh-hero-media video{width:100%; height:100%; object-fit:cover; object-position:50% 38%; display:block;}
.jh-hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(to top, color-mix(in srgb, var(--bg) 94%, transparent) 0%, color-mix(in srgb, var(--bg) 50%, transparent) 40%, color-mix(in srgb, var(--bg) 14%, transparent) 66%, transparent 100%),
    linear-gradient(to right, color-mix(in srgb, var(--bg) 58%, transparent) 0%, transparent 38%),
    linear-gradient(to bottom, color-mix(in srgb, var(--bg) 35%, transparent) 0%, transparent 22%);
}
.jh-hero-content{position:relative; z-index:2; padding:0 clamp(32px,7vw,96px) clamp(130px,18vh,196px); max-width:560px;}
.jh-hero h1{font-size:clamp(38px,6vw,64px); line-height:1.08; margin:30px 0 34px; color:#F4EFE6;}
.jh-hero .jh-sub{font-size:17px; color:#DCD2C2; max-width:400px; margin-bottom:52px; line-height:1.65;}
.jh-hero .jh-ctas{display:flex; gap:18px; flex-wrap:wrap;}
.jh-hero .jh-btn{background:rgba(10,7,5,0.32); border-color:rgba(244,239,230,0.4); color:#F4EFE6; backdrop-filter:blur(6px);}
.jh-hero .jh-btn.jh-primary{background:var(--accent); border-color:var(--accent); color:#1B0F06;}
.jh-scrolldown{
  position:absolute; z-index:2; left:50%; bottom:30px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px; color:#DCD2C2; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase;
}
.jh-scrolldown .jh-line{position:relative; width:1px; height:40px; background:rgba(220,210,194,0.22); overflow:hidden;}
.jh-scrolldown .jh-line::after{content:""; position:absolute; left:0; top:-40%; width:100%; height:40%; background:linear-gradient(to bottom, transparent, #F4EFE6, transparent); animation:drip 2.6s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes drip{0%{top:-40%;} 100%{top:100%;}}

/* ---- marquee (trust strip) ---- */
.jh-marquee{position:relative; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg); padding:16px 0;}
.jh-marquee::before, .jh-marquee::after{content:""; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;}
.jh-marquee::before{left:0; background:linear-gradient(to right, var(--bg), transparent);}
.jh-marquee::after{right:0; background:linear-gradient(to left, var(--bg), transparent);}
.jh-marquee-track{display:flex; width:max-content; animation:marquee-scroll 48s linear infinite;}
.jh-marquee-group{display:flex; align-items:center; flex-shrink:0;}
.jh-marquee-group span{font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); white-space:nowrap; padding:0 28px;}
.jh-marquee-group i{color:var(--accent); font-style:normal; font-size:8px; opacity:.8;}
@keyframes marquee-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.jh-marquee-track{animation:none;}}

/* ---- reveal ---- */
.jh-reveal{opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.2,.6,.2,1), transform .8s cubic-bezier(.2,.6,.2,1);}
.jh-reveal.jh-in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .jh-reveal{opacity:1; transform:none; transition:none;} .jh-scrolldown .jh-line::after{animation:none;} }

/* El ritmo de 104px es de las secciones de la landing; acotado para que no
   alcance a los <section> que WooCommerce usa (relacionados, up-sells...). */
:where(.jh-landing) section{padding:80px 0;}
@media(max-width:720px){:where(.jh-landing) section{padding:72px 0;}}

/* ---- manifiesto ---- */
/* Interstitial beat, not a full content section: tighter than the 104px section rhythm on
   purpose, so it reads as a bridge between Hero and Selección rather than a third block. */
.jh-manifiesto{
  text-align:center; position:relative; padding:36px 0 44px;
  background:radial-gradient(ellipse 60% 220px at 50% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%);
}
.jh-manifiesto .jh-stmt{
  font-family:"Fraunces"; font-weight:500; font-style:italic; font-size:clamp(21px,2.6vw,29px);
  max-width:680px; margin:16px auto 0; color:var(--ink); line-height:1.4;
}

/* ---- section head ---- */
.jh-sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:44px; flex-wrap:wrap;}
.jh-sec-head h2{font-size:clamp(26px,3.4vw,38px);}
.jh-sec-head .jh-more{font-size:13px; color:var(--ink-dim); text-decoration:none; white-space:nowrap; border-bottom:1px solid transparent; transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);}
.jh-sec-head .jh-more:hover{color:var(--accent); border-color:var(--accent);}
.jh-h2-split{margin:14px 0 28px; font-size:clamp(24px,3vw,32px);}

/* ---- product grid ---- */
.jh-pgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.jh-pcard{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1; background:var(--bg-raised);}
.jh-pcard img{width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease);}
.jh-pcard:hover img{transform:scale(1.045);}
.jh-pcard .jh-scrim{position:absolute; inset:0; background:linear-gradient(to top, rgba(10,7,5,0.92) 0%, rgba(10,7,5,0.55) 30%, transparent 62%);}
.jh-pcard .jh-info{position:absolute; left:0; right:0; bottom:0; padding:20px; color:#F4EFE6;}
.jh-pcard .jh-pname{font-family:"Fraunces"; font-size:18px; font-weight:600; margin-bottom:6px;}
.jh-pcard .jh-pprice{
  font-size:14px; color:#E3D9C6; letter-spacing:.02em; font-variant-numeric:tabular-nums;
  opacity:0; max-height:0; transition:opacity var(--dur) var(--ease), max-height var(--dur) var(--ease);
}
.jh-pcard:hover .jh-pprice{opacity:1; max-height:24px;}
/* Tarjetas enlazadas (Selección y Colecciones): mismo aspecto, sin estilo de enlace. */
a.jh-pcard, a.jh-ctile{display:block; color:inherit; text-decoration:none;}
a.jh-pcard:focus-visible, a.jh-ctile:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.jh-pcard .jh-tag{position:absolute; top:16px; left:16px; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:#F4EFE6; background:rgba(10,7,5,0.4); border:1px solid rgba(244,239,230,0.35); padding:5px 10px; border-radius:999px; backdrop-filter:blur(4px);}

@media(max-width:900px){
  .jh-pgrid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .jh-pgrid{grid-auto-flow:column; grid-auto-columns:78%; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; margin:0 -28px; padding-left:28px; padding-right:28px;}
  .jh-pgrid .jh-pcard{scroll-snap-align:start;}
  .jh-pcard .jh-pprice{opacity:1; max-height:24px;}
}

.jh-closer{margin-top:40px; text-align:center; font-family:"Fraunces"; font-style:italic; font-size:19px; color:var(--ink-dim);}

/* ---- colecciones ---- */
.jh-cgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.jh-ctile{position:relative; border-radius:var(--radius); overflow:hidden; background:var(--bg-raised);}
.jh-ctile.jh-lead{grid-column:span 2; aspect-ratio:21/9;}
.jh-ctile:not(.jh-lead){aspect-ratio:16/11;}
.jh-ctile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease);}
.jh-ctile:not(.jh-pending):hover img{transform:scale(1.04);}
.jh-ctile.jh-pending img{filter:saturate(.6) brightness(.75); opacity:.75;}
.jh-ctile .jh-scrim{position:absolute; inset:0; background:linear-gradient(to top, rgba(10,7,5,0.85), transparent 55%);}
.jh-ctile .jh-info{position:absolute; left:0; bottom:0; padding:24px;}
.jh-ctile .jh-fname{font-family:"Fraunces"; font-size:clamp(20px,2.2vw,28px); color:#F4EFE6; font-weight:600;}
.jh-ctile .jh-ftag{font-size:13px; color:#DCD2C2; margin-top:6px; max-width:360px;}
.jh-ctile .jh-badge{position:absolute; top:18px; right:18px; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; background:var(--accent); color:#1B0F06; padding:6px 12px; border-radius:999px; font-weight:700;}
@media(max-width:720px){.jh-cgrid{grid-template-columns:1fr;} .jh-ctile.jh-lead{grid-column:span 1; aspect-ratio:16/11;}}

/* ---- entrada a la tienda: "Conoce nuestra tienda" (todo el bloque enlaza a la tienda) ---- */
.jh-entry{
  position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:56px;
  padding:56px 64px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:radial-gradient(ellipse 60% 75% at 78% 50%, rgba(201,122,50,.18), transparent 70%), var(--bg-raised);
  color:inherit; text-decoration:none; transition:border-color var(--dur) var(--ease);
}
.jh-entry:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);}
.jh-entry:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.jh-entry-copy{display:flex; flex-direction:column; align-items:flex-start; gap:18px;}
.jh-entry-title{font-family:"Fraunces", Georgia, serif; font-size:clamp(36px,5vw,62px); line-height:1.02; color:var(--ink); font-weight:600;}
.jh-entry-text{max-width:430px; font-size:16.5px; line-height:1.7; color:var(--ink-dim);}
.jh-entry-btn{margin-top:8px;}
.jh-entry:hover .jh-entry-btn{background:var(--accent-strong); border-color:var(--accent-strong); letter-spacing:0.06em;}
.jh-entry-media{
  justify-self:center; position:relative; width:min(100%, 340px); aspect-ratio:9/16; border-radius:var(--radius); overflow:hidden;
  background:var(--bg); border:1px solid var(--line-strong); box-shadow:0 34px 90px rgba(0,0,0,.6), 0 0 0 10px rgba(237,234,227,.03);
}
.jh-entry-ph{border-color:transparent; box-shadow:none; background:transparent;}
.jh-entry-video{position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease);}
.jh-entry:hover .jh-entry-video{transform:scale(1.035);}
/* "Toca para entrar": círculo con flecha sobre el video */
.jh-entry-play{position:absolute; left:50%; top:50%; z-index:2; display:flex; flex-direction:column; align-items:center; gap:12px; transform:translate(-50%,-50%); color:#F4EFE6; pointer-events:none; transition:opacity .3s var(--ease);}
.jh-entry-play svg{box-sizing:content-box; padding:22px; border-radius:50%; border:1px solid rgba(244,239,230,.55); background:rgba(10,7,5,.35); backdrop-filter:blur(6px); animation:jh-entry-pulse 2.6s var(--ease) infinite; transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);}
.jh-entry:hover .jh-entry-play svg{background:var(--accent); border-color:var(--accent); color:var(--accent-ink); transform:scale(1.06);}
.jh-entry-play-label{font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; text-shadow:0 1px 10px rgba(0,0,0,.7);}
@keyframes jh-entry-pulse{0%{box-shadow:0 0 0 0 rgba(224,143,62,.45);} 70%{box-shadow:0 0 0 18px rgba(224,143,62,0);} 100%{box-shadow:0 0 0 0 rgba(224,143,62,0);}}
@media(max-width:900px){.jh-entry{gap:36px; padding:44px 40px;}}
@media(max-width:720px){
  /* Móvil: el video vertical ocupa la tarjeta y el texto va encima, abajo. */
  .jh-entry{grid-template-columns:1fr; padding:0; gap:0; background:var(--bg-raised);}
  .jh-entry-media{grid-area:1 / 1; width:100%; border:0; box-shadow:none;}
  .jh-entry-copy{grid-area:1 / 1; align-self:end; z-index:3; gap:12px; padding:120px 22px 26px; background:linear-gradient(to top, rgba(10,7,5,.95) 0%, rgba(10,7,5,.72) 55%, transparent 100%);}
  .jh-entry-play{top:36%;}
  .jh-entry-text{font-size:15px;}
}

/* La tarjeta crece en su sitio hasta llenar la pantalla (la mueve main.js al tocarla). */
html.jh-intro-open, html.jh-intro-open body{overflow:hidden;}
.jh-entry-media.is-fixed{
  position:fixed; z-index:9999; margin:0; max-width:none; aspect-ratio:auto; background:#000;
  transition:top .5s cubic-bezier(.7,0,.2,1), left .5s cubic-bezier(.7,0,.2,1), width .5s cubic-bezier(.7,0,.2,1), height .5s cubic-bezier(.7,0,.2,1), border-color .5s, box-shadow .5s;
}
.jh-entry-media.is-fixed.is-full{border-color:transparent; box-shadow:none;}
.jh-entry-media.is-fixed .jh-entry-play{opacity:0;}
.jh-entry-media.is-fixed .jh-entry-video{transform:none; transition:none;}
/* Pantallas anchas: el video vertical completo y, detrás, el mismo cuadro desenfocado. */
.jh-entry-media::before{content:""; position:absolute; inset:-60px; z-index:0; background:url("../images/entrada-tienda-poster.jpg") center / cover; filter:blur(36px) brightness(.22) saturate(1.1); /* antes .36 -- Yordi 2026-11-01: lados más oscuros, efecto cine */ opacity:0; transition:opacity .6s var(--ease);}
.jh-entry-media.is-full::before{opacity:1;}
.jh-entry-media.is-full .jh-entry-video{object-fit:contain;}
@media(max-aspect-ratio:3/4){.jh-entry-media.is-full .jh-entry-video{object-fit:cover;}}
/* Final: "atravesar la puerta". La imagen acelera hacia el fondo del local (zoom
   rápido con desenfoque de movimiento y la luz que se abre) y la tienda llega
   acercándose (inc/woocommerce.php). Sin fundido largo. */
.jh-entry-media::after{content:""; position:absolute; inset:0; z-index:3; background:radial-gradient(ellipse at 50% 42%, rgba(255,247,235,.55), rgba(10,7,5,0) 60%), var(--bg); opacity:0; pointer-events:none;}
.jh-entry-media.is-entering .jh-entry-video{transform:scale(1.55); filter:blur(4px) brightness(1.2); transition:transform .3s cubic-bezier(.6,0,.9,.4), filter .3s ease-in;}
.jh-entry-media.is-entering::after{opacity:1; transition:opacity .22s ease-in .08s;}
.jh-entry-media.is-entering .jh-intro-skip{opacity:0 !important; transition:opacity .1s;}.jh-intro-skip{
  position:absolute; right:24px; bottom:24px; z-index:4; padding:10px 18px; border-radius:999px; cursor:pointer;
  font:600 12.5px/1 "General Sans", ui-sans-serif, -apple-system, "Segoe UI", sans-serif; letter-spacing:.1em; text-transform:uppercase;
  color:#F4EFE6; background:rgba(10,7,5,.45); border:1px solid rgba(244,239,230,.35); backdrop-filter:blur(6px);
  opacity:0; animation:jh-skip-in .3s .35s var(--ease) forwards;
  transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
@keyframes jh-skip-in{to{opacity:1;}}
.jh-intro-skip:hover{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.jh-intro-skip:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
@media(max-width:720px){.jh-intro-skip{right:16px; bottom:calc(16px + env(safe-area-inset-bottom));}}
@media (prefers-reduced-motion: reduce){.jh-entry-video{transition:none;} .jh-entry:hover .jh-entry-video{transform:none;} .jh-entry-play svg{animation:none;}}
/* ---- editorial band ---- */
.jh-band{position:relative; height:56vh; min-height:340px; margin:0;}
.jh-band img{width:100%; height:100%; object-fit:cover; display:block; filter:sepia(.2) saturate(.8) brightness(.85) contrast(1.05);}
.jh-band .jh-scrim{position:absolute; inset:0; background:linear-gradient(to top, var(--bg) 0%, transparent 45%), linear-gradient(to bottom, var(--bg) 0%, transparent 30%);}
.jh-band .jh-cap{position:absolute; left:28px; bottom:26px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#DCD2C2;}

/* ---- origen ---- */
.jh-split{display:grid; grid-template-columns:1.25fr 1fr; gap:64px; align-items:center;}
@media(max-width:860px){.jh-split{grid-template-columns:1fr; gap:36px;}}
.jh-voice{border-left:2px solid var(--voice-cultural); padding-left:20px; margin-bottom:24px;}
.jh-voice.jh-marca{border-left-color:var(--voice-marca);}
.jh-voice .jh-who{display:block; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--voice-cultural); margin-bottom:8px; font-weight:600;}
.jh-voice.jh-marca .jh-who{color:var(--voice-marca);}
.jh-voice p{font-size:16.5px; color:var(--ink-dim); line-height:1.7;}
.jh-voice.jh-marca p{color:var(--ink);}
.jh-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px;}
.jh-stat{border:1px solid var(--line); border-radius:var(--radius); padding:18px 14px; text-align:center;}
.jh-stat .jh-n{font-family:"Fraunces"; font-size:22px; color:var(--accent); font-weight:700;}
.jh-stat .jh-d{font-size:11.5px; color:var(--ink-faint); margin-top:6px; letter-spacing:.02em;}
.jh-origen-img{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
.jh-origen-img img{width:100%; display:block; filter:sepia(.2) saturate(.85) brightness(.92) contrast(1.05);}

/* ---- oficio ---- */
.jh-oficio{text-align:center; background:var(--bg-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.jh-oficio .jh-lede{font-family:"Fraunces"; font-size:clamp(26px,3.4vw,40px); max-width:760px; margin:0 auto 50px;}
.jh-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:820px; margin:0 auto;}
.jh-step .jh-num{font-family:"Fraunces"; color:var(--accent); font-size:15px; font-weight:700; margin-bottom:10px;}
.jh-step .jh-t{font-size:15px; color:var(--ink-dim); line-height:1.6;}
@media(max-width:720px){.jh-steps{grid-template-columns:1fr; text-align:left; gap:22px;}}

/* ---- nuestra casa (mosaico de fotos de la tienda) ---- */
.jh-casa{border-bottom:1px solid var(--line);}
.jh-casa-grid{display:grid; grid-template-columns:1fr 1fr 1fr; grid-auto-rows:clamp(170px,17vw,220px); gap:10px;}
.jh-casa-item{position:relative; margin:0; overflow:hidden; border-radius:var(--radius); background:var(--bg-raised);}
.jh-casa-item img{width:100%; height:100%; object-fit:cover; display:block; filter:sepia(.15) saturate(.9) brightness(.92) contrast(1.04); transition:transform var(--dur-slow) var(--ease);}
.jh-casa-item:hover img{transform:scale(1.03);}
.jh-casa-item figcaption{position:absolute; left:0; right:0; bottom:0; padding:40px 18px 14px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#DCD2C2; background:linear-gradient(to top, rgba(10,7,5,.85), transparent);}
.jh-casa-interior{grid-row:span 2;}
.jh-casa-interior img{object-position:50% 60%;}
.jh-casa-equipo{grid-column:span 2;}
.jh-casa-equipo img{object-position:50% 30%;}
.jh-casa-pared img{object-position:50% 40%;}
.jh-casa-entrada img{object-position:50% 40%;}
@media(max-width:720px){
  .jh-casa-grid{grid-template-columns:1fr 1fr; grid-auto-rows:180px; gap:8px;}
  .jh-casa-equipo{grid-column:span 2; grid-row:1;}
}
@media (prefers-reduced-motion: reduce){.jh-casa-item img{transition:none;} .jh-casa-item:hover img{transform:none;}}

/* ---- reconocimiento ---- */
.jh-press{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.jh-press-card{border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px;}
.jh-press-card .jh-outlet{font-family:"Fraunces"; font-size:15px; font-weight:600; margin-bottom:12px;}
.jh-press-card .jh-txt{font-size:14px; color:var(--ink-dim); line-height:1.65;}
.jh-press-note{margin-top:26px; font-size:12px; color:var(--ink-faint); text-align:center;}
@media(max-width:820px){.jh-press{grid-template-columns:1fr;}}

/* ---- contacto ---- */
.jh-csplit{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
@media(max-width:860px){.jh-csplit{grid-template-columns:1fr; gap:40px;}}
.jh-form-cta{margin-bottom:30px;}
.jh-field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.jh-field label{font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-faint);}
.jh-field input, .jh-field textarea{
  background:transparent; border:none; border-bottom:1px solid var(--line-strong); color:var(--ink);
  font-family:"General Sans"; font-size:15px; padding:8px 2px; outline:none; transition:border-color var(--dur-fast) var(--ease);
}
.jh-field input:focus, .jh-field textarea:focus{border-color:var(--accent);}
.jh-field input:focus-visible, .jh-field textarea:focus-visible{outline:none;}
.jh-ubicacion{border-radius:var(--radius); overflow:hidden; background:var(--bg-raised); border:1px solid var(--line);}
.jh-ubi-photos{display:grid; grid-template-columns:1.3fr 1fr; gap:2px; aspect-ratio:16/9; background:var(--line);}
.jh-ubi-photos img{width:100%; height:100%; object-fit:cover; display:block; filter:sepia(.2) saturate(.85) brightness(.9) contrast(1.05);}
.jh-ubi-body{padding:22px 24px 26px;}
.jh-ubi-body .jh-who{font-family:"Fraunces"; font-size:18px; font-weight:600; color:var(--ink); margin:10px 0 4px;}
.jh-ubi-body .jh-addr{font-size:13.5px; color:var(--ink-dim); margin-bottom:14px;}
.jh-ubi-ctas{display:flex; gap:12px; flex-wrap:wrap;}
@media(max-width:480px){.jh-ubi-photos{grid-template-columns:1fr 1fr;}}

.jh-footer{border-top:1px solid var(--line); padding:34px 0 44px;}
.jh-fgrid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:12.5px; color:var(--ink-faint);}
.jh-fgrid .jh-fnav{display:flex; gap:20px; flex-wrap:wrap;}
.jh-fgrid a{text-decoration:none; color:var(--ink-faint); transition:color var(--dur-fast) var(--ease);}
.jh-fgrid a:hover{color:var(--accent);}

/* =====================================================================
   v1.2.0 -- Nav global, menú móvil, páginas internas, formulario de contacto
   Todo con prefijo jh- y los tokens de :root; nada de lo anterior cambia.
   ===================================================================== */
:root{--danger:#D9694A;}

/* ---- accesibilidad: saltar al contenido ---- */
.jh-skip{position:absolute; left:16px; top:-120px; z-index:100; padding:10px 16px; background:var(--accent); color:var(--accent-ink); font-size:13px; font-weight:600; text-decoration:none; border-radius:var(--radius);}
.jh-skip:focus{top:12px; outline:2px solid var(--ink); outline-offset:2px;}

/* ---- nav global ---- */
.jh-nav a.jh-wordmark{text-decoration:none; color:var(--ink);}
.jh-nav-actions{display:flex; align-items:center; gap:10px;}

/* Botón del menú móvil: solo existe con JS (clase .jh-js) y por debajo de 860px. */
.jh-burger{
  display:none; width:40px; height:40px; padding:0; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--line-strong); border-radius:var(--radius);
  color:var(--ink); cursor:pointer; transition:border-color var(--dur-fast) var(--ease);
}
.jh-burger:hover{border-color:var(--ink-dim);}
.jh-burger:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.jh-burger-bar, .jh-burger-bar::before, .jh-burger-bar::after{
  content:""; display:block; width:18px; height:2px; background:currentColor;
  transition:transform var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.jh-burger-bar{position:relative;}
.jh-burger-bar::before, .jh-burger-bar::after{position:absolute; left:0;}
.jh-burger-bar::before{top:-6px;}
.jh-burger-bar::after{top:6px;}
.jh-burger[aria-expanded="true"] .jh-burger-bar{background:transparent;}
.jh-burger[aria-expanded="true"] .jh-burger-bar::before{transform:translateY(6px) rotate(45deg);}
.jh-burger[aria-expanded="true"] .jh-burger-bar::after{transform:translateY(-6px) rotate(-45deg);}
@media(max-width:859px){.jh-js .jh-burger{display:inline-flex;}}
@media(min-width:860px){.jh-burger, .jh-mobile-menu{display:none !important;}}
@media (prefers-reduced-motion: reduce){.jh-burger-bar, .jh-burger-bar::before, .jh-burger-bar::after{transition:none;}}

.jh-mobile-menu{position:absolute; top:100%; left:0; right:0; background:var(--bg-raised); border-bottom:1px solid var(--line); box-shadow:var(--shadow);}
.jh-mobile-menu[hidden]{display:none;}
.jh-mobile-menu a{display:block; padding:15px 28px; border-top:1px solid var(--line); color:var(--ink-dim); text-decoration:none; font-size:15px; letter-spacing:0.03em; transition:color var(--dur-fast) var(--ease);}
.jh-mobile-menu a:first-child{border-top:0;}
.jh-mobile-menu a:hover, .jh-mobile-menu a:focus-visible{color:var(--accent);}
.jh-mobile-menu a:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}

/* ---- páginas internas (page.php, 404.php, tienda y demás páginas de WooCommerce) ---- */
.jh-page{padding:72px 0 104px; min-height:60vh;}
@media(max-width:720px){.jh-page{padding:48px 0 72px;}}
.jh-page-title{font-size:clamp(28px,4vw,44px); margin:0 0 36px;}
.jh-404 .jh-page-title{margin:14px 0 18px;}
.jh-404-text{max-width:520px; margin:0 0 32px; color:var(--ink-dim);}
.jh-404-ctas{display:flex; gap:12px; flex-wrap:wrap;}
.jh-entry-content{color:var(--ink-dim); line-height:1.7;}
.jh-entry-content a{color:var(--accent);}

/* ---- formulario de contacto ---- */
.jh-contact-form{margin:0;}
.jh-form-msg{font-size:14px; line-height:1.5; padding:12px 14px; margin-bottom:18px; border:1px solid var(--line-strong); border-left-width:3px; border-radius:var(--radius);}
.jh-form-msg.jh-ok{border-left-color:var(--accent); color:var(--ink);}
.jh-form-msg.jh-err{border-left-color:var(--danger); color:var(--ink);}
/* Honeypot: fuera de pantalla (no display:none, que algunos bots detectan). */
.jh-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

/* =====================================================================
   v1.3.0 -- Contacto (datos oficiales), guía de tallas y utilidades
   ===================================================================== */

/* texto solo para lector de pantalla */
.screen-reader-text{border:0; clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; white-space:nowrap;}

/* contacto: WhatsApp y correo bajo la dirección de la tienda */
.jh-ubi-contact{list-style:none; margin:0 0 22px; padding:0; display:grid; gap:6px; font-size:13.5px; color:var(--ink-dim);}
.jh-ubi-contact li{display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline;}
.jh-ubi-contact .jh-k{min-width:74px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); font-weight:600;}
.jh-ubi-contact a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line-strong); transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); overflow-wrap:anywhere;}
.jh-ubi-contact a:hover{color:var(--accent); border-color:var(--accent);}

/* guía de tallas (página y ventana) */
.jh-sizeguide-note{color:var(--ink-dim); max-width:640px; margin:0 0 26px; line-height:1.7;}
.jh-table-wrap{max-width:100%; overflow-x:auto;}
.jh-sizetable{width:100%; max-width:640px; border-collapse:collapse; font-variant-numeric:tabular-nums;}
.jh-sizetable th,.jh-sizetable td{padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); font-size:14.5px; color:var(--ink-dim);}
.jh-sizetable thead th{font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--accent); border-bottom:1px solid var(--line-strong);}
.jh-sizetable tbody th{font-family:"Fraunces", Georgia, serif; font-size:17px; font-weight:600; color:var(--ink);}
.jh-sizetable tbody tr:hover td,.jh-sizetable tbody tr:hover th{background:var(--bg-raised);}
@media(max-width:480px){.jh-sizetable th,.jh-sizetable td{padding:11px 8px; font-size:13.5px;}}

.jh-dialog{width:min(560px, calc(100vw - 32px)); max-height:calc(100vh - 48px); padding:0; border:1px solid var(--line-strong); border-radius:var(--radius); background:var(--bg-raised); color:var(--ink); box-shadow:var(--shadow); overflow:auto;}
.jh-dialog::backdrop{background:rgba(10,7,5,0.78);}
.jh-dialog-box{padding:26px 28px 28px;}
.jh-dialog-head{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px;}
.jh-dialog-head h2{font-size:24px; margin:0;}
.jh-dialog-close{width:38px; height:38px; flex:0 0 auto; background:transparent; border:1px solid var(--line-strong); border-radius:var(--radius); color:var(--ink); font-size:22px; line-height:1; cursor:pointer;}
.jh-dialog-close:hover{border-color:var(--ink-dim);}
.jh-dialog-close:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.jh-dialog-foot{margin:18px 0 0; font-size:13px;}
.jh-dialog-foot a{color:var(--accent);}
@media(max-width:480px){.jh-dialog-box{padding:20px 16px 22px;}}

/* =====================================================================
   Menú -- indicador "ESTÁS AQUÍ" (v1.4.1)
   La línea naranja marca SOLO la sección en la que está la persona:
   - páginas internas: aria-current="page" (inc/navigation.php; la tienda,
     sus categorías, productos, carrito, checkout, Mi cuenta y guía → Tienda);
   - Home: main.js marca con .is-current la sección que se está viendo
     (Selección, Colecciones, Historia, El Oficio, Contacto); en el Hero y en
     las franjas que no están en el menú no se marca ninguna.
   "Tienda" conserva su peso como acceso comercial principal, pero ya no
   lleva línea propia: la línea solo significa "estás aquí".
   ===================================================================== */
.jh-navlinks a{position:relative;}
.jh-navlinks a::after{
  content:""; position:absolute; left:0; right:0; bottom:-7px; height:2px; border-radius:1px;
  background:var(--accent); transform:scaleX(0); transform-origin:left center;
  transition:transform var(--dur) var(--ease);
}
.jh-navlinks a[aria-current]::after,
.jh-navlinks a.is-current::after{transform:scaleX(1);}
.jh-navlinks a[aria-current],
.jh-navlinks a.is-current{color:var(--ink);}

.jh-navlinks a.jh-nav-primary{margin:0 8px; padding:0 2px; font-weight:600; letter-spacing:0.07em; color:var(--ink); transition:color var(--dur) var(--ease);}
.jh-navlinks a.jh-nav-primary::after{left:2px; right:2px;}
.jh-navlinks a.jh-nav-primary:hover,
.jh-navlinks a.jh-nav-primary:focus-visible,
.jh-navlinks a.jh-nav-primary[aria-current],
.jh-navlinks a.jh-nav-primary.is-current{color:var(--accent-strong);}

/* menú móvil: la sección actual lleva la barra de acento a la izquierda */
.jh-mobile-menu a[aria-current],
.jh-mobile-menu a.is-current{color:var(--ink); font-weight:600; box-shadow:inset 3px 0 0 var(--accent); background:color-mix(in srgb, var(--accent) 9%, transparent);}
.jh-mobile-menu a.jh-nav-primary{position:relative; font-weight:600; letter-spacing:0.06em; color:var(--ink);}
.jh-mobile-menu a.jh-nav-primary::after{
  content:"\2192"; content:"\2192" / ""; position:absolute; right:28px; top:50%; transform:translateY(-50%);
  color:var(--accent); transition:transform var(--dur) var(--ease);
}
.jh-mobile-menu a.jh-nav-primary:hover,
.jh-mobile-menu a.jh-nav-primary:focus-visible,
.jh-mobile-menu a.jh-nav-primary[aria-current],
.jh-mobile-menu a.jh-nav-primary.is-current{color:var(--accent-strong);}
.jh-mobile-menu a.jh-nav-primary:hover::after,
.jh-mobile-menu a.jh-nav-primary:focus-visible::after{transform:translate(4px,-50%);}
@media (prefers-reduced-motion: reduce){
  .jh-navlinks a::after, .jh-navlinks a.jh-nav-primary, .jh-mobile-menu a.jh-nav-primary::after{transition:none;}
}

/* ---- botones de ayuda (prueba 2026-11-02) ---- */
.jh-sel-cta{display:flex; justify-content:center; margin-top:36px;}
.jh-sel-cta .jh-btn{font-size:15px; padding:15px 32px;}
.jh-family-btn{display:flex; justify-content:center; width:100%; margin-top:14px; font-size:15px; padding:14px 22px; border-color:var(--accent); color:var(--ink);}
.jh-family-btn:hover{background:color-mix(in srgb, var(--accent) 14%, transparent); border-color:var(--accent);}
.jh-wa-float{
  position:fixed; right:22px; bottom:22px; z-index:900; display:inline-flex; align-items:center; gap:8px;
  background:#25D366; color:#fff; text-decoration:none; font-family:"General Sans"; font-weight:600; font-size:15px;
  padding:12px 18px 12px 14px; border-radius:999px; box-shadow:0 6px 20px rgba(0,0,0,.35);
  transition:transform var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
.jh-wa-float:hover{background:#1EBE5A; transform:translateY(-2px);}
.jh-wa-float:focus-visible{outline:2px solid #fff; outline-offset:3px;}
@media(max-width:640px){
  .jh-wa-float{right:14px; bottom:14px; padding:13px;}
  .jh-wa-float-txt{display:none;}
}
/* =====================================================================
   v1.9.0 -- carrito y pago
   ===================================================================== */
.jh-cart-link{position:relative; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--line-strong); border-radius:var(--radius); color:var(--ink); text-decoration:none; transition:border-color var(--dur-fast) var(--ease);}
.jh-cart-link:hover{border-color:var(--accent); color:var(--accent);}
.jh-cart-link:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.jh-cart-count{position:absolute; top:-7px; right:-7px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--accent); color:var(--accent-ink); font-size:11px; font-weight:700; line-height:19px; text-align:center;}
.jh-size-pick{grid-column:1/-1; display:flex; flex-direction:column; gap:6px; margin:0 0 4px;}
.jh-size-pick label{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);}
.jh-size-pick select{max-width:260px; padding:11px 12px; font-size:15px;}
.jh-ship-row td{padding-top:12px !important; font-size:13px; color:var(--ink-dim); line-height:1.5;}
.jh-pay-extra{display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin:26px 0 34px;}
.jh-pay-extra img{width:100%; max-width:420px; height:auto; border-radius:var(--radius);}/* Carrito, pago y "Mi cuenta": una sola columna (la tarjeta de dos columnas es para páginas de texto). */
.woocommerce-cart .jh-entry,.woocommerce-checkout .jh-entry,.woocommerce-account .jh-entry{display:block;}
.woocommerce-cart .jh-page-title,.woocommerce-checkout .jh-page-title,.woocommerce-account .jh-page-title{margin:0 0 28px;}
@media(max-width:720px){.woocommerce-cart .jh-entry,.woocommerce-checkout .jh-entry,.woocommerce-account .jh-entry{padding:28px 18px;}}@media(max-width:768px){.jh-wc table.shop_table_responsive tbody th{display:none;}}/* "Así funciona tu compra" junto al total del carrito */
.jh-wc .cart-collaterals{justify-content:space-between; align-items:flex-start; gap:48px;}
.jh-howto{flex:1 1 0; max-width:520px; padding:28px 30px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,255,255,.02);}
.jh-howto h2{font-size:22px; margin:0 0 20px;}
.jh-howto-steps{list-style:none; margin:0; padding:0; counter-reset:jhstep; display:grid; gap:16px;}
.jh-howto-steps li{counter-increment:jhstep; position:relative; padding-left:46px; display:flex; flex-direction:column; gap:3px; min-height:32px;}
.jh-howto-steps li::before{content:counter(jhstep); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--accent); color:var(--accent-ink); font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center;}
.jh-howto-steps strong{font-size:15px; color:var(--ink);}
.jh-howto-steps span{font-size:13.5px; line-height:1.5; color:var(--ink-dim);}
.jh-howto-label{margin:24px 0 10px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);}
.jh-howto-logos{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.jh-howto-logos img{display:block; height:30px; width:auto; border-radius:6px;}
.jh-howto-key{display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; border-radius:6px; background:#fff; color:#C8102E; font-size:13px; font-weight:700;}
.jh-howto-help{display:inline-block; margin-top:22px; font-size:14px; color:var(--accent); text-decoration:none;}
.jh-howto-help:hover{text-decoration:underline;}
@media(max-width:900px){.jh-wc .cart-collaterals{flex-direction:column; gap:32px;} .jh-wc .cart-collaterals .cart_totals{max-width:none; order:1;} .jh-howto{order:2; max-width:none; padding:22px 18px;}}.jh-wc .jh-howto .jh-howto-logos li{flex:0 0 auto; margin:0; padding:0;}
.jh-wc .jh-howto .jh-howto-logos img{height:30px !important; width:auto !important; max-width:none !important;}.jh-wc .jh-howto .jh-howto-label{margin:26px 0 10px;}@media(max-width:900px){.jh-wc .cart-collaterals{display:flex !important; flex-direction:column;} .jh-wc .cart-collaterals .cart_totals{order:1; width:100%;} .jh-wc .cart-collaterals .jh-howto{order:2; width:100%;}}.jh-wc .jh-pay-extra img{max-width:280px !important; width:100% !important; height:auto !important;}/* Finalizar compra: más compacto, cuentas visibles y sin el fondo gris del autocompletar */
.woocommerce-checkout .jh-page-title{font-size:clamp(26px,3vw,34px);}
.jh-wc form.checkout h3{font-size:19px; margin:0 0 14px;}
.jh-wc form.checkout .form-row{margin:0 0 12px;}
.jh-wc form.checkout .form-row label{margin-bottom:4px; font-size:11px;}
.jh-wc form.checkout .input-text,.jh-wc form.checkout select{padding:9px 10px; font-size:14px;}
.jh-wc form.checkout textarea{min-height:70px;}
.jh-wc input:-webkit-autofill,.jh-wc input:-webkit-autofill:hover,.jh-wc input:-webkit-autofill:focus,.jh-wc select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-raised) inset !important; -webkit-text-fill-color:var(--ink) !important; caret-color:var(--ink); transition:background-color 9999s;}
.jh-paybox-title{display:block; margin:0 0 8px; color:var(--ink); font-weight:600;}
.jh-paybox-list{list-style:none; margin:0 0 10px; padding:0;}
.jh-paybox-list li{display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid var(--line); font-size:13px;}
.jh-paybox-list li:last-child{border-bottom:0;}
.jh-paybox-list strong{color:var(--ink); letter-spacing:.02em; white-space:nowrap;}
.jh-paybox-holder{display:block; margin:0 0 8px; font-size:13px; color:var(--ink);}
.jh-paybox-note{display:block; font-size:12.5px; line-height:1.5; color:var(--ink-dim);}.jh-wc #payment .jh-paybox-list li{padding:6px 0; border-bottom:1px solid var(--line); color:var(--ink-dim);}
.jh-wc #payment .jh-paybox-list li:last-child{border-bottom:0;}.jh-size-pick input[type="text"]{max-width:360px; padding:11px 12px; font-size:14px;}
.jh-pref-help{font-size:12px; color:var(--ink-faint);}
.jh-paybox-hold{margin-top:8px; color:var(--accent) !important;}.jh-paybox-policy{display:inline-block; margin-top:8px; font-size:12.5px; color:var(--ink-dim); text-decoration:underline;}
.jh-paybox-policy:hover{color:var(--accent);}/* Páginas legales: una columna, cómoda de leer */
.jh-legal .jh-entry{display:block; max-width:820px; margin:0 auto;}
.jh-legal .jh-page-title{font-size:clamp(28px,3.4vw,40px); margin:0 0 22px;}
.jh-legal .jh-entry-content h2{font-size:21px; margin:30px 0 10px;}
.jh-legal .jh-entry-content p,.jh-legal .jh-entry-content li{font-size:15px; line-height:1.7; color:var(--ink-dim);}
.jh-legal .jh-entry-content strong{color:var(--ink);}
.jh-legal .jh-entry-content ul{padding-left:20px; margin:0 0 12px;}
@media(max-width:720px){.jh-legal .jh-entry{padding:28px 18px;}}