/* Orqestrum · ventana de reserva de demo */
.orqd-lock { overflow: hidden; }
.orqd-root[hidden] { display: none !important; }
.orqd-root { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: Manrope, system-ui, sans-serif; }
.orqd-overlay { position: absolute; inset: 0; background: rgba(3,3,14,0.74); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.orqd-dialog { position: relative; width: 100%; max-width: 560px; max-height: calc(100dvh - 32px); overflow-y: auto; padding: clamp(24px, 4vw, 38px); border: 1px solid rgba(200,210,255,0.14); border-radius: 22px; background: linear-gradient(170deg, rgba(12,12,49,0.99) 0%, rgba(8,8,35,0.99) 100%); box-shadow: 0 30px 90px rgba(3,3,14,0.7); color: #f2f4ff; outline: none; animation: orqd-in 0.22s ease-out; }
@keyframes orqd-in { from { opacity: 0; transform: translateY(14px) scale(0.985); } to { opacity: 1; transform: none; } }
.orqd-x { position: absolute; top: 12px; right: 14px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #9aa1c4; font-size: 30px; line-height: 1; cursor: pointer; }
.orqd-x:hover { color: #fff; background: rgba(200,210,255,0.08); }
.orqd-h { margin: 0 44px 8px 0; font-size: clamp(22px, 3.4vw, 28px); font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; }
.orqd-sub { margin: 0 0 22px; font-size: 15px; font-weight: 300; line-height: 1.55; color: #b6bcda; }
.orqd-form { display: flex; flex-direction: column; gap: 14px; }
.orqd-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.orqd-l { display: flex; flex-direction: column; gap: 7px; font-size: 12.5px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: #8f96b8; }
.orqd-l input { min-height: 48px; padding: 0 15px; border: 1px solid rgba(200,210,255,0.16); border-radius: 12px; background: rgba(6,6,26,0.7); color: #f2f4ff; font: inherit; font-size: 16px; font-weight: 300; letter-spacing: 0; text-transform: none; }
.orqd-l input:focus, .orqd-btn:focus-visible, .orqd-day:focus-visible, .orqd-time:focus-visible, .orqd-x:focus-visible, .orqd-alt:focus-visible, .orqd-c input:focus-visible { outline: 2px solid #ff8a4d; outline-offset: 2px; }
.orqd-c { display: flex; gap: 11px; align-items: flex-start; font-size: 13px; font-weight: 300; line-height: 1.5; color: #9aa1c4; cursor: pointer; }
.orqd-c input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: #ff8a4d; }
.orqd-c a { color: #ffb184; text-decoration: underline; }
.orqd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.orqd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 26px; border: 0; border-radius: 999px; background: linear-gradient(180deg, #ff9257 0%, #ef6f2c 100%); color: #1a0c04; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: filter 0.2s ease, transform 0.2s ease; }
.orqd-btn:hover:not(:disabled) { filter: brightness(1.07); transform: translateY(-1px); }
.orqd-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.orqd-alt { align-self: center; font-size: 13.5px; color: #9aa1c4; text-decoration: underline; text-underline-offset: 3px; text-align: center; }
.orqd-alt:hover { color: #fff; }
.orqd-err { margin: 0; padding: 11px 14px; border: 1px solid rgba(255,138,77,0.45); border-radius: 12px; background: rgba(255,138,77,0.08); color: #ffd2b0; font-size: 14px; line-height: 1.45; }
.orqd-err[hidden], .orqd-load[hidden] { display: none; }
.orqd-load { margin: 6px 0 14px; color: #9aa1c4; font-size: 14px; }
.orqd-days { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 12px; margin: 0 -2px; scrollbar-width: thin; scrollbar-color: rgba(200,210,255,0.28) transparent; }
.orqd-days::-webkit-scrollbar { height: 6px; }
.orqd-days::-webkit-scrollbar-thumb { background: rgba(200,210,255,0.28); border-radius: 6px; }
.orqd-days::-webkit-scrollbar-track { background: transparent; }
.orqd-day { flex: none; min-height: 46px; padding: 0 14px; border: 1px solid rgba(200,210,255,0.16); border-radius: 12px; background: #111437; color: #cfd4ee; font: inherit; font-size: 14px; font-weight: 600; text-transform: capitalize; cursor: pointer; white-space: nowrap; }
.orqd-day.on { border-color: rgba(255,138,77,0.6); background: rgba(255,138,77,0.14); color: #ffd2b0; }
.orqd-times { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; margin: 4px 0 18px; }
.orqd-time { min-height: 46px; border: 1px solid rgba(200,210,255,0.16); border-radius: 12px; background: transparent; color: #f2f4ff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.orqd-time:hover { border-color: rgba(255,138,77,0.5); }
.orqd-time.on { background: #ff8a4d; border-color: #ff8a4d; color: #1a0c04; }
.orqd-foot { margin: 14px 0 0; font-size: 13px; font-weight: 300; color: #8f96b8; text-align: center; }
.orqd-times + .orqd-err + .orqd-load + .orqd-btn { width: 100%; }
@media (max-width: 560px) {
  .orqd-root { padding: 0; align-items: flex-end; }
  .orqd-dialog { max-width: none; max-height: 100dvh; border-radius: 22px 22px 0 0; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); animation-name: orqd-up; }
  .orqd-btn { width: 100%; }
}
@keyframes orqd-up { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .orqd-dialog { animation: none; } .orqd-btn { transition: none; } }
.orqd-l select { min-height: 48px; padding: 0 14px; border: 1px solid rgba(200,210,255,0.16); border-radius: 12px; background: #0b0b2e; color: #f2f4ff; font: inherit; font-size: 16px; font-weight: 300; letter-spacing: 0; text-transform: none; }
.orqd-l select:focus { outline: 2px solid #ff8a4d; outline-offset: 2px; }
.orqd-l input.orqd-bad, .orqd-l select.orqd-bad { border-color: #ff7a7a; box-shadow: 0 0 0 1px #ff7a7a; }
.orqd-c.orqd-bad { color: #ffb4b4; }
.orqd-c.orqd-bad input { outline: 2px solid #ff7a7a; outline-offset: 2px; }
.orqd-fe { color: #ffb4b4; font-size: 12px; text-transform: none; letter-spacing: 0; }
