.t4l-wizard{max-width:720px;margin:18px auto;font-family:var(--t4l-font-family, system-ui,-apple-system,Segoe UI,Roboto,Arial);font-size:var(--t4l-font-size,16px);--t4l-primary:#0b1220;--t4l-accent:#1d4ed8;--t4l-card-radius:16px;--t4l-btn-radius:999px;--t4l-card-shadow:0 18px 40px rgba(0,0,0,.08)}
.t4l-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--t4l-card-radius,16px);padding:16px;box-shadow:var(--t4l-card-shadow,0 8px 30px rgba(0,0,0,.05))}
.t4l-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}
.t4l-brand{display:flex;align-items:center;gap:10px}
.t4l-brand-logo{max-height:40px;max-width:220px;object-fit:contain}
.t4l-logo-text{font-weight:900;font-size:18px;letter-spacing:.2px}
.t4l-sub{color:#6b7280}
.t4l-locations,.t4l-types,.t4l-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 6px}
.t4l-chip{border:1px solid #e5e7eb;border-radius:14px;padding:12px;cursor:pointer;background:#fff}
.t4l-chip.available{background:rgba(29,78,216,.06);border-color:rgba(29,78,216,.25)}
.t4l-chip.selected,.t4l-chip.active{border-color:var(--t4l-accent);box-shadow:0 0 0 3px rgba(29,78,216,.12);background:rgba(29,78,216,.10)}
.t4l-chip .t{font-weight:800}
.t4l-chip .m{color:#6b7280;font-size:12px;margin-top:4px}
.t4l-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.t4l-btn{border:1px solid #e5e7eb;background:#fff;border-radius:var(--t4l-btn-radius,12px);padding:10px 12px;cursor:pointer}
.t4l-btn:disabled{opacity:.5;cursor:not-allowed}
.t4l-primary{background:var(--t4l-primary);color:#fff;border-color:var(--t4l-primary)}
.t4l-muted{color:#6b7280;font-size:13px}
.t4l-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.t4l-grid label,.t4l-step label{display:block;font-size:13px;color:#374151}
.t4l-step input,.t4l-step textarea{width:100%;margin-top:6px;padding:10px;border:1px solid #e5e7eb;border-radius:12px}
.t4l-summary{margin-top:10px;padding:10px;border:1px dashed #cbd5e1;border-radius:12px;color:#111827}
.t4l-error{margin-top:10px;padding:10px;border:1px solid #fecaca;background:#fef2f2;border-radius:12px;color:#991b1b}
@media (max-width:640px){.t4l-locations{grid-template-columns:1fr;gap:12px}}.t4l-grid{grid-template-columns:1fr}}


/* jQuery UI Datepicker sizing + nav visibility */
.t4l-datepicker .ui-datepicker{width:100%;max-width:920px;margin:0 auto;font-size:clamp(16px,1.6vw,20px)}
@media (min-width:768px){.t4l-datepicker .ui-datepicker{max-width:920px}}
.t4l-datepicker .ui-datepicker-header{padding:10px 0;position:relative}
.t4l-datepicker .ui-datepicker-prev,
.t4l-datepicker .ui-datepicker-next{top:10px;width:40px;height:40px;border-radius:10px;cursor:pointer}
.t4l-datepicker .ui-datepicker-prev span,
.t4l-datepicker .ui-datepicker-next span{display:none}
.t4l-datepicker .ui-datepicker-prev:before{content:'‹';display:block;line-height:40px;text-align:center;font-size:26px}
.t4l-datepicker .ui-datepicker-next:before{content:'›';display:block;line-height:40px;text-align:center;font-size:26px}
.t4l-datepicker .ui-state-default{padding:10px 0}


/* Location cards */
.t4l-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:14px 0 10px}
@media (max-width:640px){.t4l-locations{grid-template-columns:1fr;gap:12px}}}
/* Datepicker responsive */
.t4l-datepicker{width:100%}
.ui-datepicker{width:100% !important;font-size:16px}
.ui-datepicker table{width:100%}
.ui-datepicker .ui-datepicker-header{padding:10px 0}
.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{top:10px}
.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{background-image:none}
.ui-datepicker .ui-datepicker-prev:before{content:'‹';font-size:22px;line-height:1;display:block;padding-left:10px}
.ui-datepicker .ui-datepicker-next:before{content:'›';font-size:22px;line-height:1;display:block;padding-right:10px;text-align:right}
.ui-datepicker .ui-state-default{padding:10px 0;text-align:center;border-radius:10px}
.t4l-holiday a{background:rgba(245,158,11,.15) !important}
.t4l-vacation a{background:rgba(239,68,68,.12) !important}

/* Time slots */
.t4l-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:10px}
.t4l-slot{justify-content:center;text-align:center;padding:12px 14px}


/* Info message (blue box) for no-slots / notices */
.t4l-info-box{
  background:#eef6ff;
  border:1px solid #b6d9ff;
  color:#0b3a66;
  padding:12px 14px;
  border-radius:14px;
  font-size:14px;
  line-height:1.35;
}

/* Required/optional label styling */
.t4l-required{color:#dc2626;font-weight:700;margin-left:4px;}
.t4l-optional{color:#6b7280;font-weight:500;margin-left:6px;}

/* Vacation note under no-slots info box */
.t4l-info-note{margin-top:8px;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:14px;line-height:1.35;}

/* Make selected date clearly blue */
.ui-datepicker-calendar td.ui-datepicker-current-day a,
.ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active{
  background:#2563eb !important;
  color:#fff !important;
  border-radius:6px;
}


/* Confirmation button styling */
.t4l-confirmation-card{max-width:640px;margin:24px auto;padding:26px 30px;text-align:center}
.t4l-confirmation-card .t4l-summary{max-width:460px;text-align:left;display:block;margin:14px auto 0;padding:14px 16px;border:2px dashed #c7d2fe;border-radius:14px;background:#f8fafc;line-height:1.6}
.t4l-confirmation-card .t4l-summary > div{margin:2px 0}
.t4l-manage-btn{display:inline-block;margin-top:14px;padding:14px 28px;border-radius:999px;background:#2563eb;color:#fff!important;border:0;font-weight:600;font-size:16px;line-height:1;text-decoration:none}
.t4l-manage-btn:hover{background:#1d4ed8}
