/* Video consultations: booking chooser, joining notice, homepage listing and admin controls. Loaded only on pages that show them. */
.booking-location-card[hidden],.consult-mode-card[hidden],.video-consult-card[hidden],.video-consent-field[hidden],.booking-video-priority[hidden],.booking-video-priority [hidden]{display:none!important}

/* Booking page */
.consult-mode-card{margin-bottom:1rem;padding:1rem}
.consult-mode-card h2{margin:0 0 .7rem;font-size:1.15rem}
.consult-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:520px){.consult-mode-grid{grid-template-columns:1fr}}
.consult-mode-option{cursor:pointer;font:inherit;color:inherit;width:100%}
.consult-mode-option strong{font-size:1.05rem}
.consult-mode-option:focus-visible{outline:3px solid #0b5c73;outline-offset:2px}
.consult-preview-note{margin:0 0 .75rem;padding:.55rem .75rem;border:1px dashed #b4690e;border-radius:6px;background:#fff8e6;color:#5c3900;font-size:.9rem;font-weight:600}
.video-consult-card{margin-bottom:1rem;padding:1rem;border-left:6px solid #0b5c73;background:#f1f8fa}
.video-consult-card h2{margin:0 0 .5rem;font-size:1.15rem}
.video-consult-points{margin:0 0 .75rem;padding-left:1.2rem;line-height:1.6}
.video-consult-warning{margin:0;padding:.7rem .85rem;border-radius:6px;background:#fff3cd;color:#5c3900;border:1px solid #d99000;line-height:1.55}
.video-consult-warning a{color:#5c3900;font-weight:700}
.video-consent-field{padding:1rem}
/* On phones the site moves the booking form above the clinic card. The type chooser and its explainer must stay above the form. */
.booking-main>.consult-mode-card,.booking-main>.video-consult-card{order:-1}
@media (max-width:767px){
  .consult-mode-card,.video-consult-card{padding:.85rem}
  .video-consult-points{font-size:.95rem;line-height:1.5;margin-bottom:.6rem}
  .video-consult-warning{font-size:.93rem;line-height:1.5}
}
.video-consent-label{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;line-height:1.5;font-weight:600}
.video-consent-label input{width:22px;height:22px;margin-top:2px;flex:none}

/* Confirmation screen and Manage Booking */
.booking-video-priority{background:#e8f3f6;color:#0b3a4a;border:2px solid #0b5c73;border-left-width:6px;border-radius:12px;padding:18px;margin:0 0 20px}
.booking-video-priority>strong{display:block;font-size:1.15rem;margin-bottom:8px}
.booking-video-priority p{margin:0 0 .6rem;line-height:1.6}
.booking-video-priority .btn{margin:.15rem 0}
.booking-video-link-text{font-weight:700;overflow-wrap:anywhere}
.booking-video-priority .booking-video-emergency{font-size:.92rem;margin:0}
.booking-video-calendar-note{margin:.5rem 0 0;font-weight:600;color:#19542f}

/* Homepage */
.nv-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:920px;margin:0 auto}
@media (max-width:720px){.nv-modes{grid-template-columns:1fr}}
.nv-mode-tag{align-self:flex-start;padding:2px 10px;border-radius:999px;background:var(--nv-primary-soft,#E4F2F5);color:var(--nv-primary-ink,#005C72);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nv-mode-fee{font-weight:700;color:var(--nv-ink,#0E2A3B)}
.nv-mode-note{max-width:920px;margin:20px auto 0;color:var(--nv-muted,#5B6B78);font-size:.95rem;text-align:center}
.nv-preview-note{max-width:920px;margin:0 auto 20px;padding:.55rem .75rem;border:1px dashed #b4690e;border-radius:6px;background:#fff8e6;color:#5c3900;font-size:.9rem;font-weight:600;text-align:center}

/* Admin panel */
.chip-video{background:#e8f3f6;border-color:#0b5c73;color:#0b3a4a}
.admin-video-line{display:block;margin-top:6px}
.admin-video-line a{font-weight:700}
.admin-video-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.admin-video-form input[type=url]{flex:1 1 220px;min-width:0}
.admin-steps{margin:0;padding-left:20px;line-height:1.7}
.admin-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#f3f6f8;border:1px solid #dbe5ea;border-radius:4px;padding:1px 6px;overflow-wrap:anywhere}
.admin-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.85rem;font-weight:700;border:1px solid transparent}
.admin-status-on{background:#e6f4ea;border-color:#9fcfad;color:#1e5a2e}
.admin-status-off{background:#f3f4f5;border-color:#d9dde0;color:#5b6b75}
.admin-status-warn{background:#fff3cd;border-color:#d99000;color:#5c3900}
.admin-subhead{font-size:1rem;margin:8px 0 0}
