/* ==========================================================================
   NOVA ARQUITECTURA & REFORMAS - Estilos Estudio de Arquitectura & Construcción
   ========================================================================== */
:root {
  --bg-dark: #0f172a;
  --bg-card: #1e293b;
  --color-orange: #f97316;
  --color-slate: #94a3b8;
  --text-main: #f8fafc;
  --text-muted: #94a3b8;
  --border-glass: rgba(249, 115, 22, 0.2);
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --radius-md: 12px;
  --header-height: 85px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--bg-dark); color: var(--text-main); font-family: var(--font-body); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
.container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
.section { padding: 5rem 0; }
.header { position: fixed; top: 0; width: 100%; height: var(--header-height); background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border-glass); z-index: 1000; display: flex; align-items: center; }
.header-container { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.logo { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; }
.nav-menu { display: flex; gap: 2rem; }
.nav-link:hover, .nav-link.active { color: var(--color-orange); }
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.8rem 1.75rem; border-radius: var(--radius-md); font-weight: 700; background: var(--color-orange); color: #fff; cursor: pointer; }
.hero { padding-top: calc(var(--header-height) + 4rem); padding-bottom: 5rem; text-align: center; }
.card { background: var(--bg-card); border: 1px solid var(--border-glass); border-radius: var(--radius-md); padding: 1.5rem; margin-bottom: 1.5rem; }
.arch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.cart-drawer { position: fixed; top: 0; right: -100%; width: 90%; max-width: 400px; height: 100vh; background: var(--bg-card); padding: 2rem; z-index: 2000; transition: right 0.4s ease; border-left: 1px solid var(--color-orange); }
.cart-drawer.active { right: 0; }
.footer { background: #080d19; padding: 3rem 0; text-align: center; border-top: 1px solid var(--border-glass); color: var(--text-muted); }
@media (max-width: 768px) { .arch-grid { grid-template-columns: 1fr; } .nav-menu { display: none; } }
