/* ── Product / modality pages (rondas-virtuales, on-premises) ── */
.prod-hero { position: relative; overflow: hidden; padding: clamp(48px, 7vw, 96px) 24px clamp(56px, 7vw, 96px); border-bottom: 1px solid var(--hairline); }
.prod-hero__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.prod-hero__h1 { font-size: clamp(36px, 4.4vw, 60px); }
.prod-hero__facts { list-style: none; margin: 34px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.prod-hero__facts li { position: relative; padding-left: 26px; font-size: 15px; color: var(--fg-2); }
.prod-hero__facts li b { color: var(--fg-1); font-weight: 650; }
.prod-hero__facts li::before { content: ''; position: absolute; left: 0; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: rgba(24, 178, 107, .12); box-shadow: inset 0 0 0 1px rgba(24, 178, 107, .45); }
.prod-hero__facts li::after { content: ''; position: absolute; left: 4px; top: 10px; width: 6px; height: 3.5px; border-left: 1.5px solid #0E8A54; border-bottom: 1.5px solid #0E8A54; transform: rotate(-45deg); }

/* Parte de ronda (mock) */
.report { background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow-md); }
.report__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--hairline); background: var(--alt); }
.report__title { font-size: 13px; font-weight: 600; color: var(--fg-1); }
.report__site { font: 500 11.5px var(--mono); color: var(--fg-3); }
.report__cam { aspect-ratio: 16 / 7; border-radius: 0; }
.report__cam img { width: 100%; height: 100%; object-fit: cover; }
.report__bbox { left: 10%; top: 18%; width: 46%; height: 60%; }
.report__tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.report__tbl th { text-align: left; font: 600 10.5px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fg-3); padding: 12px 16px 8px; border-bottom: 1px solid var(--hairline); }
.report__tbl td { padding: 10px 16px; border-bottom: 1px solid var(--hairline); color: var(--fg-2); vertical-align: middle; }
.report__tbl td:first-child { color: var(--fg-1); font-weight: 600; white-space: nowrap; }
.report__tbl tr.is-finding td { background: rgba(255, 61, 113, .04); }
.report__tbl .sev { margin-left: 6px; vertical-align: middle; }
.report__foot { padding: 12px 16px; font: 500 11.5px var(--mono); color: var(--fg-3); background: var(--alt); }
.chk { display: inline-block; font: 700 11.5px var(--mono); padding: 3px 9px; border-radius: 999px; vertical-align: middle; }
.chk--ok { background: rgba(24, 178, 107, .12); color: #0E8A54; box-shadow: inset 0 0 0 1px rgba(24, 178, 107, .4); }
.chk--no { background: rgba(255, 59, 48, .1); color: #C81E14; box-shadow: inset 0 0 0 1px rgba(255, 59, 48, .35); }
.chk--nc { background: rgba(142, 142, 147, .12); color: #5B5B60; box-shadow: inset 0 0 0 1px rgba(142, 142, 147, .4); }

/* Tables inside sections */
.doc--table { padding: clamp(10px, 2vw, 18px) clamp(14px, 2vw, 24px); }
.doc--table table { margin: 8px 0; font-size: 14.5px; }
.doc--table th, .doc--table td { border: 0; border-bottom: 1px solid var(--hairline); padding: 13px 14px; }
.doc--table th { background: transparent; font: 600 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fg-3); }
.doc--table tbody tr:last-child td { border-bottom: 0; }
.doc__note { margin: 6px 14px 10px; font-size: 13.5px; color: var(--fg-3); }
.matrix td b { color: var(--fg-1); }
.matrix td small { display: block; color: var(--fg-3); margin-top: 2px; }
.matrix .chk { margin-right: 8px; }
.matrix__sep td { border-top: 2px solid var(--hairline); color: var(--fg-1); font-weight: 600; }
.matrix__sep ~ tr td:first-child { color: var(--fg-1); font-weight: 600; }

/* On-premises diagram */
.onprem { position: relative; display: flex; flex-direction: column; gap: 14px; }
.onprem__net { position: relative; background: var(--ops-page); color: var(--ops-fg-2); border-radius: var(--r-xl); padding: 26px 22px 22px; box-shadow: var(--shadow-ops); color-scheme: dark; }
.onprem__netlbl { display: block; font: 600 10.5px var(--mono); letter-spacing: .12em; color: var(--ops-fg-3); margin-bottom: 18px; }
.onprem__row { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: center; }
.onprem__node { background: var(--ops-panel); border: 1px solid var(--ops-border); border-radius: var(--r-md); padding: 14px 12px; text-align: center; min-width: 0; }
.onprem__node b { display: block; font-size: 13.5px; color: var(--ops-fg-1); letter-spacing: -.01em; }
.onprem__node span { display: block; font: 500 11px var(--mono); color: var(--ops-fg-3); margin-top: 6px; }
.onprem__node--vi { border-color: rgba(255, 61, 113, .6); box-shadow: 0 0 0 1px rgba(255, 61, 113, .35), 0 0 32px -8px rgba(255, 61, 113, .5); }
.onprem__node--vi b { color: #fff; }
.onprem__arrow { color: var(--ops-fg-3); font-size: 18px; }
.onprem__wall { margin-top: 20px; padding-top: 14px; border-top: 1px dashed rgba(255, 255, 255, .22); display: flex; justify-content: center; }
.onprem__wall span { font: 600 11px var(--mono); letter-spacing: .06em; color: var(--live); text-transform: uppercase; }
.onprem__cloud { align-self: center; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 18px; border: 1px dashed var(--hairline); border-radius: 999px; color: var(--fg-3); }
.onprem__cloud span { font: 600 12px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.onprem__cloud small { font-size: 11.5px; }

/* Current nav item */
.hd__nav a[aria-current="page"] { color: var(--fg-1); }
.hd__nav a[aria-current="page"]::after { right: 0; }

@media (max-width: 1060px) {
  .prod-hero__in { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .hd__nav a[href="/#soluciones"], .hd__nav a[href="/blog/"] { display: none; }
}
@media (max-width: 600px) {
  .hd__nav { display: none; }
}
@media (max-width: 760px) {
  .onprem__row { grid-template-columns: 1fr; }
  .onprem__arrow { transform: rotate(90deg); justify-self: center; }
  .report__tbl th:nth-child(2), .report__tbl td:nth-child(2) { display: none; }
  .doc--table { overflow-x: auto; }
}
