/**
 * Align legacy layout widths with the CK design system width
 * (--ck-content-max-width from ck-custom-blocks design tokens).
 * Wrappers fill the viewport up to the cap with 20px side padding,
 * matching the site header's alignment.
 */

/* Legacy wrapper: was width: 80vw. */
.section-wrapper {
	width: auto;
	max-width: var(--ck-content-max-width, 1426px);
	margin: 0 auto;
	padding: 0 20px;
}

/* Theme forces h1 { width: 80vw !important } — align with the wrapper instead. */
h1 {
	width: auto !important;
	max-width: var(--ck-content-max-width, 1426px);
}

/* Yoast breadcrumb row (legacy templates): was width: 80vw. */
#breadcrumbs {
	width: auto;
	max-width: var(--ck-content-max-width, 1426px);
	padding: 0 20px;
}

/* CK blocks that ship without an inner .container. */
.wp-block-ck-image-grid:not(.alignfull) {
	max-width: var(--ck-content-max-width, 1426px);
	margin-left: auto;
	margin-right: auto;
}

/* Child CK blocks placed directly on a full-width page (outside their parent). */
.full-width-main > .wp-block-ck-button,
.full-width-main > .wp-block-ck-button-group,
.full-width-main > .wp-block-ck-accordion-item,
.full-width-main > .wp-block-ck-accordion__item,
.full-width-main > .wp-block-ck-tab-item {
	max-width: var(--ck-content-max-width, 1426px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ck-content-padding-x, 40px);
	padding-right: var(--ck-content-padding-x, 40px);
	box-sizing: border-box;
}

/* ══════════════════════════════════════════════════════════════════════════
   OAH brand + typography for CK blocks (added 2026-09 for the Torrington
   location page). The plugin ships OASC tokens and typography; OAH restyles
   them here so the plugin itself stays site-agnostic. Loads after the plugin's
   design-tokens.css / ck-buttons.css and after style-min.css.
   ══════════════════════════════════════════════════════════════════════════ */
:root {
	--ck-primary-blue: #19A7E1;
	--ck-dark-navy: #042B48;
	--ck-grey: #F5F5F5;
}

/* Section headings inside CK blocks: the theme's h2 look (44px, #3C3C3C, title case). */
[class*="wp-block-ck-"] h1,
[class*="wp-block-ck-"] h2,
[class*="wp-block-ck-"] .ck-heading--h1,
[class*="wp-block-ck-"]:not([class*="wp-block-ck-what-to-expect"]) .ck-heading--h1,
.ck-headings-as-h1 h2,
.wp-block-ck-what-to-expect .wp-block-ck-what-to-expect__heading,
.wp-block-ck-text-content__inner h1,
.wp-block-ck-text-content__inner h2,
.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__heading,
.wp-block-ck-awards-recognition .wp-block-ck-awards-recognition__heading {
	color: #3C3C3C;
	font-family: 'Proxima Nova Rg', 'proxima-nova', sans-serif;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.1365;
	margin: 0 0 24px !important;
	text-align: left;
	text-transform: none;
	width: auto;
}

[class*="wp-block-ck-"] h3,
.wp-block-ck-text-content__inner h3 {
	color: #3C3C3C;
	font-family: 'Proxima Nova Rg', 'proxima-nova', sans-serif;
}

/* Body copy inside CK blocks: the theme's paragraph look. */
[class*="wp-block-ck-"] p,
.wp-block-ck-text-content__inner p,
.wp-block-ck-what-to-expect__body-area p {
	color: #3C3C3C;
	font-family: 'Proxima Nova Rg', 'proxima-nova', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.72;
}

.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__body-area,
.wp-block-ck-what-to-expect.is-color-grey .wp-block-ck-what-to-expect__body-area {
	color: #3C3C3C;
}

/* Hero (50/50 block, white scheme): no minimum panel height, design spacing. */
.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__container {
	min-height: 0;
}

.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__text-col {
	padding: 84px 64px 90px 0;
}

.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__body-area {
	margin-bottom: 36px;
}

/* Featured Doctors V2 keeps its white heading/intro on the blue band. */
.wp-block-ck-featured-doctors-v2 .wp-block-ck-featured-doctors-v2__heading,
.wp-block-ck-featured-doctors-v2 .wp-block-ck-featured-doctors-v2__text {
	color: #fff;
	text-align: center;
}

.wp-block-ck-featured-doctors-v2 .wp-block-ck-featured-doctors-v2__heading {
	margin: 0 auto 22px !important;
}

.wp-block-ck-featured-doctors-v2 .wp-block-ck-featured-doctors-v2__text {
	line-height: 30px;
	margin: 0 auto;
}

/* Awards row: left-packed, natural-width logos (design) instead of equal cells. */
.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__grid {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 58px;
	justify-content: flex-start;
}

@media (max-width: 991px) {
	[class*="wp-block-ck-"] h1,
	[class*="wp-block-ck-"] h2,
	[class*="wp-block-ck-"] .ck-heading--h1,
	[class*="wp-block-ck-"]:not([class*="wp-block-ck-what-to-expect"]) .ck-heading--h1,
	.ck-headings-as-h1 h2,
	.wp-block-ck-what-to-expect .wp-block-ck-what-to-expect__heading,
	.wp-block-ck-text-content__inner h1,
	.wp-block-ck-text-content__inner h2 {
		font-size: 36px;
	}

	.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__text-col {
		padding: 56px 32px 56px 0;
	}

	.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__grid {
		gap: 32px;
	}
}

@media (max-width: 767px) {
	[class*="wp-block-ck-"] h1,
	[class*="wp-block-ck-"] h2,
	[class*="wp-block-ck-"] .ck-heading--h1,
	[class*="wp-block-ck-"]:not([class*="wp-block-ck-what-to-expect"]) .ck-heading--h1,
	.ck-headings-as-h1 h2,
	.wp-block-ck-what-to-expect .wp-block-ck-what-to-expect__heading,
	.wp-block-ck-text-content__inner h1,
	.wp-block-ck-text-content__inner h2 {
		font-size: 30px;
	}

	[class*="wp-block-ck-"] p,
	.wp-block-ck-text-content__inner p,
	.wp-block-ck-what-to-expect__body-area p {
		font-size: 16px;
	}

	.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__text-col {
		padding: 40px 0 48px; /* container already adds 15px each side, like the other sections */
	}

	.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__grid {
		gap: 24px;
		justify-content: flex-start; /* left-aligned on phones too (design) */
	}
}

/* Hero (50/50 white scheme): text column top-aligned like the mockup. */
.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__text-col {
	justify-content: flex-start;
}

/* Awards logos: natural proportions capped by height AND width so a wide
   lockup (AAAHC) sits at ~372×102 next to ~206px-tall badges. */
.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__logo {
	height: auto;
	max-height: var(--ck-logo-h, 168px);
	max-width: 372px;
	width: auto;
}

@media (max-width: 768px) {
	.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__logo {
		max-height: var(--ck-logo-h-tablet, 100px);
		max-width: 240px;
	}
}

@media (max-width: 480px) {
	/* OAH phones: award logos are 110px tall regardless of the block's mobile
	   height setting (the property wins over the block's inline value). */
	.wp-block-ck-awards-logo-v2 {
		--ck-logo-h-mobile: 110px !important;
	}

	.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__logo {
		max-height: var(--ck-logo-h-mobile, 110px);
		max-width: min(100%, 220px);
	}
}

/* Keep the four award badges on one row on laptop widths. */
@media (max-width: 1279px) and (min-width: 992px) {
	.wp-block-ck-awards-logo-v2 .wp-block-ck-awards-logo-v2__grid {
		gap: 36px;
	}
}

/* Hero (50/50 white scheme): inset the photo vertically like the mockup
   (650×664 image with ~104px above and ~114px below) instead of stretching
   it to the full panel height. Heading sits 20px above the photo top. */
.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__image-col {
	box-sizing: border-box;
	padding: 104px 0 104px;
}

.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__image {
	aspect-ratio: 901 / 473;
	bottom: auto;
	display: block;
	height: auto;
	position: relative;
	top: auto;
	width: 100%;
}

@media (max-width: 991px) {
	.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__image-col {
		padding: 64px 0 72px;
	}
}

@media (max-width: 768px) {
	.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__image-col {
		height: auto;
		padding: 32px 0 0;
	}

	.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__image {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 480px) {
	.wp-block-ck-what-to-expect.is-color-white .wp-block-ck-what-to-expect__image-col {
		padding: 24px 0 0;
	}
}

/* The theme fades/slides every h1 in (h1 { opacity:0; transform:translateX(-40px) })
   until its script adds .activate-animation. CK block headings must never depend on it. */
[class*="wp-block-ck-"] h1,
.wp-block-ck-what-to-expect .wp-block-ck-what-to-expect__heading {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

/* Hero (50/50) pill buttons on phones: 44–48px touch-target size instead of the
   68px desktop pill (14px type, tighter tracking, thinner border, 12px gap). */
@media (max-width: 767px) {
	.wp-block-ck-what-to-expect .ck-button--blue-shadow,
	.wp-block-ck-what-to-expect .ck-button--white-shadow,
	.wp-block-ck-what-to-expect .ck-button--light-blue-outline {
		border-width: 3px;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
		font-size: 14px;
		letter-spacing: 1.2px;
		padding: 14px 28px;
	}

	.wp-block-ck-what-to-expect__ctas {
		gap: 12px;
	}
}

/* News posts (single-post.php): breadcrumb flush with the container, date spacing. */
.ck-single #breadcrumbs {
	padding: 0;
}

.ck-single__date {
	margin-bottom: 0;
	margin-top: 20px;
}
