/* ===== BuyingCT Scheduler ===== */
.sched-page{
  background: linear-gradient(180deg,var(--bct-bg) 0%, var(--bct-bg2) 100%);
  color:#fff; font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased; padding-bottom:56px;
}
.sched-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; }
.sched-logo img{ height:40px; display:block; }
.sched-nav{ display:flex; align-items:center; gap:10px; }
.lang-toggle{ background:transparent; border:2px solid rgba(255,255,255,.85); color:#fff; border-radius:999px; padding:8px 12px; font-weight:800; }
.sched-dropdown{ position:relative; }
.dd-btn{ background:#fff; color:#1f2d41; border:0; font-weight:800; border-radius:999px; padding:10px 14px; box-shadow:var(--shadow); }
.dd-menu{ position:absolute; right:0; top:110%; min-width:220px; background:#fff; color:#0f1b2a; border-radius:14px; padding:8px; box-shadow:var(--shadow); display:none; }
.dd-menu.open{ display:block; }
.dd-menu a{ display:block; padding:10px 12px; border-radius:10px; color:#0f1b2a; text-decoration:none; }
.dd-menu a:hover{ background:#f2f6ff; }

.hero{ max-width:860px; margin:8px auto 0; padding:0 16px; }
.title{ font-weight:900; letter-spacing:-0.5px; line-height:1.03; font-size: clamp(28px,6vw,48px); margin:8px 0 4px; }
.sub{ font-size: clamp(15px,3.6vw,18px); opacity:.98; }

.card{ max-width:880px; margin:18px auto; padding:18px; background:rgba(255,255,255,.18); border-radius:18px; backdrop-filter: blur(6px); }
.card h2{ margin:0 0 10px; font-size: clamp(18px,5vw,26px); font-weight:900; }

.type-row{ display:flex; flex-wrap:wrap; gap:12px; }
.type-row label{ background:#fff; color:#0f1b2a; border-radius:12px; padding:10px 12px; box-shadow:var(--shadow); display:flex; align-items:center; gap:8px; }
.type-row input{ transform: scale(1.2); }

.slots{ margin-top:12px; }
.none{ opacity:.9; }
.loading{ opacity:.9; }

.book-form .frow{ display:flex; flex-direction:column; gap:6px; margin:8px 0; }
.book-form input, .book-form textarea{
  border-radius:12px; border:0; padding:12px; box-shadow:var(--shadow); font-size:16px; color:#0f1b2a;
}
.btn{ background:#fff; color:#1f3aa9; font-weight:900; border:0; padding:12px 16px; border-radius:999px; box-shadow:var(--shadow); }
.tiny{ font-size:12px; opacity:.95; margin-top:6px; }
#msg{ margin-top:8px; font-weight:800; }

.foot{ max-width:880px; margin:24px auto 0; padding:0 16px; font-size:14px; opacity:.95; }

/* ===== Compact Month Calendar (BuyingCT) ===== */
:root { --accent:#4169E1; --ink:#0f1b2a; --pill:#ffffff; }

.month{
  background: rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 12px;
  box-shadow: var(--shadow);
}
.month-header{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 8px;
}
.month-label{ font-weight: 900; letter-spacing: .2px; }
.cal-nav{
  appearance:none; border:0; background: var(--pill); color: var(--ink);
  border-radius: 10px; padding: 6px 10px; font-weight: 900;
  box-shadow: var(--shadow);
  line-height:1;
}
.cal-nav:focus{ outline: 3px solid rgba(65,105,225,.4); }

.day-names{
  display:grid; grid-template-columns: repeat(7, 1fr);
  gap: 6px; margin: 4px 0 6px;
}
.day-name{
  text-align:center; font-weight:800; font-size: 12px; opacity:.9;
  text-transform: uppercase; letter-spacing: .6px;
}
.month-grid{
  display:grid; grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
.cal-cell{
  appearance:none; border:0; background: var(--pill); color: var(--ink);
  border-radius: 12px; padding: 10px 0; text-align:center;
  font-weight: 900; box-shadow: var(--shadow);
  transition: transform .06s ease, background .12s ease, color .12s ease, outline .12s ease;
}
.cal-cell.faded{ opacity:.55; }
.cal-cell.unavailable{ opacity:.35; cursor:not-allowed; }
@media (hover:hover){ .cal-cell:hover{ transform: translateY(-1px); outline: 3px solid var(--accent); } }
.cal-cell:focus{ outline: 3px solid rgba(65,105,225,.4); }
.cal-cell.selected{ background: var(--accent); color:#fff; outline: 0; }
.cal-cell.today{ outline: 3px dashed rgba(65,105,225,.45); }

/* Time pills */
.slot-list{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.slot{
  background:#fff; color:#1f2d41; border:0; border-radius:999px;
  padding:10px 12px; font-weight:900; box-shadow:var(--shadow);
  transition: transform .05s ease, outline .12s ease, background .15s ease, color .15s ease;
}
@media (hover:hover){ .slot:hover{ outline:3px solid var(--accent); transform:translateY(-1px); } }
.slot.selected{ background: var(--accent); color:#fff; }
.slots.closed{ display:none; }

.big-cta {
  display:inline-block;
  margin-top:12px;
  background:#fff;
  color:#1f3aa9;           /* or use var(--accent) */
  border:0;
  border-radius:999px;
  padding:14px 18px;
  font-weight:900;
  text-decoration:none;
  box-shadow:var(--shadow);
  transition: transform .05s ease, outline .12s ease, background .15s ease, color .15s ease;
}
@media (hover:hover){
  .big-cta:hover{ outline:3px solid var(--accent); transform:translateY(-1px); }
}

/* Standalone big CTA pill */
.big-cta{
  display:inline-block;
  background:#fff;
  color:#1f3aa9;                 /* brand blue text */
  border:0;
  border-radius:999px;
  padding:14px 22px;             /* slightly bigger than submit */
  font-weight:900;
  font-size:18px;
  text-decoration:none;
  box-shadow:var(--shadow);
  transition:transform .05s ease, outline .12s ease, background .15s ease, color .15s ease;
}
.big-cta:visited{ color:#1f3aa9; }
@media (hover:hover){
  .big-cta:hover{ outline:3px solid var(--accent); transform:translateY(-1px); }
}

