[hidden] { display: none !important; }
.online-main { min-height: 70vh; }
.online-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(240px, .8fr); gap: 2rem; align-items: start; }
.online-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.55); }
.online-card h2 { font-family: var(--serif); font-size: 2rem; margin-top: 0; }
.online-card p + p { margin-top: 1rem; }
.online-status { border-left: 3px solid var(--sage); padding: 1rem 1.2rem; background: var(--cream-2); margin: 1.5rem 0; overflow-wrap: anywhere; }
.online-steps { padding-left: 1.25rem; }
.online-steps li { padding: .4rem 0 .4rem .4rem; }
.online-video { height: min(78vh, 850px); min-height: 460px; margin-top: 2rem; border-radius: var(--radius); overflow: hidden; background: var(--ink); scroll-margin-top: 7rem; }
.online-session { border-top: 1px solid var(--line); padding: 1.5rem 0; overflow-wrap: anywhere; }
.online-session h3 { margin: 0; font-size: 1.15rem; }
.online-toolbar { display: flex; gap: .75rem; flex-wrap: wrap; margin: 1.25rem 0; }
.online-card form { max-width: 32rem; }
.online-card input { width: 100%; }
.online-card button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 760px) { .online-layout { grid-template-columns: 1fr; } .online-video { min-height: 420px; height: 72dvh; } }

.online-practitioner { color: var(--sage-deep); font-weight: 600; }
