/* Revision 11: client round 11 (req). Loaded after the r6 files. */

/* ------------------------------------------------------------------
 * Treatment pages: Cost, insurance and financing (#cost)
 * The head is the shared section head (heading left, lede right, two
 * lines at most: r7-shared.css), then four answer cards: one column on
 * a phone, two on a tablet, four from a desktop. The go-link to the insurance page closes the band.
 * ------------------------------------------------------------------ */
.single-elite_treatment.premium-inner .tr-cost .tr-cost__head { margin-bottom: clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem); }
.single-elite_treatment.premium-inner .tr-cost .tr-cost__head .eyebrow { margin: 0 0 1rem; }

:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.875rem;
}
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	padding: 1.25rem 1.25rem 1.35rem;
	background: #fff;
	border: 1px solid var(--line-soft, var(--line));
	border-radius: var(--r-card);
	box-shadow: var(--sh-sm, none);
	overflow: visible;
}
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card:hover { transform: none; }
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__top {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__top .disc {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
}
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card h3 {
	margin: 0;
	font-size: var(--fs-h4);
	line-height: 1.25;
}
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card p {
	margin: 0;
	color: var(--body);
	font-size: var(--fs-body);
	line-height: 1.55;
}
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__foot {
	display: flex;
	justify-content: flex-start;
	margin-top: 1.5rem;
}

/* A phone: one white card, the four answers separated by hairlines. */
@media (max-width: 39.99rem) {
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__grid {
		gap: 0;
		padding: 0.25rem 1.15rem;
		background: #fff;
		border: 1px solid var(--line-soft, var(--line));
		border-radius: var(--r-card);
		box-shadow: var(--sh-sm, none);
	}
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card {
		gap: 0.55rem;
		padding: 1.1rem 0 1.15rem;
		background: none;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card + .tr-cost__card { border-top: 1px solid var(--line-soft, var(--line)); }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__top .disc { width: 2.25rem; height: 2.25rem; }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__top .disc svg { width: 18px; height: 18px; }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card p { font-size: 0.97rem; line-height: 1.5; }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__foot { margin-top: 1.1rem; }
}

@media (min-width: 40rem) {
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}

@media (min-width: 64rem) {
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__grid { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 1.25rem; }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__card { padding: 1.5rem 1.5rem 1.6rem; }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__top { flex-direction: column; align-items: flex-start; gap: 1rem; }
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__foot { margin-top: 2rem; }
}

/* ------------------------------------------------------------------
 * Treatment pages: patient evidence, printed only when the doctors
 * panel quotes no review (the quote card beside the Google card).
 * ------------------------------------------------------------------ */
.single-elite_treatment.premium-inner .tr-evidence { padding-top: 0; }
.single-elite_treatment.premium-inner .tr-evidence__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: stretch;
}
@media (min-width: 48rem) {
	.single-elite_treatment.premium-inner .tr-evidence__row { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.25rem; }
}

/* ------------------------------------------------------------------
 * Treatment pages: the questions end with Call, Contact and Directions
 * under the booking button.
 * ------------------------------------------------------------------ */
.single-elite_treatment.premium-inner .tr-reach {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}
.single-elite_treatment.premium-inner .tr-reach .pill {
	min-height: 44px;
	white-space: nowrap;
}
/* Where the questions stack (under 64rem, r4-treatments.css), the pills follow the booking row. */
@media (max-width: 63.99rem) {
	.single-elite_treatment.premium-inner #questions .faq-layout > div:first-child > .tr-reach { order: 3; }
}
@media (max-width: 47.99rem) {
	.single-elite_treatment.premium-inner .tr-reach { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.45rem; }
	.single-elite_treatment.premium-inner .tr-reach .pill { justify-content: center; padding-inline: 0.5rem; font-size: 0.875rem; gap: 0.35rem; }
}
@media (max-width: 23.5rem) {
	.single-elite_treatment.premium-inner .tr-reach { grid-template-columns: 1fr 1fr; }
	.single-elite_treatment.premium-inner .tr-reach .pill:first-child { grid-column: 1 / -1; }
}

/* ------------------------------------------------------------------
 * Treatment pages and doctor profiles: a review on a light surface
 * (the base quote card is drawn for dark ones), as the doctors panel
 * draws it (r4-treatments.css).
 * ------------------------------------------------------------------ */
:is(.tr-evidence__row, .pbio__quotes) > .quote {
	min-width: 0;
	margin: 0;
	padding: 1.5rem 1.6rem 1.4rem;
	border: 1px solid var(--line-soft, #e5e1ea);
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 24px 50px -40px rgba(26, 18, 54, 0.45);
}
:is(.tr-evidence__row, .pbio__quotes) > .quote .quote__mark { color: var(--lane, var(--ortho)); font-size: 3rem; line-height: 0.7; }
:is(.tr-evidence__row, .pbio__quotes) > .quote blockquote { margin: 0.85rem 0 0; color: var(--ink); font-size: clamp(1.05rem, 1rem + 0.3vw, 1.22rem); line-height: 1.45; letter-spacing: -0.01em; }
:is(.tr-evidence__row, .pbio__quotes) > .quote figcaption { padding-top: 1.1rem; color: var(--muted, #6b6478); }
:is(.tr-evidence__row, .pbio__quotes) > .quote .quote__who { color: var(--ink); font-weight: 700; }
:is(.tr-evidence__row, .pbio__quotes) > .quote .quote__avatar.rv-av--init { background: var(--lane-tint, #eee9f7); color: var(--lane, var(--ortho)); }

/* ------------------------------------------------------------------
 * Doctor profiles (section 12.2): the summary under "About Dr. X",
 * then one labelled row per published block (label left, detail right
 * from a tablet; stacked on a phone), then the reviews and the
 * articles this doctor reviewed.
 * ------------------------------------------------------------------ */
.single-elite_clinician.premium-inner .pbio__main > h2 { margin: 0 0 1.4rem; }
.single-elite_clinician.premium-inner .pro-rows {
	margin: 2.25rem 0 0;
	border-top: 1px solid var(--line-soft, var(--line));
}
.single-elite_clinician.premium-inner .pro-row {
	display: grid;
	grid-template-columns: minmax(0, 13rem) minmax(0, 1fr);
	gap: 0.6rem 1.75rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--line-soft, var(--line));
}
.single-elite_clinician.premium-inner .pro-row__k {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	margin: 0;
	color: var(--ink);
	font-family: var(--display);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.01em;
}
.single-elite_clinician.premium-inner .pro-row__k > span:last-child { padding-top: 0.45rem; }
.single-elite_clinician.premium-inner .pro-row__ic {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.7rem;
	background: var(--lane-tint, var(--ortho-tint));
	color: var(--lane, var(--ortho));
}
.single-elite_clinician.premium-inner .pro-row__v { margin: 0; min-width: 0; }
.single-elite_clinician.premium-inner .pbio .pro-row__v p,
.single-elite_clinician.premium-inner .pbio .pro-row__v p:first-child {
	margin: 0;
	color: var(--body-strong, #3c3450);
	font-size: 1.02rem;
	line-height: 1.65;
}
.single-elite_clinician.premium-inner .pbio .pro-row__v p + p { margin-top: 0.75rem; }
.single-elite_clinician.premium-inner .pro-row__v ul {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0.3rem 0 0;
	list-style: none;
}
.single-elite_clinician.premium-inner .pro-row__v li {
	position: relative;
	margin: 0;
	padding-left: 1.2rem;
	color: var(--body-strong, #3c3450);
	font-size: 1.02rem;
	line-height: 1.55;
}
.single-elite_clinician.premium-inner .pro-row__v li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 50%;
	background: var(--lane, var(--ortho));
}

.single-elite_clinician.premium-inner .pbio__sub {
	margin: 2.75rem 0 1.1rem;
	font-size: var(--fs-h4);
	line-height: 1.3;
}
.single-elite_clinician.premium-inner .pbio__quotes { display: grid; gap: 1rem; }
.single-elite_clinician.premium-inner .pbio__links { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.single-elite_clinician.premium-inner .pbio__main > .pcreds { margin-top: 2.25rem; }

@media (max-width: 47.99rem) {
	.single-elite_clinician.premium-inner .pro-rows { margin-top: 1.75rem; }
	.single-elite_clinician.premium-inner .pro-row { grid-template-columns: minmax(0, 1fr); padding: 1.1rem 0; }
	.single-elite_clinician.premium-inner .pro-row__k { align-items: center; }
	.single-elite_clinician.premium-inner .pro-row__k > span:last-child { padding-top: 0; }
	.single-elite_clinician.premium-inner .pro-row__v ul { padding-top: 0; }
	.single-elite_clinician.premium-inner .pbio .pro-row__v p,
	.single-elite_clinician.premium-inner .pbio .pro-row__v li { font-size: 1rem; }
	.single-elite_clinician.premium-inner .pbio__sub { margin-top: 2.25rem; }
	:is(.tr-evidence__row, .pbio__quotes) > .quote { padding: 1.25rem 1.3rem 1.2rem; }
}

/* ------------------------------------------------------------------
 * Paid campaign landing pages (/offer/<campaign>/, template-offer.php):
 * the doctors as compact cards, three reviews beside the Google card,
 * the cost answers (the treatment pages' cards), the questions, then
 * one booking card with the lane button and the call button.
 * ------------------------------------------------------------------ */
.page-template-template-offer.premium-inner .offer .sect-head { margin-bottom: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); }
.page-template-template-offer.premium-inner .offer-docs__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
.page-template-template-offer.premium-inner .offer-doc {
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	gap: 1.1rem;
	align-items: start;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid var(--line-soft, var(--line));
	border-radius: var(--r-card);
	box-shadow: var(--sh-sm, none);
}
.page-template-template-offer.premium-inner .offer-doc__photo {
	display: block;
	aspect-ratio: 1 / 1.16;
	overflow: hidden;
	border-radius: 999px 999px 0.9rem 0.9rem;
	background: var(--lane-tint, var(--ortho-tint));
}
.page-template-template-offer.premium-inner .offer-doc__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.page-template-template-offer.premium-inner .offer-doc__name { margin: 0.2rem 0 0; font-size: var(--fs-h4); line-height: 1.25; }
.page-template-template-offer.premium-inner .offer-doc__role { margin: 0.3rem 0 0; color: var(--lane, var(--ortho)); font-size: var(--fs-sm); font-weight: 600; }
.page-template-template-offer.premium-inner .offer-doc__creds { margin: 0.85rem 0 0; }
.page-template-template-offer.premium-inner .offer-doc__creds li { font-size: 0.95rem; line-height: 1.45; }

.page-template-template-offer.premium-inner .offer-reviews__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: stretch;
}
.page-template-template-offer.premium-inner .offer-reviews__grid > .quote {
	min-width: 0;
	margin: 0;
	padding: 1.5rem 1.6rem 1.4rem;
	border: 1px solid var(--line-soft, #e5e1ea);
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 24px 50px -40px rgba(26, 18, 54, 0.45);
}
.page-template-template-offer.premium-inner .offer-reviews__grid > .quote .quote__mark { color: var(--lane, var(--ortho)); font-size: 3rem; line-height: 0.7; }
.page-template-template-offer.premium-inner .offer-reviews__grid > .quote blockquote { margin: 0.85rem 0 0; color: var(--ink); font-size: 1.1rem; line-height: 1.45; }
.page-template-template-offer.premium-inner .offer-reviews__grid > .quote figcaption { padding-top: 1.1rem; color: var(--muted, #6b6478); }
.page-template-template-offer.premium-inner .offer-reviews__grid > .quote .quote__who { color: var(--ink); font-weight: 700; }
.page-template-template-offer.premium-inner .offer-reviews__grid > .quote .quote__avatar.rv-av--init { background: var(--lane-tint, #eee9f7); color: var(--lane, var(--ortho)); }
.page-template-template-offer.premium-inner .offer-reviews__grid .gbadge--card { max-width: none; }

.page-template-template-offer.premium-inner .offer-book__card {
	display: grid;
	gap: 1.25rem;
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	background: #fff;
	border: 1px solid var(--line-soft, var(--line));
	border-radius: var(--r-big, 24px);
	box-shadow: var(--sh-md, none);
}
.page-template-template-offer.premium-inner .offer-book__copy h2 { margin: 0; }
.page-template-template-offer.premium-inner .offer-book__copy p { margin: 0.6rem 0 0; color: var(--body); }
.page-template-template-offer.premium-inner .offer-book__acts { display: grid; gap: 0.75rem; }
.page-template-template-offer.premium-inner .offer-book__call { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; }

@media (min-width: 48rem) {
	.page-template-template-offer.premium-inner .offer-docs__grid { grid-template-columns: repeat(min(var(--n, 2), 2), minmax(0, 1fr)); }
	.page-template-template-offer.premium-inner .offer-doc { grid-template-columns: 8rem minmax(0, 1fr); padding: 1.5rem; gap: 1.5rem; }
	.page-template-template-offer.premium-inner .offer-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.page-template-template-offer.premium-inner .offer-book__acts { grid-auto-flow: column; justify-content: start; }
}
@media (min-width: 64rem) {
	.page-template-template-offer.premium-inner .offer-reviews__grid { grid-template-columns: repeat(min(var(--n, 4), 4), minmax(0, 1fr)); gap: 1.25rem; }
	.page-template-template-offer.premium-inner .offer-reviews__grid--badge { grid-template-columns: minmax(0, 26rem); }
	.page-template-template-offer.premium-inner .offer-book__card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; }
}
@media (max-width: 47.99rem) {
	.page-template-template-offer.premium-inner .offer-book__acts > .btn { width: 100%; }
	/* A phone: the portrait beside the name and role, the credentials across the whole card under them. */
	.page-template-template-offer.premium-inner .offer-doc {
		grid-template-columns: 4.75rem minmax(0, 1fr);
		grid-template-areas: "photo name" "photo role" "creds creds";
		grid-template-rows: 1fr auto auto;
		column-gap: 1rem;
		row-gap: 0;
	}
	.page-template-template-offer.premium-inner .offer-doc__photo { grid-area: photo; }
	.page-template-template-offer.premium-inner .offer-doc__body { display: contents; }
	.page-template-template-offer.premium-inner .offer-doc__name { grid-area: name; align-self: end; margin: 0; }
	.page-template-template-offer.premium-inner .offer-doc__role { grid-area: role; align-self: start; }
	.page-template-template-offer.premium-inner .offer-doc__creds { grid-area: creds; margin-top: 1rem; padding-top: 0.9rem; border-top: 1px solid var(--line-soft, var(--line)); }
}

/* ------------------------------------------------------------------
 * Treatment pages: further reading (up to three articles about the
 * treatment), one row of link cards from a tablet, a list on a phone.
 * ------------------------------------------------------------------ */
.single-elite_treatment.premium-inner .tr-read__head { margin-bottom: 1.5rem; }
.single-elite_treatment.premium-inner .tr-read__head .eyebrow { margin: 0 0 1rem; }
.single-elite_treatment.premium-inner .tr-read__head h2 { margin: 0; }
.single-elite_treatment.premium-inner .tr-read__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.single-elite_treatment.premium-inner .tr-read__list li { margin: 0; }
.single-elite_treatment.premium-inner .tr-read__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	height: 100%;
	padding: 1.05rem 1.15rem;
	background: #fff;
	border: 1px solid var(--line-soft, var(--line));
	border-radius: var(--r-card);
	color: var(--ink);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: border-color var(--t-fast, 0.18s), box-shadow var(--t-fast, 0.18s);
}
.single-elite_treatment.premium-inner .tr-read__link:hover { border-color: var(--lane, var(--ortho)); box-shadow: var(--sh-sm, none); }
.single-elite_treatment.premium-inner .tr-read__link .go-link__ic { flex: 0 0 auto; }
@media (min-width: 48rem) {
	.single-elite_treatment.premium-inner .tr-read__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
	.single-elite_treatment.premium-inner .tr-read__link { align-items: flex-start; padding: 1.25rem 1.35rem; }
}

/* ------------------------------------------------------------------
 * Round 12: the cost band can close with two links (the insurance
 * page, and the practice's article on what the treatment costs), and
 * an offer page with the printable plan list; further reading on the
 * braces, clear braces and retainer pages closes with the Braces 101
 * guide. Side by side where they fit, one full-width link a row on a
 * phone.
 * ------------------------------------------------------------------ */
:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__foot { flex-wrap: wrap; gap: 0.75rem 1rem; }
.single-elite_treatment.premium-inner .tr-read__foot { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; margin-top: 1.5rem; }
@media (max-width: 39.99rem) {
	:is(.single-elite_treatment, .page-template-template-offer).premium-inner .tr-cost__foot { flex-direction: column; align-items: stretch; }
	.single-elite_treatment.premium-inner .tr-read__foot { flex-direction: column; align-items: stretch; margin-top: 1.1rem; }
}
