/* =========================================================
   MENÚ NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqNav
========================================================= */

.cqNav,
.cqNav * {
  box-sizing: border-box;
}

.cqNav.navbar {
  min-height: 78px;
  padding: 0;
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 12px 34px rgba(23, 38, 56, 0.08);
  backdrop-filter: blur(14px);
  z-index: 1050;
}

.cqNav__container {
  min-height: 78px;
}

/* Logo */
.cqNav__brand {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin: 0;
}

.cqNav__logo {
  display: block;
  width: auto;
  height: 64px;
  object-fit: contain;
}

/* Lista */
.cqNav__list {
  gap: 4px;
}

.cqNav__item {
  display: flex;
  align-items: center;
}

/* Enlaces */
.cqNav__link.nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 13px !important;
  border-radius: 999px;
  color: #172638 !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}

.cqNav__link.nav-link:hover,
.cqNav__link.nav-link.is-active {
  color: #8a6425 !important;
  background: rgba(202, 162, 74, 0.13);
}

.cqNav__link.nav-link.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6px;
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: #caa24a;
  transform: translateX(-50%);
}

/* Dropdown */
.cqNav__dropdownToggle::after {
  margin-left: 7px;
}

.cqNav__dropdown.dropdown-menu {
  margin-top: 14px;
  padding: 10px;
  border: 1px solid rgba(23, 38, 56, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.16);
  backdrop-filter: blur(14px);
}

.cqNav__dropdownItem.dropdown-item {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 12px;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 750;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}

.cqNav__dropdownItem.dropdown-item:hover {
  color: #8a6425;
  background: rgba(202, 162, 74, 0.13);
  transform: translateX(3px);
}

/* Botón reservar */
.cqNav__item--cta {
  margin-left: 12px;
}

.cqNav__reserve {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 20px;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, #caa24a, #a87f34);
  box-shadow: 0 14px 30px rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

.cqNav__reserve:hover {
  color: #ffffff !important;
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 18px 38px rgba(202, 162, 74, 0.32);
}

/* Toggle móvil */
.cqNav__toggle.navbar-toggler {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(23, 38, 56, 0.12);
  border-radius: 14px;
  background: rgba(41, 56, 76, 1);
  box-shadow: none;
}

.cqNav__toggle.navbar-toggler:focus {
  box-shadow: 0 0 0 3px rgba(202, 162, 74, 0.18);
}

/* Tablet y móvil */
@media (max-width: 991.98px) {
  .cqNav.navbar {
    min-height: 72px;
  }

  .cqNav__container {
    min-height: 72px;
  }

  .cqNav__logo {
    height: 58px;
  }

  .cqNav__collapse.navbar-collapse {
    margin-top: 10px;
    padding: 16px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid rgba(23, 38, 56, 0.08);
    box-shadow: 0 24px 60px rgba(23, 38, 56, 0.14);
  }

  .cqNav__list {
    gap: 4px;
  }

  .cqNav__item {
    width: 100%;
    display: block;
  }

  .cqNav__link.nav-link {
    width: 100%;
    justify-content: space-between;
    min-height: 48px;
    padding: 12px 14px !important;
    border-radius: 14px;
  }

  .cqNav__link.nav-link.is-active::after {
    display: none;
  }

  .cqNav__dropdown.dropdown-menu {
    margin: 6px 0 8px;
    padding: 8px;
    border-radius: 16px;
    box-shadow: none;
    background: #f8f6f1;
  }

  .cqNav__dropdownItem.dropdown-item {
    min-height: 44px;
  }

  .cqNav__item--cta {
    margin-left: 0;
    margin-top: 10px;
  }

  .cqNav__reserve {
    width: 100%;
    min-height: 50px;
  }
}

/* Móvil pequeño */
@media (max-width: 575.98px) {
  .cqNav.navbar {
    min-height: 68px;
  }

  .cqNav__container {
    min-height: 68px;
  }

  .cqNav__logo {
    height: 52px;
  }

  .cqNav__collapse.navbar-collapse {
    margin-left: 0;
    margin-right: 0;
    padding: 14px;
    border-radius: 18px;
  }

  .cqNav__link.nav-link {
    font-size: 14.5px;
  }
}
	/* =========================================================
   TOGGLE MENÚ MÓVIL - RAYAS BLANCAS
========================================================= */

.cqNav__toggle {
  width: 48px;
  height: 48px;
  border: 0 !important;
  border-radius: 14px;
  background: #172638 !important;
  box-shadow: 0 10px 24px rgba(23, 38, 56, 0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.cqNav__toggle:focus {
  box-shadow: 0 0 0 4px rgba(202, 162, 74, 0.20);
  outline: none;
}

.cqNav__toggleIcon {
  width: 24px;
  height: 18px;
  background-image: none !important;
  position: relative;
  display: inline-block;
}

.cqNav__toggleIcon::before,
.cqNav__toggleIcon::after,
.cqNav__toggleIcon {
  border: 0;
}

.cqNav__toggleIcon::before,
.cqNav__toggleIcon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: #ffffff;
  transition: transform 0.22s ease, top 0.22s ease, opacity 0.22s ease;
}

.cqNav__toggleIcon::before {
  top: 0;
}

.cqNav__toggleIcon::after {
  top: 16px;
}

.cqNav__toggleIcon {
  background:
    linear-gradient(#ffffff, #ffffff) center / 24px 2px no-repeat !important;
}

/* Estado abierto: se convierte en X */
.cqNav__toggle[aria-expanded="true"] .cqNav__toggleIcon {
  background: transparent !important;
}

.cqNav__toggle[aria-expanded="true"] .cqNav__toggleIcon::before {
  top: 8px;
  transform: rotate(45deg);
}

.cqNav__toggle[aria-expanded="true"] .cqNav__toggleIcon::after {
  top: 8px;
  transform: rotate(-45deg);
}
/* =========================================================
   MENÚ HABITACIONES: TEXTO + FLECHA DENTRO DEL MISMO BOTÓN
========================================================= */

.cqNav__dropdownSplit {
  position: relative;
}

.cqNav__splitWrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-radius: 999px;
  background: transparent;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.cqNav__splitWrap:hover,
.cqNav__splitWrap.is-active {
  background: rgba(202, 162, 74, 0.13);
}

.cqNav__splitWrap.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6px;
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: #caa24a;
  transform: translateX(-50%);
}

.cqNav__splitLink {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 7px 10px 13px;
  color: #172638 !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.cqNav__splitWrap:hover .cqNav__splitLink,
.cqNav__splitWrap.is-active .cqNav__splitLink {
  color: #8a6425 !important;
}

.cqNav__dropdownButton {
  position: relative;
  z-index: 2;
  width: 28px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 11px 0 4px;
  border: 0;
  color: #172638;
  background: transparent;
  cursor: pointer;
}

.cqNav__dropdownButton::after {
  margin-left: 0;
  vertical-align: 0;
  border-top-width: 0.32em;
  border-right-width: 0.32em;
  border-left-width: 0.32em;
}

.cqNav__splitWrap:hover .cqNav__dropdownButton,
.cqNav__splitWrap.is-active .cqNav__dropdownButton {
  color: #8a6425;
}

.cqNav__dropdownButton:focus {
  outline: none;
  box-shadow: none;
}

/* Móvil */
@media (max-width: 991.98px) {
  .cqNav__splitWrap {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
  }

  .cqNav__splitWrap.is-active::after {
    display: none;
  }

  .cqNav__splitLink {
    flex: 1;
    min-height: 48px;
    padding: 12px 14px;
    font-size: 14.5px;
  }

  .cqNav__dropdownButton {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 14px;
  }

  .cqNav__dropdown.dropdown-menu {
    width: 100%;
  }
}
/* =========================================================
   BANNER PRINCIPAL CASA DO QUEIXEIRO
   Prefijo aislado: cqHero
   Versión corregida: sin scroll lateral y sin romper Avaibook
========================================================= */

#cqHero,
#cqHero * {
  box-sizing: border-box;
}

#cqHero.cqHero {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-height: clamp(720px, 92vh, 940px);
  isolation: isolate;
  background: #172638;
  color: #ffffff;

  /*
    No ponemos overflow hidden aquí.
    El calendario de Avaibook necesita salir fuera del bloque.
  */
  overflow: visible;
}

/* Evita que el propio hero genere más ancho */
#cqHero.cqHero {
  contain: layout paint;
}

/* Carrusel fondo */
.cqHero__carousel,
.cqHero__carouselInner,
.cqHero__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.cqHero__carousel {
  z-index: 1;
  overflow: hidden;
}

.cqHero__carouselInner {
  overflow: hidden;
}

.cqHero__slide {
  overflow: hidden;
}

.cqHero__slide picture {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cqHero__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  filter: brightness(1.08) contrast(1.04) saturate(1.08);
  transform: scale(1.04);
  animation: cqHeroZoom 9s ease-out forwards;
}

.cqHero__slide.active .cqHero__img {
  animation: cqHeroZoom 9s ease-out forwards;
}

@keyframes cqHeroZoom {
  0% {
    transform: scale(1.07);
  }

  100% {
    transform: scale(1.02);
  }
}

/* Overlay */
.cqHero__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.14), transparent 38%),
    linear-gradient(180deg, rgba(8, 18, 31, 0.22) 0%, rgba(8, 18, 31, 0.34) 58%, rgba(8, 18, 31, 0.48) 100%),
    linear-gradient(90deg, rgba(8, 18, 31, 0.28) 0%, rgba(8, 18, 31, 0.10) 55%, rgba(8, 18, 31, 0.28) 100%);
}

/* Contenido */
.cqHero__content {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 100%;
  min-height: clamp(720px, 92vh, 940px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px 18px 130px;
  pointer-events: none;
  overflow: visible;
}

.cqHero__inner {
  width: min(1180px, 100%);
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  pointer-events: auto;
  overflow: visible;
}

.cqHero__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  margin-bottom: 18px;
  padding: 9px 16px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.26);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.18);
}

.cqHero__label span {
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqHero__title {
  width: min(1050px, 100%);
  max-width: 100%;
  margin: 0 auto 18px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(48px, 6.6vw, 100px);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-wrap: balance;
  text-shadow:
    0 12px 35px rgba(0, 0, 0, 0.55),
    0 3px 10px rgba(0, 0, 0, 0.35);
}

.cqHero__subtitle {
  width: min(860px, 100%);
  max-width: 100%;
  margin: 0 auto 22px;
  color: rgba(255, 255, 255, 0.94) !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 500;
  line-height: 1.55;
  text-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}

/* Beneficios */
.cqHero__benefits {
  width: min(940px, 100%);
  max-width: 100%;
  margin: 0 auto 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cqHero__benefits span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.95);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
}

.cqHero__benefits span::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: #1AB394;
  box-shadow: 0 0 0 5px rgba(26, 179, 148, 0.18);
}

/* Widget Avaibook */
.cqHero__bookingWrap {
  position: relative;
  z-index: 9990;
  width: min(1080px, 100%);
  max-width: 100%;
  min-height: 215px;
  margin: 0 auto;
  padding: 0 10px;
  overflow: visible !important;
  pointer-events: auto;
}

.cqHero__booking,
.cqHero__bookingWrap .avaibook-search-widget {
  position: relative !important;
  z-index: 9995 !important;
  width: 100% !important;
  max-width: 960px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

/*
  No ponemos max-width:100% a todos los hijos de Avaibook.
  Eso rompe su diseño interno y corta el calendario.
*/
.cqHero__bookingWrap .avaibook-search-widget * {
  box-sizing: border-box;
}

.cqHero__bookingWrap iframe,
.cqHero__bookingWrap form,
.cqHero__bookingWrap button,
.cqHero__bookingWrap input,
.cqHero__bookingWrap select,
.cqHero__bookingWrap a,
.cqHero__bookingWrap [role="button"] {
  pointer-events: auto !important;
}

/* Calendario y desplegables por encima de los botones */
.cqHero__bookingWrap .avaibook-search-widget [class*="calendar"],
.cqHero__bookingWrap .avaibook-search-widget [class*="Calendar"],
.cqHero__bookingWrap .avaibook-search-widget [class*="datepicker"],
.cqHero__bookingWrap .avaibook-search-widget [class*="DatePicker"],
.cqHero__bookingWrap .avaibook-search-widget [class*="popover"],
.cqHero__bookingWrap .avaibook-search-widget [class*="Popover"],
.cqHero__bookingWrap .avaibook-search-widget [class*="dropdown"],
.cqHero__bookingWrap .avaibook-search-widget [class*="Dropdown"],
.cqHero__bookingWrap .avaibook-search-widget [style*="position: absolute"],
.cqHero__bookingWrap .avaibook-search-widget [style*="position:absolute"],
.cqHero__bookingWrap .avaibook-search-widget [style*="position: fixed"],
.cqHero__bookingWrap .avaibook-search-widget [style*="position:fixed"] {
  z-index: 99999 !important;
  overflow: visible !important;
}

/* Acciones secundarias */
.cqHero__actions {
  position: relative;
  z-index: 20;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.cqHero__phone,
.cqHero__whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 20px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.cqHero__phone {
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.20);
}

.cqHero__whatsapp {
  color: #ffffff !important;
  background: #25D366;
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.25);
}

.cqHero__phone:hover,
.cqHero__whatsapp:hover {
  transform: translateY(-2px);
}

/* Curva */
.cqHero__curve {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 6;
  width: 100%;
  height: 120px;
  pointer-events: none;
  line-height: 0;
}

.cqHero__curve svg {
  display: block;
  width: 100%;
  height: 100%;
}

.cqHero__curve path {
  fill: #ffffff;
}

/* Controles */
.cqHero__control {
  z-index: 12;
  width: 48px;
  height: 48px;
  top: 50%;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(6px);
  opacity: 1;
}

.cqHero__control:hover {
  background: rgba(0, 0, 0, 0.45) !important;
}

.cqHero__control--prev {
  left: 16px;
}

.cqHero__control--next {
  right: 16px;
}

/* Desktop ancho */
@media (min-width: 1400px) {
  #cqHero.cqHero {
    min-height: 900px;
  }

  .cqHero__content {
    min-height: 900px;
  }
}

/* Tablet */
@media (max-width: 991.98px) {
  #cqHero.cqHero {
    min-height: 840px;
  }

  .cqHero__content {
    min-height: 840px;
    padding: 120px 16px 110px;
  }

  .cqHero__title {
    font-size: clamp(42px, 8vw, 68px);
  }

  .cqHero__subtitle {
    font-size: 19px;
  }

  .cqHero__bookingWrap {
    width: 100%;
    max-width: 100%;
    min-height: 232px;
  }

  .cqHero__control {
    display: none;
  }
}

/* Móvil */
@media (max-width: 575.98px) {
  #cqHero.cqHero {
    min-height: auto;
    max-width: 100%;
    overflow: visible !important;
    background: #26384c;
  }

  .cqHero__carousel,
  .cqHero__carouselInner,
  .cqHero__slide {
    position: relative;
    height: 330px;
    min-height: 330px;
    max-width: 100%;
    overflow: hidden;
  }

  .cqHero__img {
    height: 330px;
    object-position: center center;
    transform: none;
    animation: none;
  }

  .cqHero__overlay {
    height: 330px;
    bottom: auto;
    background:
      linear-gradient(180deg, rgba(8, 18, 31, 0.42) 0%, rgba(8, 18, 31, 0.62) 100%);
  }

  .cqHero__content {
    position: relative;
    min-height: auto;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 22px 0 34px;
    overflow: visible !important;
    background: #26384c;
  }

  .cqHero__inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
  }

  .cqHero__label,
  .cqHero__title,
  .cqHero__subtitle {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
    margin-left: auto;
    margin-right: auto;
  }

  .cqHero__label {
    margin-bottom: 12px;
    padding: 7px 11px;
  }

  .cqHero__label span {
    font-size: 11px;
    letter-spacing: 0.08em;
  }

  .cqHero__title {
    font-size: 34px;
    line-height: 1.06;
    margin-bottom: 12px;
  }

  .cqHero__subtitle {
    font-size: 16px;
    line-height: 1.45;
    margin-bottom: 16px;
  }

  .cqHero__benefits {
    display: none;
  }

  .cqHero__bookingWrap {
    position: relative;
    z-index: 9990;
    width: 100%;
    max-width: 100%;
    min-height: auto !important;
    margin: 0 auto;
    padding: 0 !important;
    overflow: visible !important;
  }

  .cqHero__booking,
  .cqHero__bookingWrap .avaibook-search-widget,
  .cqHero .avaibook-search-widget {
    position: relative !important;
    z-index: 9995 !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    min-width: 0 !important;
    min-height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
    border-radius: 18px !important;
  }

  .cqHero .avaibook-search-widget > div {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }

  .cqHero__bookingWrap .avaibook-search-widget [class*="calendar"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="Calendar"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="datepicker"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="DatePicker"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="popover"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="Popover"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="dropdown"],
  .cqHero__bookingWrap .avaibook-search-widget [class*="Dropdown"],
  .cqHero__bookingWrap .avaibook-search-widget [style*="position: absolute"],
  .cqHero__bookingWrap .avaibook-search-widget [style*="position:absolute"],
  .cqHero__bookingWrap .avaibook-search-widget [style*="position: fixed"],
  .cqHero__bookingWrap .avaibook-search-widget [style*="position:fixed"] {
    z-index: 99999 !important;
    overflow: visible !important;
  }

  .cqHero__actions {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    margin: 50px auto 0;
    gap: 20px;
  }

  .cqHero__phone,
  .cqHero__whatsapp {
    width: 100%;
    min-height: 60px;
    font-size: 18px;
  }

  .cqHero__curve {
    display: none;
  }
}

/* Móvil pequeño */
@media (max-width: 390px) {
  .cqHero__carousel,
  .cqHero__carouselInner,
  .cqHero__slide {
    height: 300px;
    min-height: 300px;
  }

  .cqHero__img,
  .cqHero__overlay {
    height: 300px;
  }

  .cqHero__title {
    font-size: 31px;
  }

  .cqHero__subtitle {
    font-size: 15px;
  }
}

/* Reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  .cqHero__img,
  .cqHero__slide.active .cqHero__img {
    animation: none !important;
    transform: none !important;
  }
}
/* =========================================================
   HERO MÓVIL: FOTO SIN OVERLAY OSCURO
========================================================= */

@media (max-width: 575.98px) {
  .cqHero__overlay {
    display: none !important;
  }

  .cqHero__img {
    filter: none !important;
  }
}
/* =========================================================
   FIX GLOBAL ANCHO MÓVIL
   No rompe Avaibook ni calendarios
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

@media (max-width: 767.98px) {
  body {
    position: relative;
  }

  main,
  header,
  footer {
    max-width: 100%;
    overflow-x: hidden;
  }

  img,
  picture,
  video,
  iframe {
    max-width: 100%;
  }
}
	/* =========================================================
   ABOUT NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqAbout
========================================================= */

.cqAbout,
.cqAbout * {
  box-sizing: border-box;
}

.cqAbout {
  position: relative;
  padding: clamp(72px, 8vw, 85px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(202, 162, 74, 0.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7f4ee 100%);
}

.cqAbout__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.cqAbout__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}

/* Texto */
.cqAbout__content {
  position: relative;
  z-index: 2;
}

.cqAbout__kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.28);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqAbout__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqAbout__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqAbout__lead {
  margin: 0 0 22px;
  max-width: 620px;
  color: #31465c;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.55;
}

.cqAbout__text {
  max-width: 650px;
}

.cqAbout__text p {
  margin: 0 0 15px;
  color: rgba(23, 38, 56, 0.78);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  line-height: 1.75;
}

/* Features */
.cqAbout__features {
  display: grid;
  gap: 14px;
  margin: 30px 0 32px;
}

.cqAbout__feature {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  padding: 16px 17px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 14px 38px rgba(23, 38, 56, 0.06);
}

.cqAbout__featureIcon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #caa24a, #a87f34);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
}

.cqAbout__feature strong {
  display: block;
  margin-bottom: 3px;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  font-weight: 900;
}

.cqAbout__feature p {
  margin: 0;
  color: rgba(23, 38, 56, 0.68);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14.5px;
  line-height: 1.45;
}

/* Botones */
.cqAbout__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

.cqAbout__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 18px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.cqAbout__btn--primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 12px 26px rgba(23, 38, 56, 0.18);
}

.cqAbout__btn--secondary {
  color: #172638 !important;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.12);
  box-shadow: 0 10px 24px rgba(23, 38, 56, 0.08);
}

.cqAbout__btn:hover {
  transform: translateY(-2px);
}

/* Imágenes */
.cqAbout__media {
  position: relative;
  min-height: 610px;
}

.cqAbout__image {
  position: absolute;
  overflow: hidden;
  background: #e8e1d4;
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.18);
}

.cqAbout__image picture,
.cqAbout__image img {
  display: block;
  width: 100%;
  height: 100%;
}

.cqAbout__image img {
  object-fit: cover;
  transition: transform 0.6s ease;
}

.cqAbout__image:hover img {
  transform: scale(1.05);
}

.cqAbout__image--main {
  top: 0;
  right: 0;
  width: 78%;
  height: 500px;
  border-radius: 34px;
}

.cqAbout__image--small {
  left: 0;
  bottom: 0;
  width: 47%;
  height: 300px;
  border-radius: 28px;
  border: 10px solid #f7f4ee;
}

.cqAbout__badge {
  position: absolute;
  right: 32px;
  bottom: 42px;
  z-index: 3;
  min-width: 190px;
  padding: 17px 18px;
  border-radius: 22px;
  color: #172638;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.18);
  backdrop-filter: blur(8px);
}

.cqAbout__badge strong {
  display: block;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.cqAbout__badge span {
  display: block;
  margin-top: 5px;
  color: rgba(23, 38, 56, 0.68);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 700;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqAbout {
    padding: 80px 0;
  }

  .cqAbout__grid {
    grid-template-columns: 1fr;
  }

  .cqAbout__content {
    text-align: center;
  }

  .cqAbout__lead,
  .cqAbout__text {
    margin-left: auto;
    margin-right: auto;
  }

  .cqAbout__feature {
    text-align: left;
  }

  .cqAbout__actions {
    justify-content: center;
  }

  .cqAbout__media {
    width: min(720px, 100%);
    min-height: 560px;
    margin: 0 auto;
  }

  .cqAbout__image--main {
    width: 82%;
    height: 450px;
  }

  .cqAbout__image--small {
    width: 46%;
    height: 270px;
  }
}

/* Móvil */
@media (max-width: 575.98px) {
  .cqAbout {
    padding: 58px 0 70px;
  }

  .cqAbout__container {
    width: min(100% - 28px, 1180px);
  }

  .cqAbout__title {
    font-size: 38px;
  }

  .cqAbout__lead {
    font-size: 17px;
  }

  .cqAbout__text p {
    font-size: 15.5px;
    line-height: 1.65;
  }

  .cqAbout__features {
    margin-top: 24px;
  }

  .cqAbout__feature {
    padding: 14px;
    border-radius: 16px;
  }

  .cqAbout__featureIcon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .cqAbout__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cqAbout__btn {
    width: 100%;
  }

  .cqAbout__media {
    min-height: auto;
    display: grid;
    gap: 16px;
  }

  .cqAbout__image {
    position: relative;
    inset: auto;
  }

  .cqAbout__image--main,
  .cqAbout__image--small {
    width: 100%;
    height: auto;
    border-radius: 22px;
    border: none;
  }

  .cqAbout__image--main img,
  .cqAbout__image--small img {
    aspect-ratio: 4 / 3;
  }

  .cqAbout__badge {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    text-align: center;
    border-radius: 18px;
  }
}
	/* =========================================================
   HABITACIONES NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqRooms
========================================================= */

.cqRooms,
.cqRooms * {
  box-sizing: border-box;
}

.cqRooms {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(202, 162, 74, 0.14), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(44, 62, 80, 0.10), transparent 30%),
    linear-gradient(180deg, #f8f6f1 0%, #ffffff 100%);
}

.cqRooms__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Header */
.cqRooms__header {
  max-width: 880px;
  margin: 0 auto 42px;
  text-align: center;
}

.cqRooms__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRooms__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqRooms__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqRooms__subtitle {
  margin: 0 auto;
  max-width: 760px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Swiper */
.cqRooms__swiper {
  position: relative;
  width: 100%;
  height: auto !important;
  padding: 8px 4px 64px;
  overflow: hidden !important;
}

.cqRooms__swiper .swiper-wrapper {
  height: auto !important;
  align-items: stretch;
}

.cqRooms__swiper .swiper-slide {
  height: auto !important;
  display: flex;
}

/* Card */
.cqRooms__card {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 22px 58px rgba(23, 38, 56, 0.10);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.cqRooms__card:hover {
  transform: translateY(-7px);
  box-shadow: 0 28px 72px rgba(23, 38, 56, 0.16);
  border-color: rgba(202, 162, 74, 0.26);
}

/* Imagen */
.cqRooms__imageWrap {
  position: relative;
  width: 100%;
  height: 255px;
  overflow: hidden;
  background: #e7dfd2;
}

.cqRooms__imageWrap picture,
.cqRooms__imageWrap img {
  display: block;
  width: 100%;
  height: 100%;
}

.cqRooms__imageWrap img {
  object-fit: cover;
  transition: transform 0.55s ease, filter 0.55s ease;
}

.cqRooms__card:hover .cqRooms__imageWrap img {
  transform: scale(1.06);
  filter: brightness(1.04) saturate(1.05);
}

/* Precio */
.cqRooms__price {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  min-width: 104px;
  padding: 12px 13px;
  border-radius: 20px;
  text-align: center;
  color: #172638;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 14px 34px rgba(23, 38, 56, 0.18);
  backdrop-filter: blur(8px);
}

.cqRooms__price span,
.cqRooms__price small {
  display: block;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  color: rgba(23, 38, 56, 0.62);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cqRooms__price strong {
  display: block;
  margin: 4px 0 2px;
  color: #caa24a;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
}

/* Body */
.cqRooms__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 25px 24px 26px;
}

.cqRooms__tag {
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.13);
  border: 1px solid rgba(202, 162, 74, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cqRooms__cardTitle {
  margin: 0 0 12px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 31px;
  font-weight: 700;
  line-height: 1.05;
}

.cqRooms__text {
  margin: 0 0 18px;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  line-height: 1.65;
}

/* Features */
.cqRooms__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 0;
  margin: 0 0 22px;
  list-style: none;
}

.cqRooms__features li {
  position: relative;
  margin: 0;
  padding: 9px 10px 9px 25px;
  border-radius: 13px;
  color: rgba(23, 38, 56, 0.75);
  background: #f8f6f1;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.cqRooms__features li::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1AB394;
  transform: translateY(-50%);
}

/* Footer */
.cqRooms__footer {
  margin-top: auto;
}

.cqRooms__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  padding: 12px 20px;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 13px 28px rgba(23, 38, 56, 0.18);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.cqRooms__btn:hover {
  transform: translateY(-2px);
  color: #ffffff !important;
  box-shadow: 0 17px 34px rgba(23, 38, 56, 0.24);
}

/* Flechas */
.cqRooms__prev,
.cqRooms__next {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  color: #ffffff !important;
  background: rgba(23, 38, 56, 0.88);
  box-shadow: 0 12px 28px rgba(23, 38, 56, 0.18);
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.cqRooms__prev:hover,
.cqRooms__next:hover {
  background: #172638;
  transform: scale(1.04);
}

.cqRooms__prev::after,
.cqRooms__next::after {
  font-size: 17px;
  font-weight: 900;
}

.cqRooms__prev {
  left: 4px;
}

.cqRooms__next {
  right: 4px;
}

/* Paginación */
.cqRooms__pagination {
  bottom: 12px !important;
}

.cqRooms__pagination .swiper-pagination-bullet {
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: rgba(23, 38, 56, 0.25);
  opacity: 1;
}

.cqRooms__pagination .swiper-pagination-bullet-active {
  background: #caa24a;
}

/* CTA inferior */
.cqRooms__bottomCta {
  margin: 12px auto 0;
  padding: 22px 24px;
  max-width: 820px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.08);
}

.cqRooms__bottomCta p {
  margin: 0;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 20px;
  font-weight: 700;
}

.cqRooms__secondaryBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  color: #172638 !important;
  background: rgba(202, 162, 74, 0.16);
  border: 1px solid rgba(202, 162, 74, 0.30);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqRooms {
    padding: 76px 0;
  }

  .cqRooms__header {
    margin-bottom: 34px;
  }

  .cqRooms__imageWrap {
    height: 235px;
  }

  .cqRooms__cardTitle {
    font-size: 29px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqRooms {
    padding: 62px 0 70px;
  }

  .cqRooms__container {
    width: min(100% - 28px, 1180px);
  }

  .cqRooms__swiper {
    padding-bottom: 54px;
    overflow: hidden !important;
  }

  .cqRooms__prev,
  .cqRooms__next {
    display: none;
  }

  .cqRooms__bottomCta {
    display: grid;
    text-align: center;
    padding: 20px 18px;
  }

  .cqRooms__secondaryBtn {
    width: 100%;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqRooms__title {
    font-size: 37px;
  }

  .cqRooms__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqRooms__imageWrap {
    height: 215px;
  }

  .cqRooms__body {
    padding: 22px 20px 24px;
  }

  .cqRooms__cardTitle {
    font-size: 27px;
  }

  .cqRooms__features {
    grid-template-columns: 1fr;
  }

  .cqRooms__price {
    right: 14px;
    bottom: 14px;
  }
}
	/* =========================================================
   CTA NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqCta
========================================================= */

.cqCta,
.cqCta * {
  box-sizing: border-box;
}

.cqCta {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
  overflow-y: visible;
  isolation: isolate;
  background: #172638;
  color: #ffffff;
}

/* Fondo */
.cqCta__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cqCta__bg img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  filter: brightness(1.05) contrast(1.04) saturate(1.08);
  transform: scale(1.02);
}

/* Overlay */
.cqCta__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(8, 18, 31, 0.30) 0%, rgba(8, 18, 31, 0.48) 55%, rgba(8, 18, 31, 0.68) 100%),
    linear-gradient(90deg, rgba(8, 18, 31, 0.42) 0%, rgba(8, 18, 31, 0.14) 55%, rgba(8, 18, 31, 0.42) 100%);
}

/* Contenido */
.cqCta__content {
  position: relative;
  z-index: 5;
  width: 100%;
  padding: clamp(82px, 8vw, 130px) 16px;
  pointer-events: none;
}

.cqCta__inner {
  width: min(1080px, 100%);
  margin: 0 auto;
  text-align: center;
  pointer-events: auto;
}

.cqCta__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 9px 15px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.16);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqCta__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1AB394;
  box-shadow: 0 0 0 5px rgba(26, 179, 148, 0.18);
}

.cqCta__title {
  width: min(900px, 100%);
  margin: 0 auto 18px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(44px, 5.5vw, 78px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
  text-wrap: balance;
  text-shadow:
    0 12px 35px rgba(0, 0, 0, 0.50),
    0 3px 10px rgba(0, 0, 0, 0.34);
}

.cqCta__text {
  width: min(760px, 100%);
  margin: 0 auto 24px;
  color: rgba(255, 255, 255, 0.94) !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 500;
  line-height: 1.6;
  text-shadow: 0 6px 20px rgba(0, 0, 0, 0.36);
}

/* Highlights */
.cqCta__highlights {
  width: min(850px, 100%);
  margin: 0 auto 28px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cqCta__highlights span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.95);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
}

.cqCta__highlights span::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

/* Widget Avaibook */
.cqCta__bookingWrap {
  position: relative;
  z-index: 50;
  width: min(1080px, 100%);
  min-height: 122px;
  margin: 0 auto;
  padding: 0 10px;
  overflow: visible;
  pointer-events: auto;
}

.cqCta__booking,
.cqCta__bookingWrap .avaibook-search-widget {
  position: relative;
  z-index: 55;
  width: 100% !important;
  max-width: 1060px !important;
  min-height: 96px;
  margin: 0 auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.cqCta__bookingWrap .avaibook-search-widget *,
.cqCta__bookingWrap iframe,
.cqCta__bookingWrap form,
.cqCta__bookingWrap button,
.cqCta__bookingWrap input,
.cqCta__bookingWrap select,
.cqCta__bookingWrap a,
.cqCta__bookingWrap [role="button"] {
  pointer-events: auto !important;
}

/* Botones */
.cqCta__actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.cqCta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 21px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.cqCta__btn--light {
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.20);
}

.cqCta__btn--whatsapp {
  color: #ffffff !important;
  background: #25D366;
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.26);
}

.cqCta__btn:hover {
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqCta {
    min-height: 760px;
  }

  .cqCta__content {
    padding: 86px 16px 90px;
  }

  .cqCta__title {
    font-size: clamp(42px, 7vw, 66px);
  }

  .cqCta__text {
    font-size: 18px;
  }

  .cqCta__bookingWrap {
    width: 100%;
    max-width: 100%;
    min-height: 138px;
  }
}

/* Móvil */
@media (max-width: 575.98px) {
  .cqCta {
    min-height: auto;
    display: block;
    overflow-x: hidden;
    overflow-y: visible;
    background: #26384c;
  }

  .cqCta__bg {
    position: relative;
    height: 270px;
    min-height: 270px;
  }

  .cqCta__bg img {
    height: 270px;
    object-position: center center;
  }

  .cqCta__overlay {
    height: 270px;
    bottom: auto;
    background:
      linear-gradient(180deg, rgba(8, 18, 31, 0.16) 0%, rgba(8, 18, 31, 0.42) 100%);
  }

  .cqCta__content {
    position: relative;
    padding: 28px 12px 38px;
    background: #26384c;
  }

  .cqCta__kicker {
    margin-bottom: 12px;
    padding: 7px 11px;
    font-size: 11px;
  }

  .cqCta__title {
    font-size: 34px;
    line-height: 1.06;
    margin-bottom: 12px;
  }

  .cqCta__text {
    font-size: 16px;
    line-height: 1.48;
    margin-bottom: 16px;
  }

  .cqCta__highlights {
    display: none;
  }

  .cqCta__bookingWrap {
    min-height: 245px;
    padding: 0;
    overflow: visible;
  }

  .cqCta__booking,
  .cqCta__bookingWrap .avaibook-search-widget {
    min-height: 230px;
    overflow: visible !important;
  }

  .cqCta__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 14px;
  }

  .cqCta__btn {
    width: 100%;
    min-height: 60px;
    font-size: 18px;
  }
}

/* Móvil pequeño */
@media (max-width: 390px) {
  .cqCta__bg,
  .cqCta__bg img,
  .cqCta__overlay {
    height: 245px;
  }

  .cqCta__title {
    font-size: 31px;
  }

  .cqCta__text {
    font-size: 15px;
  }

  .cqCta__bookingWrap {
    min-height: 250px;
  }
}
	/* =========================================================
   VIDEO NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqVideo
========================================================= */

.cqVideo,
.cqVideo * {
  box-sizing: border-box;
}

.cqVideo {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 8%, rgba(202, 162, 74, 0.12), transparent 30%),
    radial-gradient(circle at 85% 18%, rgba(44, 62, 80, 0.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqVideo__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Cabecera */
.cqVideo__header {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.cqVideo__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqVideo__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqVideo__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqVideo__subtitle {
  margin: 0 auto;
  max-width: 780px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Card vídeo */
.cqVideo__card {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 34px;
  background: #172638;
  box-shadow:
    0 28px 80px rgba(23, 38, 56, 0.20),
    0 8px 24px rgba(23, 38, 56, 0.10);
  isolation: isolate;
}

.cqVideo__card::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 4;
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 26px;
  pointer-events: none;
}

/* Vídeo */
.cqVideo__media {
  display: block;
  width: 100%;
  height: clamp(430px, 68vh, 760px);
  object-fit: cover;
  background: #172638;
  cursor: pointer;
}

/* Capa suave, no bloquea controles */
.cqVideo__shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 18, 31, 0.04) 0%, rgba(8, 18, 31, 0.24) 100%),
    radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.10), transparent 38%);
}

/* Texto flotante */
.cqVideo__floating {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 3;
  max-width: 320px;
  padding: 16px 18px;
  border-radius: 22px;
  color: #ffffff;
  background: rgba(23, 38, 56, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(10px);
  pointer-events: none;
}

.cqVideo__floating span {
  display: block;
  margin-bottom: 4px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.cqVideo__floating strong {
  display: block;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}

/* Bloque inferior */
.cqVideo__bottom {
  position: relative;
  z-index: 5;
  width: min(980px, calc(100% - 40px));
  margin: -42px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.cqVideo__item {
  padding: 20px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.10);
  backdrop-filter: blur(8px);
}

.cqVideo__item strong {
  display: block;
  margin-bottom: 5px;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 900;
}

.cqVideo__item span {
  display: block;
  color: rgba(23, 38, 56, 0.66);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  line-height: 1.45;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqVideo {
    padding: 76px 0 92px;
  }

  .cqVideo__header {
    margin-bottom: 34px;
  }

  .cqVideo__media {
    height: 520px;
  }

  .cqVideo__bottom {
    width: min(720px, calc(100% - 32px));
    grid-template-columns: 1fr;
    margin-top: -30px;
  }
}

/* Móvil */
@media (max-width: 575.98px) {
  .cqVideo {
    padding: 60px 0 72px;
  }

  .cqVideo__container {
    width: min(100% - 28px, 1180px);
  }

  .cqVideo__title {
    font-size: 38px;
  }

  .cqVideo__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqVideo__card {
    border-radius: 22px;
  }

  .cqVideo__card::before {
    inset: 9px;
    border-radius: 17px;
  }

  .cqVideo__media {
    height: 390px;
  }

  .cqVideo__floating {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: none;
    padding: 14px 15px;
    border-radius: 18px;
  }

  .cqVideo__floating strong {
    font-size: 26px;
  }

  .cqVideo__bottom {
    width: 100%;
    margin-top: 16px;
    gap: 12px;
  }

  .cqVideo__item {
    padding: 17px 18px;
    border-radius: 18px;
  }
}

/* Móvil pequeño */
@media (max-width: 390px) {
  .cqVideo__media {
    height: 340px;
  }

  .cqVideo__title {
    font-size: 34px;
  }
}
	/* =========================================================
   GALERÍA NUEVA CASA DO QUEIXEIRO
   Prefijo aislado: cqGallery
========================================================= */

.cqGallery,
.cqGallery * {
  box-sizing: border-box;
}

.cqGallery {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow-x: hidden;
  overflow-y: visible;
  background:
    radial-gradient(circle at 10% 10%, rgba(202, 162, 74, 0.14), transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(44, 62, 80, 0.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

/* Header */
.cqGallery__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.cqGallery__header {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.cqGallery__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqGallery__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqGallery__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqGallery__subtitle {
  margin: 0 auto;
  max-width: 720px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Slider */
.cqGallery__sliderWrap {
  width: 100%;
  overflow: hidden;
}

.cqGallery__swiper {
  position: relative;
  width: min(1360px, calc(100% - 32px));
  height: auto !important;
  margin: 0 auto;
  padding: 8px 4px 66px;
  overflow: visible !important;
}

.cqGallery__swiper .swiper-wrapper {
  height: auto !important;
  align-items: stretch;
}

.cqGallery__swiper .swiper-slide {
  height: auto !important;
  display: flex;
}

/* Card */
.cqGallery__card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 28px;
  background: #e7dfd2;
  box-shadow:
    0 22px 58px rgba(23, 38, 56, 0.13),
    0 8px 20px rgba(23, 38, 56, 0.08);
  text-decoration: none;
  isolation: isolate;
}

.cqGallery__card picture,
.cqGallery__card img {
  display: block;
  width: 100%;
  height: 100%;
}

.cqGallery__card img {
  object-fit: cover;
  transition:
    transform 0.6s ease,
    filter 0.6s ease;
}

.cqGallery__card:hover img {
  transform: scale(1.07);
  filter: brightness(1.04) saturate(1.06);
}

/* Overlay */
.cqGallery__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  background:
    linear-gradient(180deg, rgba(23, 38, 56, 0.00) 0%, rgba(23, 38, 56, 0.72) 100%);
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.cqGallery__card:hover .cqGallery__overlay {
  opacity: 1;
}

.cqGallery__overlay span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border-radius: 999px;
  color: #172638;
  background: rgba(255, 255, 255, 0.94);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}

/* Flechas */
.cqGallery__prev,
.cqGallery__next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #ffffff !important;
  background: rgba(23, 38, 56, 0.88);
  box-shadow: 0 12px 28px rgba(23, 38, 56, 0.20);
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.cqGallery__prev:hover,
.cqGallery__next:hover {
  background: #172638;
  transform: scale(1.04);
}

.cqGallery__prev::after,
.cqGallery__next::after {
  font-size: 17px;
  font-weight: 900;
}

.cqGallery__prev {
  left: 8px;
}

.cqGallery__next {
  right: 8px;
}

/* Paginación */
.cqGallery__pagination {
  bottom: 14px !important;
}

.cqGallery__pagination .swiper-pagination-bullet {
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: rgba(23, 38, 56, 0.25);
  opacity: 1;
}

.cqGallery__pagination .swiper-pagination-bullet-active {
  background: #caa24a;
}

/* GLightbox por encima de todo */
.glightbox-container,
.gslide,
.goverlay {
  z-index: 999999 !important;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqGallery {
    padding: 76px 0;
  }

  .cqGallery__header {
    margin-bottom: 34px;
  }

  .cqGallery__swiper {
    width: min(100% - 28px, 1180px);
  }

  .cqGallery__prev,
  .cqGallery__next {
    width: 44px;
    height: 44px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqGallery {
    padding: 62px 0 70px;
  }

  .cqGallery__container {
    width: min(100% - 28px, 1180px);
  }

  .cqGallery__swiper {
    width: min(100% - 28px, 1180px);
    padding-bottom: 54px;
    overflow: hidden !important;
  }

  .cqGallery__prev,
  .cqGallery__next {
    display: none;
  }

  .cqGallery__overlay {
    opacity: 1;
    padding: 18px;
  }

  .cqGallery__overlay span {
    min-height: 36px;
    padding: 8px 13px;
    font-size: 12px;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqGallery__title {
    font-size: 37px;
  }

  .cqGallery__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqGallery__card {
    border-radius: 22px;
  }
}
	/* =========================================================
   QUÉ HACER EN CASTROVERDE NUEVO
   Prefijo aislado: cqPlans
========================================================= */

.cqPlans,
.cqPlans * {
  box-sizing: border-box;
}

.cqPlans {
  position: relative;
  padding: clamp(72px, 8vw, 125px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 8%, rgba(202, 162, 74, 0.14), transparent 30%),
    radial-gradient(circle at 92% 18%, rgba(26, 179, 148, 0.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqPlans__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Header */
.cqPlans__header {
  max-width: 860px;
  margin: 0 auto 44px;
  text-align: center;
}

.cqPlans__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPlans__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqPlans__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqPlans__subtitle {
  margin: 0 auto;
  max-width: 760px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Layout */
.cqPlans__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: start;
}

/* Grid */
.cqPlans__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

/* Card */
.cqPlans__card {
  display: flex;
  gap: 16px;
  min-height: 210px;
  padding: 22px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 20px 48px rgba(23, 38, 56, 0.08);
  backdrop-filter: blur(8px);
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease;
}

.cqPlans__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 64px rgba(23, 38, 56, 0.13);
  border-color: rgba(202, 162, 74, 0.28);
}

.cqPlans__icon {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(202, 162, 74, 0.22), rgba(26, 179, 148, 0.13));
  border: 1px solid rgba(23, 38, 56, 0.08);
}

.cqPlans__icon span {
  font-size: 27px;
  line-height: 1;
}

.cqPlans__body h3 {
  margin: 0 0 8px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.05;
}

.cqPlans__body p {
  margin: 0 0 14px;
  color: rgba(23, 38, 56, 0.70);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.58;
}

/* Tags */
.cqPlans__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.cqPlans__tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  color: rgba(23, 38, 56, 0.72);
  background: #f8f6f1;
  border: 1px solid rgba(23, 38, 56, 0.07);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 800;
}

/* Aside */
.cqPlans__aside {
  position: sticky;
  top: 94px;
}

.cqPlans__asideCard {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border-radius: 30px;
  color: #ffffff;
  background:
    radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.16), transparent 32%),
    linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 26px 70px rgba(23, 38, 56, 0.24);
}

.cqPlans__asideCard::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -55px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.22);
  pointer-events: none;
}

.cqPlans__asideLabel {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPlans__asideCard h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 39px;
  font-weight: 700;
  line-height: 1.04;
}

.cqPlans__asideCard > p {
  position: relative;
  z-index: 2;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.65;
}

/* Steps */
.cqPlans__steps {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 13px;
  margin-bottom: 22px;
}

.cqPlans__step {
  display: flex;
  gap: 13px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.13);
}

.cqPlans__step > span {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #172638;
  background: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
}

.cqPlans__step strong {
  display: block;
  margin-bottom: 3px;
  color: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
}

.cqPlans__step p {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  line-height: 1.45;
}

/* Tip */
.cqPlans__tip {
  position: relative;
  z-index: 2;
  padding: 16px;
  margin-bottom: 22px;
  border-radius: 18px;
  background: rgba(202, 162, 74, 0.17);
  border: 1px solid rgba(202, 162, 74, 0.24);
}

.cqPlans__tip strong {
  display: block;
  margin-bottom: 5px;
  color: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
}

.cqPlans__tip p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  line-height: 1.55;
}

/* Botón */
.cqPlans__btn {
  position: relative;
  z-index: 2;
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cqPlans__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.24);
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqPlans {
    padding: 76px 0;
  }

  .cqPlans__layout {
    grid-template-columns: 1fr;
  }

  .cqPlans__aside {
    position: relative;
    top: auto;
  }

  .cqPlans__asideCard {
    max-width: 720px;
    margin: 0 auto;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqPlans {
    padding: 62px 0 70px;
  }

  .cqPlans__container {
    width: min(100% - 28px, 1180px);
  }

  .cqPlans__header {
    margin-bottom: 34px;
  }

  .cqPlans__grid {
    grid-template-columns: 1fr;
  }

  .cqPlans__card {
    min-height: auto;
    padding: 18px;
    border-radius: 22px;
  }

  .cqPlans__icon {
    width: 52px;
    height: 52px;
    border-radius: 17px;
  }

  .cqPlans__body h3 {
    font-size: 28px;
  }

  .cqPlans__asideCard {
    padding: 22px;
    border-radius: 24px;
  }

  .cqPlans__asideCard h3 {
    font-size: 34px;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqPlans__title {
    font-size: 37px;
  }

  .cqPlans__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqPlans__card {
    display: block;
  }

  .cqPlans__icon {
    margin-bottom: 14px;
  }

  .cqPlans__tags span {
    font-size: 11.5px;
  }
}
 	/* =========================================================
   FAQ NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqFaq
========================================================= */

.cqFaq,
.cqFaq * {
  box-sizing: border-box;
}

.cqFaq {
  position: relative;
  padding: clamp(72px, 8vw, 70px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(202, 162, 74, 0.14), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(44, 62, 80, 0.10), transparent 32%),
    linear-gradient(180deg, #f8f6f1 0%, #ffffff 100%);
}

.cqFaq__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Header */
.cqFaq__header {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}

.cqFaq__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqFaq__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqFaq__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqFaq__subtitle {
  margin: 0 auto;
  max-width: 720px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Layout */
.cqFaq__layout {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

/* Intro lateral */
.cqFaq__intro {
  position: sticky;
  top: 94px;
}

.cqFaq__introCard {
  position: relative;
  overflow: hidden;
  padding: 28px;
  border-radius: 30px;
  color: #ffffff;
  background:
    radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.16), transparent 32%),
    linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 26px 70px rgba(23, 38, 56, 0.24);
}

.cqFaq__introCard::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -55px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.22);
  pointer-events: none;
}

.cqFaq__introLabel {
  position: relative;
  z-index: 2;
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqFaq__introCard h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 13px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 39px;
  font-weight: 700;
  line-height: 1.04;
}

.cqFaq__introCard p {
  position: relative;
  z-index: 2;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.65;
}

.cqFaq__contactBox {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 10px;
}

.cqFaq__contactBox a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 12px 18px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cqFaq__contactBox a:first-child {
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.cqFaq__contactBox a:last-child {
  color: #ffffff !important;
  background: #25d366;
  box-shadow: 0 16px 34px rgba(37, 211, 102, 0.22);
}

.cqFaq__contactBox a:hover {
  transform: translateY(-2px);
}

/* Accordion */
.cqFaq__accordion {
  display: grid;
  gap: 14px;
}

.cqFaq__item {
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.08);
}

.cqFaq__question {
  margin: 0;
}

.cqFaq__button {
  width: 100%;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border: 0;
  outline: 0;
  color: #172638;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.35;
}

.cqFaq__button span {
  display: block;
}

.cqFaq__button i {
  flex: 0 0 auto;
  position: relative;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.15);
  border: 1px solid rgba(202, 162, 74, 0.26);
}

.cqFaq__button i::before,
.cqFaq__button i::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: #8a6425;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.cqFaq__button i::after {
  transform: rotate(90deg);
}

.cqFaq__button:not(.collapsed) {
  color: #172638;
  background: linear-gradient(135deg, rgba(202, 162, 74, 0.12), rgba(255, 255, 255, 0.00));
}

.cqFaq__button:not(.collapsed) i::after {
  transform: rotate(90deg) scaleX(0);
  opacity: 0;
}

.cqFaq__button:focus {
  box-shadow: inset 0 0 0 3px rgba(202, 162, 74, 0.18);
}

.cqFaq__answer {
  padding: 0 22px 22px;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  line-height: 1.75;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqFaq {
    padding: 76px 0;
  }

  .cqFaq__layout {
    grid-template-columns: 1fr;
  }

  .cqFaq__intro {
    position: relative;
    top: auto;
  }

  .cqFaq__introCard {
    max-width: 720px;
    margin: 0 auto;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqFaq {
    padding: 62px 0 70px;
  }

  .cqFaq__container {
    width: min(100% - 28px, 1180px);
  }

  .cqFaq__header {
    margin-bottom: 34px;
  }

  .cqFaq__introCard {
    padding: 22px;
    border-radius: 24px;
  }

  .cqFaq__introCard h3 {
    font-size: 34px;
  }

  .cqFaq__button {
    min-height: 66px;
    padding: 18px 18px;
    font-size: 15.5px;
  }

  .cqFaq__button i {
    width: 31px;
    height: 31px;
  }

  .cqFaq__answer {
    padding: 0 18px 20px;
    font-size: 15px;
    line-height: 1.65;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqFaq__title {
    font-size: 37px;
  }

  .cqFaq__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqFaq__button {
    align-items: flex-start;
  }

  .cqFaq__button i {
    margin-top: 2px;
  }
}

































/* =========================================================
   FOOTER NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqFooter
========================================================= */

.cqFooter,
.cqFooter * {
  box-sizing: border-box;
}

.cqFooter {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 7vw, 96px) 0 24px;
  color: #ffffff;
  background:
    radial-gradient(circle at 10% 0%, rgba(202, 162, 74, 0.18), transparent 28%),
    radial-gradient(circle at 90% 20%, rgba(26, 179, 148, 0.12), transparent 30%),
    linear-gradient(135deg, #172638 0%, #26384c 100%);
}

.cqFooter__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Top */
.cqFooter__top {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr) minmax(260px, 1fr);
  gap: clamp(34px, 5vw, 70px);
  align-items: start;
}

.cqFooter__brand {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
}

.cqFooter__brand img {
  display: block;
  width: auto;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
}

.cqFooter__brandBlock p {
  max-width: 390px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  line-height: 1.75;
}

/* Social */
.cqFooter__social {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}

.cqFooter__social a {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #172638 !important;
  background: #ffffff;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

.cqFooter__social a:hover {
  transform: translateY(-3px);
  color: #ffffff !important;
  background: #caa24a;
}

.cqFooter__social i {
  font-size: 21px;
}

/* Títulos */
.cqFooter h3 {
  margin: 0 0 20px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
}

/* Enlaces */
.cqFooter__linksBlock ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.cqFooter__linksBlock li {
  margin: 0;
}

.cqFooter__linksBlock a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

.cqFooter__linksBlock a::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 10px;
  border-radius: 50%;
  background: #caa24a;
  opacity: 0.75;
}

.cqFooter__linksBlock a:hover {
  color: #ffffff;
  transform: translateX(4px);
}

/* Contacto */
.cqFooter__contactBlock {
  display: grid;
  gap: 15px;
}

.cqFooter__contactItem {
  padding: 14px 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.11);
}

.cqFooter__contactItem span {
  display: block;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.56);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cqFooter__contactItem p {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14.5px;
  line-height: 1.55;
}

.cqFooter__contactItem a {
  color: #ffffff !important;
  text-decoration: none;
  word-break: break-word;
}

.cqFooter__contactItem a:hover {
  color: #caa24a !important;
}

/* CTA */
.cqFooter__cta {
  margin: clamp(42px, 5vw, 64px) 0 28px;
  padding: 24px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.13);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.12);
}

.cqFooter__cta strong {
  display: block;
  margin-bottom: 4px;
  color: #ffffff;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 31px;
  font-weight: 700;
  line-height: 1.05;
}

.cqFooter__cta span {
  display: block;
  color: rgba(255, 255, 255, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
}

.cqFooter__cta a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.cqFooter__cta a:hover {
  transform: translateY(-2px);
  background: #caa24a;
  color: #ffffff !important;
}

/* Bottom */
.cqFooter__bottom {
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.cqFooter__legal {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cqFooter__legal a,
.cqFooter__legal span,
.cqFooter__bottom p {
  margin: 0;
  color: rgba(255, 255, 255, 0.66);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  text-decoration: none;
}

.cqFooter__legal a:hover {
  color: #ffffff;
}

/* WhatsApp flotante nuevo */
.cqWhatsappFloat {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9000;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff !important;
  background: #25d366;
  box-shadow: 0 16px 38px rgba(37, 211, 102, 0.34);
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cqWhatsappFloat i {
  font-size: 29px;
}

.cqWhatsappFloat:hover {
  transform: translateY(-3px);
  color: #ffffff !important;
  box-shadow: 0 20px 46px rgba(37, 211, 102, 0.42);
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqFooter {
    padding-top: 70px;
  }

  .cqFooter__top {
    grid-template-columns: 1fr 1fr;
  }

  .cqFooter__brandBlock {
    grid-column: 1 / -1;
  }

  .cqFooter__brandBlock p {
    max-width: 620px;
  }

  .cqFooter__cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqFooter {
    padding: 58px 0 22px;
  }

  .cqFooter__container {
    width: min(100% - 28px, 1180px);
  }

  .cqFooter__top {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .cqFooter__brandBlock,
  .cqFooter__linksBlock,
  .cqFooter__contactBlock {
    text-align: left;
  }

  .cqFooter__brand img {
    height: 62px;
  }

  .cqFooter h3 {
    font-size: 29px;
  }

  .cqFooter__cta {
    padding: 22px;
    border-radius: 22px;
  }

  .cqFooter__cta strong {
    font-size: 28px;
  }

  .cqFooter__cta a {
    width: 100%;
  }

  .cqFooter__bottom {
    display: grid;
    justify-content: stretch;
    text-align: center;
  }

  .cqFooter__legal {
    justify-content: center;
  }

  .cqWhatsappFloat {
    width: 54px;
    height: 54px;
    right: 14px;
    bottom: 14px;
  }

  .cqWhatsappFloat i {
    font-size: 27px;
  }
}

 	/* =========================================================
   FIX FINAL: EVITAR MOVIMIENTO LATERAL EN MÓVIL
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  position: relative;
}

/* Evita que Bootstrap row, sliders o secciones creen ancho extra */
@media (max-width: 767.98px) {
  body,
  main,
  header,
  footer,
  section {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .container,
  .container-fluid {
    max-width: 100% !important;
  }

  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  [class*="col-"] {
    min-width: 0 !important;
  }

  img,
  picture,
  video,
  iframe {
    max-width: 100% !important;
  }
}
/* =========================================================
   FIX BANNER NUEVO EN MÓVIL
========================================================= */

@media (max-width: 767.98px) {
  #cqHero,
  .cqHero,
  .cqHero__carousel,
  .cqHero__carouselInner,
  .cqHero__slide,
  .cqHero__content,
  .cqHero__inner {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .cqHero__bookingWrap,
  .cqHero__booking,
  .cqHero .avaibook-search-widget {
    max-width: 100% !important;
    overflow-y: visible !important;
  }
}
/* =========================================================
   BLOG - CASA DO QUEIXEIRO
   Estilos para listado, filtros y tarjetas de artículos
========================================================= */

/* Página blog */
body {
  overflow-x: hidden;
}

.section {
  position: relative;
}

/* Cabecera blog */
.blog-hero  {
  padding: clamp(72px, 8vw, 120px) 0 58px;
  margin-top: 78px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(202, 162, 74, 0.16), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(44, 62, 80, 0.10), transparent 34%),
    linear-gradient(180deg, #f8f6f1 0%, #ffffff 100%);
}

section.section:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.55), rgba(255,255,255,0));
}

.section-title {
  position: relative;
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(46px, 6vw, 82px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.section-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #caa24a, #a87f34);
}

.section-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.7;
}

/* Buscador */
.blog-search {
  width: min(760px, 100%);
  margin: 38px auto 0;
  position: relative;
}

.blog-search::before {
  content: "\f002";
  position: absolute;
  left: 22px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: rgba(23, 38, 56, 0.42);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 17px;
  pointer-events: none;
}

.blog-search .form-control {
  min-height: 62px;
  padding: 16px 22px 16px 54px;
  border: 1px solid rgba(23, 38, 56, 0.10);
  border-radius: 999px;
  color: #172638;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.10);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  font-weight: 600;
  outline: none;
}

.blog-search .form-control::placeholder {
  color: rgba(23, 38, 56, 0.42);
}

.blog-search .form-control:focus {
  border-color: rgba(202, 162, 74, 0.48);
  box-shadow:
    0 18px 46px rgba(23, 38, 56, 0.10),
    0 0 0 4px rgba(202, 162, 74, 0.16);
}
.btn-blog {
	padding: 0.5rem .8rem;
    font-size: 1rem;
    border-radius: .2rem;
    background: #ba953b;
    color: #fff !important;
    text-decoration: none;
}
/* Filtros */
.blog-filters {
  width: min(980px, 100%);
  margin: 24px auto 0;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 17px;
  border: 1px solid rgba(23, 38, 56, 0.10);
  border-radius: 999px;
  color: #172638;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(23, 38, 56, 0.06);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    color 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.filter-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(202, 162, 74, 0.34);
  box-shadow: 0 15px 34px rgba(23, 38, 56, 0.10);
}

.filter-btn.active {
  color: #ffffff;
  background: linear-gradient(135deg, #172638, #2c3e50);
  border-color: rgba(23, 38, 56, 0.12);
  box-shadow: 0 15px 34px rgba(23, 38, 56, 0.18);
}

/* Sección del grid */
section.bg-light {
  padding: clamp(60px, 7vw, 100px) 0;
  background:
    radial-gradient(circle at 10% 10%, rgba(202, 162, 74, 0.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%) !important;
}

/* Grid blog */
#blogGrid,
#latestArticles {
  align-items: stretch;
}

/* Tarjetas generadas por blog.js */
.blog-card,
.article-card,
.post-card,
#blogGrid .card,
#latestArticles .card {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(23, 38, 56, 0.08) !important;
  border-radius: 28px !important;
  background: #ffffff;
  box-shadow: 0 20px 54px rgba(23, 38, 56, 0.09);
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease;
}

.blog-card:hover,
.article-card:hover,
.post-card:hover,
#blogGrid .card:hover,
#latestArticles .card:hover {
  transform: translateY(-7px);
  border-color: rgba(202, 162, 74, 0.28) !important;
  box-shadow: 0 30px 74px rgba(23, 38, 56, 0.14);
}

/* Imagen de tarjeta */
.blog-card img,
.article-card img,
.post-card img,
#blogGrid .card img,
#latestArticles .card img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  transition:
    transform 0.55s ease,
    filter 0.55s ease;
}

.blog-card:hover img,
.article-card:hover img,
.post-card:hover img,
#blogGrid .card:hover img,
#latestArticles .card:hover img {
  transform: scale(1.06);
  filter: brightness(1.04) saturate(1.06);
}

#blogGrid .card-body,
#latestArticles .card-body {
  padding: 24px;
}

/* Categoría / badge */
.blog-category,
.article-category,
.post-category,
#blogGrid .badge,
#latestArticles .badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #8a6425 !important;
  background: rgba(202, 162, 74, 0.14) !important;
  border: 1px solid rgba(202, 162, 74, 0.24);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Títulos de tarjetas */
.blog-card h3,
.article-card h3,
.post-card h3,
.blog-card .card-title,
.article-card .card-title,
.post-card .card-title,
#blogGrid .card-title,
#latestArticles .card-title {
  margin: 0 0 12px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(28px, 2.4vw, 36px);
  font-weight: 700;
  line-height: 1.06;
}

.blog-card h3 a,
.article-card h3 a,
.post-card h3 a,
#blogGrid .card-title a,
#latestArticles .card-title a {
  color: inherit;
  text-decoration: none;
}

.blog-card h3 a:hover,
.article-card h3 a:hover,
.post-card h3 a:hover,
#blogGrid .card-title a:hover,
#latestArticles .card-title a:hover {
  color: #8a6425;
}

/* Texto tarjeta */
.blog-card p,
.article-card p,
.post-card p,
#blogGrid .card-text,
#latestArticles .card-text {
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.65;
}

/* Meta: fecha, autor, lectura */
.blog-meta,
.article-meta,
.post-meta,
#blogGrid .text-muted,
#latestArticles .text-muted {
  color: rgba(23, 38, 56, 0.52) !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 650;
}

/* Botones tarjeta */
.blog-card .btn,
.article-card .btn,
.post-card .btn,
#blogGrid .btn,
#latestArticles .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 10px 18px;
  border: 0;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 13px 28px rgba(23, 38, 56, 0.18);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.blog-card .btn:hover,
.article-card .btn:hover,
.post-card .btn:hover,
#blogGrid .btn:hover,
#latestArticles .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 17px 34px rgba(23, 38, 56, 0.24);
}

/* Sin resultados */
#noResults {
  width: min(720px, 100%);
  margin: 0 auto;
  padding: 54px 24px !important;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.08);
}

#noResults h3 {
  margin: 0 0 10px;
  color: #172638;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 38px;
  font-weight: 700;
}

#noResults p {
  margin: 0;
  color: rgba(23, 38, 56, 0.70);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
}

/* Últimos artículos */
section.section:not(:first-of-type):not(.bg-light) {
  padding: clamp(64px, 7vw, 105px) 0;
  background: #ffffff;
}

/* Animación suave */
.fade-in {
  opacity: 1;
  transform: none;
}

/* Tablet */
@media (max-width: 991.98px) {
  .blog-hero {
    margin-top: 72px !important;
    padding-top: 76px;
  }

  .blog-search {
    margin-top: 32px;
  }

  .blog-filters {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 4px 2px 10px;
    scrollbar-width: none;
  }

  .blog-filters::-webkit-scrollbar {
    display: none;
  }

  .filter-btn {
    flex: 0 0 auto;
  }

  .blog-card img,
  .article-card img,
  .post-card img,
  #blogGrid .card img,
  #latestArticles .card img {
    height: 230px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .blog-hero {
    margin-top: 68px !important;
    padding: 60px 0 42px;
  }

  .section-title {
    font-size: 42px;
  }

  .section-subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .blog-search {
    margin-top: 28px;
  }

  .blog-search .form-control {
    min-height: 56px;
    padding-left: 50px;
    font-size: 15px;
  }

  .blog-filters {
    width: calc(100% + 8px);
    margin-left: -4px;
    margin-right: -4px;
  }

  .filter-btn {
    min-height: 39px;
    padding: 9px 14px;
    font-size: 13px;
  }

  section.bg-light {
    padding: 54px 0;
  }

  #blogGrid .row,
  #latestArticles .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .blog-card,
  .article-card,
  .post-card,
  #blogGrid .card,
  #latestArticles .card {
    border-radius: 24px !important;
  }

  .blog-card img,
  .article-card img,
  .post-card img,
  #blogGrid .card img,
  #latestArticles .card img {
    height: 220px;
  }

  #blogGrid .card-body,
  #latestArticles .card-body {
    padding: 21px;
  }

  .blog-card h3,
  .article-card h3,
  .post-card h3,
  .blog-card .card-title,
  .article-card .card-title,
  .post-card .card-title,
  #blogGrid .card-title,
  #latestArticles .card-title {
    font-size: 30px;
  }

  #noResults {
    border-radius: 24px;
    padding: 40px 20px !important;
  }

  #noResults h3 {
    font-size: 32px;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .section-title {
    font-size: 38px;
  }

  .blog-card img,
  .article-card img,
  .post-card img,
  #blogGrid .card img,
  #latestArticles .card img {
    height: 205px;
  }
}
	/* =========================================================
   BANNER INTERIOR HABITACIONES - CASA DO QUEIXEIRO
   Prefijo aislado: cqRoomHero
========================================================= */

.cqRoomHero,
.cqRoomHero * {
  box-sizing: border-box;
}

.cqRoomHero {
  position: relative;
  min-height: clamp(520px, 66vh, 720px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  background: #172638;
  color: #ffffff;
  margin-top: 78px;
}

/* Imagen fondo */
.cqRoomHero__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cqRoomHero__bg img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  filter: brightness(1.08) contrast(1.04) saturate(1.07);
  transform: scale(1.03);
  animation: cqRoomHeroZoom 9s ease-out forwards;
}

@keyframes cqRoomHeroZoom {
  0% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1.02);
  }
}

/* Overlay */
.cqRoomHero__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(8, 18, 31, 0.22) 0%, rgba(8, 18, 31, 0.44) 58%, rgba(8, 18, 31, 0.68) 100%),
    linear-gradient(90deg, rgba(8, 18, 31, 0.44) 0%, rgba(8, 18, 31, 0.12) 55%, rgba(8, 18, 31, 0.44) 100%);
}

/* Contenido */
.cqRoomHero__content {
  position: relative;
  z-index: 5;
  width: 100%;
  padding: clamp(82px, 8vw, 130px) 16px clamp(96px, 8vw, 150px);
  text-align: center;
}

.cqRoomHero__inner {
  width: min(960px, 100%);
  margin: 0 auto;
}

.cqRoomHero__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.16);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRoomHero__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.18);
}

.cqRoomHero__title {
  margin: 0 auto 18px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(48px, 6.2vw, 88px);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-transform: none;
  text-wrap: balance;
  text-shadow:
    0 12px 35px rgba(0, 0, 0, 0.52),
    0 3px 10px rgba(0, 0, 0, 0.34);
}

.cqRoomHero__subtitle {
  width: min(760px, 100%);
  margin: 0 auto 28px;
  color: rgba(255, 255, 255, 0.94);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 500;
  line-height: 1.6;
  text-shadow: 0 6px 20px rgba(0, 0, 0, 0.36);
}

/* Botones */
.cqRoomHero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.cqRoomHero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.cqRoomHero__btn--primary {
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.20);
}

.cqRoomHero__btn--secondary {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(8px);
}

.cqRoomHero__btn:hover {
  transform: translateY(-2px);
}

/* Curva inferior */
.cqRoomHero__curve {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 6;
  width: 100%;
  height: 120px;
  line-height: 0;
  pointer-events: none;
}

.cqRoomHero__curve svg {
  display: block;
  width: 100%;
  height: 100%;
}

.cqRoomHero__curve path {
  fill: #ffffff;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqRoomHero {
    min-height: 620px;
    margin-top: 72px;
  }

  .cqRoomHero__content {
    padding: 90px 16px 125px;
  }

  .cqRoomHero__title {
    font-size: clamp(42px, 8vw, 68px);
  }

  .cqRoomHero__subtitle {
    font-size: 18px;
  }
}

/* Móvil */
@media (max-width: 575.98px) {
  .cqRoomHero {
    min-height: auto;
    display: block;
    margin-top: 68px;
    overflow-x: hidden;
    overflow-y: visible;
    background: #26384c;
  }

  .cqRoomHero__bg {
    position: relative;
    height: 300px;
    min-height: 300px;
  }

  .cqRoomHero__bg img {
    height: 300px;
    object-position: center center;
  }

  .cqRoomHero__overlay {
    height: 300px;
    bottom: auto;
    background:
      linear-gradient(180deg, rgba(8, 18, 31, 0.16) 0%, rgba(8, 18, 31, 0.42) 100%);
  }

  .cqRoomHero__content {
    position: relative;
    padding: 28px 14px 42px;
    background: #26384c;
  }

  .cqRoomHero__kicker {
    margin-bottom: 12px;
    padding: 7px 11px;
    font-size: 11px;
  }

  .cqRoomHero__title {
    font-size: 36px;
    line-height: 1.06;
    margin-bottom: 12px;
  }

  .cqRoomHero__subtitle {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 18px;
  }

  .cqRoomHero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .cqRoomHero__btn {
    width: 100%;
    min-height: 44px;
    font-size: 14px;
  }

  .cqRoomHero__curve {
    display: none;
  }
}

/* Móvil pequeño */
@media (max-width: 390px) {
  .cqRoomHero__bg,
  .cqRoomHero__bg img,
  .cqRoomHero__overlay {
    height: 270px;
    min-height: 270px;
  }

  .cqRoomHero__title {
    font-size: 32px;
  }

  .cqRoomHero__subtitle {
    font-size: 15px;
  }
}

/* Reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  .cqRoomHero__bg img {
    animation: none !important;
    transform: none !important;
  }
}
	/* =========================================================
   INFO HABITACIÓN NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqRoomInfo
========================================================= */

.cqRoomInfo,
.cqRoomInfo * {
  box-sizing: border-box;
}

.cqRoomInfo {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 8%, rgba(202, 162, 74, 0.13), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(44, 62, 80, 0.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqRoomInfo__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.cqRoomInfo__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: clamp(36px, 6vw, 82px);
  align-items: center;
}

/* Texto */
.cqRoomInfo__content {
  position: relative;
  z-index: 2;
}

.cqRoomInfo__kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.28);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRoomInfo__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqRoomInfo__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqRoomInfo__lead {
  margin: 0 0 22px;
  max-width: 700px;
  color: #31465c;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.55;
}

.cqRoomInfo__text {
  max-width: 760px;
}

.cqRoomInfo__text p {
  margin: 0 0 15px;
  color: rgba(23, 38, 56, 0.76);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  line-height: 1.75;
}

/* Features */
.cqRoomInfo__features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 32px;
}

.cqRoomInfo__feature {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 16px 42px rgba(23, 38, 56, 0.07);
}

.cqRoomInfo__feature > span {
  width: 38px;
  height: 38px;
  margin-bottom: 12px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #caa24a, #a87f34);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
}

.cqRoomInfo__feature strong {
  display: block;
  margin-bottom: 5px;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 900;
}

.cqRoomInfo__feature p {
  margin: 0;
  color: rgba(23, 38, 56, 0.66);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  line-height: 1.45;
}

/* Panel */
.cqRoomInfo__panel {
  position: relative;
  padding: 28px;
  border-radius: 32px;
  color: #ffffff;
  background:
    radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.16), transparent 32%),
    linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 26px 70px rgba(23, 38, 56, 0.24);
  overflow: hidden;
}

.cqRoomInfo__panel::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.22);
  pointer-events: none;
}

.cqRoomInfo__panelHeader {
  position: relative;
  z-index: 2;
  margin-bottom: 22px;
}

.cqRoomInfo__panelHeader span {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRoomInfo__panelHeader h3 {
  margin: 0;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 39px;
  font-weight: 700;
  line-height: 1.04;
}

/* Lista */
.cqRoomInfo__list {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 12px;
}

.cqRoomInfo__listItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.13);
}

.cqRoomInfo__listItem strong {
  display: block;
  margin-bottom: 3px;
  color: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
}

.cqRoomInfo__listItem small {
  display: block;
  color: rgba(255, 255, 255, 0.68);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12.5px;
  line-height: 1.35;
}

.cqRoomInfo__listItem > span {
  flex: 0 0 auto;
  color: #ffffff;
  background: rgba(202, 162, 74, 0.25);
  border: 1px solid rgba(202, 162, 74, 0.30);
  padding: 8px 10px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
}

/* Precio */
.cqRoomInfo__priceBox {
  position: relative;
  z-index: 2;
  margin: 18px 0;
  padding: 20px;
  border-radius: 22px;
  text-align: center;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.18);
}

.cqRoomInfo__priceBox span,
.cqRoomInfo__priceBox small {
  display: block;
  color: rgba(23, 38, 56, 0.62);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cqRoomInfo__priceBox strong {
  display: block;
  margin: 4px 0;
  color: #caa24a;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
}

/* Botones */
.cqRoomInfo__actions {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 10px;
}

.cqRoomInfo__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cqRoomInfo__btn--primary {
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.cqRoomInfo__btn--secondary {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.cqRoomInfo__btn:hover {
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqRoomInfo {
    padding: 76px 0;
  }

  .cqRoomInfo__grid {
    grid-template-columns: 1fr;
  }

  .cqRoomInfo__panel {
    max-width: 720px;
    margin: 0 auto;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqRoomInfo {
    padding: 62px 0 70px;
  }

  .cqRoomInfo__container {
    width: min(100% - 28px, 1180px);
  }

  .cqRoomInfo__features {
    grid-template-columns: 1fr;
  }

  .cqRoomInfo__panel {
    padding: 22px;
    border-radius: 24px;
  }

  .cqRoomInfo__panelHeader h3 {
    font-size: 34px;
  }

  .cqRoomInfo__listItem {
    align-items: flex-start;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqRoomInfo__title {
    font-size: 37px;
  }

  .cqRoomInfo__lead {
    font-size: 17px;
  }

  .cqRoomInfo__listItem {
    display: grid;
  }

  .cqRoomInfo__listItem > span {
    justify-self: flex-start;
  }

  .cqRoomInfo__priceBox strong {
    font-size: 42px;
  }
}
/* =========================================================
   GALERÍA NUEVA HABITACIÓN - CASA DO QUEIXEIRO
   Prefijo aislado: cqRoomGallery
========================================================= */

.cqRoomGallery,
.cqRoomGallery * {
  box-sizing: border-box;
}

.cqRoomGallery {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow-x: hidden;
  overflow-y: visible;
  background:
    radial-gradient(circle at 10% 10%, rgba(202, 162, 74, 0.14), transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(44, 62, 80, 0.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqRoomGallery__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.cqRoomGallery__header {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.cqRoomGallery__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRoomGallery__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqRoomGallery__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqRoomGallery__subtitle {
  margin: 0 auto;
  max-width: 740px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Slider */
.cqRoomGallery__sliderWrap {
  width: 100%;
  overflow: hidden;
}

.cqRoomGallery__swiper {
  position: relative;
  width: min(1360px, calc(100% - 32px));
  height: auto !important;
  margin: 0 auto;
  padding: 8px 4px 66px;
  overflow: visible !important;
}

.cqRoomGallery__swiper .swiper-wrapper {
  height: auto !important;
  align-items: stretch;
}

.cqRoomGallery__swiper .swiper-slide {
  height: auto !important;
  display: flex;
}

/* Card */
.cqRoomGallery__card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 28px;
  background: #e7dfd2;
  box-shadow:
    0 22px 58px rgba(23, 38, 56, 0.13),
    0 8px 20px rgba(23, 38, 56, 0.08);
  text-decoration: none;
  isolation: isolate;
}

.cqRoomGallery__card picture,
.cqRoomGallery__card img {
  display: block;
  width: 100%;
  height: 100%;
}

.cqRoomGallery__card img {
  object-fit: cover;
  transition:
    transform 0.6s ease,
    filter 0.6s ease;
}

.cqRoomGallery__card:hover img {
  transform: scale(1.07);
  filter: brightness(1.04) saturate(1.06);
}

/* Overlay */
.cqRoomGallery__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  background:
    linear-gradient(180deg, rgba(23, 38, 56, 0.00) 0%, rgba(23, 38, 56, 0.72) 100%);
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.cqRoomGallery__card:hover .cqRoomGallery__overlay {
  opacity: 1;
}

.cqRoomGallery__overlay span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border-radius: 999px;
  color: #172638;
  background: rgba(255, 255, 255, 0.94);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}

/* Flechas */
.cqRoomGallery__prev,
.cqRoomGallery__next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #ffffff !important;
  background: rgba(23, 38, 56, 0.88);
  box-shadow: 0 12px 28px rgba(23, 38, 56, 0.20);
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.cqRoomGallery__prev:hover,
.cqRoomGallery__next:hover {
  background: #172638;
  transform: scale(1.04);
}

.cqRoomGallery__prev::after,
.cqRoomGallery__next::after {
  font-size: 17px;
  font-weight: 900;
}

.cqRoomGallery__prev {
  left: 8px;
}

.cqRoomGallery__next {
  right: 8px;
}

/* Paginación */
.cqRoomGallery__pagination {
  bottom: 14px !important;
}

.cqRoomGallery__pagination .swiper-pagination-bullet {
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: rgba(23, 38, 56, 0.25);
  opacity: 1;
}

.cqRoomGallery__pagination .swiper-pagination-bullet-active {
  background: #caa24a;
}

/* GLightbox por encima de todo */
.glightbox-container,
.gslide,
.goverlay {
  z-index: 999999 !important;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqRoomGallery {
    padding: 76px 0;
  }

  .cqRoomGallery__header {
    margin-bottom: 34px;
  }

  .cqRoomGallery__swiper {
    width: min(100% - 28px, 1180px);
  }

  .cqRoomGallery__prev,
  .cqRoomGallery__next {
    width: 44px;
    height: 44px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqRoomGallery {
    padding: 62px 0 70px;
  }

  .cqRoomGallery__container {
    width: min(100% - 28px, 1180px);
  }

  .cqRoomGallery__swiper {
    width: min(100% - 28px, 1180px);
    padding-bottom: 54px;
    overflow: hidden !important;
  }

  .cqRoomGallery__prev,
  .cqRoomGallery__next {
    display: none;
  }

  .cqRoomGallery__overlay {
    opacity: 1;
    padding: 18px;
  }

  .cqRoomGallery__overlay span {
    min-height: 36px;
    padding: 8px 13px;
    font-size: 12px;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqRoomGallery__title {
    font-size: 37px;
  }

  .cqRoomGallery__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqRoomGallery__card {
    border-radius: 22px;
  }
}	
/* =========================================================
   SERVICIOS NUEVO CASA DO QUEIXEIRO
   Prefijo aislado: cqServices
========================================================= */

.cqServices,
.cqServices * {
  box-sizing: border-box;
}

.cqServices {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 8%, rgba(202, 162, 74, 0.14), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(44, 62, 80, 0.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqServices__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

/* Header */
.cqServices__header {
  max-width: 840px;
  margin: 0 auto 44px;
  text-align: center;
}

.cqServices__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqServices__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqServices__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqServices__subtitle {
  margin: 0 auto;
  max-width: 760px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Grid */
.cqServices__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

/* Item */
.cqServices__item {
  position: relative;
  min-height: 230px;
  padding: 26px 24px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 20px 52px rgba(23, 38, 56, 0.08);
  overflow: hidden;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease;
}

.cqServices__item::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.10);
  transition: transform 0.24s ease, background 0.24s ease;
}

.cqServices__item:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 68px rgba(23, 38, 56, 0.13);
  border-color: rgba(202, 162, 74, 0.28);
}

.cqServices__item:hover::after {
  transform: scale(1.18);
  background: rgba(202, 162, 74, 0.18);
}

/* Icono */
.cqServices__icon {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  margin-bottom: 22px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #8a6425;
  background:
    linear-gradient(135deg, rgba(202, 162, 74, 0.20), rgba(255, 255, 255, 0.80));
  border: 1px solid rgba(202, 162, 74, 0.22);
}

.cqServices__icon svg {
  width: 32px;
  height: 32px;
  stroke: currentColor;
}

/* Texto */
.cqServices__body {
  position: relative;
  z-index: 2;
}

.cqServices__body h3 {
  margin: 0 0 10px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.04;
}

.cqServices__body p {
  margin: 0;
  color: rgba(23, 38, 56, 0.70);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.62;
}

/* CTA inferior */
.cqServices__cta {
  width: min(820px, 100%);
  margin: 36px auto 0;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.08);
  text-align: center;
}

.cqServices__cta p {
  margin: 0;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  font-weight: 700;
}

.cqServices__cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 13px 28px rgba(23, 38, 56, 0.18);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cqServices__cta a:hover {
  transform: translateY(-2px);
  box-shadow: 0 17px 34px rgba(23, 38, 56, 0.24);
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqServices {
    padding: 76px 0;
  }

  .cqServices__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cqServices__item {
    min-height: 220px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqServices {
    padding: 62px 0 70px;
  }

  .cqServices__container {
    width: min(100% - 28px, 1180px);
  }

  .cqServices__header {
    margin-bottom: 34px;
  }

  .cqServices__grid {
    grid-template-columns: 1fr;
  }

  .cqServices__item {
    min-height: auto;
    padding: 22px;
    border-radius: 22px;
  }

  .cqServices__icon {
    width: 58px;
    height: 58px;
    border-radius: 19px;
    margin-bottom: 18px;
  }

  .cqServices__icon svg {
    width: 29px;
    height: 29px;
  }

  .cqServices__body h3 {
    font-size: 30px;
  }

  .cqServices__cta {
    display: grid;
    padding: 20px 18px;
  }

  .cqServices__cta a {
    width: 100%;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqServices__title {
    font-size: 37px;
  }

  .cqServices__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqServices__body h3 {
    font-size: 28px;
  }
}	
/* =========================================================
   GALERÍA HABITACIÓN INDIVIDUAL - SOLO SWIPER
   Prefijo aislado: cqRoomGallery
========================================================= */

.cqRoomGallery,
.cqRoomGallery * {
  box-sizing: border-box;
}

.cqRoomGallery {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow-x: hidden;
  overflow-y: visible;
  background:
    radial-gradient(circle at 10% 10%, rgba(202, 162, 74, 0.14), transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(44, 62, 80, 0.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqRoomGallery__container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.cqRoomGallery__header {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.cqRoomGallery__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRoomGallery__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqRoomGallery__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqRoomGallery__subtitle {
  margin: 0 auto;
  max-width: 740px;
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

/* Slider */
.cqRoomGallery__sliderWrap {
  width: 100%;
  overflow: hidden;
}

.cqRoomGallery__swiper {
  position: relative;
  width: min(1360px, calc(100% - 32px));
  height: auto !important;
  margin: 0 auto;
  padding: 8px 4px 66px;
  overflow: visible !important;
}

.cqRoomGallery__swiper .swiper-wrapper {
  height: auto !important;
  align-items: stretch;
}

.cqRoomGallery__swiper .swiper-slide {
  height: auto !important;
  display: flex;
}

/* Card */
.cqRoomGallery__card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 28px;
  background: #e7dfd2;
  box-shadow:
    0 22px 58px rgba(23, 38, 56, 0.13),
    0 8px 20px rgba(23, 38, 56, 0.08);
  isolation: isolate;
  cursor: grab;
}

.cqRoomGallery__card picture,
.cqRoomGallery__card img {
  display: block;
  width: 100%;
  height: 100%;
}

.cqRoomGallery__card img {
  object-fit: cover;
  transition:
    transform 0.6s ease,
    filter 0.6s ease;
}

.cqRoomGallery__card:hover img {
  transform: scale(1.05);
  filter: brightness(1.04) saturate(1.06);
}

/* Sin lightbox */
.cqRoomGallery__overlay {
  display: none !important;
}

/* Flechas */
.cqRoomGallery__prev,
.cqRoomGallery__next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #ffffff !important;
  background: rgba(23, 38, 56, 0.88);
  box-shadow: 0 12px 28px rgba(23, 38, 56, 0.20);
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.cqRoomGallery__prev:hover,
.cqRoomGallery__next:hover {
  background: #172638;
  transform: scale(1.04);
}

.cqRoomGallery__prev::after,
.cqRoomGallery__next::after {
  font-size: 17px;
  font-weight: 900;
}

.cqRoomGallery__prev {
  left: 8px;
}

.cqRoomGallery__next {
  right: 8px;
}

/* Paginación */
.cqRoomGallery__pagination {
  bottom: 14px !important;
}

.cqRoomGallery__pagination .swiper-pagination-bullet {
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: rgba(23, 38, 56, 0.25);
  opacity: 1;
}

.cqRoomGallery__pagination .swiper-pagination-bullet-active {
  background: #caa24a;
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqRoomGallery {
    padding: 76px 0;
  }

  .cqRoomGallery__header {
    margin-bottom: 34px;
  }

  .cqRoomGallery__swiper {
    width: min(100% - 28px, 1180px);
  }

  .cqRoomGallery__prev,
  .cqRoomGallery__next {
    width: 44px;
    height: 44px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqRoomGallery {
    padding: 62px 0 70px;
  }

  .cqRoomGallery__container {
    width: min(100% - 28px, 1180px);
  }

  .cqRoomGallery__swiper {
    width: min(100% - 28px, 1180px);
    padding-bottom: 54px;
    overflow: hidden !important;
  }

  .cqRoomGallery__prev,
  .cqRoomGallery__next {
    display: none;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqRoomGallery__title {
    font-size: 37px;
  }

  .cqRoomGallery__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqRoomGallery__card {
    border-radius: 22px;
  }
}
/* =========================================================
   BARRA DE SERVICIOS - CASA DO QUEIXEIRO
   Versión corregida
========================================================= */

.cqAmenitiesBar,
.cqAmenitiesBar * {
  box-sizing: border-box;
}

.cqAmenitiesBar {
  position: relative;
  padding: 34px 0 80px;
  overflow: hidden;

  border-bottom: 1px solid rgba(23, 38, 56, 0.06);
}

.cqAmenitiesBar__container {
  width: min(1420px, calc(100% - 32px));
  margin: 0 auto;
}

.cqAmenitiesBar__track {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 18px;
  flex-wrap: wrap;
}

/* Tarjeta */
.cqAmenitiesBar__item {
  flex: 0 1 185px;
  min-width: 170px;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 16px 18px;
  border-radius: 20px;
  color: #172638;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(23, 38, 56, 0.07);
  box-shadow: 0 14px 36px rgba(23, 38, 56, 0.06);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}

.cqAmenitiesBar__item:hover {
  transform: translateY(-4px);
  background: #ffffff;
  border-color: rgba(202, 162, 74, 0.30);
  box-shadow: 0 20px 48px rgba(23, 38, 56, 0.10);
}

/* Icono */
.cqAmenitiesBar__icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #caa24a;
}

.cqAmenitiesBar__icon svg {
  width: 34px;
  height: 34px;
  display: block;
}

/* Texto */
.cqAmenitiesBar__text {
  flex: 1 1 auto;
  min-width: 0;
  color: #111827;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.05;
  text-align: left;
  white-space: normal;
}

/* Ajuste para textos largos */
.cqAmenitiesBar__item:nth-child(2) {
  flex-basis: 220px;
}

.cqAmenitiesBar__item:nth-child(3) {
  flex-basis: 175px;
}

.cqAmenitiesBar__item:nth-child(7) {
  flex-basis: 190px;
}

/* Tablet */
@media (max-width: 1199.98px) {
  .cqAmenitiesBar__track {
    justify-content: center;
  }

  .cqAmenitiesBar__item {
    flex-basis: 230px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqAmenitiesBar {
    padding: 24px 0;
  }

  .cqAmenitiesBar__container {
    width: min(100% - 24px, 1420px);
  }

  .cqAmenitiesBar__track {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 12px;
    overflow-x: auto;
    padding: 2px 2px 12px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .cqAmenitiesBar__track::-webkit-scrollbar {
    display: none;
  }

  .cqAmenitiesBar__item {
    flex: 0 0 230px;
    min-width: 230px;
    min-height: 78px;
    justify-content: flex-start;
    scroll-snap-align: start;
    border-radius: 20px;
  }

  .cqAmenitiesBar__icon,
  .cqAmenitiesBar__icon svg {
    width: 34px;
    height: 34px;
  }

  .cqAmenitiesBar__text {
    font-size: 22px;
  }
}

/* Móvil pequeño */
@media (max-width: 420px) {
  .cqAmenitiesBar__item {
    flex-basis: 215px;
    min-width: 215px;
  }

  .cqAmenitiesBar__text {
    font-size: 21px;
  }
}
/* Header servicios */
.cqAmenitiesBar__header {
  max-width: 820px;
  margin: 0 auto 34px;
  text-align: center;
}

.cqAmenitiesBar__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqAmenitiesBar__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqAmenitiesBar__title {
  margin: 0 0 16px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(40px, 5vw, 66px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqAmenitiesBar__subtitle {
  margin: 0 auto;
  max-width: 720px;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.7;
}

@media (max-width: 767.98px) {
  .cqAmenitiesBar__header {
    margin-bottom: 26px;
  }

  .cqAmenitiesBar__title {
    font-size: 36px;
  }

  .cqAmenitiesBar__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }
}
    /* =========================================================
       HERO PADRE HABITACIONES - CASA DO QUEIXEIRO
       Prefijo aislado: cqRoomsParentHero
    ========================================================= */

    .cqRoomsParentHero,
    .cqRoomsParentHero * {
      box-sizing: border-box;
    }

    .cqRoomsParentHero {
      position: relative;
      margin-top: 78px;
      padding: clamp(90px, 10vw, 150px) 0 clamp(76px, 8vw, 120px);
      overflow: hidden;
      color: #ffffff;
      background: #172638;
      isolation: isolate;
    }

    .cqRoomsParentHero__bg {
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(135deg, rgba(8, 18, 31, 0.86), rgba(8, 18, 31, 0.58)),
        url("/images/rooms/habitacion-doble-castroverde.webp") center center / cover no-repeat;
      transform: scale(1.04);
    }

    .cqRoomsParentHero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        radial-gradient(circle at 18% 18%, rgba(202, 162, 74, 0.24), transparent 32%),
        radial-gradient(circle at 86% 20%, rgba(255, 255, 255, 0.12), transparent 34%);
    }

    .cqRoomsParentHero__container {
      position: relative;
      z-index: 5;
      width: min(1180px, calc(100% - 32px));
      margin: 0 auto;
    }

    .cqRoomsParentHero__content {
      max-width: 900px;
      margin: 0 auto;
      text-align: center;
    }

    .cqRoomsParentHero__kicker {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 16px;
      padding: 8px 14px;
      border-radius: 999px;
      color: #ffffff;
      background: rgba(255, 255, 255, 0.13);
      border: 1px solid rgba(255, 255, 255, 0.24);
      backdrop-filter: blur(8px);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .cqRoomsParentHero__kicker::before {
      content: "";
      width: 8px;
      height: 8px;
      margin-right: 8px;
      border-radius: 50%;
      background: #caa24a;
      box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.18);
    }

    .cqRoomsParentHero__title {
      margin: 0 auto 18px;
      color: #ffffff !important;
      font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(50px, 6.4vw, 92px);
      font-weight: 700;
      line-height: 0.98;
      letter-spacing: 0.01em;
      text-shadow:
        0 12px 35px rgba(0, 0, 0, 0.52),
        0 3px 10px rgba(0, 0, 0, 0.34);
    }

    .cqRoomsParentHero__subtitle {
      width: min(780px, 100%);
      margin: 0 auto 30px;
      color: rgba(255, 255, 255, 0.92);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: clamp(17px, 1.55vw, 22px);
      font-weight: 500;
      line-height: 1.65;
      text-shadow: 0 6px 20px rgba(0, 0, 0, 0.34);
    }

    .cqRoomsParentHero__actions {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    .cqRoomsParentHero__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 12px 22px;
      border-radius: 999px;
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 15px;
      font-weight: 900;
      text-decoration: none;
      transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
    }

    .cqRoomsParentHero__btn--primary {
      color: #172638 !important;
      background: #ffffff;
      box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    }

    .cqRoomsParentHero__btn--secondary {
      color: #ffffff !important;
      background: rgba(255, 255, 255, 0.13);
      border: 1px solid rgba(255, 255, 255, 0.28);
      backdrop-filter: blur(8px);
    }

    .cqRoomsParentHero__btn:hover {
      transform: translateY(-2px);
    }

    @media (max-width: 991.98px) {
      .cqRoomsParentHero {
        margin-top: 72px;
        padding: 90px 0 86px;
      }
    }

    @media (max-width: 575.98px) {
      .cqRoomsParentHero {
        margin-top: 68px;
        padding: 70px 0 62px;
      }

      .cqRoomsParentHero__container {
        width: min(100% - 28px, 1180px);
      }

      .cqRoomsParentHero__title {
        font-size: 40px;
        line-height: 1.05;
      }

      .cqRoomsParentHero__subtitle {
        font-size: 16px;
        line-height: 1.55;
      }

      .cqRoomsParentHero__actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .cqRoomsParentHero__btn {
        width: 100%;
      }
    }
        /* =========================================================
       LISTADO PADRE HABITACIONES - CASA DO QUEIXEIRO
       Prefijo aislado: cqRoomsParentList / cqRoomsParentCard
    ========================================================= */

    .cqRoomsParentList,
    .cqRoomsParentList *,
    .cqRoomsParentCard,
    .cqRoomsParentCard * {
      box-sizing: border-box;
    }

    .cqRoomsParentList {
      position: relative;
      padding: clamp(72px, 8vw, 120px) 0;
      overflow: hidden;
      background:
        radial-gradient(circle at 10% 8%, rgba(202, 162, 74, 0.14), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(44, 62, 80, 0.10), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
    }

    .cqRoomsParentList__container {
      width: min(1180px, calc(100% - 32px));
      margin: 0 auto;
    }

    .cqRoomsParentList__header {
      max-width: 840px;
      margin: 0 auto 44px;
      text-align: center;
    }

    .cqRoomsParentList__kicker {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-bottom: 15px;
      padding: 8px 14px;
      border-radius: 999px;
      color: #8a6425;
      background: rgba(202, 162, 74, 0.14);
      border: 1px solid rgba(202, 162, 74, 0.26);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .cqRoomsParentList__kicker::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #caa24a;
      box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
    }

    .cqRoomsParentList__title {
      margin: 0 0 18px;
      color: #172638 !important;
      font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(42px, 5vw, 70px);
      font-weight: 700;
      line-height: 1.02;
      letter-spacing: 0.01em;
    }

    .cqRoomsParentList__subtitle {
      margin: 0 auto;
      max-width: 760px;
      color: rgba(23, 38, 56, 0.74);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: clamp(16px, 1.4vw, 19px);
      line-height: 1.75;
    }

    .cqRoomsParentList__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      align-items: stretch;
    }

    .cqRoomsParentCard {
      position: relative;
      overflow: hidden;
      border-radius: 30px;
      background: #ffffff;
      border: 1px solid rgba(23, 38, 56, 0.08);
      box-shadow:
        0 22px 58px rgba(23, 38, 56, 0.10),
        0 8px 20px rgba(23, 38, 56, 0.06);
      transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        border-color 0.24s ease;
    }

    .cqRoomsParentCard:hover {
      transform: translateY(-7px);
      border-color: rgba(202, 162, 74, 0.30);
      box-shadow:
        0 32px 78px rgba(23, 38, 56, 0.15),
        0 10px 24px rgba(23, 38, 56, 0.08);
    }

    .cqRoomsParentCard__image {
      position: relative;
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      background: #e7dfd2;
      text-decoration: none;
    }

    .cqRoomsParentCard__image picture,
    .cqRoomsParentCard__image img {
      display: block;
      width: 100%;
      height: 100%;
    }

    .cqRoomsParentCard__image img {
      object-fit: cover;
      transition:
        transform 0.6s ease,
        filter 0.6s ease;
    }

    .cqRoomsParentCard:hover .cqRoomsParentCard__image img {
      transform: scale(1.07);
      filter: brightness(1.04) saturate(1.06);
    }

    .cqRoomsParentCard__tag {
      position: absolute;
      left: 18px;
      bottom: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 36px;
      padding: 8px 13px;
      border-radius: 999px;
      color: #172638;
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 13px;
      font-weight: 900;
    }

    .cqRoomsParentCard__body {
      padding: 26px;
    }

    .cqRoomsParentCard__type {
      display: inline-flex;
      margin-bottom: 12px;
      padding: 7px 11px;
      border-radius: 999px;
      color: #8a6425;
      background: rgba(202, 162, 74, 0.14);
      border: 1px solid rgba(202, 162, 74, 0.24);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 11.5px;
      font-weight: 900;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .cqRoomsParentCard h3 {
      margin: 0 0 12px;
      color: #172638 !important;
      font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
      font-size: 36px;
      font-weight: 700;
      line-height: 1.04;
    }

    .cqRoomsParentCard p {
      margin: 0 0 18px;
      color: rgba(23, 38, 56, 0.72);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 15.5px;
      line-height: 1.65;
    }

    .cqRoomsParentCard ul {
      display: grid;
      gap: 8px;
      padding: 0;
      margin: 0 0 24px;
      list-style: none;
    }

    .cqRoomsParentCard li {
      position: relative;
      padding-left: 22px;
      color: rgba(23, 38, 56, 0.72);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 14.5px;
      font-weight: 650;
      line-height: 1.45;
    }

    .cqRoomsParentCard li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 8px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #caa24a;
      box-shadow: 0 0 0 4px rgba(202, 162, 74, 0.15);
    }

    .cqRoomsParentCard__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 45px;
      padding: 11px 20px;
      border-radius: 999px;
      color: #ffffff !important;
      background: linear-gradient(135deg, #172638, #2c3e50);
      box-shadow: 0 13px 28px rgba(23, 38, 56, 0.18);
      font-family: var(--font-textos, Inter, Arial, sans-serif);
      font-size: 14px;
      font-weight: 900;
      text-decoration: none;
      transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
    }

    .cqRoomsParentCard__btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 17px 34px rgba(23, 38, 56, 0.24);
    }

    @media (max-width: 991.98px) {
      .cqRoomsParentList {
        padding: 76px 0;
      }

      .cqRoomsParentList__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .cqRoomsParentCard:last-child {
        grid-column: 1 / -1;
        max-width: 520px;
        margin: 0 auto;
      }
    }

    @media (max-width: 767.98px) {
      .cqRoomsParentList {
        padding: 62px 0 70px;
      }

      .cqRoomsParentList__container {
        width: min(100% - 28px, 1180px);
      }

      .cqRoomsParentList__header {
        margin-bottom: 34px;
      }

      .cqRoomsParentList__grid {
        grid-template-columns: 1fr;
      }

      .cqRoomsParentCard:last-child {
        grid-column: auto;
        max-width: none;
      }

      .cqRoomsParentCard {
        border-radius: 24px;
      }

      .cqRoomsParentCard__body {
        padding: 22px;
      }

      .cqRoomsParentCard h3 {
        font-size: 32px;
      }
    }

    @media (max-width: 420px) {
      .cqRoomsParentList__title {
        font-size: 37px;
      }

      .cqRoomsParentList__subtitle {
        font-size: 15.5px;
        line-height: 1.6;
      }

      .cqRoomsParentCard__image {
        aspect-ratio: 1 / 0.82;
      }

      .cqRoomsParentCard h3 {
        font-size: 30px;
      }
    }
/* =========================================================
   BLOG POST TEMPLATE - CASA DO QUEIXEIRO
   Moderno + artículo ancho + sidebar fija
========================================================= */

.cqPostPage,
.cqPostPage * {
  box-sizing: border-box;
}

.cqPostPage {
  position: relative;
  color: #172638;
  background:
    radial-gradient(circle at 8% 3%, rgba(202, 162, 74, 0.12), transparent 28%),
    radial-gradient(circle at 95% 7%, rgba(26, 179, 148, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 46%, #ffffff 100%);
}

/* IMPORTANTE PARA STICKY */
.cqPostPage,
.cqPostWrap,
.cqPostLayout,
.cqPostSidebar {
  overflow: visible !important;
}

/* =========================================================
   LAYOUT GENERAL
========================================================= */

.cqPostWrap {
  position: relative;
  padding: clamp(118px, 10vw, 148px) 0 clamp(80px, 8vw, 130px);
}

.cqPostLayout {
  width: min(1520px, calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1060px) 360px;
  gap: 28px;
  align-items: start;
}

/* =========================================================
   ARTÍCULO
========================================================= */

.cqPostArticle {
  min-width: 0;
  width: 100%;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(23, 38, 56, 0.07);
  box-shadow:
    0 26px 70px rgba(23, 38, 56, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
}

.cqPostHeader {
  margin-bottom: 26px;
}

.cqPostCategory {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.28);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPostCategory::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqPostHeader h1 {
  width: min(1000px, 100%);
  margin: 0 0 16px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(48px, 5vw, 76px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqPostMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.5;
}

.cqPostMeta span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(248, 246, 241, 0.92);
  border: 1px solid rgba(23, 38, 56, 0.07);
  font-weight: 700;
}

/* =========================================================
   IMAGEN
========================================================= */

.cqPostImage {
  position: relative;
  margin: 0 0 34px;
  border-radius: 26px;
  overflow: hidden;
  background: #e9eef4;
  box-shadow: 0 22px 58px rgba(23, 38, 56, 0.14);
}

.cqPostImage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 58%, rgba(23, 38, 56, 0.16));
}

.cqPostImage picture,
.cqPostImage img {
  display: block;
  width: 100%;
}

.cqPostImage img {
  aspect-ratio: 16 / 8.3;
  object-fit: cover;
  transition: transform 0.55s ease, filter 0.55s ease;
}

.cqPostImage:hover img {
  transform: scale(1.025);
  filter: saturate(1.04) contrast(1.02);
}

/* =========================================================
   CONTENIDO
========================================================= */

.cqPostContent {
  width: min(1000px, 100%);
  padding-bottom: 6px;
}

.cqPostContent p,
.cqPostContent li {
  color: rgba(23, 38, 56, 0.80);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 18px;
  line-height: 1.88;
}

.cqPostContent p {
  margin: 0 0 22px;
}

.cqPostLead {
  margin: 0 0 34px !important;
  padding: clamp(22px, 3vw, 32px);
  border-radius: 26px;
  color: rgba(23, 38, 56, 0.88) !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(202, 162, 74, 0.12), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border: 1px solid rgba(202, 162, 74, 0.20);
  font-size: clamp(19px, 1.7vw, 22px) !important;
  line-height: 1.78 !important;
  font-weight: 500;
  box-shadow: 0 16px 42px rgba(23, 38, 56, 0.06);
}

.cqPostContent h2 {
  position: relative;
  margin: clamp(46px, 5vw, 64px) 0 20px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.01em;
}

.cqPostContent h2::before {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #caa24a, rgba(202, 162, 74, 0.12));
}

.cqPostContent h3 {
  margin: 0 0 10px;
  color: #172638 !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 23px;
  font-weight: 900;
  line-height: 1.25;
}

.cqPostContent ul {
  margin: 4px 0 32px;
  padding: 0;
  list-style: none;
}

.cqPostContent li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 34px;
}

.cqPostContent li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 15px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 6px rgba(202, 162, 74, 0.15);
}

/* Blockquote */
.cqPostContent blockquote {
  position: relative;
  margin: 42px 0;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 28px;
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 12%, rgba(202, 162, 74, 0.24), transparent 32%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.20);
  overflow: hidden;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.25;
}

.cqPostContent blockquote::before {
  content: "“";
  position: absolute;
  left: 24px;
  top: -24px;
  color: rgba(202, 162, 74, 0.25);
  font-family: Georgia, serif;
  font-size: 150px;
  line-height: 1;
}

/* Callout */
.cqPostCallout {
  position: relative;
  margin: 38px 0;
  padding: 26px 30px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 16%, rgba(26, 179, 148, 0.11), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
  border: 1px solid rgba(26, 179, 148, 0.18);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.08);
}

.cqPostCallout::before {
  content: "";
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 24px;
  width: 5px;
  border-radius: 999px;
  background: #1ab394;
}

.cqPostCallout span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #1a8f78;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPostCallout p {
  margin-bottom: 0;
  font-size: 17px;
  line-height: 1.7;
}

/* CTA */
.cqPostCTA {
  margin: 50px 0 10px;
  padding: clamp(26px, 4vw, 38px);
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background:
    radial-gradient(circle at 10% 10%, rgba(202, 162, 74, 0.26), transparent 34%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 26px 66px rgba(23, 38, 56, 0.22);
}

.cqPostCTA span {
  display: inline-block;
  margin-bottom: 8px;
  color: #f1ce86;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPostCTA h3 {
  margin: 0 0 8px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(32px, 3vw, 44px);
  font-weight: 700;
}

.cqPostCTA p {
  margin: 0;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.65;
}

.cqPostCTA__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 25px;
  border-radius: 999px;
  color: #172638 !important;
  background: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.cqPostCTA__btn:hover {
  transform: translateY(-2px);
  color: #ffffff !important;
  background: #caa24a;
}

/* =========================================================
   SIDEBAR FIJA
========================================================= */

.cqPostSidebar {
  position: relative;
  align-self: stretch;
  min-width: 0;
}

.cqPostSidebar__sticky {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 20px;
}

/* Caja entradas */
.cqSidebarBox {
  position: relative;
  padding: 26px 22px 24px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 12% 10%, rgba(202, 162, 74, 0.10), transparent 32%),
    rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow:
    0 24px 60px rgba(23, 38, 56, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
}

.cqSidebarBox__label {
  display: table;
  margin: 0 auto 10px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqSidebarBox h2 {
  margin: 0 0 20px;
  color: #172638 !important;
  text-align: center;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.05;
}

.cqRecentList {
  display: grid;
  gap: 13px;
}

.cqRecentItem {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 84px;
  padding: 16px 15px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  color: #172638 !important;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(23, 38, 56, 0.06);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}

.cqRecentItem:hover {
  transform: translateY(-3px);
  border-color: rgba(202, 162, 74, 0.34);
  background: #fbfaf7;
  box-shadow: 0 18px 42px rgba(23, 38, 56, 0.11);
}

.cqRecentItem__dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #caa24a;
  border: 6px solid rgba(202, 162, 74, 0.18);
  box-shadow: 0 0 0 6px rgba(202, 162, 74, 0.08);
}

.cqRecentItem strong {
  display: block;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  font-weight: 900;
  line-height: 1.42;
}

/* CTA sidebar */
.cqSidebarCTA {
  padding: 26px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 12% 14%, rgba(202, 162, 74, 0.28), transparent 32%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.18);
}

.cqSidebarCTA span {
  display: inline-block;
  margin-bottom: 10px;
  color: #f1ce86;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqSidebarCTA h3 {
  margin: 0 0 10px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.05;
}

.cqSidebarCTA p {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.6;
}

.cqSidebarCTA a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 18px;
  border-radius: 999px;
  color: #172638 !important;
  background: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.cqSidebarCTA a:hover {
  transform: translateY(-2px);
  color: #ffffff !important;
  background: #caa24a;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1399.98px) {
  .cqPostLayout {
    width: min(1400px, calc(100% - 48px));
    grid-template-columns: minmax(0, 940px) 345px;
    gap: 26px;
  }
}

@media (max-width: 1199.98px) {
  .cqPostLayout {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 24px;
  }

  .cqPostArticle {
    padding: 26px;
  }
}

@media (max-width: 991.98px) {
  .cqPostWrap {
    padding-top: 112px;
  }

  .cqPostLayout {
    grid-template-columns: 1fr;
  }

  .cqPostSidebar {
    order: 2;
  }

  .cqPostSidebar__sticky {
    position: relative;
    top: auto;
  }

  .cqPostArticle {
    order: 1;
  }

  .cqPostContent {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .cqPostWrap {
    padding: 96px 0 72px;
  }

  .cqPostLayout {
    width: min(100% - 24px, 1320px);
    gap: 30px;
  }

  .cqPostArticle {
    padding: 20px 16px;
    border-radius: 24px;
  }

  .cqPostHeader h1 {
    font-size: 38px;
  }

  .cqPostMeta span {
    width: 100%;
  }

  .cqPostImage {
    border-radius: 20px;
    margin-bottom: 28px;
  }

  .cqPostImage img {
    aspect-ratio: 4 / 3;
  }

  .cqPostContent p,
  .cqPostContent li {
    font-size: 16px;
    line-height: 1.75;
  }

  .cqPostLead {
    padding: 20px;
    font-size: 18px !important;
  }

  .cqPostContent h2 {
    font-size: 34px;
  }

  .cqPostContent blockquote {
    padding: 24px 22px;
    font-size: 25px;
    border-radius: 22px;
  }

  .cqPostCallout {
    padding: 22px;
    border-radius: 22px;
  }

  .cqPostCTA {
    display: grid;
    padding: 24px 20px;
    border-radius: 24px;
  }

  .cqPostCTA__btn {
    width: 100%;
  }

  .cqSidebarBox,
  .cqSidebarCTA {
    border-radius: 24px;
  }
}

@media (max-width: 420px) {
  .cqPostHeader h1 {
    font-size: 34px;
  }

  .cqSidebarBox {
    padding: 22px 18px;
  }

  .cqRecentItem {
    grid-template-columns: 24px minmax(0, 1fr);
    padding: 16px 14px;
  }

  .cqSidebarBox h2 {
    font-size: 30px;
  }
}   
/* =========================================================
   BLOG POST TEMPLATE - CASA DO QUEIXEIRO
   Índice automático + recientes automáticos + relacionados
========================================================= */

.cqPostPage,
.cqPostPage * {
  box-sizing: border-box;
}

.cqPostPage {
  position: relative;
  color: #172638;
  background:
    radial-gradient(circle at 8% 3%, rgba(202, 162, 74, 0.12), transparent 28%),
    radial-gradient(circle at 95% 7%, rgba(26, 179, 148, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 46%, #ffffff 100%);
}

/* Importante para sticky */
.cqPostPage,
.cqPostWrap,
.cqPostLayout,
.cqPostSidebar {
  overflow: visible !important;
  transform: none !important;
  contain: none !important;
}

/* Layout */
.cqPostWrap {
  position: relative;
  padding: clamp(118px, 10vw, 148px) 0 clamp(80px, 8vw, 130px);
}

.cqPostLayout {
  width: min(1540px, calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1080px) 360px;
  gap: 28px;
  align-items: start;
}

/* Artículo */
.cqPostArticle {
  min-width: 0;
  width: 100%;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.80);
  border: 1px solid rgba(23, 38, 56, 0.07);
  box-shadow:
    0 26px 70px rgba(23, 38, 56, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
}

.cqPostHeader {
  margin-bottom: 26px;
}

.cqPostCategory {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.28);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPostCategory::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

.cqPostHeader h1 {
  width: min(1000px, 100%);
  margin: 0 0 16px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(48px, 5vw, 60px);
  font-weight: 700;
  line-height: 1.02;
}

.cqPostMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
}

.cqPostMeta span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(248, 246, 241, 0.92);
  border: 1px solid rgba(23, 38, 56, 0.07);
  font-weight: 700;
}

/* Imagen */
.cqPostImage {
  position: relative;
  margin: 0 0 34px;
  border-radius: 26px;
  overflow: hidden;
  background: #e9eef4;
  box-shadow: 0 22px 58px rgba(23, 38, 56, 0.14);
}

.cqPostImage picture,
.cqPostImage img {
  display: block;
  width: 100%;
}

.cqPostImage img {
  aspect-ratio: 16 / 8.3;
  object-fit: cover;
}

/* Contenido */
.cqPostContent {
  width: min(1000px, 100%);
  padding-bottom: 6px;
}

.cqPostContent p,
.cqPostContent li {
  color: rgba(23, 38, 56, 0.80);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 18px;
  line-height: 1.88;
}

.cqPostContent p {
  margin: 0 0 22px;
}

.cqPostLead {
  margin: 0 0 34px !important;
  padding: clamp(22px, 3vw, 32px);
  border-radius: 26px;
  color: rgba(23, 38, 56, 0.88) !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(202, 162, 74, 0.12), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border: 1px solid rgba(202, 162, 74, 0.20);
  font-size: clamp(19px, 1.7vw, 22px) !important;
  line-height: 1.78 !important;
  font-weight: 500;
}

.cqPostContent h2 {
  position: relative;
  margin: clamp(46px, 5vw, 64px) 0 20px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 700;
  line-height: 1.05;
}

.cqPostContent h2::before {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #caa24a, rgba(202, 162, 74, 0.12));
}

.cqPostContent h3 {
  color: #172638 !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 23px;
  font-weight: 900;
}

.cqPostContent ul {
  margin: 4px 0 32px;
  padding: 0;
  list-style: none;
}

.cqPostContent li {
  position: relative;
  margin-bottom: 20px;
  padding: 25px 40px;
  box-shadow: 0 5px 5px 0 gainsboro;
  border-radius: 20px;
}

.cqPostContent li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 43px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 6px rgba(202, 162, 74, 0.15);
}

/* Blockquote */
.cqPostContent blockquote {
  position: relative;
  margin: 42px 0;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 28px;
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 12%, rgba(202, 162, 74, 0.24), transparent 32%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.20);
  overflow: hidden;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.25;
}

/* Callout */
.cqPostCallout {
  position: relative;
  margin: 38px 0;
  padding: 26px 30px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 16%, rgba(26, 179, 148, 0.11), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
  border: 1px solid rgba(26, 179, 148, 0.18);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.08);
}

.cqPostCallout span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #1a8f78;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* CTA */
.cqPostCTA {
  margin: 50px 0 10px;
  padding: clamp(26px, 4vw, 38px);
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background:
    radial-gradient(circle at 10% 10%, rgba(202, 162, 74, 0.26), transparent 34%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 26px 66px rgba(23, 38, 56, 0.22);
}

.cqPostCTA span {
  display: inline-block;
  margin-bottom: 8px;
  color: #f1ce86;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqPostCTA h3 {
  margin: 0 0 8px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(32px, 3vw, 44px);
  font-weight: 700;
}

.cqPostCTA p {
  margin: 0;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.65;
}

.cqPostCTA__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 25px;
  border-radius: 999px;
  color: #172638 !important;
  background: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

/* Sidebar */
.cqPostSidebar {
  position: relative;
  align-self: stretch;
  min-width: 0;
}

.cqPostSidebar__sticky {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 20px;
}

/* Cajas sidebar */
.cqSidebarBox {
  position: relative;
  padding: 24px 20px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.10);
}

.cqSidebarBox__label {
  display: table;
  margin: 0 auto 10px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqSidebarBox h2 {
  margin: 0 0 18px;
  color: #172638 !important;
  text-align: center;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 31px;
  font-weight: 700;
  line-height: 1.05;
}

/* TOC */
.cqArticleTOC ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.cqArticleTOC a {
  display: block;
  padding: 10px 12px;
  border-radius: 14px;
  color: rgba(23, 38, 56, 0.76);
  background: #fbfaf7;
  border: 1px solid rgba(23, 38, 56, 0.06);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.cqArticleTOC a.is-active,
.cqArticleTOC a:hover {
  color: #172638;
  background: rgba(202, 162, 74, 0.14);
  border-color: rgba(202, 162, 74, 0.28);
}

/* Recent */
.cqRecentList {
  display: grid;
  gap: 12px;
}

.cqRecentItem {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  color: #172638 !important;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(23, 38, 56, 0.06);
}

.cqRecentItem__dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #caa24a;
  border: 6px solid rgba(202, 162, 74, 0.18);
}

.cqRecentItem strong {
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14.5px;
  font-weight: 900;
  line-height: 1.38;
}

/* Sidebar CTA */
.cqSidebarCTA {
  padding: 26px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 14%, rgba(202, 162, 74, 0.28), transparent 32%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 24px 60px rgba(23, 38, 56, 0.18);
}

.cqSidebarCTA span {
  display: inline-block;
  margin-bottom: 10px;
  color: #f1ce86;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqSidebarCTA h3 {
  margin: 0 0 10px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 31px;
  font-weight: 700;
  line-height: 1.05;
}

.cqSidebarCTA p {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.6;
}

.cqSidebarCTA a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 18px;
  border-radius: 999px;
  color: #172638 !important;
  background: #ffffff;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  font-weight: 900;
  text-decoration: none;
}

/* Relacionados */
.cqRelatedArticles {
  margin-top: 58px;
  padding-top: 42px;
  border-top: 1px solid rgba(23, 38, 56, 0.10);
}

.cqRelatedArticles__header {
  margin-bottom: 24px;
  text-align: center;
}

.cqRelatedArticles__header span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #8a6425;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRelatedArticles__header h2 {
  margin: 0;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 700;
}

.cqRelatedArticles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.cqRelatedCard {
  overflow: hidden;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 16px 38px rgba(23, 38, 56, 0.08);
}

.cqRelatedCard img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.cqRelatedCard__body {
  padding: 18px;
}

.cqRelatedCard__cat {
  color: #8a6425;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqRelatedCard h3 {
  margin: 8px 0 8px;
  color: #172638 !important;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

.cqRelatedCard p {
  margin: 0 0 14px;
  color: rgba(23, 38, 56, 0.68);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  line-height: 1.55;
}

.cqRelatedCard a {
  color: #8a6425;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

/* Responsive */
@media (max-width: 1399.98px) {
  .cqPostLayout {
    width: min(1400px, calc(100% - 48px));
    grid-template-columns: minmax(0, 940px) 345px;
    gap: 26px;
  }
}

@media (max-width: 1199.98px) {
  .cqPostLayout {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 24px;
  }
}

@media (max-width: 991.98px) {
  .cqPostWrap {
    padding-top: 112px;
  }

  .cqPostLayout {
    grid-template-columns: 1fr;
  }

  .cqPostSidebar {
    order: 2;
  }

  .cqPostSidebar__sticky {
    position: relative;
    top: auto;
  }

  .cqPostArticle {
    order: 1;
  }

  .cqRelatedArticles__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .cqPostWrap {
    padding: 96px 0 72px;
  }

  .cqPostLayout {
    width: min(100% - 24px, 1320px);
    gap: 30px;
  }

  .cqPostArticle {
    padding: 20px 16px;
    border-radius: 24px;
  }

  .cqPostHeader h1 {
    font-size: 38px;
  }

  .cqPostMeta span {
    width: 100%;
  }

  .cqPostImage {
    border-radius: 20px;
  }

  .cqPostImage img {
    aspect-ratio: 4 / 3;
  }

  .cqPostContent p,
  .cqPostContent li {
    font-size: 16px;
    line-height: 1.75;
  }

  .cqPostLead {
    padding: 20px;
    font-size: 18px !important;
  }

  .cqPostContent h2 {
    font-size: 34px;
  }

  .cqPostContent blockquote {
    padding: 24px 22px;
    font-size: 25px;
  }

  .cqPostCTA {
    display: grid;
    padding: 24px 20px;
  }

  .cqPostCTA__btn {
    width: 100%;
  }
}
/* =========================================================
   ÍNDICE MÓVIL DEBAJO DE LA IMAGEN
========================================================= */

.cqMobileTOCBox {
  display: none;
}

@media (max-width: 991.98px) {
  .cqDesktopTOCBox {
    display: none !important;
  }

  .cqMobileTOCBox {
    display: block;
    margin: 0 0 30px;
    padding: 22px 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(23, 38, 56, 0.08);
    box-shadow: 0 18px 44px rgba(23, 38, 56, 0.08);
  }

  .cqMobileTOCBox h2 {
    margin: 0 0 16px;
    color: #172638 !important;
    text-align: center;
    font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.05;
  }

  .cqMobileTOCBox .cqSidebarBox__label {
    display: table;
    margin: 0 auto 10px;
  }
} 
	/* FAQ full width - artículo dónde alojarse en Castroverde */
.cqFaq--full .cqFaq__layout {
  display: block;
}

.cqFaq--full .cqFaq__accordion {
  width: 100%;
  max-width: 100%;
}

.cqFaq--full .cqFaq__accordion--full {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.cqFaq--castroverde .cqFaq__item {
  border: 1px solid rgba(34, 62, 47, 0.12);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(18, 38, 29, 0.06);
}

.cqFaq--castroverde .cqFaq__button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 0;
  background: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.cqFaq--castroverde .cqFaq__button:hover {
  background: #f7f3ea;
}

.cqFaq--castroverde .cqFaq__button i {
  position: relative;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #254b84;
}

.cqFaq--castroverde .cqFaq__button i::before,
.cqFaq--castroverde .cqFaq__button i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: 0.25s ease;
}

.cqFaq--castroverde .cqFaq__button i::before {
  width: 14px;
  height: 2px;
}

.cqFaq--castroverde .cqFaq__button i::after {
  width: 2px;
  height: 14px;
}

.cqFaq--castroverde .cqFaq__button:not(.collapsed) {
  background: #f7f3ea;
  color: #203528;
}

.cqFaq--castroverde .cqFaq__button:not(.collapsed) i::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.cqFaq--castroverde .cqFaq__answer {
  padding: 0 24px 24px;
  color: #566358;
  font-size: 17px;
  line-height: 1.75;
  background: #fff;
}

@media (min-width: 992px) {
  .cqFaq--full .cqFaq__accordion--full {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .cqFaq--castroverde .cqFaq__item:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .cqFaq--castroverde .cqFaq__button {
    padding: 18px 18px;
    font-size: 16px;
  }

  .cqFaq--castroverde .cqFaq__answer {
    padding: 0 18px 20px;
    font-size: 16px;
  }

  .cqFaq--castroverde .cqFaq__button i {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }
}
.cqArticleTOC .cqTOCExtraItem {
  display: none;
}

.cqArticleTOC.cqArticleTOC--open .cqTOCExtraItem {
  display: list-item;
}

.cqTOCMoreBtn {
  margin-top: 12px;
  border: none;
  background: #1c4a82;
  color: #fff;
  padding: 8px 16px;
  border-radius: 30px;
  font-weight: 700;
  cursor: pointer;
  font-size: 14px;
}

.cqTOCMoreBtn:hover {
  background: #ff5400;
}
/* =========================================================
   DATOS DE CONTACTO - CASA DO QUEIXEIRO
========================================================= */

.contact-info,
.contact-info * {
  box-sizing: border-box;
}

.section:has(.contact-info) {
  position: relative;
  padding: clamp(48px, 6vw, 90px) 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(202, 162, 74, 0.12), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(26, 179, 148, 0.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.contact-info {
  position: relative;
  width: min(980px, 100%);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 54px);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow:
    0 26px 70px rgba(23, 38, 56, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

.contact-info::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, #caa24a, #1ab394);
}

.contact-info::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.10);
  pointer-events: none;
}

/* Título */
.contact-info h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 30px;
  color: #172638 !important;
  text-align: center;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(40px, 5vw, 66px);
  font-weight: 700;
  line-height: 1.02;
}

.contact-info h3::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #caa24a, rgba(202, 162, 74, 0.18));
}

/* Items */
.contact-item {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 20px 22px;
  margin-bottom: 14px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border: 1px solid rgba(23, 38, 56, 0.07);
  box-shadow: 0 12px 30px rgba(23, 38, 56, 0.06);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}

.contact-item:hover {
  transform: translateY(-3px);
  border-color: rgba(202, 162, 74, 0.28);
  box-shadow: 0 18px 42px rgba(23, 38, 56, 0.10);
  background: #ffffff;
}

.contact-item i {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(202, 162, 74, 0.13);
  border: 1px solid rgba(202, 162, 74, 0.24);
  color: #8a6425;
  font-style: normal;
  font-size: 26px;
  line-height: 1;
}

.contact-item strong {
  display: block;
  margin: 2px 0 6px;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

.contact-item p {
  margin: 0;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 16px;
  line-height: 1.65;
}

.contact-item a {
  color: #8a6425;
  font-weight: 800;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact-item a:hover {
  color: #172638;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Separador */
.contact-info hr {
  position: relative;
  z-index: 2;
  margin: 28px 0 !important;
  border: 0 !important;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(23, 38, 56, 0.14),
    transparent
  );
  opacity: 1;
}

/* Botón WhatsApp */
.contact-info .btn-outline-custom {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, #1ab394, #12866f);
  border: 1px solid rgba(26, 179, 148, 0.35);
  box-shadow: 0 16px 36px rgba(26, 179, 148, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease;
}

.contact-info .btn-outline-custom::before {
  content: "💬";
  margin-right: 8px;
  font-size: 18px;
}

.contact-info .btn-outline-custom:hover {
  transform: translateY(-2px);
  color: #ffffff !important;
  background: linear-gradient(135deg, #172638, #2c3e50);
  box-shadow: 0 20px 44px rgba(23, 38, 56, 0.18);
}

/* Responsive */
@media (max-width: 767.98px) {
  .section:has(.contact-info) {
    padding: 42px 0 64px;
  }

  .contact-info {
    padding: 26px 16px;
    border-radius: 26px;
  }

  .contact-info h3 {
    font-size: 38px;
    margin-bottom: 24px;
  }

  .contact-item {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 17px 15px;
    border-radius: 20px;
  }

  .contact-item i {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 22px;
  }

  .contact-item strong {
    font-size: 16px;
  }

  .contact-item p {
    font-size: 15px;
    line-height: 1.55;
  }

  .contact-info .btn-outline-custom {
    min-height: 50px;
    font-size: 14.5px;
  }
}

@media (max-width: 420px) {
  .contact-info h3 {
    font-size: 34px;
  }

  .contact-item {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .contact-item i {
    margin: 0 auto;
  }
}
/* =========================================================
   CÓMO LLEGAR - CASA DO QUEIXEIRO
========================================================= */

.cqMapSection,
.cqMapSection * {
  box-sizing: border-box;
}

.cqMapSection {
  position: relative;
  padding: clamp(70px, 8vw, 120px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(202, 162, 74, 0.13), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(26, 179, 148, 0.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%) !important;
}

.cqMapSection::before {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -120px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(202, 162, 74, 0.10);
  pointer-events: none;
}

.cqMapSection::after {
  content: "";
  position: absolute;
  right: -100px;
  top: -100px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(26, 179, 148, 0.08);
  pointer-events: none;
}

.cqMapSection .container {
  position: relative;
  z-index: 2;
}

/* Cabecera */
.cqMapSection__header {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.cqMapSection__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqMapSection__title {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5.4vw, 72px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.01em;
}

.cqMapSection__title::after {
  content: "";
  display: block;
  width: 70px;
  height: 4px;
  margin: 18px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #caa24a, rgba(202, 162, 74, 0.16));
}

.cqMapSection__subtitle {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 500;
  line-height: 1.7;
}

/* Caja mapa */
.cqMapSection__mapBox {
  position: relative;
  width: 100%;
  height: 560px;
  min-height: 560px;
  border-radius: 34px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow:
    0 28px 78px rgba(23, 38, 56, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.cqMapSection__mapBox::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  height: 6px;
  background: linear-gradient(90deg, #caa24a, #1ab394);
  pointer-events: none;
}

.cqMapSection__mapBox::after {
  content: "Travesía de Montecubeiro 25 · Castroverde, Lugo";
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 3;
  max-width: calc(100% - 44px);
  padding: 12px 16px;
  border-radius: 999px;
  color: #172638;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 14px 34px rgba(23, 38, 56, 0.14);
  backdrop-filter: blur(10px);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  pointer-events: none;
}

.cqMapSection__mapBox iframe {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 560px;
  border: 0 !important;
  filter: saturate(0.95) contrast(1.02);
}

/* Tablet */
@media (max-width: 991.98px) {
  .cqMapSection {
    padding: 64px 0 86px;
  }

  .cqMapSection__mapBox {
    height: 500px;
    min-height: 500px;
    border-radius: 28px;
  }

  .cqMapSection__mapBox iframe {
    min-height: 500px;
  }
}

/* Móvil */
@media (max-width: 767.98px) {
  .cqMapSection {
    padding: 54px 0 72px;
  }

  .cqMapSection__title {
    font-size: 38px;
  }

  .cqMapSection__subtitle {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .cqMapSection__mapBox {
    height: 430px;
    min-height: 430px;
    border-radius: 22px;
  }

  .cqMapSection__mapBox iframe {
    min-height: 430px;
  }

  .cqMapSection__mapBox::after {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: none;
    border-radius: 18px;
    text-align: center;
    font-size: 13px;
    line-height: 1.35;
  }
}

@media (max-width: 420px) {
  .cqMapSection__title {
    font-size: 34px;
  }

  .cqMapSection__mapBox {
    height: 400px;
    min-height: 400px;
  }

  .cqMapSection__mapBox iframe {
    min-height: 400px;
  }
}
/* =========================================================
   ALOJAMIENTO EMPRESAS - CASA DO QUEIXEIRO
========================================================= */

.cqEmpresasPage,
.cqEmpresasPage * {
  box-sizing: border-box;
}

.cqEmpresasPage {
  overflow-x: hidden;
  color: #172638;
  background: #ffffff;
}

.cqEmpresasContainer {
  width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
}

.cqSectionKicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #8a6425;
  background: rgba(202, 162, 74, 0.14);
  border: 1px solid rgba(202, 162, 74, 0.26);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqSectionKicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
  box-shadow: 0 0 0 5px rgba(202, 162, 74, 0.16);
}

/* HERO */
.cqEmpresasHero {
  position: relative;
  min-height: 760px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #172638;
}

.cqEmpresasHero picture,
.cqEmpresasHero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cqEmpresasHero img {
  object-fit: cover;
  filter: saturate(1.02) contrast(1.04);
}

.cqEmpresasHero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(23, 38, 56, 0.82), rgba(23, 38, 56, 0.52), rgba(23, 38, 56, 0.30)),
    radial-gradient(circle at 20% 20%, rgba(202, 162, 74, 0.28), transparent 34%);
}

.cqEmpresasHero__content {
  position: relative;
  z-index: 3;
  width: min(980px, calc(100% - 32px));
  margin: 0 auto;
  padding-top: 80px;
  color: #ffffff;
}

.cqEmpresasHero__kicker {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #f5d894;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqEmpresasHero h1 {
  max-width: 880px;
  margin: 0 0 20px;
  color: #ffffff !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(48px, 6vw, 86px);
  font-weight: 700;
  line-height: 1.02;
}

.cqEmpresasHero p {
  max-width: 760px;
  margin: 0 0 24px;
  color: rgba(255, 255, 255, 0.86);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.7;
}

.cqEmpresasHero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.cqEmpresasHero__badges span {
  padding: 9px 13px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.20);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13.5px;
  font-weight: 800;
}

.cqEmpresasHero__actions,
.cqEmpresasCTA__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.cqEmpresasBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 24px;
  border-radius: 999px;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14.5px;
  font-weight: 900;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.cqEmpresasBtn--primary {
  color: #172638 !important;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.cqEmpresasBtn--secondary {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
}

.cqEmpresasBtn:hover {
  transform: translateY(-2px);
}

/* INTRO */
.cqEmpresasIntro {
  padding: clamp(78px, 8vw, 125px) 0;
  background:
    radial-gradient(circle at 12% 14%, rgba(202, 162, 74, 0.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.cqEmpresasIntro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 42px;
  align-items: center;
}

.cqEmpresasIntro__content h2,
.cqEmpresasHeader h2,
.cqEmpresasCTA h2 {
  margin: 0 0 18px;
  color: #172638 !important;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.04;
}

.cqEmpresasIntro__content p,
.cqEmpresasHeader p {
  max-width: 820px;
  color: rgba(23, 38, 56, 0.76);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 17px;
  line-height: 1.8;
}

.cqEmpresasIntro__card {
  padding: 30px;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 26px 70px rgba(23, 38, 56, 0.10);
}

.cqEmpresasIntro__card span {
  display: inline-block;
  margin-bottom: 12px;
  color: #8a6425;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqEmpresasIntro__card h3 {
  margin: 0 0 12px;
  color: #172638;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 38px;
  font-weight: 700;
}

.cqEmpresasIntro__card p,
.cqEmpresasIntro__card li {
  color: rgba(23, 38, 56, 0.75);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  line-height: 1.65;
}

.cqEmpresasIntro__card ul {
  margin: 18px 0 22px;
  padding: 0;
  list-style: none;
}

.cqEmpresasIntro__card li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
}

.cqEmpresasIntro__card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #caa24a;
}

.cqEmpresasIntro__card a {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, #172638, #2c3e50);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

/* HEADER */
.cqEmpresasHeader {
  max-width: 880px;
  margin: 0 auto 44px;
  text-align: center;
}

/* ROOMS */
.cqEmpresasRooms {
  padding: clamp(78px, 8vw, 125px) 0;
  background: #ffffff;
}

.cqEmpresasRooms__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.cqEmpresasRoomCard {
  overflow: hidden;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 22px 58px rgba(23, 38, 56, 0.09);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.cqEmpresasRoomCard:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 76px rgba(23, 38, 56, 0.14);
}

.cqEmpresasRoomCard picture,
.cqEmpresasRoomCard img {
  display: block;
  width: 100%;
}

.cqEmpresasRoomCard img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.cqEmpresasRoomCard__body {
  padding: 26px;
}

.cqEmpresasRoomCard__body span {
  display: inline-block;
  margin-bottom: 10px;
  color: #8a6425;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqEmpresasRoomCard__body h3 {
  margin: 0 0 12px;
  color: #172638;
  font-family: var(--font-titulos, "Cormorant Garamond", Georgia, serif);
  font-size: 36px;
  font-weight: 700;
}

.cqEmpresasRoomCard__body p,
.cqEmpresasRoomCard__body li {
  color: rgba(23, 38, 56, 0.74);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15.5px;
  line-height: 1.65;
}

.cqEmpresasRoomCard__body ul {
  margin: 18px 0 22px;
  padding: 0;
  list-style: none;
}

.cqEmpresasRoomCard__body li {
  position: relative;
  padding-left: 23px;
  margin-bottom: 8px;
}

.cqEmpresasRoomCard__body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1ab394;
}

.cqEmpresasRoomCard__body a {
  color: #8a6425;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

/* BENEFITS */
.cqEmpresasBenefits {
  padding: clamp(78px, 8vw, 125px) 0;
  background:
    radial-gradient(circle at 12% 16%, rgba(202, 162, 74, 0.10), transparent 32%),
    linear-gradient(180deg, #f8f6f1 0%, #ffffff 100%);
}

.cqEmpresasBenefits__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.cqEmpresasBenefits__grid article {
  padding: 26px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(23, 38, 56, 0.08);
  box-shadow: 0 18px 46px rgba(23, 38, 56, 0.07);
}

.cqEmpresasBenefits__grid span {
  display: inline-flex;
  margin-bottom: 16px;
  color: #caa24a;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 28px;
  font-weight: 900;
}

.cqEmpresasBenefits__grid h3 {
  margin: 0 0 10px;
  color: #172638;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 19px;
  font-weight: 900;
}

.cqEmpresasBenefits__grid p {
  margin: 0;
  color: rgba(23, 38, 56, 0.72);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.65;
}

/* CTA */
.cqEmpresasCTA {
  padding: clamp(80px, 8vw, 125px) 16px;
  background: #ffffff;
}

.cqEmpresasCTA__box {
  width: min(1080px, 100%);
  margin: 0 auto;
  padding: clamp(34px, 5vw, 58px);
  border-radius: 34px;
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 14%, rgba(202, 162, 74, 0.28), transparent 32%),
    linear-gradient(135deg, #172638 0%, #2c3e50 100%);
  box-shadow: 0 30px 80px rgba(23, 38, 56, 0.22);
}

.cqEmpresasCTA__box > span {
  display: inline-block;
  margin-bottom: 12px;
  color: #f5d894;
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cqEmpresasCTA h2 {
  max-width: 880px;
  color: #ffffff !important;
}

.cqEmpresasCTA p {
  max-width: 760px;
  margin: 0 0 26px;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-textos, Inter, Arial, sans-serif);
  font-size: 17px;
  line-height: 1.7;
}

/* Responsive */
@media (max-width: 991.98px) {
  .cqEmpresasHero {
    min-height: 680px;
  }

  .cqEmpresasIntro__grid,
  .cqEmpresasRooms__grid,
  .cqEmpresasBenefits__grid {
    grid-template-columns: 1fr;
  }

  .cqEmpresasIntro__card {
    max-width: 520px;
  }
}

@media (max-width: 767.98px) {
  .cqEmpresasHero {
    min-height: 640px;
  }

  .cqEmpresasHero__content {
    padding-top: 70px;
  }

  .cqEmpresasHero h1 {
    font-size: 42px;
  }

  .cqEmpresasHero__actions,
  .cqEmpresasCTA__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cqEmpresasBtn {
    width: 100%;
  }

  .cqEmpresasIntro,
  .cqEmpresasRooms,
  .cqEmpresasBenefits,
  .cqEmpresasCTA {
    padding-top: 62px;
    padding-bottom: 72px;
  }

  .cqEmpresasIntro__content h2,
  .cqEmpresasHeader h2,
  .cqEmpresasCTA h2 {
    font-size: 38px;
  }

  .cqEmpresasRoomCard__body h3,
  .cqEmpresasIntro__card h3 {
    font-size: 32px;
  }
}