[data-hidden="true"] {
  display: none;
}

.ft-mol-ticker {
  display: none;
}

/* Accesibilidad: Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* =============================
              LAYOUT PIANO
              ============================= */
.ft-layout-grid-flex__row.bloque-unico {
    padding-right: 0;
  padding-left: 0;
  max-width: none;
}

.ft-layout-grid-flex__row.bloque-unico > .ft-layout-grid-flex__colXs-12{
  padding-right: 0;
  padding-left: 0;
}


/* =============================
                  BREADCRUMB
                  ============================= */
.ft-org-breadcrumb {
  margin-bottom: 0;
  background-color: #F2F2F2;
}


@media (min-width: 1024px) {
  .ft-org-breadcrumb .ft-mol-breadcrumb__list {
    padding-bottom: 0;
  }
}

.ft-org-breadcrumb .ft-mol-breadcrumb {
  padding-bottom: 1.2rem;
  border-bottom: 0;
}

@media (min-width: 1024px) {
  .ft-org-breadcrumb .ft-mol-breadcrumb {
    padding-bottom: 0;
  }
}


/* =============================
                  PESTAÑAS
                  ============================= */

.ft-org-cerca-tabs {
  padding: 0;
  margin-bottom: 2rem;
  background-color: #F2F2F2;
  border-bottom: 1px solid #e5e5e5;
}


.ft-org-cerca-tabs__nav {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  justify-content: center;
  max-width: 1280px;
}


.ft-org-cerca-tabs__tab {
  flex: 1;
  justify-content: center;
  background: none;
  border: none;
  padding: 0 0 .5rem 0;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #5a5a5a;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
  outline: none;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  /* ✅ Mejora UX móvil: eliminar delay de 300ms en touch */
  touch-action: manipulation;
}

@media (min-width: 360px) {
  .ft-org-cerca-tabs__tab {
    font-size: 1.6rem;
  }
}


@media (min-width: 1024px) {
  .ft-org-cerca-tabs__tab {
    padding-bottom: 1.5rem;
    font-size: 1.8rem;
  }
}

.ft-org-cerca-tabs__tab:hover {
  color: #666666;
}

.ft-org-cerca-tabs__tab:focus-visible {
  outline: none;
}

.ft-org-cerca-tabs__tab--active {
  color: var(--color-primary);
  font-weight: 700;
  border-bottom-color: var(--color-primary);
}

.ft-org-cerca-tabs__tab[data-tab="favorites"]::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 14px;
  background-color: #666666;
  mask-image: url("data:image/svg+xml,%3Csvg width='15' height='14' viewBox='0 0 15 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.69536 0.527705C6.99451 -0.175902 8.00564 -0.175902 8.30479 0.527705L9.723 3.8636C9.84828 4.15825 10.1289 4.36018 10.4517 4.38802L14.2023 4.71115C14.9657 4.77693 15.2784 5.71173 14.7045 6.21249L11.7811 8.76319C11.5368 8.97641 11.4335 9.30634 11.5134 9.61829L12.3612 12.926C12.5508 13.6655 11.7456 14.2583 11.0845 13.8851L11.0531 13.8666L7.96225 11.9633C7.67946 11.7892 7.3207 11.7892 7.0379 11.9633L3.94687 13.8666L3.91551 13.8851C3.25444 14.2582 2.44919 13.6655 2.63874 12.926L3.48657 9.61829C3.56653 9.30634 3.46323 8.97642 3.21885 8.76319L0.295503 6.21249C-0.278395 5.71174 0.0343002 4.77697 0.797724 4.71115L4.54827 4.38802C4.85093 4.36194 5.11651 4.18281 5.25176 3.91771L5.27698 3.8636L6.69536 0.527705ZM6.24256 4.26267C5.96693 4.91096 5.34968 5.35533 4.63945 5.41653L1.29347 5.70471L3.91279 7.99008C4.45042 8.45918 4.67762 9.18489 4.50175 9.87117L3.76009 12.7643L6.48336 11.0877L6.54216 11.0529C7.13491 10.7163 7.86525 10.7162 8.45799 11.0529L8.51679 11.0877L11.2397 12.7641L10.4984 9.87117C10.3225 9.18489 10.5497 8.45918 11.0874 7.99008L13.7065 5.70471L10.3607 5.41653C9.65047 5.35533 9.03305 4.91097 8.75742 4.26267L7.49991 1.30518L6.24256 4.26267Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='15' height='14' viewBox='0 0 15 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.69536 0.527705C6.99451 -0.175902 8.00564 -0.175902 8.30479 0.527705L9.723 3.8636C9.84828 4.15825 10.1289 4.36018 10.4517 4.38802L14.2023 4.71115C14.9657 4.77693 15.2784 5.71173 14.7045 6.21249L11.7811 8.76319C11.5368 8.97641 11.4335 9.30634 11.5134 9.61829L12.3612 12.926C12.5508 13.6655 11.7456 14.2583 11.0845 13.8851L11.0531 13.8666L7.96225 11.9633C7.67946 11.7892 7.3207 11.7892 7.0379 11.9633L3.94687 13.8666L3.91551 13.8851C3.25444 14.2582 2.44919 13.6655 2.63874 12.926L3.48657 9.61829C3.56653 9.30634 3.46323 8.97642 3.21885 8.76319L0.295503 6.21249C-0.278395 5.71174 0.0343002 4.77697 0.797724 4.71115L4.54827 4.38802C4.85093 4.36194 5.11651 4.18281 5.25176 3.91771L5.27698 3.8636L6.69536 0.527705ZM6.24256 4.26267C5.96693 4.91096 5.34968 5.35533 4.63945 5.41653L1.29347 5.70471L3.91279 7.99008C4.45042 8.45918 4.67762 9.18489 4.50175 9.87117L3.76009 12.7643L6.48336 11.0877L6.54216 11.0529C7.13491 10.7163 7.86525 10.7162 8.45799 11.0529L8.51679 11.0877L11.2397 12.7641L10.4984 9.87117C10.3225 9.18489 10.5497 8.45918 11.0874 7.99008L13.7065 5.70471L10.3607 5.41653C9.65047 5.35533 9.03305 4.91097 8.75742 4.26267L7.49991 1.30518L6.24256 4.26267Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  margin-left: 0.2rem;
}

@media (min-width: 1024px) {
  .ft-org-cerca-tabs__tab[data-tab="favorites"]::after {
    margin-left: 0.4rem;
  }
}

.ft-org-cerca-tabs__tab--active[data-tab="favorites"]::after {
  background-color: var(--color-primary);
}

/* Badge contador de favoritos */
.ft-org-cerca-tabs__tab[data-tab="favorites"] .ft-org-cerca-tabs__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  height: 1.8rem;
  padding: 0 0.5rem;
  margin-left: 0.4rem;
  background-color: var(--color-primary);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 999px;
  vertical-align: super;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  /* ✅ Optimización para animaciones GSAP avanzadas */
  transform-origin: center center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  /* ✅ Transición suave para cambios de color */
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
  /* ✅ Asegurar que el badge tenga posición relativa para efectos 3D */
  position: relative;
  /* ✅ Permitir que los hijos tengan perspectiva 3D */
  perspective: 100px;
}

.ft-org-cerca-tabs__tab[data-tab="favorites"] .ft-org-cerca-tabs__badge:empty {
  display: none;
}

/* ✅ Animación pulse sutil para el badge cuando cambia */
.ft-org-cerca-tabs__badge.is-updating {
  animation: badgePulse 0.4s ease-out;
}

@keyframes badgePulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.15);
  }

  100% {
    transform: scale(1);
  }
}

/* ✅ Respetar preferencias de accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .ft-org-cerca-tabs__badge.is-updating {
    animation: none;
  }
}

.ft-org-cerca-tabs__tab:not(.ft-org-cerca-tabs__tab--active)[data-tab="favorites"] .ft-org-cerca-tabs__badge {
  background-color: #999999;
}

.ft-org-cerca-tabs__tab--active[data-tab="favorites"] .ft-org-cerca-tabs__badge {
  background-color: var(--color-primary);
}


/* ✅ CONSOLIDADO: padding movido a la definición principal arriba */

/* Contenido de las pestañas */
.ft-org-cerca-tabs-content {
  position: relative;
}

.ft-org-cerca-tabs-panel {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.ft-org-cerca-tabs-panel--active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

/* ✅ Animación de entrada para el panel activo */
.ft-org-cerca-tabs-panel--active.ft-org-cerca-tabs-panel--entering {
  animation: tabPanelFadeIn 0.3s ease-out;
}

@keyframes tabPanelFadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ✅ Respetar preferencias de accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .ft-org-cerca-tabs-panel {
    transition: none;
  }

  .ft-org-cerca-tabs-panel--active.ft-org-cerca-tabs-panel--entering {
    animation: none;
  }
}

/* Contenido de favoritos */
.ft-org-cerca-favorites-content {
  min-height: 20rem;
}

.ft-org-cerca-favorites-content .ft-text {
  font-size: 1.4rem;
  line-height: 2.2rem;
}

@media (min-width: 768px) {
  .ft-org-cerca-favorites-content .ft-text {
    margin-bottom: 3.5rem;
    font-size: 1.6rem;
  }
}

.ft-org-cerca-favorites-list {
  padding: 0;
}

/* ✅ Animación escalonada para items de favoritos al renderizar */
.ft-org-cerca-favorites-list .ft-list__item {
  opacity: 0;
  transform: translateY(10px);
  animation: favoriteItemFadeIn 0.4s ease-out forwards;
}

.ft-org-cerca-favorites-list .ft-list__item:nth-child(1) {
  animation-delay: 0.05s;
}

.ft-org-cerca-favorites-list .ft-list__item:nth-child(2) {
  animation-delay: 0.1s;
}

.ft-org-cerca-favorites-list .ft-list__item:nth-child(3) {
  animation-delay: 0.15s;
}

.ft-org-cerca-favorites-list .ft-list__item:nth-child(4) {
  animation-delay: 0.2s;
}

.ft-org-cerca-favorites-list .ft-list__item:nth-child(5) {
  animation-delay: 0.25s;
}

.ft-org-cerca-favorites-list .ft-list__item:nth-child(n+6) {
  animation-delay: 0.3s;
}

@keyframes favoriteItemFadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ✅ Animación de eliminación para items de favoritos */
.ft-org-cerca-favorites-list .ft-list__item.is-removing {
  animation: favoriteItemRemove 0.3s ease-in forwards;
  pointer-events: none;
}

@keyframes favoriteItemRemove {
  0% {
    opacity: 1;
    transform: translateX(0) scale(1);
    max-height: 100px;
    margin-bottom: 0;
  }

  50% {
    opacity: 0.5;
    transform: translateX(-20px) scale(0.95);
  }

  100% {
    opacity: 0;
    transform: translateX(-30px) scale(0.9);
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* ✅ Respetar preferencias de accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .ft-org-cerca-favorites-list .ft-list__item {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .ft-org-cerca-favorites-list .ft-list__item.is-removing {
    animation: none;
  }
}

.ft-org-cerca-favorites-list:empty::after {
  content: "Aún no has marcado ninguna localidad como favorita";
  display: block;
  padding: 3rem 1.6rem;
  text-align: center;
  color: #999999;
  font-size: 1.4rem;
}

/* MODAL: Confirmación de favoritos */
.ft-org-cerca-favorite-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.6rem;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.ft-org-cerca-favorite-modal.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ft-org-cerca-favorite-modal__content {
  background-color: #fff;
  border: 2px solid #4CAF50;
  border-radius: .5rem;
  padding: 1.2rem 4rem 1.2rem 1.6rem;
  /* ✅ Padding-right aumentado para el botón de cierre */
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  width: 100%;
  max-width: 600px;
  position: relative;
  box-shadow: none;
}

.ft-org-cerca-favorite-modal__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
}

.ft-org-cerca-favorite-modal__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.ft-org-cerca-favorite-modal__text {
  flex: 1;
  min-width: 0;
  padding-right: 0;
  /* ✅ Asegurar que no hay padding adicional que interfiera */
}

.ft-org-cerca-favorite-modal__message {
  margin: 0 0 0.6rem 0;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #333333;
  font-weight: 700;
}

.ft-org-cerca-favorite-modal__submessage {
  margin: 0;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #333333;
  font-weight: 400;
}

.ft-org-cerca-favorite-modal__link {
  color: #333333;
  text-decoration: underline;
  font-weight: 400;
}

.ft-org-cerca-favorite-modal__link:hover {
  color: #000000;
}

.ft-org-cerca-favorite-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

.ft-org-cerca-favorite-modal__close:hover {
  opacity: 1;
}

.ft-org-cerca-favorite-modal__close:focus-visible {
  outline: 2px solid #4CAF50;
  outline-offset: 2px;
  border-radius: 0.2rem;
}

.ft-org-cerca-favorite-modal__close svg {
  width: 16px;
  height: 16px;
  display: block;
}

@media (max-width: 768px) {
  .ft-org-cerca-favorite-modal {
    padding: 1.2rem;
  }

  .ft-org-cerca-favorite-modal__content {
    padding: 1.2rem 3.5rem 1.2rem 1.6rem;
    /* ✅ Padding-right ajustado para móvil */
    gap: 1.2rem;
  }

  .ft-org-cerca-favorite-modal__message {
    font-size: 1.3rem;
    line-height: 1.8rem;
    margin-bottom: 0.4rem;
  }

  .ft-org-cerca-favorite-modal__submessage {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }

  .ft-org-cerca-favorite-modal__close {
    top: 0.8rem;
    right: 0.8rem;
  }
}

@media (min-width: 1024px) {
  .ft-org-cerca-favorite-modal__content {
    padding: 1.6rem 5rem 1.6rem 2rem;
    gap: 1.6rem;
    max-width: 700px;
  }

  .ft-org-cerca-favorite-modal__icon {
    width: 28px;
    height: 28px;
  }

  .ft-org-cerca-favorite-modal__message {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 0.8rem;
  }

  .ft-org-cerca-favorite-modal__submessage {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .ft-org-cerca-favorite-modal__close {
    width: 24px;
    height: 24px;
    top: 1.2rem;
    right: 1.2rem;
  }

  .ft-org-cerca-favorite-modal__close svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 768px) {
  .ft-mol-headband--section .ft-mol-headband__title {
    font-size: 2rem;
    line-height: 2.2rem;
  }
}

/* PRESELECTION BOX */
.ft-list__item--municipios {
  font-weight: bold;
  color: var(--color-primary);
}

.ft-readMore {
  pointer-events: none;
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
}

.ft-readMore__content {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
  position: relative;
}

.ft-readMore--higher .ft-readMore__content {
  -webkit-line-clamp: unset;
  line-clamp: unset;
  max-height: 20rem;
  overflow: hidden;
}

/* Asegurar que cuando NO está abierto, tenga las limitaciones */
.ft-readMore--higher:not(.is-open):not([open]) .ft-readMore__content,
#ftReadMoreBox.ft-readMore--higher:not(.is-open) #ftReadMoreContent {
  max-height: 20rem !important;
  overflow: hidden !important;
}

/* Cuando está abierto, eliminar la limitación de altura */
.ft-readMore--higher.is-open .ft-readMore__content,
.ft-readMore--higher[open] .ft-readMore__content,
#ftReadMoreBox.ft-readMore--higher.is-open #ftReadMoreContent {
  max-height: none !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

.ft-readMore__content>* {
  position: relative;
  z-index: 0;
}

.ft-readMore__content a {
  pointer-events: auto;
}

.ft-readMore__content .ft-list__favorite-btn {
  pointer-events: auto !important;
}

.ft-readMore__content:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  max-height: 20rem;
  position: absolute;
  bottom: 0;
  background: linear-gradient(to bottom, transparent, var(--color-white) 99%);
  pointer-events: none;
}

.ft-readMore__btn {
  position: relative;
  margin: 1rem 0;
  display: inline-block;
  width: fit-content;
  cursor: pointer;
  pointer-events: auto;
  font-family: var(--font-stack);
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 2rem;
  letter-spacing: 0;
}

.ft-readMore__btn .ft-btn,
.ft-readMore__btn .ft-link {
  position: relative;
}

.ft-readMore__btn .ft-btn:after,
.ft-readMore__btn .ft-link:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  width: 100%;
  transform: translate(-50%, -50%);
  min-width: 44px;
  min-height: 44px;
  background-color: rgba(0, 0, 0, 0);
  border-radius: inherit;
}

.ft-readMore--has-button .ft-readMore__btn {
  left: 50%;
  transform: translateX(-50%);
}

.ft-readMore--not-less.ft-readMore[open] .ft-readMore__btn {
  display: none;
}

.ft-readMore[open] .ft-readMore__btn .ft-btn:before,
.ft-readMore[open] .ft-readMore__btn .ft-link:before {
  content: "Ver menos ⏶";
}

.ft-readMore__btn .ft-btn {
  border: 0;
}

.ft-readMore__btn .ft-btn:hover,
.ft-readMore__btn .ft-btn:focus-visible {
  color: var(--color-white);
}

.ft-readMore[open] .ft-readMore__content {
  -webkit-line-clamp: unset;
  max-height: unset;
  overflow: visible;
}

.ft-readMore[open] .ft-readMore__content:after {
  content: none;
}

@media (min-width: 768px) {
  .ft-org-box-preselection {
    margin-top: 3rem;
    margin-bottom: 6rem;
  }
}

/* Mobile: espacio adicional cuando el bloque está abierto */
@media (max-width: 1023px) {
  .ft-org-box-preselection {
    margin-bottom: 2rem;
  }
  
  .ft-org-box-preselection #ftReadMoreBox.is-open,
  .ft-org-box-preselection .ft-readMore.is-open {
    margin-bottom: 4rem;
  }
  
  /* Asegurar espacio después del bloque cuando está abierto */
  .ft-org-box-preselection + .sticky-sentinel {
    margin-top: 1rem;
  }
  
  .ft-org-box-preselection #ftReadMoreBox.is-open ~ *,
  .ft-org-box-preselection .ft-readMore.is-open ~ * {
    margin-top: 0;
  }
}

.ft-org-box-preselection .ft-text {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

@media (min-width: 768px) {
  .ft-org-box-preselection .ft-text {
    margin-bottom: 3.5rem;
    font-size: 1.6rem;
  }
}

.ft-org-box-preselection .ft-readMore__btn .ft-btn:before {
  display: none;
}

.ft-org-box-preselection .ft-readMore__btn .ft-btn:after {
  display: none;
}

#ftReadMoreBox {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
}

#ftReadMoreContent {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
  position: relative;
}

/* Cuando NO está abierto, asegurar max-height y overflow hidden */
#ftReadMoreBox:not(.is-open) #ftReadMoreContent,
#ftReadMoreBox.ft-readMore--higher:not(.is-open) #ftReadMoreContent {
  max-height: 20rem;
  overflow: hidden;
}

#ftReadMoreContent:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  max-height: 20rem;
  position: absolute;
  bottom: 0;
  background: linear-gradient(to bottom, transparent, var(--color-white) 99%);
  pointer-events: none;
}

#ftReadMoreBtn {
  position: relative;
  margin: 2rem 0 1rem 0;
  display: inline-block;
  width: fit-content;
  cursor: pointer;
  pointer-events: auto;
  font-family: var(--font-stack);
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 2rem;
  letter-spacing: 0;
  left: 50%;
  transform: translateX(-50%);
}

#ftReadMoreBox.is-open #ftReadMoreContent {
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}

#ftReadMoreBox.is-open #ftReadMoreContent:after {
  content: none;
}

/* Mobile: evitar desbordamiento cuando está abierto */
@media (max-width: 1023px) {
  /* Asegurar que ft-readMore--higher no limite la altura cuando está abierto */
  #ftReadMoreBox.ft-readMore--higher.is-open #ftReadMoreContent,
  .ft-readMore--higher.is-open .ft-readMore__content {
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
  }
  
  #ftReadMoreBox.is-open #ftReadMoreContent {
    padding-bottom: 0;
    margin-bottom: 1rem;
  }
  
  /* Asegurar espacio en la lista dentro del contenido */
  #ftReadMoreBox.is-open #ftReadMoreContent .ft-list {
    padding-bottom: 0;
  }
  
  #ftReadMoreBox.is-open #ftReadMoreContent .ft-list__item:last-child {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
  }
  
  #ftReadMoreBox.is-open {
    margin-bottom: 4rem;
  }
  
  /* Asegurar que el contenedor padre tenga suficiente espacio cuando está abierto */
  .ft-org-box-preselection #ftReadMoreBox.is-open {
    margin-bottom: 0;
  }
}

/* Desktop: mostrar todo el contenido y ocultar botón */
@media (min-width: 1024px) {
  #ftReadMoreBtn {
    display: none;
  }

  #ftReadMoreContent {
    -webkit-line-clamp: unset;
    max-height: unset;
    overflow: visible;
  }

  #ftReadMoreContent:after {
    content: none;
  }
}

/* FORM */
.ft-mol-form__input,
.ft-mol-form__select {
  padding: 0.4rem 1rem;
  height: 4rem;
  width: 100%;
  border-style: solid;
  border-width: 0.1rem;
  border-color: var(--color-mediumGrey);
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  transition: all 0.3s ease;
  min-height: 4rem;
  font-size: 1.6rem;
  text-align: left;
  background: var(--color-white);
}

.fourty .ft-mol-form__input,
.fourty .ft-mol-form__select {
  border-radius: 0.4rem;
}

.ft-mol-form__input:focus,
.ft-mol-form__select:focus {
  border-style: solid;
  border-width: 0.13rem;
  border-color: var(--color-form);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.ft-mol-form__supporting-text {
  margin-top: 0.2rem;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  font-size: 1.2rem;
}

/* CONTENEDOR PRINCIPAL */
.ft-mol-form--multiselect {
  position: sticky;
  top: 0;
  z-index: 15;
  padding: 2.1rem 1rem 1rem 1rem;
  border: 1px solid var(--color-lightGrey);
  background-color: var(--color-lightGrey);
  border-radius: 0.6rem;
}

@media (min-width: 768px) {
  .ft-mol-form--multiselect {
    padding: 2rem 4rem 1rem 4rem;
  }
}

/* TEXTO DESCRIPTIVO */
.ft-mol-form--multiselect .ft-text {
  display: none;
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.6rem;
}

.ft-mol-form--multiselect.is-stuck .ft-text {
  display: none;
}

@media (min-width: 768px) {
  .ft-mol-form--multiselect.is-stuck {
    margin-right: 0;
    margin-left: 0;
  }
}

.ft-mol-form--multiselect.is-stuck {
  margin: 0 -0.8rem;
  border-radius: 0;
}

/* REGIONES */
.ft-mol-form__region+.ft-mol-form__region {
  margin-top: 4rem;
}

.ft-mol-form__region {
  transition: opacity 0.3s ease;
  overflow: visible;
}

.ft-mol-form__region[aria-hidden="true"] {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  opacity: 0;
}

.ft-mol-form__region[aria-hidden="false"] {
  opacity: 1;
  max-height: none;
  overflow: visible;
}

.ft-mol-form__region h3 {
  padding: 1rem 0 1rem 0;
}

.ft-mol-form__region h3:first-of-type {
  margin-top: 0;
  margin-bottom: 0;
}

.ft-mol-form--multiselect .ft-list__item {
  scroll-margin-top: 6rem;
}

/* AUTOCOMPLETADO */
.ft-mol-form--multiselect .ft-mol-form__autocomplete-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 0;
  margin-bottom: 0.5rem;
}

.ft-mol-form--multiselect .ft-mol-form__autocomplete-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2rem;
  z-index: 5;
  height: 1.4rem;
  width: 1.4rem;
  margin-top: auto;
  margin-bottom: auto;
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/img/icons/form-solid-light-search.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: invert(42%) sepia(0%) saturate(0%) hue-rotate(239deg) brightness(93%) contrast(89%);
  pointer-events: none;
}

.ft-mol-form--multiselect .autocomplete-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  padding-left: 0.8rem;
  font-family: inherit;
  font-size: 1rem;
  color: var(--color-lightGrey);
  z-index: 1;
  white-space: nowrap;
  overflow: hidden;
  user-select: none;
}

#autocompleteSuggestion {
  position: absolute;
  top: 100%;
  left: 0;
  color: var(--color-darkGrey);
  font-size: 0.9rem;
  padding: 0.2rem;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 1;
}

.ft-mol-form--multiselect .ft-mol-form__input {
  position: relative;
  background-color: var(--color-white);
  color: var(--color-black);
  z-index: 2;
  width: 100%;
  padding-right: 5rem;
  padding-left: 4.5rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 10rem;
}

.ft-mol-form--multiselect .ft-mol-form__toggle {
  position: relative;
}

/* TAGS SELECCIONADAS */
.ft-mol-form--multiselect .ft-mol-form__tagsbox {
  display: none;
}

@media (min-width: 768px) {
  .ft-mol-form--multiselect .ft-mol-form__tagsbox {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
    overflow-x: auto;
  }
}

.ft-mol-form--multiselect .ft-mol-form__tag {
  display: inline-flex;
  align-items: center;
  font-size: 1.1rem;
  line-height: 1.2rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: 999px;
  margin-top: .5rem;
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
  border: none;
}

.ft-mol-form--multiselect .ft-mol-form__tag:after {
  content: "";
  display: inline-flex;
  width: 1.8rem;
  height: 1.8rem;
  margin-left: 0.5rem;
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/img/icons/nav-solid-light-close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.2rem;
  filter: invert(1);
}

.ft-mol-form--multiselect .ft-mol-form__tag button {
  margin-left: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
  font-weight: bold;
  font-size: 2rem;
  line-height: 2rem;
  color: transparent;
}

/* DROPDOWN OPCIONES */
.ft-mol-form--multiselect .ft-mol-form__dropdown {
  border: 1px solid var(--color-lightGrey);
  border-radius: 4px;
  padding: 0.5rem;
  position: relative;
}

.ft-mol-form--multiselect .ft-mol-form__dropdown.collapsed .ft-mol-form__dropdown-result {
  display: none;
}

#optionsList {
  max-height: 200px;
  overflow-y: auto;
  margin-top: 0.5rem;
  list-style: none;
  padding: 0;
}

.ft-mol-form--multiselect .ft-mol-form__option {
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 0.4rem;
  transition: background 0.2s;
  min-height: 4.4rem;
}

/* FILTER BOX*/
.ft-mol-form__filterbox {
  display: flex;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.is-stuck .ft-mol-form__filterbox {
  margin-top: 0;
}

/* CHIP SELECTOR */
.ft-mol-form__chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.4rem 1.2rem;
  font-size: 1rem;
  background-color: var(--color-white);
  color: var(--color-black);
  border: 1px solid var(--color-lightGrey);
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border 0.2s, box-shadow 0.2s;
  user-select: none;
  /* ✅ Mejora UX móvil: eliminar delay de 300ms en touch y asegurar tamaño mínimo */
  touch-action: manipulation;
}

.ft-mol-form__chip.is-active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.ft-mol-form__chip:focus,
.ft-mol-form__tag:focus {
  box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
  z-index: 2;
}

.ft-mol-form__chipsbox {
  order: 2;
  overflow-x: auto;
  display: flex;
  gap: 0.5rem;
  overflow-y: hidden;
  white-space: nowrap;
  flex-wrap: nowrap;
  align-items: baseline;
  max-width: 100%;
  scrollbar-width: none;
  scrollbar-color: var(--color-primary);
  cursor: grab;
  position: relative;
}

.ft-mol-form__chipsbox::-webkit-scrollbar {
  height: 0.8rem;
  background-color: var(--color-lightGrey);
}

.ft-mol-form__chipsbox::-webkit-scrollbar-thumb {
  background: var(--color-primary);
  border-radius: 0.4rem;
}

.ft-mol-form__chipsbox.is-dragging {
  cursor: grabbing;
}

.ft-mol-form__filters-clear {
  order: 1;
  flex-shrink: 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 10rem;
  margin-right: 1.5rem;
}

.ft-mol-form__counter {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  line-height: 1.4rem;
}

/* CLEAR BTN */
.ft-mol-form__clear-btn {
  color: var(--color-white);
  background-color: var(--color-primary);
  border: none;
  border-radius: 1rem;
  padding: 0.4rem 1rem;
  cursor: pointer;
  font-size: 1.2rem;
  line-height: 1.4rem;
}

.ft-mol-form__clear-btn:hover {
  background-color: var(--color-black);
}

.ft-mol-form__clear-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--color-darkGrey);
  color: var(--color-white);
}

/* LOADER */
.ft-mol-form__loader {
  display: none;
  justify-content: center;
  align-items: center;
  padding: 1rem;
}

.ft-mol-form__loader.is-active {
  display: flex;
}

.ft-mol-form__loader-spinner {
  border: 4px solid var(--color-lightGrey);
  border-top: 4px solid var(--color-primary);
  border-radius: 50%;
  width: 3.2rem;
  height: 3.2rem;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* LISTA */
.ft-mol-form__list-search {
  margin-top: 2.5rem;
}

@media (min-width: 768px) {
  .ft-mol-form__list-search {
    padding: 0 4rem;
  }
}

.ft-mol-form__list-search .ft-list,
.ft-org-box-preselection .ft-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.ft-mol-form__list-search .ft-list--primary,
.ft-org-box-preselection .ft-list--primary,
.ft-org-cerca-favorites-list .ft-list--primary {
  padding: 0;
  margin: 0;
}

/* ✅ SOLUCIÓN MEJORADA: CSS Grid en lugar de column-count para mejor alineación */
/* Grid ofrece mejor control y alineación que column-count, evitando desajustes */
.ft-mol-form__list-search .ft-list--primary.ft-helper-property-column-count-xs,
.ft-org-box-preselection .ft-list--primary.ft-helper-property-column-count-xs,
.ft-org-cerca-favorites-list .ft-list--primary.ft-helper-property-column-count-xs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  /* Desactivar column-count si está aplicado desde otros estilos */
  column-count: unset;
  column-gap: unset;
  column-fill: unset;
}

@media (min-width: 1024px) {

  .ft-mol-form__list-search .ft-list--primary.ft-helper-property-column-count-xs,
  .ft-org-box-preselection .ft-list--primary.ft-helper-property-column-count-xs,
  .ft-org-cerca-favorites-list .ft-list--primary.ft-helper-property-column-count-xs {
    grid-template-columns: repeat(2, 1fr);
    /* ✅ Usar gap en lugar de column-gap para mejor compatibilidad con Grid */
    gap: 0 2rem;
    /* row-gap column-gap */
  }
}

/* Asegurar que los items mantengan su altura y no se rompan */
.ft-mol-form__list-search .ft-list--primary.ft-helper-property-column-count-xs .ft-list__item,
.ft-org-box-preselection .ft-list--primary.ft-helper-property-column-count-xs .ft-list__item,
.ft-org-cerca-favorites-list .ft-list--primary.ft-helper-property-column-count-xs .ft-list__item {
  break-inside: avoid;
  page-break-inside: avoid;
  /* Asegurar que cada item ocupe solo una celda del grid */
  grid-column: auto;
}

/* Ocultar pseudo-elementos :before de ft-list--primary y sus items */
.ft-mol-form__list-search .ft-list--primary::before,
.ft-mol-form__list-search .ft-list--primary:before,
.ft-org-box-preselection .ft-list--primary::before,
.ft-org-box-preselection .ft-list--primary:before,
.ft-org-cerca-favorites-list .ft-list--primary::before,
.ft-org-cerca-favorites-list .ft-list--primary:before,
.ft-mol-form__list-search .ft-list--primary .ft-list__item::before,
.ft-mol-form__list-search .ft-list--primary .ft-list__item:before,
.ft-mol-form__list-search .ft-list--primary .ft-list__link::before,
.ft-mol-form__list-search .ft-list--primary .ft-list__link:before,
.ft-org-box-preselection .ft-list--primary .ft-list__item::before,
.ft-org-box-preselection .ft-list--primary .ft-list__item:before,
.ft-org-box-preselection .ft-list--primary .ft-list__link::before,
.ft-org-box-preselection .ft-list--primary .ft-list__link:before,
.ft-org-cerca-favorites-list .ft-list--primary .ft-list__item::before,
.ft-org-cerca-favorites-list .ft-list--primary .ft-list__item:before,
.ft-org-cerca-favorites-list .ft-list--primary .ft-list__link::before,
.ft-org-cerca-favorites-list .ft-list--primary .ft-list__link:before {
  display: none !important;
  content: none !important;
}

.ft-mol-form__list-search .ft-list--primary {
  padding-left: 1.4rem;
}

@media (min-width: 1024px) {
  .ft-mol-form__list-search .ft-list--primary {
    padding-left: 0;
  }
}

/* INPUT + OPCIONES RESPONSIVE */
@media (max-width: 600px) {

  .ft-mol-form__tag,
  .ft-mol-form__option {
    font-size: 1.2rem;
    padding: 1rem;
  }

  .ft-mol-form__tag,
  .ft-mol-form__option {
    min-width: 4.4rem;
    min-height: 4.4rem;
  }
}

/* ✅ CONSOLIDADO: .sr-only ya está definido arriba (línea 9-20) con white-space: nowrap */

/* MENSAJE DE ERROR */
.ft-mol-form__error-msg {
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1.4rem;
  color: var(--color-functional-error);
}

/* ...código existente... */
#resultsCounter {
  display: none;
  padding-top: 0.5rem;
}

/* ...código existente... */
.ft-mol-form__chip.is-disabled,
.ft-mol-form__chip:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* =============================
                     DESKTOP: Mostrar todo el contenido y ocultar botón "Leer más"
                  ============================= */
@media (min-width: 1024px) {
  .ft-org-box-preselection .ft-readMore__btn {
    display: none;
  }

  .ft-org-box-preselection .ft-readMore__content {
    -webkit-line-clamp: unset;
    max-height: unset;
    overflow: visible;
  }

  .ft-org-box-preselection .ft-readMore__content:after {
    content: none;
  }
}

/* Estilos exclusivos para el bloque ft-readMore refactorizado usando clases */
.ft-org-box-preselection .ft-readMore {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
}

.ft-org-box-preselection .ft-readMore__content {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
  position: relative;
}

/* Asegurar que cuando NO está abierto, tenga max-height y overflow hidden */
.ft-org-box-preselection .ft-readMore:not(.is-open):not([open]) .ft-readMore__content,
.ft-org-box-preselection .ft-readMore--higher:not(.is-open):not([open]) .ft-readMore__content {
  max-height: 20rem !important;
  overflow: hidden !important;
}

.ft-org-box-preselection .ft-readMore__content:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  max-height: 20rem;
  position: absolute;
  bottom: 0;
  background: linear-gradient(to bottom, transparent, var(--color-white) 99%);
  pointer-events: none;
}

.ft-org-box-preselection .ft-readMore__btn {
  position: relative;
  margin: 0;
  display: inline-block;
  width: fit-content;
  cursor: pointer;
  pointer-events: auto;
  font-family: var(--font-stack);
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 2rem;
  letter-spacing: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* Estado abierto */
.ft-org-box-preselection .ft-readMore.is-open .ft-readMore__content,
.ft-org-box-preselection .ft-readMore--higher.is-open .ft-readMore__content {
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}

.ft-org-box-preselection .ft-readMore.is-open .ft-readMore__content:after {
  content: none;
}

/* Mobile: evitar desbordamiento cuando está abierto */
@media (max-width: 1023px) {
  /* Asegurar que ft-readMore--higher no limite la altura cuando está abierto */
  .ft-org-box-preselection .ft-readMore--higher.is-open .ft-readMore__content {
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
  }
  
  .ft-org-box-preselection .ft-readMore.is-open .ft-readMore__content {
    padding-bottom: 4rem;
    margin-bottom: 1rem;
  }
  
  /* Asegurar espacio en la lista dentro del contenido */
  .ft-org-box-preselection .ft-readMore.is-open .ft-readMore__content .ft-list {
    padding-bottom: 2rem;
  }
  
  .ft-org-box-preselection .ft-readMore.is-open .ft-readMore__content .ft-list__item:last-child {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
  }
  
  .ft-org-box-preselection .ft-readMore.is-open {
    margin-bottom: 4rem;
  }
}

/* Desktop: mostrar todo el contenido y ocultar botón */
@media (min-width: 1024px) {
  .ft-org-box-preselection .ft-readMore__btn {
    display: none;
  }

  .ft-org-box-preselection .ft-readMore__content {
    -webkit-line-clamp: unset;
    max-height: unset;
    overflow: visible;
  }

  .ft-org-box-preselection .ft-readMore__content:after {
    content: none;
  }
}

/* =============================
                  IMAGEN DECOTIVA PIE
                  ============================= */
.cronicas-img-decorativa {
  position: relative;
}

.cronicas-img-decorativa::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  margin-right: auto;
  margin-left: auto;
  background-color: var(--color-lightGrey);
}

.cronicas-img-decorativa .ft-helper-img-rd {
  width: 100%;
  max-width: 450px;
}

@media (min-width: 1024px) {
  .cronicas-img-decorativa .ft-helper-img-rd {
    margin-left: auto;
  }
}

/* =============================
                  FAVORITOS - ESTRELLAS
                  ============================= */

/* Contenedor del item de lista con estrella - Solo en el contexto de cerca */
.ft-mol-form__list-search .ft-list__item,
.ft-org-cerca-favorites-list .ft-list__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
  margin-bottom: 0;
  padding: 1.2rem 1.6rem 1.2rem 0;
  border-bottom: 1px solid #e5e5e5;
  min-height: 5.6rem;
  background-color: #ffffff;
  transition: background-color 0.2s ease;
  /* ✅ Asegurar que los elementos hijos puedan tener z-index independiente */
  isolation: isolate;
}

/* Items más compactos en la sección de preselection (ORG: FEATURES MEDIAS) */
.ft-org-box-preselection .ft-list__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1.2rem 0.6rem 0;
  border-bottom: 1px solid #e5e5e5;
  min-height: auto;
  background-color: #ffffff;
  transition: background-color 0.2s ease;
  /* ✅ Asegurar que los elementos hijos puedan tener z-index independiente */
  isolation: isolate;
}

.ft-list--primary .ft-list__item:not(:last-of-type) {
  margin-top: 0;
  margin-bottom: 0;
}

/* ✅ Eliminado: border-bottom: none para el último item
   Ahora todos los items tienen la línea gris por debajo */

.ft-mol-form__list-search .ft-list__item:hover,
.ft-org-box-preselection .ft-list__item:hover,
.ft-org-cerca-favorites-list .ft-list__item:hover {
  background-color: #fafafa;
}

.ft-mol-form__list-search .ft-list__item.is-favorite:hover,
.ft-org-box-preselection .ft-list__item.is-favorite:hover,
.ft-org-cerca-favorites-list .ft-list__item.is-favorite:hover {
  background-color: #eeeeee;
}

.ft-mol-form__list-search .ft-list__item .ft-list__link,
.ft-org-cerca-favorites-list .ft-list__item .ft-list__link {
  flex: 1;
  margin-right: 1.2rem;
  padding: 0 0 0 1rem;
  text-decoration: none;
  color: inherit;
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
  z-index: 1;
  /* ✅ Asegurar que el link no bloquee el botón de favorito */
  pointer-events: auto;
  /* ✅ Mejora UX móvil: eliminar delay de 300ms en touch */
  touch-action: manipulation;
}

.ft-org-box-preselection .ft-list__item .ft-list__link {
  flex: 1;
  margin-right: 1.2rem;
  padding: 0 0 0 1rem;
  text-decoration: none;
  color: inherit;
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
  z-index: 1;
  /* ✅ Asegurar que el link no bloquee el botón de favorito */
  pointer-events: auto;
}

.ft-org-box-preselection .ft-list__item--municipios .ft-list__link {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Botón de favorito */
.ft-list__favorite-btn {
  background: none;
  border: none;
  padding: 0.8rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4.4rem;
  min-height: 4.4rem;
  transition: transform 0.2s ease;
  outline: none;
  flex-shrink: 0;
  pointer-events: auto !important;
  position: relative;
  z-index: 20 !important;
  /* ✅ Aumentado para estar por encima del link */
  margin: -0.8rem;
  /* ✅ Optimización para GSAP magnetic hover */
  will-change: transform;
  transform-style: preserve-3d;
  /* ✅ Mejora UX móvil: eliminar delay de 300ms en touch */
  touch-action: manipulation;
}

/* 🎯 PRINCIPIO 2: ANTICIPATION - Hover con pequeño movimiento preparatorio */
/* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Transición suave */
.ft-list__favorite-btn:hover {
  transform: scale(1.1);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ft-list__favorite-btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 0.4rem;
}

/* Icono de estrella */
.ft-list__favorite-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  line-height: 0;
  position: relative;
  /* ✅ Necesario para los pseudo-elementos de animación */
  overflow: visible;
  /* ✅ Permitir que las ondas sónar se vean */
}

.ft-list__favorite-icon svg {
  width: 15px;
  height: 14px;
  display: block;
  transition: transform 0.3s ease, fill 0.3s ease;
  transform-origin: center center;
}

.ft-list__favorite-icon svg path {
  transition: fill 0.3s ease;
}

/* ✅ Animación espectacular cuando se marca como favorito */
/* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Easing mejorado */
.ft-list__favorite-icon.is-animating svg {
  animation: favoriteStarPop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform, opacity;
  /* ✅ Optimización GPU */
  transform-origin: center center;
  /* 🎯 PRINCIPIO 6: ARCS - Asegurar rotaciones naturales */
}

/* ✅ Versión móvil más rápida */
@media (max-width: 768px) {
  .ft-list__favorite-icon.is-animating svg {
    animation-duration: 0.5s;
  }
}

/* ✅ Animación cuando se desmarca */
/* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Easing suave para desmarcar */
.ft-list__favorite-icon.is-removing svg {
  animation: favoriteStarShrink 0.4s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  transform-origin: center center;
  /* 🎯 PRINCIPIO 6: ARCS - Rotaciones naturales */
}

/* ✅ Efecto de resplandor alrededor de la estrella cuando se marca */
.ft-list__favorite-icon.is-animating::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--color-primary, rgba(245, 48, 54, 0.5)) 0%, transparent 70%);
  animation: favoriteGlow 0.6s ease-out;
  pointer-events: none;
  z-index: -1;
  opacity: 0.6;
}

/* ✅ Partículas/chispas alrededor de la estrella */
/* OPTIMIZADO: Escalonado con delay para no competir con glow */
.ft-list__favorite-icon.is-animating::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 25px;
  margin-top: -12.5px;
  margin-left: -12.5px;
  background: radial-gradient(circle, var(--color-primary, #F53036) 0%, transparent 70%);
  border-radius: 50%;
  animation: favoriteSparkles 0.6s ease-out 0.15s;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  filter: blur(2px);
}

/* ✅ Efecto "sónar" muy sutil detrás de la estrella cuando está marcada como favorito */
/* Solo se aplica cuando NO está animando para evitar conflictos con los pseudo-elementos de animación */
.ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-icon:not(.is-animating)::before,
.ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-icon:not(.is-animating)::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border: 1px solid rgba(200, 200, 200, 0.5);
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  animation: favoriteSonar 2s ease-out infinite;
  opacity: 0;
}

/* ✅ Segunda onda sónar con delay - solo cuando NO está animando */
.ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-icon:not(.is-animating)::after,
.ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-icon:not(.is-animating)::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border: 1px solid rgba(200, 200, 200, 0.4);
  border-radius: 50%;
  pointer-events: none;
  z-index: -2;
  animation: favoriteSonar 2s ease-out infinite 0.5s;
  opacity: 0;
}

@keyframes favoriteSonar {
  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Onda que acelera suavemente */
  /* OPTIMIZADO: Opacidad inicial reducida para ser menos distractor */
  0% {
    transform: scale(1);
    opacity: 0.4;
  }

  /* 🎯 PRINCIPIO 7: OVERLAPPING ACTION - Opacidad cambia mientras escala */
  50% {
    opacity: 0.2;
  }

  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Desaceleración al expandirse */
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

/* ✅ Versión móvil: ondas más pequeñas y rápidas */
@media (max-width: 768px) {

  .ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-icon::before,
  .ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-icon::before,
  .ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-icon::after,
  .ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-icon::after {
    width: 18px;
    height: 18px;
    margin-top: -9px;
    margin-left: -9px;
    border-width: 0.5px;
    animation-duration: 1.5s;
  }

  @keyframes favoriteSonar {
    0% {
      transform: scale(1);
      opacity: 0.5;
    }

    50% {
      opacity: 0.2;
    }

    100% {
      transform: scale(2);
      opacity: 0;
    }
  }
}

/* ✅ Respetar preferencias de accesibilidad */
@media (prefers-reduced-motion: reduce) {

  .ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-icon::before,
  .ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-icon::before,
  .ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-icon::after,
  .ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-icon::after {
    display: none;
  }
}

@keyframes favoriteStarPop {
  /* 🎯 PRINCIPIO 2: ANTICIPATION - Pequeño movimiento preparatorio */
  0% {
    transform: scale(0.65) rotate(-12deg);
    opacity: 0.5;
  }

  /* 🎯 PRINCIPIO 1: SQUASH AND STRETCH - Comprimir antes de estirar */
  8% {
    transform: scaleX(0.8) scaleY(0.5) rotate(-8deg);
    opacity: 0.7;
  }

  /* 🎯 PRINCIPIO 11: EXAGGERATION - Estiramiento exagerado (sutil) */
  20% {
    transform: scaleX(1.5) scaleY(1.7) rotate(12deg);
    opacity: 1;
  }

  /* 🎯 PRINCIPIO 7: FOLLOW THROUGH - Primer rebote */
  /* OPTIMIZADO: Reducido de 4 rebotes a 2 más pronunciados */
  35% {
    transform: scale(1.1) rotate(-3deg);
  }

  /* 🎯 PRINCIPIO 7: FOLLOW THROUGH - Segundo rebote más pequeño */
  55% {
    transform: scale(1.08) rotate(2deg);
  }

  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Estabilización suave */
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}

/* ✅ Versión optimizada para móvil (más rápida y menos intensa) */
@media (max-width: 768px) {
  @keyframes favoriteStarPop {
    /* 🎯 PRINCIPIO 2: ANTICIPATION - Más sutil en móvil */
    0% {
      transform: scale(0.75) rotate(-8deg);
      opacity: 0.6;
    }

    /* 🎯 PRINCIPIO 1: SQUASH AND STRETCH - Más sutil */
    10% {
      transform: scaleX(0.9) scaleY(0.6) rotate(-5deg);
      opacity: 0.75;
    }

    /* 🎯 PRINCIPIO 11: EXAGGERATION - Menos exagerado en móvil */
    30% {
      transform: scaleX(1.3) scaleY(1.4) rotate(8deg);
      opacity: 1;
    }

    /* 🎯 PRINCIPIO 7: FOLLOW THROUGH - Rebote más simple */
    /* OPTIMIZADO: Un solo rebote en móvil para mejor performance */
    50% {
      transform: scale(1.06) rotate(-1deg);
    }

    /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Estabilización */
    100% {
      transform: scale(1) rotate(0deg);
      opacity: 1;
    }
  }
}

@keyframes favoriteStarShrink {
  /* 🎯 PRINCIPIO 2: ANTICIPATION - Pequeño movimiento antes de encogerse */
  0% {
    transform: scale(1.05) rotate(0deg);
    opacity: 1;
  }

  /* 🎯 PRINCIPIO 1: SQUASH AND STRETCH - Estirar antes de comprimir */
  15% {
    transform: scaleX(1.15) scaleY(0.9) rotate(-8deg);
    opacity: 0.95;
  }

  /* 🎯 PRINCIPIO 7: FOLLOW THROUGH - Ligero rebote antes de encogerse */
  30% {
    transform: scale(1.1) rotate(-5deg);
    opacity: 0.85;
  }

  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Encogimiento con desaceleración */
  100% {
    transform: scaleX(0.65) scaleY(0.7) rotate(8deg);
    opacity: 0.4;
  }
}

@keyframes favoriteGlow {
  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Glow que acelera y desacelera */
  0% {
    transform: scale(0.2);
    opacity: 0.8;
  }

  /* 🎯 PRINCIPIO 7: OVERLAPPING ACTION - Glow se expande mientras la estrella rebota */
  30% {
    transform: scale(1);
    opacity: 0.6;
  }

  60% {
    transform: scale(1.4);
    opacity: 0.3;
  }

  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Desaceleración al final */
  100% {
    transform: scale(2);
    opacity: 0;
  }
}

/* ✅ Reducir efectos en móvil para mejor rendimiento */
@media (max-width: 768px) {
  .ft-list__favorite-icon.is-animating::before {
    width: 25px;
    height: 25px;
    margin-top: -12.5px;
    margin-left: -12.5px;
    opacity: 0.4;
  }

  .ft-list__favorite-icon.is-animating::after {
    display: none;
    /* Desactivar partículas en móvil para mejor rendimiento */
  }
}

@keyframes favoriteSparkles {
  /* 🎯 PRINCIPIO 2: ANTICIPATION - Partículas aparecen antes de expandirse */
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 0;
  }

  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Aceleración inicial */
  20% {
    opacity: 1;
  }

  /* 🎯 PRINCIPIO 6: ARCS - Rotación en arco natural */
  50% {
    transform: scale(1.5) rotate(180deg);
    opacity: 0.8;
  }

  /* 🎯 PRINCIPIO 5: SLOW IN AND SLOW OUT - Desaceleración al desaparecer */
  100% {
    transform: scale(2) rotate(360deg);
    opacity: 0;
  }
}


/* =============================
                  Manipulación del GRID
                  ============================= */
.ft-layout-grid-flex__col-addsContent:has(.html-data) {
  flex-basis: 100%;
  min-width: 0;
  max-width: none;
}

.ft-layout-grid-flex__colXs-12:has(.html-data) {
  padding-right: 0;
  padding-left: 0;
}

.ft-layout-grid-flex>.ft-layout-grid-flex__row:has(.html-data) {
  max-width: none;
}

.ft-org-cerca-tabs-content {
  margin-right: auto;
  margin-left: auto;
  padding-left: 1.1rem;
  padding-right: 1.1rem;
  max-width: 1280px;
  z-index: 200;
}

/* Animación al hacer click */
.ft-mol-form__list-search .ft-list__favorite-btn:active .ft-list__favorite-icon svg,
.ft-org-box-preselection .ft-list__favorite-btn:active .ft-list__favorite-icon svg {
  animation: favoritePulse 0.4s ease;
}

.ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__favorite-btn:active .ft-list__favorite-icon svg,
.ft-org-box-preselection .ft-list__item.is-favorite .ft-list__favorite-btn:active .ft-list__favorite-icon svg {
  animation: favoritePulse 0.4s ease;
}

@keyframes favoritePulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.4);
  }

  100% {
    transform: scale(1);
  }
}

/* Efecto de resaltado cuando se marca como favorito */
.ft-mol-form__list-search .ft-list__item.is-favorite,
.ft-org-box-preselection .ft-list__item.is-favorite {
  background-color: #f5f5f5;
  transition: background-color 0.3s ease;
}

.ft-mol-form__list-search .ft-list__item.is-favorite .ft-list__link,
.ft-org-box-preselection .ft-list__item.is-favorite .ft-list__link {
  font-weight: 500;
}

/* ✅ Micro-animación sutil cuando se marca como favorito (da "chispa" a la página) */
.ft-mol-form__list-search .ft-list__item.is-favorite-just-added,
.ft-org-box-preselection .ft-list__item.is-favorite-just-added {
  animation: favoriteItemSparkle 1s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: visible;
}

/* ✅ Efecto de "shine" sutil que pasa por el item */
.ft-mol-form__list-search .ft-list__item.is-favorite-just-added::before,
.ft-org-box-preselection .ft-list__item.is-favorite-just-added::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 30%;
  height: 100%;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.4) 50%,
      transparent 100%);
  animation: favoriteItemShine 1s ease-out;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: overlay;
}

@keyframes favoriteItemSparkle {
  0% {
    transform: translateY(0) scale(1);
  }

  15% {
    transform: translateY(-2px) scale(1.002);
  }

  30% {
    transform: translateY(0) scale(1);
  }

  45% {
    transform: translateY(-1px) scale(1.001);
  }

  60% {
    transform: translateY(0) scale(1);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes favoriteItemShine {
  0% {
    left: -100%;
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    left: 100%;
    opacity: 0;
  }
}

/* ✅ Versión móvil más rápida y menos intensa */
@media (max-width: 768px) {

  .ft-mol-form__list-search .ft-list__item.is-favorite-just-added,
  .ft-org-box-preselection .ft-list__item.is-favorite-just-added {
    animation-duration: 0.8s;
  }

  @keyframes favoriteItemSparkle {
    0% {
      transform: translateY(0) scale(1);
    }

    20% {
      transform: translateY(-1px) scale(1.001);
    }

    40% {
      transform: translateY(0) scale(1);
    }

    100% {
      transform: translateY(0) scale(1);
    }
  }

  /* Desactivar shine en móvil para mejor rendimiento */
  .ft-mol-form__list-search .ft-list__item.is-favorite-just-added::before,
  .ft-org-box-preselection .ft-list__item.is-favorite-just-added::before {
    display: none;
  }
}

/* ✅ Respetar preferencias de accesibilidad */
@media (prefers-reduced-motion: reduce) {

  .ft-mol-form__list-search .ft-list__item.is-favorite-just-added,
  .ft-org-box-preselection .ft-list__item.is-favorite-just-added {
    animation: none;
  }

  .ft-mol-form__list-search .ft-list__item.is-favorite-just-added::before,
  .ft-org-box-preselection .ft-list__item.is-favorite-just-added::before {
    display: none;
  }
}


/* =============================
                  TOUR
                  ============================= */

.ft-tour__dark {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 100000;
  opacity: 0;
  transition: opacity 0.5s ease
}

.ft-tour__dark>div {
  position: absolute;
  background: rgba(0, 0, 0, 0.85);
  pointer-events: none
}

.ft-tour__message {
  position: absolute;
  background: var(--color-white);
  border-bottom: 7px solid var(--color-primary);
  padding: 2.8rem 3rem 6rem 3rem;
  min-width: 240px;
  max-width: 480px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 100001;
  text-align: center;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.3s ease;
  overflow: visible
}

@media only screen and (min-width: 768px) {
  .fourty .ft-tour__message {
    padding: 3rem 3rem 3.5rem 3rem;
  }
}

.ft-tour__message--title {
  font-family: var(--font-stack);
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 2rem;
  letter-spacing: 0;
  font-weight: bold;
  margin: 0 0 1rem 0;
  padding: 0
}

@media only screen and (min-width:768px) {
  .ft-tour__message--title {
    font-size: 1.8rem;
    line-height: 2.2rem;
    margin-bottom: 1.2rem
  }
}

.ft-tour__message--text {
  font-family: var(--font-stack);
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0;
  padding: 0;
  margin: 0
}

@media only screen and (min-width:768px) {
  .ft-tour__message--text {
    font-size: 1.6rem;
    line-height: 2.2rem
  }
}

.ft-tour__message:before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 11px solid var(--color-white)
}

/* Logo por defecto para EPE */
.ft-tour__message:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  background-position: 2.4rem 2.4rem;
  background-repeat: no-repeat;
  background-size: 2.4rem 2.4rem;
  height: 6rem;
  width: 6rem;
  border-radius: 100% 0 5px 0;
  background-color: var(--color-primary);
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-epe.svg")
}

/* Marcas: EP */
.ft-brand-ep .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-ep.svg")
}

/* Marcas: EPE (ya es el default, pero lo dejamos explícito) */
.ft-brand-epe .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-epe.svg")
}

/* Marcas: Sport */
.ft-brand-sport .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-sport.svg")
}

/* Marcas: Regionales - Logo por defecto Prensa Ibérica */
.ft-brand-regionales .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-prensa-iberica.svg")
}

/* Marcas: Regionales - Logos específicos por periódico */
.diari-de-girona .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-diari-de-girona.svg")
}

.diario-cordoba .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-diario-cordoba.svg")
}

.diario-de-ibiza .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-diario-de-ibiza.svg")
}

.diario-de-mallorca .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-diario-de-mallorca.svg")
}

.diario-informacion .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-diario-informacion.svg")
}

.el-correo-de-andalucia .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-el-correo-de-andalucia.svg")
}

.el-correo-gallego .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-el-correo-gallego.svg")
}

.el-dia-la-opinion-de-tenerife .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-el-dia-la-opinion-de-tenerife.svg")
}

.el-periodico-de-aragon .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-el-periodico-de-aragon.svg")
}

.el-periodico-extremadura .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-el-periodico-extremadura.svg")
}

.el-periodico-mediterraneo .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-el-periodico-mediterraneo.svg")
}

.emporda .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-emporda.svg")
}

.faro-de-vigo .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-faro-de-vigo.svg")
}

.la-cronica-de-badajoz .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-cronica-de-badajoz.svg")
}

.la-nueva-espana .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-nueva-espana.svg")
}

.la-opinion-a-coruna .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-opinion-a-coruna.svg")
}

.la-opinion-correo-de-zamora .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-opinion-correo-de-zamora.svg")
}

.la-opinion-de-malaga .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-opinion-de-malaga.svg")
}

.la-opinion-de-murcia .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-opinion-de-murcia.svg")
}

.la-provincia-diario-de-las-palmas .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-la-provincia-diario-de-las-palmas.svg")
}

.levante-el-mercantil-valenciano .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-levante-el-mercantil-valenciano.svg")
}

.mallorca-zeitung .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-mallorca-zeitung.svg")
}

.regio7 .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-regio7.svg")
}

.superdeporte .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-regionales-superdeporte.svg")
}

/* Marcas: Revistas - Sin logo por defecto, solo clases específicas */
.cuore .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-revistas-cuore.svg")
}

.viajar .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-revistas-viajar.svg")
}

.woman .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-revistas-woman.svg")
}

/* Marcas: UX */
.ft-brand-ux .ft-tour__message:after {
  background-image: url("https://estaticos-cdn.elperiodico.com/statics/42DS/externals/cerca-V2/img/logo-favicon-prensa-iberica.svg")
}

/* Marcas: Revistas - Ajustes específicos de tipografía */
.ft-brand-revistas .ft-tour__message--title {
  line-height: 2.4rem
}

@media only screen and (min-width:768px) {
  .ft-brand-revistas .ft-tour__message--title {
    line-height: 2.6rem
  }
}

.ft-brand-revistas .ft-tour__message--text {
  line-height: 2rem;
  padding: 0 2rem
}

.ft-tour__message .ft-btn-nav {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0
}

/* TOUR: Resaltar botón de favorito solo cuando el tour está activo */
.ft-tour {
  overflow: visible !important;
  position: relative;
  z-index: 100002;
}

#ftReadMoreContent:has(.ft-tour) {
  overflow: visible !important;
}

/* Solo mostrar el señalamiento cuando el tour está activo (clase añadida por tour-enhancement.js) */
body.ft-tour-is-active .ft-tour-active {
  padding-bottom: 10px;
  margin-bottom: 10px;
}

body.ft-tour-is-active .ft-tour-active .ft-list__favorite-btn {
  position: relative;
  z-index: 100003;
  animation: tourPulse 2s ease-in-out infinite;
  box-shadow: 0 0 0 3px rgba(245, 48, 54, 0.3), 0 0 20px rgba(245, 48, 54, 0.5);
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0.95);
  padding: 4px;
  margin: -4px;
  transform: translateZ(0);
  overflow: visible;
}

body.ft-tour-is-active .ft-tour-active .ft-list__favorite-icon {
  animation: tourStarShine 2s ease-in-out infinite;
  transform-origin: center;
}

body.ft-tour-is-active .ft-tour-active .ft-list__favorite-icon svg {
  filter: drop-shadow(0 0 4px rgba(245, 48, 54, 0.8));
}

@keyframes tourPulse {
  0%, 100% {
    box-shadow: 0 0 0 3px rgba(245, 48, 54, 0.3), 0 0 20px rgba(245, 48, 54, 0.5);
    transform: scale(1) translateZ(0);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(245, 48, 54, 0.2), 0 0 30px rgba(245, 48, 54, 0.7);
    transform: scale(1.05) translateZ(0);
  }
}

@keyframes tourStarShine {
  0%, 100% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
  50% {
    transform: scale(1.15) rotate(5deg);
    opacity: 0.9;
  }
}