:root {
  --la-primary: #0d6efd;
  --la-dark: #0b0b0c;
}
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; }
.navbar-brand img { max-height: 40px; height: auto; }
.navbar .menu-item a { padding: .5rem 1rem; display: block; }
.hero {
  min-height: 60vh;
  display: grid;
  place-items: center;
  background-position: center;
  background-size: cover;
}
.hero .headline { text-shadow: 0 2px 10px rgba(0,0,0,.4); }
.card-tour img { aspect-ratio: 3/2; object-fit: cover; }
footer a { text-decoration: none; }

/* ============================
   TIPOGRAFÍA & TEXTOS
============================= */
body {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: .75rem;
}
h1 { font-size: 1.2rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-bottom: 1rem; }
ul, ol { padding-left: 1.5rem; margin-bottom: 1rem; }
li { margin-bottom: .5rem; }

/* ============================
   SECCIONES
============================= */
.section-title {
  font-size: 2rem;
  font-weight: 700;
}
.hero {
  background-size: cover;
  background-position: center;
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}
.hero > .container {
  position: relative;
  z-index: 2;
}
.cta {
  background: var(--la-primary, #0d6efd);
}

/* ============================
   CARDS & TOURS
============================= */
.card-tour img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
.card-tour .card-body {
  padding: 1rem;
}

/* ============================
   TESTIMONIOS
============================= */
.testimonial {
  border-left: 4px solid var(--la-primary, #0d6efd);
  font-style: italic;
}

/* ============================
   WOOCOMMERCE OVERRIDES
============================= */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 1.5rem; }
.woocommerce ul.products li.product { margin: 0; }
.woocommerce div.product .product_title { font-size: 2rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.25rem; color: var(--la-primary,#0d6efd); }
.woocommerce .button { border-radius: .3rem; padding: .5rem 1rem; }
