/* ============================================================
   SCHEDULE PAGE — book a tour. Token-driven, no hex.
   ============================================================ */
.sch-hero{background:var(--bg-deep);color:var(--on-dark);text-align:center}
.sch-hero .container{padding-block:var(--s9) var(--s7)}
.sch-hero .eyebrow{color:var(--emphasis);display:block;margin-bottom:var(--s3)}
.sch-hero h1{font-family:var(--font-head);font-optical-sizing:auto;font-weight:600;
  font-size:var(--fs-h1);line-height:1.02;letter-spacing:-.02em;color:var(--on-dark)}
.sch-hero p{color:var(--on-dark);opacity:.85;max-width:50ch;margin:var(--s4) auto 0}

/* booking area — ONE unit: the placeholder for the whole GHL booking widget
   (calendar + intake form are a single embedded panel, so this is one card). */
.sch-book{background:var(--bg-light)}
.sch-book .container{max-width:820px}

.sch-widget{position:relative;border-radius:var(--r-lg);border:1px solid var(--divider);
  background:var(--surface-light);box-shadow:var(--e2);overflow:hidden;padding:var(--s7);
  text-align:center}
.sch-widget__grid{position:absolute;inset:0;opacity:.4;
  background:
    linear-gradient(var(--divider) 1px, transparent 1px) 0 0/100% 52px,
    linear-gradient(90deg, var(--divider) 1px, transparent 1px) 0 0/14.28% 100%}
.sch-widget__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s4)}
.sch-widget__badge{font-family:var(--font-display);font-size:var(--fs-eyebrow);
  letter-spacing:.16em;text-transform:uppercase;color:var(--action);
  border:1px solid var(--action);border-radius:var(--r-pill);padding:6px 14px}
.sch-widget__icon{width:52px;height:52px;color:var(--action)}
.sch-widget__title{font-family:var(--font-head);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.8rem);color:var(--text)}
.sch-widget__note{font-size:1rem;color:var(--text-muted);max-width:46ch}
/* faux widget skeleton — a hint of the calendar + form that will fill this panel */
.sch-widget__skel{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);width:100%;max-width:560px;
  margin-top:var(--s3);text-align:left}
.sch-widget__days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sch-widget__days i{aspect-ratio:1;border-radius:var(--r-sm);background:var(--bg-light);border:1px solid var(--divider)}
.sch-widget__days i:nth-child(3n){background:color-mix(in srgb,var(--action) 10%, transparent)}
.sch-widget__lines{display:flex;flex-direction:column;gap:var(--s3)}
.sch-widget__lines span{height:38px;border-radius:var(--r-sm);background:var(--bg-light);border:1px solid var(--divider)}
.sch-widget__cta{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;margin-top:var(--s3)}
@media (max-width:560px){ .sch-widget__skel{grid-template-columns:1fr} }

/* what to expect — 3 steps */
.sch-steps{background:var(--surface-light)}
.sch-steps__head{text-align:center;max-width:640px;margin:0 auto var(--s7)}
.sch-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.sch-step{border:1px solid var(--divider);border-radius:var(--r-md);padding:var(--s6);background:var(--bg-light)}
.sch-step__num{width:44px;height:44px;border-radius:var(--r-pill);background:var(--action);color:var(--on-dark);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;
  font-size:1.1rem;margin-bottom:var(--s4)}
.sch-step h3{margin-bottom:var(--s2)}
.sch-step p{color:var(--text-muted);font-size:.96rem}

/* visit — address + map + parking */
.sch-visit{background:var(--bg-light)}
.sch-visit .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s7);align-items:stretch}
.sch-visit__info h2{margin-bottom:var(--s4)}
.sch-visit__block{margin-bottom:var(--s5)}
.sch-visit__block h3{font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s2)}
.sch-visit__block p{color:var(--text)}
.sch-visit__block a{color:var(--action)}
.sch-visit .btn{margin-top:var(--s2)}
.sch-map{border-radius:var(--r-md);overflow:hidden;box-shadow:var(--e1);min-height:340px;
  border:1px solid var(--divider);background:var(--surface-deep)}
.sch-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}

@media (max-width:960px){
  .sch-book .container,.sch-visit .container{grid-template-columns:1fr;gap:var(--s6)}
  .sch-steps__grid{grid-template-columns:1fr}
}
