.hero.turismo {
    height: 70vh;
    background:
        linear-gradient(135deg, rgba(231, 201, 195, 0.42) 0%, rgba(246, 241, 235, 1) 60%),
        radial-gradient(circle at 20% 80%, rgba(201, 162, 77, 0.22) 0%, transparent 55%),
        radial-gradient(circle at 80% 20%, rgba(158, 124, 58, 0.14) 0%, transparent 55%);
}
.hero.turismo h1 { margin-top: 2rem; }
.intro {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.8;
    color: var(--stone);
    padding: 0 1.5rem 2rem;
}
.spots {
    padding: 6rem 3rem;
    background: linear-gradient(to bottom, var(--ivory), rgba(231, 201, 195, 0.18));
}
.spots-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(260px, 1fr));
    gap: 2.5rem;
}
.spot-card {
    background: #fff;
    border: 1px solid rgba(201, 162, 77, 0.25);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.spot-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 45px rgba(0,0,0,0.12);
}
.spot-image.inline-carousel {
    height: 210px;
}
.spot-card .inline-dots { color: var(--champagne); }
.spot-image img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}
.spot-body {
    padding: 1.6rem 1.6rem 2rem;
}
.spot-body h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--graphite);
    margin-bottom: 0.65rem;
}
.spot-body p {
    color: var(--stone);
    line-height: 1.6;
    margin-bottom: 0.9rem;
}
.tag {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    background: rgba(201, 162, 77, 0.15);
    color: var(--champagne);
    border-radius: 999px;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    margin-right: 0.4rem;
    margin-bottom: 0.4rem;
}
.spot-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.6rem;
    color: var(--champagne);
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.03em;
}
.spot-link:hover {
    color: var(--gold-diamond);
}
.experience {
    padding: 6rem 3rem;
    background: linear-gradient(135deg, rgba(201, 162, 77, 0.12), var(--ivory));
    text-align: center;
}
.experience h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.6rem;
    color: var(--champagne);
    margin-bottom: 1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.experience p {
    max-width: 900px;
    margin: 0 auto 2rem;
    font-size: 1.2rem;
    line-height: 1.7;
    color: var(--stone);
}
.cta-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}
.cta-outline {
    display: inline-block;
    padding: 1.05rem 2.8rem;
    border: 2px solid var(--champagne);
    color: var(--champagne);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    border-radius: 999px;
    transition: all .3s ease;
    background: transparent;
}
.cta-outline:hover {
    background: var(--champagne);
    color: var(--ivory);
    box-shadow: 0 12px 30px rgba(158,124,58,0.22);
}

.map-section {
    padding: 0 0 6rem;
    background: linear-gradient(to bottom, var(--ivory), rgba(231,201,195,0.14));
}
.map-frame {
    max-width: 1100px;
    margin: 0 auto;
    border: 1px solid rgba(201, 162, 77, 0.2);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}
.map-frame iframe {
    width: 100%;
    height: 420px;
    border: 0;
}
@media (max-width: 480px) {
    .hero.turismo { height: auto; min-height: 60vh; padding: 6rem 1rem 3rem; }
    .hero.turismo h1 { font-size: 2.4rem; letter-spacing: 0.06em; }
    .hero-subtitle { font-size: 1rem; }
    .intro { font-size: 1.05rem; padding: 0 1rem 1.6rem; }
    .spots { padding: 3.8rem 1rem; }
    .spots-grid { display: grid; grid-template-columns: 1fr !important; gap: 1.4rem; justify-items: stretch; }
    .spot-card { border-radius: 14px; }
    .spot-image.inline-carousel { height: 160px; }
    .spot-image img { height: 160px; }
    .spot-body { padding: 1.2rem 1.2rem 1.6rem; }
    .spot-body h3 { font-size: 1.2rem; }
    .spot-body p { font-size: 1rem; line-height: 1.55; }
    .map-section { padding: 0 0 3.8rem; }
    .map-frame { border-radius: 14px; }
    .map-frame iframe { height: 260px; }
}
/* Telas até ~390px */
@media (max-width: 420px) {
    .hero.turismo { padding: 5.8rem 0.9rem 2.8rem; }
    .hero.turismo h1 { font-size: 2.1rem; }
    .intro { font-size: 1.02rem; padding: 0 0.9rem 1.5rem; }
    .spots { padding: 3.6rem 0.9rem; }
    .spots-grid { gap: 1.1rem; }
    .spot-card { border-radius: 14px; }
    .spot-image.inline-carousel { height: 150px; }
    .spot-image img { height: 150px; }
    .spot-body { padding: 1.1rem 1.1rem 1.4rem; }
    .spot-body h3 { font-size: 1.15rem; }
    .spot-body p { font-size: 0.98rem; line-height: 1.55; }
    .experience { padding: 3.8rem 1rem; }
    .experience h2 { font-size: 1.9rem; }
    .experience p { font-size: 1.02rem; line-height: 1.6; }
    .map-section { padding: 0 0 3.4rem; }
    .map-frame iframe { height: 240px; }
}
@media (max-width: 768px) {
    .hero.turismo { height: 65vh; padding: 6.5rem 1rem 3rem; }
    .hero.turismo h1 { font-size: 2.2rem; }
    .hero-subtitle { font-size: 1rem; }
    .intro { font-size: 1.05rem; padding: 0 1rem 1.6rem; }
    .spots, .experience, .map-section { padding: 4rem 1rem; }
    .spots-grid { grid-template-columns: 1fr !important; gap: 1.4rem; width: 100%; justify-items: stretch; }
    .spot-card { width: 100%; }
    .spot-image.inline-carousel { height: 170px; }
    .spot-image img { height: 170px; }
    .spot-body h3 { font-size: 1.25rem; }
    .spot-body p { font-size: 1.02rem; }
    .experience h2 { font-size: 2rem; }
    .experience p { font-size: 1.05rem; }
    .cta-row { flex-direction: column; }
    .map-frame iframe { height: 320px; }
}
@media (max-width: 1200px) and (min-width: 769px) {
    .hero.turismo { height: auto; min-height: 70vh; padding: 8rem 1.6rem 3.2rem; }
    .hero.turismo h1 { font-size: 3rem; }
    .intro { font-size: 1.15rem; max-width: 820px; }
    .spots { padding: 5rem 2rem; }
    .spots-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
    .spot-image img { height: 190px; }
    .experience { padding: 5rem 2rem; }
    .map-section { padding: 0 0 5rem; }
    .map-frame iframe { height: 360px; }
}
@media (max-width: 1366px) and (max-height: 700px) {
    .hero.turismo { min-height: 68vh; padding: 7.2rem 1.3rem 2.6rem; }
    .hero.turismo h1 { font-size: 2.8rem; }
    .hero-subtitle { font-size: 1.05rem; margin-bottom: 1.3rem; }
    .intro { font-size: 1.05rem; padding: 0 1.2rem 1.4rem; }
    .spots { padding: 4.6rem 1.6rem; }
    .spots-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.8rem; }
    .spot-image img { height: 180px; }
    .experience { padding: 4.6rem 1.6rem; }
    .map-section { padding: 0 0 4.6rem; }
    .map-frame iframe { height: 340px; }
}
