/* ---- ORGX Consultant Booking widget ----
   Matches the host theme's brand tokens (orbicul-brand.css) so the
   booking page never looks like a bolted-on plugin. Falls back to
   sane defaults if those custom properties aren't present (e.g. the
   plugin is ever used on a different theme). */

.orgx-cb-widget{
  max-width:38rem; margin:0 auto;
  font-family:'Raleway',system-ui,-apple-system,sans-serif;
}

.orgx-cb-label{
  font-size:.8rem; font-weight:700; letter-spacing:.02em;
  color:var(--accent,#95C11F); margin:0 0 .6rem;
}
.orgx-cb-heading{
  font-size:clamp(1.5rem,2.6vw,1.9rem); font-weight:700; line-height:1.15;
  color:var(--text,#F2F5F7); margin:0 0 .7rem;
}
.orgx-cb-intro{
  font-size:1.05rem; color:var(--muted,#8B96A3); margin:0 0 2rem; max-width:34rem;
}

.orgx-cb-tz-note{ font-size:.82rem; color:var(--muted,#8B96A3); margin-bottom:1.4rem; }

.orgx-cb-day{ margin-bottom:1.8rem; }
.orgx-cb-day h4{
  margin:0 0 .8rem; font-size:.95rem; font-weight:700; color:var(--text,#F2F5F7);
}
.orgx-cb-slots{ display:flex; flex-wrap:wrap; gap:.7rem; }
.orgx-cb-slot{
  padding:.75rem 1.3rem; border:1px solid var(--border,#1E2A35); border-radius:var(--radius,10px);
  background:var(--surface,#0E141B); color:var(--text,#F2F5F7);
  cursor:pointer; font-size:.95rem; font-weight:600; font-family:inherit;
  transition:border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
  transform-origin:center;
}
.orgx-cb-slot:hover, .orgx-cb-slot:focus-visible{
  border-color:var(--accent,#95C11F); color:var(--accent-strong,#B4E23A); outline:none;
  transform:scale(1.04);
}
.orgx-cb-empty{ color:var(--muted,#8B96A3); font-size:1rem; }

.orgx-cb-back{
  background:none; border:none; color:var(--muted,#8B96A3); cursor:pointer;
  padding:0; margin-bottom:1.4rem; font-size:.9rem; font-family:inherit;
  transition:color .15s ease;
}
.orgx-cb-back:hover{ color:var(--accent,#95C11F); }

.orgx-cb-selected-time{
  font-weight:700; font-size:1.15rem; color:var(--text,#F2F5F7); margin:0 0 1.6rem;
}

.orgx-cb-form p{ margin:0 0 1.1rem; }
.orgx-cb-form label{
  display:block; font-size:.85rem; font-weight:600; color:var(--muted,#8B96A3); margin-bottom:.4rem;
}
.orgx-cb-form input, .orgx-cb-form textarea{
  width:100%; padding:.85rem 1rem; border-radius:var(--radius,10px); border:1px solid var(--border,#1E2A35);
  background:var(--bg,#060A0F); color:var(--text,#F2F5F7); font-family:inherit; font-size:.95rem;
}
.orgx-cb-form input:focus, .orgx-cb-form textarea:focus{
  outline:none; border-color:var(--accent,#95C11F);
  box-shadow:0 0 6px 1px color-mix(in srgb, var(--accent,#95C11F) 55%, transparent);
}

.orgx-cb-submit{
  display:inline-block; padding:.85rem 1.6rem; border-radius:var(--radius,10px); border:1px solid var(--accent,#95C11F);
  cursor:pointer; background:var(--accent,#95C11F); color:var(--accent-ink,#06110A);
  font-weight:600; font-size:.98rem; font-family:inherit; letter-spacing:.02em;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
  transform-origin:center;
}
.orgx-cb-submit:hover{ background:var(--accent-strong,#B4E23A); border-color:var(--accent-strong,#B4E23A); transform:scale(1.03); }
.orgx-cb-submit[disabled]{ opacity:.6; cursor:default; transform:none; }

.orgx-cb-error{ color:#E3554F; font-size:.9rem; margin-top:.9rem; }

.orgx-cb-step-done{
  padding:2rem; border:1px solid var(--border,#1E2A35); border-radius:var(--radius,10px);
  background:var(--surface,#0E141B);
}
.orgx-cb-step-done p{ font-size:1.1rem; color:var(--text,#F2F5F7); margin:0; }

/* Safety padding for narrow phones when this widget is dropped
   somewhere with no side padding of its own (a raw shortcode/block
   rather than inside a themed page wrapper) — harmless no-op when the
   host page already provides its own gutter. */
@media (max-width:480px){
  .orgx-cb-widget{ padding-inline:.25rem; }
}
