/* Private Consultation – page-only styles (loads after styles.css) */

/* ---------- Intro blurb card (NEW) ---------- */
.pc-intro-blurb{
  /* tuck the card up closer to the hero, reduce the gap */
  margin-top: clamp(-1.25rem, -3vw, -2rem);
  margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}
.pc-intro-card{
  text-align:center;
  background: color-mix(in oklab, var(--swatch-green) 45%, #fff);
  border: 1px solid color-mix(in oklab, var(--brand-600) 18%, #fff);
  border-radius: var(--radius-3);
  padding: clamp(1rem, 2.5vw, 1.25rem);
  box-shadow: var(--shadow-2);
}
.pc-intro-card p{ margin: .45rem 0; }
.pc-intro-card .btn-row{ margin-top:.35rem; }

/* ---------- Conditions we treat ---------- */
.pc-conditions{
  /* slightly tighter than before to balance the new intro card */
  padding-top: clamp(1.25rem, 3vw, 2rem);
  padding-bottom: clamp(2rem, 6vw, 3rem);
}
.pc-conditions h2 { margin-bottom: .85rem; }
.pc-conditions .sub { color: var(--muted); margin-bottom: 1rem; }

.pill-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: .75rem;
}
.pill{
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:.85rem 1rem; border-radius: 999px; font-weight:600;
  background: color-mix(in oklab, var(--brand-600) 16%, #fff);
  color:#0f172a; border:1px solid color-mix(in oklab, var(--brand-600) 45%, #fff);
  box-shadow: var(--shadow-1);
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  cursor: default; /* will become pointer when you start linking */
  user-select:none;
}
.pill:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-2);
  background: color-mix(in oklab, var(--brand-600) 22%, #fff);
  border-color: color-mix(in oklab, var(--brand-600) 60%, #fff);
}
.pill:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--brand-600) 40%, #fff), var(--shadow-2);
}

/* ---------- Booking section ---------- */
.pc-book{ padding-block: clamp(2rem, 6vw, 3rem); }
.pc-book-head{ text-align:center; margin-bottom: 1rem; }
.pc-note{ color: var(--muted); text-align:center; margin-bottom: 1.25rem; }

.pc-book-grid{
  display:grid; gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: 1.1fr .9fr;
  align-items: start;
}
@media (max-width: 900px){ .pc-book-grid{ grid-template-columns: 1fr; } }

.pc-card{
  background:#fff; border:1px solid color-mix(in oklab, var(--border) 80%, transparent);
  border-radius: var(--radius-3); box-shadow: var(--shadow-2);
  padding: clamp(1rem, 2.5vw, 1.25rem);
}

/* Left side form */
.grid-2{ display:grid; gap:.75rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 600px){ .grid-2{ grid-template-columns: 1fr; } }

.callout{
  margin:.5rem 0 1rem;
  background: color-mix(in oklab, var(--brand-600) 8%, #fff);
  border:1px dashed color-mix(in oklab, var(--brand-600) 35%, #fff);
  color:#0f172a; border-radius:.75rem; padding:.75rem .85rem; font-weight:600;
}

/* Right side date/time "card" (styled around native inputs) */
.pc-date-card .kicker{ font-weight:700; color:var(--brand-600); letter-spacing:.04em; text-transform:uppercase; }
.pc-date-card .big{ font-size: clamp(1.35rem, 1.2vw + 1rem, 1.75rem); font-weight:800; color:#0f172a; }
.pc-date-card .row{ display:grid; gap:.6rem; grid-template-columns: 1fr 1fr; margin-top:.85rem; }
@media (max-width: 480px){ .pc-date-card .row{ grid-template-columns: 1fr; } }
.pc-date-card input[type="date"],
.pc-date-card input[type="time"]{
  width:100%;
  background:#fff; border:1px solid var(--border); border-radius:.75rem;
  padding:.75rem .9rem; box-shadow: var(--shadow-1);
}

/* Extra details */
.pc-extra{ padding-block: clamp(1.25rem, 4vw, 2rem); }
.pc-extra h3{ margin-bottom:.6rem; }

/* (Legacy helpers kept for reference, not required for the new layout) */
.consult-intro { padding-block: clamp(2rem, 6vw, 3rem); }
.consult-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1rem, 3vw, 2.5rem); align-items: center; }
.intro-media .ph { width:100%; border-radius: var(--radius-3); }
.intro-copy .eyebrow { font-weight: 700; color: var(--brand-600); letter-spacing:.04em; text-transform: uppercase; margin-top: .75rem; margin-bottom: .25rem; }
@media (max-width: 900px){ .consult-grid { grid-template-columns: 1fr; } .intro-media { order:-1; margin-bottom: 1rem; } }

/* Generic helpers */
.muted { color: var(--muted); }
