/* Catálogo — sistema de diseño delmare */
.dm-kat,.dm-kat-page{
  --brand:#B82105;--brand-deep:#8A2A1A;--brand-soft:rgba(184,33,5,.06);--sale:#D9342B;
  --ink:#1A202C;--ink-soft:#4A5568;--ink-muted:#9AA3B0;
  --surface:#fff;--surface-alt:#F4F6F9;--surface-media:#EEF1F5;
  --line:rgba(26,32,44,.13);--line-soft:rgba(26,32,44,.07);--line-strong:rgba(26,32,44,.22);
  --radius-card:18px;--radius-pill:100px;--radius-sm:10px;
  --shadow-card:0 24px 60px -28px rgba(26,32,44,.28);
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--ink);line-height:1.6;
  font-size:clamp(15px,.55vw + 13px,17px)}
.dm-kat *,.dm-kat-page *{box-sizing:border-box}

/* --- cabecera de categoría --- */
.dm-kat-page__head{max-width:760px;margin:0 0 clamp(26px,3.4vw,44px)}
.dm-kat-page__eyebrow{display:flex;gap:.6em;align-items:center;margin:0 0 10px;
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.dm-kat-page__eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.dm-kat-page__eyebrow a{color:inherit;text-decoration:none}
.dm-kat-page__eyebrow a:hover{color:var(--brand-deep)}
.dm-kat-page__eyebrow span{color:var(--ink-muted)}
.dm-kat-page__title{font-family:Fraunces,Georgia,serif;font-weight:300;letter-spacing:-.02em;
  font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:0 0 12px}
.dm-kat-page__desc{color:var(--ink-soft);font-size:1.02rem}
.dm-kat-page__desc p{margin:0 0 .6em}

/* --- barra: filtro y orden --- */
.dm-kat__bar{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;
  margin:0 0 14px}
.dm-kat__pills{display:flex;flex-wrap:wrap;gap:8px}
.dm-kat__pill{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:1px solid var(--line);
  border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);text-decoration:none;
  font-size:.9rem;font-weight:500;transition:all .35s var(--ease)}
.dm-kat__pill small{font-size:.76em;color:var(--ink-muted);font-weight:500}
.dm-kat__pill:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.dm-kat__pill.is-on{background:var(--brand);border-color:var(--brand);color:#fff}
.dm-kat__pill.is-on small{color:rgba(255,255,255,.75)}
.dm-kat__sort{display:inline-flex;align-items:center;gap:10px;font-size:.88rem;color:var(--ink-soft)}
.dm-kat__sort select{appearance:none;-webkit-appearance:none;font:inherit;color:var(--ink);
  padding:9px 40px 9px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234A5568' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center;cursor:pointer}
.dm-kat__sort select:focus{outline:2px solid rgba(184,33,5,.18);outline-offset:1px;border-color:var(--brand)}
.dm-kat__count{margin:0 0 18px;font-size:.84rem;color:var(--ink-muted)}
.dm-kat__count:empty{display:none}

/* --- rejilla y tarjeta --- */
.dm-kat__grid{display:grid;grid-template-columns:repeat(var(--dm-cols,3),minmax(0,1fr));gap:clamp(16px,2.2vw,26px);
  transition:opacity .25s}
.dm-kat.is-busy .dm-kat__grid{opacity:.45;pointer-events:none}
@media (max-width:1024px){.dm-kat__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.dm-kat__grid{grid-template-columns:1fr}}

.dm-kat__card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-card);
  overflow:hidden;box-shadow:var(--shadow-card);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.dm-kat__card:hover{transform:translateY(-4px);box-shadow:0 30px 70px -28px rgba(26,32,44,.36)}
.dm-kat__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.dm-kat__media{position:relative;margin:0;aspect-ratio:4/3;background:var(--surface-media);overflow:hidden}
.dm-kat__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease)}
.dm-kat__card:hover .dm-kat__media img{transform:scale(1.06)}
.dm-kat__ph{display:block;width:100%;height:100%;
  background:linear-gradient(135deg,var(--surface-media),var(--surface-alt))}
.dm-kat__badge{position:absolute;top:14px;left:14px;padding:5px 12px;border-radius:var(--radius-pill);
  background:var(--sale);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dm-kat__body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.dm-kat__cat{margin:0 0 4px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.dm-kat__name{margin:0 0 10px;font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.01em;
  font-size:1.25rem;line-height:1.25;color:var(--ink)}
.dm-kat__price{margin:auto 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.dm-kat__ab{font-size:.82rem;color:var(--ink-soft)}
.dm-kat__price b{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.35rem;font-variant-numeric:tabular-nums}
.dm-kat__price s{color:var(--ink-muted);font-size:.9rem}
.dm-kat__price--none{color:var(--ink-soft);font-size:.95rem}
.dm-kat__tax{margin:2px 0 0;font-size:.74rem;color:var(--ink-muted)}
.dm-kat__more{margin-top:14px;font-size:.88rem;font-weight:600;color:var(--brand);
  transition:transform .35s var(--ease)}
.dm-kat__card:hover .dm-kat__more{transform:translateX(4px)}
.dm-kat__empty{grid-column:1/-1;padding:40px 20px;text-align:center;color:var(--ink-soft);
  background:var(--surface-alt);border-radius:var(--radius-card)}

/* --- paginación --- */
.dm-kat__pages{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:clamp(24px,3vw,40px) 0 0}
.dm-kat__pages:empty{display:none}
.dm-kat__page{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);
  text-decoration:none;font-weight:500;font-variant-numeric:tabular-nums;transition:all .35s var(--ease)}
.dm-kat__page:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.dm-kat__page.is-on{background:var(--brand);border-color:var(--brand);color:#fff}
.dm-kat__dots{display:inline-flex;align-items:center;padding:0 4px;color:var(--ink-muted)}
