/* Paleta consistente con el sitio */
:root{
  --blue-900:#002F6C;
  --blue-600:#005BBB;
  --gold:#FFC107;
  --gray-50:#F5F5F5;
  --gray-200:#e5e7eb;
  --body:#1f2937;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--body);
  background:#fff;
  line-height:1.55;
}

.container{ width:min(1000px, 92vw); margin: 28px auto; }

.ds-header{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  border-bottom: 4px solid var(--gold); padding-bottom:12px; margin-bottom:18px;
}
.brand{
  display:flex; align-items:center; gap:12px; color:var(--blue-900); text-decoration:none;
}
.brand img{ height:44px; }
.brand h1{ font-size:1.4rem; margin:0; }
.badge{ color:#fff; background:var(--blue-900); padding:6px 10px; border-radius:8px; font-weight:700; }

.hero-spec{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:18px; margin:16px 0 22px;
}
.hero-spec .photo{
  background:#fff; border:1px solid var(--gray-200); border-radius:12px; padding:10px;
}
.hero-spec .photo img{ width:100%; height:auto; display:block; border-radius:8px; }
.hero-spec .highlights{
  background:var(--gray-50); border:1px solid var(--gray-200); border-radius:12px; padding:14px;
}
.highlights h2{ margin:0 0 6px; color:var(--blue-900); }
.kv{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:8px; }
.kv div{ background:#fff; border:1px solid var(--gray-200); border-radius:8px; padding:8px 10px; font-weight:700; color:#111827; }
.kv small{ display:block; font-weight:600; color:#4b5563; }

.ds-section{ margin: 18px 0; }
.ds-section h3{ margin:0 0 8px; color:var(--blue-600); font-size:1.15rem; }

.table{
  width:100%; border-collapse: collapse; background:#fff; border:1px solid var(--gray-200); border-radius:12px; overflow:hidden;
}
.table th, .table td{ padding:10px 12px; border-bottom:1px solid var(--gray-200); }
.table th{ background:#f8fafc; text-align:left; color:#0f172a; }
.table tr:last-child td{ border-bottom:none; }

.feature-list{ display:grid; gap:10px; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }
.feature{
  background:#fff; border:1px solid var(--gray-200); border-radius:10px; padding:10px;
}
.feature strong{ color:#111827 }

.cta-row{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;
}
.btn{
  display:inline-block; text-decoration:none; border-radius:10px; font-weight:800; padding:10px 16px; border:2px solid transparent;
}
.btn-primary{ background:var(--gold); color:var(--blue-900); }
.btn-outline{ background:transparent; color:var(--blue-900); border-color:var(--blue-900); }

.footer{
  margin-top:22px; padding-top:10px; border-top:1px solid var(--gray-200);
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; color:#374151;
  font-size:.95rem;
}

/* ---- IMPRESIÓN A4 ---- */
@media print{
  @page { size: A4; margin: 12mm; }
  .btn, .cta-row{ display:none !important; }
  .container{ width:auto; margin:0; }
  .ds-header{ border-bottom:2px solid var(--gold); margin-bottom:10px; }
  .hero-spec{ grid-template-columns: 1fr 1fr; gap:12px; }
}
