/* base isolation */
.lb3-scope, .lb3-scope *{box-sizing:border-box;font-family:Arial, Helvetica, sans-serif !important;text-transform:none !important;letter-spacing:0 !important}
.lb3-scope a{text-decoration:none}

.lb3-scope{--lb3-orange:#f57c00;--lb3-pink:#b54677;--lb3-border:#111;}

/* equal columns */
.lb3-cal{width:100%;border-collapse:collapse;table-layout:fixed !important;border-radius:16px;overflow:hidden}

/* DATES HEADER: BLACK BACKGROUND */
.lb3-cal th{
  background: #333 !important;
  color: #fff !important;
  font-weight: 900 !important;
  border: 1px solid #222 !important;
  padding: 12px 8px !important;
  text-align: center !important;
  width: 14.2857% !important;
}

.lb3-cal td{
  width: 14.2857% !important;
  border: 1px solid var(--lb3-border);
  vertical-align: top;
  padding: 10px;
  min-height: 120px;
}
.lb3-empty{background:#fafafa}
.lb3-daynum{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;background:#f0f0f0;border-radius:8px;font-weight:900;color:#111 !important;margin-bottom:12px;}
.lb3-daynum:hover{background:var(--lb3-orange) !important;color:#fff !important;}

/* header */
.lb3-cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.lb3-cal-title{font-size:22px;font-weight:900}
.lb3-next,.lb3-prev{background:var(--lb3-orange) !important;color:#fff !important;border:0 !important;border-radius:999px !important;padding:10px 18px !important;font-weight:900 !important;cursor:pointer}

/* slot badge */
.lb3-slotline{display:flex;align-items:center;gap:12px;margin:6px 0;font-size:14px;line-height:1.2}
.lb3-ratio{width:42px;height:42px;min-width:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:3px solid currentColor;background:transparent}

/* time: black default, orange on hover */
.lb3-time{font-size:16px;font-weight:900;color:#111 !important;text-decoration:none !important;}
.lb3-slotline--pick:hover .lb3-time{color:var(--lb3-orange) !important;text-decoration:underline !important;}

/* availability colors by FREE places */
.lb3-slotline.lb3-free-3{color:#2e7d32 !important;}
.lb3-slotline.lb3-free-2{color:#f9a825 !important;}
.lb3-slotline.lb3-free-1{color:var(--lb3-orange) !important;}
.lb3-slotline.lb3-free-0{color:#c62828 !important;}

.lb3-weekend{font-size:13px;opacity:.75}

/* modal */
.lb3-modal{position:fixed;inset:0;z-index:99999}
.lb3-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.lb3-modal__dialog{position:relative;background:#fff;max-width:760px;margin:5vh auto;padding:18px;border:1px solid var(--lb3-border);border-radius:16px;max-height:90vh;overflow:auto}
.lb3-modal__close{position:absolute;top:10px;right:10px;border:0;background:transparent;width:34px;height:34px;cursor:pointer;font-size:26px;line-height:1}

/* form */
.lb3-title{font-size:26px;font-weight:900;margin:0 0 12px;text-transform:uppercase}
.lb3-term{border:1px solid var(--lb3-border);padding:10px;margin:0 0 16px;border-radius:12px}
.lb3-term-grid{display:flex;gap:16px;flex-wrap:wrap}
.lb3-form h3{font-size:18px;font-weight:900;margin:18px 0 10px}
.lb3-field{margin:0 0 10px}
.lb3-field label{display:block;margin:0 0 6px;font-size:14px}
.lb3-field input,.lb3-field textarea{width:100%;padding:12px;border:1px solid rgba(0,0,0,.25);border-radius:12px;font-size:14px}
.lb3-submit{background:var(--lb3-orange) !important;color:#fff !important;border:0 !important;border-radius:999px !important;padding:12px 18px !important;font-weight:900 !important;cursor:pointer}
.lb3-status{margin-top:10px;font-size:14px}
.lb3-ok{color:#0a7a2f !important}
.lb3-error{color:#b00020 !important}
.lb3-hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden}
