/* CSV29 — sistema visual táctil unificado para todo el sitio */
:root{
  --csv-ink:#06172b;
  --csv-blue:#0a3f73;
  --csv-blue-deep:#05294e;
  --csv-orange:#ef7d00;
  --csv-gold:#d69a20;
  --csv-surface:#f7f9fb;
  --csv-radius-sm:14px;
  --csv-radius-md:20px;
  --csv-radius-lg:28px;
  --csv-ease:cubic-bezier(.2,.8,.2,1);
  --csv-shadow-1:0 7px 16px rgba(4,20,38,.10),0 2px 5px rgba(4,20,38,.08);
  --csv-shadow-2:0 15px 30px rgba(4,20,38,.15),0 5px 11px rgba(4,20,38,.10);
  --csv-shadow-3:0 24px 50px rgba(4,20,38,.20),0 9px 18px rgba(4,20,38,.12);
  --csv-inset:inset 0 2px 0 rgba(255,255,255,.78),inset 0 -5px 10px rgba(4,20,38,.12);
  --csv-press:inset 0 4px 9px rgba(4,20,38,.20),0 3px 7px rgba(4,20,38,.10);
}

/* Un solo lenguaje tipográfico y de superficie */
html{scroll-behavior:smooth}
body{color:var(--csv-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main{isolation:isolate}
section{position:relative}
.section-head p,.lead,.intro,p{line-height:1.66}

/* La información permanece en el plano de fondo */
.notice,.small,.help-meta,.station-switch-note,.alliance-note,.hero-live,
article:not(a):not([onclick]),.is-informational{
  transform:none;
}

/* Clasificación universal de elementos accionables */
.csv-touch,
a.btn,button.btn,.menu a,.menu-toggle,.station-tab,.station-action,
.contact-card[href],.social a,.card-actions a,.wa-open,.repsol-pill,
a.card,a.help-card,a.service-card,a.service-chip,a.quick-card,
[role="button"],[onclick]{
  position:relative;
  isolation:isolate;
  border-radius:var(--csv-radius-md);
  transform:translateZ(0);
  box-shadow:var(--csv-inset),var(--csv-shadow-2)!important;
  transition:transform .18s var(--csv-ease),box-shadow .18s var(--csv-ease),filter .18s ease,border-color .18s ease!important;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
}

/* Reflejo común: todas las piezas parecen fabricadas con el mismo material */
.csv-touch::before,
a.btn::before,button.btn::before,.menu a::before,.menu-toggle::before,.station-tab::before,
.station-action::before,.contact-card[href]::before,.social a::before,.card-actions a::before,
.wa-open::before,.repsol-pill::before,a.card::before,a.help-card::before,a.service-card::before,
a.service-chip::before,a.quick-card::before,[role="button"]::before,[onclick]::before{
  content:"";
  position:absolute;
  z-index:2;
  left:8%;right:8%;top:4%;height:34%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.12) 58%,transparent);
  opacity:.60;
  pointer-events:none;
}

/* Borde de espesor óptico */
.csv-touch::after,a.card::after,a.help-card::after,a.service-card::after,a.service-chip::after,a.quick-card::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:1;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.50);
  pointer-events:none;
}

@media (hover:hover){
  .csv-touch:hover,a.btn:hover,button.btn:hover,.menu a:hover,.menu-toggle:hover,.station-tab:hover,
  .station-action:hover,.contact-card[href]:hover,.social a:hover,.card-actions a:hover,.wa-open:hover,
  .repsol-pill:hover,a.card:hover,a.help-card:hover,a.service-card:hover,a.service-chip:hover,a.quick-card:hover,
  [role="button"]:hover,[onclick]:hover{
    transform:translateY(-5px) scale(1.008)!important;
    box-shadow:var(--csv-inset),var(--csv-shadow-3)!important;
    filter:saturate(1.04) brightness(1.015);
  }
}

.csv-touch:active,a.btn:active,button.btn:active,.menu a:active,.menu-toggle:active,.station-tab:active,
.station-action:active,.contact-card[href]:active,.social a:active,.card-actions a:active,.wa-open:active,
.repsol-pill:active,a.card:active,a.help-card:active,a.service-card:active,a.service-chip:active,a.quick-card:active,
[role="button"]:active,[onclick]:active{
  transform:translateY(2px) scale(.985)!important;
  box-shadow:var(--csv-press)!important;
  filter:saturate(.98);
}

/* Foco accesible y homogéneo */
:where(a,button,[role="button"],[tabindex]):focus-visible{
  outline:3px solid rgba(239,125,0,.62)!important;
  outline-offset:4px!important;
}

/* Tarjetas navegables: placa flotante, nunca un bloque plano */
a.card,a.help-card,a.service-card,a.quick-card{
  overflow:hidden;
  border:1px solid rgba(6,23,43,.09)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(244,247,250,.96))!important;
  text-decoration:none;
}
a.card .icon,a.help-card .icon,a.service-card .icon,a.quick-card .icon,
a.card i,a.service-chip i{
  filter:drop-shadow(0 5px 7px rgba(4,20,38,.18));
  transform:translateZ(0);
}

/* Botones: policarbonato premium, misma geometría */
a.btn,button.btn{
  min-height:46px;
  border-radius:999px!important;
  font-weight:750;
  letter-spacing:.01em;
  border:1px solid rgba(6,23,43,.10)!important;
}
.btn.alt,.btn.outline{
  background:linear-gradient(180deg,#fff,#eef2f6)!important;
  color:var(--csv-ink)!important;
}
.btn.dark{
  background:linear-gradient(180deg,#124f85,#052d55)!important;
}

/* Navegación fija: visible pero subordinada */
header{
  backdrop-filter:blur(18px) saturate(1.16);
  -webkit-backdrop-filter:blur(18px) saturate(1.16);
}
header .nav{min-height:58px}
.menu a{
  border-radius:999px!important;
  font-size:clamp(.72rem,.66rem + .18vw,.84rem)!important;
  font-weight:650!important;
  letter-spacing:.012em;
  padding:8px 11px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 4px 10px rgba(4,20,38,.08)!important;
}
.brand{box-shadow:none!important}
.brand::before,.brand::after{display:none!important}

/* WhatsApp: esfera suspendida, con cuerpo y reflejo */
.wa-premium,.floatbar a[href*="wa.me"],a[href*="wa.me"].floating-whatsapp{
  border-radius:999px!important;
  box-shadow:inset 0 4px 5px rgba(255,255,255,.75),inset 0 -10px 16px rgba(0,80,34,.33),0 21px 34px rgba(2,90,40,.34),0 7px 13px rgba(4,20,38,.20)!important;
}
.wa-premium::after{
  content:"";
  position:absolute;
  width:44%;height:24%;left:22%;top:11%;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  filter:blur(1px);
  pointer-events:none;
}

/* Inputs y buscadores: misma familia, menor elevación por ser herramientas */
input,select,textarea,.help-search{
  border-radius:var(--csv-radius-sm)!important;
  border:1px solid rgba(6,23,43,.13)!important;
  box-shadow:inset 0 2px 5px rgba(4,20,38,.06),0 5px 12px rgba(4,20,38,.07)!important;
}

/* Ajustes móviles: volumen perceptible sin ocupar demasiado */
@media(max-width:980px){
  header .nav{min-height:54px}
  .menu a{font-size:.80rem!important;padding:11px 13px!important;border-radius:15px!important}
  .menu-toggle{border-radius:15px!important;box-shadow:var(--csv-inset),var(--csv-shadow-1)!important}
}
@media(max-width:650px){
  a.card,a.help-card,a.service-card,a.quick-card{border-radius:22px!important}
  a.btn,button.btn{min-height:44px;font-size:.88rem}
  .section-head{margin-bottom:24px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .csv-touch,a.btn,button.btn,.menu a,.menu-toggle,.station-tab,.station-action,.contact-card[href],
  .social a,.card-actions a,.wa-open,.repsol-pill,a.card,a.help-card,a.service-card,a.service-chip,a.quick-card,
  [role="button"],[onclick]{transition:none!important}
}
