/* ==========================================================
   CheckinFans Refresh UI
   Capa visual oficial sobre el sitio actual.
   Se carga después de style.css para cambiar solo la piel del home.
   ========================================================== */

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Montserrat:wght@700;800;900&display=swap");

:root {
  --cf-refresh-blue: #001b2e;
  --cf-refresh-blue-soft: #06243a;
  --cf-refresh-orange: #ff7a00;
  --cf-refresh-orange-dark: #e56d00;
  --cf-refresh-bg: #f6f8fb;
  --cf-refresh-surface: #ffffff;
  --cf-refresh-border: #e5e7eb;
  --cf-refresh-text: #111827;
  --cf-refresh-text-soft: #64748b;
  --cf-refresh-radius: 22px;
  --cf-refresh-shadow: 0 14px 38px rgba(0, 27, 46, 0.1);
}

/* ==========================================================
   Base
   ========================================================== */

body {
  background: var(--cf-refresh-bg);
  color: var(--cf-refresh-text);
  font-family: "Manrope", "DM Sans", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ==========================================================
   Home real - Hero
   ========================================================== */

main > section.pt-0:first-of-type {
  position: relative !important;
  overflow: hidden !important;
  min-height: 620px !important;
  padding: 0 !important;
  background: var(--cf-refresh-blue) !important;
}

main > section.pt-0:first-of-type > .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

main > section.pt-0:first-of-type .rounded-3 {
  position: relative !important;
  min-height: 620px !important;
  border-radius: 0 !important;
  padding: 74px 32px 78px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: hidden !important;
  background: transparent !important;
}

main > section.pt-0:first-of-type .cf-refresh-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url("/assets/images/system/hero-checkinfans-v2.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

main > section.pt-0:first-of-type .rounded-3::before {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    90deg,
    rgba(0, 27, 46, 0.92) 0%,
    rgba(0, 27, 46, 0.72) 48%,
    rgba(0, 27, 46, 0.28) 100%
  ) !important;
}

.cf-refresh-hero-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 980px) !important;
  margin: 0 auto 30px !important;
  color: #ffffff !important;
}

.cf-refresh-hero-kicker {
  margin-bottom: 14px !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--cf-refresh-orange) !important;
}

.cf-refresh-hero-title {
  max-width: 720px !important;
  margin: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(48px, 6vw, 82px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.055em !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.cf-refresh-hero-title span {
  color: var(--cf-refresh-orange) !important;
}

.cf-refresh-hero-text {
  max-width: 560px !important;
  margin: 24px 0 0 !important;
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

.cf-refresh-hero-text strong {
  color: #ffffff !important;
}

/* ==========================================================
   Home real - Buscador
   ========================================================== */

main > section.pt-0:first-of-type .rounded-3 > .cf-refresh-search-wrap {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 880px) !important;
  max-width: 880px !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#formBusqueda {
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 28px !important;
  overflow: visible !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.22) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

#formBusqueda .card-header {
  display: none !important;
}

#formBusqueda .card-body {
  padding: 16px 18px !important;
}

#formBusqueda .cf-refresh-search-row {
  display: grid !important;
  grid-template-columns: 1.92fr 0.95fr 0.95fr 0.95fr 1.42fr !important;
  gap: 12px !important;
  align-items: end !important;
  margin: 0 !important;
}

#formBusqueda .cf-refresh-search-row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

#formBusqueda label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--cf-refresh-blue-soft) !important;
  font-family: "Manrope", sans-serif !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
}

#formBusqueda .form-icon-input {
  position: relative !important;
}

#formBusqueda .form-icon {
  display: none !important;
}

#formBusqueda .form-control,
#formBusqueda .form-select,
#formBusqueda .form-guest-selector {
  min-height: 48px !important;
  height: 48px !important;
  width: 100% !important;
  border-radius: 14px !important;
  border: 1px solid #e7ebf0 !important;
  background-color: #ffffff !important;
  color: #1f2937 !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  padding: 0 16px !important;
  margin: 0 !important;
}

#formBusqueda .form-control::placeholder,
#formBusqueda .form-guest-selector::placeholder {
  color: #6b7280 !important;
  opacity: 0.92 !important;
}

/* Choices.js convierte el select de ubicación. Estas reglas evitan que style.css lo infle o lo parta en dos líneas. */
#formBusqueda .choices {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: visible !important;
}

#formBusqueda .choices__inner {
  min-height: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 14px !important;
  border: 1px solid #e7ebf0 !important;
  background-color: #ffffff !important;
  padding: 0 16px !important;
  box-shadow: none !important;
}

#formBusqueda .choices__list--single {
  width: 100% !important;
  padding: 0 !important;
}

#formBusqueda .choices__item,
#formBusqueda .choices__placeholder,
#formBusqueda .choices__list--single .choices__item {
  max-width: 100% !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: #6b7280 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  opacity: 1 !important;
}

#formBusqueda .choices[data-type*="select-one"]::after {
  display: none !important;
}

#formBusqueda .choices__list--dropdown,
#formBusqueda .choices__list[aria-expanded] {
  z-index: 9999 !important;
}

#formBusqueda .form-control:focus,
#formBusqueda .form-select:focus,
#formBusqueda .form-guest-selector:focus,
#formBusqueda .choices.is-focused .choices__inner,
#formBusqueda .choices.is-open .choices__inner {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 4px rgba(255, 122, 0, 0.12) !important;
}

#formBusqueda .guest-selector {
  width: 100% !important;
  margin: 0 !important;
}

#formBusqueda .form-guest-selector {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#formBusqueda .guest-selector-dropdown {
  min-width: 280px !important;
  z-index: 9999 !important;
}

#formBusqueda button[type="submit"],
#formBusqueda .btn-primary {
  min-height: 48px !important;
  height: 48px !important;
  width: 100% !important;
  border-radius: 14px !important;
  border: 0 !important;
  padding: 0 22px !important;
  margin: 0 !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 28px rgba(255, 122, 0, 0.28) !important;
}

#formBusqueda button[type="submit"] i,
#formBusqueda .btn-primary i {
  display: none !important;
}

#formBusqueda button[type="submit"]:hover,
#formBusqueda .btn-primary:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px);
}

/* ==========================================================
   Ajuste fino buscador refresh - similar home-v2
   ========================================================== */

/* Alinea hero y buscador al mismo eje visual */
.cf-refresh-hero-copy,
main > section.pt-0:first-of-type .rounded-3 > .col-12 {
  width: min(100% - 96px, 1220px) !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Buscador más ancho, centrado y proporcional */
.cf-refresh-search-wrap,
#formBusqueda {
  width: 100% !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Caja principal */
#formBusqueda {
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 24px 62px rgba(0, 27, 46, 0.24) !important;
}

#formBusqueda .card-body {
  padding: 18px 22px !important;
}

#formBusqueda .cf-refresh-search-row,
#formBusqueda .row {
  display: grid !important;
  grid-template-columns: 2.15fr 1.2fr 1.45fr 1.45fr 1.85fr !important;
  gap: 16px !important;
  align-items: end !important;
  margin: 0 !important;
}

#formBusqueda .cf-refresh-search-row > *,
#formBusqueda .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Labels */
#formBusqueda label {
  margin-bottom: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: var(--cf-refresh-blue-soft) !important;
}

/* Campos */
#formBusqueda .form-control,
#formBusqueda .form-select,
#formBusqueda .form-guest-selector,
#formBusqueda .choices__inner {
  min-height: 52px !important;
  height: 52px !important;
  border-radius: 15px !important;
  border: 1px solid #e3e8ef !important;
  background-color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1f2937 !important;
  box-shadow: none !important;
}

/* Choices.js ubicación */
#formBusqueda .choices {
  margin-bottom: 0 !important;
}

#formBusqueda .choices__inner {
  display: flex !important;
  align-items: center !important;
  padding: 0 48px 0 18px !important;
}

#formBusqueda .choices__list--single {
  padding: 0 !important;
}

#formBusqueda .choices__item {
  font-size: 15px !important;
  color: #1f2937 !important;
}

#formBusqueda .choices__placeholder {
  color: #6b7280 !important;
  opacity: 1 !important;
}

/* Evita que el dropdown quede visible si Choices no está realmente abierto */
#formBusqueda .choices:not(.is-open) .choices__list--dropdown {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Dropdown ubicación */
#formBusqueda .choices__list--dropdown {
  margin-top: 6px !important;
  border-radius: 14px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 16px 36px rgba(0, 27, 46, 0.16) !important;
  overflow: hidden !important;
}

/* Botón buscar */
#formBusqueda button[type="submit"],
#formBusqueda .btn-primary {
  min-height: 52px !important;
  height: 52px !important;
  border-radius: 15px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  background: var(--cf-refresh-orange) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.3) !important;
}

/* Responsive */
@media (max-width: 1140px) {
  .cf-refresh-hero-copy,
  main > section.pt-0:first-of-type .rounded-3 > .col-12 {
    width: min(100% - 48px, 980px) !important;
  }

  #formBusqueda .cf-refresh-search-row,
  #formBusqueda .row {
    grid-template-columns: 1.5fr 1fr 1fr !important;
  }

  #formBusqueda .cf-refresh-search-location,
  #formBusqueda .row > [class*="col-"]:nth-child(1) {
    grid-column: span 3 !important;
  }

  #formBusqueda .cf-refresh-search-button,
  #formBusqueda .row > [class*="col-"]:nth-child(5) {
    grid-column: span 3 !important;
  }
}

@media (max-width: 910px) {
  .cf-refresh-hero-copy,
  main > section.pt-0:first-of-type .rounded-3 > .col-12 {
    width: min(100% - 36px, 760px) !important;
  }

  #formBusqueda .cf-refresh-search-row,
  #formBusqueda .row {
    grid-template-columns: 1fr 1fr !important;
  }

  #formBusqueda .cf-refresh-search-location,
  #formBusqueda .cf-refresh-search-button,
  #formBusqueda .row > [class*="col-"]:nth-child(1),
  #formBusqueda .row > [class*="col-"]:nth-child(5) {
    grid-column: span 2 !important;
  }
}

@media (max-width: 575.98px) {
  .cf-refresh-hero-copy,
  main > section.pt-0:first-of-type .rounded-3 > .col-12 {
    width: min(100% - 28px, 100%) !important;
  }

  #formBusqueda .cf-refresh-search-row,
  #formBusqueda .row {
    grid-template-columns: 1fr !important;
  }

  #formBusqueda .cf-refresh-search-location,
  #formBusqueda .cf-refresh-search-button,
  #formBusqueda .row > [class*="col-"]:nth-child(1),
  #formBusqueda .row > [class*="col-"]:nth-child(5) {
    grid-column: auto !important;
  }
}
/* ==========================================================
   Home real - Beneficios
   ========================================================== */

.cf-refresh-benefits {
  padding: 0 !important;
  margin: 0 !important;
  background: var(--cf-refresh-blue) !important;
  color: #ffffff !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  overflow: hidden !important;
}

.cf-refresh-benefits > .container-fluid {
  width: min(100% - 48px, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

.cf-refresh-benefits-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
}

.cf-refresh-benefit-item {
  min-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 17px 16px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  min-width: 0 !important;
}

.cf-refresh-benefit-item:last-child {
  border-right: 0 !important;
}

.cf-refresh-benefit-icon {
  flex: 0 0 auto !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid var(--cf-refresh-orange) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.cf-refresh-benefit-content {
  min-width: 0 !important;
}

.cf-refresh-benefit-title {
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
}

.cf-refresh-benefit-text {
  margin-top: 4px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

/* ==========================================================
   Home real - Filtros iniciales
   ========================================================== */

main > section.pt-0.pb-3.pt-2 {
  padding-top: 0 !important;
  padding-bottom: 18px !important;
  background: var(--cf-refresh-bg) !important;
}

main > section.pt-0.pb-3.pt-2 > .container-fluid.position-relative {
  padding-top: 14px !important;
}

main
  > section.pt-0.pb-3.pt-2
  > .container-fluid.position-relative
  > .d-flex.justify-content-between {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 27, 46, 0.1) !important;
  background: #ffffff !important;
  color: var(--cf-refresh-blue) !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(0, 27, 46, 0.08) !important;
}

main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"] i {
  color: var(--cf-refresh-orange) !important;
}

main > section.pt-0.pb-3.pt-2 #resultados-busqueda {
  font-family: "Manrope", sans-serif !important;
}

/* ==========================================================
   Responsive
   ========================================================== */

@media (max-width: 1140px) {
  main > section.pt-0:first-of-type .rounded-3 {
    min-height: 600px !important;
    padding: 64px 24px 76px !important;
  }

  main > section.pt-0:first-of-type .rounded-3 > .cf-refresh-search-wrap,
  #formBusqueda {
    width: min(100%, 940px) !important;
    max-width: 940px !important;
  }

  #formBusqueda .cf-refresh-search-row {
    grid-template-columns: 1.4fr 1fr 1fr !important;
  }

  #formBusqueda .cf-refresh-search-location,
  #formBusqueda .cf-refresh-search-button {
    grid-column: span 3 !important;
  }

  .cf-refresh-benefits-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .cf-refresh-benefit-item:nth-child(3n) {
    border-right: 0 !important;
  }
}

@media (max-width: 910px) {
  main > section.pt-0:first-of-type .rounded-3 {
    min-height: auto !important;
    padding: 54px 18px 64px !important;
  }

  .cf-refresh-hero-copy,
  main > section.pt-0:first-of-type .rounded-3 > .cf-refresh-search-wrap {
    width: min(100%, 94vw) !important;
  }

  .cf-refresh-hero-title {
    font-size: clamp(40px, 10vw, 62px) !important;
  }

  #formBusqueda {
    max-width: none !important;
  }

  #formBusqueda .cf-refresh-search-row {
    grid-template-columns: 1fr 1fr !important;
  }

  #formBusqueda .cf-refresh-search-location,
  #formBusqueda .cf-refresh-search-button {
    grid-column: span 2 !important;
  }

  .cf-refresh-benefits > .container-fluid {
    width: min(100% - 32px, 720px) !important;
  }

  .cf-refresh-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cf-refresh-benefit-item:nth-child(3n) {
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .cf-refresh-benefit-item:nth-child(2n) {
    border-right: 0 !important;
  }
}

@media (max-width: 575.98px) {
  main > section.pt-0:first-of-type .rounded-3 {
    padding: 44px 14px 52px !important;
  }

  .cf-refresh-hero-title {
    font-size: 42px !important;
  }

  .cf-refresh-hero-text {
    font-size: 17px !important;
  }

  #formBusqueda .card-body {
    padding: 14px !important;
  }

  #formBusqueda .cf-refresh-search-row {
    grid-template-columns: 1fr !important;
  }

  #formBusqueda .cf-refresh-search-location,
  #formBusqueda .cf-refresh-search-button {
    grid-column: auto !important;
  }

  .cf-refresh-benefits > .container-fluid {
    width: 100% !important;
  }

  .cf-refresh-benefits-grid {
    grid-template-columns: 1fr !important;
  }

  .cf-refresh-benefit-item {
    min-height: 78px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 14px 20px !important;
  }

  .cf-refresh-benefit-item:last-child {
    border-bottom: 0 !important;
  }
}
/* ==========================================================
   OVERRIDE FINAL - Buscador refresh alineado y naranja
   Solo home / hero / formBusqueda
   ========================================================== */

/* Mismo eje visual para título y buscador */
body main > section.pt-0:first-of-type .cf-refresh-hero-copy,
body main > section.pt-0:first-of-type .rounded-3 > .col-12 {
  width: min(100% - 72px, 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Caja de búsqueda más ancha y centrada */
body main > section.pt-0:first-of-type #formBusqueda {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 24px 62px rgba(0, 27, 46, 0.24) !important;
}

body main > section.pt-0:first-of-type #formBusqueda .card-body {
  padding: 18px 22px !important;
}

/* Grilla definitiva: todos los campos alineados arriba */
body main > section.pt-0:first-of-type #formBusqueda .cf-refresh-search-row,
body main > section.pt-0:first-of-type #formBusqueda .row {
  display: grid !important;
  grid-template-columns: 2.25fr 1.25fr 1.45fr 1.45fr 1.85fr !important;
  gap: 16px !important;
  align-items: start !important;
  margin: 0 !important;
}

/* Neutraliza Bootstrap dentro del buscador */
body main > section.pt-0:first-of-type #formBusqueda .cf-refresh-search-row > *,
body main > section.pt-0:first-of-type #formBusqueda .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* Labels perfectamente alineados */
body main > section.pt-0:first-of-type #formBusqueda label {
  display: block !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 16px !important;
  color: var(--cf-refresh-blue-soft) !important;
}

/* Contenedor de cada input */
body main > section.pt-0:first-of-type #formBusqueda .form-icon-input {
  position: relative !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Todos los campos misma altura */
body main > section.pt-0:first-of-type #formBusqueda .form-control,
body main > section.pt-0:first-of-type #formBusqueda .form-select,
body main > section.pt-0:first-of-type #formBusqueda .form-guest-selector,
body main > section.pt-0:first-of-type #formBusqueda .choices__inner {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;

  margin: 0 !important;
  border-radius: 15px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1f2937 !important;

  box-shadow: none !important;
}

/* Ubicación / Choices */
body main > section.pt-0:first-of-type #formBusqueda .choices {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body main > section.pt-0:first-of-type #formBusqueda .choices__inner {
  display: flex !important;
  align-items: center !important;
  padding: 0 52px 0 18px !important;
}

body main > section.pt-0:first-of-type #formBusqueda .choices__list--single {
  padding: 0 !important;
  margin: 0 !important;
}

body main > section.pt-0:first-of-type #formBusqueda .choices__item {
  font-size: 15px !important;
  line-height: 52px !important;
}

/* Botón buscar alineado con inputs */
body main > section.pt-0:first-of-type #formBusqueda button[type="submit"],
body main > section.pt-0:first-of-type #formBusqueda .btn-primary {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;

  margin-top: 24px !important;
  border-radius: 15px !important;
  border: 0 !important;

  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.3) !important;
}

/* Responsive */
@media (max-width: 1140px) {
  body main > section.pt-0:first-of-type .cf-refresh-hero-copy,
  body main > section.pt-0:first-of-type .rounded-3 > .col-12 {
    width: min(100% - 48px, 980px) !important;
  }

  body main > section.pt-0:first-of-type #formBusqueda .cf-refresh-search-row,
  body main > section.pt-0:first-of-type #formBusqueda .row {
    grid-template-columns: 1.5fr 1fr 1fr !important;
  }

  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .cf-refresh-search-location,
  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .row
    > [class*="col-"]:nth-child(1) {
    grid-column: span 3 !important;
  }

  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .cf-refresh-search-button,
  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .row
    > [class*="col-"]:nth-child(5) {
    grid-column: span 3 !important;
  }
}

@media (max-width: 575.98px) {
  body main > section.pt-0:first-of-type .cf-refresh-hero-copy,
  body main > section.pt-0:first-of-type .rounded-3 > .col-12 {
    width: min(100% - 28px, 100%) !important;
  }

  body main > section.pt-0:first-of-type #formBusqueda .cf-refresh-search-row,
  body main > section.pt-0:first-of-type #formBusqueda .row {
    grid-template-columns: 1fr !important;
  }

  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .cf-refresh-search-location,
  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .cf-refresh-search-button,
  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .row
    > [class*="col-"]:nth-child(1),
  body
    main
    > section.pt-0:first-of-type
    #formBusqueda
    .row
    > [class*="col-"]:nth-child(5) {
    grid-column: auto !important;
  }

  body main > section.pt-0:first-of-type #formBusqueda button[type="submit"],
  body main > section.pt-0:first-of-type #formBusqueda .btn-primary {
    margin-top: 0 !important;
  }
}
/* ==========================================================
   FIX - Dropdown ubicación Choices visible completo
   ========================================================== */

/* Permite que el desplegable salga por fuera del input */
body main > section.pt-0:first-of-type #formBusqueda,
body main > section.pt-0:first-of-type #formBusqueda .card-body,
body main > section.pt-0:first-of-type #formBusqueda .cf-refresh-search-row,
body main > section.pt-0:first-of-type #formBusqueda .row,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .cf-refresh-search-location,
body main > section.pt-0:first-of-type #formBusqueda .form-icon-input,
body main > section.pt-0:first-of-type #formBusqueda .choices {
  overflow: visible !important;
}

/* La columna ubicación debe quedar por arriba de los demás campos */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .cf-refresh-search-location,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .row
  > [class*="col-"]:nth-child(1) {
  position: relative !important;
  z-index: 80 !important;
}

/* Choices abierto por encima del buscador */
body main > section.pt-0:first-of-type #formBusqueda .choices.is-open {
  z-index: 90 !important;
}

/* Dropdown completo, sin cortarse */
body main > section.pt-0:first-of-type #formBusqueda .choices__list--dropdown,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded] {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: auto !important;

  width: 100% !important;
  min-width: 280px !important;
  max-height: none !important;

  display: block;
  overflow: visible !important;

  border-radius: 14px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.22) !important;

  z-index: 9999 !important;
}

/* Lista interna scrolleable si hay muchas opciones */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list--dropdown
  .choices__list,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded]
  .choices__list {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Ítems del dropdown: altura normal, no la altura del input */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list--dropdown
  .choices__item,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded]
  .choices__item {
  min-height: auto !important;
  height: auto !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: #1f2937 !important;
}

/* Hover / selección */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list--dropdown
  .choices__item--selectable.is-highlighted,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded]
  .choices__item--selectable.is-highlighted {
  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-refresh-blue) !important;
}

/* ==========================================================
   FIX REAL - Dropdown ubicación sobre beneficios
   ========================================================== */

/* El hero debe permitir que el dropdown salga hacia abajo */
body main > section.pt-0:first-of-type,
body main > section.pt-0:first-of-type > .container,
body main > section.pt-0:first-of-type .rounded-3 {
  overflow: visible !important;
}

/* El hero queda arriba de beneficios mientras el dropdown está abierto */
body main > section.pt-0:first-of-type {
  position: relative !important;
  z-index: 50 !important;
}

/* Beneficios queda debajo del hero */
body .cf-refresh-benefits {
  position: relative !important;
  z-index: 1 !important;
}

/* El buscador tiene prioridad sobre el hero */
body main > section.pt-0:first-of-type #formBusqueda {
  position: relative !important;
  z-index: 500 !important;
  overflow: visible !important;
}

/* Card-body y grilla no deben cortar el dropdown */
body main > section.pt-0:first-of-type #formBusqueda .card-body,
body main > section.pt-0:first-of-type #formBusqueda .cf-refresh-search-row,
body main > section.pt-0:first-of-type #formBusqueda .row,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .cf-refresh-search-location,
body main > section.pt-0:first-of-type #formBusqueda .form-icon-input {
  overflow: visible !important;
}

/* La columna de ubicación debe quedar por arriba del resto */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .cf-refresh-search-location,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .row
  > [class*="col-"]:first-child {
  position: relative !important;
  z-index: 700 !important;
}

/* Choices abierto */
body main > section.pt-0:first-of-type #formBusqueda .choices {
  position: relative !important;
  z-index: 800 !important;
  overflow: visible !important;
}

/* Dropdown principal */
body main > section.pt-0:first-of-type #formBusqueda .choices__list--dropdown,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded] {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: auto !important;

  width: 100% !important;
  min-width: 360px !important;
  max-height: 260px !important;

  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 48px rgba(0, 27, 46, 0.28) !important;

  z-index: 999999 !important;
}

/* Lista interna con scroll */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list--dropdown
  .choices__list,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded]
  .choices__list {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Ítems del dropdown */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list--dropdown
  .choices__item,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded]
  .choices__item {
  height: auto !important;
  min-height: 42px !important;
  padding: 11px 16px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #1f2937 !important;
}

/* Opción resaltada */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list--dropdown
  .choices__item--selectable.is-highlighted,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices__list[aria-expanded]
  .choices__item--selectable.is-highlighted {
  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-refresh-blue) !important;
}
/* ==========================================================
   FIX LIMPIO - Badge borrar búsqueda
   Respeta el JS original: inline-block = visible / none = oculto
   ========================================================== */

body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .cf-refresh-search-location,
body main > section.pt-0:first-of-type #formBusqueda .form-icon-input {
  position: relative !important;
}

/* Base visual del badge. No fuerza display para no romper el JS */
body main > section.pt-0:first-of-type #badgeBorrarBusqueda {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  left: auto !important;
  transform: translateY(-50%) !important;

  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;

  background: var(--cf-refresh-orange) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;

  box-shadow: 0 8px 18px rgba(255, 122, 0, 0.28) !important;
  overflow: hidden !important;

  z-index: 5000 !important;
  pointer-events: auto !important;
}

/* Si el JS original lo oculta, se respeta */
body
  main
  > section.pt-0:first-of-type
  #badgeBorrarBusqueda[style*="display: none"] {
  display: none !important;
}

/* Si el JS original lo muestra, lo convertimos visualmente en círculo centrado */
body
  main
  > section.pt-0:first-of-type
  #badgeBorrarBusqueda[style*="display: inline-block"],
body
  main
  > section.pt-0:first-of-type
  #badgeBorrarBusqueda[style*="display: block"],
body
  main
  > section.pt-0:first-of-type
  #badgeBorrarBusqueda[style*="display: grid"],
body
  main
  > section.pt-0:first-of-type
  #badgeBorrarBusqueda[style*="display: flex"] {
  display: grid !important;
  place-items: center !important;
}

body main > section.pt-0:first-of-type #badgeBorrarBusqueda::before {
  content: "×" !important;
  position: absolute !important;
  inset: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #ffffff !important;
  text-indent: 0 !important;

  font-family: Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 30px !important;
}
/* ==========================================================
   AJUSTE FINO FINAL - buscador / badge / flatpickr
   ========================================================== */

/* ------------------------------
   Badge: mismo efecto hover que botón buscar
   ------------------------------ */
body main > section.pt-0:first-of-type #badgeBorrarBusqueda {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease !important;
}

body main > section.pt-0:first-of-type #badgeBorrarBusqueda:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-50%) scale(1.06) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.3) !important;
}

/* ------------------------------
   Campos más redondeados
   Personas / Check-in / Check-out / Ubicación
   ------------------------------ */
body main > section.pt-0:first-of-type #formBusqueda .form-control,
body main > section.pt-0:first-of-type #formBusqueda .form-select,
body main > section.pt-0:first-of-type #formBusqueda .form-guest-selector,
body main > section.pt-0:first-of-type #formBusqueda .choices__inner {
  border-radius: 18px !important;
}

body main > section.pt-0:first-of-type #formBusqueda button[type="submit"],
body main > section.pt-0:first-of-type #formBusqueda .btn-primary {
  border-radius: 18px !important;
}

/* ------------------------------
   Dropdown personas: por encima y con esquinas más suaves
   ------------------------------ */
body main > section.pt-0:first-of-type #formBusqueda .guest-selector {
  position: relative !important;
}

body main > section.pt-0:first-of-type #formBusqueda .guest-selector-dropdown {
  z-index: 999999 !important;
  border-radius: 18px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 22px 48px rgba(0, 27, 46, 0.22) !important;
  overflow: hidden !important;
}

body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .guest-selector-dropdown
  .btn-link {
  color: var(--cf-refresh-orange) !important;
}

body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .guest-selector-dropdown
  .btn-link:hover {
  color: var(--cf-refresh-orange-dark) !important;
}

/* ==========================================================
   Flatpickr - caja exterior sin deformar rango
   ========================================================== */

body .flatpickr-calendar {
  border-radius: 18px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.18) !important;
  overflow: hidden !important;
  z-index: 999999 !important;
}
/* ==========================================================
   HEADER REFRESH - proporciones tipo home-v2
   ========================================================== */

body .cf-refresh-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(0, 27, 46, 0.08) !important;
}

body .cf-refresh-navbar {
  min-height: 78px !important;
  padding: 0 !important;
}

body .cf-refresh-header-inner {
  min-height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  max-width: 1180px !important;
}

/* Logo */
body .cf-refresh-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  flex: 0 0 auto !important;
}

/* Contenedor del ícono: acá estaba el problema */
body .cf-refresh-logo-mark {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: hidden !important;
  flex: 0 0 48px !important;
}

/* Imagen PNG/SVG del logo: forzada a tamaño correcto */
body .cf-refresh-logo-img,
body .cf-refresh-logo img,
body .cf-refresh-header .navbar-brand img {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Texto del logo */
body .cf-refresh-logo-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-width: 0 !important;
}

body .cf-refresh-logo-name {
  display: block !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: var(--cf-refresh-blue) !important;
  white-space: nowrap !important;
}

body .cf-refresh-logo-checkin {
  color: var(--cf-refresh-blue) !important;
}

body .cf-refresh-logo-fans {
  color: var(--cf-refresh-orange) !important;
}

body .cf-refresh-logo-subtitle {
  display: block !important;
  margin-top: 6px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

/* Navegación */
body .cf-refresh-nav-collapse {
  flex-grow: 1 !important;
}

body .cf-refresh-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  margin: 0 auto !important;
}

body .cf-refresh-nav .nav-item {
  display: flex !important;
  align-items: center !important;
}

body .cf-refresh-nav .nav-link {
  padding: 0 !important;
  margin: 0 !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--cf-refresh-blue) !important;
  opacity: 0.88 !important;
  white-space: nowrap !important;
  transition:
    color 0.18s ease,
    opacity 0.18s ease,
    transform 0.18s ease !important;
}

body .cf-refresh-nav .nav-link:hover {
  color: var(--cf-refresh-orange) !important;
  opacity: 1 !important;
  transform: translateY(-1px) !important;
}

/* Link Inicia sesión como botón tipo V2 */
body .cf-refresh-nav .cf-refresh-login-link {
  padding: 10px 16px !important;
  border: 1px solid rgba(0, 27, 46, 0.1) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(0, 27, 46, 0.05) !important;
}

body .cf-refresh-nav .cf-refresh-login-link:hover {
  border-color: rgba(255, 122, 0, 0.35) !important;
  box-shadow: 0 10px 24px rgba(255, 122, 0, 0.12) !important;
}

/* Avatar / usuario */
body .cf-refresh-user-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

body .cf-refresh-user-nav img,
body .cf-refresh-user-nav .avatar-img {
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body .cf-refresh-header-inner {
    max-width: 100% !important;
  }

  body .cf-refresh-nav {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 18px 0 !important;
  }

  body .cf-refresh-nav .nav-item {
    width: 100% !important;
  }

  body .cf-refresh-nav .nav-link {
    width: 100% !important;
    padding: 10px 0 !important;
  }

  body .cf-refresh-nav .cf-refresh-login-link {
    width: auto !important;
    padding: 10px 16px !important;
    margin-top: 8px !important;
  }
}

@media (max-width: 575.98px) {
  body .cf-refresh-navbar,
  body .cf-refresh-header-inner {
    min-height: 68px !important;
  }

  body .cf-refresh-logo-mark,
  body .cf-refresh-logo-img,
  body .cf-refresh-logo img,
  body .cf-refresh-header .navbar-brand img {
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
  }

  body .cf-refresh-logo-name {
    font-size: 20px !important;
  }

  body .cf-refresh-logo-subtitle {
    font-size: 8.5px !important;
    letter-spacing: 0.11em !important;
  }
}
/* ==========================================================
   HEADER REFRESH - Ajuste fino de fuentes logo/nav
   ========================================================== */

/* Logo texto más parecido a home-v2 */
body .cf-refresh-logo-name {
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: 31px !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

/* Colores del logo */
body .cf-refresh-logo-checkin {
  color: var(--cf-refresh-blue) !important;
}

body .cf-refresh-logo-fans {
  color: var(--cf-refresh-orange) !important;
}

/* Subtítulo más fino y separado como V2 */
body .cf-refresh-logo-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  line-height: 1 !important;
  color: #64748b !important;
}

/* Menú menos pesado, más parecido a V2 */
body .cf-refresh-nav .nav-link {
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
/* ==========================================================
   HEADER REFRESH - Icono usuario invitado
   ========================================================== */

/* Contenedor del avatar invitado */
body .cf-refresh-header .avatar.avatar-md {
  width: 44px !important;
  height: 44px !important;
  margin-top: 0 !important;
}

/* Círculo del usuario invitado: paleta CheckinFans */
body .cf-refresh-header .avatar-img.bg-primary,
body .cf-refresh-header .avatar-img.bg-primary.bg-opacity-10 {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(255, 122, 0, 0.11) !important;
  border: 1px solid rgba(255, 122, 0, 0.32) !important;
  box-shadow: 0 8px 22px rgba(255, 122, 0, 0.12) !important;

  position: relative !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease !important;
}

/* Color del ícono SVG */
body .cf-refresh-header .avatar-img.bg-primary .text-primary,
body .cf-refresh-header .avatar-img.bg-primary.bg-opacity-10 .text-primary {
  color: var(--cf-refresh-orange) !important;
}

/* Tamaño del ícono */
body .cf-refresh-header .avatar-img.bg-primary svg,
body .cf-refresh-header .avatar-img.bg-primary.bg-opacity-10 svg {
  width: 28px !important;
  height: 28px !important;
  color: var(--cf-refresh-orange) !important;
}

/* Hover parecido al botón de buscar */
body .cf-refresh-header .avatar-img.bg-primary:hover,
body .cf-refresh-header .avatar-img.bg-primary.bg-opacity-10:hover {
  background: rgba(255, 122, 0, 0.17) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(255, 122, 0, 0.2) !important;
}
/* ==========================================================
   FIX - Estado activo naranja en buscador home
   ========================================================== */

/* Quita foco azul/default del navegador */
body main > section.pt-0:first-of-type #formBusqueda .form-control:focus,
body main > section.pt-0:first-of-type #formBusqueda .form-select:focus,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .form-guest-selector:focus {
  outline: 0 !important;
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.18) !important;
}

/* Ubicación / Choices activo */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices.is-focused
  .choices__inner,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .choices.is-open
  .choices__inner {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.18) !important;
}

/* Personas activo cuando el dropdown está abierto */
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .guest-selector:focus-within
  .form-guest-selector,
body
  main
  > section.pt-0:first-of-type
  #formBusqueda
  .guest-selector
  .form-guest-selector[aria-expanded="true"] {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.18) !important;
}

/* Check-in / Check-out activos con Flatpickr */
body main > section.pt-0:first-of-type #formBusqueda #search_checkin:focus,
body main > section.pt-0:first-of-type #formBusqueda #search_checkout:focus,
body main > section.pt-0:first-of-type #formBusqueda #search_checkin.active,
body main > section.pt-0:first-of-type #formBusqueda #search_checkout.active {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.18) !important;
}

/* Mantiene el mismo efecto si Flatpickr agrega clases propias */
body main > section.pt-0:first-of-type #formBusqueda .flatpickr-input:focus,
body main > section.pt-0:first-of-type #formBusqueda .flatpickr-input.active {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.18) !important;
}
/* ==========================================================
   MODAL NEWSLETTER - CheckinFans Refresh
   ========================================================== */

body .cf-newsletter-modal {
  z-index: 1085 !important;
}

body .cf-newsletter-modal .modal-backdrop {
  background: rgba(0, 27, 46, 0.55) !important;
}

body .cf-newsletter-dialog {
  width: min(100% - 32px, 920px) !important;
  max-width: 920px !important;
}

body .cf-newsletter-content {
  position: relative !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  box-shadow: 0 30px 80px rgba(0, 27, 46, 0.28) !important;
}

body .cf-newsletter-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 5 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 10px 24px rgba(0, 27, 46, 0.14) !important;
  opacity: 1 !important;
}

body .cf-newsletter-grid {
  display: grid !important;
  grid-template-columns: 1.02fr 0.98fr !important;
  min-height: 520px !important;
}

body .cf-newsletter-visual {
  position: relative !important;
  padding: 46px 42px !important;
  color: #ffffff !important;
  background:
    linear-gradient(135deg, rgba(0, 27, 46, 0.96), rgba(6, 36, 58, 0.94)),
    radial-gradient(
      circle at top right,
      rgba(255, 122, 0, 0.28),
      transparent 34%
    ) !important;
}

body .cf-newsletter-visual::after {
  content: "" !important;
  position: absolute !important;
  right: -90px !important;
  bottom: -90px !important;
  width: 260px !important;
  height: 260px !important;
  border-radius: 999px !important;
  border: 42px solid rgba(255, 122, 0, 0.12) !important;
}

body .cf-newsletter-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.14) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body .cf-newsletter-title {
  max-width: 360px !important;
  margin: 28px 0 0 !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 3vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.055em !important;
  color: #ffffff !important;
}

body .cf-newsletter-lead {
  max-width: 390px !important;
  margin: 22px 0 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

body .cf-newsletter-points {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  gap: 16px !important;
  margin-top: 34px !important;
}

body .cf-newsletter-point {
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
}

body .cf-newsletter-point > span {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid var(--cf-refresh-orange) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

body .cf-newsletter-point strong {
  display: block !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
}

body .cf-newsletter-point small {
  display: block !important;
  margin-top: 3px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

body .cf-newsletter-form-panel {
  display: flex !important;
  align-items: center !important;
  padding: 46px 42px !important;
  background: #ffffff !important;
}

body .cf-newsletter-form-inner {
  width: 100% !important;
}

body .cf-newsletter-form-kicker {
  margin: 0 0 10px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--cf-refresh-orange) !important;
}

body .cf-newsletter-form-title {
  margin: 0 !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  color: var(--cf-refresh-blue) !important;
}

body .cf-newsletter-form-text {
  margin: 14px 0 24px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #64748b !important;
}

body .cf-newsletter-form {
  width: 100% !important;
}

body .cf-newsletter-input-row {
  display: flex !important;
  gap: 12px !important;
  align-items: stretch !important;
}

body .cf-newsletter-input {
  height: 52px !important;
  min-height: 52px !important;
  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;
  padding: 0 17px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  color: #1f2937 !important;
  box-shadow: none !important;
}

body .cf-newsletter-input:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.16) !important;
}

body .cf-newsletter-submit {
  height: 52px !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 16px !important;
  padding: 0 22px !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body .cf-newsletter-submit:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

body .cf-newsletter-privacy {
  margin: 13px 0 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  color: #94a3b8 !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  body .cf-newsletter-dialog {
    width: min(100% - 22px, 520px) !important;
  }

  body .cf-newsletter-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  body .cf-newsletter-visual {
    padding: 34px 26px !important;
  }

  body .cf-newsletter-title {
    font-size: 32px !important;
  }

  body .cf-newsletter-form-panel {
    padding: 30px 24px 34px !important;
  }

  body .cf-newsletter-input-row {
    flex-direction: column !important;
  }

  body .cf-newsletter-submit {
    width: 100% !important;
  }
}
/* ==========================================================
   FIX - Botón newsletter no se corta
   ========================================================== */

body .cf-newsletter-input-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 150px !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
}

body .cf-newsletter-input {
  width: 100% !important;
  min-width: 0 !important;
}

body .cf-newsletter-submit {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

/* En pantallas chicas, vuelve a apilarse */
@media (max-width: 575.98px) {
  body .cf-newsletter-input-row {
    grid-template-columns: 1fr !important;
  }

  body .cf-newsletter-submit {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}
/* ==========================================================
   FILTROS HOME - Refresh visual
   Primera capa: contenedor, panel y campos base
   ========================================================== */

/* Sección de filtros debajo de beneficios */
body main > section.pt-0.pb-3.pt-2 {
  background: var(--cf-refresh-bg) !important;
  padding-top: 18px !important;
  padding-bottom: 26px !important;
}

/* Contenedor general */
body main > section.pt-0.pb-3.pt-2 > .container-fluid.position-relative {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Barra superior: botón filtros + badges + resultados */
body
  main
  > section.pt-0.pb-3.pt-2
  > .container-fluid.position-relative
  > .d-flex.justify-content-between {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}

/* Botón Mostrar Filtros */
body main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"] {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 27, 46, 0.1) !important;

  background: #ffffff !important;
  color: var(--cf-refresh-blue) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;

  box-shadow: 0 10px 24px rgba(0, 27, 46, 0.08) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease !important;
}

body main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"] i {
  color: var(--cf-refresh-orange) !important;
}

body main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"]:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(255, 122, 0, 0.35) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.12) !important;
}

/* Cuando el filtro está abierto */
body
  main
  > section.pt-0.pb-3.pt-2
  #btn-check-soft:checked
  + label[for="btn-check-soft"] {
  background: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #btn-check-soft:checked
  + label[for="btn-check-soft"]
  i {
  color: #ffffff !important;
}

/* Panel desplegable */
body main > section.pt-0.pb-3.pt-2 #collapseFilter .card.card-body {
  margin-top: 18px !important;
  padding: 26px !important;

  border: 1px solid rgba(0, 27, 46, 0.08) !important;
  border-radius: 28px !important;

  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.1) !important;
}

/* Formulario */
body main > section.pt-0.pb-3.pt-2 #filtros-form {
  --bs-gutter-x: 18px !important;
  --bs-gutter-y: 20px !important;
}

/* Labels */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-label {
  margin-bottom: 8px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;

  color: var(--cf-refresh-blue) !important;
}

/* Inputs y selects base */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-control,
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-select,
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__inner {
  min-height: 48px !important;
  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;

  background: #ffffff !important;
  color: #1f2937 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
}

/* Focus naranja */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-control:focus,
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-select:focus,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices.is-focused
  .choices__inner,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices.is-open
  .choices__inner {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.16) !important;
}

/* Choices dentro del filtro */
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices {
  margin-bottom: 0 !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__inner {
  display: flex !important;
  align-items: center !important;
  padding: 0 14px !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__list--single {
  padding: 0 !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__item {
  font-family: "Manrope", Arial, sans-serif !important;
}

/* Resultado búsqueda */
body main > section.pt-0.pb-3.pt-2 #resultados-busqueda {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #64748b !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  body main > section.pt-0.pb-3.pt-2 > .container-fluid.position-relative {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body main > section.pt-0.pb-3.pt-2 #collapseFilter .card.card-body {
    padding: 20px !important;
    border-radius: 24px !important;
  }
}
/* ==========================================================
   FILTROS HOME - Corrección visual discreta ancho completo
   ========================================================== */

/* Sección filtros: más compacta */
body main > section.pt-0.pb-3.pt-2 {
  background: var(--cf-refresh-bg) !important;
  padding-top: 16px !important;
  padding-bottom: 1px !important;
}

/* Contenedor: vuelve a ocupar ancho de pantalla */
body main > section.pt-0.pb-3.pt-2 > .container-fluid.position-relative {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Barra superior: botón a la izquierda */
body
  main
  > section.pt-0.pb-3.pt-2
  > .container-fluid.position-relative
  > .d-flex.justify-content-between {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

/* Botón Mostrar Filtros: discreto, blanco y a la izquierda */
body main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"] {
  min-height: 40px !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: var(--cf-refresh-blue) !important;
  border: 1px solid rgba(0, 27, 46, 0.1) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;

  box-shadow: 0 8px 20px rgba(0, 27, 46, 0.06) !important;
}

body main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"] i {
  color: var(--cf-refresh-orange) !important;
}

body main > section.pt-0.pb-3.pt-2 label[for="btn-check-soft"]:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(255, 122, 0, 0.3) !important;
  box-shadow: 0 12px 26px rgba(255, 122, 0, 0.1) !important;
}

/* Abierto: que no se vuelva un bloque naranja gigante */
body
  main
  > section.pt-0.pb-3.pt-2
  #btn-check-soft:checked
  + label[for="btn-check-soft"] {
  background: #ffffff !important;
  color: var(--cf-refresh-blue) !important;
  border-color: rgba(255, 122, 0, 0.35) !important;
  box-shadow: 0 12px 26px rgba(255, 122, 0, 0.12) !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #btn-check-soft:checked
  + label[for="btn-check-soft"]
  i {
  color: var(--cf-refresh-orange) !important;
}

/* Panel abierto: ancho completo, bajo, discreto */
body main > section.pt-0.pb-3.pt-2 #collapseFilter .card.card-body {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 16px 18px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;

  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 12px 34px rgba(0, 27, 46, 0.07) !important;
}

/* Formulario más compacto */
body main > section.pt-0.pb-3.pt-2 #filtros-form {
  --bs-gutter-x: 14px !important;
  --bs-gutter-y: 14px !important;
}

/* Labels más chicos */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-label {
  margin-bottom: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: var(--cf-refresh-blue) !important;
}

/* Inputs/selects más bajos y discretos */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-control,
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-select,
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__inner {
  min-height: 40px !important;
  height: 40px !important;
  border-radius: 13px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1f2937 !important;

  box-shadow: none !important;
}

/* Choices dentro del filtro compacto */
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices {
  margin-bottom: 0 !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__inner {
  display: flex !important;
  align-items: center !important;
  padding: 0 13px !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__list--single {
  padding: 0 !important;
}

/* Focus naranja */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-control:focus,
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-select:focus,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices.is-focused
  .choices__inner,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices.is-open
  .choices__inner {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.13) !important;
}

/* Acordeones del filtro más discretos */
body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-item,
body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-button {
  border-radius: 13px !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-button {
  min-height: 42px !important;
  padding: 10px 14px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  background: #ffffff !important;
  border: 1px solid #e3e8ef !important;
  box-shadow: none !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .accordion-button:not(.collapsed) {
  color: var(--cf-refresh-blue) !important;
  border-color: rgba(255, 122, 0, 0.25) !important;
  background: rgba(255, 122, 0, 0.04) !important;
}

/* Botones inferiores más pequeños */
body main > section.pt-0.pb-3.pt-2 #filtros-form button[type="submit"],
body main > section.pt-0.pb-3.pt-2 #filtros-form .btn {
  min-height: 38px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  body main > section.pt-0.pb-3.pt-2 > .container-fluid.position-relative {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body main > section.pt-0.pb-3.pt-2 #collapseFilter .card.card-body {
    padding: 14px !important;
    border-radius: 16px !important;
  }
}

/* ==========================================================
   FILTROS HOME - Visual final acorde CheckinFans
   Exacto para el HTML real del index
   ========================================================== */

/* Contenedor superior: botón + badges */
body main > section.pt-0.pb-3.pt-2 #filtros-activos {
  gap: 8px !important;
}

/* Badges activos generados por JS */
body main > section.pt-0.pb-3.pt-2 #filtros-activos .badge,
body main > section.pt-0.pb-3.pt-2 #filtros-activos span,
body main > section.pt-0.pb-3.pt-2 #filtros-activos button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange) !important;
  border: 1px solid rgba(255, 122, 0, 0.28) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  box-shadow: none !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-activos .badge:hover,
body main > section.pt-0.pb-3.pt-2 #filtros-activos span:hover,
body main > section.pt-0.pb-3.pt-2 #filtros-activos button:hover {
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  border-color: var(--cf-refresh-orange) !important;
}

/* Panel completo discreto */
body main > section.pt-0.pb-3.pt-2 #collapseFilter .card.card-body {
  width: 100% !important;
  max-width: none !important;
  margin-top: 12px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 12px 34px rgba(0, 27, 46, 0.07) !important;
}

/* Inputs/selects/focus */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-control,
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-select,
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__inner {
  min-height: 40px !important;
  height: 40px !important;
  border-radius: 13px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .form-control:focus,
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-select:focus,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices.is-focused
  .choices__inner,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices.is-open
  .choices__inner {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14) !important;
  outline: 0 !important;
}

/* Rango de precios: que no se monte sobre Ordenar por */
body main > section.pt-0.pb-3.pt-2 #filtros-form .noui-wrapper {
  padding-right: 30px !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .noui-wrapper .d-flex {
  gap: 12px !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .input-with-range-min,
body main > section.pt-0.pb-3.pt-2 #filtros-form .input-with-range-max {
  width: auto !important;
  max-width: 95px !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .input-with-range-max {
  text-align: right !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .noui-slider-range {
  margin-right: 10px !important;
}

/* noUiSlider en naranja */
body main > section.pt-0.pb-3.pt-2 #filtros-form .noUi-target {
  height: 6px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e7ebf0 !important;
  box-shadow: none !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .noUi-connect {
  background: var(--cf-refresh-orange) !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .noUi-handle {
  width: 18px !important;
  height: 18px !important;
  right: -9px !important;
  top: -6px !important;
  border-radius: 999px !important;
  border: 2px solid var(--cf-refresh-orange) !important;
  background: #ffffff !important;
  box-shadow: 0 6px 16px rgba(255, 122, 0, 0.22) !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .noUi-handle::before,
body main > section.pt-0.pb-3.pt-2 #filtros-form .noUi-handle::after {
  display: none !important;
}

/* Estrellas / calificación */
body main > section.pt-0.pb-3.pt-2 #filtros-form .btn-primary-soft-check,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .btn-white.btn-primary-soft-check {
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #111827 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .btn-primary-soft-check:hover {
  color: var(--cf-refresh-orange) !important;
  background: rgba(255, 122, 0, 0.07) !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .btn-check:checked
  + .btn-primary-soft-check,
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .btn-check:checked
  + .btn-white.btn-primary-soft-check {
  color: var(--cf-refresh-orange) !important;
  background: rgba(255, 122, 0, 0.12) !important;
  border-color: rgba(255, 122, 0, 0.34) !important;
}

/* Acordeones */
body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-item {
  border: 0 !important;
  background: transparent !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-button {
  min-height: 40px !important;
  padding: 10px 14px !important;
  border-radius: 13px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .accordion-button:not(.collapsed) {
  color: var(--cf-refresh-blue) !important;
  background: rgba(255, 122, 0, 0.055) !important;
  border-color: rgba(255, 122, 0, 0.34) !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-button:focus {
  border-color: rgba(255, 122, 0, 0.38) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.12) !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .accordion-body {
  padding: 14px 16px 16px !important;
  border: 1px solid #e3e8ef !important;
  border-top: 0 !important;
  border-radius: 0 0 13px 13px !important;
  background: #ffffff !important;
}

/* Checkboxes dentro de acordeones */
body main > section.pt-0.pb-3.pt-2 #filtros-form .form-check-input {
  width: 16px !important;
  height: 16px !important;
  border-color: #d8dee8 !important;
  box-shadow: none !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .form-check-input:checked {
  background-color: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .form-check-input:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14) !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form .form-check-label {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #334155 !important;
}

/* Mostrar Más */
body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  button[data-bs-toggle="collapse"].btn-link {
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  button[data-bs-toggle="collapse"].btn-link:hover {
  color: var(--cf-refresh-orange-dark) !important;
}

/* Botonera inferior */
body main > section.pt-0.pb-3.pt-2 #filtros-form > .text-end {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 2px !important;
}

/* Limpiar filtros: no rosa */
body main > section.pt-0.pb-3.pt-2 #filtros-form button[type="reset"],
body main > section.pt-0.pb-3.pt-2 #filtros-form .btn-link.text-danger {
  color: var(--cf-refresh-blue-soft) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body main > section.pt-0.pb-3.pt-2 #filtros-form button[type="reset"]:hover,
body main > section.pt-0.pb-3.pt-2 #filtros-form .btn-link.text-danger:hover {
  color: var(--cf-refresh-orange) !important;
}

/* Buscar: naranja */
body main > section.pt-0.pb-3.pt-2 #filtros-form button[type="submit"].btn-dark,
body main > section.pt-0.pb-3.pt-2 #filtros-form .btn-dark {
  min-height: 40px !important;
  padding: 9px 18px !important;
  border-radius: 13px !important;
  border: 0 !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 24px rgba(255, 122, 0, 0.22) !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  button[type="submit"].btn-dark:hover,
body main > section.pt-0.pb-3.pt-2 #filtros-form .btn-dark:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px) !important;
}

/* Choices dropdown */
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__list--dropdown,
body main > section.pt-0.pb-3.pt-2 #filtros-form .choices__list[aria-expanded] {
  border-color: #e5e7eb !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 34px rgba(0, 27, 46, 0.14) !important;
}

body
  main
  > section.pt-0.pb-3.pt-2
  #filtros-form
  .choices__item--selectable.is-highlighted {
  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-refresh-blue) !important;
}
/* ==========================================================
   SEO LINKS HOME - Visual discreto alineado izquierda
   ========================================================== */

body main section .cf-seo-links {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 8px 8px 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;

  color: #64748b !important;
  text-align: left !important;
}

/* Links SEO en naranja CheckinFans */
body main section .cf-seo-links a {
  color: var(--cf-refresh-orange) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    opacity 0.18s ease !important;
}

body main section .cf-seo-links a:hover {
  color: var(--cf-refresh-orange-dark) !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

/* Sección que contiene la línea SEO */
body main section:has(.cf-seo-links) {
  padding-top: 8px !important;
  padding-bottom: 4px !important;
  background: var(--cf-refresh-bg) !important;
}
/* ==========================================================
   CARDS HOME - Refresh visual CheckinFans
   Mantiene PHP, Tiny Slider, favoritos, compartir y selección
   ========================================================== */

/* Sección del listado */
body main > section.pt-0:has(#contenedorCabanas) {
  background: var(--cf-refresh-bg) !important;
  padding-top: 10px !important;
}

/* Contenedor ancho completo */
body main > section.pt-0:has(#contenedorCabanas) > .container-fluid {
  width: 100% !important;
  max-width: none !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* Grilla real Bootstrap */
body #contenedorCabanas {
  --bs-gutter-x: 18px !important;
  --bs-gutter-y: 22px !important;
}

/* Card general */
body #contenedorCabanas .card-alojamiento > .card {
  position: relative !important;
  overflow: hidden !important;

  border: 1px solid rgba(0, 27, 46, 0.08) !important;
  border-radius: 22px !important;

  background: #ffffff !important;
  box-shadow: 0 14px 36px rgba(0, 27, 46, 0.09) !important;

  padding: 0 !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease !important;
}

body #contenedorCabanas .card-alojamiento > .card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(255, 122, 0, 0.18) !important;
  box-shadow: 0 20px 48px rgba(0, 27, 46, 0.14) !important;
}

/* Imagen / slider */
body #contenedorCabanas .card-alojamiento .tiny-slider {
  height: 170px !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #dbe4ee !important;
}

body #contenedorCabanas .card-alojamiento .tiny-slider-inner,
body #contenedorCabanas .card-alojamiento .tiny-slider-inner > div,
body #contenedorCabanas .card-alojamiento .tns-outer,
body #contenedorCabanas .card-alojamiento .tns-inner {
  height: 100% !important;
}

body #contenedorCabanas .card-alojamiento .tiny-slider img {
  width: 100% !important;
  height: 170px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Checkbox de selección múltiple */
body #contenedorCabanas .card-alojamiento .form-check.position-absolute {
  top: 12px !important;
  left: 12px !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 20px rgba(0, 27, 46, 0.14) !important;
  z-index: 12 !important;
}

body #contenedorCabanas .card-alojamiento .seleccionar-cabana {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  cursor: pointer !important;
  border-color: #d8dee8 !important;
  box-shadow: none !important;
}

body #contenedorCabanas .card-alojamiento .seleccionar-cabana:checked {
  background-color: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
}

/* Badge Promo */
body #contenedorCabanas .card-alojamiento .badge.bg-warning {
  border-radius: 999px !important;
  padding: 7px 11px !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(255, 122, 0, 0.28) !important;
}

/* Body */
body #contenedorCabanas .card-alojamiento .card-body {
  padding: 3px 15px 0 !important;
}

/* Fila valoración + acciones */
body
  #contenedorCabanas
  .card-alojamiento
  .card-body
  > .d-flex.justify-content-between {
  margin-bottom: 12px !important;
  align-items: center !important;
}

/* Badge valoración */
body #contenedorCabanas .card-alojamiento .badge.bg-dark {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;

  width: fit-content !important;
  max-width: 100% !important;

  border-radius: 8px !important;
  padding: 5px 9px !important;

  background: #050816 !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body #contenedorCabanas .card-alojamiento .badge.bg-dark i {
  color: #facc15 !important;
  font-size: 13px !important;
}

/* Botones favorito / compartir */
body #contenedorCabanas .card-alojamiento .btn-round.btn-light {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;

  display: inline-grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  border: 0 !important;

  color: var(--cf-refresh-blue) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 8px 20px rgba(0, 27, 46, 0.12) !important;

  transition:
    transform 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease !important;
}

body #contenedorCabanas .card-alojamiento .btn-round.btn-light:hover,
body #contenedorCabanas .card-alojamiento .btn-favorito.active {
  color: var(--cf-refresh-orange) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 26px rgba(255, 122, 0, 0.16) !important;
}

body #contenedorCabanas .card-alojamiento .btn-favorito.active i,
body #contenedorCabanas .card-alojamiento .btn-favorito i.text-primary {
  color: var(--cf-refresh-orange) !important;
}

/* Dropdown compartir */
body #contenedorCabanas .card-alojamiento .dropdown-menu {
  border: 1px solid rgba(0, 27, 46, 0.1) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  box-shadow: 0 18px 40px rgba(0, 27, 46, 0.18) !important;
}

body #contenedorCabanas .card-alojamiento .dropdown-item {
  border-radius: 10px !important;
  padding: 9px 10px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;

  color: var(--cf-refresh-blue-soft) !important;
}

body #contenedorCabanas .card-alojamiento .dropdown-item:hover {
  background: var(--cf-refresh-bg) !important;
  color: var(--cf-refresh-orange) !important;
}

/* Título */
body #contenedorCabanas .card-alojamiento .card-title {
  margin: 0 0 7px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}

body #contenedorCabanas .card-alojamiento .card-title a {
  color: var(--cf-refresh-blue) !important;
  text-decoration: none !important;
}

body #contenedorCabanas .card-alojamiento .card-title a:hover {
  color: var(--cf-refresh-orange) !important;
}

/* Descripción corta: la ocultamos visualmente para limpiar la card */
body #contenedorCabanas .card-alojamiento .card-title + p.small {
  display: none !important;
}

/* Ubicación */
body #contenedorCabanas .card-alojamiento .cf-card-location {
  margin: 0 0 0px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;

  color: #64748b !important;
}

body #contenedorCabanas .card-alojamiento .cf-card-location i {
  color: var(--cf-refresh-blue) !important;
  opacity: 0.9 !important;
}

/* Promo text interno */
body #contenedorCabanas .card-alojamiento .promo-tip {
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}

/* Footer */
body #contenedorCabanas .card-alojamiento .card-footer {
  margin-top: auto !important;
  padding: 0 15px 14px !important;
  border: 0 !important;
  background: transparent !important;
}

/* Precio / Consultar tarifas */
body #contenedorCabanas .card-alojamiento .card-footer .text-success {
  margin-bottom: 12px !important;
  color: #15803d !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Botón Detalles */
body #contenedorCabanas .card-alojamiento .btn-outline-primary {
  height: 38px !important;
  min-height: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.35) !important;

  background: #fff7ef !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;

  box-shadow: none !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body #contenedorCabanas .card-alojamiento .btn-outline-primary:hover {
  background: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 26px rgba(255, 122, 0, 0.2) !important;
}

/* Flechas Tiny Slider */
body #contenedorCabanas .card-alojamiento .tns-controls button,
body #contenedorCabanas .card-alojamiento .arrow-round .tns-controls button {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: rgba(5, 8, 22, 0.72) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(0, 27, 46, 0.22) !important;
}

body #contenedorCabanas .card-alojamiento .tns-controls button:hover,
body
  #contenedorCabanas
  .card-alojamiento
  .arrow-round
  .tns-controls
  button:hover {
  background: var(--cf-refresh-orange) !important;
}

/* Botón consulta múltiple */
body #botonEnviarConsultaContainer #abrirModalConsultaMultiple {
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
}

body #botonEnviarConsultaContainer #abrirModalConsultaMultiple:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px) !important;
}

/* Botón cargar más */
body #btnCargarMas {
  min-height: 46px !important;
  padding: 11px 24px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
}

body #btnCargarMas:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================
   CARDS HOME - Quitar espacio gris debajo de imagen / Tiny Slider
   ========================================================== */

/* Altura única para toda la zona de imagen */
body #contenedorCabanas .card-alojamiento .tiny-slider,
body #contenedorCabanas .card-alojamiento .tiny-slider-inner,
body #contenedorCabanas .card-alojamiento .tns-outer,
body #contenedorCabanas .card-alojamiento .tns-ovh,
body #contenedorCabanas .card-alojamiento .tns-inner,
body #contenedorCabanas .card-alojamiento .tns-slider,
body #contenedorCabanas .card-alojamiento .tns-item {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* El enlace de cada imagen también debe ocupar toda la altura */
body #contenedorCabanas .card-alojamiento .tiny-slider a,
body #contenedorCabanas .card-alojamiento .tns-item a {
  display: block !important;
  width: 100% !important;
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  overflow: hidden !important;
}

/* Imagen sin dejar espacio inferior */
body #contenedorCabanas .card-alojamiento .tiny-slider img,
body #contenedorCabanas .card-alojamiento .tns-item img,
body #contenedorCabanas .card-alojamiento img.card-img {
  display: block !important;
  width: 100% !important;
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Evita fondos residuales del slider */
body #contenedorCabanas .card-alojamiento .tns-outer,
body #contenedorCabanas .card-alojamiento .tns-ovh {
  background: transparent !important;
}
/* ==========================================================
   FOOTER REFRESH - CheckinFans
   ========================================================== */

body .cf-refresh-footer {
  background: var(--cf-refresh-blue) !important;
  color: #ffffff !important;
  padding: 62px 0 0 !important;
  margin-top: 48px !important;
}

body .cf-refresh-footer-inner {
  width: min(100% - 64px, 1320px) !important;
  margin: 0 auto !important;
}

body .cf-refresh-footer-main {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.3fr) repeat(3, minmax(160px, 0.7fr)) !important;
  gap: 54px !important;
  align-items: start !important;
  padding-bottom: 20px !important;
}

body .cf-refresh-footer-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
}

body .cf-refresh-footer-logo-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body .cf-refresh-footer-logo-mark img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
  display: block !important;
}

body .cf-refresh-footer-logo-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1 !important;
}

body .cf-refresh-footer-logo-name {
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: #ffffff !important;
}

body .cf-refresh-footer-logo-name span {
  color: #ffffff !important;
}

body .cf-refresh-footer-logo-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}

body .cf-refresh-footer-logo-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.58) !important;
}

body .cf-refresh-footer-description {
  max-width: 410px !important;
  margin: 22px 0 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

body .cf-refresh-footer-contact {
  display: grid !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

body .cf-refresh-footer-contact a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
  color: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition:
    color 0.18s ease,
    transform 0.18s ease !important;
}

body .cf-refresh-footer-contact a:hover {
  color: var(--cf-refresh-orange) !important;
  transform: translateX(2px) !important;
}

body .cf-refresh-footer-contact i {
  color: var(--cf-refresh-orange) !important;
}

body .cf-refresh-footer-col h5 {
  margin: 0 0 18px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: var(--cf-refresh-orange) !important;
}

body .cf-refresh-footer-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

body .cf-refresh-footer-col a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  color: rgba(255, 255, 255, 0.76) !important;
  text-decoration: none !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;

  transition:
    color 0.18s ease,
    transform 0.18s ease !important;
}

body .cf-refresh-footer-col a:hover {
  color: #ffffff !important;
  transform: translateX(2px) !important;
}

body .cf-refresh-footer-col a i {
  color: var(--cf-refresh-orange) !important;
  width: 16px !important;
  text-align: center !important;
}

body .cf-refresh-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;

  padding: 22px 0 28px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body .cf-refresh-footer-bottom p {
  margin: 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

body .cf-refresh-footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body .cf-refresh-footer-social a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;

  display: grid !important;
  place-items: center !important;

  color: var(--cf-refresh-orange) !important;
  background: rgba(255, 122, 0, 0.1) !important;
  border: 1px solid rgba(255, 122, 0, 0.24) !important;
  text-decoration: none !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease !important;
}

body .cf-refresh-footer-social a:hover {
  transform: translateY(-2px) !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body .cf-refresh-footer-main {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }

  body .cf-refresh-footer-brand {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 575.98px) {
  body .cf-refresh-footer {
    padding-top: 44px !important;
  }

  body .cf-refresh-footer-inner {
    width: min(100% - 32px, 100%) !important;
  }

  body .cf-refresh-footer-main {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  body .cf-refresh-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body .cf-refresh-footer-logo-name {
    font-size: 26px !important;
  }
}
/* ==========================================================
   INICIAR SESIÓN - Refresh visual CheckinFans
   ========================================================== */

body .cf-login-page {
  min-height: auto !important;
  padding: 22px 24px 18px !important;
  background:
    radial-gradient(
      circle at top left,
      rgba(255, 122, 0, 0.1),
      transparent 32%
    ),
    linear-gradient(180deg, #f6f8fb 0%, #eef3f8 100%) !important;
}

body .cf-login-shell {
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
}

body .cf-login-card {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  overflow: hidden !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 27, 46, 0.08) !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.14) !important;
}

body .cf-login-brand-panel {
  position: relative !important;
  min-height: 560px !important;
  padding: 38px 48px !important;
  color: #ffffff !important;
  background:
    radial-gradient(
      circle at bottom right,
      rgba(255, 122, 0, 0.22),
      transparent 36%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;
}

body .cf-login-brand-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -120px !important;
  bottom: -120px !important;
  width: 320px !important;
  height: 320px !important;
  border-radius: 999px !important;
  border: 48px solid rgba(255, 122, 0, 0.12) !important;
}

body .cf-login-brand-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 480px !important;
}

body .cf-login-topbar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
}

body .cf-login-logo {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  text-decoration: none !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

body .cf-login-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 12px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body .cf-login-logo {
  display: inline-flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

body .cf-login-logo-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  color: #ffffff !important;
}

body .cf-login-logo-name span {
  color: #ffffff !important;
}

body .cf-login-logo-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}
body .cf-login-logo-name span {
  color: #ffffff !important;
}

body .cf-login-logo-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}

body .cf-login-logo-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

body .cf-login-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-top: 8px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body .cf-login-title {
  margin: 28px 0 0 !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.058em !important;
  color: #ffffff !important;
}

body .cf-login-text {
  margin: 22px 0 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

body .cf-login-benefits {
  display: grid !important;
  gap: 17px !important;
  margin-top: 40px !important;
}

body .cf-login-benefit {
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
}

body .cf-login-benefit > span {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 2px solid var(--cf-refresh-orange) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body .cf-login-benefit strong {
  display: block !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
}

body .cf-login-benefit small {
  display: block !important;
  margin-top: 3px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: rgba(255, 255, 255, 0.66) !important;
}

body .cf-login-form-panel {
  display: flex !important;
  align-items: center !important;
  padding: 38px 48px !important;
  background: #ffffff !important;
}

body .cf-login-form-inner {
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 auto !important;
}

body .cf-login-form-head {
  margin-bottom: 28px !important;
}

body .cf-login-form-kicker {
  margin: 0 0 10px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--cf-refresh-orange) !important;
}

body .cf-login-form-head h2 {
  margin: 0 !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  letter-spacing: -0.05em !important;
  color: var(--cf-refresh-blue) !important;
}

body .cf-login-form-head p {
  margin: 12px 0 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  color: #64748b !important;
}

body .cf-login-form-head a,
body .cf-login-links-row a {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body .cf-login-form-head a:hover,
body .cf-login-links-row a:hover {
  color: var(--cf-refresh-orange-dark) !important;
}

body .cf-login-alert {
  margin-bottom: 18px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  border: 1px solid rgba(255, 122, 0, 0.24) !important;
  color: var(--cf-refresh-blue) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body .cf-login-form {
  display: grid !important;
  gap: 18px !important;
}

body .cf-login-field label {
  display: block !important;
  margin-bottom: 8px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--cf-refresh-blue) !important;
}

body .cf-login-input-wrap {
  position: relative !important;
}

body .cf-login-input-wrap > i {
  position: absolute !important;
  top: 50% !important;
  left: 17px !important;
  transform: translateY(-50%) !important;
  color: var(--cf-refresh-blue) !important;
  opacity: 0.55 !important;
  z-index: 2 !important;
}

body .cf-login-input-wrap .form-control {
  height: 54px !important;
  min-height: 54px !important;
  border-radius: 17px !important;
  border: 1px solid #e3e8ef !important;
  padding: 0 48px 0 46px !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

body .cf-login-input-wrap .form-control:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.16) !important;
}

body .cf-login-password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(0, 27, 46, 0.05) !important;
  color: var(--cf-refresh-blue) !important;
  z-index: 3 !important;
}

body .cf-login-password-toggle:hover {
  background: rgba(255, 122, 0, 0.12) !important;
  color: var(--cf-refresh-orange) !important;
}

body .cf-login-links-row {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: -4px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
}

body .cf-login-submit {
  height: 54px !important;
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body .cf-login-submit:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body .cf-login-card {
    grid-template-columns: 1fr !important;
  }

  body .cf-login-brand-panel {
    min-height: auto !important;
    padding: 42px 34px !important;
  }

  body .cf-login-kicker {
    margin-top: 38px !important;
  }

  body .cf-login-title {
    max-width: 620px !important;
  }

  body .cf-login-form-panel {
    padding: 42px 34px !important;
  }

  body .cf-login-form-inner {
    max-width: none !important;
  }
}

@media (max-width: 575.98px) {
  body .cf-login-page {
    padding: 16px 14px 14px !important;
  }

  body .cf-login-card {
    border-radius: 26px !important;
  }

  body .cf-login-brand-panel {
    min-height: auto !important;
    padding: 28px 24px !important;
  }

  body .cf-login-title {
    font-size: 34px !important;
  }

  body .cf-login-form-panel {
    padding: 26px 22px !important;
  }

  body .cf-login-form-head h2 {
    font-size: 30px !important;
  }

  body .cf-login-topbar {
    gap: 10px !important;
  }

  body .cf-login-kicker {
    margin-top: 4px !important;
  }
  body .cf-login-topbar {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  body .cf-login-kicker {
    margin-left: 0 !important;
    margin-top: 2px !important;
  }
}

body .cf-login-logo-mark {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body .cf-login-logo-mark img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  display: block !important;
}

body .cf-login-logo-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
/* ==========================================================
   LOGIN - Corrección definitiva logo + acceso usuario
   ========================================================== */

body .cf-login-topbar {
  width: 100% !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: nowrap !important;
}

/* Logo: ícono a la izquierda + texto a la derecha */
body .cf-login-topbar .cf-login-logo {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  text-decoration: none !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

/* Ícono */
body .cf-login-topbar .cf-login-logo-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 46px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .cf-login-topbar .cf-login-logo-mark img {
  width: 46px !important;
  height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  display: block !important;
  object-fit: contain !important;
}

/* Texto del logo */
body .cf-login-topbar .cf-login-logo-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 3px !important;
  line-height: 1 !important;
}

body .cf-login-topbar .cf-login-logo-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 31px !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  line-height: 1 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

body .cf-login-topbar .cf-login-logo-name span {
  color: #ffffff !important;
}

body .cf-login-topbar .cf-login-logo-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}

body .cf-login-topbar .cf-login-logo-subtitle {
  display: block !important;
  margin-top: 7px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.62) !important;
  white-space: nowrap !important;
}

/* Acceso de usuario alineado a la derecha */
body .cf-login-topbar .cf-login-kicker {
  flex: 0 0 auto !important;
  margin: 10px 0 0 auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 8px 15px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* En mobile permitimos que baje sin romper */
@media (max-width: 575.98px) {
  body .cf-login-topbar {
    flex-wrap: wrap !important;
    gap: 14px !important;
  }

  body .cf-login-topbar .cf-login-kicker {
    margin-left: 0 !important;
    margin-top: 0 !important;
  }

  body .cf-login-topbar .cf-login-logo-name {
    font-size: 27px !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - Refresh visual parte superior
   Mantiene slug, GLightbox, Tiny Slider, compartir y mapa
   ========================================================== */

/* Fondo general del detalle */
body main {
  background: var(--cf-refresh-bg) !important;
}

/* ------------------------------
   Botón volver
   ------------------------------ */

body main > section.py-3.py-sm-0 {
  padding: 22px 0 10px !important;
  background: var(--cf-refresh-bg) !important;
}

body main > section.py-3.py-sm-0 .container {
  max-width: 1320px !important;
}

body .btn-volver {
  width: auto !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 27, 46, 0.1) !important;

  background: #ffffff !important;
  color: var(--cf-refresh-blue) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;

  box-shadow: 0 10px 24px rgba(0, 27, 46, 0.07) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease !important;
}

body .btn-volver i {
  color: var(--cf-refresh-orange) !important;
}

body .btn-volver:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(255, 122, 0, 0.35) !important;
  color: var(--cf-refresh-orange) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.12) !important;
}

/* ------------------------------
   Encabezado del alojamiento
   ------------------------------ */

body main > section.py-0.pt-sm-2 {
  padding-top: 4px !important;
  padding-bottom: 18px !important;
  background: var(--cf-refresh-bg) !important;
}

body main > section.py-0.pt-sm-2 .container {
  max-width: 1320px !important;
}

/* Breadcrumb */
body main > section.py-0.pt-sm-2 .breadcrumb {
  margin-bottom: 10px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body main > section.py-0.pt-sm-2 .breadcrumb a {
  color: var(--cf-refresh-orange) !important;
  text-decoration: none !important;
}

body main > section.py-0.pt-sm-2 .breadcrumb .active {
  color: #64748b !important;
}

/* Título */
body main > section.py-0.pt-sm-2 h1 {
  margin: 0 0 10px !important;
  max-width: 920px !important;

  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.05em !important;

  color: var(--cf-refresh-blue) !important;
}

/* Ubicación */
body main > section.py-0.pt-sm-2 p.fw-bold {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;

  color: #64748b !important;
}

body main > section.py-0.pt-sm-2 p.fw-bold > i {
  color: var(--cf-refresh-orange) !important;
}

body main > section.py-0.pt-sm-2 p.fw-bold a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;

  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body main > section.py-0.pt-sm-2 p.fw-bold a:hover {
  color: var(--cf-refresh-orange-dark) !important;
}

/* Promo superior */
body main > section.py-0.pt-sm-2 .badge.bg-warning {
  margin-top: 8px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.12) !important;
  color: var(--cf-refresh-orange) !important;
  border: 1px solid rgba(255, 122, 0, 0.28) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

/* Botones favorito / compartir */
body main > section.py-0.pt-sm-2 .list-inline {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
}

body main > section.py-0.pt-sm-2 .list-inline-item {
  margin: 0 !important;
}

body main > section.py-0.pt-sm-2 .btn.btn-sm.btn-light {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;

  display: inline-grid !important;
  place-items: center !important;

  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 27, 46, 0.08) !important;

  color: var(--cf-refresh-blue) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(0, 27, 46, 0.08) !important;

  transition:
    transform 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

body main > section.py-0.pt-sm-2 .btn.btn-sm.btn-light:hover {
  transform: translateY(-1px) !important;
  color: var(--cf-refresh-orange) !important;
  border-color: rgba(255, 122, 0, 0.32) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.13) !important;
}

/* Dropdown compartir */
body main > section.py-0.pt-sm-2 .dropdown-menu {
  border: 1px solid rgba(0, 27, 46, 0.1) !important;
  border-radius: 16px !important;
  padding: 8px !important;
  box-shadow: 0 18px 40px rgba(0, 27, 46, 0.16) !important;
}

body main > section.py-0.pt-sm-2 .dropdown-item {
  border-radius: 11px !important;
  padding: 9px 11px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;

  color: var(--cf-refresh-blue-soft) !important;
}

body main > section.py-0.pt-sm-2 .dropdown-item:hover {
  background: var(--cf-refresh-bg) !important;
  color: var(--cf-refresh-orange) !important;
}

/* ------------------------------
   Galería desktop
   ------------------------------ */

body .gallery-desktop {
  background: var(--cf-refresh-bg) !important;
  padding-bottom: 28px !important;
}

body .gallery-desktop .container {
  max-width: 1320px !important;
}

/* Ojo: el PHP trae un card-grid dentro de otro.
   No lo tocamos porque funciona; solo neutralizamos espacios. */
body .gallery-desktop section.card-grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .gallery-desktop .row.g-2 {
  --bs-gutter-x: 12px !important;
  --bs-gutter-y: 12px !important;
}

/* Cards de imagen */
body .gallery-desktop .card-grid-lg,
body .gallery-desktop .card-grid-sm {
  border: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background-color: #dbe4ee !important;
  box-shadow: 0 16px 42px rgba(0, 27, 46, 0.12) !important;
}

/* Alturas más modernas */
body .gallery-desktop .card-grid-lg {
  min-height: 430px !important;
}

body .gallery-desktop .card-grid-sm {
  min-height: 209px !important;
}

/* Overlay hover */
body .gallery-desktop .card-element-hover::before,
body .gallery-desktop .card-overlay-hover::before {
  background: rgba(0, 27, 46, 0.26) !important;
}

/* Ícono fullscreen */
body .gallery-desktop .hover-element i {
  width: 44px !important;
  height: 44px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  background: rgba(0, 27, 46, 0.78) !important;
  color: #ffffff !important;

  box-shadow: 0 10px 24px rgba(0, 27, 46, 0.24) !important;
}

/* Ver todas las fotos */
body .gallery-desktop .card-img-overlay h6 a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--cf-refresh-blue) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;

  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0, 27, 46, 0.18) !important;
}

body .gallery-desktop .card-img-overlay h6 a:hover {
  color: var(--cf-refresh-orange) !important;
}

/* ------------------------------
   Galería mobile
   ------------------------------ */

body .gallery-mobile-slider {
  background: var(--cf-refresh-bg) !important;
  padding: 0 16px 24px !important;
}

body .gallery-mobile-slider .card {
  border-radius: 22px !important;
  border: 0 !important;
  box-shadow: 0 16px 42px rgba(0, 27, 46, 0.12) !important;
}

/* ------------------------------
   Responsive
   ------------------------------ */

@media (max-width: 767.98px) {
  body main > section.py-3.py-sm-0 {
    padding-top: 16px !important;
  }

  body main > section.py-0.pt-sm-2 h1 {
    font-size: 34px !important;
  }

  body main > section.py-0.pt-sm-2 .list-inline {
    justify-content: flex-start !important;
    margin-top: 14px !important;
  }

  body .gallery-desktop {
    display: none !important;
  }

  body .gallery-mobile-slider {
    display: block !important;
  }
}

@media (min-width: 768px) {
  body .gallery-mobile-slider {
    display: none !important;
  }
}

/* ==========================================================
   DETALLE ALOJAMIENTO - Contenido + card lateral
   ========================================================== */

/* Sección principal debajo de la galería */
body main .container[data-sticky-container] {
  max-width: 1320px !important;
}

/* Espaciado general de la zona de contenido */
body main .container[data-sticky-container] > .row {
  align-items: flex-start !important;
}

/* Cards transparentes viejas del contenido */
body main .container[data-sticky-container] .col-xl-7 .card.bg-transparent {
  border: 0 !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 42px rgba(0, 27, 46, 0.08) !important;
  padding: 26px !important;
}

/* Header de cada bloque */
body main .container[data-sticky-container] .col-xl-7 .card-header {
  border-bottom: 1px solid rgba(0, 27, 46, 0.08) !important;
  padding: 0 0 16px !important;
  margin-bottom: 0 !important;
  background: transparent !important;
}

/* Títulos principales: Acerca, Normas, Comodidades, Valoraciones */
body main .container[data-sticky-container] .col-xl-7 h3,
body main .container[data-sticky-container] .col-xl-7 .card-title {
  margin: 0 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(26px, 2.4vw, 36px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  color: var(--cf-refresh-blue) !important;
}

/* Subtítulos */
body main .container[data-sticky-container] .col-xl-7 h5 {
  margin-bottom: 14px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  color: var(--cf-refresh-blue-soft) !important;
}

/* Cuerpo de texto */
body main .container[data-sticky-container] .col-xl-7 .card-body {
  padding: 20px 0 0 !important;
}

body main .container[data-sticky-container] .col-xl-7 p,
body main .container[data-sticky-container] .col-xl-7 li {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: #475569 !important;
}

/* Listas sin borde viejo */
body main .container[data-sticky-container] .list-group-item {
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

/* Íconos check */
body main .container[data-sticky-container] .list-group-item i.text-success,
body main .container[data-sticky-container] .fa-check-circle.text-success {
  color: var(--cf-refresh-orange) !important;
}

/* Separación entre bloques */
body main .container[data-sticky-container] .vstack.gap-5 {
  gap: 24px !important;
}

/* ==========================================================
   Card lateral precio / consulta
   ========================================================== */

body main .container[data-sticky-container] aside .card.card-body.border {
  border: 1px solid rgba(0, 27, 46, 0.08) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 58px rgba(0, 27, 46, 0.12) !important;
  padding: 26px !important;
}

/* "A partir de" */
body main .container[data-sticky-container] aside .card.card-body.border span {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

/* Precio */
body
  main
  .container[data-sticky-container]
  aside
  .card.card-body.border
  h4.card-title {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  color: var(--cf-refresh-blue) !important;
}

body main .container[data-sticky-container] aside .card.card-body.border small {
  font-family: "Manrope", Arial, sans-serif !important;
  color: #64748b !important;
}

/* Promo dentro de card lateral */
body main .container[data-sticky-container] aside .badge.bg-warning {
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.12) !important;
  color: var(--cf-refresh-orange) !important;
  border: 1px solid rgba(255, 122, 0, 0.28) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

/* Rating lateral */
body main .container[data-sticky-container] aside .list-inline {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  margin-bottom: 16px !important;
}

body main .container[data-sticky-container] aside .list-inline-item {
  margin: 0 !important;
}

body main .container[data-sticky-container] aside .list-inline-item.h6 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #050816 !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body main .container[data-sticky-container] aside .list-inline-item.h6 i {
  color: var(--cf-refresh-orange) !important;
}

body main .container[data-sticky-container] aside .text-warning {
  color: #facc15 !important;
}

/* Botón Enviar Consulta */
body main .container[data-sticky-container] aside .btn-primary-soft {
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body main .container[data-sticky-container] aside .btn-primary-soft:hover {
  background: var(--cf-refresh-orange-dark) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body main .container[data-sticky-container] aside .card.card-body.border {
    margin-top: 8px !important;
  }
}

@media (max-width: 767.98px) {
  body main .container[data-sticky-container] .col-xl-7 .card.bg-transparent,
  body main .container[data-sticky-container] aside .card.card-body.border {
    border-radius: 22px !important;
    padding: 20px !important;
  }

  body
    main
    .container[data-sticky-container]
    aside
    .card.card-body.border
    h4.card-title {
    font-size: 30px !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - Normas y comodidades estilo refresh
   ========================================================== */

/* Cada bloque interno de comodidades */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .row.g-4
  > .col-sm-6 {
  padding: 16px !important;
  border-radius: 20px !important;
  background: var(--cf-refresh-bg) !important;
  border: 1px solid rgba(0, 27, 46, 0.06) !important;
}

/* Títulos de grupos: Servicios, Instalaciones, Actividades, etc. */
body main .container[data-sticky-container] .col-xl-7 .card.bg-transparent h6 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  margin: 0 0 12px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;

  color: var(--cf-refresh-blue) !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  h6
  i {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;

  display: inline-grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange) !important;

  font-size: 14px !important;
}

/* Listas de normas y comodidades */
body main .container[data-sticky-container] .col-xl-7 .list-group {
  display: grid !important;
  gap: 8px !important;
}

/* Ítems */
body main .container[data-sticky-container] .col-xl-7 .list-group-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  background: transparent !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;

  color: #475569 !important;
}

/* Check naranja */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .list-group-item
  i.fa-check-circle,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .list-group-item
  i.text-success {
  margin-top: 2px !important;
  color: var(--cf-refresh-orange) !important;
  font-size: 14px !important;
}

/* Normas del establecimiento: formato más limpio */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .card-title {
  color: var(--cf-refresh-blue) !important;
}

/* En normas, los ítems quedan como chips suaves */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .card-body
  > ul.list-group
  > li.list-group-item {
  width: fit-content !important;
  max-width: 100% !important;

  padding: 9px 12px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.07) !important;
  border: 1px solid rgba(255, 122, 0, 0.16) !important;

  color: var(--cf-refresh-blue-soft) !important;
}

/* Pero dentro de comodidades mantenemos lista normal, no chip grande */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .row.g-4
  .card-body
  > ul.list-group
  > li.list-group-item,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .row.g-4
  ul.list-group
  > li.list-group-item {
  width: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* Separación interna del bloque de comodidades */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .row.g-4 {
  --bs-gutter-x: 16px !important;
  --bs-gutter-y: 16px !important;
}

/* Responsive */
@media (max-width: 575.98px) {
  body
    main
    .container[data-sticky-container]
    .col-xl-7
    .card.bg-transparent
    .row.g-4
    > .col-sm-6 {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body
    main
    .container[data-sticky-container]
    .col-xl-7
    .card.bg-transparent
    h6
    i {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - Valoraciones + formulario
   Mantiene PHP, CSRF, SweetAlert y scripts existentes
   ========================================================== */

/* Card principal de Valoraciones */
body main .container[data-sticky-container] .col-xl-7 #form-valoracion {
  margin-bottom: 0 !important;
}

/* Bloque resumen de rating */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .card-body
  > .card.bg-light.p-4.mb-4 {
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(
      circle at top left,
      rgba(255, 122, 0, 0.1),
      transparent 30%
    ),
    #f8fafc !important;
  box-shadow: none !important;
  padding: 24px !important;
}

/* Promedio grande */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .card-body
  > .card.bg-light
  h2 {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 54px !important;
  font-weight: 900 !important;
  letter-spacing: -0.06em !important;
  line-height: 1 !important;
  color: var(--cf-refresh-blue) !important;
}

/* Texto cantidad de valoraciones */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .card-body
  > .card.bg-light
  p {
  margin-top: 8px !important;
  margin-bottom: 10px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

/* Estrellas */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .text-warning,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .fa-star,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .fa-star-half-alt {
  color: #facc15 !important;
}

/* Barras de progreso */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .progress {
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255, 122, 0, 0.12) !important;
  box-shadow: none !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .progress-bar {
  border-radius: 999px !important;
  background: var(--cf-refresh-orange) !important;
}

/* Números de conteo */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .progress
  + *,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .card.bg-transparent
  .h6.fw-light {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #64748b !important;
}

/* Formulario de valoración */
body main .container[data-sticky-container] .col-xl-7 #form-valoracion {
  margin-top: 22px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(0, 27, 46, 0.06) !important;
}

/* Separación interna del formulario */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .form-control-bg-light {
  margin-bottom: 14px !important;
}

/* Select valoración con Choices o select normal */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .form-select,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__inner {
  min-height: 52px !important;
  height: 52px !important;
  border-radius: 17px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;
  color: var(--cf-refresh-blue) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

/* Choices select */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices {
  margin-bottom: 0 !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__inner {
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__list--single {
  padding: 0 !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__item {
  font-family: "Manrope", Arial, sans-serif !important;
}

/* Dropdown de valoración */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__list--dropdown,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__list[aria-expanded] {
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 18px 40px rgba(0, 27, 46, 0.16) !important;
  overflow: hidden !important;
  z-index: 99999 !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices__item--selectable.is-highlighted {
  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-refresh-blue) !important;
}

/* Focus naranja */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .form-select:focus,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .form-control:focus,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices.is-focused
  .choices__inner,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .choices.is-open
  .choices__inner {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

/* Textarea comentario */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  textarea.form-control {
  min-height: 120px !important;
  border-radius: 18px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;
  padding: 15px 17px !important;
  color: #1f2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  resize: vertical !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  textarea.form-control::placeholder {
  color: #94a3b8 !important;
}

/* Botón Enviar Valoración */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  button[type="submit"],
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .btn-primary {
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  border: 0 !important;
  border-radius: 17px !important;
  padding: 12px 24px !important;

  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.26) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  button[type="submit"]:hover,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #form-valoracion
  .btn-primary:hover {
  background: var(--cf-refresh-orange-dark) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* Contenedor de comentarios/listado de valoraciones */
body main .container[data-sticky-container] .col-xl-7 #contenedor-comentarios {
  max-height: 360px !important;
  overflow-y: auto !important;

  margin-top: 22px !important;
  padding: 16px !important;

  border-radius: 22px !important;
  border: 1px solid rgba(0, 27, 46, 0.08) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(0, 27, 46, 0.05) !important;
}

/* Scroll comentarios */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios::-webkit-scrollbar {
  width: 8px !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios::-webkit-scrollbar-track {
  background: #f1f5f9 !important;
  border-radius: 999px !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios::-webkit-scrollbar-thumb {
  background: rgba(255, 122, 0, 0.45) !important;
  border-radius: 999px !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios::-webkit-scrollbar-thumb:hover {
  background: var(--cf-refresh-orange) !important;
}

/* Comentarios generados por JS: estilo base sin depender de estructura exacta */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  .card,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  .review-item,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  > div {
  border-radius: 18px !important;
}

body main .container[data-sticky-container] .col-xl-7 #contenedor-comentarios p,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  span,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  small {
  font-family: "Manrope", Arial, sans-serif !important;
}

/* Botones editar/eliminar si aparecen en listado */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  .btn,
body
  main
  .container[data-sticky-container]
  .col-xl-7
  #contenedor-comentarios
  button {
  border-radius: 999px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  body
    main
    .container[data-sticky-container]
    .col-xl-7
    .card.bg-transparent
    .card-body
    > .card.bg-light.p-4.mb-4 {
    padding: 20px !important;
  }

  body
    main
    .container[data-sticky-container]
    .col-xl-7
    .card.bg-transparent
    .card-body
    > .card.bg-light
    h2 {
    font-size: 44px !important;
  }

  body main .container[data-sticky-container] .col-xl-7 #form-valoracion {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  body
    main
    .container[data-sticky-container]
    .col-xl-7
    #form-valoracion
    button[type="submit"] {
    width: 100% !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - Ajuste comentarios + filtro estrellas
   ========================================================== */

/* Fila Comentarios + Mostrar todos */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .d-flex.justify-content-between.align-items-center.mb-3:has(
    #filtro-estrellas
  ) {
  width: 100% !important;
  margin: 24px 0 12px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

/* Título Comentarios */
body
  main
  .container[data-sticky-container]
  .col-xl-7
  .d-flex.justify-content-between.align-items-center.mb-3:has(#filtro-estrellas)
  h5 {
  margin: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;

  color: var(--cf-refresh-blue) !important;
}

/* Select Mostrar todos */
body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas {
  width: auto !important;
  min-width: 168px !important;
  height: 42px !important;
  min-height: 42px !important;

  padding: 0 42px 0 16px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(0, 27, 46, 0.1) !important;

  background-color: #ffffff !important;
  color: var(--cf-refresh-blue-soft) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;

  box-shadow: 0 8px 20px rgba(0, 27, 46, 0.06) !important;
  cursor: pointer !important;
}

/* Focus naranja */
body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14) !important;
  outline: 0 !important;
}

/* Caja de comentarios debajo */
body main .container[data-sticky-container] .col-xl-7 #contenedor-comentarios {
  margin-top: 0 !important;
}

/* Responsive */
@media (max-width: 575.98px) {
  body
    main
    .container[data-sticky-container]
    .col-xl-7
    .d-flex.justify-content-between.align-items-center.mb-3:has(
      #filtro-estrellas
    ) {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas {
    width: 100% !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - Filtro valoraciones limpio
   Select nativo seguro
   ========================================================== */

body
  main
  .container[data-sticky-container]
  .col-xl-7
  .d-flex.justify-content-between.align-items-center.mb-3:has(
    #filtro-estrellas
  ) {
  width: 100% !important;
  margin: 24px 0 12px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

body
  main
  .container[data-sticky-container]
  .col-xl-7
  .d-flex.justify-content-between.align-items-center.mb-3:has(#filtro-estrellas)
  h5 {
  margin: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;

  color: var(--cf-refresh-blue) !important;
}

body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas {
  width: auto !important;
  min-width: 178px !important;
  height: 42px !important;
  min-height: 42px !important;

  padding: 0 14px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.42) !important;

  background-color: #ffffff !important;
  color: var(--cf-refresh-blue) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;

  box-shadow: 0 8px 20px rgba(0, 27, 46, 0.06) !important;
  cursor: pointer !important;
}

body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas:hover {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 12px 26px rgba(255, 122, 0, 0.1) !important;
}

body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14) !important;
  outline: 0 !important;
}

body main .container[data-sticky-container] .col-xl-7 #contenedor-comentarios {
  margin-top: 0 !important;
}

@media (max-width: 575.98px) {
  body
    main
    .container[data-sticky-container]
    .col-xl-7
    .d-flex.justify-content-between.align-items-center.mb-3:has(
      #filtro-estrellas
    ) {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body main .container[data-sticky-container] .col-xl-7 #filtro-estrellas {
    width: 100% !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - Fix seguro galería anidada
   Solo elimina el corrimiento interno de fotos
   ========================================================== */

/* La galería tiene un section/container interno; lo neutralizamos */
body
  .gallery-desktop
  > section.card-grid
  > .container
  > .row
  > section.card-grid {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* El container interno no debe volver a centrar ni achicar la galería */
body
  .gallery-desktop
  > section.card-grid
  > .container
  > .row
  > section.card-grid
  > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Solo limpiamos márgenes del row interno */
body
  .gallery-desktop
  > section.card-grid
  > .container
  > .row
  > section.card-grid
  > .container
  > .row.g-2 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Mantenemos separación normal entre fotos */
body
  .gallery-desktop
  > section.card-grid
  > .container
  > .row
  > section.card-grid
  > .container
  > .row.g-2 {
  --bs-gutter-x: 12px !important;
  --bs-gutter-y: 12px !important;
}

/* ==========================================================
   MODAL CONSULTA - Refresh visual CheckinFans
   Mantiene CSRF, honeypot, Flatpickr, validaciones y envío
   ========================================================== */

body #formulariocontacto {
  z-index: 1085 !important;
}

body #formulariocontacto .modal-dialog {
  max-width: 920px !important;
}

body #formulariocontacto .modal-content {
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  box-shadow: 0 30px 80px rgba(0, 27, 46, 0.28) !important;
}

body #formulariocontacto .modal-body {
  background: #ffffff !important;
}

/* Card interna vieja convertida en layout nuevo */
body #formulariocontacto .card.bg-transparent {
  padding: 0 !important;
  border: 0 !important;
  background: #ffffff !important;
}

/* Cabecera del modal */
body #formulariocontacto .card-header {
  position: relative !important;
  padding: 34px 38px 28px !important;
  border: 0 !important;
  background:
    radial-gradient(
      circle at top right,
      rgba(255, 122, 0, 0.2),
      transparent 32%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;
  color: #ffffff !important;
}

body #formulariocontacto .card-header::after {
  content: "Consulta directa" !important;
  display: inline-flex !important;
  margin-bottom: 14px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Título dinámico */
body #formulariocontacto #tituloCabeceraModal {
  margin: 0 !important;
  max-width: 720px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
  color: #ffffff !important;
}

/* Badges alojamientos seleccionados */
body #formulariocontacto #alojamientosSeleccionadosListado {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

body #formulariocontacto #alojamientosSeleccionadosListado .badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.14) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 122, 0, 0.28) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}

/* Cuerpo */
body #formulariocontacto .card-body {
  padding: 30px 38px 36px !important;
  background: #ffffff !important;
}

body #formulariocontacto .card-body > p {
  margin: 0 0 22px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: var(--cf-refresh-bg) !important;
  border: 1px solid rgba(0, 27, 46, 0.06) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: var(--cf-refresh-blue-soft) !important;
}

/* Form */
body #formulariocontacto #formulario-consulta {
  --bs-gutter-x: 16px !important;
  --bs-gutter-y: 16px !important;
}

body #formulariocontacto #formulario-consulta .form-label {
  margin-bottom: 7px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--cf-refresh-blue) !important;
}

body #formulariocontacto #formulario-consulta .form-control {
  min-height: 48px !important;
  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

body #formulariocontacto #formulario-consulta .form-control:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

body #formulariocontacto #formulario-consulta textarea.form-control {
  min-height: 116px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

/* Números */
body #formulariocontacto #modal_adultos,
body #formulariocontacto #modal_menores,
body #formulariocontacto #modal_mascotas {
  text-align: center !important;
  font-weight: 800 !important;
}

/* Términos */
body #formulariocontacto .form-check {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

body #formulariocontacto .form-check-input {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  border-color: #d8dee8 !important;
  box-shadow: none !important;
}

body #formulariocontacto .form-check-input:checked {
  background-color: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
}

body #formulariocontacto .form-check-input:focus {
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14) !important;
}

body #formulariocontacto .form-check-label {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

/* Botón enviar */
body #formulariocontacto #formulario-consulta button[type="submit"],
body #formulariocontacto #formulario-consulta .btn-dark {
  width: 100% !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body #formulariocontacto #formulario-consulta button[type="submit"]:hover,
body #formulariocontacto #formulario-consulta .btn-dark:hover {
  background: var(--cf-refresh-orange-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* Flatpickr del modal */
body .flatpickr-calendar {
  z-index: 999999 !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  body #formulariocontacto .modal-dialog {
    max-width: calc(100% - 22px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body #formulariocontacto .modal-content {
    border-radius: 24px !important;
  }

  body #formulariocontacto .card-header {
    padding: 28px 24px 24px !important;
  }

  body #formulariocontacto .card-body {
    padding: 24px !important;
  }

  body #formulariocontacto #tituloCabeceraModal {
    font-size: 27px !important;
  }
}
/* ==========================================================
   MODAL CONSULTA - Ajuste compacto final
   ========================================================== */

/* Modal un poco más angosto y alto controlado */
body #formulariocontacto .modal-dialog {
  max-width: 860px !important;
}

body #formulariocontacto .modal-content {
  max-height: calc(100vh - 32px) !important;
  overflow: hidden !important;
}

/* El scroll queda dentro del cuerpo, no en toda la pantalla */
body #formulariocontacto .modal-body {
  max-height: calc(100vh - 32px) !important;
  overflow-y: auto !important;
}

/* Header más bajo */
body #formulariocontacto .card-header {
  padding: 22px 34px 20px !important;
}

/* Sacamos el "Consulta directa" viejo de abajo */
body #formulariocontacto .card-header::after {
  display: none !important;
  content: none !important;
}

/* Nuevo "Consulta directa" arriba a la derecha */
body #formulariocontacto .card-header::before {
  content: "Consulta directa" !important;
  position: absolute !important;
  top: 24px !important;
  right: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 30px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Título dinámico ahora en dos líneas */
body #formulariocontacto #tituloCabeceraModal {
  max-width: 560px !important;
  margin: 0 !important;
  padding-right: 180px !important;
}

body #formulariocontacto #tituloCabeceraModal .cf-consulta-title-main {
  display: block !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(27px, 2.7vw, 36px) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;

  color: #ffffff !important;
}

body #formulariocontacto #tituloCabeceraModal .cf-consulta-title-sub {
  display: block !important;
  margin-top: 7px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  color: rgba(255, 255, 255, 0.72) !important;
}

/* Badges más discretos y más cerca del título */
body #formulariocontacto #alojamientosSeleccionadosListado {
  margin-top: 12px !important;
  gap: 6px !important;
}

body #formulariocontacto #alojamientosSeleccionadosListado .badge {
  min-height: 26px !important;
  padding: 6px 10px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
}

/* Cuerpo más compacto */
body #formulariocontacto .card-body {
  padding: 22px 34px 26px !important;
}

/* Mensaje inicial más bajo y compacto */
body #formulariocontacto .card-body > p {
  margin-bottom: 16px !important;
  padding: 11px 14px !important;
  border-radius: 15px !important;
  font-size: 14px !important;
}

/* Menos separación general */
body #formulariocontacto #formulario-consulta {
  --bs-gutter-x: 14px !important;
  --bs-gutter-y: 12px !important;
}

/* Labels más chicos */
body #formulariocontacto #formulario-consulta .form-label {
  margin-bottom: 5px !important;
  font-size: 12.5px !important;
}

/* Inputs más bajos */
body #formulariocontacto #formulario-consulta .form-control {
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  padding: 0 14px !important;
}

/* Textarea más chico */
body #formulariocontacto #formulario-consulta textarea.form-control {
  min-height: 86px !important;
  height: 86px !important;
  padding: 12px 14px !important;
}

/* Check términos más compacto */
body #formulariocontacto .form-check {
  margin-top: 2px !important;
}

body #formulariocontacto .form-check-label {
  font-size: 13px !important;
}

/* Botón más compacto */
body #formulariocontacto #formulario-consulta button[type="submit"],
body #formulariocontacto #formulario-consulta .btn-dark {
  min-height: 48px !important;
  border-radius: 15px !important;
  font-size: 14.5px !important;
}

/* Scroll interno más prolijo */
body #formulariocontacto .modal-body::-webkit-scrollbar {
  width: 8px !important;
}

body #formulariocontacto .modal-body::-webkit-scrollbar-track {
  background: #eef3f8 !important;
}

body #formulariocontacto .modal-body::-webkit-scrollbar-thumb {
  background: rgba(255, 122, 0, 0.45) !important;
  border-radius: 999px !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  body #formulariocontacto .card-header::before {
    position: static !important;
    margin-bottom: 12px !important;
  }

  body #formulariocontacto #tituloCabeceraModal {
    padding-right: 0 !important;
  }

  body #formulariocontacto .card-header {
    padding: 22px 22px 18px !important;
  }

  body #formulariocontacto .card-body {
    padding: 20px 22px 24px !important;
  }
}

/* ==========================================================
   MODAL CONSULTA - Ajuste título + distribución final
   ========================================================== */

/* Más aire para el nombre, sin desperdiciar derecha */
body #formulariocontacto #tituloCabeceraModal {
  max-width: calc(100% - 190px) !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

body #formulariocontacto .cf-consulta-title-wrap {
  display: block !important;
  width: 100% !important;
}

body #formulariocontacto .cf-consulta-title-main {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  color: #ffffff !important;

  white-space: normal !important;
  word-break: break-word !important;
}

body #formulariocontacto .cf-consulta-title-sub {
  display: block !important;
  margin-top: 10px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  text-transform: none !important;

  color: rgba(255, 255, 255, 0.78) !important;
}

/* Badge de consulta directa más equilibrado */
body #formulariocontacto .card-header::before {
  top: 22px !important;
  right: 30px !important;
}

/* Badges de alojamientos más cerca del título */
body #formulariocontacto #alojamientosSeleccionadosListado {
  margin-top: 10px !important;
  gap: 6px !important;
}

/* Inputs numéricos centrados pero más compactos */
body #formulariocontacto #modal_adultos,
body #formulariocontacto #modal_menores,
body #formulariocontacto #modal_mascotas {
  text-align: center !important;
  font-weight: 800 !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body #formulariocontacto #tituloCabeceraModal {
    max-width: 100% !important;
  }

  body #formulariocontacto .cf-consulta-title-main {
    font-size: 32px !important;
  }

  body #formulariocontacto .cf-consulta-title-sub {
    font-size: 14px !important;
  }
}
.cf-modal-consulta .row.g-3 {
  --bs-gutter-y: 14px;
  --bs-gutter-x: 16px;
}

.cf-modal-consulta .form-label {
  margin-bottom: 8px;
}

.cf-modal-consulta .form-control {
  min-height: 52px;
}
/* ==========================================================
   DETALLE ALOJAMIENTO - GLightbox refresh visual
   Galería ampliada / fotos detalle
   ========================================================== */

/* Fondo oscuro más elegante */
body .glightbox-container .goverlay {
  background: rgba(0, 18, 30, 0.88) !important;
  backdrop-filter: blur(6px) !important;
}

/* Contenedor general */
body .glightbox-container .gcontainer {
  font-family: "Manrope", Arial, sans-serif !important;
}

/* Caja de la imagen */
body .glightbox-container .gslide-media,
body .glightbox-container .gslide-image {
  border-radius: 26px 26px 0 0 !important;
  overflow: hidden !important;
  background: #001b2e !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42) !important;
}

/* Imagen ampliada */
body .glightbox-container .gslide-image img {
  border-radius: 26px 26px 0 0 !important;
  display: block !important;
  object-fit: contain !important;
  background: #001b2e !important;
}

/* Texto inferior / descripción */
body .glightbox-container .gslide-description.description-bottom {
  max-width: none !important;
  width: 100% !important;

  padding: 16px 22px !important;
  border-radius: 0 0 26px 26px !important;

  background:
    linear-gradient(90deg, rgba(255, 122, 0, 0.1), transparent 42%), #001b2e !important;

  border-top: 1px solid rgba(255, 122, 0, 0.2) !important;
  color: #ffffff !important;

  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.26) !important;
}

/* Título de la foto */
body .glightbox-container .gslide-title {
  margin: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;

  color: #ffffff !important;
}

/* Si aparece descripción extra */
body .glightbox-container .gslide-desc {
  margin-top: 4px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;

  color: rgba(255, 255, 255, 0.72) !important;
}

/* Flechas anterior / siguiente */
body .glightbox-container .gprev,
body .glightbox-container .gnext {
  width: 52px !important;
  height: 52px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;

  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;

  backdrop-filter: blur(10px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body .glightbox-container .gprev:hover,
body .glightbox-container .gnext:hover {
  transform: translateY(-1px) scale(1.04) !important;
  background: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
  box-shadow: 0 18px 44px rgba(255, 122, 0, 0.28) !important;
}

/* Íconos SVG de flechas */
body .glightbox-container .gprev svg,
body .glightbox-container .gnext svg,
body .glightbox-container .gclose svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}

/* Botón cerrar */
body .glightbox-container .gclose {
  top: 24px !important;
  right: 28px !important;

  width: 48px !important;
  height: 48px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(0, 27, 46, 0.08) !important;

  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--cf-refresh-blue) !important;

  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease !important;
}

body .glightbox-container .gclose:hover {
  transform: translateY(-1px) scale(1.04) !important;
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
}

/* Loader */
body .glightbox-container .gloader {
  border-color: rgba(255, 255, 255, 0.24) !important;
  border-top-color: var(--cf-refresh-orange) !important;
}

/* Ajustes mobile */
@media (max-width: 767.98px) {
  body .glightbox-container .gslide-media,
  body .glightbox-container .gslide-image,
  body .glightbox-container .gslide-image img {
    border-radius: 20px 20px 0 0 !important;
  }

  body .glightbox-container .gslide-description.description-bottom {
    border-radius: 0 0 20px 20px !important;
    padding: 14px 16px !important;
  }

  body .glightbox-container .gprev,
  body .glightbox-container .gnext {
    width: 44px !important;
    height: 44px !important;
  }

  body .glightbox-container .gclose {
    top: 16px !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
  }

  body .glightbox-container .gslide-title {
    font-size: 14px !important;
  }
}
/* ==========================================================
   DETALLE ALOJAMIENTO - GLightbox ajuste banda + cerrar
   ========================================================== */

/* El bloque interno se ajusta al ancho real de la foto */
body .glightbox-container .ginner-container {
  width: fit-content !important;
  max-width: calc(100vw - 120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: stretch !important;
}

/* La imagen no debe estirar el contenedor a pantalla completa */
body .glightbox-container .gslide-media,
body .glightbox-container .gslide-image {
  width: fit-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Imagen con redondeado superior */
body .glightbox-container .gslide-image img {
  max-width: calc(100vw - 120px) !important;
  max-height: calc(100vh - 190px) !important;
  width: auto !important;
  height: auto !important;
  border-radius: 24px 24px 0 0 !important;
}

/* La banda inferior ahora copia el ancho del contenedor/foto */
body .glightbox-container .gslide-description.description-bottom {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box !important;

  padding: 16px 22px !important;
  border-radius: 0 0 24px 24px !important;

  background:
    linear-gradient(90deg, rgba(255, 122, 0, 0.11), transparent 42%), #001b2e !important;

  border-top: 1px solid rgba(255, 122, 0, 0.22) !important;
}

/* Texto inferior más prolijo */
body .glightbox-container .gslide-title {
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

/* Botón cerrar siempre visible */
body .glightbox-container .gclose {
  opacity: 1 !important;
  visibility: visible !important;

  top: 26px !important;
  right: 30px !important;

  width: 48px !important;
  height: 48px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.35) !important;

  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--cf-refresh-orange) !important;

  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28) !important;
}

/* La X siempre visible, no solo en hover */
body .glightbox-container .gclose svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

body .glightbox-container .gclose:hover {
  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  border-color: var(--cf-refresh-orange) !important;
  transform: translateY(-1px) scale(1.04) !important;
}

/* Flechas un poco más visibles */
body .glightbox-container .gprev,
body .glightbox-container .gnext {
  opacity: 1 !important;
  visibility: visible !important;
  color: #ffffff !important;
}

/* Mobile */
@media (max-width: 767.98px) {
  body .glightbox-container .ginner-container {
    max-width: calc(100vw - 28px) !important;
  }

  body .glightbox-container .gslide-image img {
    max-width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 170px) !important;
    border-radius: 20px 20px 0 0 !important;
  }

  body .glightbox-container .gslide-description.description-bottom {
    border-radius: 0 0 20px 20px !important;
    padding: 14px 16px !important;
  }

  body .glightbox-container .gclose {
    top: 16px !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
  }
}
/* ==========================================================
   GLIGHTBOX - X naranja visible siempre
   ========================================================== */

body .glightbox-container .gclose {
  opacity: 1 !important;
  visibility: visible !important;

  width: 48px !important;
  height: 48px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.28) !important;

  background: rgba(255, 250, 244, 0.96) !important;
  color: var(--cf-refresh-orange) !important;

  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24) !important;
}

/* Ocultamos el SVG viejo para que no quede gris */
body .glightbox-container .gclose svg {
  display: none !important;
}

/* Nueva X naranja */
body .glightbox-container .gclose::before {
  content: "×" !important;

  display: block !important;

  font-family: Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  color: var(--cf-refresh-orange) !important;
  transform: translateY(-1px) !important;
}

/* Hover como te gustó: círculo naranja + X blanca */
body .glightbox-container .gclose:hover {
  background: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  transform: translateY(-1px) scale(1.04) !important;
}

body .glightbox-container .gclose:hover::before {
  color: #ffffff !important;
}
/* ==========================================================
   GLIGHTBOX - Flechas blancas con borde e ícono naranja
   ========================================================== */

body .glightbox-container .gprev,
body .glightbox-container .gnext {
  opacity: 1 !important;
  visibility: visible !important;

  width: 52px !important;
  height: 52px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.35) !important;

  background: rgba(255, 250, 244, 0.96) !important;
  color: var(--cf-refresh-orange) !important;

  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease !important;
}

/* Ocultamos los SVG originales de GLightbox */
body .glightbox-container .gprev svg,
body .glightbox-container .gnext svg {
  display: none !important;
}

/* Flecha anterior */
body .glightbox-container .gprev::before {
  content: "‹" !important;

  display: block !important;

  font-family: Arial, sans-serif !important;
  font-size: 42px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  color: var(--cf-refresh-orange) !important;
  transform: translateY(-2px) !important;
}

/* Flecha siguiente */
body .glightbox-container .gnext::before {
  content: "›" !important;

  display: block !important;

  font-family: Arial, sans-serif !important;
  font-size: 42px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  color: var(--cf-refresh-orange) !important;
  transform: translateY(-2px) !important;
}

/* Hover igual que la cruz */
body .glightbox-container .gprev:hover,
body .glightbox-container .gnext:hover {
  background: var(--cf-refresh-orange) !important;
  border-color: var(--cf-refresh-orange) !important;
  color: #ffffff !important;
  transform: translateY(-1px) scale(1.04) !important;
  box-shadow: 0 18px 44px rgba(255, 122, 0, 0.3) !important;
}

body .glightbox-container .gprev:hover::before,
body .glightbox-container .gnext:hover::before {
  color: #ffffff !important;
}

/* Mobile */
@media (max-width: 767.98px) {
  body .glightbox-container .gprev,
  body .glightbox-container .gnext {
    width: 44px !important;
    height: 44px !important;
  }

  body .glightbox-container .gprev::before,
  body .glightbox-container .gnext::before {
    font-size: 36px !important;
  }
}
/* ==========================================================
   CONTACTO - Refresh visual CheckinFans
   ========================================================== */

body.cf-contact-page {
  --cf-contact-blue: var(--cf-refresh-blue, #001b2e);
  --cf-contact-blue-soft: var(--cf-refresh-blue-soft, #183247);
  --cf-contact-orange: var(--cf-refresh-orange, #ff7a00);
  --cf-contact-orange-dark: var(--cf-refresh-orange-dark, #e96800);
  --cf-contact-bg: var(--cf-refresh-bg, #f4f7fb);

  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  background: var(--cf-contact-bg) !important;
}

body.cf-contact-page main {
  background: var(--cf-contact-bg) !important;
}

/* ------------------------------
   Hero superior
   ------------------------------ */

body.cf-contact-page main > section.pt-4.pt-md-2 {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
  background:
    radial-gradient(
      circle at 90% 12%,
      rgba(255, 122, 0, 0.08),
      transparent 28%
    ),
    var(--cf-contact-bg) !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 > .container,
body.cf-contact-page main > section.pt-0.pt-lg-5 > .container {
  max-width: 1320px !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 {
  margin-bottom: 28px !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 {
  position: relative !important;
  overflow: hidden !important;

  padding: 42px 46px !important;
  border-radius: 32px !important;

  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(255, 122, 0, 0.18),
      transparent 32%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;

  box-shadow: 0 24px 70px rgba(0, 27, 46, 0.14) !important;
}

/* Breadcrumb */
body.cf-contact-page .breadcrumb {
  margin-bottom: 18px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.cf-contact-page .breadcrumb a {
  color: var(--cf-contact-orange) !important;
  text-decoration: none !important;
}

body.cf-contact-page .breadcrumb .active {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Título hero */
body.cf-contact-page main > section.pt-4.pt-md-2 h1 {
  max-width: 760px !important;
  margin: 0 0 18px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;

  color: #ffffff !important;
}

/* Textos hero */
body.cf-contact-page main > section.pt-4.pt-md-2 .lead,
body.cf-contact-page main > section.pt-4.pt-md-2 p {
  max-width: 920px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .lead {
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 p.mb-0 {
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 strong {
  color: #ffffff !important;
  font-weight: 900 !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 a {
  color: var(--cf-contact-orange) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 a:hover {
  color: #ffffff !important;
}

/* ------------------------------
   Cards de contacto
   ------------------------------ */

body.cf-contact-page
  main
  > section.pt-4.pt-md-2
  .row.g-4
  > [class*="col-"]
  > .card {
  min-height: 100% !important;

  padding: 28px 24px !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 28px !important;

  background: #ffffff !important;
  box-shadow: 0 18px 48px rgba(0, 27, 46, 0.08) !important;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

body.cf-contact-page
  main
  > section.pt-4.pt-md-2
  .row.g-4
  > [class*="col-"]
  > .card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(255, 122, 0, 0.24) !important;
  box-shadow: 0 24px 60px rgba(0, 27, 46, 0.12) !important;
}

/* Íconos cards */
body.cf-contact-page main > section.pt-4.pt-md-2 .icon-lg {
  width: 54px !important;
  height: 54px !important;
  display: inline-grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-contact-orange) !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .icon-lg i {
  color: var(--cf-contact-orange) !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 h5 {
  margin: 12px 0 9px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;

  color: var(--cf-contact-blue) !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .card p {
  margin-bottom: 18px !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: #64748b !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .card strong {
  color: var(--cf-contact-blue) !important;
}

/* Botón llamar */
body.cf-contact-page #btnLlamar {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 10px 16px !important;
  border-radius: 999px !important;
  border: 0 !important;

  background: var(--cf-contact-orange) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;

  box-shadow: 0 12px 28px rgba(255, 122, 0, 0.24) !important;
}

body.cf-contact-page #btnLlamar:hover {
  background: var(--cf-contact-orange-dark) !important;
  color: #ffffff !important;
}

/* Email */
body.cf-contact-page #btnCopyEmail {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;

  min-height: 42px !important;
  padding: 10px 16px !important;

  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-contact-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.cf-contact-page #btnCopyEmail:hover {
  background: var(--cf-contact-orange) !important;
  color: #ffffff !important;
}

/* Redes */
body.cf-contact-page main > section.pt-4.pt-md-2 .list-inline {
  display: flex !important;
  justify-content: center !important;
  gap: 9px !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .list-inline-item {
  margin: 0 !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .list-inline .btn {
  width: 42px !important;
  height: 42px !important;

  display: inline-grid !important;
  place-items: center !important;

  padding: 0 !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-contact-orange) !important;

  box-shadow: none !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .list-inline .btn:hover {
  background: var(--cf-contact-orange) !important;
  color: #ffffff !important;
}

/* Ocultar decoración amarilla vieja */
body.cf-contact-page main > section.pt-4.pt-md-2 figure {
  display: none !important;
}

/* ------------------------------
   Formulario + panel
   ------------------------------ */

body.cf-contact-page main > section.pt-0.pt-lg-5 {
  padding-top: 18px !important;
  padding-bottom: 70px !important;
  background: var(--cf-contact-bg) !important;
}

body.cf-contact-page .cf-contact-panel {
  min-height: 100% !important;
  position: relative !important;
  overflow: hidden !important;

  padding: 38px !important;
  border-radius: 32px !important;

  background:
    radial-gradient(
      circle at bottom right,
      rgba(255, 122, 0, 0.2),
      transparent 36%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;

  color: #ffffff !important;
  box-shadow: 0 22px 64px rgba(0, 27, 46, 0.14) !important;
}

body.cf-contact-page .cf-contact-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  bottom: -70px !important;

  width: 210px !important;
  height: 210px !important;

  border-radius: 999px !important;
  border: 38px solid rgba(255, 122, 0, 0.1) !important;
}

body.cf-contact-page .cf-contact-panel-badge {
  display: inline-flex !important;
  margin-bottom: 22px !important;

  padding: 8px 14px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-contact-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-contact-page .cf-contact-panel h2 {
  margin: 0 0 16px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3.6vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.06em !important;

  color: #ffffff !important;
}

body.cf-contact-page .cf-contact-panel p {
  margin: 0 0 28px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;

  color: rgba(255, 255, 255, 0.76) !important;
}

body.cf-contact-page .cf-contact-panel-list {
  position: relative !important;
  z-index: 2 !important;

  display: grid !important;
  gap: 18px !important;
}

body.cf-contact-page .cf-contact-panel-list > div {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  column-gap: 14px !important;
  align-items: start !important;
}

body.cf-contact-page .cf-contact-panel-list span {
  width: 42px !important;
  height: 42px !important;

  display: inline-grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.65) !important;

  color: var(--cf-contact-orange) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-contact-page .cf-contact-panel-list strong {
  display: block !important;
  margin-bottom: 2px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
}

body.cf-contact-page .cf-contact-panel-list small {
  display: block !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.64) !important;
}

/* Card del formulario */
body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 32px !important;

  background: #ffffff !important;
  box-shadow: 0 22px 64px rgba(0, 27, 46, 0.1) !important;

  padding: 34px !important;
}

body.cf-contact-page main > section.pt-0.pt-lg-5 .card-header {
  border: 0 !important;
  background: transparent !important;
  padding: 0 0 18px !important;
}

body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light h2 {
  margin: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: clamp(28px, 2.6vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.05em !important;

  color: var(--cf-contact-blue) !important;
}

/* Form */
body.cf-contact-page #formulario_contacto {
  --bs-gutter-x: 16px !important;
  --bs-gutter-y: 16px !important;
}

body.cf-contact-page #formulario_contacto .form-span,
body.cf-contact-page #formulario_contacto .form-label,
body.cf-contact-page #formulario_contacto .form-check-span {
  font-family: "Manrope", Arial, sans-serif !important;
}

body.cf-contact-page #formulario_contacto .form-span,
body.cf-contact-page #formulario_contacto .form-label {
  display: block !important;
  margin-bottom: 7px !important;

  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--cf-contact-blue) !important;
}

body.cf-contact-page #formulario_contacto .form-control {
  min-height: 48px !important;
  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;

  background: #ffffff !important;
  color: #1f2937 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
}

body.cf-contact-page #formulario_contacto .form-control:focus {
  border-color: var(--cf-contact-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

body.cf-contact-page #formulario_contacto select.form-control {
  cursor: pointer !important;
}

body.cf-contact-page #formulario_contacto textarea.form-control {
  min-height: 112px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

/* Checkbox */
body.cf-contact-page #formulario_contacto .form-check {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  margin-left: 0 !important;
  padding-left: 0 !important;
}

body.cf-contact-page #formulario_contacto .form-check-input {
  width: 18px !important;
  height: 18px !important;

  margin: 0 !important;
  border-color: #d8dee8 !important;
  box-shadow: none !important;
}

body.cf-contact-page #formulario_contacto .form-check-input:checked {
  background-color: var(--cf-contact-orange) !important;
  border-color: var(--cf-contact-orange) !important;
}

body.cf-contact-page #formulario_contacto .form-check-input:focus {
  border-color: var(--cf-contact-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14) !important;
}

body.cf-contact-page #formulario_contacto .form-check-span {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

/* Botón enviar */
body.cf-contact-page #formulario_contacto button[type="submit"] {
  width: 100% !important;
  min-height: 52px !important;

  border: 0 !important;
  border-radius: 17px !important;

  background: var(--cf-contact-orange) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-contact-page #formulario_contacto button[type="submit"]:hover {
  background: var(--cf-contact-orange-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* QR modal */
body.cf-contact-page #modalQRllamada .modal-content {
  border: 0 !important;
  border-radius: 26px !important;
  box-shadow: 0 28px 72px rgba(0, 27, 46, 0.28) !important;
}

body.cf-contact-page #modalQRllamada .modal-header {
  border: 0 !important;
  padding: 24px 26px 10px !important;
}

body.cf-contact-page #modalQRllamada .modal-title {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  color: var(--cf-contact-blue) !important;
}

body.cf-contact-page #modalQRllamada .modal-body {
  padding: 20px 26px 28px !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 {
    padding: 34px 28px !important;
    border-radius: 26px !important;
  }

  body.cf-contact-page .cf-contact-panel,
  body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
    border-radius: 26px !important;
    padding: 28px !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-contact-page main > section.pt-4.pt-md-2 {
    padding-top: 22px !important;
  }

  body.cf-contact-page main > section.pt-4.pt-md-2 h1 {
    font-size: 40px !important;
  }

  body.cf-contact-page main > section.pt-4.pt-md-2 .lead {
    font-size: 15.5px !important;
  }

  body.cf-contact-page #formulario_contacto .col-2,
  body.cf-contact-page #formulario_contacto .col-4 {
    width: 50% !important;
  }
}
/* ==========================================================
   CONTACTO - Ajuste final ancho hero + altura panel/form
   ========================================================== */

/* El bloque azul superior se alinea con el borde real de las 3 cards */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 {
  --bs-gutter-x: 24px !important;
  margin-left: calc(-0.5 * var(--bs-gutter-x)) !important;
  margin-right: calc(-0.5 * var(--bs-gutter-x)) !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 {
  width: calc(100% - 24px) !important;
  max-width: calc(100% - 24px) !important;

  margin-left: 12px !important;
  margin-right: 12px !important;

  padding: 40px 46px !important;
}

/* Cards de contacto: misma lectura visual y sin que se corten abajo */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.g-4 {
  align-items: stretch !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 .row.g-4 > [class*="col-"] {
  display: flex !important;
}

body.cf-contact-page
  main
  > section.pt-4.pt-md-2
  .row.g-4
  > [class*="col-"]
  > .card {
  width: 100% !important;
  min-height: 220px !important;
}

/* Sección formulario: las dos columnas deben estirarse iguales */
body.cf-contact-page main > section.pt-0.pt-lg-5 .row.g-4.g-lg-5 {
  align-items: stretch !important;
}

/* Las columnas se comportan como columnas flexibles */
body.cf-contact-page
  main
  > section.pt-0.pt-lg-5
  .row.g-4.g-lg-5
  > [class*="col-"] {
  display: flex !important;
}

/* Panel izquierdo del formulario: misma altura que la card derecha */
body.cf-contact-page .cf-contact-panel {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Formulario derecho: ocupa toda la altura de su columna */
body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
  width: 100% !important;
  height: 100% !important;
}

/* Corrige el título del panel azul, que estaba quedando muy oscuro */
body.cf-contact-page .cf-contact-panel h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Texto del panel más legible */
body.cf-contact-page .cf-contact-panel p {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Ajuste visual para que el panel no parezca más chico que el formulario */
body.cf-contact-page .cf-contact-panel-list {
  margin-top: 8px !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.cf-contact-page
    main
    > section.pt-0.pt-lg-5
    .row.g-4.g-lg-5
    > [class*="col-"] {
    display: block !important;
  }

  body.cf-contact-page .cf-contact-panel,
  body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
    height: auto !important;
    min-height: auto !important;
  }
}
/* ==========================================================
   CONTACTO - Flow visual final de bloques
   Hero + cards + panel formulario
   ========================================================== */

/* Sección superior más fluida */
body.cf-contact-page main > section.pt-4.pt-md-2 {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}

/* Hero azul: menos pesado y con mejor composición */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 {
  position: relative !important;
  overflow: hidden !important;

  padding: 44px 54px 42px !important;
  border-radius: 34px !important;

  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(255, 122, 0, 0.18),
      transparent 28%
    ),
    radial-gradient(circle at 98% 96%, rgba(255, 122, 0, 0.1), transparent 24%),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;

  box-shadow: 0 26px 70px rgba(0, 27, 46, 0.16) !important;
}

/* Círculo decorativo suave */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12::after {
  content: "" !important;
  position: absolute !important;
  right: -72px !important;
  bottom: -92px !important;

  width: 260px !important;
  height: 260px !important;

  border-radius: 999px !important;
  border: 42px solid rgba(255, 122, 0, 0.08) !important;

  pointer-events: none !important;
}

/* El contenido queda por encima de la decoración */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Título superior más contenido, más elegante */
body.cf-contact-page main > section.pt-4.pt-md-2 h1 {
  max-width: 820px !important;
  margin-bottom: 22px !important;

  font-size: clamp(44px, 5vw, 68px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

/* Textos del hero con mejor ancho de lectura */
body.cf-contact-page main > section.pt-4.pt-md-2 .lead,
body.cf-contact-page main > section.pt-4.pt-md-2 p {
  max-width: 880px !important;
}

body.cf-contact-page main > section.pt-4.pt-md-2 p.mb-0 {
  margin-top: 22px !important;
  max-width: 900px !important;
  color: rgba(255, 255, 255, 0.76) !important;
}

/* Cards de contacto: entran visualmente debajo del hero */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.g-4 {
  margin-top: -6px !important;
  align-items: stretch !important;
}

/* Columna card flexible */
body.cf-contact-page main > section.pt-4.pt-md-2 .row.g-4 > [class*="col-"] {
  display: flex !important;
}

/* Card contacto con más flow */
body.cf-contact-page
  main
  > section.pt-4.pt-md-2
  .row.g-4
  > [class*="col-"]
  > .card {
  width: 100% !important;
  min-height: 230px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  padding: 32px 28px !important;
  border-radius: 30px !important;

  border: 1px solid rgba(0, 27, 46, 0.06) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf5 100%) !important;

  box-shadow: 0 22px 58px rgba(0, 27, 46, 0.08) !important;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

body.cf-contact-page
  main
  > section.pt-4.pt-md-2
  .row.g-4
  > [class*="col-"]
  > .card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(255, 122, 0, 0.24) !important;
  box-shadow: 0 28px 70px rgba(0, 27, 46, 0.12) !important;
}

/* Íconos de las cards más integrados */
body.cf-contact-page main > section.pt-4.pt-md-2 .icon-lg {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 18px !important;

  width: 58px !important;
  height: 58px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange) !important;
}

/* Card titles */
body.cf-contact-page main > section.pt-4.pt-md-2 .card h5 {
  margin-top: 0 !important;
  margin-bottom: 12px !important;

  font-size: 22px !important;
  line-height: 1.1 !important;
}

/* Textos cards */
body.cf-contact-page main > section.pt-4.pt-md-2 .card p {
  max-width: 320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Botones cards más suaves */
body.cf-contact-page #btnLlamar,
body.cf-contact-page #btnCopyEmail {
  margin-top: auto !important;
  align-self: center !important;
}

/* Redes centradas y con más aire */
body.cf-contact-page main > section.pt-4.pt-md-2 .list-inline {
  margin-top: auto !important;
  padding-top: 10px !important;
}

/* Sección formulario con mejor separación */
body.cf-contact-page main > section.pt-0.pt-lg-5 {
  padding-top: 44px !important;
  padding-bottom: 80px !important;
}

/* Dos columnas del formulario iguales, pero con contenido mejor ubicado */
body.cf-contact-page main > section.pt-0.pt-lg-5 .row.g-4.g-lg-5 {
  align-items: stretch !important;
}

body.cf-contact-page
  main
  > section.pt-0.pt-lg-5
  .row.g-4.g-lg-5
  > [class*="col-"] {
  display: flex !important;
}

/* Panel azul izquierdo: menos vacío, más editorial */
body.cf-contact-page .cf-contact-panel {
  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  padding: 46px 42px !important;
  border-radius: 34px !important;

  background:
    radial-gradient(
      circle at 88% 86%,
      rgba(255, 122, 0, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;
}

/* Badge del panel más corto y elegante */
body.cf-contact-page .cf-contact-panel-badge {
  width: fit-content !important;
  max-width: 100% !important;
  margin-bottom: 24px !important;

  padding: 9px 16px !important;
  border-radius: 999px !important;
}

/* Título del panel visible y protagonista */
body.cf-contact-page .cf-contact-panel h2 {
  display: block !important;
  margin: 0 0 18px !important;

  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;

  font-size: clamp(34px, 3.4vw, 50px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.06em !important;
}

/* Párrafo del panel */
body.cf-contact-page .cf-contact-panel p {
  max-width: 520px !important;
  margin-bottom: 34px !important;

  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 16px !important;
}

/* Lista del panel con mejor ritmo */
body.cf-contact-page .cf-contact-panel-list {
  display: grid !important;
  gap: 20px !important;
  margin-top: 0 !important;
}

body.cf-contact-page .cf-contact-panel-list > div {
  display: grid !important;
  grid-template-columns: 46px 1fr !important;
  gap: 15px !important;
  align-items: center !important;
}

body.cf-contact-page .cf-contact-panel-list span {
  width: 46px !important;
  height: 46px !important;

  background: rgba(255, 122, 0, 0.06) !important;
}

/* Card formulario alineada visualmente con el panel */
body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;

  padding: 42px 38px !important;
  border-radius: 34px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Formulario respira mejor */
body.cf-contact-page #formulario_contacto {
  --bs-gutter-x: 18px !important;
  --bs-gutter-y: 18px !important;
}

/* Botón no queda tan pegado */
body.cf-contact-page #formulario_contacto button[type="submit"] {
  margin-top: 4px !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-contact-page main > section.pt-4.pt-md-2 .row.mb-5 > .col-xl-12 {
    padding: 34px 28px !important;
    border-radius: 28px !important;
  }

  body.cf-contact-page main > section.pt-4.pt-md-2 h1 {
    font-size: 44px !important;
  }

  body.cf-contact-page .cf-contact-panel,
  body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
    min-height: auto !important;
    height: auto !important;
    border-radius: 28px !important;
    padding: 32px 28px !important;
  }

  body.cf-contact-page
    main
    > section.pt-0.pt-lg-5
    .row.g-4.g-lg-5
    > [class*="col-"] {
    display: block !important;
  }
}
/* ==========================================================
   CONTACTO - Panel izquierdo final limpio
   ========================================================== */

body.cf-contact-page main > section.pt-0.pt-lg-5 .cf-contact-panel {
  position: relative !important;
  overflow: hidden !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;

  padding: 38px 38px 34px !important;
  border-radius: 34px !important;

  display: flex !important;
  flex-direction: column !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.14),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;

  box-shadow: 0 24px 64px rgba(0, 27, 46, 0.12) !important;
}

/* Decoración inferior derecha, discreta */
body.cf-contact-page main > section.pt-0.pt-lg-5 .cf-contact-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -54px !important;
  bottom: -58px !important;

  width: 180px !important;
  height: 180px !important;

  border-radius: 999px !important;
  border: 24px solid rgba(255, 122, 0, 0.12) !important;

  pointer-events: none !important;
}

body.cf-contact-page main > section.pt-0.pt-lg-5 .cf-contact-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Logo horizontal armado */
body.cf-contact-page .cf-contact-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 13px !important;

  margin: 0 0 26px !important;
}

body.cf-contact-page .cf-contact-brand-mark {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;

  object-fit: contain !important;
  display: block !important;
}

body.cf-contact-page .cf-contact-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.cf-contact-page .cf-contact-brand-name {
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  line-height: 1 !important;
  color: #ffffff !important;
}

body.cf-contact-page .cf-contact-brand-name span {
  color: #ffffff !important;
}

body.cf-contact-page .cf-contact-brand-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}

body.cf-contact-page .cf-contact-brand-subtitle {
  margin-top: 7px !important;

  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  line-height: 1 !important;

  color: rgba(255, 255, 255, 0.7) !important;
}

/* Badge */
body.cf-contact-page .cf-contact-panel-badge {
  width: fit-content !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 0 22px !important;
  padding: 9px 15px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* Título visible, sin opacidad rara */
body.cf-contact-page .cf-contact-panel-title,
body.cf-contact-page .cf-contact-panel h2 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;

  margin: 0 0 16px !important;

  color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(38px, 3.6vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;

  transform: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Texto principal */
body.cf-contact-page .cf-contact-panel-lead,
body.cf-contact-page .cf-contact-panel > p:not(.cf-contact-panel-foot) {
  max-width: 520px !important;
  margin: 0 0 30px !important;

  color: rgba(255, 255, 255, 0.86) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}

/* Lista */
body.cf-contact-page .cf-contact-panel-list {
  display: grid !important;
  gap: 20px !important;

  margin: 0 !important;
}

body.cf-contact-page .cf-contact-panel-item,
body.cf-contact-page .cf-contact-panel-list > div {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 15px !important;
  align-items: center !important;
}

body.cf-contact-page .cf-contact-panel-icon,
body.cf-contact-page .cf-contact-panel-list > div > span {
  width: 44px !important;
  height: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.9) !important;

  background: rgba(255, 122, 0, 0.05) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-contact-page .cf-contact-panel-item strong,
body.cf-contact-page .cf-contact-panel-list strong {
  display: block !important;

  margin: 0 0 4px !important;

  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.cf-contact-page .cf-contact-panel-item small,
body.cf-contact-page .cf-contact-panel-list small {
  display: block !important;

  color: rgba(255, 255, 255, 0.7) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* Cierre inferior */
body.cf-contact-page .cf-contact-panel-foot {
  margin: auto 0 0 !important;
  padding-top: 28px !important;

  color: rgba(255, 255, 255, 0.58) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Igualar altura visual con formulario */
body.cf-contact-page main > section.pt-0.pt-lg-5 .row.g-4.g-lg-5 {
  align-items: stretch !important;
}

body.cf-contact-page
  main
  > section.pt-0.pt-lg-5
  .row.g-4.g-lg-5
  > [class*="col-"] {
  display: flex !important;
}

body.cf-contact-page main > section.pt-0.pt-lg-5 .card.bg-light {
  width: 100% !important;
  height: 100% !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-contact-page
    main
    > section.pt-0.pt-lg-5
    .row.g-4.g-lg-5
    > [class*="col-"] {
    display: block !important;
  }

  body.cf-contact-page main > section.pt-0.pt-lg-5 .cf-contact-panel {
    min-height: auto !important;
    padding: 30px 24px !important;
    border-radius: 28px !important;
  }

  body.cf-contact-page .cf-contact-brand-mark {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  body.cf-contact-page .cf-contact-brand-name {
    font-size: 25px !important;
  }

  body.cf-contact-page .cf-contact-panel-title,
  body.cf-contact-page .cf-contact-panel h2 {
    font-size: 40px !important;
  }
}
/* ==========================================================
   CONTACTO - Panel izquierdo estilo final armonizado
   ========================================================== */

body.cf-contact-page .cf-contact-panel {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  padding: 34px 36px 34px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.12),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;
  box-shadow: 0 24px 64px rgba(0, 27, 46, 0.1) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

body.cf-contact-page .cf-contact-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -36px !important;
  bottom: -42px !important;
  width: 160px !important;
  height: 160px !important;
  border-radius: 999px !important;
  border: 22px solid rgba(255, 122, 0, 0.14) !important;
  pointer-events: none !important;
}

body.cf-contact-page .cf-contact-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* fila superior */
body.cf-contact-page .cf-contact-panel-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 26px !important;
}

body.cf-contact-page .cf-contact-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

body.cf-contact-page .cf-contact-brand-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
  display: block !important;
}

body.cf-contact-page .cf-contact-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.cf-contact-page .cf-contact-brand-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
  color: #ffffff !important;
}

body.cf-contact-page .cf-contact-brand-name span {
  color: #ffffff !important;
}

body.cf-contact-page .cf-contact-brand-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}

body.cf-contact-page .cf-contact-brand-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

/* badge */
body.cf-contact-page .cf-contact-panel-badge {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  margin: 2px 0 0 !important;
}

/* contenido */
body.cf-contact-page .cf-contact-panel-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  flex: 1 1 auto !important;
}

/* TITULO: ahora sí blanco y visible */
body.cf-contact-page .cf-contact-panel-title {
  margin: 0 0 34px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(40px, 3vw, 58px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}

body.cf-contact-page .cf-contact-panel-lead {
  max-width: 520px !important;
  margin: 0 0 28px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

/* lista */
body.cf-contact-page .cf-contact-panel-list {
  display: grid !important;
  gap: 18px !important;
  margin: 0 0 26px !important;
}

body.cf-contact-page .cf-contact-panel-item {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

body.cf-contact-page .cf-contact-panel-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.95) !important;
  background: rgba(255, 122, 0, 0.05) !important;
  color: var(--cf-refresh-orange) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-contact-page .cf-contact-panel-item strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-contact-page .cf-contact-panel-item small {
  display: block !important;
  color: rgba(255, 255, 255, 0.74) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* pie */
body.cf-contact-page .cf-contact-panel-foot {
  margin: auto 0 0 !important;
  padding-top: 12px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* columnas con altura pareja */
body.cf-contact-page .cf-contact-bottom-row {
  align-items: stretch !important;
}

body.cf-contact-page .cf-contact-bottom-row > [class*="col-"] {
  display: flex !important;
}

body.cf-contact-page .cf-contact-bottom-row > [class*="col-"] > * {
  width: 100% !important;
}

@media (max-width: 991.98px) {
  body.cf-contact-page .cf-contact-panel {
    padding: 28px 24px !important;
    border-radius: 28px !important;
  }

  body.cf-contact-page .cf-contact-panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 22px !important;
  }

  body.cf-contact-page .cf-contact-brand-name {
    font-size: 25px !important;
  }

  body.cf-contact-page .cf-contact-panel-title {
    font-size: 38px !important;
  }
}
/* ==========================================================
   PUBLICAR ALOJAMIENTO - Panel izquierdo estilo CheckinFans
   ========================================================== */

body.cf-publish-page .cf-publish-bottom-row {
  align-items: stretch !important;
}

body.cf-publish-page .cf-publish-bottom-row > [class*="col-"] {
  display: flex !important;
}

body.cf-publish-page .cf-publish-bottom-row > [class*="col-"] > * {
  width: 100% !important;
}

/* Panel azul */
body.cf-publish-page .cf-publish-panel {
  position: relative !important;
  overflow: hidden !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;

  padding: 34px 36px !important;
  border-radius: 34px !important;

  display: flex !important;
  flex-direction: column !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.12),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;

  box-shadow: 0 24px 64px rgba(0, 27, 46, 0.1) !important;
}

body.cf-publish-page .cf-publish-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -36px !important;
  bottom: -42px !important;

  width: 160px !important;
  height: 160px !important;

  border-radius: 999px !important;
  border: 22px solid rgba(255, 122, 0, 0.14) !important;

  pointer-events: none !important;
}

body.cf-publish-page .cf-publish-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Superior: logo + badge */
body.cf-publish-page .cf-publish-panel-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;

  margin-bottom: 28px !important;
}

body.cf-publish-page .cf-publish-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;

  margin: 0 !important;
}

body.cf-publish-page .cf-publish-brand-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;

  object-fit: contain !important;
  display: block !important;
}

body.cf-publish-page .cf-publish-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  line-height: 1 !important;
}

body.cf-publish-page .cf-publish-brand-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;

  color: #ffffff !important;
}

body.cf-publish-page .cf-publish-brand-name span {
  color: #ffffff !important;
}

body.cf-publish-page .cf-publish-brand-name strong {
  color: var(--cf-refresh-orange) !important;
  font-weight: 800 !important;
}

body.cf-publish-page .cf-publish-brand-subtitle {
  margin-top: 6px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;

  color: rgba(255, 255, 255, 0.72) !important;
}

body.cf-publish-page .cf-publish-panel-badge {
  flex-shrink: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 10px 16px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;

  margin: 2px 0 0 !important;
}

/* Contenido */
body.cf-publish-page .cf-publish-panel-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

/* Título */
body.cf-publish-page .cf-publish-panel-title {
  margin: 0 0 22px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(38px, 3vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;

  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.cf-publish-page .cf-publish-panel-lead {
  max-width: 540px !important;
  margin: 0 0 28px !important;

  color: rgba(255, 255, 255, 0.9) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

/* Lista */
body.cf-publish-page .cf-publish-panel-list {
  display: grid !important;
  gap: 18px !important;

  margin: 0 0 26px !important;
}

body.cf-publish-page .cf-publish-panel-item {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

body.cf-publish-page .cf-publish-panel-icon {
  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.95) !important;

  background: rgba(255, 122, 0, 0.05) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-publish-page .cf-publish-panel-item strong {
  display: block !important;

  margin: 0 0 4px !important;

  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-publish-page .cf-publish-panel-item small {
  display: block !important;

  color: rgba(255, 255, 255, 0.74) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* Chips inferiores */
body.cf-publish-page .cf-publish-panel-extra {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;

  margin: 0 0 22px !important;
  padding-top: 4px !important;
}

body.cf-publish-page .cf-publish-panel-extra span {
  display: inline-flex !important;
  align-items: center !important;

  min-height: 34px !important;
  padding: 8px 13px !important;

  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;

  color: rgba(255, 255, 255, 0.86) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Pie */
body.cf-publish-page .cf-publish-panel-foot {
  margin: auto 0 0 !important;
  padding-top: 12px !important;

  color: rgba(255, 255, 255, 0.62) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Formulario derecho igualado */
body.cf-publish-page main > section.pt-0.pt-lg-5 .card.bg-light {
  width: 100% !important;
  height: 100% !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-publish-page .cf-publish-bottom-row > [class*="col-"] {
    display: block !important;
  }

  body.cf-publish-page .cf-publish-panel {
    min-height: auto !important;
    padding: 28px 24px !important;
    border-radius: 28px !important;
  }

  body.cf-publish-page .cf-publish-panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
  }

  body.cf-publish-page .cf-publish-brand-name {
    font-size: 25px !important;
  }

  body.cf-publish-page .cf-publish-panel-title {
    font-size: 38px !important;
  }
}
/* ==========================================================
   REGISTRARSE - Refresh visual CheckinFans
   ========================================================== */

body.cf-register-page {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
}

body.cf-register-page main {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
}

/* Sección */
body.cf-register-page .cf-register-section {
  min-height: calc(100vh - 88px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 34px 0 46px !important;
  background:
    radial-gradient(
      circle at 90% 12%,
      rgba(255, 122, 0, 0.08),
      transparent 28%
    ),
    var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-register-page .cf-register-section .container {
  max-width: 1180px !important;
}

/* Caja general */
body.cf-register-page .cf-register-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(440px, 0.95fr) !important;
  align-items: stretch !important;

  overflow: hidden !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  box-shadow: 0 28px 80px rgba(0, 27, 46, 0.12) !important;
}

/* Panel izquierdo */
body.cf-register-page .cf-register-panel {
  position: relative !important;
  overflow: hidden !important;

  min-height: 640px !important;
  padding: 36px 38px 34px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.12),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;
}

body.cf-register-page .cf-register-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -56px !important;
  bottom: -60px !important;

  width: 240px !important;
  height: 240px !important;

  border-radius: 999px !important;
  border: 40px solid rgba(255, 122, 0, 0.1) !important;

  pointer-events: none !important;
}

body.cf-register-page .cf-register-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Top logo + badge */
body.cf-register-page .cf-register-panel-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 34px !important;
}

body.cf-register-page .cf-register-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body.cf-register-page .cf-register-brand-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
  display: block !important;
}

body.cf-register-page .cf-register-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.cf-register-page .cf-register-brand-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
  color: #ffffff !important;
}

body.cf-register-page .cf-register-brand-name span {
  color: #ffffff !important;
}

body.cf-register-page .cf-register-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 800 !important;
}

body.cf-register-page .cf-register-brand-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

body.cf-register-page .cf-register-panel-badge {
  flex-shrink: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 10px 16px !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;

  margin: 2px 0 0 !important;
}

/* Contenido panel */
body.cf-register-page .cf-register-panel-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

body.cf-register-page .cf-register-panel-title {
  max-width: 560px !important;
  margin: 0 0 22px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(42px, 4vw, 62px) !important;
  font-weight: 900 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.065em !important;

  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.cf-register-page .cf-register-panel-lead {
  max-width: 540px !important;
  margin: 0 0 34px !important;

  color: rgba(255, 255, 255, 0.88) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

body.cf-register-page .cf-register-panel-list {
  display: grid !important;
  gap: 18px !important;
  margin: 0 0 28px !important;
}

body.cf-register-page .cf-register-panel-item {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 15px !important;
  align-items: center !important;
}

body.cf-register-page .cf-register-panel-icon {
  width: 44px !important;
  height: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.95) !important;

  background: rgba(255, 122, 0, 0.05) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-register-page .cf-register-panel-item strong {
  display: block !important;
  margin: 0 0 4px !important;

  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-register-page .cf-register-panel-item small {
  display: block !important;

  color: rgba(255, 255, 255, 0.72) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

body.cf-register-page .cf-register-panel-foot {
  margin: auto 0 0 !important;
  padding-top: 12px !important;

  color: rgba(255, 255, 255, 0.62) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Card derecha */
body.cf-register-page .cf-register-card {
  min-height: 640px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 54px 58px !important;

  background:
    radial-gradient(
      circle at 100% 100%,
      rgba(255, 122, 0, 0.07),
      transparent 30%
    ),
    #ffffff !important;
}

body.cf-register-page .cf-register-form-inner {
  width: 100% !important;
  max-width: 470px !important;
}

/* Título lado formulario */
body.cf-register-page .cf-register-kicker {
  margin-bottom: 10px !important;

  color: #697789 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.2em !important;
}

body.cf-register-page .cf-register-title {
  margin: 0 0 8px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body.cf-register-page .cf-register-login-link {
  margin: 0 0 24px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
}

body.cf-register-page .cf-register-login-link a {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.cf-register-page .cf-register-login-link a:hover {
  color: var(--cf-refresh-orange-dark, #e96800) !important;
}

/* Form */
body.cf-register-page .cf-register-form {
  margin-top: 0 !important;
}

body.cf-register-page .cf-register-field {
  margin-bottom: 16px !important;
}

body.cf-register-page .cf-register-field .form-label {
  margin-bottom: 7px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.cf-register-page .cf-register-form .form-control {
  min-height: 52px !important;

  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;

  background: #eef4fb !important;
  color: #1f2937 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
}

body.cf-register-page .cf-register-form .form-control:focus {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

body.cf-register-page .cf-register-password-note {
  margin: -5px 0 15px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

body.cf-register-page .cf-register-error {
  margin-bottom: 5px !important;

  color: #ef4444 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.cf-register-page .cf-register-eye {
  right: 14px !important;
  color: #64748b !important;
}

body.cf-register-page .cf-register-eye i {
  color: #64748b !important;
}

body.cf-register-page .cf-register-eye:hover i {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* Botón */
body.cf-register-page .cf-register-submit {
  min-height: 54px !important;

  margin-top: 4px !important;

  border: 0 !important;
  border-radius: 17px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-register-page .cf-register-submit:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* Mensajes de validación heredados */
body.cf-register-page .cf-register-card .alert,
body.cf-register-page .cf-register-card .text-danger {
  border-radius: 14px !important;
  font-family: "Manrope", Arial, sans-serif !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-register-page .cf-register-section {
    min-height: auto !important;
    padding: 24px 0 42px !important;
  }

  body.cf-register-page .cf-register-shell {
    grid-template-columns: 1fr !important;
    border-radius: 28px !important;
  }

  body.cf-register-page .cf-register-panel,
  body.cf-register-page .cf-register-card {
    min-height: auto !important;
  }

  body.cf-register-page .cf-register-panel {
    padding: 30px 24px !important;
  }

  body.cf-register-page .cf-register-panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  body.cf-register-page .cf-register-card {
    padding: 34px 24px !important;
  }

  body.cf-register-page .cf-register-brand-name {
    font-size: 25px !important;
  }

  body.cf-register-page .cf-register-panel-title {
    font-size: 40px !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-register-page .cf-register-panel-title {
    font-size: 36px !important;
  }

  body.cf-register-page .cf-register-title {
    font-size: 34px !important;
  }
}

/* ==========================================================
   REGISTRARSE - Ajuste compacto de altura
   Evita scroll vertical innecesario
   ========================================================== */

body.cf-register-page .cf-register-section {
  min-height: auto !important;
  padding: 22px 0 30px !important;
}

body.cf-register-page .cf-register-shell {
  min-height: auto !important;
}

/* Bajamos altura general de ambos bloques */
body.cf-register-page .cf-register-panel,
body.cf-register-page .cf-register-card {
  min-height: 570px !important;
}

/* Panel izquierdo más compacto */
body.cf-register-page .cf-register-panel {
  padding: 30px 34px 28px !important;
}

body.cf-register-page .cf-register-panel-top {
  margin-bottom: 24px !important;
}

body.cf-register-page .cf-register-panel-title {
  font-size: clamp(38px, 3.4vw, 54px) !important;
  line-height: 0.96 !important;
  margin-bottom: 18px !important;
}

body.cf-register-page .cf-register-panel-lead {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
}

body.cf-register-page .cf-register-panel-list {
  gap: 14px !important;
  margin-bottom: 20px !important;
}

body.cf-register-page .cf-register-panel-item {
  grid-template-columns: 40px 1fr !important;
  gap: 13px !important;
}

body.cf-register-page .cf-register-panel-icon {
  width: 40px !important;
  height: 40px !important;
}

body.cf-register-page .cf-register-panel-foot {
  padding-top: 8px !important;
}

/* Formulario derecho más compacto */
body.cf-register-page .cf-register-card {
  padding: 38px 52px !important;
}

body.cf-register-page .cf-register-kicker {
  margin-bottom: 8px !important;
}

body.cf-register-page .cf-register-title {
  font-size: clamp(32px, 2.7vw, 42px) !important;
  margin-bottom: 6px !important;
}

body.cf-register-page .cf-register-login-link {
  margin-bottom: 18px !important;
}

body.cf-register-page .cf-register-field {
  margin-bottom: 12px !important;
}

body.cf-register-page .cf-register-form .form-control {
  min-height: 48px !important;
  height: 48px !important;
  border-radius: 15px !important;
}

body.cf-register-page .cf-register-password-note {
  margin: -2px 0 12px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.cf-register-page .cf-register-submit {
  min-height: 50px !important;
  border-radius: 16px !important;
}

/* Pantallas más bajas */
@media (max-height: 820px) and (min-width: 992px) {
  body.cf-register-page .cf-register-section {
    padding: 16px 0 22px !important;
  }

  body.cf-register-page .cf-register-panel,
  body.cf-register-page .cf-register-card {
    min-height: 530px !important;
  }

  body.cf-register-page .cf-register-panel-title {
    font-size: clamp(36px, 3vw, 48px) !important;
  }

  body.cf-register-page .cf-register-card {
    padding: 30px 48px !important;
  }

  body.cf-register-page .cf-register-panel {
    padding: 28px 32px 26px !important;
  }
}
/* ==========================================================
   FORGOT PASSWORD - Refresh visual CheckinFans
   ========================================================== */

body.cf-forgot-page {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
}

body.cf-forgot-page main {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-forgot-page .cf-forgot-section {
  min-height: calc(100vh - 88px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 28px 0 36px !important;
  background:
    radial-gradient(
      circle at 90% 12%,
      rgba(255, 122, 0, 0.08),
      transparent 28%
    ),
    var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-forgot-page .cf-forgot-section .container {
  max-width: 1120px !important;
}

body.cf-forgot-page .cf-forgot-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr) !important;
  align-items: stretch !important;

  overflow: hidden !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  box-shadow: 0 28px 80px rgba(0, 27, 46, 0.12) !important;
}

/* Panel izquierdo */
body.cf-forgot-page .cf-forgot-panel {
  position: relative !important;
  overflow: hidden !important;

  min-height: 560px !important;
  padding: 34px 36px 32px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.12),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;
}

body.cf-forgot-page .cf-forgot-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -48px !important;
  bottom: -54px !important;
  width: 220px !important;
  height: 220px !important;
  border-radius: 999px !important;
  border: 38px solid rgba(255, 122, 0, 0.1) !important;
  pointer-events: none !important;
}

body.cf-forgot-page .cf-forgot-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

body.cf-forgot-page .cf-forgot-panel-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 30px !important;
}

body.cf-forgot-page .cf-forgot-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body.cf-forgot-page .cf-forgot-brand-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
  display: block !important;
}

body.cf-forgot-page .cf-forgot-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.cf-forgot-page .cf-forgot-brand-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
  color: #ffffff !important;
}

body.cf-forgot-page .cf-forgot-brand-name span {
  color: #ffffff !important;
}

body.cf-forgot-page .cf-forgot-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 800 !important;
}

body.cf-forgot-page .cf-forgot-brand-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

body.cf-forgot-page .cf-forgot-panel-badge {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  margin: 2px 0 0 !important;
}

body.cf-forgot-page .cf-forgot-panel-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

body.cf-forgot-page .cf-forgot-panel-title {
  max-width: 560px !important;
  margin: 0 0 20px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(38px, 3.6vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 0.97 !important;
  letter-spacing: -0.065em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.cf-forgot-page .cf-forgot-panel-lead {
  max-width: 540px !important;
  margin: 0 0 30px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

body.cf-forgot-page .cf-forgot-panel-list {
  display: grid !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
}

body.cf-forgot-page .cf-forgot-panel-item {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

body.cf-forgot-page .cf-forgot-panel-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.95) !important;
  background: rgba(255, 122, 0, 0.05) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-forgot-page .cf-forgot-panel-item strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-forgot-page .cf-forgot-panel-item small {
  display: block !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

body.cf-forgot-page .cf-forgot-panel-foot {
  margin: auto 0 0 !important;
  padding-top: 10px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Card derecha */
body.cf-forgot-page .cf-forgot-card {
  min-height: 560px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 52px 58px !important;
  background:
    radial-gradient(
      circle at 100% 100%,
      rgba(255, 122, 0, 0.07),
      transparent 30%
    ),
    #ffffff !important;
}

body.cf-forgot-page .cf-forgot-form-inner {
  width: 100% !important;
  max-width: 470px !important;
}

body.cf-forgot-page .cf-forgot-kicker {
  margin-bottom: 10px !important;
  color: #697789 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.2em !important;
}

body.cf-forgot-page .cf-forgot-title {
  margin: 0 0 10px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body.cf-forgot-page .cf-forgot-text {
  margin: 0 0 24px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

body.cf-forgot-page .cf-forgot-field {
  margin-bottom: 18px !important;
}

body.cf-forgot-page .cf-forgot-field .form-label {
  margin-bottom: 7px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.cf-forgot-page .cf-forgot-form .form-control {
  min-height: 52px !important;
  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;
  background: #eef4fb !important;
  color: #1f2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

body.cf-forgot-page .cf-forgot-form .form-control:focus {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

body.cf-forgot-page .cf-forgot-login-link {
  margin: 0 0 22px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

body.cf-forgot-page .cf-forgot-login-link a {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.cf-forgot-page .cf-forgot-login-link a:hover {
  color: var(--cf-refresh-orange-dark, #e96800) !important;
}

body.cf-forgot-page .cf-forgot-submit {
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-forgot-page .cf-forgot-submit:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.34) !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-forgot-page .cf-forgot-section {
    min-height: auto !important;
    padding: 24px 0 42px !important;
  }

  body.cf-forgot-page .cf-forgot-shell {
    grid-template-columns: 1fr !important;
    border-radius: 28px !important;
  }

  body.cf-forgot-page .cf-forgot-panel,
  body.cf-forgot-page .cf-forgot-card {
    min-height: auto !important;
  }

  body.cf-forgot-page .cf-forgot-panel {
    padding: 30px 24px !important;
  }

  body.cf-forgot-page .cf-forgot-panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  body.cf-forgot-page .cf-forgot-card {
    padding: 34px 24px !important;
  }

  body.cf-forgot-page .cf-forgot-brand-name {
    font-size: 25px !important;
  }

  body.cf-forgot-page .cf-forgot-panel-title {
    font-size: 40px !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-forgot-page .cf-forgot-panel-title {
    font-size: 36px !important;
  }

  body.cf-forgot-page .cf-forgot-title {
    font-size: 34px !important;
  }
}
/* ==========================================================
   RECOVERY PASSWORD - Refresh visual CheckinFans
   ========================================================== */

body.cf-recovery-page {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
}

body.cf-recovery-page main {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-recovery-page .cf-recovery-section {
  min-height: calc(100vh - 88px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 28px 0 36px !important;
  background:
    radial-gradient(
      circle at 90% 12%,
      rgba(255, 122, 0, 0.08),
      transparent 28%
    ),
    var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-recovery-page .cf-recovery-section .container {
  max-width: 1120px !important;
}

body.cf-recovery-page .cf-recovery-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr) !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  box-shadow: 0 28px 80px rgba(0, 27, 46, 0.12) !important;
}

/* Panel izquierdo */
body.cf-recovery-page .cf-recovery-panel {
  position: relative !important;
  overflow: hidden !important;
  min-height: 560px !important;
  padding: 34px 36px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.12),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;
}

body.cf-recovery-page .cf-recovery-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -48px !important;
  bottom: -54px !important;
  width: 220px !important;
  height: 220px !important;
  border-radius: 999px !important;
  border: 38px solid rgba(255, 122, 0, 0.1) !important;
  pointer-events: none !important;
}

body.cf-recovery-page .cf-recovery-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

body.cf-recovery-page .cf-recovery-panel-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 30px !important;
}

body.cf-recovery-page .cf-recovery-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body.cf-recovery-page .cf-recovery-brand-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
  display: block !important;
}

body.cf-recovery-page .cf-recovery-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.cf-recovery-page .cf-recovery-brand-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
  color: #ffffff !important;
}

body.cf-recovery-page .cf-recovery-brand-name span {
  color: #ffffff !important;
}

body.cf-recovery-page .cf-recovery-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 800 !important;
}

body.cf-recovery-page .cf-recovery-brand-subtitle {
  margin-top: 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

body.cf-recovery-page .cf-recovery-panel-badge {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  margin: 2px 0 0 !important;
}

body.cf-recovery-page .cf-recovery-panel-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

body.cf-recovery-page .cf-recovery-panel-title {
  max-width: 560px !important;
  margin: 0 0 20px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(38px, 3.6vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 0.97 !important;
  letter-spacing: -0.065em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.cf-recovery-page .cf-recovery-panel-lead {
  max-width: 540px !important;
  margin: 0 0 30px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

body.cf-recovery-page .cf-recovery-panel-list {
  display: grid !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
}

body.cf-recovery-page .cf-recovery-panel-item {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

body.cf-recovery-page .cf-recovery-panel-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.95) !important;
  background: rgba(255, 122, 0, 0.05) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-recovery-page .cf-recovery-panel-item strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-recovery-page .cf-recovery-panel-item small {
  display: block !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

body.cf-recovery-page .cf-recovery-panel-foot {
  margin: auto 0 0 !important;
  padding-top: 10px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Card derecha */
body.cf-recovery-page .cf-recovery-card {
  min-height: 560px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 52px 58px !important;
  background:
    radial-gradient(
      circle at 100% 100%,
      rgba(255, 122, 0, 0.07),
      transparent 30%
    ),
    #ffffff !important;
}

body.cf-recovery-page .cf-recovery-form-inner {
  width: 100% !important;
  max-width: 470px !important;
}

body.cf-recovery-page .cf-recovery-kicker {
  margin-bottom: 10px !important;
  color: #697789 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.2em !important;
}

body.cf-recovery-page .cf-recovery-title {
  margin: 0 0 10px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body.cf-recovery-page .cf-recovery-text {
  margin: 0 0 24px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

body.cf-recovery-page .cf-recovery-field {
  margin-bottom: 18px !important;
}

body.cf-recovery-page .cf-recovery-field .form-label {
  margin-bottom: 7px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.cf-recovery-page .cf-recovery-form .form-control {
  min-height: 52px !important;
  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;
  background: #eef4fb !important;
  color: #1f2937 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

body.cf-recovery-page .cf-recovery-form .form-control:focus {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

body.cf-recovery-page .cf-recovery-eye {
  right: 14px !important;
  color: #64748b !important;
}

body.cf-recovery-page .cf-recovery-eye i {
  color: #64748b !important;
}

body.cf-recovery-page .cf-recovery-eye:hover i {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-recovery-page .cf-recovery-login-link {
  margin: 0 0 22px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

body.cf-recovery-page .cf-recovery-login-link a {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.cf-recovery-page .cf-recovery-submit,
body.cf-recovery-page .cf-recovery-invalid a {
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;
}

body.cf-recovery-page .cf-recovery-submit:hover,
body.cf-recovery-page .cf-recovery-invalid a:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Token inválido */
body.cf-recovery-page .cf-recovery-invalid {
  text-align: center !important;
}

body.cf-recovery-page .cf-recovery-invalid-icon {
  width: 58px !important;
  height: 58px !important;
  margin: 0 auto 18px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

body.cf-recovery-page .cf-recovery-invalid h2 {
  margin: 0 0 12px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  letter-spacing: -0.05em !important;
}

body.cf-recovery-page .cf-recovery-invalid p {
  margin: 0 0 24px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-recovery-page .cf-recovery-section {
    min-height: auto !important;
    padding: 24px 0 42px !important;
  }

  body.cf-recovery-page .cf-recovery-shell {
    grid-template-columns: 1fr !important;
    border-radius: 28px !important;
  }

  body.cf-recovery-page .cf-recovery-panel,
  body.cf-recovery-page .cf-recovery-card {
    min-height: auto !important;
  }

  body.cf-recovery-page .cf-recovery-panel {
    padding: 30px 24px !important;
  }

  body.cf-recovery-page .cf-recovery-panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  body.cf-recovery-page .cf-recovery-card {
    padding: 34px 24px !important;
  }

  body.cf-recovery-page .cf-recovery-brand-name {
    font-size: 25px !important;
  }

  body.cf-recovery-page .cf-recovery-panel-title {
    font-size: 40px !important;
  }
}
/* ==========================================================
   USER DROPDOWN - CheckinFans Refresh
   ========================================================== */

.cf-user-nav-item {
  position: relative !important;
}

/* Botón avatar logueado */
.cf-user-trigger {
  width: 46px !important;
  height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.08) !important;
  border: 1px solid rgba(255, 122, 0, 0.24) !important;

  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(0, 27, 46, 0.08) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

.cf-user-trigger:hover,
.cf-user-trigger[aria-expanded="true"] {
  background: rgba(255, 122, 0, 0.14) !important;
  border-color: rgba(255, 122, 0, 0.42) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 40px rgba(0, 27, 46, 0.12) !important;
}

.cf-user-avatar-img {
  width: 40px !important;
  height: 40px !important;
  display: block !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

.cf-user-avatar-fallback,
.cf-user-guest-trigger {
  width: 40px !important;
  height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: #ffffff !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

.cf-user-avatar-fallback i,
.cf-user-guest-trigger i {
  font-size: 22px !important;
  line-height: 1 !important;
}

/* Invitado */
.cf-user-guest-trigger {
  width: 46px !important;
  height: 46px !important;

  background: rgba(255, 122, 0, 0.08) !important;
  border: 1px solid rgba(255, 122, 0, 0.24) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  text-decoration: none !important;

  box-shadow: 0 14px 34px rgba(0, 27, 46, 0.08) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease !important;
}

.cf-user-guest-trigger:hover {
  background: var(--cf-refresh-orange, #ff7a00) !important;
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Dropdown */
.dropdown-menu.cf-user-menu {
  width: 330px !important;
  padding: 14px !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 26px !important;

  background: #ffffff !important;
  box-shadow: 0 28px 78px rgba(0, 27, 46, 0.18) !important;

  overflow: hidden !important;
  z-index: 1090 !important;
}

/* Cabecera */
.cf-user-menu-head {
  position: relative !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: center !important;
  gap: 13px !important;

  padding: 18px !important;
  border-radius: 22px !important;

  background:
    radial-gradient(
      circle at 92% 18%,
      rgba(255, 122, 0, 0.16),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;
}

.cf-user-menu-head::after {
  content: "" !important;
  position: absolute !important;
  right: -28px !important;
  bottom: -32px !important;

  width: 100px !important;
  height: 100px !important;

  border-radius: 999px !important;
  border: 16px solid rgba(255, 122, 0, 0.1) !important;
}

.cf-user-menu-head > * {
  position: relative !important;
  z-index: 2 !important;
}

.cf-user-menu-avatar {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 122, 0, 0.3) !important;
}

.cf-user-menu-avatar-img {
  width: 50px !important;
  height: 50px !important;
  display: block !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

.cf-user-menu-avatar-fallback {
  width: 50px !important;
  height: 50px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: #ffffff !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

.cf-user-menu-avatar-fallback i {
  font-size: 25px !important;
}

.cf-user-menu-info {
  min-width: 0 !important;
}

.cf-user-menu-kicker {
  margin-bottom: 4px !important;

  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.cf-user-menu-name {
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cf-user-menu-email {
  margin-top: 3px !important;

  color: rgba(255, 255, 255, 0.68) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Botón principal */
.cf-user-menu-actions {
  padding: 12px 0 2px !important;
}

.cf-user-menu-primary {
  min-height: 44px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  padding: 11px 16px !important;
  border-radius: 16px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.26) !important;
}

.cf-user-menu-primary:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
}

/* Divider */
.cf-user-menu-divider {
  margin: 12px 0 !important;
  border-color: rgba(0, 27, 46, 0.08) !important;
}

/* Links */
.cf-user-menu-link {
  min-height: 44px !important;

  display: flex !important;
  align-items: center !important;
  gap: 11px !important;

  padding: 9px 10px !important;
  border-radius: 15px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;

  transition:
    background-color 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease !important;
}

.cf-user-menu-link:hover {
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  transform: translateX(2px) !important;
}

.cf-user-menu-link-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.09) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

.cf-user-menu-link-icon i {
  font-size: 15px !important;
}

/* Modo */
.cf-user-theme-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;

  padding: 8px 10px !important;
}

.cf-user-theme-label {
  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.cf-user-theme-buttons {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.cf-user-theme-btn {
  width: 34px !important;
  height: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;

  background: #f4f7fb !important;
  color: #64748b !important;
}

.cf-user-theme-btn:hover,
.cf-user-theme-btn.active {
  background: rgba(255, 122, 0, 0.12) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* Salir */
.cf-user-menu-logout {
  color: #dc2626 !important;
}

.cf-user-menu-logout .cf-user-menu-link-icon {
  background: rgba(220, 38, 38, 0.08) !important;
  color: #dc2626 !important;
}

.cf-user-menu-logout:hover {
  background: rgba(220, 38, 38, 0.08) !important;
  color: #dc2626 !important;
}

/* Mobile */
@media (max-width: 575.98px) {
  .dropdown-menu.cf-user-menu {
    width: min(330px, calc(100vw - 24px)) !important;
    border-radius: 24px !important;
  }
}
/* ==========================================================
   MODAL LOGOUT USER - CheckinFans Refresh
   ========================================================== */

.cf-logout-modal .modal-dialog {
  max-width: 880px !important;
}

.cf-logout-content {
  position: relative !important;
  overflow: hidden !important;

  border: 0 !important;
  border-radius: 34px !important;

  background: #ffffff !important;
  box-shadow: 0 34px 90px rgba(0, 27, 46, 0.28) !important;
}

.cf-logout-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 5 !important;

  width: 44px !important;
  height: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  box-shadow: 0 14px 32px rgba(0, 27, 46, 0.12) !important;
}

.cf-logout-close:hover {
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
}

.cf-logout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr) !important;
  min-height: 460px !important;
}

.cf-logout-panel {
  position: relative !important;
  overflow: hidden !important;

  padding: 42px 40px !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.13),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;

  color: #ffffff !important;
}

.cf-logout-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -46px !important;
  bottom: -50px !important;

  width: 180px !important;
  height: 180px !important;

  border-radius: 999px !important;
  border: 26px solid rgba(255, 122, 0, 0.12) !important;
}

.cf-logout-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

.cf-logout-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;

  margin-bottom: 28px !important;
}

.cf-logout-brand-mark {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
}

.cf-logout-brand-name {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
  color: #ffffff !important;
}

.cf-logout-brand-name span {
  color: #ffffff !important;
}

.cf-logout-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 800 !important;
}

.cf-logout-brand-subtitle {
  margin-top: 6px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;

  color: rgba(255, 255, 255, 0.72) !important;
}

.cf-logout-badge {
  width: fit-content !important;

  margin-bottom: 22px !important;
  padding: 10px 16px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
}

.cf-logout-panel h2 {
  margin: 0 0 18px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

.cf-logout-panel p {
  max-width: 440px !important;
  margin: 0 0 28px !important;

  color: rgba(255, 255, 255, 0.84) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

.cf-logout-points {
  display: grid !important;
  gap: 14px !important;
}

.cf-logout-points div {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.cf-logout-points span {
  width: 38px !important;
  height: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.9) !important;

  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
}

.cf-logout-points small {
  color: rgba(255, 255, 255, 0.74) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.cf-logout-actions {
  padding: 58px 44px 44px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  background:
    radial-gradient(
      circle at 100% 100%,
      rgba(255, 122, 0, 0.07),
      transparent 30%
    ),
    #ffffff !important;
}

.cf-logout-icon {
  width: 64px !important;
  height: 64px !important;

  display: grid !important;
  place-items: center !important;

  margin-bottom: 22px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

.cf-logout-icon i {
  font-size: 30px !important;
}

.cf-logout-actions h3 {
  margin: 0 0 12px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  letter-spacing: -0.05em !important;
  line-height: 1.05 !important;
}

.cf-logout-actions p {
  margin: 0 0 28px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.cf-logout-buttons {
  display: grid !important;
  gap: 12px !important;
}

.cf-logout-stay,
.cf-logout-exit {
  min-height: 52px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 17px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;

  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease !important;
}

.cf-logout-stay {
  border: 0 !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.26) !important;
}

.cf-logout-stay:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.cf-logout-exit {
  border: 1px solid rgba(220, 38, 38, 0.18) !important;
  background: rgba(220, 38, 38, 0.07) !important;
  color: #dc2626 !important;
}

.cf-logout-exit:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  .cf-logout-grid {
    grid-template-columns: 1fr !important;
  }

  .cf-logout-panel,
  .cf-logout-actions {
    padding: 34px 26px !important;
  }

  .cf-logout-panel h2 {
    font-size: 38px !important;
  }

  .cf-logout-actions h3 {
    font-size: 30px !important;
  }
}
/* ==========================================================
   ACCOUNT PROFILE - Panel usuario CheckinFans Refresh
   ========================================================== */

body.cf-account-page {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
}

body.cf-account-page main {
  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(255, 122, 0, 0.08),
      transparent 28%
    ),
    var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-account-page .cf-account-section {
  padding-top: 34px !important;
  padding-bottom: 70px !important;
}

body.cf-account-page .cf-account-section > .container {
  max-width: 1220px !important;
}

/* Layout general */
body.cf-account-page .cf-account-layout {
  align-items: flex-start !important;
  row-gap: 28px !important;
}

/* Columna principal */
body.cf-account-page .cf-account-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

/* Hero del panel */
body.cf-account-page .cf-account-hero {
  position: relative !important;
  overflow: hidden !important;

  min-height: 210px !important;
  padding: 34px 38px !important;
  border-radius: 34px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;

  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(255, 122, 0, 0.18),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;

  box-shadow: 0 24px 64px rgba(0, 27, 46, 0.14) !important;
}

body.cf-account-page .cf-account-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -58px !important;
  bottom: -70px !important;

  width: 210px !important;
  height: 210px !important;

  border-radius: 999px !important;
  border: 34px solid rgba(255, 122, 0, 0.11) !important;

  pointer-events: none !important;
}

body.cf-account-page .cf-account-hero > * {
  position: relative !important;
  z-index: 2 !important;
}

body.cf-account-page .cf-account-kicker {
  display: inline-flex !important;

  margin-bottom: 16px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-account-page .cf-account-hero h1 {
  margin: 0 0 12px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(42px, 4vw, 64px) !important;
  font-weight: 900 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.065em !important;
}

body.cf-account-page .cf-account-hero p {
  max-width: 620px !important;
  margin: 0 !important;

  color: rgba(255, 255, 255, 0.8) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}

body.cf-account-page .cf-account-hero-avatar {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 122, 0, 0.34) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18) !important;
}

body.cf-account-page .cf-account-hero-avatar img {
  width: 82px !important;
  height: 82px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: #ffffff !important;
}

/* Botón mobile menú */
body.cf-account-page .cf-account-mobile-menu {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 999px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 900 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
}

/* Cards principales */
body.cf-account-page .cf-account-main > .card.border {
  overflow: hidden !important;

  margin: 0 !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 30px !important;

  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.08) !important;
}

body.cf-account-page .cf-account-main > .card.border > .card-header {
  padding: 26px 30px 22px !important;

  border-bottom: 1px solid rgba(0, 27, 46, 0.06) !important;

  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.07),
      transparent 25%
    ),
    #ffffff !important;
}

body.cf-account-page .cf-account-main .card-header-title {
  margin: 0 !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
}

body.cf-account-page .cf-account-main .card-header p {
  margin-top: 8px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
}

body.cf-account-page .cf-account-main .card-header .email-text,
body.cf-account-page .cf-account-main .text-primary {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
}

/* Card body */
body.cf-account-page .cf-account-main > .card.border > .card-body,
body.cf-account-page .cf-account-main > .card.border > form.card-body {
  padding: 30px !important;
}

/* Avatar actual dentro de información personal */
body.cf-account-page .cf-account-main .card:first-of-type .avatar.avatar-xl {
  width: 112px !important;
  height: 112px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-left: 0 !important;
  padding: 0 !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.08) !important;
  border: 1px solid rgba(255, 122, 0, 0.24) !important;
}

body.cf-account-page
  .cf-account-main
  .card:first-of-type
  .avatar.avatar-xl
  img {
  width: 98px !important;
  height: 98px !important;

  border-radius: 999px !important;
  object-fit: cover !important;

  background: #ffffff !important;
}

/* Dropdown avatar */
body.cf-account-page #dropdownShare1 {
  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  box-shadow: 0 12px 28px rgba(0, 27, 46, 0.08) !important;
}

body.cf-account-page #dropdownShare1:hover {
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
}

body.cf-account-page #dropdownShare1 + .dropdown-menu {
  padding: 10px !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 18px !important;

  background: #ffffff !important;
  box-shadow: 0 22px 54px rgba(0, 27, 46, 0.16) !important;
}

body.cf-account-page #dropdownShare1 + .dropdown-menu .dropdown-item,
body.cf-account-page #dropdownShare1 + .dropdown-menu button.dropdown-item {
  min-height: 40px !important;

  display: flex !important;
  align-items: center !important;

  border: 0 !important;
  border-radius: 12px !important;

  background: transparent !important;
  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

body.cf-account-page #dropdownShare1 + .dropdown-menu .dropdown-item:hover,
body.cf-account-page
  #dropdownShare1
  + .dropdown-menu
  button.dropdown-item:hover {
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* Forms */
body.cf-account-page .cf-account-main form {
  font-family: "Manrope", Arial, sans-serif !important;
}

body.cf-account-page .cf-account-main .form-label {
  margin-bottom: 7px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.cf-account-page .cf-account-main .form-control,
body.cf-account-page .cf-account-main .form-select,
body.cf-account-page .cf-account-main .choices__inner {
  min-height: 48px !important;

  border-radius: 16px !important;
  border: 1px solid #e3e8ef !important;

  background: #eef4fb !important;
  color: #1f2937 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
}

body.cf-account-page .cf-account-main textarea.form-control {
  min-height: 112px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

body.cf-account-page .cf-account-main .form-control:focus,
body.cf-account-page .cf-account-main .form-select:focus,
body.cf-account-page .cf-account-main .choices.is-focused .choices__inner,
body.cf-account-page .cf-account-main .choices.is-open .choices__inner {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15) !important;
  outline: 0 !important;
}

body.cf-account-page .cf-account-main .form-control:disabled {
  background: #f4f7fb !important;
  color: #64748b !important;
}

/* Choices */
body.cf-account-page .cf-account-main .choices {
  margin-bottom: 0 !important;
}

body.cf-account-page .cf-account-main .choices__inner {
  display: flex !important;
  align-items: center !important;
  padding: 0 14px !important;
}

body.cf-account-page .cf-account-main .choices__list--single {
  padding: 0 !important;
}

body.cf-account-page .cf-account-main .choices__list--dropdown,
body.cf-account-page .cf-account-main .choices__list[aria-expanded] {
  border-color: #e5e7eb !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.16) !important;
}

body.cf-account-page
  .cf-account-main
  .choices__item--selectable.is-highlighted {
  background: rgba(255, 122, 0, 0.08) !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
}

/* Radios */
body.cf-account-page .cf-account-main .form-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.cf-account-page .cf-account-main .form-check-input {
  width: 17px !important;
  height: 17px !important;

  border-color: #d8dee8 !important;
  box-shadow: none !important;
}

body.cf-account-page .cf-account-main .form-check-input:checked {
  background-color: var(--cf-refresh-orange, #ff7a00) !important;
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-account-page .cf-account-main .form-check-label {
  color: #334155 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* Botones */
body.cf-account-page .cf-account-main .btn-primary,
body.cf-account-page .cf-account-main button[type="submit"].btn-primary {
  min-height: 46px !important;

  padding: 11px 20px !important;

  border: 0 !important;
  border-radius: 15px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-account-page .cf-account-main .btn-primary:hover,
body.cf-account-page .cf-account-main button[type="submit"].btn-primary:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.3) !important;
}

body.cf-account-page .cf-account-main .btn-sm.btn-primary {
  min-height: 42px !important;
  padding: 9px 17px !important;
  border-radius: 14px !important;
  font-size: 13.5px !important;
}

/* Input group password */
body.cf-account-page .cf-account-main .input-group .form-control {
  border-radius: 16px 0 0 16px !important;
}

body.cf-account-page .cf-account-main .input-group-text {
  min-height: 48px !important;

  border-radius: 0 16px 16px 0 !important;
  border: 1px solid #e3e8ef !important;
  border-left: 0 !important;

  background: #eef4fb !important;
  color: #64748b !important;
}

body.cf-account-page .cf-account-main .input-group-text:hover {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* Modal error archivo */
body.cf-account-page #extensionInvalidaModal .modal-content {
  border: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 28px 72px rgba(0, 27, 46, 0.24) !important;
}

body.cf-account-page #extensionInvalidaModal .card {
  border: 0 !important;
  border-radius: 0 !important;
}

body.cf-account-page #extensionInvalidaModal .card-header {
  background: var(--cf-refresh-blue, #001b2e) !important;
  border: 0 !important;
  padding: 26px 28px !important;
}

body.cf-account-page #extensionInvalidaModal .card-header-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.cf-account-page #extensionInvalidaModal .card-body {
  padding: 28px !important;
}

/* Menú lateral usuario: estilo general sin tocar su PHP */
body.cf-account-page .cf-account-layout > [class*="col-lg-4"] .card,
body.cf-account-page .cf-account-layout > [class*="col-xl-3"] .card,
body.cf-account-page .offcanvas .card {
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.08) !important;
  overflow: hidden !important;
}

body.cf-account-page .cf-account-layout > [class*="col-lg-4"] .list-group-item,
body.cf-account-page .cf-account-layout > [class*="col-xl-3"] .list-group-item,
body.cf-account-page .offcanvas .list-group-item {
  border: 0 !important;
  border-radius: 14px !important;
  margin-bottom: 6px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
}

body.cf-account-page
  .cf-account-layout
  > [class*="col-lg-4"]
  .list-group-item:hover,
body.cf-account-page
  .cf-account-layout
  > [class*="col-xl-3"]
  .list-group-item:hover,
body.cf-account-page .offcanvas .list-group-item:hover {
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-account-page
  .cf-account-layout
  > [class*="col-lg-4"]
  .list-group-item.active,
body.cf-account-page
  .cf-account-layout
  > [class*="col-xl-3"]
  .list-group-item.active,
body.cf-account-page .offcanvas .list-group-item.active {
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-account-page .cf-account-section {
    padding-top: 24px !important;
    padding-bottom: 48px !important;
  }

  body.cf-account-page .cf-account-hero {
    padding: 30px 26px !important;
    border-radius: 28px !important;
  }

  body.cf-account-page .cf-account-hero-avatar {
    display: none !important;
  }

  body.cf-account-page .cf-account-main > .card.border > .card-header,
  body.cf-account-page .cf-account-main > .card.border > .card-body,
  body.cf-account-page .cf-account-main > .card.border > form.card-body {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-account-page .cf-account-hero h1 {
    font-size: 40px !important;
  }

  body.cf-account-page .cf-account-hero p {
    font-size: 15px !important;
  }

  body.cf-account-page .cf-account-main > .card.border {
    border-radius: 24px !important;
  }

  body.cf-account-page .cf-account-main .card-header-title {
    font-size: 25px !important;
  }
}
/* ==========================================================
   ACCOUNT PROFILE - Acción foto perfil en header
   ========================================================== */

body.cf-account-page .cf-account-profile-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

body.cf-account-page .cf-account-profile-subtitle {
  margin-top: 7px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Botón cambiar foto */
body.cf-account-page .cf-avatar-actions {
  flex-shrink: 0 !important;
}

body.cf-account-page .cf-avatar-change-btn {
  min-height: 46px !important;
  min-width: 168px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 0 18px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;

  box-shadow: 0 12px 28px rgba(255, 122, 0, 0.13) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease !important;
}
body.cf-account-page .cf-avatar-change-btn span {
  display: inline-block !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.cf-account-page .cf-avatar-change-btn i {
  font-size: 16px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

body.cf-account-page .cf-avatar-actions {
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

body.cf-account-page .cf-avatar-change-btn::after {
  display: none !important;
}

body.cf-account-page .cf-avatar-change-btn i {
  font-size: 17px !important;
}

body.cf-account-page .cf-avatar-change-btn:hover,
body.cf-account-page .cf-avatar-change-btn[aria-expanded="true"] {
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 34px rgba(255, 122, 0, 0.25) !important;
}

/* Menú cambiar foto */
body.cf-account-page .cf-avatar-menu {
  min-width: 250px !important;

  padding: 10px !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 20px !important;

  background: #ffffff !important;
  box-shadow: 0 24px 64px rgba(0, 27, 46, 0.17) !important;
}

body.cf-account-page .cf-avatar-menu form {
  margin: 0 !important;
}

body.cf-account-page .cf-avatar-menu-item {
  min-height: 44px !important;

  display: flex !important;
  align-items: center !important;
  gap: 11px !important;

  padding: 10px 12px !important;
  border-radius: 14px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;
  background: transparent !important;
  border: 0 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body.cf-account-page .cf-avatar-menu-item i {
  width: 32px !important;
  height: 32px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.09) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-account-page .cf-avatar-menu-item:hover {
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-account-page .cf-avatar-menu-delete {
  color: #dc2626 !important;
}

body.cf-account-page .cf-avatar-menu-delete i {
  background: rgba(220, 38, 38, 0.08) !important;
  color: #dc2626 !important;
}

body.cf-account-page .cf-avatar-menu-delete:hover {
  background: rgba(220, 38, 38, 0.08) !important;
  color: #dc2626 !important;
}

/* Como ya no usamos la foto dentro de la card, anulamos estilos viejos */
body.cf-account-page .cf-account-main .card:first-of-type .avatar.avatar-xl {
  display: none !important;
}

/* Responsive */
@media (max-width: 575.98px) {
  body.cf-account-page .cf-account-profile-header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  body.cf-account-page .cf-avatar-change-btn {
    width: 100% !important;
  }

  body.cf-account-page .cf-avatar-actions {
    width: 100% !important;
  }

  body.cf-account-page .cf-avatar-menu {
    width: 100% !important;
  }
}
/* ==========================================================
   USER SIDEBAR - CheckinFans Refresh
   ========================================================== */

.cf-user-sidebar-col {
  position: relative !important;
}

.cf-user-sidebar-card {
  position: sticky !important;
  top: 104px !important;

  overflow: hidden !important;

  width: 100% !important;
  padding: 18px !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 32px !important;

  background: #ffffff !important;
  box-shadow: 0 24px 68px rgba(0, 27, 46, 0.09) !important;
}

/* Parte superior */
.cf-user-sidebar-top {
  position: relative !important;
  overflow: hidden !important;

  padding: 24px 18px 22px !important;
  border-radius: 26px !important;

  text-align: center !important;

  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(255, 122, 0, 0.13),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;
}

.cf-user-sidebar-top::after {
  content: "" !important;
  position: absolute !important;
  right: -34px !important;
  bottom: -38px !important;

  width: 118px !important;
  height: 118px !important;

  border-radius: 999px !important;
  border: 18px solid rgba(255, 122, 0, 0.1) !important;

  pointer-events: none !important;
}

.cf-user-sidebar-top > * {
  position: relative !important;
  z-index: 2 !important;
}

.cf-user-sidebar-avatar-wrap {
  width: 86px !important;
  height: 86px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 122, 0, 0.32) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16) !important;
}

.cf-user-sidebar-avatar {
  width: 76px !important;
  height: 76px !important;

  display: block !important;

  border-radius: 999px !important;
  object-fit: cover !important;

  background: #ffffff !important;
}

.cf-user-sidebar-kicker {
  margin-bottom: 7px !important;

  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.cf-user-sidebar-name {
  margin: 0 0 5px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cf-user-sidebar-email {
  max-width: 100% !important;

  color: rgba(255, 255, 255, 0.66) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cf-user-sidebar-separator {
  height: 1px !important;
  margin: 16px 4px !important;

  background: rgba(0, 27, 46, 0.08) !important;
}

.cf-user-sidebar-separator-small {
  margin: 12px 4px !important;
}

/* Links */
.cf-user-sidebar-nav {
  display: grid !important;
  gap: 7px !important;
}

.cf-user-sidebar-link {
  min-height: 48px !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  padding: 8px 10px !important;

  border-radius: 17px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;
  background: transparent !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  text-decoration: none !important;

  transition:
    transform 0.16s ease,
    background-color 0.16s ease,
    color 0.16s ease !important;
}

.cf-user-sidebar-link:hover {
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  transform: translateX(2px) !important;
}

.cf-user-sidebar-link.active {
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.22) !important;
}

.cf-user-sidebar-link-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.09) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

.cf-user-sidebar-link-icon i {
  font-size: 16px !important;
  line-height: 1 !important;
}

.cf-user-sidebar-link.active .cf-user-sidebar-link-icon {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
}

/* Borrar perfil */
.cf-user-sidebar-link-danger {
  color: #dc2626 !important;
}

.cf-user-sidebar-link-danger .cf-user-sidebar-link-icon {
  background: rgba(220, 38, 38, 0.08) !important;
  color: #dc2626 !important;
}

.cf-user-sidebar-link-danger:hover {
  background: rgba(220, 38, 38, 0.08) !important;
  color: #dc2626 !important;
}

/* Salir */
.cf-user-sidebar-link-logout {
  color: #b45309 !important;
}

.cf-user-sidebar-link-logout .cf-user-sidebar-link-icon {
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

.cf-user-sidebar-link-logout:hover {
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* Offcanvas mobile */
.cf-user-sidebar-offcanvas-header {
  border-bottom: 1px solid rgba(0, 27, 46, 0.08) !important;
  background: #ffffff !important;
}

.cf-user-sidebar-offcanvas-title {
  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.cf-user-sidebar-close {
  width: 40px !important;
  height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* ==========================================================
   DELETE ACCOUNT MODAL - Refresh
   ========================================================== */

.cf-delete-account-modal .modal-dialog {
  max-width: 560px !important;
}

.cf-delete-account-content {
  position: relative !important;
  overflow: hidden !important;

  border: 0 !important;
  border-radius: 32px !important;

  background: #ffffff !important;

  box-shadow: 0 34px 90px rgba(0, 27, 46, 0.28) !important;
}

.cf-delete-account-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 5 !important;

  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: #dc2626 !important;

  box-shadow: 0 14px 32px rgba(0, 27, 46, 0.12) !important;
}

.cf-delete-account-close:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
}

.cf-delete-account-head {
  position: relative !important;
  overflow: hidden !important;

  padding: 38px 38px 34px !important;

  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(220, 38, 38, 0.18),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #06243a 100%) !important;

  color: #ffffff !important;
}

.cf-delete-account-head::after {
  content: "" !important;
  position: absolute !important;
  right: -38px !important;
  bottom: -46px !important;

  width: 140px !important;
  height: 140px !important;

  border-radius: 999px !important;
  border: 22px solid rgba(220, 38, 38, 0.12) !important;
}

.cf-delete-account-head > * {
  position: relative !important;
  z-index: 2 !important;
}

.cf-delete-account-badge {
  width: fit-content !important;

  margin-bottom: 20px !important;
  padding: 9px 14px !important;

  border-radius: 999px !important;

  background: rgba(220, 38, 38, 0.12) !important;
  color: #f87171 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.cf-delete-account-head h2 {
  margin: 0 0 14px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 4vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

.cf-delete-account-head p {
  max-width: 440px !important;
  margin: 0 !important;

  color: rgba(255, 255, 255, 0.78) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.cf-delete-account-body {
  padding: 28px 38px 38px !important;
}

.cf-delete-account-warning {
  display: grid !important;
  grid-template-columns: 46px 1fr !important;
  gap: 14px !important;
  align-items: center !important;

  margin-bottom: 24px !important;
  padding: 16px !important;

  border-radius: 20px !important;

  background: rgba(220, 38, 38, 0.06) !important;
  border: 1px solid rgba(220, 38, 38, 0.12) !important;
}

.cf-delete-account-warning span {
  width: 46px !important;
  height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(220, 38, 38, 0.1) !important;
  color: #dc2626 !important;
}

.cf-delete-account-warning span i {
  font-size: 20px !important;
}

.cf-delete-account-warning strong {
  display: block !important;
  margin-bottom: 4px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.cf-delete-account-warning small {
  display: block !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

.cf-delete-account-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

.cf-delete-account-cancel,
.cf-delete-account-confirm {
  min-height: 50px !important;
  width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 16px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease !important;
}

.cf-delete-account-cancel {
  border: 1px solid #e3e8ef !important;
  background: #f4f7fb !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
}

.cf-delete-account-cancel:hover {
  background: #eaf0f7 !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  transform: translateY(-1px) !important;
}

.cf-delete-account-confirm {
  border: 0 !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(220, 38, 38, 0.24) !important;
}

.cf-delete-account-confirm:hover {
  background: #b91c1c !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  .cf-user-sidebar-card {
    position: relative !important;
    top: auto !important;
    border-radius: 28px !important;
  }
}

@media (max-width: 575.98px) {
  .cf-delete-account-actions {
    grid-template-columns: 1fr !important;
  }

  .cf-delete-account-head,
  .cf-delete-account-body {
    padding-left: 26px !important;
    padding-right: 26px !important;
  }
}
/* ==========================================================
   WISHLIST - Estado vacío CheckinFans
   ========================================================== */

body.cf-wishlist-page .cf-wishlist-section {
  padding-top: 34px !important;
  padding-bottom: 70px !important;
}

body.cf-wishlist-page .cf-wishlist-card {
  overflow: hidden !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 30px !important;

  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.08) !important;
}

body.cf-wishlist-page .cf-wishlist-header {
  padding: 26px 30px 22px !important;

  border-bottom: 1px solid rgba(0, 27, 46, 0.06) !important;

  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.07),
      transparent 25%
    ),
    #ffffff !important;
}

body.cf-wishlist-page .cf-wishlist-kicker {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-wishlist-page .cf-wishlist-header .card-header-title {
  margin: 0 !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 3vw, 46px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
  line-height: 1.02 !important;
}

body.cf-wishlist-page .cf-wishlist-header-text {
  max-width: 680px !important;
  margin: 10px 0 0 !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

body.cf-wishlist-page #favoritos-container {
  padding: 26px !important;
  gap: 18px !important;
}

/* Estado vacío */
body.cf-wishlist-page .cf-favs-empty-state {
  display: grid !important;
  grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

/* Panel azul izquierdo */
body.cf-wishlist-page .cf-favs-empty-panel {
  position: relative !important;
  overflow: hidden !important;

  min-height: 430px !important;
  padding: 30px 30px 28px !important;
  border-radius: 28px !important;

  display: flex !important;
  flex-direction: column !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.13),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;

  box-shadow: 0 22px 58px rgba(0, 27, 46, 0.12) !important;
}

body.cf-wishlist-page .cf-favs-empty-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -44px !important;
  bottom: -52px !important;

  width: 176px !important;
  height: 176px !important;

  border-radius: 999px !important;
  border: 28px solid rgba(255, 122, 0, 0.12) !important;

  pointer-events: none !important;
}

body.cf-wishlist-page .cf-favs-empty-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Logo más chico y controlado */
body.cf-wishlist-page .cf-favs-empty-logo-box {
  width: fit-content !important;
  max-width: 190px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  margin: 0 0 20px !important;
  padding: 0 !important;
}

body.cf-wishlist-page .cf-favs-empty-logo {
  display: block !important;

  width: auto !important;
  max-width: 170px !important;
  max-height: 76px !important;
  height: auto !important;

  object-fit: contain !important;
}

/* Badge */
body.cf-wishlist-page .cf-favs-empty-panel-badge {
  width: fit-content !important;

  margin-bottom: 18px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Título del panel azul */
body.cf-wishlist-page .cf-favs-empty-panel h2 {
  max-width: 100% !important;
  margin: 0 0 16px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 2.55vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.cf-wishlist-page .cf-favs-empty-panel > p {
  max-width: 100% !important;
  margin: 0 0 24px !important;

  color: rgba(255, 255, 255, 0.78) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Puntos dentro del panel azul */
body.cf-wishlist-page .cf-favs-empty-panel-points {
  display: grid !important;
  gap: 13px !important;
  margin-top: auto !important;
}

body.cf-wishlist-page .cf-favs-empty-panel-points div {
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  align-items: center !important;
  gap: 12px !important;
}

body.cf-wishlist-page .cf-favs-empty-panel-points span {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.9) !important;

  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-wishlist-page .cf-favs-empty-panel-points small {
  max-width: 245px !important;

  color: rgba(255, 255, 255, 0.72) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

/* Contenido derecho */
body.cf-wishlist-page .cf-favs-empty-content {
  padding: 18px 8px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.cf-wishlist-page .cf-favs-empty-badge {
  width: fit-content !important;

  margin-bottom: 16px !important;
  padding: 9px 15px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body.cf-wishlist-page .cf-favs-empty-content h3 {
  max-width: 620px !important;
  margin: 0 0 14px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body.cf-wishlist-page .cf-favs-empty-content > p {
  max-width: 680px !important;
  margin: 0 0 24px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

body.cf-wishlist-page .cf-favs-empty-steps {
  display: grid !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

body.cf-wishlist-page .cf-favs-empty-step {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 13px !important;
  align-items: center !important;

  padding: 14px 16px !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 18px !important;

  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0, 27, 46, 0.045) !important;
}

body.cf-wishlist-page .cf-favs-empty-step span {
  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-wishlist-page .cf-favs-empty-step strong {
  display: block !important;
  margin-bottom: 3px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-wishlist-page .cf-favs-empty-step small {
  display: block !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

body.cf-wishlist-page .cf-favs-empty-btn {
  width: fit-content !important;
  min-height: 52px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 0 22px !important;

  border-radius: 17px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-wishlist-page .cf-favs-empty-btn:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.3) !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body.cf-wishlist-page .cf-favs-empty-state {
    grid-template-columns: 1fr !important;
  }

  body.cf-wishlist-page .cf-favs-empty-panel {
    min-height: auto !important;
  }

  body.cf-wishlist-page .cf-favs-empty-panel h2,
  body.cf-wishlist-page .cf-favs-empty-panel > p {
    max-width: 640px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-panel-points small {
    max-width: 100% !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-wishlist-page #favoritos-container {
    padding: 18px !important;
  }

  body.cf-wishlist-page .cf-wishlist-header {
    padding: 22px 22px 18px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-panel {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-logo {
    max-width: 140px !important;
    max-height: 62px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-panel h2 {
    font-size: 34px !important;
    line-height: 1.02 !important;
  }

  body.cf-wishlist-page .cf-favs-empty-content {
    padding: 4px 0 0 !important;
  }

  body.cf-wishlist-page .cf-favs-empty-btn {
    width: 100% !important;
  }
}
/* ==========================================================
   WISHLIST - Marca superior del estado vacío
   ========================================================== */

body.cf-wishlist-page .cf-favs-empty-logo-box,
body.cf-wishlist-page .cf-favs-empty-logo {
  display: none !important;
}

body.cf-wishlist-page .cf-favs-empty-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;

  width: fit-content !important;
  max-width: 100% !important;

  margin: 0 0 22px !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-mark {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-mark img {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  min-width: 0 !important;
  line-height: 1 !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-name {
  margin: 0 0 6px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;

  white-space: nowrap !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-name span {
  color: #ffffff !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
}

body.cf-wishlist-page .cf-favs-empty-brand-tagline {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.24em !important;
  color: rgba(255, 255, 255, 0.68) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Ajuste extra para que el badge no quede tan pegado al logo */
body.cf-wishlist-page .cf-favs-empty-panel-badge {
  margin-top: 2px !important;
}

/* Mobile */
@media (max-width: 575.98px) {
  body.cf-wishlist-page .cf-favs-empty-brand {
    gap: 10px !important;
    margin-bottom: 20px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-brand-mark,
  body.cf-wishlist-page .cf-favs-empty-brand-mark img {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-brand-name {
    font-size: 24px !important;
  }

  body.cf-wishlist-page .cf-favs-empty-brand-tagline {
    font-size: 8px !important;
    letter-spacing: 0.2em !important;
  }
}
/* ==========================================================
   WISHLIST - Fichas de favoritos
   ========================================================== */

body.cf-wishlist-page .cf-fav-card {
  overflow: hidden !important;

  margin: 0 !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 24px !important;

  background: #ffffff !important;

  box-shadow: 0 18px 46px rgba(0, 27, 46, 0.075) !important;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

body.cf-wishlist-page .cf-fav-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 122, 0, 0.22) !important;
  box-shadow: 0 24px 60px rgba(0, 27, 46, 0.11) !important;
}

body.cf-wishlist-page .cf-fav-card-main {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) 174px !important;
  gap: 22px !important;
  align-items: center !important;

  padding: 18px !important;
}

/* Imagen */
body.cf-wishlist-page .cf-fav-card-image {
  position: relative !important;
  overflow: hidden !important;

  display: block !important;

  width: 100% !important;
  height: 132px !important;

  border-radius: 18px !important;

  background: #e8eef5 !important;
}

body.cf-wishlist-page .cf-fav-card-image img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;

  object-fit: cover !important;

  transition: transform 0.25s ease !important;
}

body.cf-wishlist-page .cf-fav-card:hover .cf-fav-card-image img {
  transform: scale(1.045) !important;
}

/* Contenido */
body.cf-wishlist-page .cf-fav-card-content {
  min-width: 0 !important;
}

body.cf-wishlist-page .cf-fav-card-topline {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;

  margin-bottom: 9px !important;
}

body.cf-wishlist-page .cf-fav-card-badge,
body.cf-wishlist-page .cf-fav-card-rating {
  min-height: 28px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  padding: 0 10px !important;

  border-radius: 999px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-wishlist-page .cf-fav-card-badge {
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-wishlist-page .cf-fav-card-rating {
  background: var(--cf-refresh-blue, #001b2e) !important;
  color: #ffffff !important;
}

body.cf-wishlist-page .cf-fav-card-rating i {
  color: #facc15 !important;
}

body.cf-wishlist-page .cf-fav-card-title {
  margin: 0 0 8px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}

body.cf-wishlist-page .cf-fav-card-title a {
  color: inherit !important;
  text-decoration: none !important;
}

body.cf-wishlist-page .cf-fav-card-title a:hover {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-wishlist-page .cf-fav-card-description {
  display: -webkit-box !important;

  line-clamp: 2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

  margin: 0 0 12px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.cf-wishlist-page .cf-fav-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body.cf-wishlist-page .cf-fav-card-price {
  color: #087f5b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-wishlist-page .cf-fav-card-price strong {
  font-size: 17px !important;
  font-weight: 950 !important;
}

body.cf-wishlist-page .cf-fav-card-price small {
  color: #64748b !important;
  font-weight: 700 !important;
}

body.cf-wishlist-page .cf-fav-card-price-consult {
  color: #087f5b !important;
  padding: 7px 11px !important;

  border-radius: 999px !important;

  background: rgba(8, 127, 91, 0.08) !important;
}

/* Acciones */
body.cf-wishlist-page .cf-fav-card-actions {
  display: grid !important;
  gap: 10px !important;
  align-self: stretch !important;
  align-content: center !important;
}

body.cf-wishlist-page .cf-fav-card-detail,
body.cf-wishlist-page .cf-fav-card-remove {
  min-height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  padding: 0 16px !important;

  border-radius: 15px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  text-decoration: none !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-wishlist-page .cf-fav-card-detail {
  border: 1px solid rgba(255, 122, 0, 0.36) !important;
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-wishlist-page .cf-fav-card-detail:hover {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.22) !important;
}

body.cf-wishlist-page .cf-fav-card-remove {
  border: 1px solid rgba(220, 38, 38, 0.12) !important;
  background: rgba(220, 38, 38, 0.06) !important;
  color: #dc2626 !important;
}

body.cf-wishlist-page .cf-fav-card-remove i {
  color: #dc2626 !important;
}

body.cf-wishlist-page .cf-fav-card-remove:hover {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

body.cf-wishlist-page .cf-fav-card-remove:hover i {
  color: #ffffff !important;
}

/* Reseña del usuario */
body.cf-wishlist-page .cf-fav-review-box {
  margin: 0 18px 18px !important;
  padding: 16px 18px !important;

  border-radius: 20px !important;

  background: #f4f7fb !important;
  border: 1px solid rgba(0, 27, 46, 0.06) !important;
}

body.cf-wishlist-page .cf-fav-review-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;

  margin-bottom: 10px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.cf-wishlist-page .cf-fav-review-title i {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-wishlist-page .cf-fav-review-item {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
}

body.cf-wishlist-page .cf-fav-review-stars {
  white-space: nowrap !important;
}

body.cf-wishlist-page .cf-fav-review-stars i {
  margin-right: 2px !important;
}

body.cf-wishlist-page .cf-fav-review-comment {
  color: #334155 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.cf-wishlist-page .cf-fav-review-date {
  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.cf-wishlist-page .cf-fav-card-main {
    grid-template-columns: 180px minmax(0, 1fr) !important;
  }

  body.cf-wishlist-page .cf-fav-card-actions {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-wishlist-page .cf-fav-card-main {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 14px !important;
  }

  body.cf-wishlist-page .cf-fav-card-image {
    height: 190px !important;
  }

  body.cf-wishlist-page .cf-fav-card-title {
    font-size: 21px !important;
  }

  body.cf-wishlist-page .cf-fav-card-actions {
    grid-template-columns: 1fr !important;
  }

  body.cf-wishlist-page .cf-fav-review-box {
    margin: 0 14px 14px !important;
    padding: 14px !important;
  }

  body.cf-wishlist-page .cf-fav-review-item {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.cf-wishlist-page .cf-fav-review-date {
    text-align: left !important;
  }
}
/* ==========================================================
   FEEDBACKS / VALORACIONES - Panel usuario CheckinFans
   ========================================================== */

body.cf-feedback-page .cf-feedback-section {
  padding-top: 34px !important;
  padding-bottom: 70px !important;
}

body.cf-feedback-page .cf-feedback-card {
  overflow: hidden !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 30px !important;

  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.08) !important;
}

body.cf-feedback-page .cf-feedback-header {
  padding: 26px 30px 22px !important;

  border-bottom: 1px solid rgba(0, 27, 46, 0.06) !important;

  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.07),
      transparent 25%
    ),
    #ffffff !important;
}

body.cf-feedback-page .cf-feedback-kicker {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-feedback-page .cf-feedback-header .card-header-title {
  margin: 0 !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 3vw, 46px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
  line-height: 1.02 !important;
}

body.cf-feedback-page .cf-feedback-header-text {
  max-width: 720px !important;
  margin: 10px 0 0 !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

body.cf-feedback-page #feedbacks-container {
  padding: 26px !important;
  gap: 18px !important;
}

/* ==========================================================
   FEEDBACKS - Estado vacío
   ========================================================== */

body.cf-feedback-page .cf-feedback-empty-state {
  display: grid !important;
  grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

body.cf-feedback-page .cf-feedback-empty-panel {
  position: relative !important;
  overflow: hidden !important;

  min-height: 430px !important;
  padding: 30px 30px 28px !important;
  border-radius: 28px !important;

  display: flex !important;
  flex-direction: column !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.13),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;

  box-shadow: 0 22px 58px rgba(0, 27, 46, 0.12) !important;
}

body.cf-feedback-page .cf-feedback-empty-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -44px !important;
  bottom: -52px !important;

  width: 176px !important;
  height: 176px !important;

  border-radius: 999px !important;
  border: 28px solid rgba(255, 122, 0, 0.12) !important;

  pointer-events: none !important;
}

body.cf-feedback-page .cf-feedback-empty-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Marca superior */
body.cf-feedback-page .cf-feedback-empty-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;

  width: fit-content !important;
  max-width: 100% !important;

  margin: 0 0 22px !important;
}

body.cf-feedback-page .cf-feedback-empty-brand-mark,
body.cf-feedback-page .cf-feedback-empty-brand-mark img {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  object-fit: contain !important;
}

body.cf-feedback-page .cf-feedback-empty-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  min-width: 0 !important;
  line-height: 1 !important;
}

body.cf-feedback-page .cf-feedback-empty-brand-name {
  margin: 0 0 6px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;

  white-space: nowrap !important;
}

body.cf-feedback-page .cf-feedback-empty-brand-name span {
  color: #ffffff !important;
}

body.cf-feedback-page .cf-feedback-empty-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
}

body.cf-feedback-page .cf-feedback-empty-brand-tagline {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.24em !important;
  color: rgba(255, 255, 255, 0.68) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.cf-feedback-page .cf-feedback-empty-panel-badge {
  width: fit-content !important;

  margin-bottom: 18px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-feedback-page .cf-feedback-empty-panel h2 {
  max-width: 100% !important;
  margin: 0 0 16px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 2.55vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.cf-feedback-page .cf-feedback-empty-panel > p {
  max-width: 100% !important;
  margin: 0 0 24px !important;

  color: rgba(255, 255, 255, 0.78) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

body.cf-feedback-page .cf-feedback-empty-panel-points {
  display: grid !important;
  gap: 13px !important;
  margin-top: auto !important;
}

body.cf-feedback-page .cf-feedback-empty-panel-points div {
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  align-items: center !important;
  gap: 12px !important;
}

body.cf-feedback-page .cf-feedback-empty-panel-points span {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.9) !important;

  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-feedback-page .cf-feedback-empty-panel-points small {
  max-width: 245px !important;

  color: rgba(255, 255, 255, 0.72) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

/* Contenido derecho vacío */
body.cf-feedback-page .cf-feedback-empty-content {
  padding: 18px 8px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.cf-feedback-page .cf-feedback-empty-badge {
  width: fit-content !important;

  margin-bottom: 16px !important;
  padding: 9px 15px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body.cf-feedback-page .cf-feedback-empty-content h3 {
  max-width: 620px !important;
  margin: 0 0 14px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body.cf-feedback-page .cf-feedback-empty-content > p {
  max-width: 680px !important;
  margin: 0 0 24px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

body.cf-feedback-page .cf-feedback-empty-steps {
  display: grid !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

body.cf-feedback-page .cf-feedback-empty-step {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 13px !important;
  align-items: center !important;

  padding: 14px 16px !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 18px !important;

  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0, 27, 46, 0.045) !important;
}

body.cf-feedback-page .cf-feedback-empty-step span {
  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-feedback-page .cf-feedback-empty-step strong {
  display: block !important;
  margin-bottom: 3px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-feedback-page .cf-feedback-empty-step small {
  display: block !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

body.cf-feedback-page .cf-feedback-empty-btn {
  width: fit-content !important;
  min-height: 52px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 0 22px !important;

  border-radius: 17px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-feedback-page .cf-feedback-empty-btn:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.3) !important;
}

/* ==========================================================
   FEEDBACKS - Fichas de reseñas
   ========================================================== */

body.cf-feedback-page .cf-feedback-review-card {
  overflow: hidden !important;

  margin: 0 !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 24px !important;

  background: #ffffff !important;

  box-shadow: 0 18px 46px rgba(0, 27, 46, 0.075) !important;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

body.cf-feedback-page .cf-feedback-review-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 122, 0, 0.22) !important;
  box-shadow: 0 24px 60px rgba(0, 27, 46, 0.11) !important;
}

body.cf-feedback-page .cf-feedback-review-main {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) 170px !important;
  gap: 22px !important;
  align-items: center !important;

  padding: 18px !important;
}

body.cf-feedback-page .cf-feedback-review-image {
  position: relative !important;
  overflow: hidden !important;

  display: block !important;

  width: 100% !important;
  height: 132px !important;

  border-radius: 18px !important;

  background: #e8eef5 !important;
}

body.cf-feedback-page .cf-feedback-review-image img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;

  object-fit: cover !important;

  transition: transform 0.25s ease !important;
}

body.cf-feedback-page
  .cf-feedback-review-card:hover
  .cf-feedback-review-image
  img {
  transform: scale(1.045) !important;
}

body.cf-feedback-page .cf-feedback-review-content {
  min-width: 0 !important;
}

body.cf-feedback-page .cf-feedback-review-topline {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;

  margin-bottom: 9px !important;
}

body.cf-feedback-page .cf-feedback-review-badge,
body.cf-feedback-page .cf-feedback-review-date-pill {
  min-height: 28px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  padding: 0 10px !important;

  border-radius: 999px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-feedback-page .cf-feedback-review-badge {
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-feedback-page .cf-feedback-review-badge i {
  color: #facc15 !important;
}

body.cf-feedback-page .cf-feedback-review-date-pill {
  background: var(--cf-refresh-blue, #001b2e) !important;
  color: #ffffff !important;
}

body.cf-feedback-page .cf-feedback-review-title {
  margin: 0 0 8px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}

body.cf-feedback-page .cf-feedback-review-title a {
  color: inherit !important;
  text-decoration: none !important;
}

body.cf-feedback-page .cf-feedback-review-title a:hover {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-feedback-page .cf-feedback-review-description {
  display: -webkit-box !important;
  line-clamp: 2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

  margin: 0 0 12px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.cf-feedback-page .cf-feedback-review-price {
  color: #087f5b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-feedback-page .cf-feedback-review-price strong {
  font-size: 17px !important;
  font-weight: 950 !important;
}

body.cf-feedback-page .cf-feedback-review-price small {
  color: #64748b !important;
  font-weight: 700 !important;
}

body.cf-feedback-page .cf-feedback-review-price-consult {
  color: #087f5b !important;
  padding: 7px 11px !important;

  border-radius: 999px !important;

  background: rgba(8, 127, 91, 0.08) !important;
}

body.cf-feedback-page .cf-feedback-review-actions {
  display: grid !important;
  gap: 10px !important;
  align-self: stretch !important;
  align-content: center !important;
}

body.cf-feedback-page .cf-feedback-review-detail {
  min-height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  padding: 0 16px !important;

  border-radius: 15px !important;
  border: 1px solid rgba(255, 122, 0, 0.36) !important;

  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.cf-feedback-page .cf-feedback-review-detail:hover {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.22) !important;
}

/* Reseña */
body.cf-feedback-page .cf-feedback-user-review {
  margin: 0 18px 18px !important;
  padding: 18px 20px !important;

  border-radius: 20px !important;

  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.06),
      transparent 26%
    ),
    #f4f7fb !important;

  border: 1px solid rgba(0, 27, 46, 0.06) !important;
}

body.cf-feedback-page .cf-feedback-user-review-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;

  margin-bottom: 12px !important;
}

body.cf-feedback-page .cf-feedback-user-review-label {
  display: block !important;
  margin-bottom: 6px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

body.cf-feedback-page .cf-feedback-user-review-stars {
  white-space: nowrap !important;
}

body.cf-feedback-page .cf-feedback-user-review-stars i {
  color: #facc15 !important;
  margin-right: 2px !important;
}

body.cf-feedback-page .cf-feedback-user-review-date {
  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}

body.cf-feedback-page .cf-feedback-user-review-comment {
  color: #334155 !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body.cf-feedback-page .cf-feedback-empty-state {
    grid-template-columns: 1fr !important;
  }

  body.cf-feedback-page .cf-feedback-empty-panel {
    min-height: auto !important;
  }

  body.cf-feedback-page .cf-feedback-empty-panel h2,
  body.cf-feedback-page .cf-feedback-empty-panel > p {
    max-width: 640px !important;
  }

  body.cf-feedback-page .cf-feedback-empty-panel-points small {
    max-width: 100% !important;
  }
}

@media (max-width: 991.98px) {
  body.cf-feedback-page .cf-feedback-review-main {
    grid-template-columns: 180px minmax(0, 1fr) !important;
  }

  body.cf-feedback-page .cf-feedback-review-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-feedback-page #feedbacks-container {
    padding: 18px !important;
  }

  body.cf-feedback-page .cf-feedback-header {
    padding: 22px 22px 18px !important;
  }

  body.cf-feedback-page .cf-feedback-empty-panel {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  body.cf-feedback-page .cf-feedback-empty-brand {
    gap: 10px !important;
    margin-bottom: 20px !important;
  }

  body.cf-feedback-page .cf-feedback-empty-brand-mark,
  body.cf-feedback-page .cf-feedback-empty-brand-mark img {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  body.cf-feedback-page .cf-feedback-empty-brand-name {
    font-size: 24px !important;
  }

  body.cf-feedback-page .cf-feedback-empty-brand-tagline {
    font-size: 8px !important;
    letter-spacing: 0.2em !important;
  }

  body.cf-feedback-page .cf-feedback-empty-panel h2 {
    font-size: 34px !important;
    line-height: 1.02 !important;
  }

  body.cf-feedback-page .cf-feedback-empty-content {
    padding: 4px 0 0 !important;
  }

  body.cf-feedback-page .cf-feedback-empty-btn {
    width: 100% !important;
  }

  body.cf-feedback-page .cf-feedback-review-main {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 14px !important;
  }

  body.cf-feedback-page .cf-feedback-review-image {
    height: 190px !important;
  }

  body.cf-feedback-page .cf-feedback-review-title {
    font-size: 21px !important;
  }

  body.cf-feedback-page .cf-feedback-user-review {
    margin: 0 14px 14px !important;
    padding: 14px !important;
  }

  body.cf-feedback-page .cf-feedback-user-review-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ==========================================================
   CONSULTAS - Panel usuario CheckinFans
   ========================================================== */

body.cf-consultas-page .cf-consultas-section {
  padding-top: 34px !important;
  padding-bottom: 70px !important;
}

body.cf-consultas-page .cf-consultas-card {
  overflow: hidden !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(0, 27, 46, 0.08) !important;
}

body.cf-consultas-page .cf-consultas-header {
  padding: 26px 30px 22px !important;
  border-bottom: 1px solid rgba(0, 27, 46, 0.06) !important;
  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.07),
      transparent 25%
    ),
    #ffffff !important;
}

body.cf-consultas-page .cf-consultas-kicker {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-consultas-page .cf-consultas-header .card-header-title {
  margin: 0 !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 3vw, 46px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
  line-height: 1.02 !important;
}

body.cf-consultas-page .cf-consultas-header-text {
  max-width: 760px !important;
  margin: 10px 0 0 !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

body.cf-consultas-page #consultas-container {
  padding: 26px !important;
  gap: 18px !important;
}

/* ==========================================================
   CONSULTAS - Estado vacío
   ========================================================== */

body.cf-consultas-page .cf-consultas-empty-state {
  display: grid !important;
  grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

body.cf-consultas-page .cf-consultas-empty-panel {
  position: relative !important;
  overflow: hidden !important;
  min-height: 430px !important;
  padding: 30px 30px 28px !important;
  border-radius: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.13),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;
  box-shadow: 0 22px 58px rgba(0, 27, 46, 0.12) !important;
}

body.cf-consultas-page .cf-consultas-empty-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -44px !important;
  bottom: -52px !important;
  width: 176px !important;
  height: 176px !important;
  border-radius: 999px !important;
  border: 28px solid rgba(255, 122, 0, 0.12) !important;
  pointer-events: none !important;
}

body.cf-consultas-page .cf-consultas-empty-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

body.cf-consultas-page .cf-consultas-empty-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
}

body.cf-consultas-page .cf-consultas-empty-brand-mark,
body.cf-consultas-page .cf-consultas-empty-brand-mark img {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  object-fit: contain !important;
}

body.cf-consultas-page .cf-consultas-empty-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  line-height: 1 !important;
}

body.cf-consultas-page .cf-consultas-empty-brand-name {
  margin: 0 0 6px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;
  white-space: nowrap !important;
}

body.cf-consultas-page .cf-consultas-empty-brand-name span {
  color: #ffffff !important;
}

body.cf-consultas-page .cf-consultas-empty-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
}

body.cf-consultas-page .cf-consultas-empty-brand-tagline {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.24em !important;
  color: rgba(255, 255, 255, 0.68) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.cf-consultas-page .cf-consultas-empty-panel-badge {
  width: fit-content !important;
  margin-bottom: 18px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-consultas-page .cf-consultas-empty-panel h2 {
  max-width: 100% !important;
  margin: 0 0 16px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 2.55vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.cf-consultas-page .cf-consultas-empty-panel > p {
  max-width: 100% !important;
  margin: 0 0 24px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

body.cf-consultas-page .cf-consultas-empty-panel-points {
  display: grid !important;
  gap: 13px !important;
  margin-top: auto !important;
}

body.cf-consultas-page .cf-consultas-empty-panel-points div {
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  align-items: center !important;
  gap: 12px !important;
}

body.cf-consultas-page .cf-consultas-empty-panel-points span {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.9) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-consultas-page .cf-consultas-empty-panel-points small {
  max-width: 245px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

body.cf-consultas-page .cf-consultas-empty-content {
  padding: 18px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.cf-consultas-page .cf-consultas-empty-badge {
  width: fit-content !important;
  margin-bottom: 16px !important;
  padding: 9px 15px !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body.cf-consultas-page .cf-consultas-empty-content h3 {
  max-width: 620px !important;
  margin: 0 0 14px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body.cf-consultas-page .cf-consultas-empty-content > p {
  max-width: 680px !important;
  margin: 0 0 24px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

body.cf-consultas-page .cf-consultas-empty-steps {
  display: grid !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

body.cf-consultas-page .cf-consultas-empty-step {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 13px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0, 27, 46, 0.045) !important;
}

body.cf-consultas-page .cf-consultas-empty-step span {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-consultas-page .cf-consultas-empty-step strong {
  display: block !important;
  margin-bottom: 3px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.cf-consultas-page .cf-consultas-empty-step small {
  display: block !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

body.cf-consultas-page .cf-consultas-empty-btn {
  width: fit-content !important;
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 22px !important;
  border-radius: 17px !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
}

body.cf-consultas-page .cf-consultas-empty-btn:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
}

/* ==========================================================
   CONSULTAS - Fichas
   ========================================================== */

body.cf-consultas-page .cf-consulta-card {
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 46px rgba(0, 27, 46, 0.075) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

body.cf-consultas-page .cf-consulta-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 122, 0, 0.22) !important;
  box-shadow: 0 24px 60px rgba(0, 27, 46, 0.11) !important;
}

body.cf-consultas-page .cf-consulta-card-main {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) 170px !important;
  gap: 22px !important;
  align-items: center !important;
  padding: 18px !important;
}

body.cf-consultas-page .cf-consulta-card-image {
  position: relative !important;
  overflow: hidden !important;
  display: block !important;
  width: 100% !important;
  height: 132px !important;
  border-radius: 18px !important;
  background: #e8eef5 !important;
}

body.cf-consultas-page .cf-consulta-card-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform 0.25s ease !important;
}

body.cf-consultas-page .cf-consulta-card:hover .cf-consulta-card-image img {
  transform: scale(1.045) !important;
}

body.cf-consultas-page .cf-consulta-card-content {
  min-width: 0 !important;
}

body.cf-consultas-page .cf-consulta-card-topline {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 9px !important;
}

body.cf-consultas-page .cf-consulta-card-badge,
body.cf-consultas-page .cf-consulta-card-count {
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.cf-consultas-page .cf-consulta-card-badge {
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-consultas-page .cf-consulta-card-count {
  background: var(--cf-refresh-blue, #001b2e) !important;
  color: #ffffff !important;
}

body.cf-consultas-page .cf-consulta-card-title {
  margin: 0 0 8px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}

body.cf-consultas-page .cf-consulta-card-title a {
  color: inherit !important;
  text-decoration: none !important;
}

body.cf-consultas-page .cf-consulta-card-title a:hover {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-consultas-page .cf-consulta-card-location {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
}

body.cf-consultas-page .cf-consulta-card-location i {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-consultas-page .cf-consulta-card-description {
  display: -webkit-box !important;
  line-clamp: 2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 0 12px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.cf-consultas-page .cf-consulta-card-price {
  color: #087f5b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.cf-consultas-page .cf-consulta-card-price strong {
  font-size: 17px !important;
  font-weight: 950 !important;
}

body.cf-consultas-page .cf-consulta-card-price small {
  color: #64748b !important;
  font-weight: 700 !important;
}

body.cf-consultas-page .cf-consulta-card-price-consult {
  color: #087f5b !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(8, 127, 91, 0.08) !important;
}

body.cf-consultas-page .cf-consulta-card-actions {
  display: grid !important;
  align-self: stretch !important;
  align-content: center !important;
}

body.cf-consultas-page .cf-consulta-card-detail {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255, 122, 0, 0.36) !important;
  background: #fff7ed !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.cf-consultas-page .cf-consulta-card-detail:hover {
  border-color: var(--cf-refresh-orange, #ff7a00) !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
}

/* Thread consultas */
body.cf-consultas-page .cf-consultas-thread {
  margin: 0 18px 18px !important;
  padding: 18px 20px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.06),
      transparent 26%
    ),
    #f4f7fb !important;
  border: 1px solid rgba(0, 27, 46, 0.06) !important;
}

body.cf-consultas-page .cf-consultas-thread-label {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--cf-refresh-blue, #001b2e) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

body.cf-consultas-page .cf-consultas-thread-head p {
  margin: 0 0 14px !important;
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}

body.cf-consultas-page .cf-consultas-thread-list {
  display: grid !important;
  gap: 12px !important;
}

body.cf-consultas-page .cf-consulta-thread-item {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: flex-start !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 27, 46, 0.055) !important;
}

body.cf-consultas-page .cf-consulta-thread-icon {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-consultas-page .cf-consulta-thread-meta {
  margin-bottom: 5px !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.cf-consultas-page .cf-consulta-thread-message {
  color: #334155 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.cf-consultas-page .cf-consulta-thread-date {
  color: #64748b !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body.cf-consultas-page .cf-consultas-empty-state {
    grid-template-columns: 1fr !important;
  }

  body.cf-consultas-page .cf-consultas-empty-panel {
    min-height: auto !important;
  }

  body.cf-consultas-page .cf-consultas-empty-panel-points small {
    max-width: 100% !important;
  }
}

@media (max-width: 991.98px) {
  body.cf-consultas-page .cf-consulta-card-main {
    grid-template-columns: 180px minmax(0, 1fr) !important;
  }

  body.cf-consultas-page .cf-consulta-card-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 575.98px) {
  body.cf-consultas-page #consultas-container {
    padding: 18px !important;
  }

  body.cf-consultas-page .cf-consultas-header {
    padding: 22px 22px 18px !important;
  }

  body.cf-consultas-page .cf-consultas-empty-panel {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  body.cf-consultas-page .cf-consultas-empty-brand-mark,
  body.cf-consultas-page .cf-consultas-empty-brand-mark img {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  body.cf-consultas-page .cf-consultas-empty-brand-name {
    font-size: 24px !important;
  }

  body.cf-consultas-page .cf-consultas-empty-brand-tagline {
    font-size: 8px !important;
    letter-spacing: 0.2em !important;
  }

  body.cf-consultas-page .cf-consultas-empty-panel h2 {
    font-size: 34px !important;
    line-height: 1.02 !important;
  }

  body.cf-consultas-page .cf-consultas-empty-btn {
    width: 100% !important;
  }

  body.cf-consultas-page .cf-consulta-card-main {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 14px !important;
  }

  body.cf-consultas-page .cf-consulta-card-image {
    height: 190px !important;
  }

  body.cf-consultas-page .cf-consulta-card-title {
    font-size: 21px !important;
  }

  body.cf-consultas-page .cf-consultas-thread {
    margin: 0 14px 14px !important;
    padding: 14px !important;
  }

  body.cf-consultas-page .cf-consulta-thread-item {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }

  body.cf-consultas-page .cf-consulta-thread-date {
    grid-column: 2 / -1 !important;
  }
}
/* ==========================================================
   INDEX / LISTADO - Estado vacío búsqueda y filtros
   ========================================================== */

body .cf-search-empty-col {
  width: 100% !important;
}

body .cf-search-empty-state {
  display: grid !important;
  grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr) !important;
  gap: 26px !important;
  align-items: stretch !important;

  width: 100% !important;
  max-width: 1180px !important;

  margin: 14px auto 42px !important;
}

/* Panel azul izquierdo */
body .cf-search-empty-panel {
  position: relative !important;
  overflow: hidden !important;

  min-height: 430px !important;
  padding: 30px 30px 28px !important;
  border-radius: 30px !important;

  display: flex !important;
  flex-direction: column !important;

  background:
    radial-gradient(
      circle at 88% 88%,
      rgba(255, 122, 0, 0.13),
      transparent 30%
    ),
    linear-gradient(135deg, #001b2e 0%, #04233a 100%) !important;

  box-shadow: 0 22px 58px rgba(0, 27, 46, 0.12) !important;
}

body .cf-search-empty-panel::after {
  content: "" !important;
  position: absolute !important;
  right: -44px !important;
  bottom: -52px !important;

  width: 176px !important;
  height: 176px !important;

  border-radius: 999px !important;
  border: 28px solid rgba(255, 122, 0, 0.12) !important;

  pointer-events: none !important;
}

body .cf-search-empty-panel > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Marca */
body .cf-search-empty-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;

  width: fit-content !important;
  max-width: 100% !important;

  margin: 0 0 22px !important;
}

body .cf-search-empty-brand-mark,
body .cf-search-empty-brand-mark img {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  object-fit: contain !important;
}

body .cf-search-empty-brand-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  min-width: 0 !important;
  line-height: 1 !important;
}

body .cf-search-empty-brand-name {
  margin: 0 0 6px !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;

  white-space: nowrap !important;
}

body .cf-search-empty-brand-name span {
  color: #ffffff !important;
}

body .cf-search-empty-brand-name strong {
  color: var(--cf-refresh-orange, #ff7a00) !important;
  font-weight: 900 !important;
}

body .cf-search-empty-brand-tagline {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.24em !important;
  color: rgba(255, 255, 255, 0.68) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Badge panel */
body .cf-search-empty-panel-badge {
  width: fit-content !important;

  margin-bottom: 18px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body .cf-search-empty-panel h2 {
  max-width: 100% !important;
  margin: 0 0 16px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(32px, 2.55vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .cf-search-empty-panel > p {
  max-width: 100% !important;
  margin: 0 0 24px !important;

  color: rgba(255, 255, 255, 0.78) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Puntos panel */
body .cf-search-empty-panel-points {
  display: grid !important;
  gap: 13px !important;
  margin-top: auto !important;
}

body .cf-search-empty-panel-points div {
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  align-items: center !important;
  gap: 12px !important;
}

body .cf-search-empty-panel-points span {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 122, 0, 0.9) !important;

  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body .cf-search-empty-panel-points small {
  max-width: 260px !important;

  color: rgba(255, 255, 255, 0.72) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

/* Contenido derecho */
body .cf-search-empty-content {
  padding: 18px 8px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body .cf-search-empty-badge {
  width: fit-content !important;

  margin-bottom: 16px !important;
  padding: 9px 15px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body .cf-search-empty-content h3 {
  max-width: 620px !important;
  margin: 0 0 14px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.06em !important;
}

body .cf-search-empty-content > p {
  max-width: 680px !important;
  margin: 0 0 24px !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

/* Pasos */
body .cf-search-empty-steps {
  display: grid !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

body .cf-search-empty-step {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 13px !important;
  align-items: center !important;

  padding: 14px 16px !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 18px !important;

  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0, 27, 46, 0.045) !important;
}

body .cf-search-empty-step span {
  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body .cf-search-empty-step strong {
  display: block !important;
  margin-bottom: 3px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body .cf-search-empty-step small {
  display: block !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

/* Acciones */
body .cf-search-empty-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body .cf-search-empty-btn {
  width: fit-content !important;
  min-height: 52px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 0 22px !important;

  border-radius: 17px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body .cf-search-empty-btn:hover {
  background: var(--cf-refresh-orange-dark, #e96800) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(255, 122, 0, 0.3) !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body .cf-search-empty-state {
    grid-template-columns: 1fr !important;
  }

  body .cf-search-empty-panel {
    min-height: auto !important;
  }

  body .cf-search-empty-panel-points small {
    max-width: 100% !important;
  }
}

@media (max-width: 575.98px) {
  body .cf-search-empty-state {
    margin-top: 6px !important;
    margin-bottom: 34px !important;
    gap: 18px !important;
  }

  body .cf-search-empty-panel {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  body .cf-search-empty-brand-mark,
  body .cf-search-empty-brand-mark img {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  body .cf-search-empty-brand-name {
    font-size: 24px !important;
  }

  body .cf-search-empty-brand-tagline {
    font-size: 8px !important;
    letter-spacing: 0.2em !important;
  }

  body .cf-search-empty-panel h2 {
    font-size: 34px !important;
    line-height: 1.02 !important;
  }

  body .cf-search-empty-content {
    padding: 4px 0 0 !important;
  }

  body .cf-search-empty-btn {
    width: 100% !important;
  }
}
/* ==========================================================
   PROMOCIONES - Refresh visual
   ========================================================== */

body.cf-promos-page {
  background: var(--cf-refresh-bg, #f4f7fb) !important;
  font-family: "Manrope", "DM Sans", Arial, sans-serif !important;
}

body.cf-promos-page main {
  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(255, 122, 0, 0.08),
      transparent 28%
    ),
    var(--cf-refresh-bg, #f4f7fb) !important;
}

body.cf-promos-page .cf-promo-hero {
  position: relative !important;
  overflow: hidden !important;
}

body.cf-promos-page .cf-promo-hero-bg {
  opacity: 1 !important;
}

body.cf-promos-page .cf-promo-hero-copy {
  max-width: 720px !important;
}

body.cf-promos-page .cf-refresh-hero-title {
  max-width: 780px !important;
}

body.cf-promos-page .cf-refresh-hero-text {
  max-width: 620px !important;
}

/* Card de búsqueda promociones */
body.cf-promos-page .cf-promo-search-card {
  border: 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 26px 70px rgba(0, 27, 46, 0.14) !important;
}

body.cf-promos-page .cf-promo-search-header {
  border-bottom: 1px solid rgba(0, 27, 46, 0.06) !important;
  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.07),
      transparent 25%
    ),
    #ffffff !important;
}

body.cf-promos-page .cf-promo-breadcrumb {
  margin: 0 0 16px !important;
}

body.cf-promos-page .cf-promo-breadcrumb .breadcrumb-item,
body.cf-promos-page .cf-promo-breadcrumb .breadcrumb-item a {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  color: #64748b !important;
  text-decoration: none !important;
}

body.cf-promos-page .cf-promo-breadcrumb .breadcrumb-item a:hover {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-promos-page .cf-promo-search-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

body.cf-promos-page .cf-promo-search-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body.cf-promos-page .cf-promo-search-icon i {
  font-size: 22px !important;
}

body.cf-promos-page .cf-promo-search-title {
  margin: 0 0 5px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(26px, 2.5vw, 38px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
}

body.cf-promos-page .cf-promo-search-subtitle {
  max-width: 720px !important;
  margin: 0 !important;

  color: #64748b !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

/* Título del listado */
body.cf-promos-page .cf-promo-list-heading-section {
  padding-top: 10px !important;
  padding-bottom: 14px !important;
}

body.cf-promos-page .cf-promo-list-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 0 4px !important;
}

body.cf-promos-page .cf-promo-list-heading span {
  display: inline-flex !important;
  margin-bottom: 8px !important;
  padding: 8px 14px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.cf-promos-page .cf-promo-list-heading h2 {
  margin: 0 !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
}

/* Promo dentro de cards */
body.cf-promos-page .card-alojamiento .badge.bg-warning {
  border-radius: 999px !important;
  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 28px rgba(255, 122, 0, 0.22) !important;
}

body.cf-promos-page .promo-tip {
  width: fit-content !important;
  max-width: 100% !important;

  margin-top: 8px !important;
  padding: 7px 11px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
}

/* Link secundario del panel vacío */
body .cf-search-empty-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 52px !important;

  color: var(--cf-refresh-blue, #001b2e) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body .cf-search-empty-link:hover {
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

/* Mobile */
@media (max-width: 575.98px) {
  body.cf-promos-page .cf-promo-search-title-row {
    align-items: flex-start !important;
  }

  body.cf-promos-page .cf-promo-search-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  body.cf-promos-page .cf-promo-search-title {
    font-size: 30px !important;
  }

  body.cf-promos-page .cf-promo-list-heading {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* ==========================================================
   HOME - Aviso búsqueda sin resultados centrado
   ========================================================== */

#contenedorCabanas.cf-home-empty-results {
  width: 100% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  margin-left: auto !important;
  margin-right: auto !important;
}

/* Centra el bloque que venga desde listarCabanas.php */
#contenedorCabanas.cf-home-empty-results > * {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Si el aviso viene dentro de una columna Bootstrap */
#contenedorCabanas.cf-home-empty-results > [class*="col-"],
#contenedorCabanas.cf-home-empty-results > .col,
#contenedorCabanas.cf-home-empty-results > .col-12 {
  width: 100% !important;
  max-width: 1180px !important;

  flex: 0 0 100% !important;
}

/* Si el bloque interno tiene row propia, también lo centramos */
#contenedorCabanas.cf-home-empty-results .row {
  justify-content: center !important;
}

/* Ajuste para pantallas medianas */
@media (max-width: 1199.98px) {
  #contenedorCabanas.cf-home-empty-results > [class*="col-"],
  #contenedorCabanas.cf-home-empty-results > .col,
  #contenedorCabanas.cf-home-empty-results > .col-12 {
    max-width: 960px !important;
  }
}

/* Ajuste mobile */
@media (max-width: 767.98px) {
  #contenedorCabanas.cf-home-empty-results {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #contenedorCabanas.cf-home-empty-results > [class*="col-"],
  #contenedorCabanas.cf-home-empty-results > .col,
  #contenedorCabanas.cf-home-empty-results > .col-12 {
    max-width: 100% !important;
  }
}

/* ==========================================================
   CHECKINFANS - SweetAlert2 estilo público
   ========================================================== */

.swal2-container {
  z-index: 20000 !important;
}

.swal2-container .swal2-popup:not(.swal2-toast) {
  width: min(520px, calc(100vw - 28px)) !important;
  padding: 0 0 26px !important;

  overflow: hidden !important;

  border-radius: 30px !important;
  border: 1px solid rgba(0, 27, 46, 0.08) !important;

  background: #ffffff !important;

  box-shadow: 0 28px 90px rgba(0, 27, 46, 0.24) !important;

  font-family: "DM Sans", Arial, sans-serif !important;
}

/* Cabecera azul estilo CheckinFans */
.swal2-container .swal2-popup:not(.swal2-toast)::before {
  content: "" !important;

  display: block !important;

  width: 100% !important;
  height: 128px !important;

  background:
    radial-gradient(
      circle at 88% 20%,
      rgba(255, 122, 0, 0.16),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04243b 100%) !important;
}

/* Círculo del icono */
.swal2-container .swal2-icon {
  position: relative !important;
  z-index: 2 !important;

  width: 78px !important;
  height: 78px !important;

  margin: -42px auto 18px !important;

  border-width: 3px !important;
  border-radius: 999px !important;

  background: #ffffff !important;

  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.16) !important;
}

/* Título */
.swal2-container .swal2-title {
  margin: 0 auto 10px !important;
  padding: 0 34px !important;

  color: #001b2e !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: clamp(25px, 4vw, 34px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
}

/* Texto */
.swal2-container .swal2-html-container {
  margin: 0 auto !important;
  padding: 0 38px !important;

  color: #64748b !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.58 !important;
}

/* Botonera */
.swal2-container .swal2-actions {
  width: 100% !important;

  margin: 24px 0 0 !important;
  padding: 0 34px !important;

  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
}

/* Botón principal */
.swal2-container .swal2-confirm {
  min-height: 50px !important;

  padding: 0 24px !important;

  border: 0 !important;
  border-radius: 16px !important;

  background: #ff7a00 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.24) !important;
}

.swal2-container .swal2-confirm:hover {
  background: #e96800 !important;
}

/* Botón cancelar */
.swal2-container .swal2-cancel,
.swal2-container .swal2-deny {
  min-height: 50px !important;

  padding: 0 22px !important;

  border-radius: 16px !important;
  border: 1px solid rgba(0, 27, 46, 0.12) !important;

  background: #ffffff !important;
  color: #001b2e !important;
  -webkit-text-fill-color: #001b2e !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;

  box-shadow: none !important;
}

.swal2-container .swal2-cancel:hover,
.swal2-container .swal2-deny:hover {
  border-color: rgba(255, 122, 0, 0.28) !important;
  background: rgba(255, 122, 0, 0.08) !important;
  color: #ff7a00 !important;
  -webkit-text-fill-color: #ff7a00 !important;
}

/* Botón cerrar */
.swal2-container .swal2-close {
  top: 18px !important;
  right: 18px !important;

  width: 42px !important;
  height: 42px !important;

  border-radius: 999px !important;

  color: rgba(255, 255, 255, 0.82) !important;
  background: rgba(255, 255, 255, 0.08) !important;

  font-size: 32px !important;
  font-weight: 300 !important;
}

.swal2-container .swal2-close:hover {
  color: #ffffff !important;
  background: rgba(255, 122, 0, 0.18) !important;
}

/* Colores de iconos */
.swal2-container .swal2-icon.swal2-success {
  border-color: #16a34a !important;
  color: #16a34a !important;
}

.swal2-container .swal2-icon.swal2-error {
  border-color: #dc2626 !important;
  color: #dc2626 !important;
}

.swal2-container .swal2-icon.swal2-warning,
.swal2-container .swal2-icon.swal2-info,
.swal2-container .swal2-icon.swal2-question {
  border-color: #ff7a00 !important;
  color: #ff7a00 !important;
}

.swal2-container .swal2-success-line-tip,
.swal2-container .swal2-success-line-long {
  background-color: #16a34a !important;
}

.swal2-container .swal2-success-ring {
  border-color: rgba(22, 163, 74, 0.24) !important;
}

.swal2-container .swal2-x-mark-line-left,
.swal2-container .swal2-x-mark-line-right {
  background-color: #dc2626 !important;
}

/* Barra de progreso si algún Swal la usa */
.swal2-container .swal2-timer-progress-bar {
  background: #ff7a00 !important;
}

/* Responsive */
@media (max-width: 575.98px) {
  .swal2-container .swal2-popup:not(.swal2-toast) {
    border-radius: 26px !important;
  }

  .swal2-container .swal2-popup:not(.swal2-toast)::before {
    height: 112px !important;
  }

  .swal2-container .swal2-title {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .swal2-container .swal2-html-container {
    padding-left: 26px !important;
    padding-right: 26px !important;
  }

  .swal2-container .swal2-actions {
    padding-left: 24px !important;
    padding-right: 24px !important;
    flex-direction: column !important;
  }

  .swal2-container .swal2-confirm,
  .swal2-container .swal2-cancel,
  .swal2-container .swal2-deny {
    width: 100% !important;
  }
}
/* =========================================
   FIX icono success Swal2
   ========================================= */

.swal2-container .swal2-icon.swal2-success {
  border: 3px solid #b7e3c4 !important;
  color: #16a34a !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.16) !important;
}

.swal2-container .swal2-success-ring {
  border-color: rgba(22, 163, 74, 0.22) !important;
}

.swal2-container .swal2-success-line-tip,
.swal2-container .swal2-success-line-long {
  background-color: #16a34a !important;
}

/* ESTO es lo que saca las “cosas raras” alrededor del check */
.swal2-container .swal2-success-circular-line-left,
.swal2-container .swal2-success-circular-line-right,
.swal2-container .swal2-success-fix {
  display: none !important;
  background: transparent !important;
}
/* ==========================================================
   CHECKINFANS - Cards alojamiento / promociones
   ========================================================== */

.card-alojamiento .cf-listing-card-v2 {
  position: relative !important;
  overflow: hidden !important;

  border: 1px solid rgba(0, 27, 46, 0.07) !important;
  border-radius: 24px !important;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(255, 122, 0, 0.045),
      transparent 24%
    ),
    #ffffff !important;

  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.08) !important;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}

.card-alojamiento .cf-listing-card-v2:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(255, 122, 0, 0.24) !important;
  box-shadow: 0 24px 58px rgba(0, 27, 46, 0.12) !important;
}

.card-alojamiento .cf-listing-media-v2 {
  border-radius: 20px !important;
  background: #eef4fb !important;
}

.card-alojamiento .cf-listing-media-v2 img {
  width: 100% !important;
  height: 190px !important;

  display: block !important;

  object-fit: cover !important;

  transition: transform 0.22s ease !important;
}

.card-alojamiento .cf-listing-card-v2:hover .cf-listing-media-v2 img {
  transform: scale(1.025) !important;
}

.card-alojamiento .cf-listing-card-body-v2 {
  min-height: 138px !important;
  padding-top: 12px !important;
}

.card-alojamiento .cf-listing-card-title-v2,
.card-alojamiento .cf-listing-card-v2 .card-title {
  margin-bottom: 4px !important;

  color: #001b2e !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
}

.card-alojamiento .cf-listing-card-v2 .card-title a {
  color: #001b2e !important;
  text-decoration: none !important;
}

.card-alojamiento .cf-listing-card-v2 .card-title a:hover {
  color: #ff7a00 !important;
}

.card-alojamiento .cf-listing-card-v2 .cf-card-location {
  color: #64748b !important;

  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.card-alojamiento .cf-listing-card-footer-v2 {
  border-top: 0 !important;
  background: transparent !important;
}

.card-alojamiento .cf-listing-card-footer-v2 .text-success {
  color: #087f3f !important;

  font-size: 12.5px !important;
  font-weight: 850 !important;
}

.card-alojamiento .cf-listing-card-footer-v2 .btn {
  min-height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;

  border-radius: 999px !important;
  border-color: rgba(255, 122, 0, 0.35) !important;

  background: rgba(255, 122, 0, 0.035) !important;
  color: #ff7a00 !important;
  -webkit-text-fill-color: #ff7a00 !important;

  font-size: 12.5px !important;
  font-weight: 900 !important;
}

.card-alojamiento .cf-listing-card-footer-v2 .btn:hover {
  background: #ff7a00 !important;
  border-color: #ff7a00 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Badge superior */
.card-alojamiento .cf-card-promo-overlay {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 12 !important;

  pointer-events: auto !important;
}

.card-alojamiento .cf-card-promo-badge {
  min-height: 30px !important;

  padding: 8px 11px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;

  border-radius: 999px !important;

  background: #ff7a00 !important;
  color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  box-shadow: 0 12px 24px rgba(255, 122, 0, 0.3) !important;
}

.card-alojamiento .cf-card-promo-badge i {
  font-size: 12px !important;
}

/* Línea de promoción */
.card-alojamiento .cf-card-promo-line {
  position: relative !important;

  width: fit-content !important;
  max-width: 100% !important;

  min-height: 29px !important;

  margin-top: 7px !important;
  padding: 7px 10px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.15) !important;

  background: rgba(255, 122, 0, 0.09) !important;
  color: #ff7a00 !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  cursor: help !important;

  white-space: nowrap !important;
}

.card-alojamiento .cf-card-promo-prefix {
  color: #001b2e !important;
  font-weight: 900 !important;
}

.card-alojamiento .cf-card-promo-title {
  min-width: 0 !important;

  display: block !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.card-alojamiento .cf-card-promo-line:hover {
  background: #ff7a00 !important;
  color: #ffffff !important;
  border-color: #ff7a00 !important;
}

.card-alojamiento .cf-card-promo-line:hover .cf-card-promo-prefix,
.card-alojamiento .cf-card-promo-line:hover .cf-card-promo-title {
  color: #ffffff !important;
}

/* Tooltip propio al pasar el mouse */
.card-alojamiento .cf-card-promo-line[data-promo-tooltip]:hover::after {
  content: attr(data-promo-tooltip) !important;

  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 9px) !important;
  z-index: 40 !important;

  width: max-content !important;
  max-width: 260px !important;

  padding: 9px 11px !important;

  border-radius: 13px !important;

  background: #001b2e !important;
  color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;

  white-space: normal !important;

  box-shadow: 0 14px 34px rgba(0, 27, 46, 0.24) !important;
}

.card-alojamiento .cf-card-promo-line[data-promo-tooltip]:hover::before {
  content: "" !important;

  position: absolute !important;
  left: 18px !important;
  bottom: calc(100% + 3px) !important;
  z-index: 41 !important;

  border-width: 6px 6px 0 6px !important;
  border-style: solid !important;
  border-color: #001b2e transparent transparent transparent !important;
}

.card-alojamiento .cf-card-promo-placeholder {
  visibility: hidden !important;
}

/* Card específico de página promociones */
.card-alojamiento .cf-listing-card-promo-v2 {
  border-color: rgba(255, 122, 0, 0.12) !important;
}

.card-alojamiento .cf-listing-card-promo-v2 .cf-card-promo-line {
  margin-top: 8px !important;
}

@media (max-width: 575.98px) {
  .card-alojamiento .cf-listing-media-v2 img {
    height: 180px !important;
  }

  .card-alojamiento .cf-card-promo-badge {
    font-size: 11px !important;
    padding: 7px 10px !important;
  }

  .card-alojamiento .cf-card-promo-line[data-promo-tooltip]:hover::after {
    max-width: 220px !important;
  }
}
/* ==========================================================
   CHECKINFANS - Promo en detalle alojamiento / card consulta
   ========================================================== */

.cf-detail-promo-box {
  position: relative !important;

  padding: 12px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255, 122, 0, 0.2) !important;

  background:
    radial-gradient(
      circle at 96% 10%,
      rgba(255, 122, 0, 0.08),
      transparent 26%
    ),
    rgba(255, 122, 0, 0.055) !important;

  cursor: help !important;
}

.cf-detail-promo-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;

  margin-bottom: 8px !important;
}

.cf-detail-promo-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;

  color: #ff7a00 !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

.cf-detail-promo-valid {
  color: #64748b !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.cf-detail-promo-title {
  width: 100% !important;

  min-height: 38px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;

  padding: 9px 12px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.28) !important;

  background: #ffffff !important;
  color: #ff7a00 !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cf-detail-promo-title span {
  color: #001b2e !important;
  font-weight: 900 !important;
}

.cf-detail-promo-desc {
  margin: 9px 0 0 !important;

  color: #64748b !important;

  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

/* Tooltip propio */
.cf-detail-promo-box[data-promo-tooltip]:hover::after {
  content: attr(data-promo-tooltip) !important;

  position: absolute !important;
  left: 12px !important;
  bottom: calc(100% + 10px) !important;
  z-index: 50 !important;

  width: max-content !important;
  max-width: 280px !important;

  padding: 10px 12px !important;

  border-radius: 14px !important;

  background: #001b2e !important;
  color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;

  white-space: normal !important;

  box-shadow: 0 16px 38px rgba(0, 27, 46, 0.24) !important;
}

.cf-detail-promo-box[data-promo-tooltip]:hover::before {
  content: "" !important;

  position: absolute !important;
  left: 30px !important;
  bottom: calc(100% + 4px) !important;
  z-index: 51 !important;

  border-width: 6px 6px 0 6px !important;
  border-style: solid !important;
  border-color: #001b2e transparent transparent transparent !important;
}
/* ==========================================================
   CHECKINFANS - Modal ubicación Google Maps
   ========================================================== */

.cf-map-modal .modal-dialog {
  padding: 14px !important;
}

.cf-map-modal-content {
  overflow: hidden !important;

  border: 1px solid rgba(0, 27, 46, 0.08) !important;
  border-radius: 30px !important;

  background: #ffffff !important;
  box-shadow: 0 30px 90px rgba(0, 27, 46, 0.28) !important;
}

.cf-map-modal-header {
  min-height: 128px !important;

  padding: 28px 30px !important;

  border-bottom: 0 !important;

  background:
    radial-gradient(
      circle at 92% 14%,
      rgba(255, 122, 0, 0.16),
      transparent 28%
    ),
    linear-gradient(135deg, #001b2e 0%, #04243b 100%) !important;
}

.cf-map-modal-kicker {
  display: inline-flex !important;
  align-items: center !important;

  margin-bottom: 9px !important;
  padding: 7px 12px !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.14) !important;
  color: #ff7a00 !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.cf-map-modal-title {
  margin: 0 !important;

  color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
}

.cf-map-modal-subtitle {
  margin: 8px 0 0 !important;

  color: rgba(255, 255, 255, 0.72) !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.cf-map-modal-close {
  width: 42px !important;
  height: 42px !important;

  margin: 0 !important;

  border-radius: 999px !important;

  background-color: rgba(255, 255, 255, 0.9) !important;
  opacity: 1 !important;

  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

.cf-map-modal-body {
  padding: 16px !important;

  background: #eef4fb !important;
}

.cf-map-modal-iframe {
  width: 100% !important;
  height: min(62vh, 560px) !important;
  min-height: 420px !important;

  display: block !important;

  border: 0 !important;
  border-radius: 24px !important;

  background: #dbe7f3 !important;

  box-shadow: inset 0 0 0 1px rgba(0, 27, 46, 0.08) !important;
}

.cf-map-modal-footer {
  padding: 18px 22px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;

  border-top: 1px solid rgba(0, 27, 46, 0.07) !important;

  background: #ffffff !important;
}

.cf-map-modal-address {
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 9px !important;

  color: #64748b !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.cf-map-modal-address i {
  flex: 0 0 auto !important;

  color: #ff7a00 !important;
}

.cf-map-modal-address span {
  min-width: 0 !important;

  display: block !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.cf-map-modal-btn {
  min-height: 48px !important;

  padding: 0 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  border: 0 !important;
  border-radius: 16px !important;

  background: #ff7a00 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;

  text-decoration: none !important;

  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.22) !important;
}

.cf-map-modal-btn:hover {
  background: #e96d00 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.cf-map-modal-empty {
  min-height: 360px !important;

  padding: 34px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;

  border-radius: 24px !important;
  border: 1px dashed rgba(0, 27, 46, 0.16) !important;

  background: #ffffff !important;

  text-align: center !important;
}

.cf-map-modal-empty-icon {
  width: 72px !important;
  height: 72px !important;

  margin-bottom: 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.1) !important;
  color: #ff7a00 !important;

  font-size: 30px !important;
}

.cf-map-modal-empty h6 {
  margin: 0 0 8px !important;

  color: #001b2e !important;

  font-size: 24px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}

.cf-map-modal-empty p {
  max-width: 420px !important;
  margin: 0 !important;

  color: #64748b !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

@media (max-width: 575.98px) {
  .cf-map-modal .modal-dialog {
    padding: 8px !important;
  }

  .cf-map-modal-header {
    min-height: 112px !important;
    padding: 24px 22px !important;
  }

  .cf-map-modal-body {
    padding: 10px !important;
  }

  .cf-map-modal-iframe {
    min-height: 360px !important;
    border-radius: 20px !important;
  }

  .cf-map-modal-footer {
    align-items: stretch !important;
  }

  .cf-map-modal-address {
    width: 100% !important;
  }

  .cf-map-modal-btn {
    width: 100% !important;
  }
}
/* ==========================================================
   CHECKINFANS - Promo compacta en encabezado detalle
   ========================================================== */

.cf-detail-title-promo {
  position: relative !important;

  width: fit-content !important;
  max-width: 100% !important;

  margin-top: 12px !important;
  margin-bottom: 0 !important;

  padding: 8px 12px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255, 122, 0, 0.2) !important;

  background: rgba(255, 122, 0, 0.085) !important;
  color: #ff7a00 !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  cursor: help !important;

  box-shadow: 0 10px 22px rgba(255, 122, 0, 0.08) !important;
}

.cf-detail-title-promo i {
  font-size: 12px !important;
}

.cf-detail-title-promo span {
  color: #001b2e !important;
  font-weight: 900 !important;
}

.cf-detail-title-promo strong {
  max-width: 260px !important;

  display: block !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;

  color: #ff7a00 !important;
  font-weight: 900 !important;
}

.cf-detail-title-promo:hover {
  background: #ff7a00 !important;
  color: #ffffff !important;
  border-color: #ff7a00 !important;
}

.cf-detail-title-promo:hover span,
.cf-detail-title-promo:hover strong,
.cf-detail-title-promo:hover i {
  color: #ffffff !important;
}

/* Tooltip propio de la promo superior */
.cf-detail-title-promo[data-promo-tooltip]:hover::after {
  content: attr(data-promo-tooltip) !important;

  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 10px) !important;
  z-index: 60 !important;

  width: max-content !important;
  max-width: 280px !important;

  padding: 10px 12px !important;

  border-radius: 14px !important;

  background: #001b2e !important;
  color: #ffffff !important;

  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;

  white-space: normal !important;

  box-shadow: 0 16px 38px rgba(0, 27, 46, 0.24) !important;
}

.cf-detail-title-promo[data-promo-tooltip]:hover::before {
  content: "" !important;

  position: absolute !important;
  left: 18px !important;
  bottom: calc(100% + 4px) !important;
  z-index: 61 !important;

  border-width: 6px 6px 0 6px !important;
  border-style: solid !important;
  border-color: #001b2e transparent transparent transparent !important;
}

/* Ajuste de espacio antes de fotos */
body .cf-detail-title-promo + * {
  margin-top: 0 !important;
}

/* ==========================================================
   HOME CHECKINFANS - Promo Fixture Mundial 2026
   Ubicación: después de beneficios y antes de filtros
   ========================================================== */

body .cf-worldcup-home-promo {
  position: relative !important;
  padding: 30px 24px 22px !important;
  background: var(--cf-refresh-bg) !important;
}

body .cf-worldcup-home-promo-inner {
  position: relative !important;
  width: min(100%, 1320px) !important;
  min-height: 280px !important;
  margin: 0 auto !important;
  padding: 34px 42px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 290px !important;
  align-items: center !important;
  gap: 26px !important;

  overflow: hidden !important;

  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 28px !important;

  background:
    radial-gradient(circle at 88% 18%, rgba(255, 122, 0, 0.2), transparent 26%),
    linear-gradient(
      135deg,
      var(--cf-refresh-blue) 0%,
      var(--cf-refresh-blue-soft) 100%
    ) !important;

  box-shadow: 0 20px 52px rgba(0, 27, 46, 0.16) !important;
}

body .cf-worldcup-home-promo-copy {
  position: relative !important;
  z-index: 3 !important;
  max-width: 780px !important;
}

body .cf-worldcup-home-promo-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 7px 13px !important;

  border: 1px solid rgba(255, 122, 0, 0.3) !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.12) !important;
  color: var(--cf-refresh-orange) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
}

body .cf-worldcup-home-promo h2 {
  max-width: 760px !important;
  margin: 18px 0 0 !important;

  color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.055em !important;
}

body .cf-worldcup-home-promo h2 span {
  color: var(--cf-refresh-orange) !important;
}

body .cf-worldcup-home-promo-text {
  max-width: 690px !important;
  margin: 18px 0 0 !important;

  color: rgba(255, 255, 255, 0.86) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

body .cf-worldcup-home-promo-note {
  margin: 10px 0 0 !important;

  color: rgba(255, 255, 255, 0.62) !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body .cf-worldcup-home-promo-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  min-height: 48px !important;
  margin-top: 22px !important;
  padding: 12px 20px !important;

  border: 0 !important;
  border-radius: 16px !important;

  background: var(--cf-refresh-orange) !important;
  color: #ffffff !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body .cf-worldcup-home-promo-button span {
  font-size: 20px !important;
  line-height: 1 !important;
  transition: transform 0.18s ease !important;
}

body .cf-worldcup-home-promo-button:hover {
  transform: translateY(-2px) !important;
  background: var(--cf-refresh-orange-dark) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 38px rgba(255, 122, 0, 0.34) !important;
}

body .cf-worldcup-home-promo-button:hover span {
  transform: translateX(3px) !important;
}

body .cf-worldcup-home-promo-visual {
  position: relative !important;
  z-index: 2 !important;

  min-height: 220px !important;

  display: grid !important;
  place-items: center !important;
}

body .cf-worldcup-home-promo-visual img {
  position: relative !important;
  z-index: 2 !important;

  display: block !important;

  width: 230px !important;
  height: 230px !important;
  max-width: 100% !important;

  object-fit: contain !important;

  filter: drop-shadow(0 20px 24px rgba(0, 0, 0, 0.24)) !important;
}

body .cf-worldcup-home-promo-ring {
  position: absolute !important;

  width: 260px !important;
  height: 260px !important;

  border: 34px solid rgba(255, 122, 0, 0.1) !important;
  border-radius: 999px !important;
}

@media (max-width: 767.98px) {
  body .cf-worldcup-home-promo {
    padding: 20px 14px 16px !important;
  }

  body .cf-worldcup-home-promo-inner {
    min-height: auto !important;
    padding: 26px 22px !important;

    grid-template-columns: 1fr !important;
    gap: 10px !important;

    border-radius: 22px !important;
  }

  body .cf-worldcup-home-promo h2 {
    font-size: 38px !important;
  }

  body .cf-worldcup-home-promo-text {
    font-size: 15px !important;
  }

  body .cf-worldcup-home-promo-visual {
    min-height: 145px !important;
  }

  body .cf-worldcup-home-promo-visual img {
    width: 150px !important;
    height: 150px !important;
  }

  body .cf-worldcup-home-promo-ring {
    width: 178px !important;
    height: 178px !important;
    border-width: 24px !important;
  }
}
/* ==========================================================
   HOME CHECKINFANS - Promo flotante Fixture Mundial 2026
   No ocupa espacio dentro del flujo de la página.
   ========================================================== */

body .cf-worldcup-floating-promo {
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 1600 !important;

  width: min(440px, calc(100vw - 28px)) !important;

  font-family: "Manrope", Arial, sans-serif !important;
}

/* ------------------------------
   Card expandida
   ------------------------------ */

body .cf-worldcup-floating-card {
  position: relative !important;

  min-height: 204px !important;
  padding: 24px 132px 22px 24px !important;

  overflow: hidden !important;

  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 24px !important;

  background:
    radial-gradient(
      circle at 94% 18%,
      rgba(255, 122, 0, 0.22),
      transparent 29%
    ),
    linear-gradient(
      135deg,
      var(--cf-refresh-blue, #001b2e),
      var(--cf-refresh-blue-soft, #06243a)
    ) !important;

  box-shadow: 0 22px 56px rgba(0, 27, 46, 0.28) !important;
}

body .cf-worldcup-floating-close {
  position: absolute !important;
  top: 11px !important;
  right: 12px !important;
  z-index: 5 !important;

  width: 32px !important;
  height: 32px !important;

  display: grid !important;
  place-items: center !important;

  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;

  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1 !important;

  cursor: pointer !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease !important;
}

body .cf-worldcup-floating-close:hover {
  transform: scale(1.06) !important;
  background: rgba(255, 122, 0, 0.86) !important;
}

body .cf-worldcup-floating-copy {
  position: relative !important;
  z-index: 3 !important;
}

body .cf-worldcup-floating-badge {
  display: inline-flex !important;
  align-items: center !important;

  min-height: 27px !important;
  padding: 6px 10px !important;

  border: 1px solid rgba(255, 122, 0, 0.34) !important;
  border-radius: 999px !important;

  background: rgba(255, 122, 0, 0.13) !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;

  font-size: 9.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
}

body .cf-worldcup-floating-copy h2 {
  margin: 14px 0 0 !important;

  color: #ffffff !important;

  font-family: "Montserrat", "Manrope", Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
  line-height: 0.98 !important;
}

body .cf-worldcup-floating-copy h2 span {
  display: block !important;
  color: var(--cf-refresh-orange, #ff7a00) !important;
}

body .cf-worldcup-floating-copy p {
  margin: 13px 0 0 !important;

  color: rgba(255, 255, 255, 0.78) !important;

  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body .cf-worldcup-floating-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;

  min-height: 40px !important;
  margin-top: 16px !important;
  padding: 10px 14px !important;

  border-radius: 13px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-size: 12.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 12px 26px rgba(255, 122, 0, 0.24) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease !important;
}

body .cf-worldcup-floating-link:hover {
  transform: translateY(-1px) !important;
  background: var(--cf-refresh-orange-dark, #e56d00) !important;
  color: #ffffff !important;
}

body .cf-worldcup-floating-link span {
  font-size: 18px !important;
  line-height: 1 !important;
}

body .cf-worldcup-floating-visual {
  position: absolute !important;
  right: 18px !important;
  bottom: 20px !important;
  z-index: 2 !important;

  width: 112px !important;
  height: 112px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 999px !important;
  border: 17px solid rgba(255, 122, 0, 0.1) !important;
}

body .cf-worldcup-floating-visual img {
  display: block !important;

  width: 88px !important;
  height: 88px !important;

  object-fit: contain !important;

  filter: drop-shadow(0 12px 16px rgba(0, 0, 0, 0.24)) !important;
}

/* ------------------------------
   Botón minimizado
   ------------------------------ */

body .cf-worldcup-floating-minimized {
  display: none !important;
  align-items: center !important;
  gap: 8px !important;
}

body .cf-worldcup-floating-reopen {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  min-height: 62px !important;
  padding: 9px 14px 9px 10px !important;

  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 18px !important;

  background: var(--cf-refresh-blue, #001b2e) !important;
  color: #ffffff !important;

  box-shadow: 0 18px 42px rgba(0, 27, 46, 0.24) !important;

  cursor: pointer !important;
}

body .cf-worldcup-floating-reopen img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

body .cf-worldcup-floating-reopen span {
  display: grid !important;
  gap: 3px !important;
  text-align: left !important;
}

body .cf-worldcup-floating-reopen strong {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body .cf-worldcup-floating-reopen small {
  color: rgba(255, 255, 255, 0.66) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

body .cf-worldcup-floating-open-direct {
  width: 52px !important;
  height: 52px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 999px !important;

  background: var(--cf-refresh-orange, #ff7a00) !important;
  color: #ffffff !important;

  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(255, 122, 0, 0.28) !important;

  transition:
    transform 0.18s ease,
    background-color 0.18s ease !important;
}

body .cf-worldcup-floating-open-direct:hover {
  transform: translateX(2px) !important;
  background: var(--cf-refresh-orange-dark, #e56d00) !important;
  color: #ffffff !important;
}

/* Estado cerrado */
body .cf-worldcup-floating-promo.is-minimized .cf-worldcup-floating-card {
  display: none !important;
}

body .cf-worldcup-floating-promo.is-minimized .cf-worldcup-floating-minimized {
  display: flex !important;
}

/* Mobile */
@media (max-width: 575.98px) {
  body .cf-worldcup-floating-promo {
    right: 12px !important;
    bottom: 12px !important;

    width: min(390px, calc(100vw - 24px)) !important;
  }

  body .cf-worldcup-floating-card {
    min-height: 190px !important;
    padding: 20px 92px 18px 18px !important;
    border-radius: 20px !important;
  }

  body .cf-worldcup-floating-copy h2 {
    font-size: 24px !important;
  }

  body .cf-worldcup-floating-copy p {
    font-size: 12px !important;
  }

  body .cf-worldcup-floating-visual {
    right: 10px !important;
    bottom: 18px !important;

    width: 82px !important;
    height: 82px !important;

    border-width: 12px !important;
  }

  body .cf-worldcup-floating-visual img {
    width: 62px !important;
    height: 62px !important;
  }
}
/* ==========================================================
   HOME CHECKINFANS - Vibración periódica promo Mundial 2026
   El cartel permanece quieto y llama la atención cada 12 segundos.
   ========================================================== */

/* Cartel expandido */
body .cf-worldcup-floating-promo:not(.is-minimized) .cf-worldcup-floating-card {
  animation: cfWorldCupPromoShake 12s ease-in-out infinite;
}

/* Acceso compacto cuando el usuario cerró el cartel */
body .cf-worldcup-floating-promo.is-minimized .cf-worldcup-floating-reopen {
  animation: cfWorldCupPromoShake 12s ease-in-out infinite;
}

/* Pausa la vibración mientras el usuario interactúa */
body .cf-worldcup-floating-card:hover,
body .cf-worldcup-floating-reopen:hover {
  animation-play-state: paused !important;
}

/* Vibración corta: sucede solamente al final de cada ciclo */
@keyframes cfWorldCupPromoShake {
  0%,
  84%,
  100% {
    transform: translateX(0);
  }

  86% {
    transform: translateX(-5px);
  }

  88% {
    transform: translateX(5px);
  }

  90% {
    transform: translateX(-4px);
  }

  92% {
    transform: translateX(4px);
  }

  94% {
    transform: translateX(-2px);
  }

  96% {
    transform: translateX(2px);
  }

  98% {
    transform: translateX(0);
  }
}

/* Respeta la configuración de accesibilidad del dispositivo */
@media (prefers-reduced-motion: reduce) {
  body .cf-worldcup-floating-card,
  body .cf-worldcup-floating-reopen {
    animation: none !important;
  }
}

/* ==========================================================
   HOME - Dock flotante para consulta múltiple
   ========================================================== */

body #botonEnviarConsultaContainer {
  position: fixed !important;
  left: 50% !important;
  bottom: 24px !important;
  z-index: 1040 !important;

  width: min(720px, calc(100% - 40px)) !important;
  margin: 0 !important;

  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

body #botonEnviarConsultaContainer #abrirModalConsultaMultiple {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 54px !important;
  padding: 14px 24px !important;

  pointer-events: auto !important;
}

body.cf-consulta-multiple-activa {
  padding-bottom: 92px !important;
}

@media (max-width: 575.98px) {
  body #botonEnviarConsultaContainer {
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    width: calc(100% - 28px) !important;
  }

  body #botonEnviarConsultaContainer #abrirModalConsultaMultiple {
    width: 100% !important;
    min-height: 52px !important;
    padding: 13px 18px !important;
    font-size: 13px !important;
  }

  body.cf-consulta-multiple-activa {
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
  }
}
/* ==========================================================
   HOME - Alojamientos consultados dentro de la pestaña actual
   ========================================================== */

.card-alojamiento .cf-listing-card-v2 {
  position: relative;
}

.card-alojamiento.cf-listing-card-consultada .cf-listing-card-v2 {
  border: 1px solid rgba(25, 135, 84, 0.38) !important;
  box-shadow: 0 10px 26px rgba(25, 135, 84, 0.11) !important;
}

.cf-card-consulta-enviada-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 14;

  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 7px 10px;
  border: 1px solid rgba(25, 135, 84, 0.28);
  border-radius: 999px;

  background: rgba(232, 247, 239, 0.96);
  color: #146c43;

  font-size: 12px;
  font-weight: 700;
  line-height: 1;

  box-shadow: 0 5px 14px rgba(25, 135, 84, 0.14);
}

.cf-card-consulta-enviada-badge i {
  font-size: 13px;
}

#botonEnviarConsultaContainer .cf-consulta-multiple-resumen {
  width: max-content;
  max-width: 100%;
  margin: 0 auto 8px;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;

  background: rgba(25, 36, 55, 0.92);
  color: #fff;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;

  box-shadow: 0 8px 20px rgba(11, 22, 38, 0.18);
}

@media (max-width: 575.98px) {
  .cf-card-consulta-enviada-badge {
    top: 8px;
    left: 8px;
    padding: 6px 9px;
    font-size: 11px;
  }

  #botonEnviarConsultaContainer .cf-consulta-multiple-resumen {
    max-width: calc(100vw - 36px);
    font-size: 11px;
  }
}
/* ==========================================================
   CHECKINFANS - Selección múltiple visible
   Complemento para el dock flotante ya instalado.
   Pegar al final de assets/css/checkinfans-refresh.css
   ========================================================== */

:root {
  --cf-consulta-accent: #f58220;
  --cf-consulta-accent-soft: rgba(245, 130, 32, 0.12);
  --cf-consulta-accent-shadow: rgba(245, 130, 32, 0.32);
}

/* Card elegida para la próxima tanda */
.card-alojamiento.cf-listing-card-seleccionada .cf-listing-card-v2,
.card-alojamiento.cf-listing-card-seleccionada {
  border-color: var(--cf-consulta-accent) !important;
  box-shadow:
    0 0 0 2px var(--cf-consulta-accent-soft),
    0 12px 28px var(--cf-consulta-accent-shadow) !important;
}

.card-alojamiento.cf-listing-card-seleccionada .cf-listing-card-v2 {
  background:
    linear-gradient(
      0deg,
      var(--cf-consulta-accent-soft),
      var(--cf-consulta-accent-soft)
    ),
    #ffffff;
}

/* Badge naranja: seleccionado ahora */
.cf-card-seleccionada-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 8;

  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 7px 10px;
  border-radius: 999px;

  color: #ffffff;
  background: var(--cf-consulta-accent);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);

  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

/* Asegurar contexto para badges */
.card-alojamiento .cf-listing-card-v2,
.card-alojamiento {
  position: relative;
}

/* Dock: acciones secundarias */
.cf-consulta-multiple-controles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 10px;
}

.cf-consulta-multiple-secundario {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  padding: 9px 12px;
  border: 1px solid rgba(31, 41, 55, 0.16);
  border-radius: 999px;

  color: #374151;
  background: #ffffff;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.cf-consulta-multiple-secundario:hover,
.cf-consulta-multiple-secundario:focus-visible {
  border-color: var(--cf-consulta-accent);
  box-shadow: 0 6px 14px var(--cf-consulta-accent-soft);
  transform: translateY(-1px);
}

.cf-consulta-multiple-limpiar {
  color: #b42318;
}

/* Panel flotante para revisar y quitar seleccionados */
.cf-consulta-multiple-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  left: 0;

  max-height: min(420px, calc(100vh - 190px));
  overflow: hidden;

  border: 1px solid rgba(31, 41, 55, 0.14);
  border-radius: 18px;

  background: #ffffff;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.24);
}

.cf-consulta-multiple-panel-header,
.cf-consulta-multiple-panel-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: 14px 16px;
  background: #ffffff;
}

.cf-consulta-multiple-panel-header {
  border-bottom: 1px solid rgba(31, 41, 55, 0.1);
}

.cf-consulta-multiple-panel-header div {
  display: grid;
  gap: 3px;
}

.cf-consulta-multiple-panel-header strong {
  color: #1f2937;
  font-size: 15px;
}

.cf-consulta-multiple-panel-header span {
  color: #6b7280;
  font-size: 12px;
}

.cf-consulta-multiple-panel-cerrar {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;

  border: 0;
  border-radius: 50%;

  color: #374151;
  background: rgba(31, 41, 55, 0.06);
}

.cf-consulta-multiple-panel-lista {
  max-height: min(300px, calc(100vh - 290px));
  overflow-y: auto;
}

.cf-consulta-multiple-panel-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  padding: 11px 16px;
  border-bottom: 1px solid rgba(31, 41, 55, 0.07);
}

.cf-consulta-multiple-panel-item span {
  min-width: 0;
  overflow: hidden;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cf-consulta-multiple-panel-quitar,
.cf-consulta-multiple-panel-limpiar {
  border: 0;
  color: #b42318;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
}

.cf-consulta-multiple-panel-quitar:hover,
.cf-consulta-multiple-panel-limpiar:hover {
  text-decoration: underline;
}

.cf-consulta-multiple-panel-footer {
  justify-content: flex-end;
  border-top: 1px solid rgba(31, 41, 55, 0.1);
}

/* Evitar que el panel se corte por el contenedor flotante */
#botonEnviarConsultaContainer {
  overflow: visible !important;
}

@media (max-width: 575.98px) {
  .cf-consulta-multiple-controles {
    gap: 6px;
  }

  .cf-consulta-multiple-secundario {
    flex: 1 1 calc(50% - 6px);
    padding: 9px 8px;
    font-size: 12px;
  }

  .cf-consulta-multiple-panel {
    right: 0;
    left: 0;
    border-radius: 14px;
  }

  .cf-consulta-multiple-panel-item {
    padding: 10px 12px;
  }

  .cf-card-seleccionada-badge {
    top: 9px;
    left: 9px;
    padding: 6px 8px;
    font-size: 11px;
  }
}
/* ==========================================================
   CHECKINFANS - Ajuste visual selección múltiple V2
   Pegar AL FINAL de assets/css/checkinfans-refresh.css
   Corrige:
   - Card seleccionada: estilo más limpio sobre la card interna.
   - Badge "Seleccionado": esquina superior derecha.
   - Botones secundarios del dock: área clickeable real y estable.
   ========================================================== */

/* ----------------------------------------------------------
   1. Card seleccionada: no dibujar borde sobre la columna.
      El resaltado se aplica solamente a la card interna.
   ---------------------------------------------------------- */
body #contenedorCabanas .card-alojamiento.cf-listing-card-seleccionada {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body
  #contenedorCabanas
  .card-alojamiento.cf-listing-card-seleccionada
  > .cf-listing-card-v2 {
  position: relative !important;

  border-color: rgba(255, 122, 0, 0.78) !important;
  background: #ffffff !important;

  box-shadow:
    0 0 0 3px rgba(255, 122, 0, 0.14),
    0 18px 42px rgba(255, 122, 0, 0.18) !important;

  transform: translateY(-2px) !important;
}

/* Halo interior muy sutil: mantiene el estilo prolijo de la card */
body
  #contenedorCabanas
  .card-alojamiento.cf-listing-card-seleccionada
  > .cf-listing-card-v2::after {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;

  border-radius: inherit !important;
  box-shadow: inset 0 0 0 1px rgba(255, 122, 0, 0.16) !important;

  pointer-events: none !important;
}

/* Mantener el contenido y los controles por encima del halo */
body
  #contenedorCabanas
  .card-alojamiento.cf-listing-card-seleccionada
  > .cf-listing-card-v2
  > * {
  position: relative;
  z-index: 2;
}

/* ----------------------------------------------------------
   2. Badge naranja: mover a la esquina superior derecha.
   ---------------------------------------------------------- */
body #contenedorCabanas .cf-card-seleccionada-badge {
  top: 12px !important;
  right: 12px !important;
  left: auto !important;

  z-index: 16 !important;

  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 999px !important;

  background: #ff7a00 !important;
  color: #ffffff !important;

  box-shadow: 0 8px 20px rgba(255, 122, 0, 0.28) !important;
}

/* ----------------------------------------------------------
   3. Dock: habilitar correctamente el click de los botones
      secundarios y evitar desplazamientos al hacer hover.
   ---------------------------------------------------------- */
body #botonEnviarConsultaContainer {
  overflow: visible !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-controles,
body #botonEnviarConsultaContainer .cf-consulta-multiple-secundario,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel button {
  pointer-events: auto !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-controles {
  position: relative !important;
  z-index: 4 !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-panel {
  z-index: 6 !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-secundario,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel button {
  cursor: pointer !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-secundario:hover,
body
  #botonEnviarConsultaContainer
  .cf-consulta-multiple-secundario:focus-visible {
  transform: none !important;
  border-color: rgba(255, 122, 0, 0.72) !important;
  background: rgba(255, 122, 0, 0.06) !important;
  box-shadow: 0 6px 16px rgba(255, 122, 0, 0.14) !important;
}

@media (max-width: 575.98px) {
  body #contenedorCabanas .cf-card-seleccionada-badge {
    top: 9px !important;
    right: 9px !important;
    left: auto !important;

    padding: 6px 8px !important;
    font-size: 11px !important;
  }
}
/* ==========================================================
   CHECKINFANS - Selección múltiple V3
   Pegar AL FINAL de assets/css/checkinfans-refresh.css

   Corrige y mejora:
   - Badge naranja "Seleccionado": tamaño normal, arriba a la derecha.
   - Badge verde "Consulta enviada": tamaño normal, arriba a la derecha.
   - Card consultada: halo y sombra verde suave.
   - Checkbox consultado: visible, marcado en verde y bloqueado.
   - Panel "Ver seleccionados": enlaces institucionales y acciones naranjas.
   ========================================================== */

:root {
  --cf-consulta-naranja: #ff7a00;
  --cf-consulta-naranja-soft: rgba(255, 122, 0, 0.14);
  --cf-consulta-naranja-shadow: rgba(255, 122, 0, 0.2);

  --cf-consulta-verde: #198754;
  --cf-consulta-verde-soft: rgba(25, 135, 84, 0.14);
  --cf-consulta-verde-shadow: rgba(25, 135, 84, 0.2);

  --cf-consulta-azul: #001b2e;
}

/* ----------------------------------------------------------
   1. Badge naranja: compacto y a la derecha.
   ---------------------------------------------------------- */
body #contenedorCabanas .cf-card-seleccionada-badge {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  z-index: 18 !important;

  width: max-content !important;
  max-width: calc(100% - 64px) !important;
  min-width: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 999px !important;

  background: var(--cf-consulta-naranja) !important;
  color: #ffffff !important;

  box-shadow: 0 8px 20px rgba(255, 122, 0, 0.28) !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  pointer-events: none !important;
}

/* ----------------------------------------------------------
   2. Card seleccionada: halo naranja solamente en la ficha.
   ---------------------------------------------------------- */
body #contenedorCabanas .card-alojamiento.cf-listing-card-seleccionada {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body
  #contenedorCabanas
  .card-alojamiento.cf-listing-card-seleccionada
  > .cf-listing-card-v2 {
  position: relative !important;
  border-color: rgba(255, 122, 0, 0.82) !important;
  background: #ffffff !important;
  box-shadow:
    0 0 0 3px var(--cf-consulta-naranja-soft),
    0 18px 42px var(--cf-consulta-naranja-shadow) !important;
  transform: translateY(-2px) !important;
}

/* ----------------------------------------------------------
   3. Card ya consultada: halo verde equivalente.
   ---------------------------------------------------------- */
body #contenedorCabanas .card-alojamiento.cf-listing-card-consultada {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body
  #contenedorCabanas
  .card-alojamiento.cf-listing-card-consultada
  > .cf-listing-card-v2 {
  position: relative !important;
  border-color: rgba(25, 135, 84, 0.72) !important;
  background: #ffffff !important;
  box-shadow:
    0 0 0 3px var(--cf-consulta-verde-soft),
    0 18px 42px var(--cf-consulta-verde-shadow) !important;
  transform: translateY(-2px) !important;
}

body #contenedorCabanas .cf-card-consulta-enviada-badge {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  z-index: 18 !important;

  width: max-content !important;
  max-width: calc(100% - 64px) !important;
  min-width: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-radius: 999px !important;

  background: var(--cf-consulta-verde) !important;
  color: #ffffff !important;

  box-shadow: 0 8px 20px rgba(25, 135, 84, 0.25) !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  pointer-events: none !important;
}

/* ----------------------------------------------------------
   4. Checkbox ya consultado: visible, verde y bloqueado.
   ---------------------------------------------------------- */
body
  #contenedorCabanas
  .card-alojamiento
  .form-check.position-absolute.cf-form-check-consultada {
  display: grid !important;
  opacity: 1 !important;
  background: rgba(232, 247, 239, 0.98) !important;
  box-shadow: 0 8px 20px rgba(25, 135, 84, 0.18) !important;
}

body
  #contenedorCabanas
  .card-alojamiento
  .seleccionar-cabana.cf-checkbox-consultada:disabled,
body
  #contenedorCabanas
  .card-alojamiento
  .seleccionar-cabana.cf-checkbox-consultada:checked:disabled {
  opacity: 1 !important;
  cursor: not-allowed !important;
  background-color: var(--cf-consulta-verde) !important;
  border-color: var(--cf-consulta-verde) !important;
  box-shadow: none !important;
}

/* ----------------------------------------------------------
   5. Panel "Ver seleccionados": identidad institucional.
   ---------------------------------------------------------- */
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-item {
  gap: 12px !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-link {
  min-width: 0 !important;
  overflow: hidden !important;

  color: var(--cf-consulta-azul) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-link:hover,
body
  #botonEnviarConsultaContainer
  .cf-consulta-multiple-panel-link:focus-visible {
  color: var(--cf-consulta-naranja) !important;
  text-decoration: underline !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-limpiar,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-quitar,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-limpiar {
  color: var(--cf-consulta-naranja) !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-quitar,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-limpiar {
  cursor: pointer !important;
  font-weight: 800 !important;
}

body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-quitar:hover,
body #botonEnviarConsultaContainer .cf-consulta-multiple-panel-limpiar:hover,
body
  #botonEnviarConsultaContainer
  .cf-consulta-multiple-panel-quitar:focus-visible,
body
  #botonEnviarConsultaContainer
  .cf-consulta-multiple-panel-limpiar:focus-visible {
  color: #d86100 !important;
  text-decoration: underline !important;
}

@media (max-width: 575.98px) {
  body #contenedorCabanas .cf-card-seleccionada-badge,
  body #contenedorCabanas .cf-card-consulta-enviada-badge {
    top: 9px !important;
    right: 9px !important;
    left: auto !important;

    max-width: calc(100% - 58px) !important;
    padding: 6px 8px !important;
    font-size: 11px !important;
  }
}
/* ==========================================================
   HOME MOBILE - Orden final de flotantes
   Fixture abajo / consulta múltiple arriba
   ========================================================== */

@media (max-width: 575.98px) {
  /*
    El acceso al fixture queda pegado al borde inferior.
    Mantiene visible la promo sin tapar la consulta múltiple.
  */
  body .cf-worldcup-floating-promo {
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    z-index: 1600 !important;
  }

  /*
    El dock de alojamientos seleccionados sube por encima
    del acceso compacto al fixture.
  */
  body #botonEnviarConsultaContainer {
    bottom: calc(88px + env(safe-area-inset-bottom)) !important;
    z-index: 1700 !important;
  }

  /*
    Evita que el final del listado quede oculto detrás
    de los dos elementos flotantes.
  */
  body.cf-consulta-multiple-activa {
    padding-bottom: calc(190px + env(safe-area-inset-bottom)) !important;
  }

  /*
    Cuando la promo del fixture está expandida, el dock de consulta
    sube un poco más. Los navegadores móviles modernos aplican :has().
  */
  body:has(.cf-worldcup-floating-promo:not(.is-minimized))
    #botonEnviarConsultaContainer {
    bottom: calc(218px + env(safe-area-inset-bottom)) !important;
  }

  body.cf-consulta-multiple-activa:has(
      .cf-worldcup-floating-promo:not(.is-minimized)
    ) {
    padding-bottom: calc(330px + env(safe-area-inset-bottom)) !important;
  }
}
/* ==========================================================
   HOME MOBILE - Ocultar flotantes mientras hay un modal abierto
   Evita que fixture y consulta múltiple queden encima del modal.
   Bootstrap agrega .modal-open al body mientras el modal está visible.
   ========================================================== */

@media (max-width: 575.98px) {
  body.modal-open .cf-worldcup-floating-promo,
  body.modal-open #botonEnviarConsultaContainer,
  body.modal-open .cf-consulta-multiple-panel {
    display: none !important;
  }

  /*
    Refuerzo específico para el modal de consulta.
    Funciona también si por algún motivo no se aplicara .modal-open al body.
  */
  body:has(#formulariocontacto.show) .cf-worldcup-floating-promo,
  body:has(#formulariocontacto.show) #botonEnviarConsultaContainer,
  body:has(#formulariocontacto.show) .cf-consulta-multiple-panel {
    display: none !important;
  }
}

