/* CSV18.0 Touch — sistema de interacción premium, ligero y accesible */
:root{--touch-ease:cubic-bezier(.2,.85,.25,1);--touch-gold:#e8b84a;--touch-navy:#06172b;--touch-green:#19a966}
.touch-card,.touch-btn,.v-link,.v-call,.traveler-actions a,.wa-premium{position:relative;isolation:isolate;-webkit-tap-highlight-color:transparent;transform:translateZ(0);will-change:transform;overflow:hidden}
.touch-card:after,.touch-btn:after,.v-link:after,.v-call:after,.traveler-actions a:after,.wa-premium:after{content:"";position:absolute;inset:-45%;z-index:-1;background:radial-gradient(circle at var(--touch-x,30%) var(--touch-y,15%),rgba(255,255,255,.72),rgba(255,255,255,.16) 14%,transparent 34%);opacity:.54;pointer-events:none;transition:opacity .2s ease,transform .35s var(--touch-ease)}
.touch-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.72);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(245,247,249,.9));box-shadow:0 2px 0 rgba(255,255,255,.9) inset,0 -2px 0 rgba(6,23,43,.035) inset,0 18px 42px rgba(6,23,43,.12),0 4px 10px rgba(6,23,43,.06);transition:transform .22s var(--touch-ease),box-shadow .22s var(--touch-ease),border-color .22s ease}
.touch-card:hover{transform:translateY(-7px) scale(1.008);box-shadow:0 2px 0 rgba(255,255,255,.95) inset,0 -2px 0 rgba(6,23,43,.04) inset,0 28px 58px rgba(6,23,43,.17),0 7px 16px rgba(6,23,43,.08);border-color:rgba(232,184,74,.48)}
.touch-card:active,.touch-card.is-pressed{transform:translateY(2px) scale(.982);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 3px 8px rgba(6,23,43,.12) inset,0 8px 18px rgba(6,23,43,.1);transition-duration:.09s}
.touch-card .card-media{overflow:hidden;border-radius:27px 27px 0 0;position:relative;aspect-ratio:16/10}
.touch-card .card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.34),transparent 28%,transparent 68%,rgba(6,23,43,.15));pointer-events:none}
.touch-card .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--touch-ease),filter .35s ease}
.touch-card:hover .card-media img{transform:scale(1.045);filter:saturate(1.05) contrast(1.02)}
.touch-card .card-body{padding:25px 26px 28px;display:flex;flex-direction:column;flex:1}
.touch-card h3{margin:10px 0 8px;color:var(--touch-navy);font-size:clamp(1.35rem,2vw,1.72rem);letter-spacing:-.025em;line-height:1.12}
.touch-card p{margin:0;color:#5d6978;line-height:1.58}
.touch-card .touch-action{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;color:#72540e;font-weight:900}
.touch-card .touch-action svg{width:18px;transition:transform .2s var(--touch-ease)}
.touch-card:hover .touch-action svg{transform:translateX(4px)}
.touch-btn,.traveler-actions a,.v-link,.v-call{border-radius:16px!important;box-shadow:0 2px 0 rgba(255,255,255,.58) inset,0 -3px 0 rgba(91,61,0,.18) inset,0 13px 25px rgba(6,23,43,.14)!important;transition:transform .16s var(--touch-ease),box-shadow .16s var(--touch-ease),filter .16s ease!important}
.touch-btn:hover,.traveler-actions a:hover,.v-link:hover,.v-call:hover{transform:translateY(-3px) scale(1.012);filter:saturate(1.04)}
.touch-btn:active,.touch-btn.is-pressed,.traveler-actions a:active,.traveler-actions a.is-pressed,.v-link:active,.v-link.is-pressed,.v-call:active,.v-call.is-pressed{transform:translateY(2px) scale(.97)!important;box-shadow:0 1px 0 rgba(255,255,255,.44) inset,0 4px 8px rgba(6,23,43,.18) inset,0 5px 10px rgba(6,23,43,.1)!important;transition-duration:.07s!important}
.wa-premium{border-radius:50%!important;background:radial-gradient(circle at 32% 22%,#7af0ae 0,#25c978 32%,#0d9855 72%,#087740 100%)!important;box-shadow:0 3px 3px rgba(255,255,255,.65) inset,0 -7px 11px rgba(0,70,34,.3) inset,0 16px 28px rgba(7,119,64,.32),0 5px 9px rgba(6,23,43,.18)!important;transition:transform .18s var(--touch-ease),box-shadow .18s var(--touch-ease)!important}
.wa-premium:hover{transform:translateY(-4px) scale(1.055)}
.wa-premium:active,.wa-premium.is-pressed{transform:scale(.88,.94) rotate(-2deg)!important;box-shadow:0 2px 3px rgba(255,255,255,.45) inset,0 7px 12px rgba(0,70,34,.28) inset,0 7px 14px rgba(7,119,64,.25)!important}
.touch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.touch-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.touch-card.compact{padding:27px}
.touch-card.compact .touch-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:linear-gradient(145deg,#fff8e8,#e8c878);box-shadow:0 2px 2px #fff inset,0 -3px 5px rgba(100,70,5,.16) inset,0 11px 24px rgba(6,23,43,.1)}
.touch-card.compact .touch-icon svg{width:30px;height:30px;fill:none;stroke:var(--touch-navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.utility-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.utility-pill{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:14px 18px;border-radius:18px;text-decoration:none;font-weight:900;color:var(--touch-navy);background:linear-gradient(145deg,#fff,#f4efe4);border:1px solid rgba(232,184,74,.34);box-shadow:0 2px 0 #fff inset,0 -2px 0 rgba(91,61,0,.08) inset,0 10px 22px rgba(6,23,43,.09);transition:.16s var(--touch-ease)}
.utility-pill:hover{transform:translateY(-3px);box-shadow:0 17px 30px rgba(6,23,43,.13)}
.utility-pill:active{transform:translateY(2px) scale(.98);box-shadow:0 3px 8px rgba(6,23,43,.12) inset}
.v-quick{display:none!important}
.touch-note{font-size:.9rem;color:#687483;margin-top:18px}
@media(max-width:900px){.touch-grid{grid-template-columns:1fr 1fr}.utility-strip{grid-template-columns:1fr}}
@media(max-width:640px){.touch-grid,.touch-grid.two{grid-template-columns:1fr}.touch-card:hover{transform:none}.touch-card .card-body{padding:22px}.touch-card.compact{padding:23px}.floatbar{bottom:max(18px,env(safe-area-inset-bottom))!important}}
@media(prefers-reduced-motion:reduce){.touch-card,.touch-btn,.v-link,.v-call,.traveler-actions a,.wa-premium,.touch-card img{transition:none!important;transform:none!important}}
