/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0
 Requires at least: 5.0
 Tested up to: 6.6
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* 
All style editing is done via /assets/scss/_bootscore_custom.scss
*/

/* ==== Generales ====*/
:root {
  --lag-primary: #f0ebe1;
  --lag-primary-60: #f0ebe192;
  --lag-secondary: #3c3c3c;
  --lag-blue: #8dc7e7;
  --lag-gray: #707c8b;
  --lag-terra: #a54914;
  --lag-orange: #dc8d1f;
  --lag-white: #ffffff;
  --lag-secondary-5: #3c3c3c1c;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Mulish";
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Ponjoung";
}

.h1 {
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-style: normal;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  color: var(--lag-white);
}
.h2 {
  font-size: clamp(2.1rem, 4vw, 2.5rem);
  margin-bottom: 1.5rem;
  margin-bottom: 2rem;
  color: var(--lag-secondary, #3c3c3c);
  font-style: normal;
  font-weight: 500;
  line-height: 3.75rem; /* 130.435% */
  letter-spacing: 0.075rem;
  text-transform: uppercase;
}
.h3 {
  font-size: 1.3rem;
}
p {
  color: var(--lag-secondary, #3c3c3c);

  /* p */
  font-family: Mulish;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625rem; /* 162.5% */
}
.lead {
  color: var(--lag-secondary, #3c3c3c);

  /* lead */
  font-family: Mulish;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1rem; /* 133.333% */
  letter-spacing: 0.165rem;
  text-transform: uppercase;
}
section {
  overflow-x: clip;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.hero {
  position: relative;
  padding-top: 12rem;
  padding-bottom: 3rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--lag-white);
  overflow: hidden;
}
.hero > .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: #00000070;
  z-index: 1;
}
.hero > * {
  position: relative;
  z-index: 1;
}
.hero .h1 {
  text-transform: uppercase;
}

.hero .fs-5 p:last-child {
  margin-bottom: 0;
}
.hero p {
  color: var(--lag-white);
}
.img-fluid {
  max-width: 100%;
  height: auto;
}

/* --- botones --- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.75rem;
  border: 1px solid transparent;
  border-radius: unset;
  font-family: Mulish;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}
.btn svg {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.btn:hover svg,
.btn:focus-visible svg {
  transform: translateX(0.2rem);
}
.btn:focus,
.btn:focus-visible,
.btn.target {
  outline: 2px solid var(--lag-orange);
  outline-offset: 2px;
}
.btn-primary {
  background-color: var(--lag-orange);
  border-color: var(--lag-orange);
  color: var(--lag-white);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:target,
.btn-primary.active,
.btn-primary.target,
.btn-primary:active {
  background-color: var(--lag-terra) !important;
  border-color: var(--lag-terra) !important;
  color: var(--lag-white) !important;
}
.btn-secondary {
  background-color: var(--lag-secondary);
  border-color: var(--lag-secondary);
  color: var(--lag-white);
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:focus-visible,
.btn-secondary:target,
.btn-secondary.active,
.btn-secondary.target,
.btn-secondary:active {
  background-color: var(--lag-gray) !important;
  border-color: var(--lag-gray) !important;
  color: var(--lag-white) !important;
}
.btn-blue {
  background-color: var(--lag-blue);
  border-color: var(--lag-blue);
  color: var(--lag-secondary);
}
.btn-blue:hover,
.btn-blue:focus,
.btn-blue:focus-visible,
.btn-blue:target,
.btn-blue.active,
.btn-blue.target,
.btn-blue:active {
  background-color: var(--lag-secondary) !important;
  border-color: var(--lag-secondary) !important;
  color: var(--lag-white) !important;
}
.btn-white {
  background-color: var(--lag-white);
  border-color: var(--lag-white);
  color: var(--lag-secondary);
}
.btn-white:hover,
.btn-white:focus,
.btn-white:focus-visible,
.btn-white:target,
.btn-white.active,
.btn-white.target,
.btn-white:active {
  background-color: var(--lag-primary) !important;
  border-color: var(--lag-primary) !important;
  color: var(--lag-secondary) !important;
}
.btn-primary-outline {
  background-color: transparent;
  border-color: var(--lag-white);
  color: var(--lag-white);
}
.btn-primary-outline:hover,
.btn-primary-outline:focus,
.btn-primary-outline:focus-visible,
.btn-primary-outline:target,
.btn-primary-outline.active,
.btn-primary-outline.target,
.btn-primary-outline:active {
  background-color: var(--lag-white) !important;
  color: var(--lag-secondary) !important;
}

/* --- tarjetas --- */
.tarjeta {
  background-color: var(--lag-white);
  padding: 1.75rem;
  box-shadow: 0 0.5rem 1.5rem rgba(60, 60, 60, 0.08);
}
.tarjeta img {
  object-fit: cover;
}

/* --- enlaces --- */
.enlace-flecha {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 0.5rem;
  height: 1.4375rem;
  padding-bottom: 0.125rem;
  color: var(--lag-secondary, #3c3c3c);
  font-family: Mulish;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25rem;
  text-decoration: none;
  border-bottom: 1px solid var(--lag-secondary, #3c3c3c);
  transition:
    border-color 0.2s ease,
    color 0.2s ease;
}
.enlace-flecha:after {
  content: "";
  display: inline-block;
  width: 0.8125rem;
  height: 0.8125rem;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M4.875 9.75L8.125 6.5L4.875 3.25' stroke='%233C3C3C' stroke-width='1.08333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M4.875 9.75L8.125 6.5L4.875 3.25' stroke='%233C3C3C' stroke-width='1.08333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transition: transform 0.2s ease;
}
.enlace-flecha:hover,
.enlace-flecha:focus-visible,
.enlace-flecha:active {
  color: var(--lag-orange);
  border-color: var(--lag-orange);
}
.enlace-flecha:hover:after,
.enlace-flecha:focus-visible:after,
.enlace-flecha:active:after {
  transform: translateX(0.25rem);
}
.enlace-flecha--white {
  color: var(--lag-white);
  border-color: var(--lag-white);
}
.enlace-flecha--white:hover,
.enlace-flecha--white:focus-visible,
.enlace-flecha--white:active {
  color: var(--lag-secondary);
  border-color: var(--lag-secondary);
}
.enlace-flecha--terra {
  color: var(--lag-terra);
  border-color: var(--lag-terra);
}
.enlace-flecha--terra:hover,
.enlace-flecha--terra:focus-visible,
.enlace-flecha--terra:active {
  color: var(--lag-orange);
  border-color: var(--lag-orange);
}

/* --- Lightbox --- */
img.lightbox {
  cursor: zoom-in;
}
body.laga-lightbox-abierto {
  overflow: hidden;
}
.laga-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background-color: rgba(20, 20, 20, 0.92);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease;
}
.laga-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}
.laga-lightbox__imagen {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.laga-lightbox__cerrar {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: var(--lag-white);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.laga-lightbox__cerrar:hover,
.laga-lightbox__cerrar:focus-visible {
  border-color: var(--lag-orange);
  outline: none;
}

/* ==== Inicio ==== */
/* --- Hero --- */
.inicio .hero .h1 {
  font-size: clamp(4rem, 6vw, 8.5rem);
  line-height: clamp(3.75rem, 5vw, 7.625rem);
}
.inicio .hero {
  padding-top: 9rem;
  padding-bottom: 2.5rem;
}
.inicio .hero .lead {
  color: var(--lag-white);
}

/* --- Cifras --- */
.inicio .hero .cifras {
  position: relative;
  margin-top: 2rem;
}

.inicio .cifra {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.inicio .cifra-valor {
  font-family: Ponjoung;
  font-size: 1rem;
  font-weight: 500;
  color: var(--lag-white);
}
.inicio .cifra-texto {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.7);
}

/* --- Territorio --- */
.inicio .territorio-texto {
  margin-bottom: 1.5rem;
}
.inicio .territorio-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.inicio .territorio-collage img {
  width: 100%;
  object-fit: cover;
  object-position: bottom;
}
.inicio .territorio-img-1 {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 6;
}
.inicio .territorio-img-2,
.inicio .territorio-img-3 {
  aspect-ratio: 4 / 2;
}

/* --- Enfoque --- */
.inicio .enfoque-item {
  height: 100%;
  padding-top: 1.5rem;
  border-top: 2px solid var(--lag-secondary);
}
.inicio .enfoque-icono {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  margin-bottom: 1rem;
}
.inicio .enfoque-item .h3 {
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 0.05rem;
}

/* --- Seguridad --- */
.inicio .seguridad {
  background-color: var(--lag-gray);
  color: var(--lag-white);
}
.inicio .seguridad .h2,
.inicio .seguridad p,
.inicio .seguridad .lead {
  color: var(--lag-white);
}
.inicio .seguridad-lista li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 0;
}
.inicio .seguridad-lista li i {
  margin-top: 0.25rem;
  color: var(--lag-white);
  opacity: 0.4;
}
.inicio .seguridad-intro p {
  opacity: 0.65;
}
.inicio .seguridad-lista strong {
  display: block;
}
.inicio .seguridad-lista span {
  font-size: 0.9rem;
  opacity: 0.5;
}
.inicio .seguridad-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.inicio .seguridad-collage img {
  width: 100%;
  object-fit: cover;
}
.inicio .seguridad-img-1 {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 6;
}
.inicio .seguridad-img-2,
.inicio .seguridad-img-3 {
  aspect-ratio: 4 / 2;
}

/* --- Incluye --- */
.inicio .incluye-icono {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
  margin: 0;
}
.inicio .incluye-item .h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}
.inicio .incluye-barra {
  background-color: var(--lag-orange);
  color: var(--lag-white);
  padding: 1.5rem 2rem;
}
.inicio .incluye-barra-texto svg {
  flex-shrink: 0;
}
.inicio .incluye-barra-texto p {
  font-size: 0.95rem;
  color: var(--lag-white);
}

/* --- Paisaje --- */
.inicio .paisaje {
  background-color: var(--lag-primary);
}
.inicio .paisaje-collage {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.inicio .paisaje-fila {
  display: flex;
  gap: 1rem;
  width: 100%;
}
.inicio .paisaje-foto img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Fila 1: foto 1 más ancha, foto 2 más estrecha/vertical */
.inicio .paisaje-foto-1 {
  flex: 1.35;
}
.inicio .paisaje-foto-1 img {
  aspect-ratio: 4 / 3;
}

.inicio .paisaje-foto-2 {
  flex: 1;
}
.inicio .paisaje-foto-2 img {
  aspect-ratio: 7 / 8;
}

/* Fila 2: foto 3 menos ancha, foto 4 más ancha */
.inicio .paisaje-foto-3 {
  flex: 1;
}
.inicio .paisaje-foto-3 img {
  aspect-ratio: 4 / 3;
}

.inicio .paisaje-foto-4 {
  flex: 1.35;
}
.inicio .paisaje-foto-4 img {
  aspect-ratio: 16 / 9;
}
.inicio .paisaje-lugar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 0.85rem;
}
.inicio .paisaje-lugar__icono {
  flex-shrink: 0;
}
.inicio .paisaje-lugar strong {
  font-weight: 700;
}
.inicio .paisaje-lugar span {
  opacity: 0.6;
}
.inicio .paisaje-lugar span::before {
  content: "· ";
}

/* --- Opiniones --- */
.inicio .opiniones-resumen {
  line-height: 1;
}
.inicio .opiniones-resumen i {
  color: var(--lag-secondary);
  margin-left: 0.15rem;
}
.inicio .opiniones-resumen span {
  font-size: 1rem;
  color: var(--lag-secondary);
  margin-top: 0.5rem;
  margin-left: 0.5rem;
}
.inicio .opinion-tarjeta {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 0.3px solid #707c8b2d;
  box-shadow: unset;
}
.inicio .opiniones-carrusel {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.inicio .opiniones-carrusel__item {
  width: 100%;
}
.inicio .opiniones-carrusel__item.opiniones-item--hidden-mobile {
  display: none !important;
}
.inicio .opinion-estrellas i {
  color: var(--lag-secondary);
  font-size: 0.8rem;
  margin-right: 0.15rem;
}
.inicio .opinion-estrellas i.opinion-estrella-vacia {
  color: var(--lag-secondary-5);
}
.inicio .opinion-texto {
  flex-grow: 1;
  font-style: italic;
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 1.25rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 0.3px solid #707c8b2d;
  padding-bottom: 1rem;
}
.inicio .opinion-autor strong {
  display: block;
  font-size: 0.9rem;
}
.inicio .opinion-autor span {
  display: block;
  font-size: 0.8rem;
  opacity: 0.6;
  margin-top: 0.15rem;
}

/* --- FAQ --- */
.inicio .faq .accordion {
  border-bottom: 1px solid var(--lag-secondary-5);
}
.inicio .faq .accordion-item {
  border: none;
  border-top: 1px solid var(--lag-secondary-5);
  background: transparent;
}
.inicio .faq .accordion-button {
  font-family: Ponjoung;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--lag-secondary);
  background: transparent;
  box-shadow: none;
  padding: 1.25rem 0;
  transition: color 0.2s ease;
}
.inicio .faq .accordion-button:hover {
  color: var(--lag-orange);
}
.inicio .faq .accordion-button:not(.collapsed) {
  color: var(--lag-orange);
  background: transparent;
  box-shadow: none;
}
.inicio .faq .accordion-button:focus {
  box-shadow: none;
  outline: 2px solid var(--lag-orange);
  outline-offset: 2px;
}
.inicio .faq .accordion-button::after {
  content: "";
  width: 0.9375rem;
  height: 0.9375rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M3.75 5.625L7.5 9.375L11.25 5.625' stroke='%23707C8B' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.2s ease;
}
.inicio .faq .accordion-button:not(.collapsed)::after {
  transform: rotate(180deg);
}
.inicio .faq .accordion-body {
  padding: 0 0 1.25rem;
  color: var(--lag-secondary);
  opacity: 0.8;
}

/* --- CTA final --- */
.inicio .cta-final {
  padding-top: 4rem;
  padding-bottom: 4rem;
  text-align: center;
}
.inicio .cta-final .h2 {
  margin-bottom: 1rem;
}
.inicio .cta-final .text-muted p {
  opacity: 0.7;
}
.inicio .cta-final .h2,
.inicio .cta-final .lead {
  color: var(--lag-white);
}
.inicio .cta-final .fs-5 p:last-child {
  margin-bottom: 0;
}

/* --- Reset de parrafos generados por ACF (wysiwyg) --- */
.inicio .enfoque-intro p:last-child,
.inicio .enfoque-item-texto p:last-child,
.inicio .seguridad-intro p:last-child,
.inicio .incluye-item-texto p:last-child,
.inicio .incluye-barra-texto p:last-child,
.inicio .paisaje-intro p:last-child,
.inicio .opinion-texto p:last-child,
.inicio .territorio-texto p:last-child {
  margin-bottom: 0;
}
.inicio .enfoque-item-texto p,
.inicio .incluye-item-texto p {
  font-size: 0.9rem;
}

/* ==== About ==== */
/* --- Hero --- */
.about .hero {
  padding-top: 9rem;
  padding-bottom: 3rem;
}
.about .hero .lead {
  color: var(--lag-white);
}

/* --- Significado --- */
.about .significado-item {
  padding: 1.25rem 0 1.25rem 1.25rem;
  border-left: 2px solid var(--lag-secondary);
  margin-bottom: 1.5rem;
}
.about .significado-item:last-child {
  margin-bottom: 0;
}
.about .significado-item .significado-item-titulo {
  display: block;
  font-family: Ponjoung;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  margin-bottom: 0.5rem;
}
.about .significado-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.about .significado-collage img {
  width: 100%;
  object-fit: cover;
}
.about .significado-img-1 {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}
.about .significado-img-2,
.about .significado-img-3 {
  aspect-ratio: 4 / 3;
}

/* --- Filosofía --- */
.about .filosofia {
  background-color: var(--lag-primary);
}
.about .col .filosofia-item {
  background-color: var(--lag-white);
  padding: 2.5rem 1.75rem;
  border: 0.3px solid #707c8b89;
}

.about .filosofia-icono {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  margin: 0 auto 1rem;
}
.about .filosofia-item .h3 {
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 0.05rem;
}

/* --- Enfoque (about) --- */
.about .enfoque-about-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.about .enfoque-about-collage img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.about .enfoque-about-img-1 {
  grid-column: 1 / -1;
  aspect-ratio: 6/2;
}
.about .enfoque-about-img-2,
.about .enfoque-about-img-3 {
  aspect-ratio: 5/2;
}
.about .enfoque-about-img-4 {
  grid-column: 1 / -1;
  aspect-ratio: 6/2;
}
.about .enfoque-about-cita {
  border-left: 3px solid var(--lag-orange);
  background-color: var(--lag-gray);
  color: var(--lag-white);
  padding: 1.25rem 1.5rem;
  font-style: italic;
  margin: 0;
}

/* --- Ventajas --- */
.about .ventajas {
  background-color: var(--lag-primary);
}
.about .ventajas-icono {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  margin-bottom: 1rem;
}
.about .ventajas-item .h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  padding-bottom: 1rem;
}
.about .ventajas-lista li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.9rem;
  padding: 0.4rem 0;
}
.about .ventajas-lista i {
  color: var(--lag-secondary);
  margin-top: 0.2rem;
}

/* --- Producto local --- */
.about .producto-local-card {
  height: 100%;
  background-color: var(--lag-primary);
  padding: 0.6rem 0.6rem 1rem;
}
.about .producto-local-foto {
  width: 100%;
  aspect-ratio: 2/1;
  object-fit: cover;
  display: block;
  margin-bottom: 0.75rem;
}
.about .producto-local-caption {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lag-secondary);
  text-align: center;
  margin-bottom: 0;
}

/* --- Merchandising --- */
.about .merchandising {
  background-color: var(--lag-gray);
  color: var(--lag-white);
}
.about .merchandising .h2 {
  margin-bottom: 1rem;
}
.about .merchandising-texto p,
.about .merchandising .h2,
.about .merchandising .lead {
  color: var(--lag-primary);
}

.about .merchandising-item {
  height: 100%;
  background-color: var(--lag-primary);
  padding: 0.6rem 0.6rem 1rem;
}
.about .merchandising-foto {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  margin-bottom: 0.75rem;
  background-color: var(--lag-white);
}
.about .merchandising-nombre {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lag-secondary);
}
.about .merchandising-precio {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lag-secondary);
}

/* --- Colaboraciones --- */
.about .colaboracion-card {
  display: flex;
  flex-direction: column;
  padding: 2.5rem 2rem;
  border: 1px solid var(--lag-secondary-5, rgba(60, 60, 60, 0.1));
}
.about .colaboracion-card .btn {
  margin-top: auto;
}
.about .colaboracion-icono {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
  margin-bottom: 1rem;
}
.about .colaboracion-card .h3 {
  text-transform: uppercase;
}
.about .colaboracion-card--light {
  background-color: var(--lag-white);
  color: var(--lag-secondary);
}
.about .colaboracion-card--dark {
  background-color: var(--lag-secondary);
  color: var(--lag-white);
  border-color: var(--lag-secondary);
}
.about .colaboracion-card--dark .h3,
.about .colaboracion-card--dark .lead {
  color: var(--lag-white);
}
.about .colaboracion-lista {
  padding-left: 0;
}
.about .colaboracion-lista li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.9rem;
  padding: 0.35rem 0;
}
.about .colaboracion-card--light .colaboracion-lista i {
  color: var(--lag-secondary);
  margin-top: 0.2rem;
}
.about .colaboracion-card--dark .colaboracion-lista i {
  color: var(--lag-white);
  opacity: 0.7;
  margin-top: 0.2rem;
}
.about .colaboracion-imagen {
  width: 100%;
  aspect-ratio: 3/1;
  object-fit: cover;
  display: block;
}
.about .colaboracion-cita {
  background-color: var(--lag-gray);
  padding: 1rem 1.25rem;
  font-style: italic;
  margin: 0 0 1.5rem;
  color: var(--lag-white);
}
.about .colaboracion-card--dark .colaboracion-texto p {
  color: var(--lag-white);
}
.about .colaboracion-card .btn {
  width: 100%;
}
.about .colaboracion-btn-light {
  background-color: var(--lag-primary);
  border-color: var(--lag-secondary);
  color: var(--lag-secondary);
}
.about .colaboracion-btn-light:hover,
.about .colaboracion-btn-light:focus-visible,
.about .colaboracion-btn-light:active {
  background-color: var(--lag-secondary);
  border-color: var(--lag-secondary);
  color: var(--lag-white);
}

/* --- Equipo --- */
.about .equipo {
  background-color: var(--lag-terra);
  color: var(--lag-white);
}
.about .equipo .h2,
.about .equipo .lead {
  color: var(--lag-white);
}
.about .equipo-foto {
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  display: block;
  margin-bottom: 1rem;
}
.about .equipo .equipo-item {
  border: 0.3px solid #f0ebe146;
}
.about .equipo-categoria {
  color: rgba(255, 255, 255, 0.7);
}
.about .equipo-nombre {
  color: var(--lag-white);
  text-transform: uppercase;
}
.about .equipo-texto {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9rem;
}

/* --- Reset de parrafos generados por ACF (wysiwyg) --- */
.about .significado-item-texto p:last-child,
.about .filosofia-item-texto p:last-child,
.about .enfoque-about-texto p:last-child,
.about .producto-local-texto p:last-child,
.about .merchandising-texto p:last-child,
.about .colaboracion-texto p:last-child {
  margin-bottom: 0;
}

/* ==== Contacto ==== */
/* --- Hero --- */
.contacto .hero {
  padding-top: 9rem;
  padding-bottom: 3rem;
}
.contacto .hero .lead {
  color: var(--lag-white);
}

/* --- Info de contacto --- */
.contacto-info-lista {
  margin: 1.5rem 0 2rem;
}
.contacto-info-lista li {
  padding: 1.1rem 0 1.1rem 1.1rem;
  border-left: 2px solid var(--lag-secondary);
  margin-bottom: 1rem;
}
.contacto-info-lista .lead {
  opacity: 0.6;
}
.contacto-info-lista strong {
  display: block;
  font-size: 1.05rem;
}
.contacto-info-lista span {
  display: block;
  font-size: 0.85rem;
  color: var(--lag-secondary);
  opacity: 0.65;
  margin-top: 0.15rem;
}
.contacto-imagen {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.contacto-redes {
  border: 1px solid var(--lag-secondary-5);
  padding: 1.5rem;
}
.contacto-red-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 5rem;
  border: 1px solid var(--lag-secondary-5);
  padding: 0.75rem;
  text-decoration: none;
  color: var(--lag-secondary);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}
.contacto-red-item:hover,
.contacto-red-item:focus-visible {
  border-color: var(--lag-orange);
  background-color: var(--lag-primary);
}
.contacto-red-item strong {
  font-size: 0.9rem;
}
.contacto-red-nombre {
  font-size: 0.75rem;
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}

/* --- Formulario --- */
.contacto-form .nf-form-cont {
  margin: 0;
}
.contacto-form .nf-form-fields-required {
  margin-bottom: 1rem;
}
.contacto-form label {
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
  color: var(--lag-secondary);
}
.contacto-form input[type="text"],
.contacto-form input[type="email"],
.contacto-form input[type="tel"],
.contacto-form textarea,
.contacto-form select {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  padding: 0.7rem 1rem;
}
.contacto-form input:focus,
.contacto-form textarea:focus,
.contacto-form select:focus {
  outline: none;
  border-color: var(--lag-orange);
  box-shadow: none;
}
.contacto-form .nf-element[type="submit"],
.contacto-form button[type="submit"] {
  background-color: var(--lag-orange);
  border: 1px solid var(--lag-orange);
  color: var(--lag-white);
  font-weight: 700;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  padding: 0.75rem 1.75rem;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.contacto-form .nf-element[type="submit"]:hover,
.contacto-form .nf-element[type="submit"]:focus,
.contacto-form button[type="submit"]:hover,
.contacto-form button[type="submit"]:focus {
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
}
/* Checkbox de política de privacidad */
.contacto-form .checkbox-wrap .field-wrap {
  align-items: flex-start;
  gap: 0.6rem;
}
.contacto-form .checkbox-wrap .nf-field-element {
  width: auto;
  flex-shrink: 0;
}
.contacto-form input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  accent-color: var(--lag-orange);
  cursor: pointer;
}
.contacto-form .checkbox-wrap label {
  font-family: Mulish;
  font-size: 0.85rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  color: var(--lag-secondary);
}
.contacto-form .checkbox-wrap a {
  color: var(--lag-secondary);
  font-weight: 700;
  text-decoration: underline;
  transition: color 0.2s ease;
}
.contacto-form .checkbox-wrap a:hover,
.contacto-form .checkbox-wrap a:focus-visible {
  color: var(--lag-orange);
}

/* Encabezados de columna más contenidos que un título de sección */
.contacto-contenido h2.h2 {
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0.04rem;
  margin-bottom: 1.5rem;
}

/* ==== Experiencia ==== */
/* --- Hero --- */
.experiencia .hero {
  padding-top: 9rem;
  padding-bottom: 3rem;
}
.experiencia .hero .lead {
  color: var(--lag-white);
}

/* --- Destacados --- */
.experiencia .destacado-item {
  padding: 1.25rem;
  height: 100%;
  border: 1px solid var(--lag-secondary-5);
}
.experiencia .destacado-icono {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
  flex-shrink: 0;
}
.experiencia .destacado-item .h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  margin-bottom: 0.25rem;
}
.experiencia .destacado-item p {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* --- Rutas --- */

.experiencia .rutas-intro {
  max-width: 40rem;
  opacity: 0.85;
}
.experiencia .rutas-lista-titulo {
  font-weight: 600;
  font-size: 0.95rem;
}
.experiencia .rutas-lista {
  columns: 2;
}
.experiencia .rutas-lista li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.9rem;
  padding: 0.3rem 0;
}
.experiencia .rutas-lista i {
  color: var(--lag-secondary);
  margin-top: 0.2rem;
}
.experiencia .ruta-card {
  position: relative;
  background-color: var(--lag-white);
  box-shadow: 0 0.5rem 1.5rem rgba(60, 60, 60, 0.08);
  border: 1px solid #e0e0e0;
  overflow: clip;
}
.experiencia .ruta-card__badge {
  background-color: rgba(20, 20, 20, 0.9);
  color: var(--lag-white);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  text-align: center;
  padding: 0.45rem;
}
.experiencia .ruta-card__imagen {
  width: 100%;
  height: 100%;
  min-height: 12rem;
  object-fit: cover;
  display: block;
}
.experiencia .ruta-card__body {
  padding: 1.75rem;
}
.experiencia .ruta-card__meta {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  opacity: 0.6;
}
.experiencia .ruta-card__texto p:last-child {
  margin-bottom: 0;
}
.experiencia .ruta-card__nota {
  margin-bottom: 1rem;
}
.experiencia .ruta-card__nota p {
  font-size: 0.8rem;
  opacity: 0.6;
  margin-bottom: 1rem;
}
.experiencia .ruta-card__nota p:last-child {
  margin-bottom: 0;
}
.experiencia .ruta-card__texto {
  margin-bottom: 1rem;
}
.experiencia .ruta-card__precio {
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  color: var(--lag-secondary);
}
.experiencia .ruta-card__precio-nota {
  font-size: 0.75rem;
  opacity: 0.6;
}
.experiencia .ruta-card__horarios li {
  background-color: var(--lag-primary);
  padding: 0.25rem 0.65rem;
  font-size: 0.8rem;
  border: 0.3px solid #3c3c3c4e;
}
.experiencia .ruta-card__titulo {
  text-transform: uppercase;
}
.experiencia .ruta-card__toggle {
  background: transparent;
  border: none;
  padding: 0;
  color: var(--lag-secondary);
  font-family: Mulish;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.experiencia .ruta-card__toggle i {
  transition: transform 0.2s ease;
}
.experiencia .ruta-card__toggle:hover,
.experiencia .ruta-card__toggle:focus-visible {
  color: var(--lag-orange);
  outline: none;
}
.experiencia .ruta-card__toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}
.experiencia .ruta-card__itinerario {
  border-top: 1px solid var(--lag-secondary-5);
  padding-top: 1rem;
}
.experiencia .ruta-card__itinerario-titulo {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: var(--lag-secondary);
  opacity: 0.6;
}
.experiencia .ruta-card__paradas-lista li {
  position: relative;
  padding: 0.6rem 0 0.6rem 1.75rem;
  font-size: 0.95rem;
}
.experiencia .ruta-card__paradas-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background-color: var(--lag-terra);
  z-index: 1;
}
.experiencia .ruta-card__paradas-lista li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0.25rem;
  top: 1.45rem;
  bottom: -0.6rem;
  width: 2px;
  background-color: rgba(60, 60, 60, 0.25);
}

/* --- Comparativa --- */
.experiencia .comparativa {
  background-color: var(--lag-primary);
}
.experiencia .comparativa-scroll-hint {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  opacity: 0.6;
  margin-bottom: 0.75rem;
  animation: comparativa-hint-pulso 1.6s ease-in-out infinite;
}
@keyframes comparativa-hint-pulso {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.8;
  }
}
.experiencia .comparativa-scroll-wrap {
  position: relative;
}
@media (max-width: 991.98px) {
  .experiencia .comparativa-scroll-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.5rem;
    background: linear-gradient(
      to right,
      rgba(240, 235, 225, 0),
      var(--lag-primary)
    );
    pointer-events: none;
  }
}
.experiencia .comparativa-tabla {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  text-align: center;
}
.experiencia .comparativa-tabla th,
.experiencia .comparativa-tabla td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--lag-secondary-5);
}
.experiencia .comparativa-tabla thead th {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--lag-secondary);
}
.experiencia .comparativa-tabla thead th:first-child,
.experiencia .comparativa-tabla tbody th {
  text-align: left;
}
.experiencia .comparativa-tabla tbody th {
  font-weight: 600;
  font-size: 0.9rem;
}
.experiencia .comparativa-tabla thead th.comparativa-tabla__destacada {
  background-color: var(--lag-secondary);
  color: var(--lag-white);
  border-bottom-color: var(--lag-secondary);
}
.experiencia .comparativa-tabla tbody td.comparativa-tabla__destacada {
  background-color: var(--lag-white);
  font-weight: 600;
}
.experiencia .comparativa .btn-primary-outline {
  border-color: var(--lag-secondary);
  color: var(--lag-secondary);
}
.experiencia .comparativa .btn-primary-outline:hover,
.experiencia .comparativa .btn-primary-outline:active {
  background-color: var(--lag-secondary);
  border-color: var(--lag-secondary);
  color: var(--lag-white);
}

/* --- Recuerdo local --- */
.experiencia .recuerdo-local-card {
  height: 100%;
  background-color: var(--lag-primary);
  padding: 0.6rem 0.6rem 1rem;
}
.experiencia .recuerdo-local-foto {
  width: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  display: block;
  margin-bottom: 0.75rem;
}
.experiencia .recuerdo-local-caption {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lag-secondary);
  text-align: center;
  margin-bottom: 0;
}

/* --- CTA personalizada --- */
.experiencia .personalizada {
  text-align: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.experiencia .personalizada.hero {
  padding-top: 4rem;
}
.experiencia .personalizada .h2 {
  margin-bottom: 1rem;
}
.experiencia .personalizada .text-muted p {
  opacity: 0.7;
}
.experiencia .personalizada .h2,
.experiencia .personalizada .lead {
  color: var(--lag-white);
}
.experiencia .personalizada .fs-5 p:last-child {
  margin-bottom: 0;
}

/* --- Merchandising (experiencia) --- */
.experiencia .merchandising-item {
  height: 100%;
  border: 1px solid var(--lag-secondary-5, rgba(60, 60, 60, 0.1));
  padding: 0.6rem 0.6rem 1rem;
}
.experiencia .merchandising-foto {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  margin-bottom: 0.75rem;
  background-color: var(--lag-primary);
}
.experiencia .merchandising-nombre {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lag-secondary);
}
.experiencia .merchandising-precio {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lag-secondary);
}

/* --- Qué incluye (experiencia) --- */
.experiencia .incluye-exp {
  background-color: var(--lag-primary);
}
.experiencia .incluye-exp-item {
  display: flex;
  flex-direction: column;
  background-color: var(--lag-white);
  padding: 1.75rem;
}
.experiencia .incluye-exp-icono {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
  margin-bottom: 1rem;
}
.experiencia .incluye-exp-item .h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  margin-bottom: 0.5rem;
}
.experiencia .incluye-exp-item p {
  font-size: 0.9rem;
  opacity: 0.8;
}
.experiencia .incluye-exp-item-lista li {
  position: relative;
  padding-left: 0.9rem;
  font-size: 0.9rem;
  opacity: 0.8;
  margin-bottom: 0.3rem;
}
.experiencia .incluye-exp-item-lista li:last-child {
  margin-bottom: 0;
}
.experiencia .incluye-exp-item-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background-color: var(--lag-secondary);
  opacity: 0.5;
}
.experiencia .incluye-exp-info-titulo {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  border-top: 1px solid var(--lag-secondary-5);
  padding-top: 1.5rem;
}
.experiencia .incluye-exp-info-item {
  border: 1px dashed var(--lag-secondary-5);
  padding: 1.25rem;
}
.experiencia .incluye-exp-info-item .h4 {
  font-size: 0.95rem;
  margin-bottom: 0.75rem;
}
.experiencia .incluye-exp-info-lista {
  margin-bottom: 0;
}
.experiencia .incluye-exp-info-texto {
  font-size: 0.9rem;
  opacity: 0.8;
}
.experiencia .incluye-exp-info-lista li {
  position: relative;
  padding-left: 0.9rem;
  font-size: 0.85rem;
  opacity: 0.75;
  margin-bottom: 0.5rem;
}
.experiencia .incluye-exp-info-lista li:last-child {
  margin-bottom: 0;
}
.experiencia .incluye-exp-info-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background-color: var(--lag-secondary);
  opacity: 0.5;
}
.experiencia .incluye-exp-disclaimer {
  background-color: var(--lag-white);
  border-left: 3px solid var(--lag-orange);
  padding: 1.25rem 1.5rem;
}
.experiencia .incluye-exp-disclaimer-titulo {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04rem;
  margin-bottom: 0.4rem;
}
.experiencia .incluye-exp-disclaimer-texto {
  font-size: 0.9rem;
  opacity: 0.8;
}
.experiencia .incluye-exp-disclaimer-texto p:last-child {
  margin-bottom: 0;
}

/* --- FAQ (experiencia) --- */
.experiencia .faq .accordion {
  border-bottom: 1px solid var(--lag-secondary-5);
}
.experiencia .faq .accordion-item {
  border: none;
  border-top: 1px solid var(--lag-secondary-5);
  background: transparent;
}
.experiencia .faq .accordion-button {
  font-family: Ponjoung;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--lag-secondary);
  background: transparent;
  box-shadow: none;
  padding: 1.25rem 0;
  transition: color 0.2s ease;
}
.experiencia .faq .accordion-button:hover {
  color: var(--lag-orange);
}
.experiencia .faq .accordion-button:not(.collapsed) {
  color: var(--lag-orange);
  background: transparent;
  box-shadow: none;
}
.experiencia .faq .accordion-button:focus {
  box-shadow: none;
  outline: 2px solid var(--lag-orange);
  outline-offset: 2px;
}
.experiencia .faq .accordion-button::after {
  background-image: none;
  content: "+";
  width: auto;
  height: auto;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
  transition: none;
}
.experiencia .faq .accordion-button:not(.collapsed)::after {
  content: "\2212";
  transform: none;
}
.experiencia .faq .accordion-body {
  padding: 0 0 1.25rem;
  color: var(--lag-secondary);
  opacity: 0.8;
}
.experiencia .faq-cta {
  background-color: var(--lag-orange);
  color: var(--lag-white);
  padding: 1.5rem 2rem;
}
.experiencia .faq-cta__titulo {
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--lag-white);
  letter-spacing: 0.04rem;
}
.experiencia .faq-cta__texto {
  font-size: 0.85rem;
  color: var(--lag-white);

  opacity: 0.85;
}

/* --- Reset de parrafos generados por ACF (wysiwyg) --- */
.experiencia .ruta-card__texto p:last-child,
.experiencia .recuerdo-local-texto p:last-child,
.experiencia .merchandising-texto p:last-child {
  margin-bottom: 0;
}

/* ==== Rioja ==== */
/* --- Hero --- */
.rioja .hero {
  padding-top: 9rem;
  padding-bottom: 3rem;
}
.rioja .hero .lead {
  color: var(--lag-white);
}

/* ==== Legales ==== */
/* --- Hero --- */
.legales .hero {
  padding-top: 9rem;
  padding-bottom: 3rem;
  background-color: var(--lag-secondary, #3c3c3c);
}
.legales .hero .h1 {
  margin-bottom: 0.75rem;
}
.legales__actualizado {
  color: var(--lag-primary-60, #f0ebe192);
  font-family: Mulish;
  font-size: 0.875rem;
}
/* --- Contenido --- */
.legales-contenido .entry-content h2 {
  margin-top: 2.5rem;
}
.legales-contenido .entry-content h2:first-child {
  margin-top: 0;
}

/* --- Contexto --- */
.rioja .contexto-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.rioja .contexto-collage img {
  width: 100%;
  object-fit: cover;
}
.rioja .contexto-img-1 {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 6;
}
.rioja .contexto-img-2,
.rioja .contexto-img-3 {
  aspect-ratio: 4 / 2;
}

/* --- Paisaje y viñedo --- */
.rioja .paisaje-rioja {
  background-color: var(--lag-primary);
}
.rioja .paisaje-rioja-intro {
  max-width: 40rem;
  opacity: 0.85;
}
.rioja .paisaje-rioja-img-1 {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.rioja .paisaje-rioja-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}
.rioja .paisaje-rioja-col img {
  width: 100%;
  flex: 1;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.rioja .paisaje-rioja-columna {
  padding-top: 1.25rem;
  border-top: 2px solid var(--lag-secondary);
}
.rioja .paisaje-rioja-columna .h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}
.rioja .paisaje-rioja-columna p {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* --- CTA rutas --- */

.rioja .cta-rutas.hero {
  text-align: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.rioja .cta-rutas.hero .h2 {
  color: var(--lag-white);
}
/* --- Miradores --- */
.rioja .miradores-tab {
  font-size: 0.75rem;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
}
.rioja .miradores-tab.active {
  background-color: var(--lag-secondary);
  border-color: var(--lag-secondary);
  color: var(--lag-white);
}
.rioja .miradores-tab:not(.active) {
  background-color: transparent;
  border-color: var(--lag-secondary-5);
  color: var(--lag-secondary);
}
.rioja .miradores-tab:hover,
.rioja .miradores-tab:focus-visible {
  background-color: var(--lag-orange);
  border-color: var(--lag-orange);
  color: var(--lag-white);
  outline: none;
}
.rioja .mirador-tarjeta {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: clip;
  box-shadow: 0 0.5rem 1.5rem rgba(60, 60, 60, 0.08);
}
.rioja .mirador-imagen {
  width: 100%;
  aspect-ratio: 3/1;
  object-fit: cover;
  display: block;
}
.rioja .mirador-categoria,
.rioja .recomendada-categoria {
  font-size: 0.85rem;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  padding: 1.25rem 1.25rem 0;
}
.rioja .mirador-titulo {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  padding: 0 1.25rem;
}
.rioja .mirador-texto {
  font-size: 0.85rem;
  opacity: 0.75;
  padding: 0 1.25rem 1.25rem;
}

/* --- Qué hacer --- */
.rioja .hacer {
  background-color: var(--lag-primary-60);
}
.rioja .hacer-item {
  background-color: var(--lag-gray);
  color: var(--lag-white);
  padding: 1.75rem;
}
.rioja .hacer-icono {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  margin-bottom: 1rem;
}
.rioja .hacer-item .h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04rem;
  color: var(--lag-white);
}
.rioja .hacer-item p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9rem;
}

/* --- Experiencias recomendadas --- */
.rioja .recomendada-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.rioja .recomendada-item {
  border: 1px solid var(--lag-primary, #f0ebe1);
}
.rioja .recomendada-imagen-wrap {
  position: relative;
}
.rioja .recomendada-imagen {
  width: 100%;
  aspect-ratio: 2/1;
  object-fit: cover;
  display: block;
}
.rioja .recomendada-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  background-color: var(--lag-secondary);
  color: var(--lag-white);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
  padding: 0.3rem 0.65rem;
}
.rioja .recomendada-categoria {
  padding: 0;
}
.rioja .recomendada-titulo {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
}

/* --- CTA final --- */

.rioja .final-rioja p {
  opacity: 0.85;
}

/* --- Reset de parrafos generados por ACF (wysiwyg) --- */
.rioja .contexto-texto p:last-child {
  margin-bottom: 0;
}

/* ==== Blog ==== */
/* --- Hero --- */
.blog-hero {
  padding-top: 9rem;
  padding-bottom: 3rem;
  background-image: url("assets/img/bg-blog.webp");
  background-size: cover;
  background-position: center;
  position: relative;
}

.blog-hero .lead {
  color: var(--lag-white);
}

/* --- Categoría (badge) --- */
.blog .category-badge {
  display: inline-block;
  margin: 0;
}
.blog .category-badge .badge {
  background-color: var(--lag-blue) !important;
  color: var(--lag-secondary) !important;
  font-family: Mulish;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
  padding: 0.35rem 0.7rem;
  border-radius: 0;
}
.blog .category-badge .badge:hover,
.blog .category-badge .badge:focus-visible {
  background-color: var(--lag-orange) !important;
  color: var(--lag-white) !important;
}

/* --- Post destacado --- */
.blog-destacado {
  border: 1px solid var(--lag-secondary-5);
}
.blog-destacado__imagen-link {
  display: block;
}
.blog-destacado__imagen,
.blog-destacado__imagen--placeholder {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background-color: var(--lag-primary);
}
.blog-destacado__body {
  padding: 2rem;
}
.blog-destacado__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.blog-destacado__fecha {
  font-size: 0.8rem;
  opacity: 0.6;
}
.blog-destacado__titulo-link {
  text-decoration: none;
  color: var(--lag-secondary);
}
.blog-destacado__titulo {
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.blog-destacado__titulo-link:hover .blog-destacado__titulo,
.blog-destacado__titulo-link:focus-visible .blog-destacado__titulo {
  color: var(--lag-orange);
}
.blog-destacado__excerpt {
  opacity: 0.8;
}

/* --- Tarjetas del grid --- */
.blog-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--lag-secondary-5);
  transition:
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
.blog-card:hover,
.blog-card:focus-within {
  border-color: var(--lag-orange);
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
}
.blog-card__imagen-link {
  display: block;
}
.blog-card__imagen,
.blog-card__imagen--placeholder {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background-color: var(--lag-primary);
}
.blog-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.blog-card__meta {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
/* Mantiene los enlaces de categoría clicables por encima del overlay de la tarjeta */
.blog-card__meta a {
  position: relative;
  z-index: 2;
}
.blog-card__fecha {
  font-size: 0.75rem;
  opacity: 0.6;
}
.blog-card__titulo-link {
  text-decoration: none;
  color: var(--lag-secondary);
}
.blog-card__titulo {
  font-size: 1.05rem;
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.blog-card__titulo-link:hover .blog-card__titulo,
.blog-card__titulo-link:focus-visible .blog-card__titulo {
  color: var(--lag-orange);
}
.blog-card__excerpt {
  font-size: 0.9rem;
  opacity: 0.8;
  flex-grow: 1;
}
.blog-card__lectura {
  font-size: 0.75rem;
  font-weight: 700;
  opacity: 0.6;
}

/* --- Paginación --- */
.blog-paginacion nav .pagination {
  justify-content: center;
}
.blog-paginacion .page-link {
  border-radius: 0;
  color: var(--lag-secondary);
  border-color: var(--lag-secondary-5);
}
.blog-paginacion .page-link:hover,
.blog-paginacion .page-link:focus {
  background-color: var(--lag-primary);
  color: var(--lag-secondary);
}
.blog-paginacion .page-item.active .page-link {
  background-color: var(--lag-orange);
  border-color: var(--lag-orange);
  color: var(--lag-white);
}

/* --- Single --- */
.blog-single__header {
  padding-top: 9rem;
  padding-bottom: 2.5rem;
  text-align: center;
}
.blog-single__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.blog-single__fecha {
  font-size: 0.85rem;
  opacity: 0.6;
}
.blog-single__titulo {
  color: var(--lag-secondary);
  text-transform: uppercase;
}
.blog-single__imagen-wrap {
  max-width: 62rem;
  margin: 0 auto 2.5rem;
  padding: 0 1rem;
}
.blog-single__imagen {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.blog-single__entry {
  font-size: 1.05rem;
  line-height: 1.75;
}
.blog-single__entry img {
  max-width: 100%;
  height: auto;
}
.blog-single__nav {
  border-top: 1px solid var(--lag-secondary-5);
  padding-top: 1.5rem;
}
.blog-single__nav a {
  color: var(--lag-secondary);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}
.blog-single__nav a:hover,
.blog-single__nav a:focus-visible {
  color: var(--lag-orange);
}

/* --- Comentarios (blog) y reseñas de producto (WooCommerce) ---
   Ambos reutilizan el mismo markup base del tema padre:
   .comment-list > li > .comment-body > .flex-shrink-0 (avatar) + .comment-content > .card > .card-body
   así que se estilizan juntos. Lo específico de WooCommerce (estrellas, meta de reseña)
   va aparte al final del bloque. */
.comments-area,
#reviews.woocommerce-Reviews {
  padding-top: 3rem;
  margin-top: 1rem;
  border-top: 1px solid var(--lag-secondary-5);
}
.comments-title,
.woocommerce-Reviews-title {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}

/* Listado de comentarios/reseñas */
.comment-list,
.comment-list .children {
  list-style: none;
  padding: 0;
  margin: 0;
}
.comment-list > li {
  margin-bottom: 1.5rem;
}
.comment-list .children {
  padding-left: 3rem !important;
  margin-top: 1.5rem;
}
.comment-body,
#reviews .comment-body {
  align-items: flex-start;
}
.comment-body .flex-shrink-0 img,
#reviews .comment-body .flex-shrink-0 img {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  padding: 0;
  border: 1px solid var(--lag-secondary-5);
  background-color: var(--lag-primary);
}
.comment-content .card {
  background-color: var(--lag-white);
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  box-shadow: none;
}
.comment-content .card-body {
  padding: 1.25rem 1.5rem;
}
.comment-content h3.h5,
.comment-content .woocommerce-review__author {
  font-family: Mulish;
  font-size: 1rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: normal;
  margin: 0;
}
.comment-content a {
  color: var(--lag-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}
.comment-content a:hover,
.comment-content a:focus-visible {
  color: var(--lag-orange);
}
.comment-content .comment-meta,
.comment-content p.meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 0.8rem;
  opacity: 0.6;
  margin: 0.35rem 0 0.75rem;
}
.woocommerce-review__dash {
  opacity: 0.6;
}
.comment-content .description p:last-child,
.comment-content > p:last-child {
  margin-bottom: 0;
}
.comment-awaiting-moderation,
.woocommerce-review__awaiting-approval {
  display: inline-block;
  font-style: normal;
  font-size: 0.85rem;
  padding: 0.5rem 0.85rem;
  background-color: var(--lag-primary);
  border: 1px solid var(--lag-secondary-5);
  color: var(--lag-secondary);
}
.reply .comment-reply-link {
  display: inline-block;
  margin-top: 0.5rem;
  color: var(--lag-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--lag-secondary);
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}
.reply .comment-reply-link:hover,
.reply .comment-reply-link:focus-visible {
  color: var(--lag-orange);
  border-color: var(--lag-orange);
}

/* Navegación entre páginas de comentarios */
.comment-navigation .nav-links {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.85rem;
}
.comment-navigation a {
  color: var(--lag-secondary);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}
.comment-navigation a:hover,
.comment-navigation a:focus-visible {
  color: var(--lag-orange);
}

/* Aviso "comentarios cerrados" */
.no-comments {
  padding: 0.75rem 1rem;
  background-color: var(--lag-primary);
  border: 1px solid var(--lag-secondary-5);
  color: var(--lag-secondary);
  font-size: 0.9rem;
}

/* --- Formulario (dejar comentario / reseña) --- */
.comment-respond,
#review_form_wrapper {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--lag-secondary-5);
}
.comment-reply-title,
#reply-title {
  font-size: 1.15rem;
  margin-bottom: 1.5rem;
}
.comment-reply-title small a {
  margin-left: 0.5rem;
  font-size: 0.75rem;
  text-transform: none;
  color: var(--lag-orange);
}
.comment-notes,
.logged-in-as {
  font-size: 0.85rem;
  opacity: 0.7;
  margin-bottom: 1.25rem;
}
.logged-in-as a {
  color: var(--lag-secondary);
  text-decoration: underline;
}
.comment-form-author,
.comment-form-email,
.comment-form-url,
.comment-form-comment,
.comment-form-rating {
  margin-bottom: 1.25rem;
}
.comment-form label,
.comment-form-rating label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.comment-form input.form-control,
.comment-form textarea.form-control,
.comment-form-rating select {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  padding: 0.75rem 1rem;
  font-family: Mulish;
}
.comment-form input.form-control:focus,
.comment-form textarea.form-control:focus,
.comment-form-rating select:focus {
  border-color: var(--lag-orange);
  outline: none;
  box-shadow: none;
}
.comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.85rem;
  margin-bottom: 1.25rem;
}
.comment-form .form-submit {
  margin: 0;
}
.comment-form .form-submit .btn,
.comment-form .form-submit input[type="submit"] {
  background-color: var(--lag-orange);
  border-color: var(--lag-orange);
  color: var(--lag-white);
  border-radius: 0;
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  padding: 0.75rem 1.75rem;
}
.comment-form .form-submit .btn:hover,
.comment-form .form-submit input[type="submit"]:hover {
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
  color: var(--lag-white);
}

/* --- Estrellas de valoración (reseñas de producto) --- */
.star-rating {
  color: var(--lag-secondary-5);
}
.star-rating span::before {
  color: var(--lag-orange);
}
.comment-form-rating p.stars a {
  color: var(--lag-secondary-5);
  transition: color 0.15s ease;
}
.comment-form-rating p.stars a:hover,
.comment-form-rating p.stars a.active {
  color: var(--lag-orange);
}

/* ==== Páginas ==== */
.reservar .hero .h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
}
/* === Offcanvas de cuenta (WooCommerce) === */
#offcanvas-user {
  background-color: var(--lag-secondary);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  width: min(85vw, 340px);
}
#offcanvas-user .offcanvas-header {
  padding: 1.5rem 1.5rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
#offcanvas-user h2 {
  color: var(--lag-white);
}
#offcanvas-user .offcanvas-title {
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
#offcanvas-user .btn-close {
  filter: invert(1);
  opacity: 0.5;
  transition: opacity 0.2s ease;
  padding: 0;
  width: 1rem;
  height: 1rem;
}
#offcanvas-user .btn-close:hover,
#offcanvas-user .btn-close:focus {
  opacity: 1;
  box-shadow: none;
}
#offcanvas-user .offcanvas-body {
  padding: 1.75rem 1.5rem;
}

/* Saludo del usuario */
#offcanvas-user .my-offcanvas-account > p:first-child {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
#offcanvas-user .my-offcanvas-account > p:first-child strong {
  color: var(--lag-white);
}
#offcanvas-user .my-offcanvas-account > p:first-child a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: underline;
  font-size: 0.8rem;
  transition: color 0.2s ease;
}
#offcanvas-user .my-offcanvas-account > p:first-child a:hover {
  color: var(--lag-orange);
}

/* Navegación (list-group) */
#offcanvas-user .woocommerce-MyAccount-navigation {
  margin-bottom: 0;
}
#offcanvas-user .woocommerce-MyAccount-navigation .list-group {
  border: none;
  border-radius: 0;
}
#offcanvas-user .woocommerce-MyAccount-navigation .list-group-item {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 0 !important;
  padding: 0.85rem 0;
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition:
    color 0.2s ease,
    padding-left 0.2s ease;
}
#offcanvas-user .woocommerce-MyAccount-navigation .list-group-item::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 0;
  background-color: var(--lag-orange);
  flex-shrink: 0;
  transition:
    height 0.2s ease,
    opacity 0.2s ease;
  opacity: 0;
  align-self: stretch;
  margin-right: 0.25rem;
}
#offcanvas-user .woocommerce-MyAccount-navigation .list-group-item:hover,
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item:focus-visible {
  color: var(--lag-white);
  padding-left: 0.35rem;
}
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item:hover::before,
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item:focus-visible::before {
  height: 1rem;
  opacity: 1;
}
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item[aria-current="page"],
#offcanvas-user .woocommerce-MyAccount-navigation .list-group-item.active,
#offcanvas-user .woocommerce-MyAccount-navigation .list-group-item.is-active {
  color: var(--lag-orange);
  background-color: transparent;
  padding-left: 0.35rem;
}
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item[aria-current="page"]::before,
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item.active::before,
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item.is-active::before {
  height: 1rem;
  opacity: 1;
}
/* Último ítem (Salir): color rojo sutil */
#offcanvas-user .woocommerce-MyAccount-navigation .list-group-item:last-child {
  border-bottom: none;
  color: rgba(255, 255, 255, 0.35);
}
#offcanvas-user
  .woocommerce-MyAccount-navigation
  .list-group-item:last-child:hover {
  color: #e07070;
}

/* Formulario de login (usuario no logueado) */
#offcanvas-user .woocommerce-form-login label,
#offcanvas-user .woocommerce-form-register label {
  font-family: Mulish;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 0.4rem;
}
#offcanvas-user .woocommerce-form-login .input-text,
#offcanvas-user .woocommerce-form-register .input-text {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  color: var(--lag-white);
  padding: 0.65rem 0.9rem;
  font-family: Mulish;
  font-size: 0.9rem;
  width: 100%;
  transition: border-color 0.2s ease;
}
#offcanvas-user .woocommerce-form-login .input-text:focus,
#offcanvas-user .woocommerce-form-register .input-text:focus {
  outline: none;
  border-color: var(--lag-orange);
  background-color: rgba(255, 255, 255, 0.08);
}
#offcanvas-user .woocommerce-form-login .input-text::placeholder,
#offcanvas-user .woocommerce-form-register .input-text::placeholder {
  color: rgba(255, 255, 255, 0.25);
}
#offcanvas-user .lost_password a,
#offcanvas-user .woocommerce-privacy-policy-text a {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.75rem;
  text-decoration: underline;
  transition: color 0.2s ease;
}
#offcanvas-user .lost_password a:hover,
#offcanvas-user .woocommerce-privacy-policy-text a:hover {
  color: var(--lag-orange);
}
#offcanvas-user .woocommerce-form-login__submit,
#offcanvas-user .woocommerce-form-register__submit {
  background-color: var(--lag-orange);
  border: 1px solid var(--lag-orange);
  border-radius: 0;
  color: var(--lag-white);
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  padding: 0.65rem 1.5rem;
  width: 100%;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
#offcanvas-user .woocommerce-form-login__submit:hover,
#offcanvas-user .woocommerce-form-register__submit:hover {
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
}
#offcanvas-user .woocommerce-form-login-toggle,
#offcanvas-user .woocommerce-form-register-toggle {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 1rem;
  text-align: center;
}
#offcanvas-user .woocommerce-form-login-toggle a,
#offcanvas-user .woocommerce-form-register-toggle a {
  color: var(--lag-orange);
  text-decoration: none;
  font-weight: 700;
  transition: color 0.2s ease;
}
#offcanvas-user .woocommerce-form-login-toggle a:hover,
#offcanvas-user .woocommerce-form-register-toggle a:hover {
  color: var(--lag-white);
}
/* Checkbox "Recordarme" */
#offcanvas-user .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: none;
  letter-spacing: normal;
}
#offcanvas-user input[type="checkbox"] {
  accent-color: var(--lag-orange);
  width: 1rem;
  height: 1rem;
}
/* Mensajes de error/ok */
#offcanvas-user .woocommerce-error,
#offcanvas-user .woocommerce-message,
#offcanvas-user .woocommerce-info {
  font-size: 0.8rem;
  padding: 0.75rem 1rem 0.75rem 2.5rem;
  margin-bottom: 1rem;
  background-color: rgba(255, 255, 255, 0.06);
  border-left: 3px solid var(--lag-orange);
  color: rgba(255, 255, 255, 0.8);
}

/* --- Offcanvas carrito (mismo estilo oscuro que #offcanvas-user; el
   contenido en sí, .mini-cart-item etc., se estiliza más abajo junto al
   resto del mini-carrito) --- */
#offcanvas-cart {
  background-color: var(--lag-secondary);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  width: min(85vw, 340px);
  /* Color base blanco para todo lo que no tenga un color propio (importes,
     <bdi> del precio, etc.): si no, hereda el negro por defecto del body y
     se pierde sobre este fondo oscuro. Las reglas más específicas de abajo
     (naranja en hover, grises translúcidos...) siguen mandando igual. */
  color: var(--lag-white);
}
#offcanvas-cart .offcanvas-header {
  padding: 1.5rem 1.5rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
#offcanvas-cart .offcanvas-title {
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
#offcanvas-cart .btn-close {
  filter: invert(1);
  opacity: 0.5;
  transition: opacity 0.2s ease;
  padding: 0;
  width: 1rem;
  height: 1rem;
}
#offcanvas-cart .btn-close:hover,
#offcanvas-cart .btn-close:focus {
  opacity: 1;
  box-shadow: none;
}
#offcanvas-cart .woocommerce-mini-cart__empty-message {
  padding: 1.5rem 1.25rem;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.85rem;
}
ul#offcanvas-cart .woocommerce-mini-cart {
  padding-left: 1.5rem;
}
/* === Header === */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: box-shadow 0.4s ease;
}
/* El fondo + blur del header van en un ::before independiente en vez de en
   #masthead directamente: si "backdrop-filter" se aplica al propio elemento
   con position:fixed, ese elemento pasa a ser el contenedor de posicionamiento
   de sus descendientes position:fixed (spec de filter/backdrop-filter), y el
   offcanvas del menú móvil (también fixed) queda encajonado dentro del header
   en vez de cubrir la pantalla completa -> el menú "flotaba" pequeño y
   semitransparente sobre el logo en móvil. */
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: transparent;
  transition:
    background-color 0.4s ease,
    backdrop-filter 0.4s ease;
}
.site-header--transparent {
  box-shadow: none;
}
.site-header--transparent::before {
  background-color: transparent;
}
.site-header--scrolled {
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
}
.site-header--scrolled::before {
  background-color: rgba(28, 28, 28, 0.97);
  backdrop-filter: blur(12px);
}
.site-header .navbar {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.site-header__logo {
  height: 3rem;
  width: auto;
}
#bootscore-navbar.ms-auto {
  margin-left: 0 !important;
}

/* --- Hamburger --- */
.site-header__burger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 2.4rem;
  height: 2.4rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 0;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.site-header__burger:hover,
.site-header__burger:focus {
  border-color: var(--lag-orange);
  outline: none;
}
.site-header__burger-line {
  display: block;
  width: 1.2rem;
  height: 1.5px;
  background-color: var(--lag-white);
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
  transform-origin: center;
}
.site-header__burger.is-active .site-header__burger-line:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.site-header__burger.is-active .site-header__burger-line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.site-header__burger.is-active .site-header__burger-line:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* --- Offcanvas panel (móvil) --- */
.site-header__offcanvas {
  width: min(85vw, 340px);
  background-color: var(--lag-secondary);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}
.site-header__offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 1.5rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.site-header__offcanvas-logo {
  height: 1.8rem;
  width: auto;
}
.site-header__offcanvas-close {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}
.site-header__offcanvas-close span {
  display: block;
  width: 1.1rem;
  height: 1.5px;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
}
.site-header__offcanvas-close span:nth-child(1) {
  transform: rotate(45deg);
}
.site-header__offcanvas-close span:nth-child(2) {
  transform: rotate(-45deg);
}
.site-header__offcanvas-close:hover span,
.site-header__offcanvas-close:focus span {
  background-color: var(--lag-orange);
}
.site-header__offcanvas-body {
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
}

/* Nav links en offcanvas (móvil) */
.site-header__offcanvas .navbar-nav {
  flex-direction: column;
  gap: 0;
}
.site-header__offcanvas .nav-link {
  font-family: Mulish;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.site-header__offcanvas .nav-link:hover,
.site-header__offcanvas .nav-link:focus {
  color: var(--lag-orange);
}
.site-header__offcanvas .nav-link.active {
  color: var(--lag-orange);
}
.site-header .dropdown-toggle::after {
  display: inline-block;
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  margin-left: 0.4rem;
  border: none;
  vertical-align: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M3.75 5.625L7.5 9.375L11.25 5.625' stroke='white' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.2s ease;
}
.site-header .dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

/* --- Dropdown en móvil (offcanvas) --- */
.site-header__offcanvas .dropdown-menu {
  background-color: rgba(255, 255, 255, 0.05);
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  /* Evita el posicionamiento absoluto de Bootstrap dentro del offcanvas */
  position: static !important;
  transform: none !important;
  box-shadow: none;
}
.site-header__offcanvas .dropdown-item {
  font-family: Mulish;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition:
    color 0.2s ease,
    background-color 0.2s ease;
}
.site-header__offcanvas .dropdown-item:hover,
.site-header__offcanvas .dropdown-item:focus {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--lag-orange);
}
.site-header__offcanvas .dropdown-item.active,
.site-header__offcanvas .dropdown-item.current-menu-item {
  background-color: transparent;
  color: var(--lag-orange);
}

/* --- Botón Reservas (móvil: full-width dentro del offcanvas) --- */
.site-header__reservas-btn {
  background-color: var(--lag-orange) !important;
  color: var(--lag-white) !important;
  border-radius: 0 !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1rem !important;
  text-transform: uppercase;
  white-space: nowrap;
  display: block;
  width: 100%;
  margin-top: 1.5rem;
  padding: 0.75rem 1.5rem !important;
  text-align: center;
  border: none;
}
.site-header__reservas-btn::after {
  display: none !important;
}
.site-header__reservas-btn:hover,
.site-header__reservas-btn:focus,
.site-header__reservas-btn:active {
  background-color: var(--lag-terra) !important;
  color: var(--lag-white) !important;
}

/* Clon de escritorio (vive en .header-actions, después de perfil/carrito): oculto en móvil */
.site-header__reservas-btn--desktop {
  display: none;
}

/* --- Perfil / carrito / buscador del header --- */
.site-header .search-toggler,
.site-header .account-toggler,
.site-header .cart-toggler {
  background-color: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.9);
  padding: 0.4rem 0.6rem;
  font-size: 0.75rem;
  line-height: 1;
  transition: color 0.2s ease;
}
/* El badge del carrito (.cart-content-count) sobresale por encima del botón
   con "translate-middle": sin separación con el siguiente botón (hamburguesa
   en móvil) se monta encima de él. Damos aire al grupo de iconos y subimos
   el badge por encima en el z-index para que nunca quede debajo de nada. */
.site-header .header-actions {
  gap: 0;
}
/* Separación solo antes de la hamburguesa (no entre perfil y carrito, que
   van pegados con su propio "ms-1 ms-md-2"). */
.site-header .site-header__burger {
  margin-left: 0.85rem;
}
.site-header .cart-content-count {
  z-index: 2;
  /* Bootstrap le pone "translate-middle" (centra el badge sobre la esquina
     del botón, asomando la mitad de su tamaño hacia fuera). El signo positivo
     que había aquí antes lo empujaba todavía MÁS hacia fuera (justo al
     revés de lo buscado). Con porcentaje negativo mayor lo metemos hacia
     dentro del botón, dejando que sobresalga bastante menos hacia la derecha. */
  transform: translate(-75%, -30%) !important;
  /* La clase Bootstrap "text-bg-danger" la pinta roja; en el tema es naranja. */
  background-color: var(--lag-orange) !important;
  color: var(--lag-white) !important;
}
.site-header .search-toggler:hover,
.site-header .search-toggler:focus,
.site-header .account-toggler:hover,
.site-header .account-toggler:focus,
.site-header .cart-toggler:hover,
.site-header .cart-toggler:focus {
  background-color: transparent;
  border: none;
  color: var(--lag-orange);

  transform: none;
  box-shadow: none;
}

/* === Sellos === */
.sellos {
  padding: 1rem 0;
  background-color: var(--lag-white);
}
.sellos-logo {
  max-height: 5rem;
  width: auto;
  object-fit: contain;
}

/* === Footer === */
.site-footer {
  background-color: var(--lag-secondary);
  color: rgba(255, 255, 255, 0.75);
  padding-top: 4rem;
}
.site-footer__brand {
  display: inline-block;
  margin-bottom: 1.25rem;
}
.site-footer__logo {
  height: 2.75rem;
  width: auto;
}
.site-footer__desc {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  max-width: 26rem;
}
.site-footer__frase {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}
.site-footer__social {
  margin: 0;
}
.site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--lag-white);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03rem;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}
.site-footer__social-link:hover,
.site-footer__social-link:focus-visible,
.site-footer__social-link:active {
  background-color: var(--lag-orange);
  border-color: var(--lag-orange);
  color: var(--lag-white);
  outline: none;
}
.site-footer__heading {
  color: var(--lag-white);
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.site-footer__menu,
.site-footer__contact {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.site-footer__menu a,
.site-footer__contact a,
.site-footer__contact li {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer__menu a:hover,
.site-footer__menu a:focus-visible,
.site-footer__contact a:hover,
.site-footer__contact a:focus-visible {
  color: var(--lag-orange);
}
.site-footer__bottom {
  margin-top: 3rem;
  padding: 1.25rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.site-footer__copy,
.site-footer__legal a {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
}
.site-footer__legal {
  margin: 0;
}
.site-footer__legal a {
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
  color: var(--lag-white);
}
.colophon {
  background-color: white;
  display: flex;
  padding: 0.5rem;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.colophon .colophon-texto {
  font-weight: 300;
  letter-spacing: -0.5px;
}

.colophon a {
  text-decoration: none;
  color: black;
}

.colophon svg > path {
  fill: rgb(0, 0, 0);
}
/* === 404 === */
.error-404-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--lag-secondary);
  background-image: radial-gradient(
    circle at 50% 20%,
    var(--lag-terra) 0%,
    var(--lag-secondary) 65%
  );
}
.error-404-hero:before {
  background: transparent;
}

/* --- Camino de tierra + buggy perdido --- */
.error-404-road {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.9;
}
.error-404-road svg {
  width: 100%;
  height: 100%;
}
.error-404-road__path {
  fill: none;
  stroke: var(--lag-primary-60);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 14 16;
}
.error-404-road__buggy {
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
}

/* --- Hojas de vid flotando --- */
.error-404-leaf {
  position: absolute;
  z-index: 0;
  animation: error404-leaf-float 7s ease-in-out infinite;
}
.error-404-leaf--1 {
  top: 18%;
  left: 12%;
  animation-delay: 0s;
}
.error-404-leaf--2 {
  top: 65%;
  right: 14%;
  animation-delay: 1.2s;
}
.error-404-leaf--3 {
  top: 15%;
  right: 26%;
  animation-delay: 2.4s;
}
@keyframes error404-leaf-float {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-16px) rotate(12deg);
  }
}

/* --- Badge "KM 404" --- */
.error-404-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 1rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--lag-primary-60);
  border-radius: 50rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  color: var(--lag-primary);
  background: var(--lag-secondary-5);
}

.error-404-titulo {
  font-size: clamp(3.5rem, 10vw, 6rem);
  text-transform: uppercase;
}

/* --- Poste de señales con rutas alternativas --- */
.error-404-signpost {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding-top: 2rem;
}
.error-404-signpost__pole {
  position: absolute;
  top: 0;
  left: 50%;
  width: 4px;
  height: 100%;
  background: var(--lag-primary-60);
  transform: translateX(-50%);
}
.error-404-signpost__sign {
  position: relative;
  z-index: 1;
  padding: 0.6rem 1.25rem;
  background: var(--lag-primary);
  color: var(--lag-secondary);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  border-radius: 0 4px 4px 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  transition:
    transform 0.2s ease,
    background-color 0.2s ease;
}
.error-404-signpost__sign:hover,
.error-404-signpost__sign:focus-visible {
  background: var(--lag-orange);
  color: var(--lag-white);
  transform: translateX(0.35rem);
}
.error-404-signpost__sign--1 {
  align-self: flex-start;
  margin-left: -2rem;
}
.error-404-signpost__sign--2 {
  align-self: flex-end;
  margin-right: -2rem;
}
.error-404-signpost__sign--3 {
  align-self: flex-start;
  margin-left: -2rem;
}

@media (max-width: 767.98px) {
  .error-404-road {
    opacity: 0.5;
  }
  .error-404-signpost__sign--1,
  .error-404-signpost__sign--3 {
    margin-left: 0;
  }
  .error-404-signpost__sign--2 {
    margin-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* El buggy se mueve vía animateMotion (SMIL), que no obedece
     animation-play-state de CSS: lo ocultamos directamente. */
  .error-404-road__buggy {
    display: none;
  }
  .error-404-leaf {
    animation: none;
  }
}

/* === Single === */

/* === Archive === */

/* ==== MQ ==== */

/*sm*/

@media (min-width: 576px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */

  /* ==== About ==== */

  /* ==== Contacto ==== */

  /* ==== Experiencia ==== */

  /* ==== Rioja ==== */

  /* ==== Blog ==== */

  /* ==== Páginas ==== */

  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*md*/
@media (min-width: 768px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */
  .inicio .hero {
    padding-bottom: 0;
  }

  /* --- Cifras --- */
  .inicio .cifra {
    border-top: none;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 2rem;
  }

  .inicio .hero .cifras > .col:first-child .cifra {
    border-left: none;
  }
  .inicio .hero .cifras::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }
  /* --- CTA final --- */
  .inicio .cta-final {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  /* --- Opiniones --- */
  .inicio .opiniones-carrusel {
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    padding-bottom: 0.75rem;
    margin: 0 -0.05rem;
    cursor: grab;
    scrollbar-width: none;
  }
  .inicio .opiniones-carrusel::-webkit-scrollbar {
    display: none;
  }
  .inicio .opiniones-carrusel.is-arrastrando {
    cursor: grabbing;
    scroll-snap-type: none;
  }
  .inicio .opiniones-carrusel__item {
    flex: 0 0 auto;
    width: 45%;
    scroll-snap-align: start;
  }
  .inicio .opiniones-carrusel__item.opiniones-item--hidden-mobile {
    display: block !important;
  }

  /* ==== About ==== */
  /* --- Hero --- */
  .about .hero {
    padding-top: 11rem;
  }

  /* ==== Contacto ==== */
  /* --- Hero --- */
  .contacto .hero {
    padding-top: 11rem;
  }

  /* ==== Experiencia ==== */
  /* --- Hero --- */
  .experiencia .hero {
    padding-top: 11rem;
  }

  /* ==== Rioja ==== */
  /* --- Hero --- */
  .rioja .hero {
    padding-top: 11rem;
  }

  /* ==== Legales ==== */
  /* --- Hero --- */
  .legales .hero {
    padding-top: 11rem;
  }

  /* ==== Blog ==== */
  /* --- Hero --- */
  .blog-hero {
    padding-top: 11rem;
  }
  /* --- Single --- */

  /* ==== Páginas ==== */

  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*lg*/
@media (min-width: 992px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */

  .inicio .cta-final {
    padding-top: 7rem;
  }

  /* --- Incluye --- */
  .inicio .incluye-barra {
    padding: 1.5rem 2.5rem;
  }

  /* ==== About ==== */
  /* --- Hero --- */
  .about .hero {
    padding-top: 13rem;
  }
  /* --- Colaboraciones --- */
  .about .colaboracion-card {
    padding: 3rem 2.5rem;
  }
  .about .col .filosofia-item {
    border-left: 1px solid var(--lag-gray, #707c8b);
  }
  .about .col:first-child .filosofia-item {
    border-left: none;
  }
  .about .merchandising-texto {
    width: 80%;
  }
  /* ==== Contacto ==== */
  /* --- Hero --- */
  .contacto .hero {
    padding-top: 13rem;
  }

  /* ==== Experiencia ==== */
  /* --- Hero --- */
  .experiencia .hero {
    padding-top: 13rem;
  }
  .experiencia .rutas-lista {
    columns: 4;
  }
  /* ==== Rioja ==== */
  /* --- Hero --- */
  .rioja .hero {
    padding-top: 13rem;
  }

  /* ==== Legales ==== */
  /* --- Hero --- */
  .legales .hero {
    padding-top: 13rem;
  }

  /* ==== Blog ==== */
  /* --- Hero --- */
  .blog-hero {
    padding-top: 13rem;
  }
  /* --- Single --- */

  /* ==== Páginas ==== */
  /* --- Hero Woo --- */
  .hero--woo {
    padding-top: 13rem;
  }

  /* === Header === */

  .site-header .navbar {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
  .site-header .navbar > .container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }
  .site-header .navbar-brand {
    justify-self: start;
  }
  .site-header__offcanvas.offcanvas-end {
    width: auto;
    background-color: transparent;
    border-left: none;
    position: static;
    visibility: visible;
    transform: none;
    justify-self: center;
  }
  .site-header .header-actions {
    justify-self: end;
  }
  /* El clon de "Reservas" se inserta por JS al final de .header-actions
     (después de los iconos de WooCommerce); con order lo mostramos primero. */
  .site-header__reservas-btn--desktop {
    order: -1;
  }
  .site-header__offcanvas-header {
    display: none;
  }
  .site-header__offcanvas-body {
    padding: 0;
    flex-direction: row;
    align-items: center;
  }
  .site-header__offcanvas .navbar-nav {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }
  .site-header__offcanvas .nav-link {
    font-size: 0.7rem;
    letter-spacing: 0.1rem;
    color: rgba(255, 255, 255, 0.9);
    padding: 0.4rem 0.85rem;
    border-bottom: none;
    position: relative;
  }
  .site-header__offcanvas .nav-link::before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0.85rem;
    right: 0.85rem;
    height: 1px;
    background-color: var(--lag-orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
  }
  .site-header__offcanvas .nav-link:hover,
  .site-header__offcanvas .nav-link:focus {
    color: var(--lag-white);
  }
  .site-header__offcanvas .nav-link:hover::before,
  .site-header__offcanvas .nav-link:focus::before {
    transform: scaleX(1);
  }
  .site-header__offcanvas .nav-link.active {
    color: var(--lag-white);
  }
  .site-header__offcanvas .nav-link.active::before {
    transform: scaleX(1);
  }
  .site-header__reservas-item--mobile {
    display: none;
  }
  .site-header__reservas-btn--desktop {
    display: inline-block;
    width: auto;
    margin-top: 0;
    margin-left: 0.75rem;
    padding: 0.5rem 1.4rem !important;
    font-size: 0.7rem !important;
  }
  /* Dropdown en desktop */
  .site-header .dropdown-menu {
    /* La regla ".site-header__offcanvas .dropdown-menu" fuerza position:static
       para el offcanvas móvil, pero ese mismo contenedor se reutiliza como
       menú horizontal en desktop (ver ".site-header__offcanvas.offcanvas-end"
       arriba). Sin revertirlo aquí, el dropdown se inserta en el flujo normal
       en vez de flotar, empujando la altura del <li> y desplazando toda la
       fila del menú hacia arriba al abrirse. */
    position: absolute !important;
    transform: none;
    background-color: rgba(20, 20, 20, 0.97);
    border: none;
    border-top: 2px solid var(--lag-orange);
    border-radius: 0;
    padding: 0.5rem 0;
    min-width: 14rem;
  }
  .site-header .dropdown-item {
    font-family: Mulish;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
    padding: 0.6rem 1.25rem;
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }
  .site-header .dropdown-item:hover,
  .site-header .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.14);
    color: var(--lag-orange);
  }
  .site-header .dropdown-item.active {
    color: var(--lag-orange);
  }
  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*xl*/
@media (min-width: 1200px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */

  .inicio .cta-final {
    padding-top: 7rem;
  }
  /* --- Opiniones --- */
  .inicio .opiniones-carrusel__item {
    width: 23.5%;
  }

  /* ==== About ==== */
  /* --- Hero --- */
  .about .hero {
    padding-top: 15rem;
  }

  /* ==== Contacto ==== */
  /* --- Hero --- */
  .contacto .hero {
    padding-top: 15rem;
  }

  /* ==== Experiencia ==== */
  /* --- Hero --- */
  .experiencia .hero {
    padding-top: 15rem;
  }

  /* ==== Rioja ==== */
  /* --- Hero --- */
  .rioja .hero {
    padding-top: 15rem;
  }

  /* ==== Blog ==== */
  /* --- Hero --- */
  .blog-hero {
    padding-top: 15rem;
  }
  /* --- Single --- */

  /* ==== Páginas ==== */
  /* --- Hero Woo --- */
  .hero--woo {
    padding-top: 15rem;
  }

  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*xxl*/
@media (min-width: 1400px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */

  /* ==== About ==== */

  /* ==== Contacto ==== */

  /* ==== Experiencia ==== */

  /* ==== Rioja ==== */

  /* ==== Blog ==== */

  /* ==== Páginas ==== */

  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/* ==================================================================
   ==== WooCommerce ====
 
   ================================================================== */

/* --- Título de página (archivo de tienda, breadcrumb) --- */
.woocommerce-breadcrumb {
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: var(--lag-gray);
  margin-bottom: 2rem;
}
.woocommerce-breadcrumb a {
  color: var(--lag-secondary);
  text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
  color: var(--lag-orange);
}

/* --- Hero de páginas Woo (tienda, carrito, checkout, mi cuenta) --- */
.hero--woo {
  background-color: var(--lag-secondary);
  padding-top: 9rem;
  padding-bottom: 2.5rem;
}
.hero--woo .lead {
  color: var(--lag-white);
}
.hero--woo .h1 {
  font-size: clamp(2.3rem, 5vw, 3.5rem);
}

/* --- Resumen editable del checkout (sin página de carrito) --- */
.woo-checkout-resumen-editable {
  background-color: var(--lag-primary);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}
.woo-checkout-resumen-editable > .h3 {
  margin-bottom: 1rem;
}
.woo-checkout-resumen-lista {
  margin: 0 0 1rem;
}
.woo-checkout-resumen-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(60, 60, 60, 0.12);
}
.woo-checkout-resumen-lista li:first-child {
  border-top: none;
}
.woo-checkout-resumen-item__imagen img {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  display: block;
}
.woo-checkout-resumen-item__cuerpo {
  flex-grow: 1;
}
.woo-checkout-resumen-item__nombre {
  font-weight: 700;
  font-size: 0.95rem;
}
.woo-checkout-resumen-item__meta {
  font-size: 0.8rem;
  opacity: 0.7;
}
.woo-checkout-resumen-item__precio {
  font-weight: 700;
  color: var(--lag-orange);
  margin-top: 0.25rem;
}
.woo-checkout-resumen-item__quitar {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  line-height: 1;
  color: var(--lag-secondary);
  text-decoration: none;
  border: 1px solid rgba(60, 60, 60, 0.2);
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease;
}
.woo-checkout-resumen-item__quitar:hover,
.woo-checkout-resumen-item__quitar:focus-visible {
  color: var(--lag-white);
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
}
.woo-checkout-resumen-subtotal {
  text-align: right;
  font-size: 1rem;
  border-top: 2px solid var(--lag-secondary);
  padding-top: 0.85rem;
}
.woo-checkout-resumen-subtotal strong {
  color: var(--lag-orange);
  font-size: 1.15rem;
}

/* --- Notificaciones / mensajes --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  font-family: Mulish;
  border: none;
  border-radius: 0;
  border-left: 3px solid var(--lag-orange);
  background-color: var(--lag-primary);
  color: var(--lag-secondary);
  /* El icono de WooCommerce (::before) queda absoluto a la izquierda; el
     padding-left deja hueco para que no se solape con el texto. */
  padding: 1rem 1.5rem 1rem 3.25rem;
  position: relative;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-left-color: var(--lag-terra);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  top: 50%;
  left: 1.5rem;
  transform: translateY(-50%);
  color: var(--lag-orange);
}
.woocommerce-error::before {
  color: var(--lag-terra);
}
.woocommerce-message .button,
.wc-block-components-notice-banner .wc-forward {
  float: none;
  margin-left: 1rem;
}

/* --- Botones WooCommerce (clásico y bloques) --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-block-woocommerce-checkout .wp-element-button,
.wp-block-woocommerce-cart .wp-element-button {
  background-color: var(--lag-orange);
  border: 1px solid var(--lag-orange);
  border-radius: 0;
  color: var(--lag-white);
  font-family: Mulish;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  padding: 0.7rem 1.75rem;
  box-shadow: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wp-element-button:hover,
.wp-block-woocommerce-cart .wp-element-button:hover {
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
  color: var(--lag-white);
}
.woocommerce a.button.alt,
.wc-block-components-button.wp-element-button:not(.is-style-outline) {
  background-color: var(--lag-orange);
  border-color: var(--lag-orange);
}
.wc-block-components-button.is-style-outline,
.wc-block-components-totals-coupon__button {
  background-color: transparent;
  color: var(--lag-secondary);
  border-color: var(--lag-secondary-5);
}
.woocommerce-checkout #payment #place_order {
  background-color: var(--lag-orange);
  border: 1px solid var(--lag-orange);
  border-radius: 0;
  color: var(--lag-white);
  font-family: Mulish;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  padding: 0.7rem 1.75rem;
  box-shadow: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:focus {
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
  color: var(--lag-white);
}
.wc-block-components-button.is-style-outline:hover,
.wc-block-components-totals-coupon__button:hover {
  background-color: transparent;
  border-color: var(--lag-orange);
  color: var(--lag-orange);
}
.wc-block-components-sidebar {
  padding-left: 0;
}
/* --- Precios --- */
.woocommerce .price,
.wc-block-components-product-price,
.wc-block-components-totals-item__value {
  color: var(--lag-terra);
  font-family: Mulish;
  font-weight: 700;
}
.woocommerce del .amount,
.wc-block-components-product-price__regular {
  color: var(--lag-gray);
  opacity: 0.7;
  font-weight: 400;
}
.woocommerce ins,
.woocommerce ins .amount {
  text-decoration: none;
}
.onsale,
.wc-block-components-product-badge {
  background-color: var(--lag-orange);
  color: var(--lag-white);
  border-radius: 0;
  font-family: Mulish;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

/* --- Formularios (inputs, selects, checkboxes) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce table.shop_table td select,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-checkout__form select,
select.wc-block-components-select-input {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  padding: 0.7rem 1rem;
  font-family: Mulish;
  box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.wc-block-components-text-input input:focus,
.wc-block-checkout__form select:focus {
  outline: none;
  border-color: var(--lag-orange);
  box-shadow: none;
}
.woocommerce form label,
.woocommerce-checkout label,
.wc-block-components-checkout-step__title,
.wc-block-components-text-input label {
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: var(--lag-secondary);
}
.wc-block-components-checkout-step__heading {
  font-family: Ponjoung;
  text-transform: none;
  letter-spacing: normal;
}
.woocommerce .u-columns .u-column1.col-1,
.woocommerce .u-columns .u-column2.col-2 {
  width: 46%;
}
/* --- Tienda: cuadrícula de productos --- */
ul.products li.product {
  padding: 1.75rem;
  background-color: var(--lag-white);
  box-shadow: 0 0.5rem 1.5rem rgba(60, 60, 60, 0.08);
  transition: box-shadow 0.2s ease;
}
ul.products li.product:hover {
  box-shadow: 0 0.75rem 2rem rgba(60, 60, 60, 0.14);
}
ul.products li.product img {
  object-fit: cover;
}
ul.products li.product .woocommerce-loop-product__title {
  font-family: Ponjoung;
  font-size: 1.1rem;
  color: var(--lag-secondary);
  margin-top: 1rem;
}

/* --- Producto individual --- */
.single-product .product .price {
  font-size: 1.4rem;
}
.single-product .quantity .qty {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  padding: 0.6rem 0.75rem;
}
.woocommerce-tabs .tabs li {
  font-family: Mulish;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  font-size: 0.85rem;
}
.woocommerce-tabs .tabs li.active,
.woocommerce-tabs .tabs li:hover {
  border-bottom: 2px solid var(--lag-orange);
}

/* --- Carrito (clásico) --- */
.woocommerce table.shop_table {
  border: none;
  border-radius: 0;
}
.woocommerce table.shop_table th {
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  border-bottom: 2px solid var(--lag-secondary);
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--lag-secondary-5);
}
.woocommerce table.shop_table td.product-remove a.remove {
  background-color: transparent;
  color: var(--lag-gray);
}
.woocommerce table.shop_table td.product-remove a.remove:hover {
  background-color: var(--lag-terra);
  color: var(--lag-white);
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  background-color: var(--lag-primary);
  padding: 1.75rem;
}
.woocommerce .cart_totals table.shop_table {
  border: none;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th {
  border-top: 1px solid rgba(60, 60, 60, 0.1);
}
.woocommerce .coupon input#coupon_code {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  padding: 0.7rem 1rem;
}

/* --- Carrito y Checkout (bloques) --- */
.wc-block-cart,
.wc-block-checkout {
  font-family: Mulish;
}
.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-cart__totals-title {
  background-color: var(--lag-primary);
}
.wc-block-components-panel,
.wc-block-components-checkout-order-summary {
  background-color: var(--lag-primary);
  padding: 1.5rem;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item
  .wc-block-components-totals-item__value {
  font-family: Ponjoung;
}

.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
}
.wc-block-components-radio-control__option--checked-option-highlight,
.wc-block-components-radio-control__input:checked {
  accent-color: var(--lag-orange);
}
.wc-block-components-product-name {
  color: var(--lag-secondary);
  font-family: Ponjoung;
}
.wc-block-components-quantity-selector {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
}
.wc-block-components-quantity-selector__button {
  color: var(--lag-secondary);
}
.wc-block-components-checkout-step {
  border-top: 1px solid var(--lag-secondary-5);
  padding-top: 1.5rem;
  margin-top: 1.5rem;
}
.wc-block-components-checkout-step:first-child {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}
.wc-block-components-checkout-step__step-number {
  background-color: var(--lag-secondary);
  color: var(--lag-white);
  border-radius: 50%;
}

/* --- Mini-carrito (offcanvas del header) --- */
/* Marcado propio (woocommerce/cart/mini-cart.php): foto | título + datos de
   ruta | cantidad y precio, en tres columnas fijas que no se rompen en el
   ancho estrecho del offcanvas. */
.mini-cart-item {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  align-items: start;
  gap: 0.5rem 0.85rem;
  padding: 1rem 2rem 1rem 1.25rem;
  /* Reinicia el borde de Bootstrap .list-group-item (necesaria para que
     ajax-cart.js encuentre data-bootscore_product_id) y deja solo el inferior */
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0 !important;
  background-color: transparent !important;
  position: relative;
}
.mini-cart-item p {
  color: var(--lag-white);
}
.mini-cart-item__thumb {
  grid-column: 1;
  grid-row: 1;
}
.product_list_widget {
  padding-left: 0;
}
.mini-cart-item__thumb img {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
}
.mini-cart-item__info {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.mini-cart-item__info > a {
  display: block;
  font-family: Ponjoung;
  font-size: 0.95rem;
  color: var(--lag-white);
  text-decoration: none;
}
.mini-cart-item__price {
  grid-column: 2 / -1;
  grid-row: 2;
  text-align: left;
  white-space: nowrap;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.mini-cart-item .remove_from_cart_button {
  position: absolute;
  top: 1rem;
  right: 0.5rem;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1;
}
.mini-cart-item .remove_from_cart_button:hover {
  color: var(--lag-orange);
}
.mini-cart-item .quantity {
  font-weight: 700;
}

.mini-cart-item dl.variation {
  display: block !important;
  flex-wrap: initial !important;
  overflow: visible;
  margin: 0.3rem 0 0;
}
.mini-cart-item dl.variation dt,
.mini-cart-item dl.variation dd {
  float: none !important;
  display: inline !important;
  flex: initial !important;
  width: auto !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.75rem;
  font-family: Mulish;
}
.mini-cart-item dl.variation dt {
  font-weight: 700;
  color: var(--lag-white);
}
.mini-cart-item dl.variation dd {
  color: rgba(255, 255, 255, 0.55);
  margin-left: 0.25rem !important;
}
.mini-cart-item dl.variation dd p {
  margin: 0;
  display: inline !important;
}
/* Cada dt/dd en su propia línea, sin depender del float */
.mini-cart-item dl.variation dd::after {
  content: "";
  display: block;
}

.woocommerce-mini-cart__total,
.widget_shopping_cart .total {
  border-top: 2px solid rgba(255, 255, 255, 0.15);
  padding: 1rem 1.25rem;
  font-family: Ponjoung;
  font-size: 1.1rem;
  color: var(--lag-white);
}
.widget_shopping_cart .buttons {
  padding: 0 1.25rem 1.25rem;
}
.widget_shopping_cart .buttons .button {
  display: block;
  text-align: center;
  background-color: var(--lag-orange);
  border: 1px solid var(--lag-orange);
  border-radius: 0;
  color: var(--lag-white);
  font-family: Mulish;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  padding: 0.65rem 1.5rem;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.widget_shopping_cart .buttons .button:hover,
.widget_shopping_cart .buttons .button:focus {
  background-color: var(--lag-terra);
  border-color: var(--lag-terra);
  color: var(--lag-white);
}
.widget_shopping_cart .buttons .button + .button {
  margin-top: 0.5rem;
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.25);
}
.widget_shopping_cart .buttons .button + .button:hover,
.widget_shopping_cart .buttons .button + .button:focus {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.4);
}

/* --- Mi cuenta: navegación (nav > .list-group > .list-group-item, ver bootscore/woocommerce/myaccount/navigation.php) --- */
.woocommerce-MyAccount-navigation .list-group {
  border: 1px solid var(--lag-secondary-5);
  border-radius: 0;
}
.woocommerce-MyAccount-navigation .list-group-item {
  border: none;
  border-bottom: 1px solid var(--lag-secondary-5);
  border-radius: 0;
  padding: 0.85rem 1.25rem;
  font-family: Mulish;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: var(--lag-secondary);
  background-color: var(--lag-white);
  transition:
    color 0.2s ease,
    background-color 0.2s ease;
}
.woocommerce-MyAccount-navigation .list-group-item:last-child {
  border-bottom: none;
}
.woocommerce-MyAccount-navigation .list-group-item:hover,
.woocommerce-MyAccount-navigation .list-group-item:focus-visible {
  color: var(--lag-orange);
  background-color: var(--lag-primary);
}
.woocommerce-MyAccount-navigation .list-group-item[aria-current="page"] {
  color: var(--lag-white);
  background-color: var(--lag-secondary);
}

/* --- Mi cuenta: contenido (escritorio, pedidos, direcciones, detalles) --- */
.woocommerce-MyAccount-content a:not(.button) {
  color: var(--lag-secondary);
  font-weight: 700;
  text-decoration: underline;
  transition: color 0.2s ease;
}
.woocommerce-MyAccount-content a:not(.button):hover,
.woocommerce-MyAccount-content a:not(.button):focus-visible {
  color: var(--lag-orange);
}
.woocommerce-MyAccount-content > h2 {
  font-family: Ponjoung;
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  color: var(--lag-secondary);
  margin-bottom: 1.5rem;
}

/* Direcciones (facturación / envío) */
.woocommerce-Addresses {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: 0;
}
.woocommerce-Address {
  flex: 1 1 20rem;
  background-color: var(--lag-white);
  border: 1px solid var(--lag-secondary-5);
  padding: 1.5rem;
}
.woocommerce-Address-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--lag-secondary-5);
}
.woocommerce-Address-title h2 {
  font-family: Ponjoung;
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  color: var(--lag-secondary);
  margin: 0;
  min-width: 0;
}
/* El tema padre trae ".addresses .title .edit { float: right }" (bootscore
   base): se anula con float none y se fija color propio para no heredar el
   azul de enlace por defecto de Bootstrap. */
.woocommerce-Address-title .edit {
  flex-shrink: 0;
  float: none;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--lag-secondary);
  text-decoration: underline;
}
.woocommerce-Address-title .edit:hover,
.woocommerce-Address-title .edit:focus-visible {
  color: var(--lag-orange);
}
.woocommerce-Address address {
  font-style: normal;
  line-height: 1.7;
  color: var(--lag-secondary);
  opacity: 0.85;
}

/* Descargas */
.woocommerce-Downloads,
.woocommerce-table--order-downloads {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.woocommerce-Downloads li {
  padding: 0.85rem 0;
  border-top: 1px solid var(--lag-secondary-5);
  font-size: 0.9rem;
}
.woocommerce-Downloads li:first-child {
  border-top: none;
}
.woocommerce-Count.count {
  font-size: 0.75rem;
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
}

/* Editar cuenta / editar dirección: separa el bloque de cambio de contraseña */
.woocommerce-EditAccountForm fieldset {
  border: none;
  padding: 1.5rem 0 0;
  margin: 1rem 0 0;
  border-top: 1px solid var(--lag-secondary-5);
}
.woocommerce-EditAccountForm fieldset legend {
  font-family: Mulish;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: var(--lag-secondary);
  margin-bottom: 1rem;
  padding: 0;
}
