:root{
  --bg:#F4F7F9; --card:#FFFFFF;
  --ink:#0E2434; --ink2:#5C6F80; --ink3:#93A3B0;
  --azur:#0E6E92; --azur-d:#0A5670; --azur-l:#E6F1F6;
  --line:#DBE4EA; --line2:#EDF2F5;
  --ok:#157A57; --ok-l:#E4F2EC;
  --warn:#9A6613; --warn-l:#FBF0DC;
  --red:#A33724; --red-l:#FBEBE7;
  --r:12px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:40px}
.wrap{max-width:540px;margin:0 auto;padding:0 18px}
.demobar{background:var(--ink);color:#E7EEF3;font-size:12.5px;text-align:center;padding:8px 14px}

.tabs{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line);padding-top:10px}
.tabs-in{max-width:540px;margin:0 auto;padding:0 18px;display:flex;gap:26px}
.tab{background:none;border:0;font:inherit;font-size:15px;font-weight:600;color:var(--ink3);padding:10px 0 12px;
  cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:8px}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--azur)}
.cnt{min-width:20px;height:20px;border-radius:999px;background:var(--warn);color:#fff;font-size:12px;
  font-weight:700;display:none;align-items:center;justify-content:center;padding:0 6px}
.cnt.on{display:flex}

header{padding:26px 0 14px}
.marca{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.sub{color:var(--ink2);font-size:14.5px;margin-top:6px;line-height:1.45}
.yatengo{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:none;border:0;font:inherit;
  font-size:14.5px;font-weight:600;color:var(--azur);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
h2{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:14px}
section{padding:22px 0;border-top:1px solid var(--line)}

.pros{display:grid;gap:9px}
.pro{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.pro-av{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--azur-l);color:var(--azur-d);
  display:flex;align-items:center;justify-content:center;font-size:14.5px;font-weight:700}
.pro-n{font-size:15.5px;font-weight:600;line-height:1.25}
.pro-m{font-size:13.5px;color:var(--ink2);margin-top:1px}

.serv{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px}
.serv-nom{font-size:19px;font-weight:600;line-height:1.25}
.serv-dur{color:var(--ink2);font-size:14px;margin-top:4px}
.serv-pre{font-size:26px;font-weight:700;margin-top:12px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.inc{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2);display:grid;gap:8px}
.inc li{list-style:none;display:flex;gap:10px;font-size:14.5px;color:var(--ink2);line-height:1.45}
.inc svg{flex:0 0 auto;width:16px;height:16px;margin-top:3px;stroke:var(--ok);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.senia{margin-top:14px;background:var(--azur-l);border-radius:var(--r);padding:14px 16px;font-size:14.5px;line-height:1.5;color:var(--azur-d)}
.senia b{font-weight:700}

.dias{display:flex;gap:8px;overflow-x:auto;padding:2px 18px 12px;margin:0 -18px 16px;scrollbar-width:none}
.dias::-webkit-scrollbar{display:none}
.dia{flex:0 0 auto;width:62px;padding:9px 0 11px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);cursor:pointer;font:inherit;color:inherit;text-align:center;transition:border-color .12s,background .12s}
.dia:hover{border-color:var(--ink3)}
.dia[aria-pressed="true"]{background:var(--azur);border-color:var(--azur);color:#fff}
.dia-sem{font-size:11.5px;color:var(--ink2);letter-spacing:.04em}
.dia[aria-pressed="true"] .dia-sem{color:rgba(255,255,255,.82)}
.dia-num{font-size:20px;font-weight:600;line-height:1.2;margin-top:2px}
.dia-mes{font-size:11px;color:var(--ink3);margin-top:1px}
.dia[aria-pressed="true"] .dia-mes{color:rgba(255,255,255,.7)}
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
.hora{padding:13px 4px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;
  font:inherit;color:inherit;font-size:15.5px;font-weight:500;font-variant-numeric:tabular-nums;transition:border-color .12s,background .12s}
.hora:hover:not(:disabled){border-color:var(--azur)}
.hora[aria-pressed="true"]{background:var(--azur);border-color:var(--azur);color:#fff}
.hora:disabled{color:var(--ink3);background:transparent;border-color:var(--line2);cursor:not-allowed;text-decoration:line-through}
.nota{color:var(--ink2);font-size:13.5px;margin-top:14px;line-height:1.45}

.resumen{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;margin-bottom:18px;font-size:15px}
.resumen .l1{font-weight:600}
.resumen .l2{color:var(--ink2);margin-top:3px}
.campo{margin-bottom:14px}
label{display:block;font-size:14px;color:var(--ink2);margin-bottom:6px;font-weight:500}
label .opc{color:var(--ink3);font-weight:400}
input{width:100%;padding:13px 14px;font:inherit;font-size:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--ink)}
input:focus{outline:2px solid var(--azur);outline-offset:1px;border-color:var(--azur)}
.hint-c{font-size:13px;color:var(--ink3);margin-top:6px;line-height:1.4}
.error{color:var(--red);font-size:13.5px;margin-top:6px}
.cta{width:100%;padding:16px;margin-top:6px;background:var(--azur);color:#fff;border:0;border-radius:var(--r);
  font:inherit;font-size:16.5px;font-weight:600;cursor:pointer;transition:background .12s}
.cta:hover{background:var(--azur-d)}
.cta:disabled{background:var(--line);color:var(--ink3);cursor:not-allowed}
.cta.sec{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.cta.sec:hover{background:var(--line2)}

.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;margin-top:22px}
.badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600}
.badge.pend{background:var(--warn-l);color:var(--warn)}
.badge.conf{background:var(--ok-l);color:var(--ok)}
.badge.rev{background:var(--azur-l);color:var(--azur-d)}
.badge.no{background:var(--red-l);color:var(--red)}
.badge i{width:8px;height:8px;border-radius:50%;background:currentColor;font-style:normal;display:block}
.ph1{font-size:23px;font-weight:700;letter-spacing:-.02em;margin-top:14px;line-height:1.2}
.pdet{color:var(--ink2);font-size:15px;margin-top:7px;line-height:1.45}
.reloj{display:flex;align-items:baseline;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line2)}
.reloj-n{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.reloj-t{font-size:14px;color:var(--ink2);line-height:1.35}
.pago{margin-top:18px;background:var(--bg);border-radius:var(--r);padding:16px}
.pago-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}
.pago-k{font-size:14px;color:var(--ink2)}
.pago-v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.alias{display:flex;align-items:center;gap:10px;margin-top:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.alias code{flex:1;font-family:inherit;font-size:16px;font-weight:600;word-break:break-all}
.copiar{background:none;border:0;font:inherit;font-size:14px;font-weight:600;color:var(--azur);cursor:pointer;padding:4px 6px;white-space:nowrap}
.ayuda{font-size:13.5px;color:var(--ink2);margin-top:12px;line-height:1.45}
.adj{display:block;margin-top:16px;border:1.5px dashed var(--line);border-radius:var(--r);padding:18px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s}
.adj:hover{border-color:var(--azur);background:var(--azur-l)}
.adj.listo{border-style:solid;border-color:var(--ok);background:var(--ok-l)}
.adj-t{font-size:15px;font-weight:600}
.adj-s{font-size:13.5px;color:var(--ink2);margin-top:3px}
.adj.listo .adj-s{color:var(--ok)}
input[type=file]{display:none}

/* codigo y link */
.cod{margin-top:18px;background:var(--bg);border-radius:var(--r);padding:16px}
.cod-k{font-size:12.5px;color:var(--ink2);font-weight:500}
.cod-v{display:flex;align-items:center;gap:12px;margin-top:7px}
.cod-n{flex:1;font-size:30px;font-weight:700;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.cod-l{display:flex;align-items:center;gap:10px;margin-top:11px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 13px}
.cod-l code{flex:1;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--azur-d);line-height:1.45;word-break:normal;overflow-wrap:anywhere}
.cod-l code b{font-weight:600;white-space:nowrap}
.nopuedo{display:block;width:100%;margin-top:16px;background:none;border:0;padding:8px;
  font:inherit;font-size:14.5px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nopuedo:hover{color:var(--ink)}
.cod-s{font-size:13.5px;color:var(--ink2);margin-top:10px;line-height:1.45}

/* sobre / mail */
.mail{margin-top:18px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.mail-k{background:var(--bg);padding:9px 15px;font-size:12px;font-weight:700;color:var(--ink2);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.mail-h{padding:13px 15px 0;font-size:13px;color:var(--ink2);line-height:1.6}
.mail-h b{color:var(--ink);font-weight:600}
.mail-a{padding:9px 15px 0;font-size:15.5px;font-weight:600;line-height:1.3}
.mail-b{padding:10px 15px 15px;font-size:14px;line-height:1.6;color:var(--ink2);white-space:pre-line}
.mail-b em{color:var(--azur-d);font-style:normal;font-weight:600}

.qr{margin-top:18px;border:1.5px dashed var(--line);border-radius:var(--r);padding:26px 18px;text-align:center}
.qr-ico{width:46px;height:46px;margin:0 auto 12px;stroke:var(--ink3);stroke-width:1.7;fill:none}
.qr-t{font-size:15px;font-weight:600}
.qr-s{font-size:13.5px;color:var(--ink2);margin-top:4px;line-height:1.45}
.donde{margin-top:18px;background:var(--bg);border-radius:var(--r);padding:15px 16px}
.donde-k{font-size:12.5px;color:var(--ink2);margin-bottom:6px;font-weight:500}
.donde-v{font-size:15px;line-height:1.45;font-weight:600}
.donde-s{font-size:14px;color:var(--ink2);margin-top:3px;line-height:1.45}
.hint{margin-top:16px;background:var(--azur-l);border-radius:var(--r);padding:14px 16px;font-size:14px;line-height:1.5;color:var(--azur-d)}
.hint b{font-weight:700}

/* consulta */
.cons{margin-top:22px}
.cons-in{text-transform:uppercase;letter-spacing:.16em;font-size:20px;font-weight:700;text-align:center}

/* bandeja */
.bz-head{padding:26px 0 8px}
.bz-t{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.bz-s{color:var(--ink2);font-size:14px;margin-top:5px;line-height:1.45}
.bz-sec{font-size:13px;font-weight:700;color:var(--ink2);letter-spacing:.04em;text-transform:uppercase;margin:22px 0 12px}
.sol{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}
.sol.mio{border-color:var(--azur);box-shadow:0 0 0 3px var(--azur-l)}
.sol-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sol-n{font-size:17px;font-weight:600;line-height:1.25}
.sol-w{font-size:14px;color:var(--ink2);margin-top:3px;line-height:1.4}
.sol-m{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.sol-cmp{display:flex;align-items:center;gap:11px;margin-top:13px;background:var(--bg);border-radius:10px;padding:11px 13px}
.sol-cmp svg{flex:0 0 auto;width:19px;height:19px;stroke:var(--azur);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sol-cmp-t{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sol-cmp-v{font-size:13.5px;font-weight:600;color:var(--azur);cursor:pointer}
.sol-btn{display:flex;gap:9px;margin-top:13px}
.sol-btn button{flex:1;padding:12px;border-radius:10px;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;border:1px solid var(--line)}
.b-ok{background:var(--ok);border-color:var(--ok) !important;color:#fff}
.b-no{background:var(--card);color:var(--ink2)}
.sol-reloj{font-size:13.5px;color:var(--warn);font-weight:600;margin-top:11px;font-variant-numeric:tabular-nums}
.ev{background:var(--card);border:1px solid var(--ok);border-radius:var(--r);padding:16px;margin-bottom:12px}
.ev-k{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--ok);letter-spacing:.02em}
.ev-k svg{width:16px;height:16px;stroke:var(--ok);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ev.libre{border-color:var(--line)}
.ev.libre .ev-k{color:var(--ink2)}
.ev.libre .ev-k svg{stroke:var(--ink2)}
.ev-t{font-size:16.5px;font-weight:600;margin-top:11px;line-height:1.3}
.ev-c{font-size:14px;color:var(--ink2);margin-top:4px;line-height:1.5}
.bz-vacio{background:var(--card);border:1px dashed var(--line);border-radius:var(--r);padding:28px 18px;text-align:center;color:var(--ink3);font-size:14.5px;line-height:1.5}
.bz-pie{margin-top:22px;padding:16px;background:var(--azur-l);border-radius:var(--r);font-size:14px;line-height:1.55;color:var(--azur-d)}
.bz-pie b{font-weight:700}
.pie{padding:26px 0 6px;border-top:1px solid var(--line);margin-top:26px;text-align:center}
.pie p{font-size:13.5px;color:var(--ink2);line-height:1.5}
[hidden]{display:none !important}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
/* ---------- calendario por mes ---------- */
.cal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 10px;margin-bottom:16px}
.cal-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.cal-mes{font-size:15.5px;font-weight:600}
.cal-nav{display:flex;gap:6px}
.cal-nav button{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--card);
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.cal-nav button:hover:not(:disabled){border-color:var(--azur);background:var(--azur-l)}
.cal-nav button:disabled{opacity:.35;cursor:not-allowed}
.cal-nav svg{width:16px;height:16px;stroke:var(--ink);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cal-sem{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
.cal-sem span{text-align:center;font-size:11.5px;color:var(--ink3);font-weight:500;padding:4px 0}
.cal-rej{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-d{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:none;font:inherit;
  font-size:15px;color:var(--ink3);cursor:default;display:flex;align-items:center;justify-content:center;
  position:relative;padding:0;font-variant-numeric:tabular-nums}
.cal-d.hay{color:var(--ink);font-weight:500;cursor:pointer;border-color:var(--line);background:var(--card)}
.cal-d.hay:hover{border-color:var(--azur);background:var(--azur-l)}
.cal-d.hay::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--azur)}
.cal-d[aria-pressed="true"]{background:var(--azur);border-color:var(--azur);color:#fff}
.cal-d[aria-pressed="true"]::after{background:rgba(255,255,255,.85)}
.cal-d.vacio{border:0;background:none}
.cal-pie{font-size:12.5px;color:var(--ink3);margin-top:10px;padding-top:9px;border-top:1px solid var(--line2);
  display:flex;align-items:center;gap:7px}
.cal-pie i{width:5px;height:5px;border-radius:50%;background:var(--azur);display:block;font-style:normal}
.elegido{font-size:14.5px;font-weight:600;margin-bottom:12px}

/* ---------- dirección y redes ---------- */
.mapa{display:inline-flex;align-items:center;gap:7px;color:var(--azur);text-decoration:none;font-weight:500}
.mapa:hover{text-decoration:underline;text-underline-offset:3px}
.mapa svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.donde .mapa{margin-top:10px;font-size:14.5px}
.redes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.red{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);
  border-radius:999px;background:var(--card);color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500}
.red:hover{border-color:var(--azur);color:var(--azur-d)}
.red svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.firma{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink3)}
.firma a{color:var(--ink2);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.firma a:hover{color:var(--azur-d);border-bottom-color:var(--azur)}
/* barra de "estás cambiando tu turno" */
.movaviso{background:var(--azur-l);border:1px solid #CDE2EC;border-radius:var(--r);
  padding:14px 16px;margin-bottom:16px}
.movaviso-t{font-size:15px;font-weight:600;color:var(--azur-d)}
.movaviso-s{font-size:13.5px;color:var(--azur-d);opacity:.85;margin-top:3px;line-height:1.45}
.movaviso-x{background:none;border:0;font:inherit;font-size:13.5px;font-weight:600;color:var(--azur-d);
  padding:0;margin-top:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* nota de política debajo del turno confirmado */
.ok-pol{font-size:13px;color:var(--ink3);line-height:1.45;margin:14px 0 2px;text-align:center}

.avisocal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;margin-bottom:16px;text-align:center}
.avisocal-t{font-size:16.5px;font-weight:600}
.avisocal-s{font-size:14px;color:var(--ink2);margin:7px 0 16px;line-height:1.5}

/* ---------- laptop y escritorio ---------- */
@media (min-width: 880px) {
  body{padding-bottom:64px}
  .wrap{max-width:940px}

  header{padding:44px 0 10px}
  .marca{font-size:34px}
  .sub{font-size:15.5px}

  /* la reserva pasa a dos columnas: qué es a la izquierda, cuándo a la derecha */
  #flujo{display:grid;grid-template-columns:1fr 1fr;gap:0 52px;align-items:start}
  .col-a,.col-b{min-width:0}
  .col-a > section:first-child,
  .col-b > section:first-child{border-top:0;padding-top:0}
  #flujo{margin-top:30px}

  /* las tarjetas de estado no se estiran a lo ancho de la página */
  .panel{max-width:560px;margin-left:auto;margin-right:auto}

  .horas{grid-template-columns:repeat(3,1fr)}
  .cal-d{font-size:16px}
  .serv-pre{font-size:30px}
}

@media (min-width: 880px) and (max-width: 1060px) {
  .horas{grid-template-columns:repeat(2,1fr)}
}

/* la bandeja de la clínica no necesita todo el ancho */

/* ============ banda de cabecera ============ */
.banda{background:linear-gradient(160deg,#0E2434 0%,#123449 58%,#0E4258 100%);color:#fff;padding:30px 0 62px}
.banda-in{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;flex-wrap:wrap}
.banda-txt{flex:1 1 260px;min-width:0}
.banda .marca{font-size:27px;font-weight:700;letter-spacing:-.025em;line-height:1.15;color:#fff}
.banda .sub{color:rgba(226,238,245,.74);font-size:14.5px;margin-top:5px}
.banda .mapa{color:#7FD3EF;margin-top:11px;font-size:14.5px}
.banda .mapa:hover{color:#AFE6F8}
.yatengo{display:block;text-align:left;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);
  border-radius:10px;padding:11px 15px;font:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;
  text-decoration:none;margin-top:0;flex:0 0 auto}
.yatengo span{display:block;font-weight:400;font-size:13px;color:rgba(226,238,245,.7);margin-top:2px}
.yatengo:hover{background:rgba(255,255,255,.16)}

/* el contenido se monta sobre la banda */
.banda + main.wrap{margin-top:-40px;position:relative;z-index:1}
#flujo{margin-top:0}

/* ============ ficha del tratamiento ============ */
.ficha{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 1px 2px rgba(14,36,52,.05),0 8px 22px -14px rgba(14,36,52,.22)}
.ficha-cab{padding:20px 20px 18px;border-bottom:1px solid var(--line2)}
.ficha-cuerpo{padding:16px 20px;border-bottom:1px solid var(--line2)}
.ficha-k{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.ficha .serv-nom{font-size:20px;font-weight:600;line-height:1.25}
.ficha .serv-dur{color:var(--ink2);font-size:14px;margin-top:3px}
.ficha .serv-pre{font-size:30px;font-weight:700;margin-top:10px;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.ficha .inc{margin:0;padding:0;border:0;display:grid;gap:7px}
.ficha .inc li{border:0;margin:0;padding:0;font-size:14px}
.ficha .inc svg{margin-top:2px}
.ficha .pros{gap:2px}
.ficha .pro{background:none;border:0;border-radius:0;padding:5px 0;gap:11px}
.ficha .pro-av{width:34px;height:34px;font-size:12.5px}
.ficha .pro-n{font-size:14.5px}
.ficha .pro-m{font-size:12.5px}
.ficha .senia{margin:0;border-radius:0;padding:15px 20px;font-size:13.5px;background:var(--azur-l)}

/* tarjetas con la misma profundidad que la ficha */
.cal,.panel{box-shadow:0 1px 2px rgba(14,36,52,.05),0 8px 22px -14px rgba(14,36,52,.22)}
.cal{border-radius:14px}
.panel{border-radius:14px}
section.primera{border-top:0;padding-top:0}

@media (min-width: 880px) {
  .banda{padding:48px 0 78px}
  .banda .marca{font-size:36px}
  .banda + main.wrap{margin-top:-52px}
  .col-a > .ficha{margin-top:0}
  section.primera{padding-top:0}
  /* la ficha y el calendario arrancan a la misma altura */
  .col-b > section.primera > h2{margin-top:0}
}

@media (max-width: 879px) {
  .banda-in{flex-direction:column;align-items:stretch}
  .banda-txt{flex:0 1 auto}
  .yatengo{align-self:flex-start;margin-top:16px}
  .col-a{margin-bottom:6px}
}

/* el título vive dentro de la tarjeta, para que las dos columnas
   arranquen en la misma línea y nada quede sobre la banda oscura */
.cal{padding:0 14px 10px}
.cal-tit{margin:0 -14px;padding:18px 20px 16px;border-bottom:1px solid var(--line2);
  font-size:20px;font-weight:600;letter-spacing:-.01em}
.cal-cab{margin-top:16px}
.avisocal{border-radius:14px;box-shadow:0 1px 2px rgba(14,36,52,.05),0 8px 22px -14px rgba(14,36,52,.22)}

@media (min-width: 880px) {
  #login{max-width:560px;margin:0 auto}
}

/* esqueleto mientras se leen los calendarios */
@keyframes lat{0%,100%{opacity:.45}50%{opacity:.8}}
.hueso,.hueso-d{background:var(--line2);border-radius:8px;animation:lat 1.3s ease-in-out infinite}
.hueso-mes{display:inline-block;width:132px;height:17px;vertical-align:middle}
.cal-d.hueso-d{border-color:transparent}

/* esqueleto mientras se leen los calendarios */
@keyframes lat{0%,100%{opacity:.5}50%{opacity:.85}}
.hueso,.hueso-d{background:var(--line2);border-radius:8px;animation:lat 1.3s ease-in-out infinite}
.hueso-mes{display:inline-block;width:132px;height:17px;vertical-align:middle}
.cal-d.hueso-d{border-color:transparent;cursor:default}

/* armazón inicial: la página aparece entera y se rellena sola */
.hueso-tit{display:inline-block;width:min(78%,330px);height:27px;background:rgba(255,255,255,.17)}
.hueso-sub{display:inline-block;width:min(64%,260px);height:12px;background:rgba(255,255,255,.13)}
.hueso-nom{display:inline-block;width:78%;height:19px}
.hueso-dur{display:inline-block;width:42%;height:11px;margin-top:5px}
.hueso-pre{display:inline-block;width:46%;height:27px;margin-top:4px}
.hueso-li{display:inline-block;width:88%;height:12px}
.inc li:nth-child(2) .hueso-li{width:56%}
.inc li:nth-child(3) .hueso-li{width:72%}
.inc li:nth-child(4) .hueso-li{width:64%}
.hueso-av{display:inline-block;width:34px;height:34px;border-radius:50%;flex:0 0 auto}
.hueso-nm{display:inline-block;width:58%;height:13px}
.hueso-se{display:inline-block;width:92%;height:12px}
.hueso-pie{display:inline-block;width:min(70%,320px);height:12px}
