/* ═══════════════════════════════════════════════════════════════════
   CATÁLOGO PÚBLICO — Comunidad Agenciera
   Estética heredada de automotoresomega.com:
   negros cálidos + crema + naranja #ff6500 + dorado + Cairo/JetBrains Mono
   ═══════════════════════════════════════════════════════════════════ */
:root {
  --bg:#0a0a0a; --bg-elev:#131311; --bg-elev-2:#1c1b18;
  --line:#2a2823; --line-soft:#1f1d1a;
  --ink:#f3ede2; --ink-dim:#a8a094; --ink-mute:#6b6358;
  --accent:#ff6500; --accent-bright:#ff8534;
  --gold:#a08254; --gold-soft:#c9a961;
  --green:#15803d;
  --serif:'Cairo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--ink); font-family:var(--serif); min-height:100vh; }
.hidden { display:none !important; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; }

/* ── header ── */
.cat-header {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 5vw; border-bottom:1px solid var(--line-soft);
  position:sticky; top:0; background:rgba(10,10,10,.92); backdrop-filter:blur(8px); z-index:50;
}
.cat-brand { display:flex; align-items:center; gap:13px; }
.cat-brand svg { height:42px; width:auto; }
.cat-brand-name { font-weight:900; font-size:19px; letter-spacing:.06em; line-height:1.1; }
.cat-brand-sub { font-family:var(--mono); font-size:9px; letter-spacing:.24em; color:var(--accent-bright); }
.cat-count { font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--ink-dim); text-transform:uppercase; }

/* ── hero ── */
.cat-main { max-width:1280px; margin:0 auto; padding:0 5vw 70px; }
.cat-hero { padding:52px 0 30px; border-bottom:1px solid var(--line-soft); margin-bottom:26px; }
.cat-hero h1 { font-size:clamp(32px,5vw,54px); font-weight:900; letter-spacing:-.02em; text-transform:uppercase; line-height:1.02; }
.cat-hero h1 span { color:var(--accent); }
.cat-hero-sub { color:var(--ink-dim); margin-top:12px; font-size:15px; max-width:520px; }

/* ── filtros ── */
.cat-filtros { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:22px; }
.cat-filtros input[type=search], .cat-filtros select {
  background:var(--bg-elev); border:1px solid var(--line); color:var(--ink);
  padding:10px 14px; font-family:var(--serif); font-size:14px; min-width:200px;
}
.cat-filtros input:focus, .cat-filtros select:focus { outline:none; border-color:var(--accent); }
.cat-agencias { display:flex; gap:8px; flex-wrap:wrap; }
.ag-chip {
  display:flex; align-items:center; gap:7px; cursor:pointer;
  background:var(--bg-elev); border:1px solid var(--line); color:var(--ink-dim);
  padding:7px 13px; font-family:var(--mono); font-size:10px;
  letter-spacing:.12em; text-transform:uppercase; transition:all .2s;
}
.ag-chip img { height:18px; max-width:52px; object-fit:contain; }
.ag-chip:hover { border-color:var(--accent); color:var(--ink); }
.ag-chip.active { background:var(--accent); border-color:var(--accent); color:#000; }

/* header de agencia seleccionada */
.agencia-header {
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  background:var(--bg-elev); border:1px solid var(--line); border-left:3px solid var(--accent);
  padding:18px 22px; margin-bottom:24px;
}
.agencia-header img { height:52px; max-width:150px; object-fit:contain; }
.agencia-header .ah-nombre { font-size:24px; font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.agencia-header .ah-datos { font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--ink-dim); text-transform:uppercase; }
.agencia-header .ah-wsp { margin-left:auto; }

/* ── grid de vehículos (mismo patrón que la web pública) ── */
.cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.cat-cargando { color:var(--ink-mute); font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:40px 0; grid-column:1/-1; text-align:center; }
.vcard {
  background:var(--bg-elev); border:1px solid var(--line-soft); cursor:pointer;
  display:flex; flex-direction:column; text-align:left;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s;
}
.vcard:hover { transform:translateY(-4px); border-color:var(--line); }
.vcard-img { aspect-ratio:16/10; background:var(--bg-elev-2); position:relative; overflow:hidden; }
.vcard-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.vcard:hover .vcard-img img { transform:scale(1.05); }
.vcard-sinfoto { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.vcard-sinfoto svg { height:52px; opacity:.25; }
.vcard-tag {
  position:absolute; top:12px; left:12px; font-family:var(--mono); font-size:10px;
  letter-spacing:.16em; text-transform:uppercase; padding:6px 10px;
  background:rgba(10,10,10,.7); border:1px solid var(--line); backdrop-filter:blur(6px);
}
.vcard-tag.senado { background:rgba(180,30,30,.85); border-color:transparent; color:#fff; }
.vcard-body { padding:18px 18px 16px; display:flex; flex-direction:column; flex:1; }
.vcard-meta { display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-dim); margin-bottom:10px; white-space:nowrap; }
.vcard-title { font-size:22px; font-weight:800; text-transform:uppercase; letter-spacing:-.02em; line-height:1.1; margin-bottom:4px; }
.vcard-sub { color:var(--ink-dim); font-size:13px; margin-bottom:16px; }
.vcard-foot { border-top:1px solid var(--line-soft); padding-top:14px; margin-top:auto;
  display:flex; justify-content:space-between; align-items:center; }
.vcard-price { font-size:21px; font-weight:700; letter-spacing:-.01em; }
.vcard-price small { font-family:var(--mono); font-size:10px; color:var(--gold-soft); letter-spacing:.1em; }
.vcard-cta { font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-bright); white-space:nowrap; }

/* ── detalle ── */
.cat-volver { background:none; border:none; color:var(--ink-dim); font-family:var(--mono);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; padding:26px 0 18px; display:block; }
.cat-volver:hover { color:var(--accent); }
.det-layout { display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:start; }
@media (max-width:900px) { .det-layout { grid-template-columns:1fr; } }
.det-galeria .principal { aspect-ratio:16/10; background:var(--bg-elev-2); position:relative; overflow:hidden; border:1px solid var(--line-soft); }
.det-galeria .principal img { width:100%; height:100%; object-fit:cover; }
.det-galeria .principal .vcard-sinfoto svg { height:90px; }
.det-thumbs { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:8px; }
.det-thumbs img { aspect-ratio:16/10; width:100%; object-fit:cover; cursor:pointer;
  border:1px solid var(--line-soft); opacity:.65; transition:opacity .2s; }
.det-thumbs img:hover, .det-thumbs img.sel { opacity:1; border-color:var(--accent); }
.det-info h1 { font-size:clamp(26px,3.4vw,40px); font-weight:900; text-transform:uppercase; letter-spacing:-.02em; line-height:1.05; }
.det-precio { font-size:34px; font-weight:800; margin:14px 0 4px; }
.det-precio small { font-family:var(--mono); font-size:11px; color:var(--gold-soft); letter-spacing:.1em; }
.det-estado { margin-bottom:18px; }
.det-estado .tag { font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  padding:5px 10px; border:1px solid var(--line); color:var(--ink-dim); }
.det-estado .tag.senado { background:rgba(180,30,30,.85); color:#fff; border-color:transparent; }
.det-specs { width:100%; border-collapse:collapse; margin:18px 0; }
.det-specs td { padding:9px 0; border-bottom:1px solid var(--line-soft); font-size:14px; }
.det-specs td:first-child { font-family:var(--mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-mute); width:42%; }
.det-coment { color:var(--ink-dim); font-size:14px; line-height:1.65; margin:6px 0 22px; white-space:pre-line; }
.det-agencia {
  background:var(--bg-elev); border:1px solid var(--line); border-left:3px solid var(--accent);
  padding:18px 20px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.det-agencia img { height:44px; max-width:120px; object-fit:contain; }
.det-agencia .da-label { font-family:var(--mono); font-size:9px; letter-spacing:.2em; color:var(--ink-mute); text-transform:uppercase; }
.det-agencia .da-nombre { font-weight:800; font-size:18px; text-transform:uppercase; }
.det-agencia .da-ciudad { font-family:var(--mono); font-size:10px; color:var(--ink-dim); letter-spacing:.1em; text-transform:uppercase; }
.btn-wsp {
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  background:var(--accent); color:#000; border:none; padding:13px 22px;
  font-family:var(--serif); font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.04em;
  transition:filter .2s, transform .12s; margin-left:auto;
}
.btn-wsp:hover { filter:brightness(1.12); transform:translateY(-1px); }

/* ── footer ── */
.cat-footer { border-top:1px solid var(--line-soft); padding:28px 5vw; display:flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); }
.cat-footer svg { height:26px; }
