/* Paleta inspirada en el logo: negro profundo (#0D0D0D) y dorado (#C9A227) */
:root{
  --bg:#0B0B0B;
  --bg-soft:#121212;
  --text:#EDEDED;
  --muted:#b1b1b1;
  --primary:#C9A227;
  --primary-700:#A7861C;
  --card:#151515;
  --border:#232323;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:var(--text);text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(1150px, 92%);margin-inline:auto;padding:2rem 0}

/* Navbar */
.navbar{position:sticky;top:0;background:rgba(11,11,11,.9);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:.75rem 4vw;z-index:10}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700}
.brand-logo{height:34px;width:34px;border-radius:50%;border:2px solid var(--primary)}
.nav-links{display:flex;gap:1rem;align-items:center}
.nav-links a{padding:.5rem .9rem;border-radius:12px;transition:.2s background}
.nav-links a:hover{background:var(--card)}
.btn-login{border:1px solid var(--border)}

/* Hero */
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;margin-top:1rem}
.hero h1{font-size:clamp(1.9rem, 2.5vw + 1rem, 3rem);line-height:1.2}
.accent{color:var(--primary)}
.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:12px;border:1px solid var(--border);background:var(--card)}
.btn.primary{background:var(--primary);color:#0b0b0b;border:none;font-weight:700}
.hero-art img{border-radius:16px;border:1px solid var(--border)}

/* Cards grid (servicios y proyectos) */
.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card{background:var(--card);padding:1rem;border:1px solid var(--border);border-radius:16px;min-height:160px;display:flex;flex-direction:column;gap:.5rem}
.card h3{margin:.4rem 0}
.card p{color:var(--muted)}
.card i{color:var(--primary)}

/* Project rows estilo "imagen derecha, texto izquierda" */
.project-row{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:center;margin:1.2rem 0}
.project-text{background:var(--card);padding:1rem;border:1px solid var(--border);border-radius:16px;position:relative}
.project-actions{position:absolute;top:.8rem;left:.8rem;display:flex;gap:.6rem}
.project-actions a{background:#0002;padding:.4rem;border-radius:10px;border:1px solid var(--border)}
.project-image img{border-radius:16px;border:1px solid var(--border)}
.project-card img{border-radius:12px;margin-bottom:.5rem;border:1px solid var(--border)}
.project-icons{display:flex;gap:.5rem;margin-left:auto}
.project-icons a{background:#0002;padding:.35rem;border-radius:10px;border:1px solid var(--border)}

.projects-grid{grid-template-columns:repeat(4,1fr)}
.tags span{font-size:.75rem;border:1px solid var(--border);padding:.2rem .5rem;border-radius:999px}
.tags .open{color:#4ade80;border-color:#234e2f}
.tags .closed{color:#fecaca;border-color:#512525}

/* Forms */
.form{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.9rem}
.form input,.form select,.form textarea{width:100%;padding:.7rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form.small{max-width:420px}

/* Tables */
.table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.table th,.table td{border-bottom:1px solid var(--border);padding:.7rem;text-align:left}
.table th{background:#111}

/* Footer */
.site-footer{background:#0d0d0d;border-top:1px solid var(--border);margin-top:3rem}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem;padding:2rem 4vw}
.socials a{margin-right:.6rem}
.copy{text-align:center;border-top:1px solid var(--border);padding:.8rem;color:var(--muted)}

.center{text-align:center}
.mt-2{margin-top:1rem}

/* Responsive */
@media (max-width: 980px){
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .projects-grid{grid-template-columns:repeat(2,1fr)}
  .hero{grid-template-columns:1fr;gap:1rem}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .cards-grid{grid-template-columns:1fr}
  .projects-grid{grid-template-columns:1fr}
  .navbar{flex-direction:column;gap:.6rem}
}


/* Blog */
.post-hero{border-radius:16px;border:1px solid var(--border);margin-bottom:1rem}
.post-content p{line-height:1.7}
.muted{color:var(--muted)}

/* Extra responsive tweaks */
@media (max-width: 1280px){
  .container{width:min(1080px,94%)}
}
@media (max-width: 420px){
  .brand span{display:none}
  .btn{width:100%;text-align:center}
}


/* =========================================================
   RESPONSIVE MEJORADO
   ========================================================= */

/* Tablets (≤ 1024px) */
@media (max-width: 1024px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-art {
    order: -1;
  }

  .nav-links {
    gap: 0.5rem;
  }

  .cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }

  .grid-2 {
    grid-template-columns: 1fr;
  }
}

/* Móviles (≤ 768px) */
@media (max-width: 768px) {
  .navbar {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .menu-toggle {
    display: block;
  }

  .nav-links {
    flex-direction: column;
    width: 100%;
    background: #0d0d0d;
    border-top: 1px solid var(--border);
    display: none; /* Oculto por defecto */
  }

  .nav-links.active {
    display: flex;
  }

  .hero h1 {
    font-size: 2rem;
  }

  .project-row {
    grid-template-columns: 1fr;
  }

  .project-image {
    order: -1;
  }

  .footer-grid {
    text-align: center;
  }
}

/* Teléfonos pequeños (≤ 480px) */
@media (max-width: 480px) {
  .brand span {
    display: none;
  }

  .btn {
    width: 100%;
    text-align: center;
  }

  .card {
    padding: 1rem;
  }

  .hero h1 {
    font-size: 1.6rem;
  }
}
