/* =============================================================================
   Apple a Day Pediatrics: Lane D1a page components (core practice pages).
   Loaded only on: choosing-pediatrician, both doctor bios, what-sets-physician-led-care-apart,
   our-recipe, appointments-0, office-information, contacts, well-child-visits-0.
   Builds on Lane C's tokens (--aadb-*) and blocks; every class here is aadd1a-*.
   Text is never generated by CSS (no ::before/::after content with words).
   ============================================================================= */

/* ---- shared card ---- */
.aadd1a-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 768px) {
	.aadd1a-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.aadd1a-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.aadd1a-cards--hpv { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: start; }
}
.aadd1a-card {
	position: relative; margin: 0; padding: 24px 22px 22px; border-radius: var(--aadb-radius);
	background: #fff; border: 1px solid #f0e2d6; box-shadow: var(--aadb-shadow);
}
.aadd1a-card__ico {
	display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px;
	margin: 0 0 14px; border-radius: 50%; background: var(--aadb-tint-green); color: var(--aadb-green-2);
}
.aadd1a-card__ico .aadb-ico { width: 22px; height: 22px; }
.aadb .aadd1a-card__h {
	margin: 0 0 10px; font-family: var(--aadb-f-head); font-weight: 700; font-size: 20px; line-height: 1.2;
	letter-spacing: -.3px; text-transform: uppercase; color: var(--aadb-ink); text-wrap: balance;
}
.aadd1a-card__body p { font-size: 17px; line-height: 1.6; color: var(--aadb-text); }
.aadd1a-card__body p + p { margin-top: .8em; }
@media (min-width: 768px) { .aadd1a-card { padding: 28px 28px 26px; } }

/* ---- doctor bios: portrait beside their credential list ---- */
.aadd1a-bio__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
.aadd1a-bio__photo { max-width: 300px; margin: 0 auto; width: 100%; }
.aadd1a-portrait { margin: 0; }
.aadd1a-portrait .aadb-img { width: 100%; height: auto; display: block; }
@media (min-width: 768px) {
	.aadd1a-bio__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; }
	.aadd1a-bio__photo { max-width: 400px; margin: 0; justify-self: end; }
}
.aadd1a-cred { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.aadd1a-cred__row { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; padding: 14px 0; border-bottom: 1px solid #f0e2d6; }
.aadd1a-cred__row:first-child { padding-top: 0; }
.aadd1a-cred__row:last-child { border-bottom: 0; padding-bottom: 0; }
.aadb .aadd1a-cred__t { grid-column: 1 / -1; display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; align-items: center; margin: 0 0 4px; font-family: var(--aadb-f-head); font-weight: 700; font-size: 14px; letter-spacing: .8px; text-transform: uppercase; color: var(--aadb-olive-text); }
.aadd1a-cred__ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--aadb-tint-green); color: var(--aadb-green-2); grid-row: span 2; }
.aadd1a-cred__ico .aadb-ico { width: 20px; height: 20px; }
.aadb .aadd1a-cred__d { grid-column: 2; margin: 0; font-size: 17px; line-height: 1.45; color: var(--aadb-ink); font-weight: 700; }
.aadb .aadd1a-cred__d + .aadd1a-cred__d { margin-top: 4px; }
@media (min-width: 768px) { .aadb .aadd1a-cred__d { font-size: 18px; } }

/* interests as chips, hobbies as their own lines */
.aadd1a-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
.aadd1a-chips li { list-style: none; padding: 9px 16px; border-radius: 999px; background: var(--aadb-tint-green); color: var(--aadb-green); font-weight: 700; font-size: 16px; line-height: 1.3; }
.aadd1a-lines { list-style: none; }
.aadd1a-lines li { list-style: none; font-size: 17px; line-height: 1.55; color: var(--aadb-text); padding: 6px 0; }
.aadd1a-card--more .aadd1a-card__ico { background: var(--aadb-tint-red); color: var(--aadb-red-text); }

/* ---- physician-led care ---- */
.aadd1a-intro { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: center; }
.aadd1a-intro__fig .aadb-fig { margin: 0 auto !important; max-width: 460px; }
.aadd1a-intro__fig .aadb-img { width: 100%; height: auto; display: block; }
.aadb .aadd1a-lead { font-family: var(--aadb-f-head); font-size: clamp(20px, 1vw + 16px, 26px); line-height: 1.45; letter-spacing: -.2px; color: var(--aadb-ink); margin: 0; }
@media (min-width: 768px) { .aadd1a-intro { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; } }

/* Elementor zeroes figure margins with (0,4,1) specificity: .elementor .elementor-widget:not(..):not(..) figure. */
.aadb .aadd1a-info { margin: 0 auto 40px !important; max-width: 900px; }
.aadd1a-info img { display: block; width: 100%; height: auto; border-radius: 12px; border: 8px solid var(--aadb-frame); background: #fff; }
.aadd1a-train__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 900px) { .aadd1a-train__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; } }
.aadd1a-train__card { display: flex; flex-direction: column; margin: 0; padding: 24px 22px 0; border-radius: var(--aadb-radius); background: #fff; border: 1px solid #f0e2d6; box-shadow: var(--aadb-shadow); overflow: hidden; }
.aadd1a-train__card.is-md { border: 2px solid var(--aadb-leaf); box-shadow: var(--aadb-shadow-up); }
.aadb .aadd1a-train__h { margin: 0 0 12px; font-family: var(--aadb-f-head); font-weight: 700; font-size: 19px; line-height: 1.25; letter-spacing: -.2px; text-transform: uppercase; color: var(--aadb-ink); }
.aadd1a-train__card.is-md .aadd1a-train__h { color: var(--aadb-green); }
.aadd1a-train__list { list-style: none; display: flex; flex-direction: column; flex: 1 1 auto; }
.aadd1a-train__list li { list-style: none; position: relative; padding: 8px 0 8px 22px; font-size: 16.5px; line-height: 1.45; color: var(--aadb-text); border-bottom: 1px dashed #efe3d8; }
.aadd1a-train__list li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 8px; height: 8px; border-radius: 50%; background: var(--aadb-olive); }
.aadd1a-train__list li.aadd1a-train__total { margin: auto -22px 0; padding: 14px 22px; border-bottom: 0; background: var(--aadb-sand); font-size: 16.5px; }
.aadd1a-train__list li.aadd1a-train__total::before { display: none; }
.aadd1a-train__card.is-md li.aadd1a-train__total { background: var(--aadb-tint-green); }
.aadd1a-train__list li.aadd1a-train__total strong { color: var(--aadb-ink); }
.aadd1a-train__card.is-md li.aadd1a-train__total strong { color: var(--aadb-green); }

.aadd1a-why__intro { text-align: center; max-width: 720px; margin: -12px auto 28px; font-size: 18px; line-height: 1.55; color: var(--aadb-text); }
.aadd1a-why__grid { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.aadd1a-why__item { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; padding: 22px 20px 20px; border-radius: var(--aadb-radius); background: var(--aadb-cream); border: 1px solid #f0e2d6; }
@media (min-width: 768px) { .aadd1a-why__item { grid-template-columns: 46px minmax(0, 1fr); gap: 16px; padding: 22px 22px 20px; } .aadd1a-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } .aadd1a-why__item:last-child:nth-child(odd) { grid-column: 1 / -1; max-width: calc(50% - 10px); justify-self: center; } }
.aadd1a-why__ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--aadb-green-2); box-shadow: 0 1px 2px rgba(64, 58, 72, .08); }
.aadd1a-why__ico .aadb-ico { width: 22px; height: 22px; }
.aadd1a-why__item p { margin: 0; font-size: 16.5px; line-height: 1.6; color: var(--aadb-text); }
.aadd1a-why__item p strong { display: block; margin-bottom: 4px; font-family: var(--aadb-f-head); font-size: 18px; letter-spacing: -.2px; color: var(--aadb-ink); }

.aadd1a-diff__panel { position: relative; padding: 28px 24px 24px; border-radius: var(--aadb-radius); background: #fff; border-left: 6px solid var(--aadb-leaf); box-shadow: var(--aadb-shadow); }
.aadb .aadd1a-diff__lead { font-family: var(--aadb-f-head); font-size: clamp(19px, .8vw + 15px, 23px); line-height: 1.45; color: var(--aadb-ink); margin: 0 0 16px; }
.aadd1a-diff__list { font-size: 17px; line-height: 1.7; color: var(--aadb-text); }
@media (min-width: 768px) { .aadd1a-diff__panel { padding: 34px 40px 30px; } }
.aadd1a-plc-close__callout { margin-top: 28px; }

/* ---- our recipe: their five goals with their apple ---- */
.aadd1a-goals { padding: 28px 22px 22px; border-radius: var(--aadb-radius); background: var(--aadb-cream); border: 1px solid #f0e2d6; box-shadow: var(--aadb-shadow); }
.aadb .aadd1a-goals__h { margin: 0 0 16px; font-family: var(--aadb-f-script); font-weight: 400; font-size: clamp(24px, 1.2vw + 18px, 32px); line-height: 1.2; color: var(--aadb-olive-text); text-transform: none; letter-spacing: 0; }
.aadd1a-goals__list { list-style: none; counter-reset: none; }
.aadd1a-goals__item { list-style: none; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; align-items: start; padding: 13px 0; border-top: 1px dashed #e6d5c6; font-family: var(--aadb-f-head); font-size: 18px; line-height: 1.45; color: var(--aadb-ink); }
.aadd1a-goals__item:first-child { border-top: 0; padding-top: 4px; }
.aadd1a-goals__item:last-child { padding-bottom: 0; }
.aadd1a-goals__apple { width: 34px; height: 34px; margin-top: -3px; display: block; }
@media (min-width: 768px) {
	.aadd1a-goals { padding: 40px 48px 34px; }
	.aadd1a-goals__item { font-size: 20px; padding: 15px 0; grid-template-columns: 38px minmax(0, 1fr); gap: 16px; }
	.aadd1a-goals__apple { width: 38px; height: 38px; }
}

/* New Patient hub + their sidebar blocks */
.aadd1a-hub__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 900px) { .aadd1a-hub__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; } }
.aadd1a-hub__list { grid-template-columns: minmax(0, 1fr) !important; }
@media (min-width: 600px) and (max-width: 899px) { .aadd1a-hub__list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.aadd1a-hub__side { display: grid; gap: 16px; }
.aadd1a-side { padding: 22px; border-radius: var(--aadb-radius); background: #fff; border: 1px solid #f0e2d6; box-shadow: var(--aadb-shadow); text-align: center; }
.aadb .aadd1a-side__h { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 6px; font-family: var(--aadb-f-head); font-weight: 700; font-size: 20px; text-transform: uppercase; letter-spacing: -.3px; color: var(--aadb-green); }
.aadd1a-side__h .aadb-ico { color: var(--aadb-green-2); }
.aadd1a-side .aadb-btns { justify-content: center; margin-top: 14px; }
.aadd1a-side--portal { padding: 10px; }
.aadd1a-portal { display: block; border-radius: 10px; overflow: hidden; line-height: 0; }
.aadd1a-portal img { display: block; width: 100%; height: auto; }
.aadd1a-portal:focus-visible { outline: 3px solid var(--aadb-navy); outline-offset: 3px; }

/* ---- appointments / office information ---- */
.aadd1a-book__card { position: relative; text-align: center; padding: 26px 22px 24px; border-radius: var(--aadb-radius); background: var(--aadb-tint-green); border: 1px solid rgba(70, 153, 31, .25); }
.aadd1a-book__ico { width: 34px; height: 34px; color: var(--aadb-green-2); margin: 0 auto 6px; display: block; }
.aadb .aadd1a-book__h { margin: 0; font-family: var(--aadb-f-head); font-weight: 700; font-size: clamp(21px, 1vw + 16px, 26px); line-height: 1.2; letter-spacing: -.3px; text-transform: uppercase; color: var(--aadb-green); }
.aadd1a-book__btns { margin-top: 16px; }
.aadd1a-appt__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
@media (min-width: 900px) { .aadd1a-appt__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; } .aadd1a-appt__hours { position: sticky; top: 110px; } }
.aadd1a-appt__policies { display: grid; gap: 16px; }
.aadd1a-card--policy { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 16px; align-items: start; padding: 22px; }
.aadd1a-card--policy .aadd1a-card__ico { margin: 0; }
.aadb .aadd1a-hours__h { font-size: 20px; line-height: 1.25; text-transform: none; letter-spacing: -.2px; }
.aadd1a-office__txt .aadb-prose p:last-child { margin-bottom: 0; }
.aadd1a-office__txt .aadb-callout { margin: 22px 0 26px !important; }
.aadd1a-card--feat .aadd1a-card__h { font-size: 21px; }
.aadd1a-card--accent { border: 2px solid var(--aadb-leaf); }
.aadd1a-card--accent .aadd1a-card__ico { background: var(--aadb-cta); color: #fff; }
.aadb .aadd1a-card--accent .aadb-tel { display: inline-flex; align-items: center; margin-top: 14px; padding: 10px 20px; min-height: 48px; border-radius: 999px; background: var(--aadb-cta); color: #fff; font-family: var(--aadb-f-display); font-weight: 800; font-size: 24px; line-height: 1; text-decoration: none; box-shadow: 0 6px 16px rgba(192, 57, 43, .28); }
.aadb .aadd1a-card--accent .aadb-tel:hover { background: var(--aadb-cta-dk); color: #fff; }

/* ---- well child visits: their schedule ---- */
.aadd1a-sched__list { list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { .aadd1a-sched__list { column-count: 2; column-gap: 28px; } }
.aadd1a-sched__row { list-style: none; break-inside: avoid; display: block; margin: 0 0 10px; padding: 14px 16px 14px 18px; border-radius: 12px; background: #fff; border: 1px solid #f0e2d6; border-left: 5px solid var(--aadb-frame); font-size: 16.5px; line-height: 1.5; color: var(--aadb-text); }
.aadd1a-sched__row.is-baby { background: var(--aadb-tint-green); border-color: rgba(70, 153, 31, .22); border-left-color: var(--aadb-leaf); }
.aadb .aadd1a-sched__age { display: block; margin-bottom: 2px; font-family: var(--aadb-f-head); font-size: 17px; letter-spacing: -.1px; color: var(--aadb-ink); }
.aadd1a-sched__row.is-baby .aadd1a-sched__age { color: var(--aadb-green); }
.aadd1a-card--hpv u { text-decoration: none; font-weight: 700; color: var(--aadb-ink); }
.aadd1a-card--note { background: var(--aadb-tint-olive); border-color: #eadcb8; box-shadow: none; }
.aadd1a-card--note .aadd1a-card__ico { background: #fff; color: var(--aadb-olive-text); }

/* ---- contacts ---- */
.aadd1a-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
@media (min-width: 900px) { .aadd1a-contact__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; } }
.aadd1a-contact { padding: 26px 22px 22px; border-radius: var(--aadb-radius); background: var(--aadb-cream); border: 1px solid #f0e2d6; box-shadow: var(--aadb-shadow); }
.aadb .aadd1a-contact__h, .aadb .aadd1a-map__h { margin: 0 0 14px; font-family: var(--aadb-f-head); font-weight: 700; font-size: clamp(22px, 1vw + 17px, 28px); line-height: 1.15; letter-spacing: -.4px; text-transform: uppercase; color: var(--aadb-ink); }
.aadd1a-contact__addr { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; }
.aadd1a-contact__addr .aadb-ico { color: var(--aadb-red-text); margin-top: 2px; }
.aadd1a-contact__addr p { margin: 0; font-size: 17px; line-height: 1.7; letter-spacing: .2px; color: var(--aadb-ink); }
.aadd1a-contact__addr .aadb-tel { font-weight: 700; }
.aadd1a-contact__btns { margin-top: 20px; }
.aadd1a-contact__links, .aadd1a-cta__links { margin: 14px 0 0; }
.aadb .aadd1a-cta__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 6px; font-weight: 700; color: var(--aadb-green); text-decoration: none; }
.aadb .aadd1a-cta__link:hover { color: var(--aadb-cta); text-decoration: underline; }
.aadd1a-cta__link .aadb-ico { width: 20px; height: 20px; }
.aadd1a-portal--wide { margin-top: 18px; max-width: 320px; }
.aadd1a-map { display: flex; flex-direction: column; }
.aadd1a-map__frame { position: relative; border-radius: var(--aadb-radius); overflow: hidden; border: 8px solid var(--aadb-frame); background: var(--aadb-sand); aspect-ratio: 4 / 3; }
.aadd1a-map__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (min-width: 900px) { .aadd1a-contact__grid { align-items: stretch; } .aadd1a-map__frame { aspect-ratio: auto; flex: 1 1 auto; min-height: 460px; } }
@media (min-width: 768px) { .aadd1a-contact { padding: 32px 30px 28px; } }

/* contact-only CF7 form section (Lane E's form; container styling only) */
body .elementor-section.aad-sec-shortcode { background: var(--aadb-cream, #fff4ef); padding: 48px 16px !important; }
body .elementor-section.aad-sec-shortcode > .elementor-container { max-width: 760px !important; margin: 0 auto; background: #fff; border: 1px solid #f0e2d6; border-radius: 16px; box-shadow: 0 1px 2px rgba(64, 58, 72, .06), 0 8px 24px rgba(64, 58, 72, .08); }
body .elementor-section.aad-sec-shortcode .elementor-widget-wrap { padding: 28px 22px !important; }
.aadd1a-form__head { text-align: center; margin: 0 0 18px; font-family: 'Ubuntu', 'Segoe UI', Arial, sans-serif; }
.aadd1a-form__ico { width: 34px; height: 34px; color: #2e632d; display: block; margin: 0 auto 6px; }
.aadd1a-form__h { margin: 0; font-family: 'Cantarell', 'Ubuntu', Arial, sans-serif; font-weight: 700; font-size: clamp(22px, 1vw + 17px, 28px); line-height: 1.15; text-transform: uppercase; letter-spacing: -.4px; color: #403a48; }
.aadd1a-form__note { margin: 8px 0 0; font-size: 16px; line-height: 1.5; color: #5e566a; }
@media (min-width: 768px) { body .elementor-section.aad-sec-shortcode { padding: 72px 24px !important; } body .elementor-section.aad-sec-shortcode .elementor-widget-wrap { padding: 36px 40px !important; } }

/* ---- choosing a pediatrician: photo floated in the reading column; centred doctor cards ---- */
.aadb figure.aadd1a-float { margin: 0 0 22px !important; }
@media (min-width: 768px) { .aadb figure.aadd1a-float { float: right; width: 44%; margin: 6px 0 18px 32px !important; } }
.aadd1a-open .aadb-prose::after { content: ""; display: table; clear: both; }
.aadd1a-docs .aadb-docs { grid-template-columns: minmax(0, 1fr) !important; max-width: 640px; margin: 0 auto; }

/* ---- call band extras ---- */
.aadd1a-cta--long .aadb .aadb-cta__h, .aadb.aadd1a-cta--long .aadb-cta__h { font-size: clamp(22px, 1vw + 17px, 30px); line-height: 1.2; max-width: 680px; margin-left: auto; margin-right: auto; }
.aadd1a-geo { margin-top: 20px; font-size: 16px; line-height: 1.5; color: var(--aadb-text); }
.aadd1a-geo p { margin: 0; }
.aadd1a-geo a { color: var(--aadb-green); }
.aadd1a-geo a strong { font-weight: 700; }

@media print {
	.aadd1a-appt__hours { position: static; }
	.aadd1a-card, .aadd1a-train__card, .aadd1a-side, .aadd1a-contact, .aadd1a-goals { box-shadow: none; }
}

/* ---- Physician-Led Care: approved edit E1, their four items as a check-mark list (SVG check, aria-hidden) ---- */
.aadd1a-checks { list-style: none; display: grid; gap: 12px; margin: 4px 0 0; padding: 0; }
.aadd1a-checks__item { list-style: none; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: start; font-size: 17px; line-height: 1.55; color: var(--aadb-ink); }
.aadd1a-checks__ico { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-top: -2px; border-radius: 50%; background: var(--aadb-leaf); color: #fff; }
.aadd1a-checks__ico .aadb-ico { width: 17px; height: 17px; stroke-width: 3; }
@media (min-width: 768px) { .aadd1a-checks__item { font-size: 18px; } }

/* ---- Physician-Led Care infographic: WebP derivative, tap to open the original PNG (new tab) ---- */
.aadd1a-info__zoom { position: relative; display: block; line-height: 0; border-radius: 12px; }
.aadd1a-info__zoom:focus-visible { outline: 3px solid var(--aadb-navy); outline-offset: 3px; }
.aadd1a-info__hint { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(9, 71, 8, .88); color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .22); pointer-events: none; }
.aadd1a-info__hint .aadb-ico { width: 20px; height: 20px; }
@media (min-width: 900px) { .aadd1a-info__hint { display: none; } }
