@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');

:root {
    --rv-teal: #087b80;
    --rv-teal-dark: #07565b;
    --rv-orange: #f47721;
    --rv-gold: #ffc247;
    --rv-cream: #fff7e9;
    --rv-text: #283b3d;
    --rv-muted: #687b7d;
    --rv-border: #e7eeee;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Nunito', sans-serif; color: var(--rv-text); background: #fff; }
.navbar { background: rgba(255,255,255,.97); padding: .65rem 0; box-shadow: 0 3px 18px rgba(7,86,91,.08); }
.navbar-brand img { width: 145px; max-height: 72px; object-fit: contain; }
.nav-link { color: var(--rv-teal-dark) !important; }
.nav-link:hover { color: var(--rv-orange) !important; }
.btn-rota { background: var(--rv-orange); color: #fff; border: 2px solid var(--rv-orange); border-radius: 50px; padding: .7rem 1.35rem; font-weight: 900; transition: .2s; }
.btn-rota:hover { background: #df6414; border-color: #df6414; color: #fff; transform: translateY(-1px); }
.btn-rota-outline { background: transparent; color: var(--rv-teal); border: 2px solid var(--rv-teal); border-radius: 50px; padding: .6rem 1.2rem; font-weight: 900; }
.btn-rota-outline:hover { background: var(--rv-teal); color: #fff; }
.hero { position: relative; padding: 6.5rem 0; color: #fff; background: linear-gradient(90deg, rgba(4,54,58,.86), rgba(4,54,58,.48)), url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2000&q=90') center/cover no-repeat; }
.hero h1 { font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 900; line-height: 1.06; letter-spacing: -.03em; }
.hero h1 span { color: #ffd078; }
.hero p { max-width: 650px; font-size: 1.18rem; line-height: 1.7; }
.trip-tag { color: var(--rv-orange); font-weight: 900; letter-spacing: .13em; font-size: .78rem; }
.section-title { color: var(--rv-teal-dark); font-weight: 900; font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.15; }
.section-subtitle { color: var(--rv-muted); font-size: 1.08rem; }
.trip-card { border: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 9px 26px rgba(7,86,91,.09); height: 100%; transition: transform .2s, box-shadow .2s; }
.trip-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(7,86,91,.15); }
.trip-card > img { width: 100%; height: 225px; object-fit: cover; }
.trip-card .card-body { padding: 1.5rem; }
.trip-card h3 { color: var(--rv-teal-dark); font-size: 1.4rem; font-weight: 900; margin-top: .55rem; }
.trip-card p { color: var(--rv-muted); line-height: 1.6; }
.site-footer { background: var(--rv-teal-dark); color: rgba(255,255,255,.82); padding: 2.7rem 0; }
.site-footer p { color: #ffd078; font-weight: 800; }
.footer-logo-link { display: inline-block; margin-bottom: .6rem; }
.footer-logo { width: 180px; max-width: 100%; height: auto; display: block; margin: 0 auto; }
.site-footer small { display: block; margin-top: .8rem; }

.trip-hero { padding: 5.5rem 0 6rem; color: #fff; background: linear-gradient(90deg, rgba(4,54,58,.88), rgba(4,54,58,.5)), url('https://images.unsplash.com/photo-1500375592092-40eb2168fd21?auto=format&fit=crop&w=2000&q=90') center/cover no-repeat; }
.trip-hero h1 { font-size: clamp(2.7rem, 6vw, 4.6rem); font-weight: 900; line-height: 1.05; }
.trip-hero p { max-width: 700px; font-size: 1.15rem; }
.trip-info { position: relative; margin-top: -2.5rem; z-index: 2; background: #fff; border-radius: 20px; padding: 1.5rem; box-shadow: 0 10px 32px rgba(7,86,91,.12); }
.info-item { text-align: center; display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .5rem; }
.info-item .icon { font-size: 1.8rem; }
.info-item strong { color: var(--rv-teal-dark); font-size: 1.05rem; font-weight: 900; }
.info-item span { color: var(--rv-muted); font-size: .9rem; }
.destination-image { width: 100%; max-height: 430px; object-fit: cover; border-radius: 22px; box-shadow: 0 10px 30px rgba(7,86,91,.12); }
.itinerary-day { margin-bottom: 3rem; }
.itinerary-day h2 { color: var(--rv-teal-dark); font-weight: 900; }
.timeline-item { border-left: 3px solid var(--rv-orange); padding: 0 0 1.7rem 1.35rem; margin-left: .55rem; position: relative; }
.timeline-item::before { content: ''; position: absolute; left: -9px; top: 4px; width: 15px; height: 15px; border-radius: 50%; background: var(--rv-orange); border: 3px solid var(--rv-cream); }
.timeline-time { color: var(--rv-orange); font-weight: 900; font-size: .86rem; letter-spacing: .04em; margin-bottom: .35rem; }
.timeline-item h3 { color: var(--rv-teal-dark); font-weight: 900; }
.timeline-item p { color: var(--rv-muted); }
.ratio iframe { border: 0; }
.tip-box { background: #fff; border: 1px solid var(--rv-border); border-radius: 18px; padding: 1.5rem; box-shadow: 0 6px 20px rgba(7,86,91,.06); }
.tip-box h4 { color: var(--rv-teal-dark); }
.tip-box p { color: var(--rv-muted); margin-bottom: 0; line-height: 1.65; }
#resultadoCustos .tip-box { background: var(--rv-cream); }
.site-footer a:not(.footer-logo-link) { color: #ffd078; }
@media (max-width: 767px) {
    .hero { padding: 4.5rem 0; }
    .trip-hero { padding: 4rem 0 5rem; }
    .navbar-brand img { width: 120px; }
    .trip-card > img { height: 205px; }
    .trip-info { padding: .9rem; }
}
