/* ═══════════════════════════════════════════
   ATCNEA — TURISMO
   Usa las variables y patrones de index.html (--navy, --blue-mid,
   --font-display, .btn, .section, .container, .form-*, etc.).
   Todas las clases nuevas llevan el prefijo .tur-
═══════════════════════════════════════════ */

#turismo, #turismo-alojamientos, #turismo-solicitud { scroll-margin-top: 72px; }

/* ───────── PRESENTACIÓN ───────── */
#turismo {
  background:
    radial-gradient(ellipse at 85% 10%, rgba(46,143,214,0.18), transparent 55%),
    linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 100%);
  color: var(--white);
  padding: 6.5rem 0 5rem;
}
.tur-intro {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3.5rem;
  align-items: center;
}
.tur-intro .eyebrow { display: block; margin-bottom: 0.75rem; }
.tur-intro h2 { color: var(--white); margin-bottom: 0.9rem; }
.tur-subtitle {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--blue-light);
  margin-bottom: 1.5rem;
}
.tur-intro p.tur-text {
  color: rgba(255,255,255,0.72);
  font-size: 1.02rem;
  line-height: 1.75;
  max-width: 54ch;
  margin-bottom: 1.1rem;
}
.tur-intro-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 1.75rem; }

.tur-steps {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-lg);
  padding: 2rem;
}
.tur-steps h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 1.4rem;
}
.tur-steps ol { list-style: none; counter-reset: tur; display: grid; gap: 1.25rem; }
.tur-steps li {
  counter-increment: tur;
  position: relative;
  padding-left: 3.2rem;
  color: rgba(255,255,255,0.78);
  font-size: 0.95rem;
  line-height: 1.55;
}
.tur-steps li::before {
  content: counter(tur);
  position: absolute; left: 0; top: -2px;
  width: 2.3rem; height: 2.3rem;
  border-radius: 50%;
  background: var(--blue-mid);
  color: var(--white);
  font-family: var(--font-display);
  font-weight: 700; font-size: 1.15rem;
  display: flex; align-items: center; justify-content: center;
}
.tur-steps li strong { display: block; color: var(--white); font-weight: 600; }
.tur-badge-afil {
  display: flex; align-items: flex-start; gap: 0.75rem;
  margin-top: 1.6rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid var(--accent);
  background: rgba(46,143,214,0.16);
  border-radius: var(--radius-sm);
  font-size: 0.92rem; line-height: 1.5;
  color: rgba(255,255,255,0.9);
}
.tur-badge-afil strong { color: var(--white); }
.tur-badge-afil svg { flex-shrink: 0; width: 24px; height: 24px; stroke: var(--accent); fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; margin-top: 1px; }

/* ───────── CATÁLOGO ───────── */
#turismo-alojamientos { background: var(--gray-100); }

.tur-filters {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 1rem;
  align-items: end;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow-sm);
  margin-bottom: 1.25rem;
}
.tur-filters .form-group label { color: var(--navy); font-weight: 600; }
.tur-filters select {
  background-color: var(--white);
  color: var(--text);
  border: 1px solid var(--gray-200);
  min-height: 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a6480' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}
.tur-filters select:focus { border-color: var(--blue-mid); background-color: var(--white); }
.tur-filters select option { background: var(--white); color: var(--text); }
.tur-filters select:disabled { opacity: 0.55; cursor: not-allowed; }
.tur-count { font-size: 0.88rem; color: var(--text-light); margin-bottom: 1.5rem; min-height: 1.4em; }

.tur-province-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--navy);
  margin: 2.25rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--gray-200);
}
.tur-province-title:first-child { margin-top: 0; }

.tur-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 1.5rem;
}
.tur-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}
.tur-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--blue-light); }

.tur-card-media {
  aspect-ratio: 16 / 10;
  width: 100%;
  background: var(--navy-mid);
  position: relative;
  overflow: hidden;
}
.tur-card-media img { width: 100%; height: 100%; object-fit: cover; }
/* Presentación alternativa cuando NO hay fotografía autorizada */
.tur-card-media.tur-noimg {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem;
  text-align: center; padding: 1rem;
  background:
    radial-gradient(ellipse at 80% 0%, rgba(46,143,214,0.3), transparent 60%),
    linear-gradient(150deg, var(--navy) 0%, var(--navy-light) 100%);
  color: var(--white);
}
.tur-card-media.tur-noimg svg { width: 34px; height: 34px; stroke: var(--accent); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tur-card-media.tur-noimg span {
  font-family: var(--font-display);
  font-size: 1.15rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.tur-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.4rem 1.4rem 1.5rem; }
.tur-card h3 {
  font-family: var(--font-display);
  font-size: 1.3rem; font-weight: 700; line-height: 1.15;
  text-transform: uppercase; letter-spacing: 0.02em;
  color: var(--navy);
  margin-bottom: 0.7rem;
}
.tur-meta { display: grid; gap: 0.25rem; font-size: 0.85rem; color: var(--text-light); margin-bottom: 0.9rem; }
.tur-meta b { color: var(--navy); font-weight: 600; }
.tur-desc { font-size: 0.9rem; color: var(--text); line-height: 1.6; margin-bottom: 0.9rem; }
.tur-services { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.9rem; }
.tur-services li {
  font-size: 0.76rem; font-weight: 500;
  padding: 0.25rem 0.6rem;
  background: var(--sky);
  color: var(--blue);
  border-radius: 999px;
}
.tur-note {
  font-size: 0.8rem; color: var(--gray-600); line-height: 1.5;
  border-left: 3px solid var(--blue-light);
  padding-left: 0.7rem;
  margin-bottom: 1rem;
}
.tur-card-actions { margin-top: auto; padding-top: 0.5rem; }
.tur-card-actions .btn { width: 100%; justify-content: center; min-height: 46px; white-space: normal; text-align: center; }
.tur-btn-disabled {
  background: transparent; color: var(--gray-600); border-color: var(--gray-400);
}
.tur-btn-disabled:hover, .tur-btn-disabled:focus-visible { background: var(--gray-100); color: var(--navy); border-color: var(--gray-600); transform: none; }
.tur-pending-msg { font-size: 0.76rem; color: var(--gray-600); margin-top: 0.5rem; text-align: center; }

.tur-empty {
  text-align: center; padding: 3rem 1rem; color: var(--text-light);
  background: var(--white); border: 1px dashed var(--gray-400); border-radius: var(--radius-md);
}
.tur-disclaimer {
  margin-top: 2.5rem; font-size: 0.85rem; color: var(--text-light); text-align: center; max-width: 70ch; margin-left: auto; margin-right: auto;
}

/* ───────── FORMULARIO ───────── */
/* Fondo claro para no fundirse con la sección siguiente (¿Por qué afiliarte?, que es azul marino).
   El formulario se presenta como una tarjeta azul marino, así se reutilizan los estilos oscuros de los campos. */
#turismo-solicitud { background: var(--white); color: var(--text); }
#turismo-solicitud .section-header .display-lg { color: var(--navy); }
#turismo-solicitud .section-header p { color: var(--text-light); }
#turismo-solicitud .form-wrap {
  max-width: 860px;
  background: var(--navy);
  color: var(--white);
  border-color: rgba(255,255,255,0.06);
  box-shadow: var(--shadow-lg);
}

.tur-notice {
  display: flex; gap: 0.9rem; align-items: flex-start;
  padding: 1.1rem 1.25rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  font-size: 0.88rem; line-height: 1.6; color: rgba(255,255,255,0.8);
  margin-bottom: 1.5rem;
}
.tur-notice svg { flex-shrink: 0; width: 22px; height: 22px; stroke: var(--blue-light); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.tur-notice p + p { margin-top: 0.6rem; }
.tur-notice--important { border-color: rgba(46,143,214,0.55); background: rgba(46,143,214,0.1); color: var(--white); }
.tur-notice--warn { border-color: rgba(224,165,66,0.6); background: rgba(224,165,66,0.1); color: var(--white); }
.tur-notice--warn svg { stroke: #e0a542; }

.tur-form-block { margin-bottom: 0.5rem; }
.tur-form-block .form-section-title { margin-top: 1rem; }
.tur-form-block .form-grid.cols-2 { grid-template-columns: 1fr 1fr; }
.tur-form-block .form-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.tur-form-block .form-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

.tur-date { display: grid; grid-template-columns: 0.8fr 1.4fr 1fr; gap: 0.5rem; }
.tur-date select { padding-left: 0.75rem; padding-right: 1.9rem; background-position: right 0.5rem center; }
.tur-legend { font-size: 0.82rem; font-weight: 500; color: rgba(255,255,255,0.7); margin-bottom: 0.4rem; display: block; padding: 0; }
fieldset.form-group { border: 0; min-width: 0; padding: 0; margin: 0; }

.tur-radio-row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.tur-radio-row label {
  display: inline-flex; align-items: center; gap: 0.6rem;
  min-height: 46px; padding: 0.6rem 1.1rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,0.05);
  color: var(--white);
  font-size: 0.95rem; font-weight: 500;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}
.tur-radio-row label:hover { border-color: rgba(255,255,255,0.45); }
.tur-radio-row input[type="radio"] {
  width: 18px; height: 18px; flex-shrink: 0; padding: 0;
  border: 2px solid rgba(255,255,255,0.45); border-radius: 50%; background: transparent; cursor: pointer;
}
.tur-radio-row input[type="radio"]:checked { border-color: var(--accent); background: radial-gradient(circle, var(--accent) 0 45%, transparent 50%); }
.tur-radio-row label:has(input:checked) { border-color: var(--accent); background: rgba(46,143,214,0.16); }
.tur-radio-row input[type="radio"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.tur-companion {
  display: grid; grid-template-columns: 1.6rem 1fr 0.55fr; gap: 0.75rem; align-items: start;
  margin-bottom: 0.9rem;
}
.tur-companion-n { font-family: var(--font-display); font-weight: 700; color: var(--accent); padding-top: 0.75rem; font-size: 1.1rem; }
.tur-hint { font-size: 0.76rem; color: rgba(255,255,255,0.5); }
.tur-hint.tur-hint--warn { color: #e0c27a; }

.tur-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.tur-submit-help { margin-top: 0.9rem; font-size: 0.8rem; color: rgba(255,255,255,0.5); }
.tur-form-error {
  display: none; margin: 0 0 1.25rem; padding: 1rem 1.1rem; border-radius: var(--radius-sm);
  background: rgba(192,57,43,0.15); border: 1px solid rgba(240,128,112,0.6); color: var(--white); font-size: 0.92rem; line-height: 1.55;
}
.tur-form-error.visible { display: block; }
.tur-form-error a { text-decoration: underline; }
.tur-form-error-links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.8rem; }

#tur-success { color: var(--white); }
#tur-success .tur-notice { text-align: left; margin: 1.25rem auto 1.5rem; max-width: 560px; }
.tur-form-wrap-flash { animation: none; }

/* ───────── RESPONSIVE ───────── */
@media (max-width: 900px) {
  #turismo { padding: 5.5rem 0 4rem; }
  .tur-intro { grid-template-columns: 1fr; gap: 2.25rem; }
  .tur-filters { grid-template-columns: 1fr 1fr; }
  .tur-filters .tur-filter-reset { grid-column: 1 / -1; }
  .tur-filters .tur-filter-reset .btn { width: 100%; justify-content: center; }
  .tur-form-block .form-grid.cols-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .tur-filters { grid-template-columns: 1fr; padding: 1rem; }
  .tur-grid { grid-template-columns: 1fr; }
  .tur-intro-actions .btn { width: 100%; justify-content: center; }
  .tur-steps { padding: 1.5rem; }
  .tur-form-block .form-grid.cols-2,
  .tur-form-block .form-grid.cols-3,
  .tur-form-block .form-grid.cols-4 { grid-template-columns: 1fr; }
  .tur-companion { grid-template-columns: 1fr; gap: 0.5rem; margin-bottom: 1.25rem; padding-bottom: 1.1rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .tur-companion-n { padding-top: 0; }
  .tur-radio-row label { flex: 1 1 100%; }
  #turismo-solicitud .form-submit .btn { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════
   CORRECCIÓN MÍNIMA FUERA DE TURISMO (informada en LEEME-TURISMO.md)
   El CSS original define .btn { white-space: nowrap }. En teléfonos,
   los botones largos ("Quiero conocer más sobre los beneficios",
   los 3 de Contacto) miden más que la pantalla: la página se ensancha
   (575px en un móvil de 390px) y el botón de menú hamburguesa queda
   fuera de la pantalla, lo que impide llegar a TURISMO desde el celular.
   Esta regla solo permite que esos botones se partan en 2 líneas en
   pantallas chicas. Si el sitio lo corrige en su CSS, borrar este bloque.
═══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .btn { white-space: normal; text-align: center; justify-content: center; }
}

/* Enlace de menú de la página actual (turismo.html) */
.nav-links a[aria-current="page"] { color: var(--white); background: rgba(255,255,255,0.1); }
.mobile-link[aria-current="page"] { color: var(--white); }

/* ═══════════════════════════════════════════
   v2 · Flechas de los desplegables, galería de fotos y formulario simplificado
═══════════════════════════════════════════ */

/* Flecha única en los <select>: se fija repetición, posición y tamaño también en :focus
   (la regla del sitio reinicia el fondo al enfocar y el ícono se repetía). */
.tur-filters select,
.tur-filters select:focus {
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 16px;
  padding-right: 2.5rem;
}
#turismo-solicitud select,
#turismo-solicitud select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9d6e6' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 16px;
  padding-right: 2.5rem;
}
#turismo-solicitud select option { background: var(--navy-light); color: var(--white); }
#turismo-solicitud input[type="date"] { color-scheme: dark; min-height: 46px; }
#turismo-solicitud textarea { min-height: 110px; resize: vertical; }

/* ───────── Galería de fotos de cada tarjeta ─────────
   Foto grande + miniaturas. La tercera miniatura es "Ver todas" y abre la vista ampliada. */
.tur-gallery { background: var(--navy-mid); display: grid; gap: 3px; grid-template-columns: 1fr; }
.tur-gallery--2 { grid-template-columns: 2fr 1fr; }
.tur-gallery--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.tur-gallery--3 .tur-ph--main { grid-row: 1 / 3; }
.tur-ph {
  appearance: none; -webkit-appearance: none;
  display: block; position: relative; overflow: hidden;
  min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0;
  background: var(--navy-mid); color: var(--white); cursor: zoom-in;
}
.tur-ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.tur-ph:hover img { transform: scale(1.05); }
.tur-ph:focus-visible { outline: 3px solid var(--blue-light); outline-offset: -3px; }
.tur-ph-count {
  position: absolute; right: 0.5rem; bottom: 0.5rem;
  background: rgba(11,31,53,0.82); color: var(--white);
  font-size: 0.8rem; font-weight: 600; line-height: 1;
  padding: 0.28rem 0.65rem; border-radius: 999px; pointer-events: none;
}
.tur-ph--more img { filter: brightness(0.5); }
.tur-ph-more {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; text-align: center; line-height: 1.15; pointer-events: none;
}
.tur-ph-more svg { width: 20px; height: 20px; stroke: var(--white); fill: none; stroke-width: 1.8; stroke-linejoin: round; }
.tur-ph-more b { font-size: 0.82rem; font-weight: 600; }
.tur-ph-more small { font-size: 0.76rem; opacity: 0.9; }

/* Texto solo para lectores de pantalla */
.tur-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ───────── Formulario simplificado ───────── */
.tur-radio-row--grid { display: grid; grid-template-columns: 1fr 1fr; }
.tur-radio-row input[type="checkbox"] {
  width: 18px; height: 18px; flex-shrink: 0; padding: 0; border-radius: 4px; cursor: pointer;
  border: 2px solid rgba(255,255,255,0.45); background: transparent; appearance: none; -webkit-appearance: none;
}
.tur-radio-row input[type="checkbox"]:checked {
  border-color: var(--accent);
  background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.tur-radio-row input[type="checkbox"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tur-kids-box { margin-bottom: 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-sm); background: rgba(255,255,255,0.03); }
.tur-kids-box[hidden] { display: none; }
.tur-kids-box .form-grid { margin-bottom: 0; }
@media (max-width: 640px) { .tur-radio-row--grid { grid-template-columns: 1fr; } }

/* ───────── v3 · destaque a afiliados y consulta por WhatsApp ───────── */
.tur-section-lead strong, #turismo-alojamientos .lead strong { color: var(--blue); font-weight: 700; }
#turismo-solicitud .section-header .lead strong { color: var(--navy); font-weight: 700; }

.tur-wa {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: 1.5rem; padding: 1.1rem 1.4rem;
  border: 1px solid var(--gray-200); border-radius: var(--radius-md); background: var(--white);
}
.tur-wa p { margin: 0; font-size: 0.92rem; color: var(--text); line-height: 1.5; flex: 1 1 260px; }
.tur-wa--center { margin-top: 2.5rem; max-width: 760px; margin-left: auto; margin-right: auto; }
.tur-wa-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; min-height: 46px;
  background: #25d366; color: var(--navy); border: 1px solid #25d366; font-weight: 700; white-space: normal; text-align: center;
}
.tur-wa-btn:hover, .tur-wa-btn:focus-visible { background: #1fbd5a; border-color: #1fbd5a; color: var(--navy); transform: translateY(-1px); }
.tur-wa-btn svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#turismo-solicitud .form-wrap + .tur-wa { max-width: 860px; margin-left: auto; margin-right: auto; }
@media (max-width: 640px) { .tur-wa-btn { width: 100%; } }

/* ═══════════════════════════════════════════
   v4 · BANNER "PLAN DE TURISMO · FINANCIACIÓN PROPIA ATCNEA" (solo turismo.html)
═══════════════════════════════════════════ */
#turismo.tur-has-banner { background: none; padding: 0; color: var(--white); }
.tur-banner {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(580px, 88vh, 840px);
  display: flex; align-items: center;
  background: var(--navy);
}
.tur-banner > svg, .tur-banner-photo, .tur-banner-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.tur-banner-art { z-index: 0; }
.tur-banner-photo { z-index: 1; display: block; }
.tur-banner-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.tur-banner-shade {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(11,31,53,0.94) 0%, rgba(11,31,53,0.80) 38%, rgba(11,31,53,0.28) 72%, rgba(11,31,53,0.06) 100%),
    linear-gradient(0deg, var(--navy) 0%, rgba(11,31,53,0) 26%);
}
.tur-banner-flow { z-index: 3; pointer-events: none; }
.tur-route { fill: none; stroke: url(#tg-route); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 3 16; opacity: 0.75; }
.tur-route--2 { opacity: 0.5; stroke-width: 2; }
.tur-route--3 { opacity: 0.4; stroke-width: 1.8; }
.tur-dot { opacity: 0; pointer-events: none; }
.tur-particles { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.tur-particles i { position: absolute; bottom: -10px; width: 4px; height: 4px; border-radius: 50%; background: rgba(207,233,251,0.7); opacity: 0.35; }
.tur-particles i:nth-child(1)  { left: 6%;  width: 3px; height: 3px; }
.tur-particles i:nth-child(2)  { left: 14%; }
.tur-particles i:nth-child(3)  { left: 23%; width: 5px; height: 5px; }
.tur-particles i:nth-child(4)  { left: 31%; width: 3px; height: 3px; }
.tur-particles i:nth-child(5)  { left: 42%; }
.tur-particles i:nth-child(6)  { left: 51%; width: 5px; height: 5px; }
.tur-particles i:nth-child(7)  { left: 60%; width: 3px; height: 3px; }
.tur-particles i:nth-child(8)  { left: 68%; }
.tur-particles i:nth-child(9)  { left: 76%; width: 5px; height: 5px; }
.tur-particles i:nth-child(10) { left: 84%; width: 3px; height: 3px; }
.tur-particles i:nth-child(11) { left: 91%; }
.tur-particles i:nth-child(12) { left: 97%; width: 3px; height: 3px; }

.tur-banner-inner { position: relative; z-index: 4; width: 100%; padding-top: 7.5rem; padding-bottom: 5.5rem; }
.tur-banner-title {
  color: var(--white); max-width: 14ch; margin: 1.6rem 0 1.1rem;
  text-shadow: 0 2px 24px rgba(11,31,53,0.55);
}
.tur-banner-sub {
  max-width: 46ch; font-size: clamp(1.02rem, 1.7vw, 1.22rem); line-height: 1.65;
  color: rgba(255,255,255,0.92); margin-bottom: 2rem; text-shadow: 0 1px 14px rgba(11,31,53,0.6);
}
.tur-banner-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }

/* Sello / badge de financiación propia */
.tur-seal {
  display: inline-flex; align-items: center; gap: 0.95rem;
  padding: 0.55rem 1.6rem 0.55rem 0.55rem; border-radius: 999px;
  background: linear-gradient(135deg, rgba(16,42,71,0.9), rgba(26,95,168,0.6));
  border: 1px solid rgba(124,192,245,0.65);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 10px 34px rgba(0,0,0,0.35);
  max-width: 100%;
}
.tur-seal-logo {
  flex: 0 0 auto; width: 58px; height: 58px; border-radius: 50%; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 35% 30%, #2d86d4, var(--navy) 78%);
  border: 2px solid rgba(255,255,255,0.35);
}
.tur-seal-logo img { width: 100%; height: 100%; object-fit: cover; }
.tur-seal-logo svg { width: 36px; height: 36px; }
.tur-seal-text { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; text-align: left; }
.tur-seal-kicker { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: #8fcaf7; }
.tur-seal-main {
  font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
  font-size: clamp(1.05rem, 2.3vw, 1.5rem); line-height: 1.1; color: var(--white);
}

/* Banda de presentación debajo del banner */
.tur-intro-band {
  position: relative; z-index: 1; padding: 4rem 0 5rem; color: var(--white);
  background: radial-gradient(ellipse at 85% 0%, rgba(46,143,214,0.16), transparent 55%), linear-gradient(180deg, var(--navy) 0%, var(--navy-mid) 100%);
}
.tur-intro-band .tur-subtitle { margin-bottom: 1.25rem; }

/* ───── Animaciones: solo si el usuario no pidió reducir el movimiento ───── */
@media (prefers-reduced-motion: no-preference) {
  .tur-seal { animation: tur-float 3.6s ease-in-out infinite; }
  .tur-seal::after {
    content: ''; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none;
    animation: tur-pulse 3.6s ease-out infinite;
  }
  .tur-seal { position: relative; }
  .tur-route { animation: tur-dash 22s linear infinite; }
  .tur-route--2 { animation-duration: 30s; animation-direction: reverse; }
  .tur-route--3 { animation-duration: 26s; }
  .tur-waves path:nth-child(1) { animation: tur-wave 11s linear infinite; }
  .tur-waves path:nth-child(2) { animation: tur-wave 15s linear infinite reverse; }
  .tur-shimmer line { animation: tur-shimmer 5s ease-in-out infinite; }
  .tur-shimmer line:nth-child(even) { animation-delay: -2.2s; }
  .tur-banner-art, .tur-banner-photo img { animation: tur-drift 36s ease-in-out infinite alternate; }
  .tur-dot { opacity: 1; offset-rotate: 0deg; animation: tur-travel 15s linear infinite; }
  .tur-dot--1 { offset-path: path('M-40 640 C 260 520, 480 760, 800 600 S 1340 430, 1660 560'); }
  .tur-dot--2 { offset-path: path('M-40 520 C 300 380, 560 600, 900 470 S 1360 300, 1660 400'); animation-duration: 21s; animation-delay: -8s; }
  .tur-particles i { animation: tur-rise 14s linear infinite; }
  .tur-particles i:nth-child(3n)   { animation-duration: 18s; animation-delay: -5s; }
  .tur-particles i:nth-child(3n+1) { animation-duration: 11s; animation-delay: -2s; }
  .tur-particles i:nth-child(3n+2) { animation-duration: 16s; animation-delay: -9s; }
}
@keyframes tur-float  { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes tur-pulse  { 0% { box-shadow: 0 0 0 0 rgba(46,143,214,0.55); } 70%, 100% { box-shadow: 0 0 0 16px rgba(46,143,214,0); } }
@keyframes tur-dash   { to { stroke-dashoffset: -380; } }
@keyframes tur-wave   { from { transform: translateX(0); } to { transform: translateX(-200px); } }
@keyframes tur-shimmer{ 0%, 100% { opacity: 0.25; transform: translateX(0); } 50% { opacity: 0.9; transform: translateX(10px); } }
@keyframes tur-drift  { from { transform: scale(1.02) translate3d(0,0,0); } to { transform: scale(1.08) translate3d(-1.2%, -0.8%, 0); } }
@keyframes tur-travel { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@keyframes tur-rise   { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: 0.55; } 100% { transform: translateY(-640px); opacity: 0; } }

/* ───── Celulares (< 768px): contenido centrado, botones apilados ───── */
@media (max-width: 767px) {
  .tur-banner { min-height: 0; }
  .tur-banner-shade {
    background:
      linear-gradient(180deg, rgba(11,31,53,0.70) 0%, rgba(11,31,53,0.84) 55%, rgba(11,31,53,0.96) 100%);
  }
  .tur-banner-inner { padding-top: 6.5rem; padding-bottom: 3.5rem; text-align: center; display: flex; flex-direction: column; align-items: center; }
  .tur-seal { padding-right: 1.2rem; gap: 0.7rem; }
  .tur-seal-logo { width: 48px; height: 48px; }
  .tur-seal-main { font-size: 1rem; }
  .tur-banner-title { max-width: none; font-size: clamp(2.2rem, 11vw, 3rem); margin: 1.3rem 0 0.9rem; }
  .tur-banner-sub { margin-left: auto; margin-right: auto; margin-bottom: 1.6rem; }
  .tur-banner-actions { width: 100%; flex-direction: column; }
  .tur-banner-actions .btn { width: 100%; justify-content: center; }
  .tur-intro-band { padding: 3rem 0 3.5rem; }
  .tur-intro-band .tur-subtitle, .tur-intro-band .tur-text { text-align: center; margin-left: auto; margin-right: auto; }
}

/* ───────── Ajuste de altura del banner y separación con la sección siguiente ───────── */
.tur-banner {
  min-height: clamp(500px, 72vh, 700px);
}

.tur-intro-band {
  padding: 2.5rem 0 4rem;
}

/* En móviles, conservar el alto natural del contenido */
@media (max-width: 767px) {
  .tur-banner {
    min-height: 0;
  }

  .tur-intro-band {
    padding: 2.25rem 0 3rem;
  }
}

   @media (max-width: 1180px) { .nav-links, .nav-cta { display: none; } .hamburger { display: flex; } }
   .nav-links a { white-space: nowrap; }
   @media (min-width: 1181px) { .nav-links a { padding: 0.4rem 0.45rem; font-size: 0.82rem; } }

      .mobile-menu { max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; }

/* ═══════════════════════════════════════════
   v5 · TARJETAS DE DESTINO (catálogo)
═══════════════════════════════════════════ */
.tur-destinos { margin-bottom: 1.75rem; }
.tur-dest-hint { font-size: 0.92rem; color: var(--text-light); margin-bottom: 0.85rem; }
.tur-dest-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0.75rem; }
.tur-dest {
  appearance: none; -webkit-appearance: none;
  position: relative; overflow: hidden; aspect-ratio: 4 / 3; width: 100%;
  padding: 0; border: 0; border-radius: var(--radius-md); cursor: pointer; text-align: left; color: var(--white);
  background: radial-gradient(ellipse at 80% 0%, rgba(46,143,214,0.35), transparent 60%), linear-gradient(150deg, var(--navy) 0%, var(--navy-light) 100%);
  transition: transform var(--transition), box-shadow var(--transition);
}
.tur-dest:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.tur-dest:focus-visible { outline: 3px solid var(--blue-light); outline-offset: 3px; }
.tur-dest img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.tur-dest:hover img { transform: scale(1.06); }
.tur-dest-pin { position: absolute; top: 0.6rem; right: 0.6rem; width: 26px; height: 26px; display: flex; z-index: 1; }
.tur-dest-pin svg { width: 100%; height: 100%; stroke: var(--white); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 3px rgba(11,31,53,0.6)); }
.tur-dest-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,31,53,0.94) 0%, rgba(11,31,53,0.45) 52%, rgba(11,31,53,0) 100%); }
.tur-dest-txt { position: absolute; left: 0.8rem; right: 0.8rem; bottom: 0.7rem; display: grid; gap: 1px; }
.tur-dest-name { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; line-height: 1.1; letter-spacing: 0.02em; text-transform: uppercase; }
.tur-dest-sub { font-size: 0.8rem; line-height: 1.3; color: rgba(255,255,255,0.88); }
.tur-dest-n { font-size: 0.8rem; font-weight: 600; color: var(--blue-light); }
.tur-dest[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--gray-100), 0 0 0 6px var(--blue-mid); }
.tur-dest[aria-pressed="true"]::after {
  content: '\2713'; position: absolute; top: 0.55rem; left: 0.55rem; z-index: 2;
  width: 24px; height: 24px; border-radius: 50%; background: var(--blue-mid); color: var(--white);
  display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 700;
}
#tur-count { scroll-margin-top: 96px; }

/* ═══════════════════════════════════════════
   v5 · VISTA AMPLIADA DE FOTOS
═══════════════════════════════════════════ */
html.tur-lb-open { overflow: hidden; }
.tur-lb { border: 0; padding: 0; background: transparent; color: var(--white); width: min(1100px, 96vw); max-width: none; max-height: 96vh; margin: auto; overflow: visible; }
.tur-lb::backdrop { background: rgba(7,20,36,0.9); }
.tur-lb-box { background: var(--navy); border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; max-height: 96vh; }
.tur-lb-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.6rem 0.75rem 0.6rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.12); }
.tur-lb-title { margin: 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--white); }
.tur-lb-close, .tur-lb-nav {
  width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
  background: rgba(255,255,255,0.12); color: var(--white); display: flex; align-items: center; justify-content: center;
  transition: background var(--transition);
}
.tur-lb-close:hover, .tur-lb-nav:hover { background: rgba(255,255,255,0.26); }
.tur-lb-close:focus-visible, .tur-lb-nav:focus-visible, .tur-lb-thumbs button:focus-visible { outline: 3px solid var(--blue-light); outline-offset: 2px; }
.tur-lb svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.tur-lb-stage { position: relative; display: flex; align-items: center; justify-content: center; background: #000; height: min(62vh, 640px); min-height: 220px; touch-action: pan-y; }
.tur-lb-stage img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.tur-lb-stage img[hidden] { display: none; }
.tur-lb-fail { color: rgba(255,255,255,0.85); padding: 1rem; text-align: center; }
.tur-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(11,31,53,0.72); }
.tur-lb-nav[hidden] { display: none; }
.tur-lb-nav--prev { left: 0.75rem; } .tur-lb-nav--next { right: 0.75rem; }
.tur-lb-count { margin: 0; padding: 0.7rem 1.25rem 0.5rem; font-size: 0.95rem; font-weight: 600; }
.tur-lb-thumbs { display: flex; gap: 0.4rem; overflow-x: auto; padding: 0.25rem 1.25rem 1rem; scrollbar-width: thin; }
.tur-lb-thumbs[hidden] { display: none; }
.tur-lb-thumbs button { flex: 0 0 76px; height: 54px; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; background: var(--navy-mid); opacity: 0.62; }
.tur-lb-thumbs button:hover { opacity: 0.9; }
.tur-lb-thumbs button.on { border-color: var(--blue-light); opacity: 1; }
.tur-lb-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 640px) {
  .tur-lb { width: 100vw; }
  .tur-lb-box { border-radius: 0; }
  .tur-lb-stage { height: 52vh; }
}
@media (prefers-reduced-motion: reduce) {
  .tur-ph img, .tur-dest img { transition: none; }
  .tur-ph:hover img, .tur-dest:hover img { transform: none; }
  .tur-dest:hover { transform: none; }
}


/* ═══════════════════════════════════════════
   v6 · BANNER FIJO "MIX DE DESTINOS" + espaciado más compacto
═══════════════════════════════════════════ */
.tur-banner-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; background: var(--navy); overflow: hidden; }
.tur-banner-mosaic picture { display: block; min-width: 0; overflow: hidden; }
.tur-banner-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tur-banner-mosaic picture:nth-child(2) img { animation-delay: -9s; }
.tur-banner-mosaic picture:nth-child(3) img { animation-delay: -18s; animation-direction: alternate-reverse; }
.tur-banner-mosaic picture:nth-child(4) img { animation-delay: -27s; animation-direction: alternate-reverse; }
@media (max-width: 767px) { .tur-banner-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; } }

@media (min-width: 768px) {
  .tur-banner { min-height: clamp(430px, 60vh, 580px); }
  .tur-banner-inner { padding-top: 6.5rem; padding-bottom: 3.5rem; }
}
.tur-intro-band { padding-top: 2rem; padding-bottom: 2.75rem; }
#turismo-alojamientos { padding-top: 3.25rem; }
@media (max-width: 767px) {
  .tur-intro-band { padding: 1.75rem 0 2.25rem; }
  #turismo-alojamientos { padding-top: 2.5rem; }
}


/* v6.1 · Vista ampliada: evitar que la foto se "seleccione" (tinte azul) al pasar rápido */
.tur-lb, .tur-lb * { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; }
.tur-lb img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }
.tur-lb img::selection, .tur-lb *::selection { background: transparent; }
.tur-lb-thumbs button img { pointer-events: none; }

/* v6.1 · Banner con una sola imagen (opcional): si existe banner-argentina.webp se usa; si no, queda el mosaico */
.tur-banner-single { position: absolute; inset: 0; display: block; z-index: 1; }
.tur-banner-single img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }


/* v6.2 · Pasos de pre-reserva en una fila compacta */
.tur-intro-band--row { padding: 1.75rem 0 2rem; }
.tur-steps--row { padding: 1.4rem 1.75rem 1.2rem; }
.tur-steps--row h3 { margin-bottom: 1.1rem; font-size: 1.05rem; }
.tur-steps--row ol { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.tur-steps--row li { font-size: 0.92rem; }
.tur-steps-note {
  display: flex; align-items: center; gap: 0.6rem; margin-top: 1.1rem; padding-top: 0.9rem;
  border-top: 1px solid rgba(255,255,255,0.12); font-size: 0.88rem; color: rgba(255,255,255,0.85);
}
.tur-steps-note strong { color: var(--white); }
.tur-steps-note svg { flex: 0 0 20px; width: 20px; height: 20px; stroke: var(--accent); fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .tur-steps--row ol { grid-template-columns: 1fr; gap: 1.1rem; } }
@media (max-width: 767px) { .tur-intro-band--row { padding: 1.5rem 0 1.75rem; } .tur-steps--row { padding: 1.25rem; } }
