/* Phase 2F content pages. Everything is scoped to the editable page pattern. */

.dogsoria-content-page-template,
.dogsoria-content-page-template .wp-block-post-content,
.dogsoria-content-page {
	min-width: 0;
	margin: 0;
}

.dogsoria-content-page {
	--dogsoria-content-gutter: 60px;
	--dogsoria-content-width: 1240px;
}

/* Full-width sections keep their backgrounds. Their existing inner blocks
 * share one controlled page width and one responsive gutter system. */
.dogsoria-content-page .dogsoria-page-hero__columns,
.dogsoria-content-page .dogsoria-section-inner,
.dogsoria-content-page .dogsoria-editorial-standards,
.dogsoria-content-page .dogsoria-editorial-cta > .wp-block-columns,
.dogsoria-content-page .dogsoria-medical-steps__grid,
.dogsoria-content-page .dogsoria-medical-body {
	box-sizing: border-box;
	width: min(
		var(--dogsoria-content-width),
		calc(100% - (2 * var(--dogsoria-content-gutter)))
	);
	max-width: var(--dogsoria-content-width);
	margin-inline: auto;
}

.dogsoria-content-page .dogsoria-contact-form-section {
	box-sizing: border-box;
	width: min(
		780px,
		calc(100% - (2 * var(--dogsoria-content-gutter)))
	);
	max-width: 780px;
	margin-inline: auto;
}

.dogsoria-content-page,
.dogsoria-content-page p,
.dogsoria-content-page li,
.dogsoria-content-page a,
.dogsoria-content-page input,
.dogsoria-content-page select,
.dogsoria-content-page textarea,
.dogsoria-content-page button {
	color: #26312f;
	font-family: Arial, Helvetica, sans-serif;
}

.dogsoria-content-page h1,
.dogsoria-content-page h2,
.dogsoria-content-page h3 {
	color: #103632;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
}

.dogsoria-content-page a:focus-visible,
.dogsoria-content-page button:focus-visible,
.dogsoria-content-page input:focus-visible,
.dogsoria-content-page select:focus-visible,
.dogsoria-content-page textarea:focus-visible {
	outline: 3px solid #ef6905;
	outline-offset: 3px;
}

.dogsoria-page-hero__columns {
	min-height: 31rem;
	margin-block: 0;
	gap: clamp(2.5rem, 5vw, 5.5rem);
}

.dogsoria-page-hero__copy {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.dogsoria-page-eyebrow,
.dogsoria-page-meta {
	margin: 0 0 1rem;
	color: #ef6905;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dogsoria-page-hero__title {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.5rem, 5vw, 5.25rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.dogsoria-page-hero__intro {
	max-width: 38rem;
	margin: 1.5rem 0 0;
	font-size: clamp(1.125rem, 1.55vw, 1.3rem);
	font-weight: 400;
	line-height: 1.6;
}

.dogsoria-page-meta {
	margin-top: 1.5rem;
	margin-bottom: 0;
	color: #8b2626;
}

.dogsoria-page-tagline {
	margin: 0.6rem 0 0;
	color: #103632;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.15rem;
	font-style: italic;
}

.dogsoria-page-hero__media,
.dogsoria-page-hero__image,
.dogsoria-page-hero__image img {
	min-height: 100%;
}

.dogsoria-page-hero__image {
	height: 100%;
	margin: 0;
}

.dogsoria-page-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 42rem;
	object-fit: cover;
}

.dogsoria-page-section-title {
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	font-size: clamp(2.7rem, 4vw, 4rem);
	line-height: 1;
	letter-spacing: -0.025em;
}

.dogsoria-section-inner {
	padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

.dogsoria-step-number {
	margin: 0 0 0.75rem;
	color: #8b2626;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
}

/* Contact */
.dogsoria-contact-hero .dogsoria-page-hero__image img {
	object-position: 52% center;
}

.dogsoria-contact-help__grid {
	gap: 0;
	margin: 0;
}

.dogsoria-contact-help__grid > .wp-block-column {
	padding-inline: clamp(1.25rem, 3vw, 3rem);
}

.dogsoria-contact-help__grid > .wp-block-column:first-child {
	padding-left: 0;
}

.dogsoria-contact-help__grid > .wp-block-column:last-child {
	padding-right: 0;
}

.dogsoria-contact-help__grid > .wp-block-column + .wp-block-column {
	border-left: 1px solid rgba(16, 54, 50, 0.25);
}

.dogsoria-contact-help h3,
.dogsoria-editorial-process h3,
.dogsoria-medical-steps h3 {
	margin: 0;
	font-size: clamp(1.5rem, 2vw, 2rem);
	line-height: 1.15;
}

.dogsoria-contact-help__grid p:not(.dogsoria-step-number),
.dogsoria-editorial-process__grid p:not(.dogsoria-step-number),
.dogsoria-medical-steps__grid p:not(.dogsoria-step-number) {
	margin: 0.75rem 0 0;
	font-size: 1.05rem;
	line-height: 1.6;
}

.dogsoria-contact-form-section {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.dogsoria-contact-form-section .dogsoria-page-section-title {
	margin-bottom: 0.75rem;
}

.dogsoria-contact-form__intro {
	margin: 0 auto 2.5rem;
	font-size: 1.125rem;
}

.dogsoria-contact-page .wpforms-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.dogsoria-contact-page .wpforms-form,
.dogsoria-contact-page .wpforms-field,
.dogsoria-contact-page .wpforms-field input,
.dogsoria-contact-page .wpforms-field select,
.dogsoria-contact-page .wpforms-field textarea {
	max-width: 100%;
}

.dogsoria-contact-page .wpforms-field {
	padding-block: 0 1.25rem;
}

.dogsoria-contact-page .wpforms-field-label {
	display: block;
	margin-bottom: 0.45rem;
	color: #103632;
	font-size: 0.95rem;
	font-weight: 700;
}

.dogsoria-contact-page .wpforms-field input,
.dogsoria-contact-page .wpforms-field select,
.dogsoria-contact-page .wpforms-field textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: 0.9rem 1rem;
	background: #fff;
	border: 1px solid rgba(16, 54, 50, 0.38);
	border-radius: 2px;
	font-size: 1rem;
}

.dogsoria-contact-page .wpforms-field textarea {
	min-height: 10rem;
	resize: vertical;
}

.dogsoria-contact-page .wpforms-submit {
	min-height: 3.25rem;
	padding: 0.85rem 1.8rem;
	color: #fff;
	background: #ef6905;
	border: 0;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}

.dogsoria-form-note {
	margin: 1.25rem auto 0;
	color: rgba(38, 49, 47, 0.78);
	font-size: 0.875rem;
}

/* Editorial policy */
.dogsoria-editorial-hero .dogsoria-page-hero__image img {
	object-position: center center;
}

.dogsoria-editorial-process {
	padding-block: clamp(3.75rem, 6vw, 5.5rem);
}

.dogsoria-editorial-process .dogsoria-page-section-title {
	max-width: 16ch;
}

.dogsoria-editorial-process__grid {
	gap: 0;
	margin: 0;
}

.dogsoria-editorial-process__grid > .wp-block-column {
	padding-inline: clamp(1rem, 2.5vw, 2.5rem);
}

.dogsoria-editorial-process__grid > .wp-block-column:first-child {
	padding-left: 0;
}

.dogsoria-editorial-process__grid > .wp-block-column:last-child {
	padding-right: 0;
}

.dogsoria-editorial-process__grid > .wp-block-column + .wp-block-column {
	border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.dogsoria-editorial-process .dogsoria-step-number {
	color: #f1e5a1;
}

.dogsoria-editorial-process p:not(.dogsoria-step-number),
.dogsoria-medical-steps p:not(.dogsoria-step-number) {
	color: rgba(255, 255, 255, 0.86);
}

.dogsoria-editorial-standards {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.dogsoria-editorial-standards__grid {
	gap: clamp(3rem, 7vw, 7rem);
	margin: 0;
}

.dogsoria-policy-block {
	padding-block: 0 clamp(3rem, 5vw, 4.5rem);
}

.dogsoria-policy-block + .dogsoria-policy-block {
	padding-top: clamp(3rem, 5vw, 4.5rem);
	border-top: 1px solid rgba(16, 54, 50, 0.2);
}

.dogsoria-policy-block h2 {
	margin: 0 0 1rem;
	font-size: clamp(2.3rem, 3.4vw, 3.5rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.dogsoria-policy-block > p:not(.dogsoria-page-eyebrow) {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.72;
}

.dogsoria-editorial-quote {
	margin: 2rem 0 0;
	padding: 1.5rem 0 1.5rem 1.5rem;
	border-left: 3px solid #8b2626;
}

.dogsoria-editorial-quote p {
	margin: 0;
	color: #103632;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.35rem;
	font-style: italic;
	line-height: 1.5;
}

.dogsoria-editorial-cta {
	padding-block: clamp(3rem, 5vw, 4.5rem);
}

.dogsoria-editorial-cta h2 {
	margin: 0;
	font-size: clamp(2.25rem, 3.5vw, 3.5rem);
}

.dogsoria-editorial-cta p {
	margin: 0.75rem 0 0;
	font-size: 1.1rem;
}

/* Medical disclaimer — medical-disclaimer2 reference only. */
.dogsoria-medical-hero .dogsoria-page-hero__image img {
	object-position: center center;
}

.dogsoria-medical-steps {
	padding-block: clamp(2.75rem, 5vw, 4rem);
}

.dogsoria-medical-steps__grid {
	gap: 0;
	margin: 0;
}

.dogsoria-medical-steps__grid > .wp-block-column {
	padding-inline: clamp(1.25rem, 3vw, 3rem);
}

.dogsoria-medical-steps__grid > .wp-block-column:first-child {
	padding-left: 0;
}

.dogsoria-medical-steps__grid > .wp-block-column:last-child {
	padding-right: 0;
}

.dogsoria-medical-steps__grid > .wp-block-column + .wp-block-column {
	border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.dogsoria-medical-steps .dogsoria-step-number {
	color: #f1e5a1;
}

.dogsoria-medical-body {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.dogsoria-medical-body__columns {
	gap: clamp(3rem, 6vw, 6rem);
	margin: 0;
}

.dogsoria-medical-copy h2,
.dogsoria-medical-bottom h2 {
	margin: 0 0 0.85rem;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.dogsoria-medical-copy h2:not(:first-child) {
	margin-top: clamp(2.75rem, 4vw, 4rem);
}

.dogsoria-medical-copy p,
.dogsoria-medical-bottom p {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.72;
}

.dogsoria-medical-urgent {
	padding: clamp(1.75rem, 3vw, 2.5rem);
}

.dogsoria-medical-urgent h2 {
	margin: 0 0 1.25rem;
	font-size: clamp(1.75rem, 2.5vw, 2.35rem);
	line-height: 1.12;
}

.dogsoria-medical-urgent ul {
	margin: 0;
	padding-left: 1.2rem;
}

.dogsoria-medical-urgent li {
	margin-bottom: 0.6rem;
	line-height: 1.5;
}

.dogsoria-medical-urgent__link {
	margin: 1.5rem 0 0;
	font-weight: 700;
}

.dogsoria-medical-urgent__link a {
	color: #8b2626;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.dogsoria-medical-warning {
	margin-block: clamp(3.5rem, 6vw, 5.5rem);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 2px solid #8b2626;
}

.dogsoria-medical-warning p {
	max-width: 58rem;
	margin: 0 auto;
	color: #8b2626;
	font-size: 1.125rem;
	line-height: 1.6;
}

.dogsoria-medical-bottom {
	gap: clamp(2.5rem, 6vw, 6rem);
	margin: 0;
}

@media (max-width: 900px) {
	.dogsoria-content-page {
		--dogsoria-content-gutter: 30px;
	}

	.dogsoria-page-hero__columns {
		min-height: 25rem;
		gap: 2.25rem;
	}

	.dogsoria-page-hero__title {
		font-size: clamp(2.8rem, 6.8vw, 4.25rem);
	}

	.dogsoria-contact-help__grid,
	.dogsoria-editorial-process__grid,
	.dogsoria-medical-steps__grid {
		gap: 1.5rem;
	}

	.dogsoria-contact-help__grid > .wp-block-column,
	.dogsoria-editorial-process__grid > .wp-block-column,
	.dogsoria-medical-steps__grid > .wp-block-column {
		padding-inline: 1rem;
	}

	.dogsoria-medical-body__columns {
		gap: 2.5rem;
	}

	.dogsoria-medical-page .dogsoria-page-hero__copy {
		flex-basis: 48% !important;
	}

	.dogsoria-medical-page .dogsoria-page-hero__media {
		flex-basis: 52% !important;
	}

	.dogsoria-medical-page .dogsoria-page-hero__title {
		max-width: none;
		font-size: 3rem;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}
}

@media (max-width: 720px) {
	.dogsoria-content-page {
		--dogsoria-content-gutter: 19px;
	}

	.dogsoria-content-page .dogsoria-page-hero__columns {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.dogsoria-page-hero__copy,
	.dogsoria-page-hero__media {
		flex-basis: auto !important;
		width: 100%;
	}

	.dogsoria-page-hero__copy {
		padding-block: 3.25rem;
	}

	.dogsoria-page-hero__title {
		max-width: 14ch;
		font-size: clamp(2.9rem, 14vw, 4.15rem);
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.dogsoria-page-hero__intro {
		font-size: 1.1rem;
	}

	.dogsoria-page-hero__image img {
		min-height: 18rem;
		max-height: 24rem;
		aspect-ratio: 3 / 2;
	}

	.dogsoria-page-section-title {
		font-size: clamp(2.4rem, 12vw, 3.25rem);
	}

	.dogsoria-contact-help__grid,
	.dogsoria-editorial-process__grid,
	.dogsoria-medical-steps__grid,
	.dogsoria-editorial-standards__grid,
	.dogsoria-medical-body__columns,
	.dogsoria-medical-bottom,
	.dogsoria-editorial-cta .wp-block-columns {
		display: grid;
		grid-template-columns: 1fr;
	}

	.dogsoria-contact-help__grid > .wp-block-column,
	.dogsoria-editorial-process__grid > .wp-block-column,
	.dogsoria-medical-steps__grid > .wp-block-column {
		padding: 1.5rem 0;
		border-left: 0 !important;
	}

	.dogsoria-contact-help__grid > .wp-block-column + .wp-block-column {
		border-top: 1px solid rgba(16, 54, 50, 0.25);
	}

	.dogsoria-editorial-process__grid > .wp-block-column + .wp-block-column,
	.dogsoria-medical-steps__grid > .wp-block-column + .wp-block-column {
		border-top: 1px solid rgba(255, 255, 255, 0.28);
	}

	.dogsoria-editorial-standards__grid,
	.dogsoria-medical-body__columns,
	.dogsoria-medical-bottom {
		gap: 0;
	}

	.dogsoria-medical-urgent {
		margin-top: 3rem;
	}

	.dogsoria-medical-bottom > .wp-block-column + .wp-block-column {
		margin-top: 3rem;
		padding-top: 3rem;
		border-top: 1px solid rgba(16, 54, 50, 0.2);
	}

	.dogsoria-editorial-cta .wp-block-buttons {
		justify-content: flex-start;
		margin-top: 1rem;
	}
}

@media (max-width: 480px) {
	.dogsoria-page-hero__copy,
	.dogsoria-section-inner,
	.dogsoria-contact-form-section,
	.dogsoria-editorial-process,
	.dogsoria-editorial-standards,
	.dogsoria-editorial-cta,
	.dogsoria-medical-steps,
	.dogsoria-medical-body {
		padding-block-start: 3rem;
		padding-block-end: 3rem;
	}

	.dogsoria-contact-form-section {
		padding-inline: 0;
	}

	.dogsoria-policy-block h2,
	.dogsoria-medical-copy h2,
	.dogsoria-medical-bottom h2 {
		font-size: 2.1rem;
	}
}
