/* ===== Schedule a Call (self-hosted) ===== */
.schedule-section { padding: 90px 0; background: var(--bg-soft); }
.schedule-section .section-title { color: var(--navy); }
.schedule-lead { color: var(--muted); margin-bottom: 30px; }
.schedule-card {
  background: #fff; border-radius: 18px; box-shadow: var(--shadow);
  padding: 34px; border-top: 5px solid var(--gold);
  max-width: 880px; margin: 0 auto;
}
.sched-step h3 { color: var(--navy); font-size: 18px; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.sched-n {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #3a2c00; font-size: 15px; font-weight: 800; flex-shrink: 0;
}
.sched-days { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 10px; margin-bottom: 18px; }
.sched-day {
  flex: 0 0 auto; min-width: 88px; border: 2px solid var(--line); border-radius: 12px;
  background: #fff; padding: 10px 8px; cursor: pointer; text-align: center;
  font-family: inherit; transition: border-color .15s, background .15s;
}
.sched-day .dow { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); }
.sched-day .dnum { display: block; font-size: 22px; font-weight: 800; color: var(--navy); line-height: 1.2; }
.sched-day .dmon { display: block; font-size: 12px; color: var(--muted); }
.sched-day:hover { border-color: var(--gold); }
.sched-day.sel { border-color: var(--gold); background: #fff8e6; }
.sched-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 10px; }
.sched-slot {
  border: 2px solid var(--line); border-radius: 10px; background: #fff;
  padding: 10px 6px; cursor: pointer; font-weight: 700; color: var(--navy);
  font-family: inherit; font-size: 14px; transition: border-color .15s, background .15s;
}
.sched-slot:hover { border-color: var(--gold); }
.sched-slot.sel { border-color: var(--gold); background: #fff8e6; }
.sched-hint { color: var(--muted); font-size: 14px; }
.sched-who { color: var(--muted); font-size: 0.92rem; margin: 0 0 12px; }
.sched-actions { display: flex; gap: 0.75rem; margin-top: 1rem; }
.sched-actions .btn, .sched-actions .btn-ghost-dark { flex: 1; }
.btn-ghost-dark {
  background: #fff; color: var(--navy);
  border: 2px solid var(--line); border-radius: 10px;
  padding: 0.9rem 1rem; cursor: pointer; font-weight: 700; font-family: inherit;
}
.btn-ghost-dark:hover { border-color: var(--navy); }
#sched-lead-form .opt { font-weight: 400; }
#sched-note.sel { color: var(--navy); font-weight: 700; }

/* ---------- red pulsing "Schedule a Call" CTA ---------- */
.btn-red-pulse {
  display: inline-block;
  background: #d61f26;
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  border: none;
  border-radius: 10px;
  padding: 0.9rem 1.6rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  font-family: inherit;
  animation: schedPulse 1.6s ease-out infinite;
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-red-pulse:hover { background: #b9161d; transform: scale(1.03); color: #fff; }
.btn-red-pulse:active { transform: scale(0.98); }
.btn-red-pulse.btn-block { display: block; width: 100%; }
@keyframes schedPulse {
  0%   { box-shadow: 0 0 0 0 rgba(214, 31, 38, 0.55); }
  70%  { box-shadow: 0 0 0 16px rgba(214, 31, 38, 0); }
  100% { box-shadow: 0 0 0 0 rgba(214, 31, 38, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .btn-red-pulse { animation: none; }
}
/* CTA sitting in the Contact Us info column, next to the form */
.sched-cta-contact { margin-top: 18px; }

/* upsell block inside the quote-form thank-you panel */
.sched-upsell { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--line); }
.sched-upsell p { margin-bottom: 10px; color: var(--navy); }

@media (max-width: 640px) {
  .schedule-section { padding: 60px 0; }
  .schedule-card { padding: 24px 18px; }
  .sched-day { min-width: 76px; }
  .sched-actions { flex-direction: column; }
}
