/* Wolk Sitio 2.9.23 — Calendario de la agenda de consultoría (como Calendly / HubSpot).
   Lo usan el formulario de Desarrollo ([wolk_consultoria]) y la página del cliente para reprogramar.
   Se adapta al ANCHO DE SU CAJA (container queries), no al de la pantalla: sirve dentro del formulario
   y en la página angosta del cliente. */
.wolk-cal{--c-ink:#0A1628;--c-muted:#5B6B85;--c-line:#E3E8F2;--c-bg:#F4F6FB;--c-card:#fff;--c-blue:#2B3FBE;--c-blue2:#2233A0;--c-soft:#EEF1FB;--c-teal:#0B7A6F;container-type:inline-size;color:var(--c-ink)}
.wolk-cal[hidden]{display:none!important}
.wolk-cal__l-top{font-weight:700;font-size:14px;display:block;margin-bottom:8px}
.wolk-cal__c{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;background:var(--c-card);border:1px solid var(--c-line);border-radius:22px;overflow:hidden;box-shadow:0 18px 44px -30px rgba(10,22,40,.45)}
.wolk-cal__que{padding:22px 20px;border-right:1px solid var(--c-line);display:flex;flex-direction:column;gap:12px}
.wolk-cal__logo{display:flex;align-items:center;gap:6px;font-family:var(--wolk-font-t,inherit);font-size:16px;letter-spacing:.02em;color:var(--c-ink)}
.wolk-cal__logo svg{width:32px;height:22px;flex:none}.wolk-cal__logo b{color:var(--c-teal)}.wolk-cal__logo span{font-weight:700}
.wolk-cal__t{margin:0;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.wolk-cal__dato{display:flex;gap:10px;align-items:center;color:var(--c-muted);font-size:14.5px}
.wolk-cal__dato i{font-style:normal;width:22px;text-align:center}
.wolk-cal__nota{margin:0;color:var(--c-muted);font-size:13.5px}
.wolk-cal__mes{padding:20px 20px 16px;min-width:0}
.wolk-cal__mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wolk-cal__mt{font-family:var(--wolk-font-t,inherit);font-size:18px}
.wolk-cal__nav{display:flex;gap:6px}
.wolk-cal__nav button{width:36px;height:36px;border-radius:50%;border:0;background:var(--c-soft);color:var(--c-blue);font-size:19px;font-weight:800;cursor:pointer;line-height:1}
.wolk-cal__nav button:disabled{opacity:.35;cursor:default}
.wolk-cal__dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.wolk-cal__ds-h{font-size:11.5px;font-weight:800;color:var(--c-muted);letter-spacing:.04em;padding:6px 0}
.wolk-cal__dia{aspect-ratio:1;width:100%;max-width:44px;margin:0 auto;border:0;background:none;border-radius:50%;font:inherit;font-weight:600;font-size:15px;color:#B3BCCF;display:grid;place-items:center;position:relative;padding:0}
.wolk-cal__dia.is-libre{color:var(--c-blue);background:var(--c-soft);font-weight:800;cursor:pointer}
.wolk-cal__dia.is-libre:hover{background:#DDE3FA}
.wolk-cal__dia.is-hoy::after{content:"";position:absolute;bottom:5px;left:50%;margin-left:-2px;width:4px;height:4px;border-radius:50%;background:currentColor}
.wolk-cal__dia.is-on{background:var(--c-blue);color:#fff}
.wolk-cal__dia:focus-visible,.wolk-cal__hb:focus-visible,.wolk-cal__hok:focus-visible{outline:3px solid #9DB0FF;outline-offset:2px}
.wolk-cal__zona{margin-top:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13.5px;color:var(--c-muted)}
.wolk-cal .wolk-cal__zona select.wolk-cal__tz{width:auto;max-width:100%;height:auto;min-height:0;margin:0;border:0;border-radius:6px;background:none;box-shadow:none;color:var(--c-blue);font:inherit;font-weight:800;cursor:pointer;padding:2px 2px;display:inline-block;field-sizing:content}
.wolk-cal .wolk-cal__zona select.wolk-cal__tz:focus-visible{outline:3px solid #9DB0FF;outline-offset:2px}
.wolk-cal__zb{color:var(--c-blue)}
.wolk-cal__horas{padding:20px 16px;border-left:1px solid var(--c-line);display:flex;flex-direction:column;min-height:380px;min-width:0}
.wolk-cal__ht{margin:2px 0 12px;font-size:15px}
.wolk-cal__lista{display:grid;gap:8px;overflow-y:auto;max-height:330px;padding-right:2px}
.wolk-cal__h{display:flex;gap:8px}
.wolk-cal__h button{flex:1;min-width:0;border:1.5px solid #C9D1F3;background:var(--c-card);color:var(--c-blue);border-radius:12px;padding:11px 8px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;transition:border-color .15s,background .15s}
.wolk-cal__h .wolk-cal__hb:hover{border-color:var(--c-blue)}
.wolk-cal__h .wolk-cal__hok{display:none;background:var(--c-blue);border-color:var(--c-blue);color:#fff}
.wolk-cal__h.is-on .wolk-cal__hb{flex:0 0 46%;background:var(--c-muted);border-color:var(--c-muted);color:#fff}
.wolk-cal__h.is-on .wolk-cal__hok{display:block;animation:wolk-cal-entra .18s ease-out}
/* 2.9.30 — "Confirmar" entra y late suave 3 veces; "Enviar solicitud"/"Reprogramar" late una vez al abrir la ventana.
   Después queda un halo quieto. */
.wolk-cal__h.is-on .wolk-cal__hok.is-listo{box-shadow:0 0 0 4px rgba(43,63,190,.18);animation:wolk-cal-entra .18s ease-out,wolk-cal-late 1.4s ease-out .2s 3}
.wolk-cal__acc .wolk-cal__p.is-listo{box-shadow:0 0 0 4px rgba(43,63,190,.18);animation:wolk-cal-late 1.4s ease-out .3s 1}
@keyframes wolk-cal-late{0%{box-shadow:0 0 0 0 rgba(43,63,190,.45);transform:scale(1)}45%{transform:scale(1.03)}70%{box-shadow:0 0 0 12px rgba(43,63,190,0);transform:scale(1)}100%{box-shadow:0 0 0 4px rgba(43,63,190,.18)}}
@keyframes wolk-cal-entra{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.wolk-cal__volver{display:none;align-self:flex-start;border:0;background:none;color:var(--c-blue);font:inherit;font-weight:800;font-size:14.5px;padding:0 0 10px;cursor:pointer}
.wolk-cal__volver:focus-visible{outline:3px solid #9DB0FF;outline-offset:2px;border-radius:6px}
.wolk-cal__tip{display:none;margin:8px 0 0;color:var(--c-muted);font-size:13px}
.wolk-cal__vacio{color:var(--c-muted);font-size:14px;margin:auto 0;text-align:center}
.wolk-cal.is-sin .wolk-cal__mes,.wolk-cal.is-sin .wolk-cal__ht{display:none}
/* La ventana */
.wolk-cal__dlg{border:0;border-radius:24px;padding:0;width:calc(100% - 32px);max-width:430px;background:var(--c-card);color:var(--c-ink);box-shadow:0 30px 80px -20px rgba(10,22,40,.55)}
.wolk-cal__dlg::backdrop{background:rgba(10,22,40,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.wolk-cal__dlg[open]{animation:wolk-cal-sube .24s ease-out}
@keyframes wolk-cal-sube{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.wolk-cal__dc{position:relative;padding:28px 24px 22px}
.wolk-cal__dx{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:var(--c-soft);color:var(--c-ink);font-size:18px;cursor:pointer}
.wolk-cal__ok{width:60px;height:60px;border-radius:50%;background:#E8F8F6;color:var(--c-teal);display:grid;place-items:center;font-size:28px;font-weight:800;margin:0 auto 12px}
.wolk-cal__ok--falta{background:var(--c-soft);font-size:26px}
.wolk-cal__dlg h3{text-align:center;font-size:22px;margin:0 0 4px}
.wolk-cal__ds{text-align:center;color:var(--c-muted);font-size:14.5px;margin:0 0 16px}
.wolk-cal__tj{border:1px solid var(--c-line);border-radius:18px;padding:14px 16px;display:grid;gap:10px;background:var(--c-bg)}
.wolk-cal__tj .wolk-cal__logo{font-size:14px}.wolk-cal__tj .wolk-cal__logo svg{width:26px;height:18px}
.wolk-cal__tt{font-size:16px}
.wolk-cal__l{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}.wolk-cal__l i{font-style:normal;width:20px;text-align:center;flex:none}
.wolk-cal__l small{display:block;color:var(--c-muted);font-size:12.5px}
.wolk-cal__dn{color:var(--c-muted);font-size:13px;text-align:center;margin:14px 0 16px}
.wolk-cal__falta{margin:0 0 18px;padding:12px 16px;list-style:none;background:var(--c-bg);border-radius:14px;display:grid;gap:6px;font-weight:700}
.wolk-cal__falta li::before{content:"•";color:var(--c-blue);margin-right:8px}
.wolk-cal__acc{display:grid;gap:8px}
.wolk-cal__acc button{border-radius:14px;padding:13px 16px;font:inherit;font-weight:800;font-size:16px;cursor:pointer}
.wolk-cal__p{background:var(--c-blue);color:#fff;border:0}.wolk-cal__p:hover{background:var(--c-blue2)}.wolk-cal__p:disabled{opacity:.7;cursor:wait}
.wolk-cal__s{background:var(--c-card);color:var(--c-blue);border:1.5px solid var(--c-line)}
@media (prefers-reduced-motion:reduce){.wolk-cal__dlg[open],.wolk-cal__h.is-on .wolk-cal__hok,.wolk-cal.ver-horas .wolk-cal__horas,.wolk-cal__h.is-on .wolk-cal__hok.is-listo,.wolk-cal__acc .wolk-cal__p.is-listo{animation:none}}
/* Angosto (celular, o la caja chica): una columna; horas en dos columnas. */
@container (max-width:760px){
  .wolk-cal__c{grid-template-columns:1fr}
  .wolk-cal__que{border-right:0;border-bottom:1px solid var(--c-line);flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:16px 18px}
  .wolk-cal__que .wolk-cal__logo{flex:1 1 100%}
  .wolk-cal__t{font-size:18px;flex:1 1 100%}
  .wolk-cal__nota{display:none}
  .wolk-cal__mes{padding:16px}
  .wolk-cal__horas{border-left:0;border-top:1px solid var(--c-line);min-height:0;padding:16px}
  .wolk-cal__lista{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}
  .wolk-cal__h.is-on{grid-column:1/-1}
  /* 2.9.25 — dos pantallas: el mes y, al tocar un día, sus horas (sin scroll largo). */
  .wolk-cal:not(.ver-horas):not(.is-sin) .wolk-cal__horas{display:none}
  .wolk-cal.ver-horas .wolk-cal__mes{display:none}
  .wolk-cal.ver-horas .wolk-cal__horas{border-top:0;animation:wolk-cal-entra .22s ease-out}
  .wolk-cal.ver-horas .wolk-cal__volver{display:inline-block}
  .wolk-cal:not(.is-sin) .wolk-cal__tip{display:block}
  .wolk-pasos .wolk-cal__que{display:none}
}
