/* Consultation page. Shared fields and theme come from contact-us.css. */
.consultation-hero{padding-top:48px;}
.consultation-back{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);margin-bottom:20px;}
.consultation-section{padding:40px 0 80px;background:var(--white);}
.consultation-panel{display:grid;grid-template-columns:.95fr 1.05fr;border:1px solid var(--gray);border-radius:24px;overflow:hidden;background:var(--bg);box-shadow:0 24px 64px -40px rgba(2,15,77,.25);}
.consultation-copy{padding:clamp(24px,3.5vw,42px);background:linear-gradient(145deg,#f2f6ff 0%,#f8f5ff 65%,#edfaff 100%);}
.consultation-kicker{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;color:var(--blue);margin-bottom:24px;}
.consultation-icon{display:flex;width:54px;height:54px;align-items:center;justify-content:center;border:1px solid #dbe6ff;border-radius:16px;background:#fff;color:var(--blue);margin-bottom:20px;}
.consultation-icon svg{width:28px;height:28px;}
.consultation-copy h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin-bottom:18px;}
.consultation-copy>p{font-size:14px;color:var(--muted);line-height:1.8;}
.consultation-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}
.consultation-tags span{font-size:11px;font-weight:700;background:#fff;border:1px solid #dbe6ff;border-radius:100px;padding:6px 11px;}
.consultation-benefits{list-style:none;display:grid;gap:12px;margin:26px 0;}
.consultation-benefits li{display:flex;gap:10px;font-size:13px;line-height:1.6;}
.consultation-benefits li::before{content:'\2713';color:var(--blue);font-weight:800;}
.consultation-copy .consultation-alternative{border-top:1px solid #dbe6ff;padding-top:22px;font-size:12px;}
.consultation-alternative a{display:block;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.consultation-fields{min-width:0;padding:clamp(24px,3.5vw,42px);background:#fff;}
.consultation-fields h2{font-size:20px;line-height:1.4;margin-bottom:7px;}
.consultation-form-intro{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:24px;}
.consultation-fields .cf-field{min-width:0;}
.consultation-fields input,.consultation-fields select{min-width:0;min-height:46px;}
.consultation-fields select{width:100%;border:1.5px solid var(--gray);border-radius:11px;padding:12px 10px;font-size:13px;font-family:inherit;color:var(--navy);background:var(--bg);}
.consultation-fields select:focus{outline:2px solid var(--blue);outline-offset:2px;background:#fff;}
.consultation-fields textarea{min-height:90px;}
.consultation-timezone{font-size:11px;color:var(--muted);margin:0 0 20px;line-height:1.6;}
.consultation-optional{font-weight:400;color:var(--muted);}
.consultation-submit{width:100%;font-family:inherit;font-size:13px;padding:14px 16px;}
.consultation-submit:disabled:hover{transform:none;}
.consultation-back:focus-visible,.consultation-alternative a:focus-visible{outline:3px solid var(--blue);outline-offset:4px;}
.consultation-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin-top:12px;}
@media(max-width:920px){.consultation-panel{grid-template-columns:1fr;}.consultation-section{padding-bottom:56px;}}
@media(max-width:540px){.consultation-panel{border-radius:20px;}.consultation-copy,.consultation-fields{padding:24px 20px;}.consultation-submit{font-size:12px;}}

.consultation-slot-status{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px;}
.consultation-slot-status:empty{display:none;}
.consultation-slot-status.is-error{color:#b91c1c;}
.consultation-fields select:disabled{cursor:not-allowed;opacity:.7;}
.consultation-retry{font:inherit;font-size:12px;font-weight:700;color:var(--blue);border:0;background:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin-top:6px;}
.consultation-retry:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}

/* Custom calendar stays in the field flow to avoid clipped mobile popovers. */
.calendar-toggle{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border:1.5px solid var(--gray);border-radius:11px;background:var(--bg);color:var(--navy);font:inherit;font-size:14px;cursor:pointer;text-align:left;}
.calendar-toggle svg{flex-shrink:0;color:var(--blue);}
.calendar-panel{margin-top:10px;padding:12px;border:1px solid #e2e8f7;border-radius:16px;background:#fff;box-shadow:0 12px 28px -14px rgba(2,15,77,.22);}
.calendar-panel[hidden]{display:none;}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-bottom:12px;}
.calendar-heading span{font-size:12px;font-weight:800;}
.calendar-heading button{border:0;background:var(--bg);color:var(--navy);border-radius:9px;width:28px;height:28px;font-size:23px;cursor:pointer;}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;}
.calendar-weekdays{font-size:10px;font-weight:700;color:var(--muted);margin-bottom:8px;}
.calendar-days button{aspect-ratio:1;min-width:0;border:0;border-radius:8px;background:transparent;color:var(--navy);font:inherit;font-size:11px;cursor:pointer;}
.calendar-days button:hover:not(:disabled){background:#edf3ff;color:var(--blue);}
.calendar-days button[aria-current="date"]{box-shadow:inset 0 0 0 1px var(--blue);}
.calendar-days button[aria-pressed="true"]{background:var(--blue);color:#fff;}
.calendar-days button[aria-pressed="true"]:hover{background:var(--blue);color:#fff;}
.calendar-days button:disabled,.calendar-heading button:disabled{color:#b5bbca;cursor:default;}
.calendar-today{display:block;margin:12px auto 0;border:0;background:#eff5ff;color:var(--blue);border-radius:8px;padding:7px 16px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;}
.calendar-toggle:focus-visible,.calendar-panel button:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

/* Consultation validation */
#consultationForm .req{color:var(--blue,#0e63ff);}
#consultationForm .cf-error{display:block;margin-top:6px;color:#dc2626;font-size:12px;line-height:1.4;}
#consultationForm .cf-error:empty{display:none;}
#consultationForm .cf-field.error input,#consultationForm .cf-field.error select,#consultationForm .cf-field.error .calendar-toggle{border-color:#dc2626;background:#fff;box-shadow:0 0 0 3px rgba(220,38,38,.08);}
#consultationForm .cf-field.error input:focus,#consultationForm .cf-field.error select:focus,#consultationForm .cf-field.error .calendar-toggle:focus-visible{outline:2px solid #dc2626;outline-offset:2px;}
#consultationForm .consultation-submit:not(:disabled){cursor:pointer;}
#consultation-validation-status{margin-top:12px;font-size:12px;color:var(--muted,#6b7494);text-align:center;}
#consultation-validation-status:empty{display:none;}

/* Appointment submission feedback */
#consultation-validation-status[data-state]{padding:12px 14px;border-radius:10px;border:1px solid transparent;text-align:left;line-height:1.6;overflow-wrap:anywhere;}
#consultation-validation-status[data-state="loading"]{color:#1e40af;background:#eff6ff;border-color:#bfdbfe;}
#consultation-validation-status[data-state="success"],#consultation-validation-status[data-state="error"]{position:relative;display:flex;align-items:flex-start;gap:18px;margin-top:22px;padding:26px 24px;border:1px solid #dce6ff;border-radius:20px;background:linear-gradient(125deg,#f4f1ff 0%,#f3f7ff 55%,#eefbff 100%);color:var(--navy);box-shadow:0 16px 38px -26px rgba(14,99,255,.35);}
.confirmation-icon{flex:0 0 46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:15px;background:linear-gradient(135deg,var(--purple),var(--blue));box-shadow:0 8px 18px -8px rgba(14,99,255,.5);color:#fff;font-size:25px;font-weight:600;line-height:1;}
.confirmation-content{display:block;min-width:0;}
.confirmation-eyebrow{display:block;margin:0 0 6px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.13em;}
.confirmation-title{display:block;margin-bottom:8px;font-size:19px;line-height:1.3;font-weight:800;letter-spacing:-.025em;}
.confirmation-message{display:block;max-width:340px;color:#536183;font-size:13px;line-height:1.8;}
@media(max-width:540px){#consultation-validation-status[data-state="success"],#consultation-validation-status[data-state="error"]{padding:20px 16px;gap:13px;}.confirmation-icon{flex-basis:38px;height:38px;border-radius:12px;font-size:22px;}.confirmation-title{font-size:17px;}}
#consultation-validation-status[data-state="error"]{background:linear-gradient(125deg,#fff4f5 0%,#fff8f5 100%);border-color:#f2d5da;box-shadow:0 16px 38px -26px rgba(190,35,65,.22);}
#consultation-validation-status[data-state="error"] .confirmation-icon{background:linear-gradient(135deg,#e65c76,#c93654);box-shadow:0 8px 18px -8px rgba(190,35,65,.35);}
#consultation-validation-status[data-state="error"] .confirmation-eyebrow{color:#b52c48;}
#consultation-validation-status[data-state="error"] .confirmation-message{color:#775663;}
#consultationForm[aria-busy="true"] .consultation-submit{cursor:wait;opacity:.75;transform:none;}
