
/* CSV 17.4 Premium Design System — Centro del Viajero */
:root{
  --csv-navy:#06172b;--csv-navy-2:#0b2542;--csv-blue:#123c66;
  --csv-gold:#e8b84a;--csv-gold-2:#f5d47f;--csv-cream:#fbf8f2;
  --csv-white:#fff;--csv-text:#142033;--csv-muted:#5d6978;--csv-border:#e7dfd1;
  --csv-success:#14815b;--csv-danger:#c73737;
  --radius-sm:12px;--radius-md:18px;--radius-lg:28px;
  --shadow-sm:0 8px 24px rgba(6,23,43,.08);
  --shadow-md:0 18px 48px rgba(6,23,43,.13);
  --shadow-lg:0 30px 80px rgba(6,23,43,.18);
  --ease:cubic-bezier(.2,.8,.2,1);
}
html{scroll-behavior:smooth}
body.traveler-page{background:linear-gradient(180deg,#fff 0,#fbfaf7 42%,#f8f5ef 100%);color:var(--csv-text)}
body.traveler-page main{overflow:hidden}
body.traveler-page .wrap{width:min(1180px,calc(100% - 36px))}
body.traveler-page header{backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(6,23,43,.08);box-shadow:0 6px 24px rgba(6,23,43,.05)}
body.traveler-page .traveler-nav{position:relative;font-weight:800;color:var(--csv-navy)!important}
body.traveler-page .traveler-nav:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--csv-gold),var(--csv-gold-2))}

.traveler-hero{position:relative;isolation:isolate;padding:clamp(74px,9vw,132px) 0 clamp(68px,8vw,118px)!important;background:var(--csv-navy);color:#fff;overflow:hidden}
.traveler-hero:before{content:"";position:absolute;inset:0;z-index:-3;background-image:linear-gradient(90deg,rgba(6,23,43,.96) 0%,rgba(6,23,43,.88) 42%,rgba(6,23,43,.54) 100%),var(--hero-img,url('/assets/les-coves-panoramica-frontal-1600.webp'));background-size:cover;background-position:center}
.traveler-hero:after{content:"";position:absolute;inset:auto -10% -52% 34%;height:120%;z-index:-2;background:radial-gradient(circle,rgba(232,184,74,.22),transparent 62%);pointer-events:none}
.traveler-hero .wrap{position:relative}
.traveler-kicker{display:inline-flex!important;align-items:center;gap:10px;margin-bottom:20px!important;padding:9px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);font-size:.78rem!important;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#fff!important}
.traveler-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--csv-gold);box-shadow:0 0 0 5px rgba(232,184,74,.16)}
.traveler-hero h1{max-width:860px;margin:0 0 20px!important;font-size:clamp(2.65rem,6vw,5.25rem)!important;line-height:.96!important;letter-spacing:-.045em;color:#fff!important;text-wrap:balance}
.traveler-hero p{max-width:740px;margin:0 0 32px!important;font-size:clamp(1.05rem,1.8vw,1.3rem)!important;line-height:1.66!important;color:rgba(255,255,255,.86)!important;text-wrap:pretty}
.traveler-actions{display:flex!important;flex-wrap:wrap;gap:12px!important;margin-top:24px!important}
.traveler-actions a,.v-link,.v-call,.cta-button{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 20px!important;border-radius:14px!important;border:1px solid transparent!important;text-decoration:none!important;font-weight:850!important;line-height:1.1!important;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease)!important;cursor:pointer}
.traveler-actions a:not(.secondary),.v-link,.v-call,.cta-button.primary{background:linear-gradient(135deg,var(--csv-gold-2),var(--csv-gold))!important;color:var(--csv-navy)!important;box-shadow:0 12px 28px rgba(232,184,74,.24)!important}
.traveler-actions a.secondary,.cta-button.secondary{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.32)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)!important}
.v-card .traveler-actions a.secondary{background:#fff!important;color:var(--csv-navy)!important;border-color:var(--csv-border)!important}
.traveler-actions a:hover,.v-link:hover,.v-call:hover,.cta-button:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(6,23,43,.16)!important}
.traveler-actions a:focus-visible,.v-link:focus-visible,.v-call:focus-visible{outline:3px solid rgba(232,184,74,.4);outline-offset:3px}
.cta-icon{width:19px;height:19px;flex:none}

.v-section{padding:clamp(58px,7vw,96px) 0!important;position:relative}
.v-section.alt{background:linear-gradient(180deg,#f7f2e9,#fbf8f2)!important;border-block:1px solid rgba(6,23,43,.06)}
.v-intro{max-width:790px;margin-bottom:34px!important}
.v-intro .v-badge{margin-bottom:14px}
.v-intro h2{margin:0 0 14px!important;font-size:clamp(2rem,4.1vw,3.35rem)!important;line-height:1.05!important;letter-spacing:-.035em;color:var(--csv-navy)!important;text-wrap:balance}
.v-intro p{font-size:1.08rem!important;line-height:1.74!important;color:var(--csv-muted)!important}
.v-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch}
.v-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.v-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:28px!important;border:1px solid rgba(6,23,43,.09)!important;border-radius:var(--radius-lg)!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,255,255,.88))!important;box-shadow:var(--shadow-sm)!important;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)!important}
.v-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--csv-gold),transparent 74%);opacity:.9}
.v-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)!important;border-color:rgba(232,184,74,.35)!important}
.v-card h3{margin:18px 0 10px!important;font-size:clamp(1.32rem,2vw,1.62rem)!important;line-height:1.18!important;letter-spacing:-.02em;color:var(--csv-navy)!important;text-wrap:balance}
.v-card p,.v-card li{color:var(--csv-muted)!important;line-height:1.67!important}
.v-card .v-link{margin-top:auto;align-self:flex-start;min-height:48px;padding:13px 17px!important}
.v-icon{display:grid!important;place-items:center;width:58px!important;height:58px!important;margin:0!important;border-radius:17px!important;background:linear-gradient(145deg,#fff8e9,#f2dfac)!important;color:var(--csv-navy)!important;box-shadow:inset 0 0 0 1px rgba(232,184,74,.35),0 10px 24px rgba(6,23,43,.08)!important;font-size:0!important}
.v-icon svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.v-emergency .v-icon{background:linear-gradient(145deg,#fff0ef,#f7c9c5)!important;color:#9f2525!important}
.v-badge{display:inline-flex!important;align-items:center;gap:7px;width:max-content;max-width:100%;padding:7px 11px!important;border-radius:999px!important;background:#f5efe3!important;color:#6b5320!important;border:1px solid #ead9ad!important;font-size:.74rem!important;line-height:1.2!important;font-weight:850!important;letter-spacing:.035em!important;text-transform:uppercase}
.v-source{margin-top:16px;padding:14px 16px;border-radius:14px;background:#f7f4ee;color:#586270!important;border-left:4px solid var(--csv-gold)}
.v-safety{position:relative;padding:clamp(30px,5vw,52px)!important;border-radius:var(--radius-lg)!important;background:linear-gradient(135deg,var(--csv-navy),var(--csv-navy-2))!important;color:#fff!important;box-shadow:var(--shadow-lg)!important;overflow:hidden}
.v-safety:after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(232,184,74,.28),transparent 67%)}
.v-safety h2{margin:0 0 14px!important;font-size:clamp(1.8rem,3.5vw,2.85rem)!important;line-height:1.1!important;color:#fff!important}
.v-safety p,.v-safety li{color:rgba(255,255,255,.83)!important;font-size:1.03rem!important;line-height:1.72!important}
.v-safety .v-call{margin-top:10px;position:relative;z-index:1}
.v-quick{padding:0 18px 28px!important;background:transparent!important}
.v-quick a{display:flex!important;align-items:center;justify-content:center;max-width:520px;margin:auto;min-height:54px;border-radius:15px;background:#a92828!important;color:#fff!important;font-weight:900!important;text-decoration:none;box-shadow:0 14px 32px rgba(169,40,40,.22)}
.v-footer-note{max-width:860px!important;opacity:.72!important;line-height:1.6!important}

/* cards with media */
.v-card.media-card{padding:0!important}
.media-card .card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dfe6ec}
.media-card .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.media-card:hover .card-media img{transform:scale(1.045)}
.media-card .card-body{display:flex;flex-direction:column;flex:1;padding:25px 26px 27px}
.media-card .v-badge{margin-bottom:3px}

@media(max-width:900px){
 .v-grid,.v-grid.two{grid-template-columns:1fr 1fr!important}
 .traveler-hero:before{background-image:linear-gradient(90deg,rgba(6,23,43,.96),rgba(6,23,43,.72)),var(--hero-img,url('/assets/les-coves-panoramica-frontal-960.webp'))}
}
@media(max-width:640px){
 body.traveler-page .wrap{width:min(100% - 28px,1180px)}
 .traveler-hero{padding:62px 0 66px!important}
 .traveler-hero h1{font-size:clamp(2.38rem,12vw,3.45rem)!important}
 .traveler-hero p{font-size:1.03rem!important}
 .traveler-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
 .traveler-actions a{width:100%}
 .v-section{padding:52px 0!important}
 .v-grid,.v-grid.two{grid-template-columns:1fr!important;gap:16px!important}
 .v-card{padding:23px!important;border-radius:22px!important}
 .v-card .v-link{width:100%;align-self:stretch}
 .v-safety{padding:28px 23px!important;border-radius:22px!important}
 .v-intro{margin-bottom:25px!important}
 .v-intro h2{font-size:2.05rem!important}
 .traveler-kicker{font-size:.7rem!important;letter-spacing:.085em}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
