/* ==========================================================
   GILROY MOTOR — «EN MARCHA» · capa de movimiento 12-nov-2026
   Se carga desde wp-content/mu-plugins/gilroy-movimiento.php
   Quitar = borrar ese archivo. No toca Divi ni contenidos.
   Paleta: petróleo #07121C · verde #8DC63F · ámbar #E9A23B
   ========================================================== */
:root{--gm-pet:#07121C;--gm-pet2:#10202F;--gm-ver:#8DC63F;--gm-amb:#E9A23B;--gm-ease:cubic-bezier(.2,.7,.1,1)}

/* ---------- barra de recorrido (lectura) ---------- */
#gm-ruta{position:fixed;left:0;top:0;height:3px;width:100%;z-index:100000;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--gm-ver),#c7e36a 60%,var(--gm-amb));box-shadow:0 0 10px rgba(141,198,63,.55)}
#gm-ruta-chispa{position:fixed;top:-3px;left:0;width:9px;height:9px;border-radius:50%;z-index:100001;pointer-events:none;background:#fff;
  box-shadow:0 0 8px 3px rgba(233,162,59,.85),0 0 18px 6px rgba(141,198,63,.45);opacity:0;transition:opacity .3s}
body.admin-bar #gm-ruta{top:32px}body.admin-bar #gm-ruta-chispa{top:29px}

/* ---------- HÉROE ---------- */
.gm-hero2 .gm-calle{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;mix-blend-mode:screen}
.gm-hero2 .gm-calle{-webkit-mask-image:linear-gradient(90deg,#000 0 34%,transparent 58%),linear-gradient(0deg,#000 0 12%,transparent 20%);mask-image:linear-gradient(90deg,#000 0 34%,transparent 58%),linear-gradient(0deg,#000 0 12%,transparent 20%)}
@media(max-width:980px){.gm-hero2 .gm-calle{-webkit-mask-image:linear-gradient(180deg,#000 0 52%,transparent 66%);mask-image:linear-gradient(180deg,#000 0 52%,transparent 66%);opacity:.7}}
.gm-hero2 .gh-grade{z-index:1}
.gm-hero2 .gh-in,.gm-hero2 .gh-specs{z-index:3}
.gm-hero2 .gm-foco{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .6s;
  background:radial-gradient(520px circle at var(--mx,30%) var(--my,40%),rgba(141,198,63,.10),transparent 60%)}
.gm-hero2:hover .gm-foco{opacity:1}
.gm-hero2 .gh-bg{animation:gm-llega 1.5s var(--gm-ease) backwards}
@keyframes gm-llega{from{opacity:0;transform:translate3d(7%,0,0) scale(1.05);filter:blur(6px)}}
.gm-hero2 .gm-calle{animation:gm-aparece 1.2s ease .9s backwards}
@keyframes gm-aparece{from{opacity:0}}
@keyframes gm-sube{from{opacity:0;transform:translate3d(0,20px,0)}}
@keyframes gm-sube-h1{from{opacity:0;transform:translate3d(0,26px,0);filter:blur(5px)}}
.gm-hero2 .gh-col>*{animation:gm-sube .8s var(--gm-ease) backwards}
.gm-hero2 .gh-col>h1{animation-name:gm-sube-h1;animation-duration:1s}
.gm-hero2 .gh-col>*:nth-child(1){animation-delay:.15s}.gm-hero2 .gh-col>*:nth-child(2){animation-delay:.28s}
.gm-hero2 .gh-col>*:nth-child(3){animation-delay:.48s}.gm-hero2 .gh-col>*:nth-child(4){animation-delay:.6s}
.gm-hero2 .gh-col>*:nth-child(5){animation-delay:.72s}.gm-hero2 .gh-col>*:nth-child(6){animation-delay:.84s}
.gm-hero2 .gh-col>*:nth-child(n+7){animation-delay:.96s}
.gm-hero2 .gh-chips li{animation:gm-sube .6s var(--gm-ease) backwards}
.gm-hero2 .gh-chips li:nth-child(1){animation-delay:.55s}.gm-hero2 .gh-chips li:nth-child(2){animation-delay:.65s}.gm-hero2 .gh-chips li:nth-child(3){animation-delay:.75s}
.gm-hero2 .gh-specs>div{animation:gm-sube .7s var(--gm-ease) backwards}
.gm-hero2 .gh-specs>div:nth-child(1){animation-delay:.9s}.gm-hero2 .gh-specs>div:nth-child(2){animation-delay:1s}
.gm-hero2 .gh-specs>div:nth-child(3){animation-delay:1.1s}.gm-hero2 .gh-specs>div:nth-child(4){animation-delay:1.2s}

/* palabras que entran */
.gm-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}
.gm-w>span{display:inline-block;transform:translate3d(0,105%,0);transition:transform .8s var(--gm-ease);transition-delay:calc(var(--i,0)*55ms)}
.gm-go .gm-w>span{transform:none}

/* «patente» se subraya con una corriente */
.gm-hero2 h1 em{position:relative}
.gm-hero2 h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.09em;border-radius:3px;
  background:linear-gradient(90deg,var(--gm-ver),var(--gm-amb));transform-origin:0 50%;animation:gm-subraya .9s var(--gm-ease) 1.1s backwards}
@keyframes gm-subraya{from{transform:scaleX(0)}}

/* botón principal: destello que lo recorre */
.gm-brillo{position:relative;overflow:hidden;isolation:isolate}
.gm-brillo::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:gm-destello 4.2s ease-in-out 2.2s infinite}
@keyframes gm-destello{0%{left:-60%}22%,100%{left:130%}}

/* ficha del héroe: carga de batería */
.gm-hero2 .gh-specs>div{position:relative;overflow:hidden}
.gm-carga{position:absolute;left:0;bottom:0;height:2px;width:100%;background:rgba(255,255,255,.08)}
.gm-carga i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--k,1));background:linear-gradient(90deg,var(--gm-ver),var(--gm-amb));
  animation:gm-carga 1.3s var(--gm-ease) backwards;animation-delay:calc(var(--i,0)*180ms + 300ms)}
@keyframes gm-carga{from{transform:scaleX(0)}}
.gm-carga i::after{content:"";position:absolute;right:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px var(--gm-amb);animation:gm-aparece .4s ease backwards;animation-delay:calc(var(--i,0)*180ms + 1.5s)}

/* ---------- CINTA EN MOVIMIENTO ---------- */
.gm-cinta{position:relative;overflow:hidden;background:#0B1926;border-top:1px solid rgba(141,198,63,.18);border-bottom:1px solid rgba(141,198,63,.18);padding:13px 0;user-select:none}
.gm-cinta::before,.gm-cinta::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.gm-cinta::before{left:0;background:linear-gradient(90deg,#0B1926,transparent)}
.gm-cinta::after{right:0;background:linear-gradient(-90deg,#0B1926,transparent)}
.gm-cinta-pista{display:flex;width:max-content;animation:gm-cinta 38s linear infinite}
.gm-cinta:hover .gm-cinta-pista{animation-play-state:paused}
.gm-cinta span{font-family:'Bebas Neue',Impact,sans-serif;font-size:22px;letter-spacing:.09em;color:#e8eef3;white-space:nowrap;padding:0 26px;line-height:1.2;display:flex;align-items:center;gap:26px}
.gm-cinta span::after{content:"";width:10px;height:16px;flex:0 0 10px;background:var(--gm-amb);
  clip-path:polygon(60% 0,0 58%,45% 58%,35% 100%,100% 40%,55% 40%)}
.gm-cinta span:nth-child(3n+2){color:var(--gm-ver)}
@keyframes gm-cinta{to{transform:translate3d(-50%,0,0)}}

/* ---------- APARICIÓN AL BAJAR ---------- */
html.gm-on .gm-rv{opacity:0;transform:translate3d(0,26px,0);transition:opacity .8s var(--gm-ease),transform .8s var(--gm-ease);transition-delay:calc(var(--i,0)*90ms)}
html.gm-on .gm-rv.gm-in{opacity:1;transform:none}
html.gm-on h2.gm-split{opacity:1!important}

/* motos que «entran rodando» */
html.gm-on .gm-rueda{opacity:0;transform:translate3d(-60px,0,0);filter:blur(4px);transition:opacity .9s var(--gm-ease),transform 1.1s var(--gm-ease),filter .9s var(--gm-ease)}
html.gm-on .gm-rueda.gm-in{opacity:1;transform:none;filter:none}
.gm-rueda.gm-in:hover{animation:gm-acelera .5s ease-in-out}
@keyframes gm-acelera{0%,100%{transform:none}25%{transform:translate3d(3px,-1px,0)}50%{transform:translate3d(-2px,0,0)}75%{transform:translate3d(5px,-1px,0)}}

/* ---------- TARJETAS 3D ---------- */
.gm-card{transform-style:preserve-3d;transition:transform .45s var(--gm-ease),box-shadow .45s var(--gm-ease);will-change:transform;position:relative}
.gm-card.gm-tilting{transition:transform .08s linear,box-shadow .3s}
.gm-card:hover{box-shadow:0 22px 50px -18px rgba(7,18,28,.45)}
.gm-card .gm-reflejo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;opacity:0;transition:opacity .3s;
  background:radial-gradient(360px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.22),transparent 55%);mix-blend-mode:soft-light}
.gm-card:hover .gm-reflejo{opacity:1}
@media (hover:none){.gm-card:active{transform:scale(.985)}}

/* fotos con zoom suave */
.gm-zoom{overflow:hidden}
.gm-zoom img{transition:transform 1.2s var(--gm-ease)}
.gm-zoom:hover img{transform:scale(1.045)}

/* ---------- BOTONES ---------- */
.gm-mag{transition:transform .35s var(--gm-ease)!important;will-change:transform}
.gm-onda{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);opacity:.55;background:rgba(255,255,255,.7);animation:gm-onda .65s ease-out forwards;z-index:3}
@keyframes gm-onda{to{transform:scale(4);opacity:0}}

/* preguntas que se deslizan */
details.gm-acord>*:not(summary){animation:gm-abre .45s var(--gm-ease)}
@keyframes gm-abre{from{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:none}}

/* ---------- CALCULADORA DE AHORRO ---------- */
.gm-ahorro{background:var(--gm-pet);color:#dfe7ee;position:relative;overflow:hidden;padding:84px 26px}
.gm-ahorro::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(233,162,59,.55) 46px 70px) 0 100%/100% 2px no-repeat;animation:gm-linea 1.6s linear infinite}
@keyframes gm-linea{from{background-position:0 100%}to{background-position:-70px 100%}}
.gm-ah-in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.gm-ah-ojo{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gm-ver);font-weight:600;margin:0 0 10px;padding:0;display:flex;align-items:center;gap:10px}
.gm-ah-ojo::before{content:"";width:26px;height:2px;background:var(--gm-ver)}
.gm-ahorro h2{font-family:'Bebas Neue',Impact,sans-serif!important;font-size:clamp(34px,4.4vw,52px)!important;line-height:1.02!important;color:#fff!important;letter-spacing:.02em;margin:0 0 14px!important;padding:0!important;font-weight:400!important}
.gm-ahorro h2 em{font-style:normal;color:var(--gm-amb)}
.gm-ah-txt{color:#aebccb;font-size:16px;line-height:1.6;margin:0 0 26px;padding:0}
.gm-ah-mod{display:inline-flex;background:var(--gm-pet2);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:4px;margin-bottom:26px}
.gm-ah-mod button{appearance:none;border:0;background:transparent;color:#aebccb;font:600 14px/1 Inter,sans-serif;letter-spacing:.04em;padding:11px 20px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s}
.gm-ah-mod button[aria-pressed="true"]{background:var(--gm-ver);color:#0b1607}
.gm-ah-mod button:focus-visible,.gm-ahorro input:focus-visible{outline:2px solid var(--gm-amb);outline-offset:3px}
.gm-ah-km{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.gm-ah-km label{color:#cfd9e2;font-size:15px}
.gm-ah-km output{font-family:'Bebas Neue',Impact,sans-serif;font-size:40px;color:#fff;line-height:1}
.gm-ah-km output small{font-family:Inter,sans-serif;font-size:14px;color:#8fa0b2;margin-left:4px}
.gm-ahorro input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;margin:0 0 8px;cursor:pointer;
  background:linear-gradient(90deg,var(--gm-ver) 0 var(--p,30%),rgba(255,255,255,.12) var(--p,30%) 100%)}
.gm-ahorro input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:5px solid var(--gm-ver);box-shadow:0 0 0 6px rgba(141,198,63,.18);cursor:grab}
.gm-ahorro input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid var(--gm-ver);cursor:grab}
.gm-ah-esc{display:flex;justify-content:space-between;font-size:12px;color:#7d8fa2}
.gm-ah-nota{font-size:13px;color:#8fa0b2;margin:18px 0 0;padding:0;line-height:1.5;min-height:3em}
.gm-ah-nota b{color:var(--gm-amb);font-weight:600}
.gm-ah-panel{background:var(--gm-pet2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:30px 30px 26px;position:relative}
.gm-ah-barra{margin-bottom:20px}
.gm-ah-barra p{display:flex;justify-content:space-between;margin:0 0 8px;padding:0;font-size:14px;color:#cfd9e2}
.gm-ah-barra p b{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:24px;letter-spacing:.03em;color:#fff}
.gm-ah-tubo{height:14px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.gm-ah-tubo i{display:block;height:100%;border-radius:inherit;transform-origin:0 50%;transition:transform .7s var(--gm-ease)}
.gm-ah-tubo.e i{background:linear-gradient(90deg,var(--gm-ver),#b9e06a)}
.gm-ah-tubo.b i{background:linear-gradient(90deg,#6d7884,#9aa5b1)}
.gm-ah-total{border-top:1px dashed rgba(255,255,255,.12);margin-top:24px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gm-ah-total div p{margin:0;padding:0;font-size:13px;color:#8fa0b2;letter-spacing:.04em;text-transform:uppercase}
.gm-ah-total div b{display:block;font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:clamp(34px,4vw,46px);line-height:1.05;color:var(--gm-amb)}
.gm-ah-total div:last-child b{color:#fff}
.gm-ah-pie{font-size:12px;color:#7d8fa2;margin:18px 0 0;padding:0;line-height:1.5}
.gm-ah-pie a{color:#b9e06a!important;text-decoration:underline}
.gm-ah-cta{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:var(--gm-ver);color:#0b1607!important;font:700 15px/1 Inter,sans-serif;padding:16px 24px;border-radius:8px;text-decoration:none!important;position:relative;overflow:hidden}
@media(max-width:900px){.gm-ah-in{grid-template-columns:1fr;gap:30px}.gm-ahorro{padding:60px 18px}.gm-ah-panel{padding:24px 20px}}
@media(max-width:420px){.gm-ah-mod button{padding:11px 14px}.gm-ah-total{grid-template-columns:1fr}}

/* ---------- MÓVIL ---------- */
@media(max-width:980px){
  .gm-cinta span{font-size:19px;padding:0 18px;gap:18px}
  .gm-cinta::before,.gm-cinta::after{width:40px}
}

/* ---------- MOVIMIENTO REDUCIDO ---------- */
@media (prefers-reduced-motion:reduce){
  #gm-ruta-chispa,.gm-hero2 .gm-calle,.gm-brillo::before{display:none!important}
  .gm-cinta-pista{animation:none}
  .gm-hero2 *,.gm-hero2 *::after{animation:none!important}
  .gm-ahorro::before{animation:none}
  .gm-w>span,html.gm-on .gm-rv,html.gm-on .gm-rueda,html.gm-on .gm-hero2 .gm-sube{transform:none!important;opacity:1!important;filter:none!important;transition:none!important}
}
