/* ===============================
   Variables y resets
================================== */
:root{
  --verde:#4e6b2e;
  --verde-osc:#2e3d30;
  --dorado:#b79257;
  --beige:#f6f1ea;
  --gris:#6b7280;
  --blanco:#fff;

  --radius-xl:20px;
  --radius-lg:14px;

  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{ box-sizing:border-box; }
html,body{
  margin:0; padding:0;
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--verde-osc);
  background:#fff;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

/* Accesibilidad: helper oculto */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Contenedor centrado */
.container{ width:80vw; margin-inline:auto; }

/* Suaviza el scroll y evita que el header tape anclas */
html{ scroll-behavior:smooth; }
section{ scroll-margin-top:84px; }

/* ===============================
   Header / Menú (logo izq, links der)
================================== */
.head{
  background:#9e2343;   /* color institucional */
  color:var(--blanco);
  border-bottom:4px solid var(--dorado);
}
.head--sticky{ position:sticky; top:0; z-index:30; box-shadow:0 6px 20px rgba(0,0,0,.08); }
.head .container{ padding:10px 0 12px; position:relative; }

.head__row{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand-img img{
  height:56px; width:auto; display:block;
}

/* Botón hamburguesa (oculto en desktop) */
.menu-toggle{
  display:none;              /* visible en móvil */
  width:44px; height:44px;
  border:1px solid var(--dorado);
  border-radius:10px;
  background:transparent;
  align-items:center; justify-content:center;
  gap:5px; padding:6px; cursor:pointer;
}
.menu-toggle__bar{
  display:block; width:22px; height:2px; background:#fff; border-radius:2px;
}

/* Menú desktop */
.menu{
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
}
.menu a{
  color:var(--blanco);
  padding:8px 12px;
  border:1px solid var(--dorado);
  border-radius:999px;
  font-weight:700;
}
.menu a:hover{ background:var(--dorado); color:var(--verde-osc); }

/* ===============================
   Imágenes sueltas (una tras otra)
================================== */
.stack{ padding:24px 0; }
.stack-img{
  width:100%;
  height:auto;
  display:block;
  margin:0 auto 14px;
}

/* ===============================
   AUTOS (grid 3 columnas)
================================== */
.autos{ padding:10px 0 32px; }
.autos-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.auto-card{
  display:block;
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:var(--shadow);
  aspect-ratio:4 / 3;
}
#autos .auto-card img{
  width:100%; height:100%;
  object-fit:contain;
  background:#fff;
  transition:transform .25s ease;
}
#autos .auto-card:hover img{ transform:scale(1.02); }

/* ===============================
   Footer
================================== */
.foot{
  border-top:4px solid var(--dorado);
  background:#fbfaf6;
  color:#42514a;
}
.foot .container{ padding:14px 0; }

#periodico:hover img{ transform:scale(1.02); }


/* ===============================
   Responsive
================================== */

/* tablets/portátiles pequeñas */
@media (max-width: 1024px){
  .container{ width:90vw; }
}

/* tablet vertical y teléfonos grandes */
@media (max-width: 860px){
  .brand-img img{ height:46px; }

  /* muestra hamburguesa */
  .menu-toggle{ display:inline-flex; }

  /* menú se vuelve desplegable bajo el header */
  .menu{
    position:absolute;
    top:100%; left:0; right:0;
    background:#9e2343;
    border-bottom:1px solid var(--dorado);
    padding:10px 16px 14px;
    display:none;
    flex-direction:column; gap:8px;
    z-index:40;
  }
  .menu.is-open{ display:flex; }

  .menu a{
    display:block; width:100%; text-align:center;
    border-radius:12px;
    border-color:rgba(255,255,255,.35);
    padding:10px 12px;
  }
}

/* teléfonos */
@media (max-width: 768px){
  .container{ width:92vw; }
  .stack{ padding:16px 0; }
}

@media (max-width: 900px){
  .autos-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 560px){
  .autos-grid{ grid-template-columns:1fr; }
  .brand-img img{ height:40px; }
}

/* mejora tap targets en táctiles */
@media (pointer:coarse){
  .menu a{ padding:10px 14px; }
}
