:root{
  --csv19-navy:#06172b;--csv19-navy2:#0d3155;--csv19-orange:#ff7600;--csv19-orange2:#ff9b23;
  --csv19-green:#20c864;--csv19-red:#ef3f35;--csv19-paper:#fffdf9;--csv19-shadow:rgba(6,23,43,.22);
  --csv19-ease:cubic-bezier(.2,.8,.2,1)
}
/* V19 Premium Depth: one visual language on desktop and mobile */
:is(.btn,.touch-btn,.touch-action,.v-link,.v-call,.traveler-actions a,.utility-pill,.nav-wa){
  position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.68),inset 0 -5px 8px rgba(67,29,0,.18),0 3px 0 rgba(91,42,0,.16),0 12px 24px rgba(6,23,43,.16),0 26px 50px rgba(6,23,43,.08)!important;
  transition:transform .18s var(--csv19-ease),box-shadow .18s var(--csv19-ease),filter .18s ease!important
}
:is(.btn,.touch-btn,.touch-action,.v-link,.v-call,.traveler-actions a,.utility-pill,.nav-wa)::before{
  content:"";position:absolute;inset:1px 4px auto;height:48%;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.12) 48%,transparent);opacity:.78;z-index:-1
}
:is(.btn,.touch-btn,.touch-action,.v-link,.v-call,.traveler-actions a,.utility-pill,.nav-wa):hover{transform:translateY(-3px) scale(1.015);filter:saturate(1.08) contrast(1.02)}
:is(.btn,.touch-btn,.touch-action,.v-link,.v-call,.traveler-actions a,.utility-pill,.nav-wa):active{transform:translateY(2px) scale(.975)!important;box-shadow:inset 0 5px 10px rgba(6,23,43,.22),inset 0 1px 1px rgba(255,255,255,.45),0 4px 10px rgba(6,23,43,.13)!important}

.traveler-actions a:not(.secondary),.v-call,.btn:not(.alt):not(.outline):not(.dark),.touch-action{
  background:radial-gradient(circle at 28% 12%,#ffd37a 0 7%,transparent 22%),linear-gradient(160deg,var(--csv19-orange2),var(--csv19-orange) 55%,#d84a00)!important;color:#fff!important;text-shadow:0 1px 1px rgba(84,28,0,.35)
}
.traveler-actions a.secondary,.utility-pill,.btn.alt,.btn.outline,.btn.dark{
  background:linear-gradient(160deg,#fff,#f3f6f8 52%,#d8e0e7)!important;color:var(--csv19-navy)!important;border-color:rgba(6,23,43,.12)!important
}

:is(.touch-card,.v-card,.v-row,.section,.home-traveler,.v-safety){
  position:relative;isolation:isolate;border-color:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 2px 2px rgba(6,23,43,.06),0 14px 32px rgba(6,23,43,.10),0 32px 70px rgba(6,23,43,.07)!important;
  transition:transform .25s var(--csv19-ease),box-shadow .25s var(--csv19-ease)!important
}
:is(.touch-card,.v-card,.v-row,.section)::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.56),transparent 34%,rgba(255,118,0,.035) 100%);z-index:-1}
:is(.touch-card,.v-card,.v-row,.section):hover{transform:translateY(-5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 5px rgba(6,23,43,.07),0 20px 42px rgba(6,23,43,.14),0 42px 82px rgba(6,23,43,.08)!important}

.touch-icon,.v-icon{
  border:1px solid rgba(255,255,255,.84)!important;
  background:radial-gradient(circle at 30% 18%,#fff4d7 0 8%,transparent 25%),linear-gradient(155deg,#ffb32f,#ff7600 58%,#cf4300)!important;
  color:#fff!important;box-shadow:inset 0 2px 3px rgba(255,255,255,.7),inset 0 -5px 8px rgba(86,26,0,.26),0 3px 0 rgba(111,42,0,.17),0 12px 24px rgba(6,23,43,.18)!important
}
.touch-icon svg,.v-icon svg{filter:drop-shadow(0 2px 1px rgba(6,23,43,.28))}

/* Circular tactile actions, same shape on all screens */
a[href^="tel:"]:not(.back):not(.utility-pill),a[href*="google.com/maps"] .touch-action{
  text-decoration:none
}
.v-row>a[href^="tel:"],.v-list .v-row>a[href^="tel:"]{
  display:inline-grid!important;place-items:center;min-width:54px;min-height:54px;padding:0 17px!important;border-radius:999px!important;
  background:radial-gradient(circle at 28% 14%,#ffd17a 0 7%,transparent 23%),linear-gradient(155deg,#ff9f26,#ff6a00 58%,#c94300)!important;color:#fff!important;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.72),inset 0 -5px 9px rgba(90,27,0,.27),0 3px 0 rgba(100,35,0,.2),0 12px 25px rgba(6,23,43,.2)!important
}

/* WhatsApp: glassy, visible, safe-area aware */
.floatbar{right:max(22px,calc(env(safe-area-inset-right) + 14px))!important;bottom:max(26px,calc(env(safe-area-inset-bottom) + 18px))!important;overflow:visible!important}
.wa-premium,#csv-whatsapp-float{
  width:66px!important;height:66px!important;border-radius:50%!important;overflow:visible!important;
  background:radial-gradient(circle at 31% 15%,#b9ffd0 0 7%,rgba(185,255,208,.45) 12%,transparent 27%),linear-gradient(155deg,#3be47b,#16b94f 58%,#087d32)!important;
  border:2px solid rgba(255,255,255,.9)!important;color:#fff!important;
  box-shadow:inset 0 3px 4px rgba(255,255,255,.72),inset 0 -7px 11px rgba(0,75,28,.36),0 4px 0 rgba(0,83,32,.25),0 13px 28px rgba(6,23,43,.28),0 0 0 7px rgba(37,211,102,.08)!important
}
.wa-premium::after,#csv-whatsapp-float::after{content:"";position:absolute;inset:7px 10px auto;height:22px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,0));pointer-events:none}
.wa-unread,#csv-whatsapp-float .badge{top:-5px!important;right:-5px!important;min-width:23px!important;height:23px!important;padding:0 6px!important;border-radius:999px!important;background:linear-gradient(145deg,#ff655b,#e1261c)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 5px 12px rgba(106,10,5,.34)!important;overflow:visible!important;font-weight:900!important}

header{box-shadow:0 8px 28px rgba(6,23,43,.08)}
.menu-toggle{border-radius:16px!important;background:linear-gradient(145deg,#fff,#e9eef2)!important;border:1px solid rgba(6,23,43,.12)!important;box-shadow:inset 0 2px 2px rgba(255,255,255,.9),0 6px 14px rgba(6,23,43,.12)!important}

@media(max-width:760px){
  .wrap{width:min(100% - 30px,1180px)!important}
  .v-section{padding:54px 0!important}.v-intro{margin-bottom:22px!important}
  .v-list{gap:14px!important}.v-row{grid-template-columns:1fr auto!important;gap:8px 14px!important;padding:18px!important;border-radius:22px!important;align-items:center!important}
  .v-row>b{grid-column:1}.v-row>span{grid-column:1;line-height:1.45!important}.v-row>a{grid-column:2;grid-row:1/span 2;align-self:center!important}
  .touch-card{border-radius:24px!important}.touch-card.compact{padding:22px!important}
  .traveler-actions{display:grid!important;grid-template-columns:1fr!important}.traveler-actions a{width:100%!important;min-height:56px!important}
  .utility-strip{display:grid!important;grid-template-columns:1fr!important}.utility-pill{width:100%!important;justify-content:center!important;min-height:54px!important}
  .wa-premium,#csv-whatsapp-float{width:62px!important;height:62px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}:is(.touch-card,.v-card,.v-row,.section,.btn,.touch-btn,.touch-action,.v-link,.v-call,.traveler-actions a,.utility-pill,.nav-wa){transition:none!important}}

/* =========================================================
   CSV 19.1 — FINAL REFINEMENT
   Azul corporativo, contraste contextual y marcos premium
   ========================================================= */
:root{
  --csv19-blue:#123f70;
  --csv19-blue2:#071f3b;
  --csv19-blue3:#23679f;
  --csv19-graphite:#101820;
}

/* Botón principal: azul serio con texto blanco y destello sutil */
:is(.btn,.touch-action,.traveler-actions a:not(.secondary)){
  background:
    radial-gradient(circle at 28% 10%,rgba(150,213,255,.64) 0 5%,transparent 21%),
    linear-gradient(155deg,var(--csv19-blue3),var(--csv19-blue) 55%,var(--csv19-blue2))!important;
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,20,42,.38)!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.62),inset 0 -6px 10px rgba(1,18,36,.30),0 3px 0 rgba(1,24,47,.20),0 12px 25px rgba(6,23,43,.20),0 25px 48px rgba(6,23,43,.09)!important;
}

/* Sobre fondos oscuros: botón blanco con texto azul */
:is(.hero,.experience,.dark-panel,.promise-main,.v-hero,.traveler-hero) :is(.btn,.touch-action,.traveler-actions a){
  background:linear-gradient(155deg,#ffffff,#f4f7fa 54%,#dce4eb)!important;
  color:var(--csv19-blue2)!important;
  text-shadow:none!important;
  border-color:rgba(255,255,255,.88)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -5px 8px rgba(6,23,43,.09),0 3px 0 rgba(1,24,47,.12),0 13px 28px rgba(0,12,28,.28)!important;
}

/* WhatsApp: identidad reconocible en cabecera y flotante */
.nav-wa,
a.btn.nav-wa{
  background:radial-gradient(circle at 28% 12%,#baffcf 0 6%,transparent 22%),linear-gradient(155deg,#35df73,#25d366 55%,#11863b)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.85)!important;
  text-shadow:0 1px 1px rgba(0,72,28,.35)!important;
}

/* El naranja queda reservado para promoción comercial */
:is(#promocion,.promo,.promotion,.promo-card) .btn{
  background:radial-gradient(circle at 28% 12%,#ffd37a 0 7%,transparent 22%),linear-gradient(160deg,var(--csv19-orange2),var(--csv19-orange) 55%,#d84a00)!important;
  color:#fff!important;
}

/* Acciones dentro de las tarjetas del Centro del Viajero: centradas */
.touch-card .touch-action{
  display:flex!important;
  width:min(100%,280px)!important;
  min-height:52px!important;
  margin:18px auto 0!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  border-radius:999px!important;
}

/* Marco grafito luminoso y profundidad para tarjetas con imagen */
:is(.station-card,.touch-card,.card,.v-card){
  border:1px solid rgba(16,24,32,.78)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 0 0 1px rgba(255,255,255,.55),
    0 2px 3px rgba(6,23,43,.08),
    0 15px 34px rgba(6,23,43,.13),
    0 34px 72px rgba(6,23,43,.08)!important;
}
:is(.station-card,.touch-card,.card,.v-card)::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;
  background:linear-gradient(125deg,rgba(255,255,255,.62) 0,rgba(255,255,255,.12) 13%,transparent 29%);
  opacity:.55
}
:is(.station-card,.touch-card,.card,.v-card):hover{
  border-color:rgba(5,17,30,.94)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 0 0 1px rgba(255,255,255,.66),0 4px 6px rgba(6,23,43,.09),0 22px 46px rgba(6,23,43,.17),0 43px 86px rgba(6,23,43,.09)!important;
}

/* Contorno preciso de las fotografías y zoom contenido */
:is(.station-card .photo,.touch-card .card-media){
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(16,24,32,.76)!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.38)
}
:is(.station-card .photo,.touch-card .card-media)::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),inset 0 16px 22px rgba(255,255,255,.10),inset 0 -18px 25px rgba(3,16,30,.14)
}
:is(.station-card .photo img,.touch-card .card-media img){transition:transform .45s var(--csv19-ease),filter .45s ease!important}
:is(.station-card,.touch-card):hover :is(.photo img,.card-media img){transform:scale(1.025);filter:contrast(1.025) saturate(1.025)}

/* Azul también para iconos interactivos; menos presencia naranja */
.touch-icon,.v-icon{
  background:radial-gradient(circle at 30% 18%,#d8f0ff 0 7%,transparent 24%),linear-gradient(155deg,var(--csv19-blue3),var(--csv19-blue) 58%,var(--csv19-blue2))!important;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.7),inset 0 -5px 8px rgba(1,18,36,.30),0 3px 0 rgba(1,24,47,.18),0 12px 24px rgba(6,23,43,.18)!important
}

@media(max-width:760px){
  .touch-card .touch-action{width:100%!important}
}

/* CSV 19.1.1 — corrección de caché y WhatsApp de cabecera */
header .nav > a.btn.nav-wa,
header .nav > a.nav-wa {
  background:linear-gradient(155deg,#35df73,#25d366 55%,#11863b)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.88)!important;
  text-shadow:0 1px 1px rgba(0,72,28,.35)!important;
}
