/* LonaDirecta 1.18.0 · /productos/ y categorías de producto (HTML del servidor, sin JavaScript). */
.ld-catalogo { --c-ink:#151318; --c-mag:#d5006d; --c-mag-d:#aa0057; --c-pink:#fff0f7; --c-line:#e7e2e5; --c-muted:#686269; --c-soft:#faf8f6;
  box-sizing:border-box; width:100%; max-width:1320px; margin:0 auto; padding:20px 28px 72px; font-family:Inter,Arial,sans-serif; color:var(--c-ink); line-height:1.55; }
.ld-catalogo *, .ld-catalogo *::before, .ld-catalogo *::after { box-sizing:border-box; }
.ld-catalogo a { color:inherit; }
.ld-cat-migas ol { list-style:none; margin:0 0 22px; padding:0; display:flex; flex-wrap:wrap; gap:6px; font-size:13px; color:var(--c-muted); }
.ld-cat-migas li + li::before { content:"›"; margin-right:6px; }
.ld-cat-cabecera { max-width:860px; margin:0 0 34px; }
.ld-cat-cabecera h1 { margin:0 0 14px; font-size:clamp(30px,4.2vw,50px); line-height:1.06; letter-spacing:-.03em; font-weight:850; }
.ld-cat-intro { font-size:17px; color:#3d383f; }
.ld-cat-intro p { margin:0 0 10px; }
.ld-cat-nota { margin:6px 0 0; font-size:13px; font-weight:700; color:var(--c-muted); }
.ld-cat-saltos ul { list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ld-cat-saltos a { display:inline-flex; align-items:center; min-height:38px; padding:8px 15px; border:1px solid var(--c-line); border-radius:999px; background:#fff; font-size:14px; font-weight:750; text-decoration:none; }
.ld-cat-saltos a:hover { border-color:var(--c-mag); color:var(--c-mag); }
.ld-cat-saltos a.ld-cat-saltos-medida { background:var(--c-pink); border-color:#f6c6de; color:var(--c-mag-d); }
.ld-cat-seccion { margin:0 0 46px; scroll-margin-top:96px; }
.ld-cat-seccion-cabecera { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:0 0 6px; padding-top:22px; border-top:1px solid var(--c-line); }
.ld-cat-seccion-cabecera h2 { margin:0; font-size:clamp(23px,2.6vw,32px); letter-spacing:-.02em; line-height:1.15; }
.ld-cat-seccion-cabecera a { font-size:14px; font-weight:750; color:var(--c-mag); text-decoration:none; }
.ld-cat-seccion-texto { margin:0 0 18px; max-width:760px; color:var(--c-muted); }
.ld-cat-sub { margin-top:22px; }
.ld-cat-sub h3 { margin:0 0 12px; font-size:18px; }
.ld-cat-sub h3 a { text-decoration:none; }
.ld-cat-sub h3 a:hover { color:var(--c-mag); }
.ld-cat-grid { list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ld-cat-card a { display:flex; flex-direction:column; height:100%; border:1px solid var(--c-line); border-radius:16px; overflow:hidden; background:#fff; text-decoration:none; transition:border-color .15s, box-shadow .15s, transform .15s; }
.ld-cat-card a:hover, .ld-cat-card a:focus-visible { border-color:#d9cfd5; box-shadow:0 14px 36px rgba(24,18,22,.09); transform:translateY(-2px); }
.ld-cat-card a:focus-visible { outline:3px solid var(--c-mag); outline-offset:2px; }
.ld-cat-card-foto { display:block; aspect-ratio:1/1; background:var(--c-soft); overflow:hidden; }
.ld-cat-card-foto img { display:block; width:100%; height:100%; object-fit:cover; }
.ld-cat-card-sinfoto { display:block; width:100%; height:100%; background:linear-gradient(135deg,#f6eef2,#fff); }
.ld-cat-card-texto { display:flex; flex-direction:column; gap:7px; flex:1; padding:14px 16px 16px; }
.ld-cat-card-nombre { margin:0; font-size:16px; line-height:1.3; font-weight:800; letter-spacing:-.01em; }
.ld-cat-card-medida { align-self:flex-start; padding:3px 9px; border-radius:999px; background:var(--c-soft); border:1px solid var(--c-line); font-size:12px; font-weight:750; color:#4a444c; }
.ld-cat-card-precio { margin-top:auto; padding-top:6px; font-size:14px; color:var(--c-muted); }
.ld-cat-card-precio b { font-size:21px; color:var(--c-ink); letter-spacing:-.02em; }
.ld-cat-card-precio small { font-size:12px; }
.ld-cat-card-cta { font-size:14px; font-weight:800; color:var(--c-mag); }
.ld-cat-medida { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 46px; padding:26px 30px; border-radius:20px; background:var(--c-pink); border:1px solid #f6c6de; }
.ld-cat-medida h2 { margin:0 0 6px; font-size:26px; letter-spacing:-.02em; }
.ld-cat-medida p { margin:0; color:#4d3a45; }
.ld-cat-kicker { font-size:12px !important; font-weight:850; letter-spacing:.08em; text-transform:uppercase; color:var(--c-mag-d) !important; margin-bottom:4px !important; }
.ld-cat-boton { flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:12px 22px; border-radius:12px; background:var(--c-mag); color:#fff !important; font-weight:850; text-decoration:none; }
.ld-cat-boton:hover { background:var(--c-mag-d); }
.ld-cat-pasos { padding:30px; border-radius:20px; background:var(--c-soft); border:1px solid var(--c-line); }
.ld-cat-pasos h2 { margin:0 0 18px; font-size:26px; }
.ld-cat-pasos ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ld-cat-pasos li b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--c-ink); color:#fff; font-size:14px; }
.ld-cat-pasos h3 { margin:10px 0 4px; font-size:17px; }
.ld-cat-pasos p { margin:0; color:var(--c-muted); }
.ld-cat-pasos > p { margin-top:18px; }
.ld-cat-pasos > p a { color:var(--c-mag); font-weight:750; }
.ld-cat-guia { max-width:820px; margin:0 0 40px; }
.ld-cat-guia h2 { font-size:24px; margin:0 0 10px; }
.ld-cat-guia p { color:#3d383f; }
.ld-cat-otras h2 { font-size:18px; margin:0 0 10px; }
.ld-cat-otras ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ld-cat-otras a { display:inline-flex; padding:8px 14px; border:1px solid var(--c-line); border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; }
.ld-cat-otras a:hover { border-color:var(--c-mag); color:var(--c-mag); }
.ld-cat-vacio { padding:24px; border:1px dashed var(--c-line); border-radius:14px; }
@media (max-width:1100px) { .ld-cat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) {
  .ld-catalogo { padding:16px 16px 56px; }
  .ld-cat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .ld-cat-card-texto { padding:11px 12px 13px; }
  .ld-cat-card-nombre { font-size:14.5px; }
  .ld-cat-card-precio b { font-size:18px; }
  .ld-cat-medida { flex-direction:column; align-items:flex-start; padding:22px; }
  .ld-cat-pasos { padding:22px; }
  .ld-cat-pasos ol { grid-template-columns:1fr; }
  .ld-cat-intro { font-size:16px; }
}
