/*
  K3 Ingenieria -- Comercio de Maquinaria y Equipos page-specific styles
  Photography-led, denser and more data-shaped than Consultoria.
  Depends on tokens/base/layout/components being loaded first. Shared
  primitives (.page-head, .image-placeholder, .reveal-panel/-media/
  -rule, .cross-link*) live in components.css. The contact-strip module
  once shared with Inicio/Consultoria was removed sitewide in a later
  session; the page-foot .closing-line sentence that replaced it here
  was itself later replaced by .cross-link-section, reusing
  Consultoria's cross-link pattern instead.
*/

.head-media-section { padding-bottom: clamp(2rem, 5vw, 3rem); }

/* Real photo, replacing the page-head's former .image-placeholder box.
   Mirrors components.css's .image-placeholder--21-9 re-crop rule: 21:9
   becomes a letterbox slit below 760px. */
.head-photo {
  display: block;
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}
@media (max-width: 759.98px) {
  .head-photo { aspect-ratio: 3 / 2; }
}

/* =========================================================
   Categorias de equipo
   2-up grid of large photo tiles. Real photography scale, no icons.
   Each tile is a link into Contacto (there is no catalog/category
   page -- no inventory data exists, per DESIGN-PLAN.md Sec.3 -- so
   the tile's destination is "ask about this category", not a product
   page), using the shared realce-de-panel primitives.
   ========================================================= */
.categorias {
  padding-block: clamp(2rem, 5vw, 4rem);
}
.categorias-heading { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }

.categorias-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 4vw, 40px);
}
@media (max-width: 759.98px) {
  .categorias-grid { grid-template-columns: 1fr; }
}

.categoria-tile .image-placeholder,
.categoria-tile .categoria-photo { margin-bottom: 1rem; }
.categoria-tile h3 { margin-bottom: 0.5em; }
.categoria-tile p { margin: 0; max-width: 60ch; }

/* Real photo, replacing a categoria-tile's former .image-placeholder
   box. Sits inside .reveal-media (motion moment 1: .reveal-media > *
   scales 1.02 on hover/focus) -- that rule targets the direct child
   generically, so it already applies here with no changes needed. */
.categoria-photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* =========================================================
   Condiciones y proceso
   The commercial process, in a tabular module (Archivo, tnum) --
   NOT an equipment spec table. Real steps (solicitud, verificacion
   de requerimientos, cotizacion, entrega), general terms in words.
   ========================================================= */
.condiciones {
  padding-block: clamp(2rem, 5vw, 4rem);
  border-top: 1px solid var(--rule-soft);
}
.condiciones-heading { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }

.condiciones-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-display);
  font-size: var(--fs-table);
  line-height: var(--lh-table);
  font-feature-settings: "tnum" 1;
}
.condiciones-table th,
.condiciones-table td {
  text-align: left;
  vertical-align: top;
  padding: 0.9rem 1.25rem 0.9rem 0;
  border-top: 1px solid var(--rule-soft);
}
.condiciones-table thead th {
  border-top: none;
  padding-top: 0;
  padding-bottom: 0.6rem;
  color: var(--text-secondary);
  font-weight: 400;
}
.condiciones-table th:first-child,
.condiciones-table td:first-child {
  width: 240px;
  font-weight: 600;
  color: var(--navy);
}

@media (max-width: 759.98px) {
  .condiciones-table, .condiciones-table thead, .condiciones-table tbody,
  .condiciones-table th, .condiciones-table td, .condiciones-table tr {
    display: block;
    width: auto;
  }
  .condiciones-table thead { display: none; }
  .condiciones-table tr { padding-block: 1rem; border-top: 1px solid var(--rule-soft); }
  .condiciones-table td { border-top: none; padding: 0.2rem 0; }
}
