/* CSV60 Premium UX — capa aditiva, segura y reversible */
:root{--csv60-header-h:86px;--csv60-ease:cubic-bezier(.22,.8,.22,1)}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--csv60-header-h) + 18px)}
body{overflow-x:hidden}

/* Progreso de lectura */
#csv60-progress{position:fixed;z-index:2147483000;left:0;top:0;width:100%;height:3px;pointer-events:none;background:transparent}
#csv60-progress>i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#0066d5,#18b86b,#f7b500);box-shadow:0 0 12px rgba(0,102,213,.35);will-change:transform}

/* Cabecera inteligente: gana espacio sin alterar identidad */
header,.site-header,.header{transition:transform .36s var(--csv60-ease),box-shadow .36s ease,background-color .36s ease}
body.csv60-scrolled header,body.csv60-scrolled .site-header,body.csv60-scrolled .header{box-shadow:0 10px 28px rgba(3,18,34,.14)}
body.csv60-header-hidden header,body.csv60-header-hidden .site-header,body.csv60-header-hidden .header{transform:translateY(-100%)}
body.menu-open header,body.menu-open .site-header,body.menu-open .header{transform:none!important}

/* Respuesta táctil premium y coherente */
a,button,[role="button"],.card,.station-card,.service-card{ -webkit-tap-highlight-color:transparent }
a[href],button,[role="button"]{transition:transform .18s ease,filter .18s ease,box-shadow .22s ease}
.csv60-press{transform:scale(.975)!important;filter:brightness(.98)}
@media (hover:hover){a[href]:not(.plain-link):hover,button:hover,[role="button"]:hover{filter:brightness(1.025)}}

/* Aparición progresiva sin saltos de maquetación */
.csv60-reveal{opacity:0;transform:translateY(18px);transition:opacity .62s var(--csv60-ease),transform .62s var(--csv60-ease);will-change:opacity,transform}
.csv60-reveal.csv60-visible{opacity:1;transform:none}

/* Enfoque accesible y visible */
:focus-visible{outline:3px solid rgba(0,102,213,.72)!important;outline-offset:4px!important}

/* Banner de cookies menos invasivo en móvil */
@media (max-width:700px){
  #cookieBanner,.cookie-banner,.cookies-banner,[class*="cookie-banner"]{padding:12px 14px!important;gap:10px!important;min-height:auto!important;align-items:center!important}
  #cookieBanner p,.cookie-banner p,.cookies-banner p,[class*="cookie-banner"] p{font-size:13px!important;line-height:1.3!important;margin:0!important}
  #cookieBanner button,.cookie-banner button,.cookies-banner button,[class*="cookie-banner"] button{min-height:44px!important;padding:10px 14px!important;font-size:14px!important}
}

/* Evita que controles flotantes compitan con la zona segura inferior */
.floatbar,.floating-actions,.wa-float,#waFloat{bottom:max(18px,env(safe-area-inset-bottom))}

/* Retroalimentación de navegación */
#csv60-pageveil{position:fixed;z-index:2147482999;inset:0;background:rgba(250,252,255,.72);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
#csv60-pageveil.show{opacity:1;visibility:visible}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.csv60-reveal{opacity:1!important;transform:none!important;transition:none!important}header,.site-header,.header,a,button,[role="button"]{transition:none!important}#csv60-pageveil{display:none}}
