/* =====================================================================
   ELYON · ESTUDIO (mismo diseño que Clientes exclusivos)
   Negro de estudio, tipografía extendida tipo automotriz, datos en
   monoespaciada y el azul ELYON solo para acciones.
   ===================================================================== */
:root,:root[data-theme="dark"]{
  --bg:#07080a; --bg-2:#0b0d10; --bg-3:#191c21; --card:#0f1114; --raise:#14171c;
  --label:#f3f5f8; --label-2:#a0a8b4; --label-3:#6d7682; --sep:rgba(205,222,255,.09); --line:rgba(205,222,255,.09);
  --blue:#0071e3; --blue-press:#0a7cf0; --link:#4aa3ff; --glow:#2997ff; --led:#e9f1ff;
  --black:#07080a; --on-black:#f3f5f8; --on-black-2:#a0a8b4;
  --ok:#30d158; --ok-bg:rgba(48,209,88,.12); --warn:#ffd84d; --warn-bg:rgba(255,214,10,.12); --bad:#ff6961; --bad-bg:rgba(255,69,58,.13);
  --nav:rgba(10,12,15,.72);
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --f-display:"Archivo",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --f-data:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-tile:22px; --r-card:18px; --r-ctl:14px;
  --gsolid:#0f1114; --gf:rgba(15,17,20,.72); --gl:#f3f5f8; --gsel:rgba(255,255,255,.12); --tsel:#4aa3ff;
  color-scheme:dark;
}
html{background:var(--bg);scrollbar-color:#2a2f37 var(--bg)}
body{background:var(--bg);color:var(--label);letter-spacing:-.011em}
::selection{background:rgba(41,151,255,.35);color:#fff}
input,textarea{caret-color:var(--glow)}
.num{font-family:var(--f-data);font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
h1,h2,h3,.lnav b,details summary,.bag h3,.done h3{font-family:var(--f-display);font-stretch:118%}
.glass.thick{--gf:rgba(13,15,18,.94)}
.glass.on-dark,.navcap.glass{--gf:rgba(10,12,15,.72)}
.alt{background:var(--bg)}
.dark{background:var(--bg)}

/* --- botones --- */
.btn{font-weight:600;letter-spacing:-.005em}
.btn.blue{background:var(--blue);color:#fff;box-shadow:0 8px 24px -8px rgba(0,113,227,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.btn.blue:hover{background:var(--blue-press)}
.btn.gray{background:var(--bg-3);color:var(--label);box-shadow:inset 0 0 0 1px var(--line)}
.btn.gray:hover{background:#20242a;filter:none}
.btn.full{width:100%}
.destructive{color:var(--bad)}
.seg{background:#0b0d10;box-shadow:inset 0 0 0 1px var(--line)}
.seg button{color:var(--label-2)}
.seg button[aria-selected="true"]{background:var(--bg-3);color:var(--label);box-shadow:0 1px 4px rgba(0,0,0,.4)}

/* --- nav --- */
.navcap.glass{border-radius:18px;box-shadow:0 18px 40px -20px rgba(0,0,0,.9)}
.navcap .links a{font-weight:500}
.tabbar.glass{--gf:rgba(10,12,15,.82);border-radius:24px}
.tabbar a[aria-current="true"] svg{filter:drop-shadow(0 0 8px rgba(74,163,255,.7))}

/* --- portada --- */
.hero{background:var(--bg)}
.hero h1{font-weight:700;font-stretch:118%;letter-spacing:-.035em;text-shadow:none;
  background:linear-gradient(100deg,transparent 0 40%,#fff 46%,#9fcaff 50%,transparent 56% 100%) 120% 0/250% 100% no-repeat,linear-gradient(var(--label),var(--label));
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 2.2s cubic-bezier(.16,1,.3,1) .8s both}
@keyframes shine{from{background-position:120% 0,0 0}to{background-position:-30% 0,0 0}}
.hero .sub{color:#c4cbd5}
.next{background:#0f1114;box-shadow:inset 0 0 0 1px var(--line)}
.next span.go{background:var(--bg-3)}
.vwrap{background:#0f1114;box-shadow:inset 0 0 0 1px var(--line)}
@media (max-width:833px){ .intro{background:var(--bg)} .intro::after{background:linear-gradient(to top,var(--bg) 0%,rgba(7,8,10,.6) 40%,rgba(7,8,10,0) 64%),linear-gradient(rgba(7,8,10,.5),rgba(7,8,10,0) 18%)} }

/* --- datos rápidos --- */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(28px,4vw,44px);margin-block:clamp(20px,3vw,32px)}
.facts > div{text-align:left;padding-left:16px;border-left:1px solid var(--line)}
.facts b{font-family:var(--f-display);font-stretch:112%;font-size:clamp(19px,2vw,24px)}
.facts span{color:var(--label-2);font-size:14px}

/* --- encabezados de sección: hoja técnica --- */
main{counter-reset:sec}
.section > .wrap > .head,.section .wrap > .head:first-child{counter-increment:sec}
.section .head{text-align:left;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:10px 32px;align-items:end;border-top:1px solid var(--line);padding-top:22px;position:relative}
.section .head::before{content:counter(sec,decimal-leading-zero);position:absolute;right:0;top:-11px;background:var(--bg);padding-left:12px;font:500 12px var(--f-data);color:var(--label-3);letter-spacing:.08em}
.section .head h2{font-size:clamp(32px,4.4vw,54px);font-weight:700;letter-spacing:-.035em;line-height:1}
.section .head p{grid-column:2;grid-row:1;max-width:38ch;text-align:right;margin:0;font-size:16px;color:var(--label-2)}
@media (max-width:740px){ .section .head{grid-template-columns:1fr} .section .head p{grid-column:1;grid-row:auto;text-align:left} }
.section{padding-block:clamp(48px,7vw,96px)}

/* --- membresías --- */
.plans{gap:18px}
.plan{border-radius:22px;background:#0d0f12;box-shadow:inset 0 0 0 1px var(--line);position:relative}
.plan img{filter:saturate(.85) brightness(.74) contrast(1.08);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.plan{overflow:hidden}
@media (hover:hover) and (pointer:fine){ .plan:hover{transform:translateY(-3px);box-shadow:0 24px 50px -20px rgba(0,0,0,.9),inset 0 0 0 1px rgba(205,222,255,.16)} .plan:hover img{transform:scale(1.04)} }
.plan.pick{outline:2px solid var(--blue);outline-offset:-2px;box-shadow:0 0 40px -12px rgba(41,151,255,.5)}
.plan h3{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.02}
.plan .tag{color:#b9c1cc}
.plan .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;color:var(--label-2)}
.plan .price b{font-family:var(--f-data);font-weight:500;font-size:28px;letter-spacing:-.03em;color:var(--label)}
.plan ul{border-top:0;gap:0;padding-top:4px}
.plan li{padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.plan li svg{color:var(--glow)}
.plan .act .btn.blue{flex:1}
.plans-note{color:var(--label-2)}

/* precios con descuento */
.oldp{color:var(--label-3);text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:rgba(255,105,97,.85);font-weight:400}
.plan .price .oldp{font-size:17px}
.dcto{display:inline-flex;align-items:center;font:600 12px var(--f-data);color:#0b0d10;background:#30d158;border-radius:6px;padding:3px 6px;letter-spacing:0;vertical-align:2px}
.row .p{display:inline-flex;align-items:baseline;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.row .p .oldp{font-size:15px}
.opt .pr .oldp{font-size:13px;margin-right:2px}
.opt .pr .inc{font-size:13px;font-weight:600;color:var(--ok)}
.bag .tv{display:inline-flex;align-items:baseline;gap:10px}
.bag .tv .oldp{font-size:17px}
.bag .save{margin-top:-8px;text-align:right;color:var(--ok);font-size:13px}

/* pago automático */
.auto{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line);margin-top:4px}
.auto.on{background:rgba(48,209,88,.07);box-shadow:inset 0 0 0 1px rgba(48,209,88,.24)}
.auto .hint{margin:0;flex-basis:100%;font-size:13px;color:var(--label-2)}
.auto .destructive,.auto .link{font-size:14px;min-height:32px;padding:0}
.auto-btn{width:100%;margin-top:4px}
.autohint{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--label-2);margin-top:2px}
.autohint svg{width:15px;height:15px;color:var(--link);flex:none}

/* --- servicios --- */
.svc .pic{border-radius:22px;box-shadow:inset 0 0 0 1px var(--line);background:#0d0f12}
.svc .pic img{filter:saturate(.85) brightness(.8) contrast(1.06)}
.row{border-bottom-color:var(--line)}
.row h3{font-size:20px;font-weight:600;font-stretch:112%}
.row .p .num{font-size:19px}

/* --- por qué / bento --- */
.tile{background:#0d0f12;box-shadow:inset 0 0 0 1px var(--line);border-radius:22px}
.tile h3{font-weight:700;letter-spacing:-.03em}
.tile.photo{background:#000}
.tile.photo img.bg{filter:saturate(.85) brightness(.85)}
.tile.photo::after{background:linear-gradient(rgba(7,8,10,.75),rgba(7,8,10,0) 50%)}
.big{font-family:var(--f-data);font-weight:500;letter-spacing:-.05em;color:#8cc4ff;text-shadow:0 0 30px rgba(41,151,255,.35)}
.brands span{background:#e9edf2;box-shadow:none}
.pay span{background:#14171c;box-shadow:inset 0 0 0 1px var(--line);font:500 13px var(--f-data);color:#c3cbd6;border-radius:8px}
.livedemo{padding:24px 32px 32px;margin-top:auto}
.livedemo .lbar{margin-top:0}

/* --- galería --- */
.gallery img{box-shadow:inset 0 0 0 1px var(--line);filter:saturate(.9)}
.paddle{background:var(--bg-3);box-shadow:inset 0 0 0 1px var(--line)}

/* --- agendar --- */
.step h3{font-weight:700;letter-spacing:-.025em}
.opt{background:#111418;border-color:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.opt:hover{border-color:transparent;box-shadow:inset 0 0 0 1px rgba(205,222,255,.2)}
.opt[aria-pressed="true"]{background:rgba(0,113,227,.12);box-shadow:inset 0 0 0 2px var(--blue)}
.opt.day b,.times .opt b{font-family:var(--f-data);font-weight:500}
.field input,.field textarea{background:#0b0d10;border-color:var(--line)}
.field input:focus,.field textarea:focus{border-color:var(--glow);box-shadow:0 0 0 4px rgba(41,151,255,.14)}
.bag{background:linear-gradient(160deg,#161a20 0%,#0d1014 55%,#0b0d10 100%);box-shadow:0 30px 60px -30px rgba(0,0,0,.9),inset 0 0 0 1px var(--line),inset 0 1px 0 rgba(233,241,255,.1);overflow:hidden}
.bag::before{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,#9fcaff,transparent);opacity:.8}
.bag h3{font-weight:700}
.bag .total{border-top-color:var(--line)}
.bag .total b{font-family:var(--f-data);font-weight:500}
.bag .note{color:var(--label-2)}
.seg.mode{display:inline-grid;margin:14px 0 6px}
.opts.remindopts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.opts.remindopts .opt{justify-content:center;text-align:center;min-height:52px;padding:10px 6px}
.opts.remindopts .opt b{font-size:15px}
#pickPay.is-covered .opt[disabled]{opacity:.35}
.step > .hint{color:var(--label-2);font-size:13px;margin-top:10px}
.covered{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(48,209,88,.08);box-shadow:inset 0 0 0 1.5px rgba(48,209,88,.32)}
.covered svg{width:22px;height:22px;color:var(--ok);flex:none}
.covered b{display:block;font-size:15px} .covered small{color:var(--label-2);font-size:13px}

/* cada semana */
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.opt.pill{min-height:44px;padding:8px 16px;justify-content:center;font-weight:600;font-size:15px}
.opt.pill.sm{min-height:34px;padding:4px 10px;font-size:13px;border-radius:10px}
.wplan{margin-top:18px;background:#0b0d10;border-radius:18px;padding:4px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.wcount{margin:12px 2px 8px;color:var(--label-2);font-size:14px}
.wcount b{color:var(--label);font-size:20px;margin-right:2px}
.wrow{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);transition:opacity .25s}
.wrow.off{opacity:.45}
.wrow .cal,.bk .cal{background:#14171c;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;text-align:center;overflow:hidden;line-height:1.1}
.wrow .cal small,.bk .cal small{display:block;background:none;color:#8cc4ff;font:600 10px var(--f-text);text-transform:uppercase;letter-spacing:.08em;padding:5px 0 0}
.wrow .cal b{display:block;font-size:19px;padding:2px 0 5px}
.wwhat b{display:block;font-weight:600;font-size:15px}
.wwhat span{display:block}
.ok-t{font-size:13px;color:var(--ok)} .warn-t{font-size:13px;color:var(--warn)}
.alts{display:flex!important;flex-wrap:wrap;gap:6px;margin-top:6px}
.wrow .switch input{width:44px;height:27px} .wrow .switch input::after{width:23px;height:23px} .wrow .switch input:checked::after{transform:translateX(17px)}

/* ubicación */
#ubicBox:empty{display:none}
#ubicBox{margin-top:14px}
.ubic{background:#0b0d10;border-radius:16px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.ubic-h{display:flex;gap:12px;align-items:flex-start}
.ubic-h svg{width:22px;height:22px;color:var(--link);flex:none;margin-top:1px}
.ubic-h b{display:block;font-weight:600} .ubic-h span{color:var(--label-2);font-size:14px}
.ok-dot{width:12px;height:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);flex:none;margin-top:5px}
.umap{height:150px;border-radius:12px;overflow:hidden;margin-top:12px;background:#111418}
.fake{width:100%;height:100%;display:block}
.ubic-line{display:flex;align-items:center;gap:8px}
.ubic-line svg{width:18px;height:18px;color:var(--link);flex:none}
.ract{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:12px}
.ract .link,.ract .destructive{min-height:36px}
.picker{position:relative;height:340px;border-radius:18px;overflow:hidden;background:#111418;box-shadow:inset 0 0 0 1px var(--line);margin-top:6px}
.pmap{position:absolute;inset:0}
.ppin{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-44px 0 0 -22px;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));animation:drop .6s var(--spring) both}
@keyframes drop{from{transform:translateY(-30px);opacity:0}to{transform:none;opacity:1}}
.ppin svg{width:100%;height:100%}
.locbtn,.locbtn.glass{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:980px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}
.locbtn svg{width:18px;height:18px}
.pinok{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--ok)}
.pinok svg{width:16px;height:16px}

/* --- mis citas --- */
.mine{background:none;border-radius:0;overflow:visible;display:grid;gap:10px;max-width:820px}
.bk{background:#0d0f12;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);border-bottom:0;padding:16px 18px;align-items:start}
.bk .cal{width:56px}
.bk .cal b{font-family:var(--f-data);font-weight:500;font-size:22px;padding:2px 0 6px}
.bk .what b{font-family:var(--f-display);font-stretch:110%;font-weight:600}
.bk .what span{white-space:normal}
.bk .what .num{font-size:13px;color:var(--label-2)}
.bk .side .link,.bk .side .destructive{min-height:34px;font-size:14px}
.serie-chip{display:inline-flex!important;align-items:center;gap:5px;margin-top:6px;font-size:12px!important;font-weight:600;color:var(--link)!important}
.serie-chip svg{width:13px;height:13px}
.empty{background:#0d0f12;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line)}
.st-pendiente{background:rgba(255,214,10,.12);color:#ffd84d}
.st-confirmada{background:rgba(41,151,255,.14);color:#7cbcff}
.st-pagada{background:rgba(48,209,88,.13);color:#4ee07a}
.st-completada{background:#1a1d22;color:var(--label-2)}
#liveWrap:empty,#pushRow:empty{display:none}
#liveWrap,#pushRow{max-width:820px;margin:clamp(28px,3.5vw,40px) auto 0}
#pushRow + .mine,#liveWrap + #pushRow{margin-top:12px}
.pushrow{display:flex;align-items:center;gap:14px;background:#0d0f12;border-radius:18px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.pushrow .ic{width:40px;height:40px;border-radius:12px;background:#14171c;color:var(--link);display:grid;place-items:center;flex:none}
.pushrow .ic svg{width:20px;height:20px}
.pushrow div{flex:1;min-width:0} .pushrow b{display:block;font-size:15px} .pushrow span{font-size:13px;color:var(--label-2)}
@media (max-width:520px){ .pushrow{flex-wrap:wrap} .pushrow .btn{width:100%} }

/* seguimiento en vivo */
.live{border-radius:22px;padding:20px 22px 18px;background:linear-gradient(160deg,#141820,#0c0f13);box-shadow:0 30px 60px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(41,151,255,.22)}
.live.prog{box-shadow:inset 0 0 0 1px var(--line)}
.live.finalizada{box-shadow:inset 0 0 0 1px rgba(48,209,88,.3)}
.live-h{display:flex;gap:14px;align-items:center}
.live-h b{display:block;font:700 22px/1.2 var(--f-display);font-stretch:115%;letter-spacing:-.02em}
.live-h span{color:var(--label-2);font-size:15px}
.pulse{width:14px;height:14px;border-radius:50%;background:var(--glow);flex:none;position:relative;box-shadow:0 0 12px var(--glow)}
.pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--glow);animation:ping 1.8s var(--ease) infinite}
.pulse.ok{background:var(--ok);box-shadow:0 0 12px var(--ok)} .pulse.ok::after{display:none}
.live.prog .pulse{background:var(--label-3);box-shadow:none} .live.prog .pulse::after{display:none}
@keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.lbar{position:relative;height:8px;border-radius:4px;background:rgba(255,255,255,.08);margin:18px 0 6px}
.lbar i{position:absolute;inset:0;border-radius:4px;background:linear-gradient(90deg,#0071e3,#2997ff);transform-origin:left;transition:transform 1.2s var(--ease);box-shadow:0 0 14px rgba(41,151,255,.45)}
.live.finalizada .lbar i{background:linear-gradient(90deg,#1f9d47,#30d158);box-shadow:0 0 14px rgba(48,209,88,.4)}
.lbar em{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(41,151,255,.35),0 2px 8px rgba(0,0,0,.4);transition:left 1.2s var(--ease)}
.live.prog .lbar em{box-shadow:0 0 0 4px rgba(255,255,255,.1)}
.steps{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.steps li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--label-3);text-align:center}
.steps i{width:8px;height:8px;border-radius:50%;background:#2a2f37}
.steps li.done{color:var(--label-2)} .steps li.done i{background:var(--link)}
.steps li.now{color:var(--label);font-weight:600} .steps li.now i{background:var(--glow);box-shadow:0 0 0 4px rgba(41,151,255,.25)}
.lmap{margin-top:16px;height:230px;border-radius:16px;overflow:hidden;background:#111418;box-shadow:inset 0 0 0 1px var(--line)}
.live .link{margin-top:6px}

/* --- preguntas y pie --- */
.faq{border-top-color:var(--line)}
details{border-bottom-color:var(--line)}
details summary{font-weight:600;font-stretch:110%}
footer{background:var(--bg);border-top:1px solid var(--line)}
footer .top,footer .cols{border-bottom-color:var(--line)}

/* --- panel --- */
.panel .head{border-top:0;padding-top:0}
.panel .head::before{display:none}
.tablewrap{background:#0d0f12;box-shadow:inset 0 0 0 1px var(--line)}
th{font-family:var(--f-text);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--label-3)}
th,td{border-bottom-color:var(--line)}
td .link{min-height:32px;font-size:14px}
select{background:#111418;border-color:var(--line)}
.ed{background:#0d0f12;box-shadow:inset 0 0 0 1px var(--line)}
.ed .line{border-bottom-color:var(--line)}
.ed .foot{gap:6px 18px}
.note2.lead{font-size:14px;margin:18px 2px 0;max-width:72ch}
.note2.nm{margin:0}
.dprev{font-size:14px;color:var(--label-2);padding:8px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.dprev s{color:var(--label-3);text-decoration-color:rgba(255,105,97,.85)}
.dprev b{color:var(--label)}
.dprev.warn{color:var(--warn)}
.calsync{display:flex;align-items:center;gap:14px;background:#0d0f12;border-radius:18px;padding:14px 16px;margin-top:20px;box-shadow:inset 0 0 0 1px var(--line)}
.calsync .ic{width:42px;height:42px;border-radius:12px;background:#14171c;color:var(--link);display:grid;place-items:center;flex:none}
.calsync .ic svg{width:22px;height:22px}
.calsync div{flex:1;min-width:0} .calsync b{display:block;font-size:16px} .calsync span{font-size:14px;color:var(--label-2)}
@media (max-width:520px){ .calsync{flex-wrap:wrap} .calsync .btn{width:100%} }
.ruta{display:grid;gap:12px;margin-top:16px}
.rcard{display:grid;gap:8px;background:#0d0f12;border-radius:20px;padding:18px 20px;box-shadow:inset 0 0 0 1px var(--line)}
.rcard.en_camino{box-shadow:inset 0 0 0 1px rgba(41,151,255,.3)}
.rcard.finalizada{opacity:.72}
.rhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rtime{font-size:26px;letter-spacing:-.03em}
.rcard h3{font-size:19px;font-weight:600;font-stretch:112%}
.rcard .hint{color:var(--label-2);font-size:14px}
.rlive{font-size:14px;color:var(--link)}
.rmsg{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rmsg:empty{display:none}
.loadbox{display:grid;place-items:center;min-height:200px}
.spin{width:28px;height:28px;border-radius:50%;border:3px solid #2a2f37;border-top-color:var(--link);animation:sp 1s linear infinite;display:block}
@keyframes sp{to{transform:rotate(360deg)}}

/* --- hoja inferior (reagendar, ubicación, pago automático, calendario) --- */
.xscrim{position:fixed;inset:0;z-index:62;background:rgba(0,0,0,.6);display:grid;align-items:end;justify-items:center;opacity:0;transition:opacity .25s var(--ease)}
.xscrim.on{opacity:1}
.xscrim.perm{z-index:75}
.xsheet{width:min(560px,100%);max-height:92dvh;overflow:auto;background:#0f1114;border-radius:26px 26px 0 0;padding:10px 22px calc(26px + env(safe-area-inset-bottom,0px));transform:translateY(40px);transition:transform .35s cubic-bezier(.32,.72,0,1);box-shadow:0 -10px 50px rgba(0,0,0,.6),inset 0 0 0 1px var(--line);overscroll-behavior:contain}
.xscrim.on .xsheet{transform:none}
@media (min-width:700px){ .xscrim{align-items:center} .xsheet{border-radius:26px;max-height:88vh} }
.xgrab{width:38px;height:5px;border-radius:3px;background:#2a2f37;margin:0 auto 10px}
.xh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
.xh h2{font:700 24px/1.2 var(--f-display);font-stretch:115%;letter-spacing:-.02em}
.xh .icon{background:var(--bg-3);opacity:1;width:36px;height:36px}
.xsheet .hint{color:var(--label-2);font-size:14px;margin:4px 2px 10px}
.hint.xs{font-size:13px} .center{text-align:center}
.xsheet .btn{min-height:50px}
.xsheet .btn + .btn{margin-top:10px}
.xsheet .grouplabel{margin-top:18px}
.xsheet .days{margin-top:10px}
.xsheet .times{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.xsheet .formerr{margin:10px 0}
.xsheet .fields.one{grid-template-columns:1fr}
.xsheet .done{padding-top:6px}
.xsheet .done.left{text-align:left;justify-items:stretch}
.xsheet .done.left h3,.xsheet .done.left > p{text-align:center}
.xsheet .done.left .ok{justify-self:center}
.done .ok.blue{background:#14171c;color:var(--link);box-shadow:inset 0 0 0 1px var(--line)}
.sum{background:#0b0d10;border-radius:16px;padding:14px 16px;margin:14px 0;box-shadow:inset 0 0 0 1px var(--line)}
.sum div{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:4px 0}
.sum dt{color:var(--label-2)} .sum dd{margin:0;text-align:right}
.why{list-style:none;padding:0;margin:4px 0 16px;display:grid;gap:8px;font-size:15px}
.why li{display:flex;gap:10px;align-items:flex-start}
.why svg{width:18px;height:18px;color:var(--link);flex:none;margin-top:2px}
.was{background:#0b0d10;border-radius:14px;padding:12px 14px;margin-top:12px;display:grid;gap:2px;box-shadow:inset 0 0 0 1px var(--line)}
.was span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--label-3)}
.was b{font-weight:600} .was small{color:var(--label-2);font-size:13px}
.was.to{background:rgba(0,113,227,.1);box-shadow:inset 0 0 0 1.5px var(--blue)}
.ask{text-align:center;padding:8px 4px 0}
.ask-ic{width:64px;height:64px;border-radius:20px;margin:6px auto 14px;display:grid;place-items:center;background:linear-gradient(160deg,#2997ff,#0071e3);box-shadow:0 10px 30px rgba(0,113,227,.45)}
.ask-ic.warn{background:linear-gradient(160deg,#ff9f0a,#ff6b00);box-shadow:0 10px 30px rgba(255,140,0,.4)}
.ask-ic svg{width:32px;height:32px;color:#fff}
.ask h2{font:700 26px/1.15 var(--f-display);font-stretch:115%;letter-spacing:-.02em;margin:0 0 10px}
.ask > .hint{font-size:15px;margin:0 auto 20px;max-width:420px}
.ask .ios{text-align:left;margin:0 0 20px;padding-left:22px;display:grid;gap:8px}
.ask .ios svg{width:16px;height:16px;vertical-align:-3px;color:var(--link)}
.addcal{text-align:left;width:100%;margin:4px 0 4px}
.addcal .grouplabel{margin:0 0 8px}
.calbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.calbtns.one{grid-template-columns:1fr}
.calbtns .btn{margin:0!important;font-size:14px;padding:0 10px;gap:8px;min-height:46px}
.calbtns .btn svg{flex:none}
.gper{margin-top:10px;font-size:14px;border:0}
.gper summary{cursor:pointer;color:var(--link);display:flex;align-items:center;justify-content:flex-start;gap:8px;list-style:none;padding:6px 2px;font:500 14px var(--font);min-height:36px}
.gper summary::-webkit-details-marker{display:none}
.wlist{list-style:none;padding:0;margin:4px 0 8px;text-align:left;display:grid;gap:6px;width:100%}
.wlist li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0b0d10;border-radius:12px;padding:10px 14px;font-size:15px;box-shadow:inset 0 0 0 1px var(--line)}
.wlist .link{min-height:30px}
.calsteps{display:grid;gap:6px;margin:4px 0 14px}
.calsteps .btn{margin:2px 0!important}
.calsteps .hint{margin:0 4px 8px;font-size:13px}
.calsteps .warnc{color:var(--bad)}
@media (max-width:520px){ .calbtns{grid-template-columns:1fr} }

@media (prefers-reduced-motion:reduce){ .hero h1{animation:none;background:none;color:var(--label)} }
.times .opt b,.xsheet .times .opt b{white-space:nowrap;font-size:15px}

/* --- tipo de auto (precio por auto) --- */
.vehbar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-top:22px}
.vehbar.inbook{margin-top:10px}
.vehbar.inbook .vlab{display:none}
.vlab{font:500 12px var(--f-data);letter-spacing:.08em;text-transform:uppercase;color:var(--label-3)}
.vpills{display:flex;gap:6px;flex-wrap:wrap;background:#0b0d10;border-radius:14px;padding:4px;box-shadow:inset 0 0 0 1px var(--line)}
.vpill{border:0;background:none;color:var(--label-2);font:600 15px var(--font);padding:0 16px;min-height:40px;border-radius:10px;cursor:pointer;transition:background .2s,color .2s}
.vpill:hover{color:var(--label)}
.vpill[aria-checked="true"]{background:var(--blue);color:#fff;box-shadow:0 6px 18px -8px rgba(0,113,227,.8)}
@media (max-width:520px){ .vpills{width:100%;display:grid;grid-template-columns:1fr 1fr} .vpill{padding:0 8px} }
.na{color:var(--label-3);font-size:14px;font-weight:500}
.forcar{font:500 12px var(--f-data);color:var(--label-3);margin-top:-6px}
.plan.na-card{opacity:.55}
.plan.na-card .btn[disabled]{opacity:.5}
.opt[disabled] .na{color:var(--label-3)}
.vline{align-items:start!important}
.vline > label{padding-top:12px}
.vgrid{display:grid;gap:0;padding:4px 0}
.vg-h,.vg-r{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,1fr) minmax(0,1fr) 56px;gap:10px;align-items:center}
.vg-h span{font:500 11px var(--f-data);letter-spacing:.08em;text-transform:uppercase;color:var(--label-3);padding:4px 0}
.vg-r{border-top:1px solid var(--line)}
.vg-r span{font-size:15px}
.ed .vg-r input{background:#0b0d10!important;border-radius:10px;padding:8px 12px!important;min-height:40px!important;margin:6px 0;box-shadow:inset 0 0 0 1px var(--line);font-family:var(--f-data)!important;font-size:15px!important}
.ed .vg-r input:focus{box-shadow:inset 0 0 0 2px var(--glow)}
.vg-o{font:600 12px var(--f-data);color:var(--ok);font-style:normal}
.vg-o.warn{color:var(--warn)}
@media (max-width:640px){ .vg-h,.vg-r{grid-template-columns:76px 1fr 1fr 44px;gap:6px} }
.vlist{display:grid;gap:6px;padding:6px 0}
.vl-r{display:flex;gap:10px;align-items:center}
.ed .vl-r input{background:#0b0d10!important;border-radius:10px;padding:8px 12px!important;min-height:40px!important;box-shadow:inset 0 0 0 1px var(--line)}
.vlist .link{justify-self:start}

.desde{font:500 13px var(--font);color:var(--label-2);letter-spacing:0;margin-right:2px;text-transform:none}
.row .p .desde{font-size:12px}
.opt .pr .desde{font-size:11px;margin-right:0}
