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

.beach-editorial .praia-hero { min-height: min(760px, calc(100svh - 20px)); margin: 92px 20px 0; border-radius: 24px; }
.beach-editorial .praia-hero-overlay { background: linear-gradient(90deg, rgba(8,32,30,.88), rgba(8,32,30,.48) 52%, rgba(8,32,30,.1)), linear-gradient(0deg, rgba(8,32,30,.64), transparent 42%); }
.beach-editorial .praia-hero-content { max-width: 1280px; padding: 0 48px 48px; }
.beach-editorial .breadcrumb { margin-bottom: 28px; }
.beach-editorial .praia-badges { margin-bottom: 24px; }
.beach-editorial .badge { padding: 7px 11px; font-size: .7rem; backdrop-filter: none; }
.beach-editorial .praia-hero h1 { max-width: 700px; 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; }
.beach-editorial .praia-hero h1 em { color: #d9ebe0; }
.beach-editorial .praia-hero-sub { max-width: 500px; margin-bottom: 32px; color: #f5f7f3; font-size: .98rem; line-height: 1.78; }
.beach-editorial .praia-hero-stats { gap: 0; max-width: 760px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.3); }
.beach-editorial .ph-stat { flex: 1; min-width: 105px; }
.beach-editorial .ph-stat strong { font-family: var(--font-body); font-size: 1.2rem; font-weight: 500; }
.beach-editorial .ph-stat span { font-size: .64rem; letter-spacing: .08em; }
.beach-editorial .ph-divider { height: 34px; margin-inline: 16px; }
.beach-editorial .hero-scroll { display: none; }

.beach-editorial .praia-intro { padding: 96px 0; background: var(--beach-paper); }
.beach-editorial .intro-grid { grid-template-columns: minmax(0,1fr) 360px; max-width: 1120px; gap: 82px; }
.beach-editorial .intro-text { max-width: 650px; }
.beach-editorial .intro-text h2,
.beach-editorial .section-header h2 { color: var(--beach-ink); font-family: var(--font-display); font-size: clamp(3rem,4.6vw,4.8rem); font-weight: 500; line-height: .99; letter-spacing: -.04em; }
.beach-editorial .intro-text h2 em,
.beach-editorial .section-header h2 em { color: #96704d; }
.beach-editorial .intro-text p { color: #465b54; font-size: 1rem; line-height: 1.85; }
.beach-editorial .intro-text .btn { min-height: 50px; margin-top: 18px; padding: 14px 23px; background: var(--beach-green); box-shadow: none; }
.beach-editorial .quick-info-card { padding: 28px; border: 1px solid var(--beach-line); border-radius: 18px; background: #eff2ed; box-shadow: none; }
.beach-editorial .quick-info-card h3 { font-family: var(--font-body); font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; color: var(--beach-ink); border-color: var(--beach-line); }
.beach-editorial .quick-list { gap: 15px; }
.beach-editorial .quick-list li { gap: 10px; }
.beach-editorial .quick-list li strong { color: var(--beach-ink); }

.beach-editorial .praia-gallery { padding: 96px 0; background: #123b35; }
.beach-editorial .praia-gallery .section-header h2 { color: #fff; }
.beach-editorial .gallery-grid { gap: 12px; }
.beach-editorial .gallery-item { border-radius: 14px; }
.beach-editorial .gallery-item img { height: 100%; min-height: 180px; object-fit: cover; }
.beach-editorial .gallery-item:first-child img { min-height: 372px; }
.beach-editorial .gallery-caption { opacity: 1; transform: none; font-size: .75rem; }

.beach-editorial .barracas { padding: 96px 0; background: var(--beach-paper); }
.beach-editorial .barracas-grid { gap: 0; border-top: 1px solid var(--beach-line); border-bottom: 1px solid var(--beach-line); }
.beach-editorial .barraca-card { border: 0; border-right: 1px solid var(--beach-line); border-radius: 0; background: transparent; box-shadow: none; }
.beach-editorial .barraca-card:last-child { border-right: 0; }
.beach-editorial .barraca-card.destaque { border-color: var(--beach-line); }
.beach-editorial .barraca-card:hover { transform: none; box-shadow: none; background: #eef1eb; }
.beach-editorial .barraca-img,
.beach-editorial .barraca-card.destaque .barraca-img { height: 220px; }
.beach-editorial .barraca-body { padding: 26px; }
.beach-editorial .barraca-header h3 { font-family: var(--font-display); font-size: 1.8rem; font-weight: 500; color: var(--beach-ink); }
.beach-editorial .barraca-body p { color: #526760; line-height: 1.7; }
.beach-editorial .barraca-features span { background: transparent; border-color: var(--beach-line); }

@media (max-width: 768px) {
  .beach-editorial .praia-hero { min-height: 670px; margin: 82px 10px 0; border-radius: 18px; }
  .beach-editorial .praia-hero-content { padding: 0 24px 28px; }
  .beach-editorial .praia-hero h1 { font-size: clamp(3.7rem,14vw,5rem); }
  .beach-editorial .praia-hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .beach-editorial .ph-divider { display: none; }
  .beach-editorial .praia-intro,
  .beach-editorial .praia-gallery,
  .beach-editorial .barracas { padding: 62px 0; }
  .beach-editorial .intro-grid { grid-template-columns: 1fr; gap: 38px; }
  .beach-editorial .quick-info-card { position: static; }
  .beach-editorial .gallery-grid { grid-template-columns: 1fr 1fr; }
  .beach-editorial .gallery-item:first-child { grid-column: span 2; }
  .beach-editorial .gallery-item:first-child img { min-height: 260px; }
  .beach-editorial .barracas-grid { grid-template-columns: 1fr; }
  .beach-editorial .barraca-card { border-right: 0; border-bottom: 1px solid var(--beach-line); }
  .beach-editorial .barraca-card:last-child { border-bottom: 0; }
}
