:root{
  --primary-red:#e62020;
  --bg:#0f0f0f;
  --card-bg:rgba(255,255,255,0.03);
  --border:rgba(230,32,32,0.3);
  --text:#ffffff;
  --muted:#a8a8a8;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
h1,h3,.tbrand{ font-family:'Orbitron',sans-serif; }

/* NAV */
.tnav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 6%;
  background:rgba(15,15,15,0.95);
  border-bottom:2px solid var(--primary-red);
}
.tbrand{ color:#fff; text-decoration:none; font-weight:900; letter-spacing:1px; }
.tbrand span{ color:var(--primary-red); }

.tmain{ max-width:1000px; margin:0 auto; padding:50px 5% 80px; min-height:60vh; }
.tsection h1{ font-size:1.8rem; margin-bottom:10px; color:var(--primary-red); }
.tlead{ color:var(--muted); margin-bottom:30px; }
.tempty{ color:var(--muted); }
.tempty a{ color:var(--primary-red); }

/* PLANES */
.tplanes-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px; }
.tplan-card{
  background:var(--card-bg); border:1.5px solid var(--border); border-radius:14px;
  padding:24px; display:flex; flex-direction:column; gap:10px; position:relative;
}
.tplan-card h3{ font-size:1rem; }
.tplan-card p{ color:var(--muted); font-size:0.85rem; flex:1; }
.tplan-precio{ font-size:1.4rem; font-weight:800; color:var(--primary-red); }

.tplan-card.tplan-destacado{ border-color:var(--primary-red); box-shadow:0 0 0 1px var(--primary-red), 0 10px 30px rgba(230,32,32,0.15); }
.tplan-badge{
  align-self:flex-start; display:inline-flex; align-items:center;
  padding:4px 10px; border-radius:999px; border:1.5px solid var(--primary-red);
  color:var(--primary-red); font-family:'Orbitron',sans-serif; font-size:0.65rem;
  font-weight:700; letter-spacing:1px; text-transform:uppercase;
}

/* BOTONES */
.tbtn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--primary-red); color:#fff; border:none; border-radius:10px;
  padding:12px 20px; font-weight:700; font-size:0.88rem; cursor:pointer;
  text-decoration:none; transition:.25s; width:100%;
}
.tbtn:hover{ background:#b81616; }

footer.tfooter{ text-align:center; padding:26px; color:var(--muted); font-size:0.78rem; border-top:1px solid rgba(230,32,32,0.2); }

/* MODAL DE CONTACTO */
.modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.85); display:none; align-items:center; justify-content:center; z-index:3000; padding:16px; }
.modal-overlay.active{ display:flex; }
.modal{ position:relative; background:#0a0a0a; border:1.5px solid var(--border); border-radius:14px; padding:26px; max-width:440px; width:100%; max-height:90vh; overflow-y:auto; }
.modal h3{ color:var(--primary-red); margin-bottom:6px; font-size:1.15rem; display:flex; align-items:center; gap:8px; }
.modal .modal-lead{ color:var(--muted); font-size:0.85rem; margin-bottom:18px; }
.modal form{ display:flex; flex-direction:column; gap:12px; }
.modal label{ font-size:0.8rem; font-weight:700; color:#ddd; margin-bottom:4px; display:block; }
.modal input, .modal textarea{
  width:100%; padding:10px 12px; border-radius:8px; border:1.5px solid rgba(255,255,255,0.15);
  background:rgba(0,0,0,0.3); color:#fff; font-family:'Inter',sans-serif; font-size:0.9rem;
}
.modal input:focus, .modal textarea:focus{ outline:none; border-color:var(--primary-red); }
.modal textarea{ min-height:80px; resize:vertical; }
.modal .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.modal-close{
  position:absolute; top:12px; right:14px; width:30px; height:30px; background:none; border:none;
  color:#888; font-size:1.3rem; line-height:1; cursor:pointer;
}
.modal-close:hover{ color:var(--primary-red); }

@media (max-width:700px){
  .tplanes-grid{ grid-template-columns:1fr; }
}
