/* Ficha compacta, galería multimedia y voces de la cordada. */
#tour-app > .tour-technical-sheet,
.tour-page > .tour-technical-sheet { padding-block: 24px; }
#tour-app .tour-technical-sheet h2,
.tour-page .tour-technical-sheet h2 { font-size: clamp(1.55rem, 2.4vw, 2.2rem); margin: 12px 0 18px; }
#tour-app .technical-grid,
.tour-page .technical-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
#tour-app .technical-grid > div,
.tour-page .technical-grid > div { border-right: 0; gap: 6px; min-height: 0; padding: 14px 16px; }
#tour-app .technical-grid strong,
.tour-page .technical-grid strong { font-size: clamp(1rem, 1.3vw, 1.25rem); line-height: 1.35; }
#tour-app .included-items li::before { color: #2d7657; content: "✓"; font-weight: 700; }
.tour-page .tour-columns .inclusion-check { color: #2d7657; font-weight: 700; }

.gallery-video,
.tour-gallery-video { grid-column: span 6; margin: 0; min-width: 0; }
.gallery-video-player { aspect-ratio: 16 / 9; background: #0b1215; overflow: hidden; }
.gallery-video-player iframe,
.gallery-video-player video { border: 0; display: block; height: 100%; object-fit: contain; width: 100%; }
.gallery-video figcaption,
.tour-gallery-video figcaption { color: #516269; font: 9px "DM Mono", monospace; letter-spacing: .08em; padding: 12px 0; text-transform: uppercase; }
.gallery-video-note { color: #516269; font-size: 13px; margin: 18px 0 0; }

#tour-app > .tour-testimonials,
.tour-page > .tour-testimonials { background: #e5ece6; padding-block: clamp(40px, 6vw, 80px); }
.tour-testimonials h2 { font-size: clamp(2rem, 3.5vw, 3.6rem); margin: 14px 0 20px; max-width: 850px; }
.testimonials-intro { color: #516269; font-size: 17px; max-width: 680px; }
.testimonials-empty { border-bottom: 1px solid rgba(19,32,37,.18); color: #516269; margin: 24px 0; padding-bottom: 24px; }
.testimonials-list { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin: 30px 0; }
.testimonial-card { background: #f3f1eb; margin: 0; padding: 26px; }
.testimonial-card blockquote { color: #132025; font: 18px/1.55 "Libre Baskerville", Georgia, serif; margin: 0 0 22px; overflow-wrap: anywhere; }
.testimonial-card figcaption { color: #2d7657; font: 11px "DM Mono", monospace; letter-spacing: .06em; }
.testimonial-form { color: #132025; margin-top: 28px; max-width: 920px; }
.testimonial-form fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.testimonial-form label { display: block; font-size: 13px; }
.testimonial-form-row { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; margin-bottom: 22px; }
.testimonial-form input:not([type=checkbox]):not([type=hidden]),
.testimonial-form textarea { background: #f3f1eb; border: 1px solid rgba(19,32,37,.25); border-radius: 0; color: #132025; display: block; font: inherit; margin-top: 8px; max-width: 100%; min-width: 0; padding: 13px; width: 100%; }
.testimonial-form textarea { resize: vertical; }
.testimonial-form input:focus-visible,
.testimonial-form textarea:focus-visible { outline: 2px solid #2d7657; outline-offset: 3px; }
.testimonial-form .testimonial-consent { align-items: flex-start; display: flex; gap: 12px; line-height: 1.6; margin: 20px 0; max-width: 720px; }
.testimonial-consent input { accent-color: #2d7657; flex: 0 0 auto; height: 18px; margin: 2px 0 0; width: 18px; }
.testimonial-form-note { color: #516269; font-size: 12px; margin: 14px 0 0; }
.testimonial-notice { background: #f3f1eb; border-left: 3px solid #2d7657; color: #132025; line-height: 1.6; padding: 18px; }
.testimonial-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.testimonial-form button:disabled { cursor: not-allowed; opacity: .65; transform: none; }

@media (max-width: 800px) {
  #tour-app .technical-grid,
  .tour-page .technical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-video,
  .tour-gallery-video { grid-column: span 12; }
  .testimonial-form-row { grid-template-columns: 1fr; }
  .testimonial-form .button { font-size: 9px; gap: 10px; max-width: 100%; min-width: 0; }
}

/* Hero de tours: un único bloque compacto y centrado verticalmente. */
#tour-app .tour-hero,
.tour-page .tour-hero {
  align-items: center;
  display: flex;
  justify-content: center;
  padding-block: 116px;
}
#tour-app .tour-hero .hero-copy,
.tour-page .tour-hero .tour-hero-copy {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 8px;
  inset: auto;
  margin-block: 0;
  padding: 0;
  position: relative;
  transform: none;
}
#tour-app .tour-hero .hero-copy h1,
.tour-page .tour-hero .tour-hero-copy h1 {
  margin: 0;
  padding: 0;
}
#tour-app .tour-hero .hero-copy .manifesto,
.tour-page .tour-hero .tour-hero-copy .tour-manifesto {
  margin: 0;
  padding: 0;
}
#tour-app .tour-hero .hero-copy .button,
.tour-page .tour-hero .tour-hero-copy .button { margin: 0; }
@media (max-width: 800px) {
  #tour-app .tour-hero,
  .tour-page .tour-hero { padding-block: 128px; }
}

/* Datos rápidos al pie de la fotografía, sin divisores y centrados. */
#tour-app .tour-hero .tour-specs,
.tour-page .tour-hero .tour-specs {
  background: transparent;
  border: 0;
  bottom: 24px;
  color: #fff;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  left: 50%;
  margin: 0;
  padding: 0;
  position: absolute;
  transform: translateX(-50%);
  width: min(900px, calc(100% - 48px));
  z-index: 4;
}
#tour-app .tour-hero .tour-specs > div,
.tour-page .tour-hero .tour-specs > div {
  align-items: center;
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: flex-start;
  min-height: 0;
  min-width: 0;
  padding: 0 10px;
  text-align: center;
}
#tour-app .tour-hero .tour-specs strong,
.tour-page .tour-hero .tour-specs strong {
  color: #fff;
  font: 500 clamp(.875rem, 1.4vw, 1.125rem)/1.4 "Instrument Sans", Arial, sans-serif;
  text-shadow: 0 1px 10px rgba(0,0,0,.75);
}
#tour-app .tour-hero .tour-specs .spec-icon,
.tour-page .tour-hero .tour-specs .spec-icon { color: #fff; flex-shrink: 0; font-size: 24px; line-height: 1; text-shadow: 0 1px 10px rgba(0,0,0,.75); }
@media (max-width: 800px) {
  #tour-app .tour-hero .tour-specs,
  .tour-page .tour-hero .tour-specs { bottom: 20px; }
}

/* Párrafos completos de la ruta sin recuperar márgenes de secciones globales. */
#tour-app .tour-hero .manifesto p,
.tour-page .tour-hero .tour-manifesto p { color: inherit; font: inherit; margin: 0; }
#tour-app .tour-hero .manifesto p + p,
.tour-page .tour-hero .tour-manifesto p + p { margin-top: 8px; }
#tour-app .official-journey .heading,
.tour-page .official-journey .tour-section-heading { grid-template-columns: 1fr; margin-left: 0; }
.itinerary-copy { min-width: 0; }
.itinerary-copy p:first-child { margin-top: 0; }
.itinerary-copy p:last-child { margin-bottom: 0; }
#tour-app .official-journey .days details > div,
.tour-page .official-journey .tour-day-content { align-items: start; }
.winter-copy { max-width: 800px; padding: 0 0 22px; }
.winter-copy h3 { color: #132025; font: 400 1.3rem/1.4 "Libre Baskerville", Georgia, serif; margin: 24px 0 16px; }
.winter-copy ul { color: #516269; padding-left: 20px; }
.winter-copy li { margin-bottom: 10px; }

/* El recorrido del Lanín se lee directamente después de la imagen. */
.official-journey .journey-description { line-height: 1.7; margin-top: 24px; max-width: 800px; }
.official-journey .journey-description p { max-width: none; }

/* Correcciones de la ficha instalada: lectura amplia y controles en flujo. */
.tour-page .tour-journey .tour-section-heading,
#tour-app .journey .heading {
  display: block;
  margin-left: 0;
  width: 100%;
  min-width: 0;
}
.tour-page .tour-journey #journey-title,
#tour-app .journey #journey-title {
  font-size: clamp(1.75rem, 3vw, 3rem);
  line-height: 1.2;
  max-width: 100%;
  width: 100%;
  margin: 0;
  overflow-wrap: break-word;
}
.tour-page .tour-journey .tour-editable-copy { margin-top: 24px; max-width: 800px; }
.tour-page .section-two-image,
#tour-app .section-two-image { margin: 24px 0 0; width: 600px; max-width: 100%; overflow: visible; }
.tour-page .section-two-image img,
#tour-app .section-two-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  max-height: none;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}
.tour-page .tour-inclusions .tour-section-heading > *,
.tour-page .tour-days summary > *,
#tour-app .days summary > * { min-width: 0; }
.tour-page .tour-inclusions .tour-section-heading h2 { font-size: clamp(1.75rem, 3vw, 3rem); line-height: 1.2; }
.tour-page :is(.tour-days details, .tour-winter, .tour-terms),
#tour-app :is(.days details, .winter, .terms) { position: static; height: auto; overflow: visible; }
.tour-page :is(.tour-days, .tour-winter, .tour-terms) summary,
#tour-app :is(.days, .winter, .terms) summary {
  position: static;
  float: none;
  height: auto;
  min-height: 60px;
  width: 100%;
  margin: 0;
  line-height: 1.4;
}
.tour-page :is(.tour-days, .tour-winter, .tour-terms) summary :is(span, strong),
#tour-app :is(.days, .winter, .terms) summary :is(span, b, strong) {
  transform: none;
  position: static;
  overflow-wrap: anywhere;
}
.tour-page .tour-days summary,
#tour-app .days summary { grid-template-columns: 80px minmax(0, 1fr) 24px; }
.tour-page .tour-day-content,
#tour-app .days details > div {
  display: block;
  max-width: 800px;
  padding-top: 20px;
}
.tour-page .tour-day-content > img,
#tour-app .days details > div > img {
  aspect-ratio: 2 / 1;
  display: block;
  height: auto;
  max-height: none;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  width: 600px;
}
.tour-page .tour-day-content .itinerary-copy,
#tour-app .days details > div > .itinerary-copy { margin-top: 20px; max-width: 800px; }
.tour-page :is(.tour-winter, .tour-terms) summary,
#tour-app :is(.winter, .terms) summary { grid-template-columns: minmax(0, 1fr) 24px; }
.tour-page .tour-terms summary > span { color: #132025; font-family: var(--serif); font-size: clamp(1.1rem, 1.6vw, 1.35rem); }
.tour-page :is(.tour-days, .tour-winter, .tour-terms) details > div,
.tour-page :is(.tour-winter, .tour-terms) > div,
#tour-app :is(.days details, .winter, .terms) > div { position: static; float: none; clear: both; }
.tour-page .tour-gallery-item { min-width: 0; }
.tour-page .tour-gallery-custom .tour-gallery-item { grid-column: span 6; grid-row: auto; }
.tour-page .tour-gallery-custom .tour-gallery-item img { aspect-ratio: 4 / 3; height: auto; min-height: 0; object-fit: cover; }
@media (max-width: 800px) {
  .tour-page .tour-days summary,
  #tour-app .days summary { gap: 12px; grid-template-columns: 54px minmax(0, 1fr) 20px; }
  .tour-page .tour-gallery-custom .tour-gallery-item { grid-column: span 12; }
}

/* Los párrafos de tours no heredan el margen negativo del FAQ de portada. */
.tour-page :is(.tour-days, .tour-winter, .tour-terms) p,
#tour-app :is(.days, .winter, .terms) p { margin-top: 0; }
.tour-page :is(.tour-winter, .tour-terms) > div { display: flow-root; padding-top: 12px; }

/* Google Maps: mapa integrable y acceso externo sin iframes de enlaces compartidos. */
.tour-page .tour-map-frame { display: flex; flex-direction: column; min-width: 0; }
.tour-page .tour-map-frame iframe { display: block; height: 420px; min-height: 420px; flex: 1 0 auto; }
.tour-page .tour-map-external { background: rgba(19, 32, 37, .9); color: #f3f1eb; margin: 0; padding: 12px 20px; font-size: 13px; }
.tour-page .tour-map-external a { color: inherit; display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
.tour-page .tour-map-frame .map-placeholder { padding: 24px; flex: 1; min-width: 0; }
.tour-page .tour-map-frame .map-placeholder .button { margin-top: 20px; max-width: 100%; }
@media (max-width: 800px) {
  .tour-page .tour-map-frame iframe { height: 300px; min-height: 300px; }
}
