/* Lara Home · secciones de portada · SupuDigital */
body .lh { --navy:#001224; --red:#E20F1F; --red-dk:#B50D1A; --ink:#1a2330; --mute:#5d6673; --line:#e6e8ec; --soft:#f5f6f8; --gold:#c8a96e;
  --ff-d:'Playfair Display', Georgia, serif; --ff-b:'DM Sans', system-ui, sans-serif; --ease:cubic-bezier(.16,1,.3,1);
  font-family:var(--ff-b); color:var(--ink); }
body .lh *, body .lh *::before, body .lh *::after { box-sizing:border-box; }
body .lh h2, body .lh h3, body .lh p, body .lh ul, body .lh ol { margin:0; padding:0; }
body .lh a { text-decoration:none; color:inherit; }
body .lh img { display:block; max-width:100%; height:auto; }
/* Encaje dentro de Elementor/temas: sin estirar el contenedor flexible ni heredar mayúsculas */
.elementor-widget-shortcode:has(> .elementor-widget-container > .lh), .elementor-widget-shortcode:has(> .lh), .elementor-shortcode:has(> .lh) { width:100%; min-width:0; max-width:100%; }
body .lh, body .lh .lh-wrap, body .lh .lh-rail, body .lh .lh-head > div { min-width:0; }
body .lh { width:100%; display:block; }
body .lh * { text-transform:none !important; }
body .lh .lh-kicker, body .lh .lh-prod .rank { text-transform:uppercase !important; }
body .lh .lh-prod .ph img { height:auto; max-width:88%; margin:0 auto; }
body .lh .lh-wrap { max-width:1240px; margin:0 auto; padding:0 clamp(16px,4vw,40px); }
body .lh-sec { padding:clamp(56px,7vw,96px) 0 clamp(64px,8vw,104px); }
body .lh .lh-kicker { font:600 12px/1 var(--ff-b); letter-spacing:.16em; text-transform:uppercase; color:var(--red); }
body .lh .lh-h2 { font:900 clamp(30px,3.6vw,46px)/1.08 var(--ff-d); letter-spacing:-.015em; color:var(--navy); margin-top:14px; text-wrap:balance; }
body .lh .lh-h2 em { font-weight:400; font-style:italic; }
body .lh .lh-h2 .dot { color:var(--red); }
body .lh .lh-lead { margin-top:14px; max-width:60ch; font-size:17px; line-height:1.6; color:var(--mute); }
body .lh .lh-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:clamp(28px,4vw,44px); flex-wrap:wrap; }
body .lh .lh-more { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:var(--navy); border-bottom:2px solid var(--red); padding-bottom:3px; transition:gap .25s var(--ease); }
body .lh .lh-more:hover { gap:12px; }
body .lh .lh-more svg { width:16px; height:16px; }

/* ── Categorías: foto a sangre ── */
body .lh .lh-cats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,260px); gap:14px; }
body .lh .lh-cat { position:relative; overflow:hidden; border-radius:18px; background:var(--navy); color:#fff; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate;
  transition:box-shadow .35s var(--ease); }
body .lh .lh-cat::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(0,18,36,0) 35%, rgba(0,18,36,.82) 100%); }
body .lh .lh-cat:hover { box-shadow:0 18px 40px -18px rgba(0,18,36,.45); }
body .lh .lh-cat:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
body .lh .lh-cat img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .7s var(--ease); }
body .lh .lh-cat:hover img { transform:scale(1.05); }
body .lh .lh-cat h3 { font:700 21px/1.15 var(--ff-b); color:#fff; letter-spacing:-.01em; max-width:16ch; }
body .lh .lh-cat span { font-size:13px; color:rgba(255,255,255,.75); font-variant-numeric:tabular-nums; margin-top:6px; display:block; }
body .lh .lh-cat .go { position:absolute; top:18px; right:18px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.92); display:grid; place-items:center; color:var(--navy); transition:background .25s, color .25s, transform .3s var(--ease); }
body .lh .lh-cat:hover .go { background:var(--red); color:#fff; transform:rotate(-45deg); }
body .lh .lh-cat .go svg { width:16px; height:16px; }
body .lh .lh-cat--xl { grid-row:span 2; padding:30px; }
body .lh .lh-cat--xl::after { background:linear-gradient(180deg, rgba(0,18,36,0) 25%, rgba(0,18,36,.9) 100%); }
body .lh .lh-cat--xl h3 { font:900 38px/1.02 var(--ff-d); max-width:10ch; }
body .lh .lh-cat--xl h3 em { font-weight:400; font-style:italic; }
body .lh .lh-cat--xl p { margin-top:12px; color:rgba(255,255,255,.82); font-size:15px; line-height:1.55; max-width:30ch; }
body .lh .lh-cat--xl .go { background:var(--red); color:#fff; }
body .lh .lh-cat--wide { grid-column:span 2; }

/* ── Más vendidos ── */
body .lh-best { background:var(--soft); }
body .lh .lh-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 4*16px)/5); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; scrollbar-width:thin; }
body .lh .lh-prod { scroll-snap-align:start; background:#fff; border-radius:16px; padding:14px 14px 16px; display:flex; flex-direction:column; transition:box-shadow .3s var(--ease), transform .3s var(--ease); }
body .lh .lh-prod:hover { transform:translateY(-3px); box-shadow:0 16px 32px -16px rgba(0,18,36,.3); }
body .lh .lh-prod .ph { aspect-ratio:1; border-radius:10px; background:#fff; display:grid; place-items:center; overflow:hidden; }
body .lh .lh-prod .ph img { width:88%; transition:transform .45s var(--ease); }
body .lh .lh-prod:hover .ph img { transform:scale(1.05); }
body .lh .lh-prod .rank { font:600 11px/1 var(--ff-b); letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-top:14px; }
body .lh .lh-prod .nm { font:600 15px/1.35 var(--ff-b); color:var(--navy); margin-top:8px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:calc(15px*1.35*3); }
body .lh .lh-prod .pr { margin-top:auto; padding-top:14px; display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
body .lh .lh-prod .pr small { font-size:12px; color:var(--mute); }
body .lh .lh-prod .pr b { font:700 20px/1 var(--ff-b); color:var(--navy); font-variant-numeric:tabular-nums; }
body .lh .lh-prod .cta { margin-top:12px; display:flex; align-items:center; justify-content:center; gap:8px; height:42px; border-radius:10px; border:1.5px solid var(--navy); color:var(--navy); font-weight:600; font-size:14px; transition:background .2s, color .2s; }
body .lh .lh-prod:hover .cta { background:var(--navy); color:#fff; }
body .lh .lh-prod:active { transform:translateY(0) scale(.99); }

/* ── Proceso 3 pasos ── */
body .lh-proc .lh-wrap { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(32px,6vw,88px); align-items:start; }
body .lh-proc .side { position:sticky; top:120px; }
body .lh-proc .btns { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
body .lh .lh-btn { display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 26px; border-radius:10px; font-weight:600; font-size:15px; transition:transform .2s var(--ease), background .2s, box-shadow .2s; }
body .lh .lh-btn svg { width:16px; height:16px; transition:transform .25s var(--ease); }
body .lh .lh-btn:hover svg { transform:translateX(4px); }
body .lh .lh-btn:active { transform:scale(.97); }
body .lh .lh-btn--red { background:var(--red); color:#fff; box-shadow:0 10px 24px -10px rgba(226,15,31,.6); }
body .lh .lh-btn--red:hover { background:var(--red-dk); }
body .lh .lh-btn--line { color:var(--navy); border:1.5px solid #cfd4db; }
body .lh .lh-btn--line:hover { border-color:var(--navy); }
body .lh .lh-steps { list-style:none; counter-reset:s; border-top:1px solid var(--line); }
body .lh .lh-steps li { counter-increment:s; display:grid; grid-template-columns:88px minmax(0,1fr); gap:20px; padding:30px 0; border-bottom:1px solid var(--line); }
body .lh .lh-steps li::before { content:"0" counter(s); font:400 italic 56px/1 var(--ff-d); color:var(--red); }
body .lh .lh-steps h3 { font:700 22px/1.2 var(--ff-b); color:var(--navy); letter-spacing:-.01em; }
body .lh .lh-steps p { margin-top:8px; color:var(--mute); font-size:16px; line-height:1.6; max-width:52ch; }
body .lh .lh-steps .tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
body .lh .lh-steps .tags span { font-size:13px; font-weight:500; color:var(--navy); background:var(--soft); border-radius:6px; padding:6px 10px; }

@media (max-width: 980px) {
  body .lh .lh-cats { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-rows:auto; }
  body .lh .lh-cat { min-height:210px; }
  body .lh .lh-cat--xl { grid-column:span 2; grid-row:auto; min-height:380px; }
  body .lh .lh-cat--wide { grid-column:auto; }
  body .lh .lh-cat:last-child { grid-column:span 2; }
  body .lh .lh-rail { grid-auto-columns:calc((100% - 2*16px)/2.6); }
  body .lh-proc .lh-wrap { grid-template-columns:1fr; }
  body .lh-proc .side { position:static; }
}
@media (max-width: 560px) {
  body .lh .lh-cats { gap:10px; }
  body .lh .lh-cat { padding:16px; border-radius:14px; min-height:180px; }
  body .lh .lh-cat--xl { min-height:400px; }
  body .lh .lh-cat h3 { font-size:16px; }
  body .lh .lh-cat .go { width:32px; height:32px; top:12px; right:12px; }
  body .lh .lh-cat--xl { padding:22px; }
  body .lh .lh-cat--xl h3 { font-size:30px; }
  body .lh .lh-rail { grid-auto-columns:72%; }
  body .lh .lh-steps li { grid-template-columns:56px minmax(0,1fr); gap:12px; padding:24px 0; }
  body .lh .lh-steps li::before { font-size:40px; }
  body .lh .lh-btn { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion: reduce) { body .lh * { transition:none !important; } }

/* Precinto */
body .lh-tape { padding:clamp(24px,4vw,48px) 0; }
body .lh-tape .card { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:stretch; border-radius:20px; overflow:hidden; background:var(--navy); color:#fff; }
body .lh-tape .ph { position:relative; min-height:280px; background:#f4f4f2; }
body .lh-tape .ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body .lh-tape .body { position:relative; padding:clamp(28px,4vw,48px); display:flex; flex-direction:column; justify-content:center; }
body .lh-tape .lh-kicker { color:#ff8a93; }
body .lh-tape h2 { margin-top:10px; font:900 clamp(26px,2.6vw,34px)/1.1 var(--ff-d); letter-spacing:-.01em; color:#fff; text-wrap:balance; }
body .lh-tape h2 em { font-weight:400; font-style:italic; }
body .lh-tape h2 .dot { color:var(--red); }
body .lh-tape p { margin-top:10px; color:#b9c2cd; font-size:16px; line-height:1.6; max-width:52ch; }
body .lh-tape ul { list-style:none; display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; }
body .lh-tape li { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:#e3e8ee; }
body .lh-tape li svg { width:16px; height:16px; color:var(--red); flex:none; }
body .lh-tape .btns { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; margin-top:24px; }
body .lh-tape .lh-btn { height:48px; }
body .lh-tape .link { font-weight:600; font-size:15px; color:#fff; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:2px; transition:border-color .2s; }
body .lh-tape .link:hover { border-color:#fff; }
@media (max-width: 860px) {
  body .lh-tape .card { grid-template-columns:1fr; }
  body .lh-tape .ph { min-height:0; aspect-ratio:16/9; }
}
@media (max-width: 560px) { body .lh-tape .lh-btn { width:auto; } }

body .lh a, body .lh a:hover, body .lh a:focus { text-decoration:none; }
body .lh .lh-more:hover, body .lh .lh-btn:hover { text-decoration:none; }

body .lh .lh-prod .pr b, body .lh .lh-prod .pr .amount, body .lh .lh-prod .pr bdi, body .lh .lh-prod .pr .woocommerce-Price-currencySymbol { color:var(--navy) !important; font-weight:700; }
