/* =====================================================================
   Editorial layout for clinical service pages (.eh-ed-*)  — 2026-11
   Ink #0F172A · body #334155 · navy #1E2B6F · blue #31469B · red #AC181C · rule #E4E8F2
   No card stacking: sections are separated by rules and whitespace.
   ===================================================================== */

/* ---- section shell ---- */
.elementor .e-con.eh-ed-sec { padding: 76px 0 !important; margin: 0 !important; gap: 0 !important; background: #fff; border-top: 1px solid #E4E8F2; }
.elementor .e-con.eh-ed-sec.eh-ed-sec--tint { background: #F7F8FC; }
.elementor .e-con.eh-ed-sec.eh-ed-sec--first { border-top: 0; padding-top: 64px !important; }
.elementor .e-con.eh-ed-grid {
	width: min(var(--eh-w, 1260px), 100% - 64px) !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important;
	display: grid !important; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); column-gap: 72px !important; row-gap: 18px !important; align-items: start !important;
}
.elementor .e-con.eh-ed-grid > .e-con { width: auto !important; max-width: none !important; --width: auto !important; padding: 0 !important; margin: 0 !important; min-width: 0; gap: 0 !important; }
.elementor .e-con.eh-ed-label { position: sticky !important; top: 140px; }
.elementor .e-con.eh-ed-body { max-width: 740px !important; }
.elementor .eh-ed-grid .elementor-element { width: 100% !important; max-width: none !important; margin: 0 !important; }

/* ---- type ---- */
.eh-ed-kicker, .eh-ed-kicker p { margin: 0 0 12px !important; color: #AC181C !important; font: 800 12px/1.4 Lato, Helvetica, Arial, sans-serif !important; letter-spacing: 2.4px !important; text-transform: uppercase; }
.elementor .eh-ed-h2 .elementor-heading-title { margin: 0 !important; color: #1E2B6F !important; font: 400 clamp(26px, 2.5vw, 34px)/1.2 Marcellus, Georgia, serif !important; letter-spacing: -.2px; text-transform: none !important; text-align: left !important; }
.elementor .eh-ed-h2 .elementor-heading-title::after, .elementor .eh-ed-h2 .elementor-heading-title::before { content: none !important; display: none !important; }
.eh-ed-text, .eh-ed-text p, .eh-ed-text li, .eh-ed-text td, .eh-ed-text dd { color: #334155 !important; font: 400 17px/1.78 Lato, Helvetica, Arial, sans-serif !important; text-align: left !important; }
.eh-ed-text p { margin: 0 0 18px !important; }
.eh-ed-text p:last-child { margin-bottom: 0 !important; }
.eh-ed-text strong { color: #0F172A !important; font-weight: 800 !important; }
.eh-ed-text h3 { margin: 30px 0 10px !important; color: #0F172A !important; font: 800 19px/1.35 Lato, Helvetica, Arial, sans-serif !important; text-align: left !important; text-transform: none !important; letter-spacing: 0 !important; }
.eh-ed-text h3:first-child { margin-top: 0 !important; }
.eh-ed-text h3::before, .eh-ed-text h3::after { content: none !important; display: none !important; }
.eh-ed-text a { color: #31469B !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.eh-ed-text a:hover { color: #AC181C !important; }
.eh-ed-lead, .eh-ed-lead p { color: #0F172A !important; font: 500 20px/1.65 Lato, Helvetica, Arial, sans-serif !important; }

/* ---- lists: minimal inline markers ---- */
.eh-ed-text ul { list-style: none !important; margin: 0 0 20px !important; padding: 0 !important; }
.eh-ed-text ul li { position: relative; margin: 0 0 10px !important; padding: 0 0 0 26px !important; }
.eh-ed-text ul li::before { content: "" !important; position: absolute; left: 0; top: .82em; width: 12px; height: 2px; background: #AC181C; border-radius: 2px; }

/* ---- vertical timeline ---- */
.eh-ed-text ol.eh-ed-steps { list-style: none !important; counter-reset: edstep; margin: 6px 0 0 !important; padding: 0 !important; position: relative; }
.eh-ed-text ol.eh-ed-steps::before { content: ""; position: absolute; left: 17px; top: 8px; bottom: 8px; width: 1px; background: #CBD2E4; }
.eh-ed-text ol.eh-ed-steps > li { counter-increment: edstep; position: relative; margin: 0 0 26px !important; padding: 0 0 0 62px !important; }
.eh-ed-text ol.eh-ed-steps > li:last-child { margin-bottom: 0 !important; }
.eh-ed-text ol.eh-ed-steps > li::before { content: counter(edstep) !important; position: absolute; left: 0; top: 0; width: 35px; height: 35px; border-radius: 50%;
	background: #fff; border: 1px solid #31469B; color: #1E2B6F; font: 800 14px/33px Lato, Helvetica, Arial, sans-serif; text-align: center; }
.eh-ed-text ol.eh-ed-steps > li strong { display: block; margin: 4px 0 4px; color: #0F172A !important; font-size: 17px !important; }

/* ---- tables ---- */
.eh-ed-tablewrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 4px 0 0; }
.eh-ed-text table.eh-ed-table { width: 100%; min-width: 560px; border-collapse: collapse !important; border: 0 !important; margin: 0 !important; background: transparent !important; }
.eh-ed-text table.eh-ed-table caption { text-align: left; margin: 0 0 10px; color: #5B6478; font: 700 13px/1.4 Lato, Helvetica, Arial, sans-serif; }
.eh-ed-text table.eh-ed-table th { text-align: left !important; padding: 0 18px 12px 0 !important; border: 0 !important; border-bottom: 2px solid #1E2B6F !important; background: transparent !important;
	color: #1E2B6F !important; font: 800 12px/1.3 Lato, Helvetica, Arial, sans-serif !important; letter-spacing: 1.4px; text-transform: uppercase; }
.eh-ed-text table.eh-ed-table td { vertical-align: top; padding: 16px 18px 16px 0 !important; border: 0 !important; border-bottom: 1px solid #E4E8F2 !important; background: transparent !important; font-size: 16px !important; line-height: 1.6 !important; }
.eh-ed-text table.eh-ed-table td:first-child { color: #0F172A !important; font-weight: 800 !important; width: 30%; }

/* ---- emergency note ---- */
.eh-ed-alert { margin: 0 !important; padding: 22px 26px !important; background: #FFF6F6 !important; border-left: 4px solid #AC181C !important; border-radius: 0 6px 6px 0; }
.eh-ed-alert p { margin: 0 0 8px !important; color: #4A1416 !important; font: 500 16.5px/1.65 Lato, Helvetica, Arial, sans-serif !important; }
.eh-ed-alert p:last-child { margin-bottom: 0 !important; }
.eh-ed-alert strong { color: #8E1418 !important; font-weight: 800 !important; }
.eh-ed-alert a { color: #8E1418 !important; font-weight: 800; text-decoration: underline !important; }
.elementor .e-con.eh-ed-alertrow { width: min(var(--eh-w, 1260px), 100% - 64px) !important; max-width: none !important; margin: 0 auto !important; padding: 34px 0 0 !important; }
.elementor .e-con.eh-ed-alertrow > .elementor-element { width: 100% !important; max-width: 1080px !important; }

/* ---- FAQ (visible, plain) ---- */
.eh-ed-text .eh-ed-faq h3 { padding-top: 22px !important; margin: 0 0 8px !important; border-top: 1px solid #E4E8F2; }
.eh-ed-text .eh-ed-faq h3:first-child { border-top: 0; padding-top: 0 !important; }
.eh-ed-text .eh-ed-faq p { margin-bottom: 22px !important; }

/* ---- sources + editorial note ---- */
.eh-ed-text ol.eh-ed-sources { margin: 0 !important; padding: 0 0 0 20px !important; }
.eh-ed-text ol.eh-ed-sources li { margin: 0 0 10px !important; padding: 0 !important; font-size: 14.5px !important; line-height: 1.6 !important; color: #5B6478 !important; }
.eh-ed-text ol.eh-ed-sources li::before { content: none !important; }
.eh-ed-text .eh-ed-meta { margin-top: 22px !important; padding-top: 16px; border-top: 1px solid #E4E8F2; color: #5B6478 !important; font-size: 14px !important; }

/* ---- clinician row ---- */
.elementor .e-con.eh-ed-doc { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 26px !important; align-items: flex-start !important; padding: 0 !important; }
.elementor .eh-ed-doc .eh-ed-doc__img { width: 112px !important; flex: 0 0 112px !important; }
.elementor .eh-ed-doc .eh-ed-doc__img img { width: 112px !important; height: 112px !important; object-fit: cover; object-position: center 18%; border-radius: 50% !important; }
.elementor .eh-ed-doc > .e-con { flex: 1 1 auto !important; width: auto !important; padding: 0 !important; gap: 0 !important; }

/* ---- offices: three columns divided by rules, not boxes ---- */
.elementor .e-con.eh-ed-offices { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 !important; padding: 0 !important; border-top: 2px solid #1E2B6F; }
.elementor .e-con.eh-ed-offices > .e-con { width: auto !important; --width: auto !important; padding: 22px 24px 0 0 !important; margin: 0 24px 0 0 !important; gap: 0 !important; border-right: 1px solid #E4E8F2; }
.elementor .e-con.eh-ed-offices > .e-con:last-child { border-right: 0; margin-right: 0 !important; }
.elementor .eh-ed-offices .elementor-heading-title { margin: 0 0 8px !important; color: #0F172A !important; font: 800 17px/1.35 Lato, Helvetica, Arial, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; text-align: left !important; }
.elementor .eh-ed-offices .elementor-heading-title::after { content: none !important; display: none !important; }
.eh-ed-offices .eh-ed-text p { font-size: 15.5px !important; line-height: 1.6 !important; margin-bottom: 10px !important; }

/* ---- buttons: solid, crisp ---- */
.elementor .eh-ed-btn .elementor-button, .elementor .eh-ed-btn a.elementor-button {
	display: inline-flex; align-items: center; gap: 8px; padding: 14px 26px !important; border-radius: 4px !important; border: 1px solid #AC181C !important; background: #AC181C !important; color: #fff !important;
	font: 700 15px/1.2 Lato, Helvetica, Arial, sans-serif !important; letter-spacing: .2px; text-transform: none !important; box-shadow: none !important; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.elementor .eh-ed-btn .elementor-button:hover { background: #8E1418 !important; border-color: #8E1418 !important; }
.elementor .eh-ed-btn--ghost .elementor-button { background: transparent !important; color: #1E2B6F !important; border-color: #1E2B6F !important; }
.elementor .eh-ed-btn--ghost .elementor-button:hover { background: #1E2B6F !important; color: #fff !important; }
.elementor .eh-ed-btn--link .elementor-button { padding: 6px 0 !important; background: transparent !important; border: 0 !important; color: #31469B !important; text-decoration: underline; text-underline-offset: 4px; }
.elementor .eh-ed-btn--link .elementor-button:hover { background: transparent !important; color: #AC181C !important; }
.elementor .eh-ed-btn .elementor-button:focus-visible { outline: 3px solid #31469B; outline-offset: 3px; }
.elementor .e-con.eh-ed-btns { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 12px !important; padding: 0 !important; margin-top: 26px !important; }
.elementor .e-con.eh-ed-btns > .elementor-element { width: auto !important; }

/* ---- closing appointment band ---- */
.elementor .e-con.eh-ed-cta { padding: 72px 0 !important; margin: 0 !important; background: #1E2B6F !important; }
.elementor .e-con.eh-ed-cta > .e-con { width: min(var(--eh-w, 1260px), 100% - 64px) !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important; gap: 0 !important; }
.elementor .eh-ed-cta .eh-ed-h2 .elementor-heading-title { color: #fff !important; }
.eh-ed-cta .eh-ed-text p, .eh-ed-cta .eh-ed-text { color: rgba(255,255,255,.86) !important; }
.eh-ed-cta .eh-ed-text a { color: #fff !important; }
.eh-ed-cta .eh-ed-kicker, .eh-ed-cta .eh-ed-kicker p { color: #FF9A9D !important; }
.elementor .eh-ed-cta .eh-ed-btn--ghost .elementor-button { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
.elementor .eh-ed-cta .eh-ed-btn--ghost .elementor-button:hover { background: #fff !important; color: #1E2B6F !important; }
.elementor .eh-ed-cta .eh-ed-body { max-width: 760px !important; }

/* ---- hero additions on clinical pages ---- */
.eh-ed-herolead, .eh-ed-herolead p { margin: 18px 0 0 !important; color: #334155 !important; font: 500 18px/1.6 Lato, Helvetica, Arial, sans-serif !important; text-align: left !important; }
.elementor .eh-page-hero .e-con.eh-ed-btns { margin-top: 26px !important; }

/* ---- responsive ---- */
@media (max-width: 1024px) {
	.elementor .e-con.eh-ed-grid { grid-template-columns: 1fr; column-gap: 0 !important; row-gap: 22px !important; }
	.elementor .e-con.eh-ed-label { position: static !important; }
	.elementor .e-con.eh-ed-body { max-width: none !important; }
}
@media (max-width: 767px) {
	.elementor .e-con.eh-ed-sec { padding: 52px 0 !important; }
	.elementor .e-con.eh-ed-grid, .elementor .e-con.eh-ed-alertrow, .elementor .e-con.eh-ed-cta > .e-con { width: calc(100% - 36px) !important; }
	.eh-ed-text, .eh-ed-text p, .eh-ed-text li { font-size: 16px !important; line-height: 1.72 !important; }
	.eh-ed-lead, .eh-ed-lead p { font-size: 18px !important; }
	.elementor .e-con.eh-ed-offices { grid-template-columns: 1fr; }
	.elementor .e-con.eh-ed-offices > .e-con { border-right: 0; margin: 0 !important; padding: 18px 0 !important; border-bottom: 1px solid #E4E8F2; }
	.elementor .e-con.eh-ed-doc { flex-direction: column !important; }
	.elementor .e-con.eh-ed-btns { flex-direction: column !important; }
	.elementor .e-con.eh-ed-btns > .elementor-element, .elementor .eh-ed-btn .elementor-button { width: 100% !important; justify-content: center; }
	.elementor .e-con.eh-ed-cta { padding: 56px 0 !important; }
}
@media (prefers-reduced-motion: reduce) { .elementor .eh-ed-btn .elementor-button { transition: none; } }
