/* Tour guide template — first applied to Passeio de Escuna. */
.tour-editorial { --tour-ink:#173b35; --tour-green:#216153; --tour-paper:#f8f8f4; --tour-line:#d9dfd9; background:var(--tour-paper); color:var(--tour-ink); }
.tour-editorial .navbar { background:rgba(248,248,244,.94); border-bottom:1px solid rgba(23,59,53,.12); box-shadow:none; }
.tour-editorial .navbar .logo-visit { color:#62736d; }
.tour-editorial .navbar .logo-ps,.tour-editorial .navbar .nav-links a { color:var(--tour-ink); }
.tour-editorial .navbar .nav-links a:hover,.tour-editorial .navbar .nav-links a.is-active { color:var(--tour-green); background:#eef1eb; }
.tour-editorial .navbar .nav-cta { color:var(--tour-ink); background:transparent; border:1px solid var(--tour-line); box-shadow:none; }
.tour-editorial .nav-toggle span { background:var(--tour-ink); }

.tour-editorial .tour-hero { min-height:min(760px,calc(100svh - 20px)); margin:92px 20px 0; border-radius:24px; overflow:hidden; }
.tour-editorial .tour-hero-overlay { background:linear-gradient(90deg,rgba(8,32,30,.89),rgba(8,32,30,.48) 52%,rgba(8,32,30,.1)),linear-gradient(0deg,rgba(8,32,30,.62),transparent 42%); }
.tour-editorial .tour-hero-content { max-width:1280px; padding:0 48px 52px; }
.tour-editorial .tour-badges { gap:8px; margin-bottom:22px; }
.tour-editorial .tour-badges span { padding:7px 11px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:.7rem; }
.tour-editorial .tour-hero h1 { max-width:720px; margin-bottom:20px; font-family:var(--font-display); font-size:clamp(4.3rem,7.4vw,7.4rem); font-weight:500; line-height:.91; letter-spacing:-.045em; }
.tour-editorial .tour-hero h1 em { color:#d7ece5; }
.tour-editorial .tour-hero p { max-width:510px; color:#f5f7f3; font-size:.98rem; line-height:1.78; }
.tour-editorial .tour-stats { gap:0; max-width:720px; padding-top:20px; border-top:1px solid rgba(255,255,255,.3); }
.tour-editorial .tour-stats div { flex:1; min-width:125px; }
.tour-editorial .tour-stats strong { font-family:var(--font-body); font-size:1.1rem; font-weight:500; }
.tour-editorial .tour-stats span { font-size:.64rem; letter-spacing:.08em; }

.tour-editorial .tour-intro,.tour-editorial .route-section,.tour-editorial .tips-section,.tour-editorial .faq { background:var(--tour-paper); padding-block:92px; }
.tour-editorial .intro-grid,.tour-editorial .tips-grid { max-width:1120px; gap:82px; }
.tour-editorial .intro-copy { max-width:650px; }
.tour-editorial .intro-copy h2,.tour-editorial .section-header h2,.tour-editorial .tips-grid h2 { color:var(--tour-ink); font-family:var(--font-display); font-size:clamp(3rem,4.6vw,4.8rem); font-weight:500; line-height:.99; letter-spacing:-.04em; }
.tour-editorial .intro-copy h2 em,.tour-editorial .section-header h2 em { color:#96704d; }
.tour-editorial .intro-copy p,.tour-editorial .tips-grid p { color:#465b54; font-size:1rem; line-height:1.85; }
.tour-editorial .quick-info-card,.tour-editorial .price-card { padding:28px; border:1px solid var(--tour-line); border-radius:18px; background:#eff2ed; box-shadow:none; }
.tour-editorial .quick-info-card h3,.tour-editorial .price-card h3 { font-family:var(--font-body); font-size:.86rem; letter-spacing:.08em; text-transform:uppercase; color:var(--tour-ink); }
.tour-editorial .quick-list li { border-bottom-color:var(--tour-line); }

.tour-editorial .gallery-section { padding-block:92px; background:#123b35; }
.tour-editorial .gallery-section .section-header h2 { color:#fff; }
.tour-editorial .gallery-grid { gap:12px; }
.tour-editorial .gallery-item { border-radius:14px; overflow:hidden; }
.tour-editorial .gallery-item img { transition:transform .35s ease; }
.tour-editorial .gallery-item:hover img { transform:scale(1.03); }
.tour-editorial .gallery-item figcaption { color:#fff; font-size:.75rem; }

.tour-editorial .route-grid { gap:0; margin-top:46px; border-top:1px solid var(--tour-line); border-bottom:1px solid var(--tour-line); }
.tour-editorial .route-grid article { padding:30px 24px; border-right:1px solid var(--tour-line); border-radius:0; background:transparent; }
.tour-editorial .route-grid article:last-child { border-right:0; }
.tour-editorial .route-grid article:hover { transform:none; box-shadow:none; background:#eef1eb; }
.tour-editorial .route-grid article > span { color:#96704d; font-size:.72rem; }
.tour-editorial .route-grid h3 { color:var(--tour-ink); font-family:var(--font-display); font-size:1.7rem; font-weight:500; }
.tour-editorial .route-grid p { color:#526760; line-height:1.7; }
.tour-editorial .check-list li { border-color:var(--tour-line); color:#465b54; }
.tour-editorial .faq-list { max-width:820px; }
.tour-editorial .faq-item { border-color:var(--tour-line); background:transparent; }

@media (max-width:768px) {
  .tour-editorial .tour-hero { min-height:670px; margin:82px 10px 0; border-radius:18px; }
  .tour-editorial .tour-hero-content { padding:0 24px 30px; }
  .tour-editorial .tour-hero h1 { font-size:clamp(3.7rem,14vw,5rem); }
  .tour-editorial .tour-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .tour-editorial .tour-intro,.tour-editorial .route-section,.tour-editorial .tips-section,.tour-editorial .faq,.tour-editorial .gallery-section { padding-block:62px; }
  .tour-editorial .intro-grid,.tour-editorial .tips-grid { grid-template-columns:1fr; gap:38px; }
  .tour-editorial .quick-info-card { position:static; }
  .tour-editorial .route-grid { grid-template-columns:1fr; }
  .tour-editorial .route-grid article { border-right:0; border-bottom:1px solid var(--tour-line); }
  .tour-editorial .route-grid article:last-child { border-bottom:0; }
}
