/* East Texas Pets FSE theme styles. */

:root {
	--etp-paper: var(--wp--preset--color--paper, #ffffff);
	--etp-paper-card: var(--wp--preset--color--paper-card, #ffffff);
	--etp-pine: var(--wp--preset--color--pine, #072a43);
	--etp-pine-dark: var(--wp--preset--color--pine-dark, #0c0c0c);
	--etp-ink: var(--wp--preset--color--ink, #2b2a22);
	--etp-ink-soft: var(--wp--preset--color--ink-soft, #5a5a5a);
	--etp-rust: var(--wp--preset--color--rust, #2c6998);
	--etp-line: var(--wp--preset--color--line, #b2b2b2);
	--etp-line-soft: var(--wp--preset--color--line-soft, #d8d8d8);
	--etp-radius-sm: 8px;
	--etp-radius-md: 8px;
	--etp-shadow-card: 0 1px 2px rgb(7 42 67 / 7%), 0 12px 28px rgb(7 42 67 / 8%);
	--etp-shadow-card-hover: 0 2px 4px rgb(7 42 67 / 8%), 0 18px 36px rgb(7 42 67 / 12%);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 92px;
}

body {
	-webkit-font-smoothing: antialiased;
	background: var(--etp-paper);
}

body .wp-site-blocks {
	min-height: 100vh;
}

img,
svg {
	max-width: 100%;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

:focus-visible {
	outline: 2px solid var(--etp-rust);
	outline-offset: 2px;
}

.etp-eyebrow {
	color: var(--etp-rust);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.35;
	margin-bottom: 14px !important;
	text-transform: uppercase;
}

.etp-lede,
.etp-muted,
.etp-pet__meta,
.etp-pet__loc,
.etp-note,
.etp-file-card__meta,
.etp-file-card__loc,
.etp-step p,
.etp-clause p,
.etp-footer p {
	color: var(--etp-ink-soft);
}

.etp-lede {
	font-size: 1.0625rem;
	max-width: 56ch;
}

/* Header */
.etp-header {
	background: var(--etp-paper-card);
	border-bottom: 1px solid var(--etp-line);
	position: sticky;
	top: 0;
	z-index: 50;
}

.etp-header__inner {
	align-items: center;
	gap: clamp(16px, 3vw, 28px);
}

.etp-brand {
	align-items: center;
	color: var(--etp-pine);
	gap: 12px;
	text-decoration: none;
}

.etp-brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.2;
}

.etp-brand .wp-block-site-title a {
	color: var(--etp-pine);
	text-decoration: none;
}

.etp-seal {
	align-items: center;
	border: 1.5px solid var(--etp-pine);
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--etp-paper-card), 0 0 0 4.5px var(--etp-pine);
	color: var(--etp-pine);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	font-weight: 700;
	height: 42px;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0;
	width: 42px;
}

.etp-header .wp-block-navigation a {
	color: var(--etp-ink);
	font-weight: 600;
	text-decoration: none;
}

.etp-header .wp-block-navigation a:hover {
	color: var(--etp-rust);
}

.etp-header-actions {
	gap: 14px;
}

/* Buttons */
.wp-block-button .wp-block-button__link {
	border: 1.5px solid transparent;
	font-weight: 700;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--etp-pine-dark);
	box-shadow: 0 8px 18px rgb(7 42 67 / 25%);
	transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	color: var(--etp-pine);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--etp-pine);
	border-color: var(--etp-pine);
	color: var(--etp-paper-card);
}

.etp-on-dark .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--etp-paper-card);
}

.etp-on-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--etp-paper-card);
	color: var(--etp-pine-dark);
}

.etp-on-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: #fff;
}

/* Hero */
.etp-hero {
	background: var(--etp-paper);
	overflow: hidden;
}

.etp-hero__inner,
.etp-hero__columns {
	align-items: center !important;
}

.etp-hero__columns {
	gap: clamp(32px, 5vw, 72px) !important;
}

.etp-hero h1 {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	margin-top: 0;
}

.etp-hero__lede {
	color: var(--etp-ink-soft);
	font-size: 1.09rem;
	max-width: 52ch;
}

.etp-hero__trust {
	color: var(--etp-ink-soft);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	gap: 10px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-transform: uppercase;
}


.etp-trust-item {
	margin: 0;
}

.etp-hero__trust .etp-trust-item:not(:last-child)::after {
	color: var(--etp-line);
	content: "·";
	margin-left: 10px;
}

.etp-file-card {
	background: var(--etp-paper-card);
	border: 1px solid var(--etp-line);
	border-radius: var(--etp-radius-md);
	box-shadow: var(--etp-shadow-card);
	margin-left: auto;
	margin-right: auto;
	max-width: 340px;
	padding: 26px 24px 22px;
	position: relative;
	transform: rotate(-2.2deg);
}

.etp-file-card::before {
	background: var(--etp-paper);
	border-radius: 50%;
	box-shadow: inset 0 1px 3px rgb(7 42 67 / 35%);
	content: "";
	height: 11px;
	left: 14px;
	position: absolute;
	top: 14px;
	width: 11px;
}

.etp-file-card__no,
.etp-pet__no {
	color: var(--etp-ink-soft);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	margin: 0;
}

.etp-file-card__no {
	padding-left: 24px;
}

.etp-file-card__rule {
	border-top: 1px solid var(--etp-line);
	margin-bottom: 16px !important;
	margin-top: 10px !important;
}

.etp-file-card__photo,
.etp-pet__photo {
	align-items: center;
	background: linear-gradient(135deg, #ffffff, #b2b2b2);
	border: 1px solid var(--etp-line);
	display: flex;
	justify-content: center;
}

.etp-file-card__photo {
	border-radius: var(--etp-radius-md);
	height: 150px;
	margin-bottom: 16px;
}

.etp-file-card__photo p,
.etp-pet__photo p {
	color: rgb(7 42 67 / 55%);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	margin: 0;
	text-transform: uppercase;
}

.etp-file-card h3 {
	font-size: 1.5rem;
}

.etp-file-card__meta {
	font-size: 0.9375rem;
	margin-top: 4px !important;
}

.etp-file-card__foot {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 18px;
}

.etp-file-card__loc {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
}

.etp-stamp {
	border: 2px solid var(--etp-rust);
	border-radius: var(--etp-radius-md);
	color: var(--etp-rust);
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding: 4px 13px;
	text-transform: uppercase;
	transform: rotate(-4deg);
}

/* Sections */
.etp-section {
	padding-bottom: clamp(56px, 8vw, 104px);
	padding-top: clamp(56px, 8vw, 104px);
}

.etp-section-head {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 36px;
}

.etp-how,
.etp-trust,
.is-style-etp-inset-surface {
	background: var(--etp-paper-card);
}

.etp-how {
	border-bottom: 1px solid var(--etp-line);
	border-top: 1px solid var(--etp-line);
}

.etp-steps-grid,
.etp-listings-grid {
	display: grid;
}

.etp-steps-grid {
	gap: 36px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.etp-step__tab {
	border: 1px solid var(--etp-pine);
	border-radius: var(--etp-radius-md);
	color: var(--etp-pine);
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 16px;
	padding: 3px 9px;
}

.etp-step h3 {
	font-size: 1.25rem;
	margin-bottom: 8px !important;
}

.etp-step p {
	font-size: 0.9688rem;
}

/* Listings */
.etp-listings {
	background: var(--etp-paper);
}

.etp-filter-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.etp-filter-pill {
	border-bottom: 2px solid transparent;
	color: var(--etp-ink-soft);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	padding-bottom: 6px;
	text-decoration: none;
}

.etp-filter-pill:first-child {
	border-bottom-color: var(--etp-rust);
	color: var(--etp-pine);
}

.etp-filter-pill:hover {
	color: var(--etp-rust);
}

.etp-note {
	font-size: 0.8438rem;
	font-style: italic;
	margin-top: -18px !important;
}

.etp-listings-grid {
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.etp-pet,
.is-style-etp-card {
	background: var(--etp-paper-card);
	border: 1px solid var(--etp-line);
	border-radius: var(--etp-radius-md);
	box-shadow: var(--etp-shadow-card);
}

.etp-pet {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.etp-pet:hover {
	box-shadow: var(--etp-shadow-card-hover);
	transform: translateY(-3px);
}

.etp-pet__photo {
	border-width: 0 0 1px;
	height: 140px;
}

.etp-pet__photo--b {
	background: linear-gradient(135deg, #ffffff, #d8d8d8);
}

.etp-pet__photo--c {
	background: linear-gradient(135deg, #d8d8d8, #b2b2b2);
}

.etp-pet__photo--d {
	background: linear-gradient(135deg, #2c6998, #072a43);
}

.etp-pet__body {
	padding: 18px 18px 20px;
}

.etp-pet__top {
	align-items: baseline;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-top: 6px;
}

.etp-pet__top h3 {
	font-size: 1.2rem;
}

.etp-tag {
	border: 1px solid var(--etp-line);
	border-radius: var(--etp-radius-md);
	color: var(--etp-ink-soft);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.625rem;
	letter-spacing: 0.06em;
	line-height: 1.35;
	padding: 3px 8px;
	text-transform: uppercase;
	white-space: nowrap;
}

.etp-pet__meta {
	font-size: 0.875rem;
	margin-top: 6px !important;
}

.etp-pet__loc {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	margin-top: 10px !important;
}

/* Get started */
.etp-get-started,
.etp-footer {
	background: var(--etp-pine-dark);
	color: var(--etp-paper-card);
}

.etp-get-started .etp-eyebrow,
.etp-footer h4 {
	color: var(--etp-rust);
}

.etp-get-started h2,
.etp-get-started h3,
.etp-footer .etp-footer__brand-name {
	color: var(--etp-paper-card);
}

.etp-get-started p,
.etp-footer p,
.etp-footer a,
.etp-footer__bottom {
	color: var(--etp-line);
}

.etp-get-started-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 44px;
}

.etp-get-started-col {
	padding: 8px 40px;
}

.etp-get-started-col:first-child {
	border-right: 1px solid rgb(255 255 255 / 18%);
	padding-left: 0;
}

.etp-get-started-col:last-child {
	padding-right: 0;
}

/* Trust */
.etp-clauses {
	border-top: 1px solid var(--etp-line);
}

.etp-clause {
	border-bottom: 1px solid var(--etp-line);
	display: grid;
	gap: 24px;
	grid-template-columns: 64px 1fr;
	padding: 22px 0;
}

.etp-clause__mark {
	color: var(--etp-rust);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.15rem;
	font-weight: 700;
}

.etp-clause h3 {
	font-size: 1.0625rem;
	margin-bottom: 4px !important;
}

.etp-clause p {
	font-size: 0.9375rem;
}

/* Footer */
.etp-footer__inner {
	display: grid;
	gap: 48px;
	grid-template-columns: 1.4fr 1fr 1fr;
	padding-bottom: 40px;
	padding-top: 64px;
}

.etp-footer .etp-seal {
	border-color: var(--etp-paper-card);
	box-shadow: 0 0 0 3px var(--etp-pine-dark), 0 0 0 4.5px var(--etp-paper-card);
	color: var(--etp-paper-card);
}

.etp-footer__brand {
	display: flex;
	gap: 12px;
}

.etp-footer__brand-name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0;
}

.etp-footer h4 {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.etp-footer a {
	text-decoration: none;
}

.etp-footer a:hover {
	color: var(--etp-paper-card);
}

.etp-footer__links {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.etp-footer__bottom {
	border-top: 1px solid rgb(255 255 255 / 15%);
	font-size: 0.8125rem;
	padding-bottom: 22px;
	padding-top: 22px;
	text-align: center;
}

/* Content templates */
.etp-page-shell,
.etp-post-shell,
.etp-query-shell {
	padding-bottom: var(--wp--preset--spacing--90);
	padding-top: var(--wp--preset--spacing--80);
}

.etp-content-card {
	background: var(--etp-paper-card);
	border: 1px solid var(--etp-line);
	border-radius: var(--etp-radius-md);
	padding: clamp(24px, 5vw, 56px);
}

.etp-post-card {
	background: var(--etp-paper-card);
	border: 1px solid var(--etp-line);
	padding: 24px;
}

.etp-pagination {
	margin-top: var(--wp--preset--spacing--70);
}

/* Responsive */
@media (max-width: 980px) {
	.etp-steps-grid,
	.etp-listings-grid {
		grid-template-columns: 1fr 1fr;
	}

	.etp-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.etp-footer__brand-block {
		grid-column: 1 / -1;
	}
}

@media (max-width: 782px) {
	.etp-header__inner {
		align-items: center;
	}

	.etp-hero__columns {
		gap: 32px !important;
	}

	.etp-hero__visual-column {
		order: -1;
	}

	.etp-file-card {
		max-width: 300px;
	}

	.etp-section-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.etp-steps-grid,
	.etp-listings-grid,
	.etp-get-started-grid,
	.etp-footer__inner {
		grid-template-columns: 1fr;
	}

	.etp-get-started-col,
	.etp-get-started-col:first-child,
	.etp-get-started-col:last-child {
		padding-left: 0;
		padding-right: 0;
	}

	.etp-get-started-col:first-child {
		border-bottom: 1px solid rgb(255 255 255 / 18%);
		border-right: 0;
		margin-bottom: 36px;
		padding-bottom: 36px;
	}

	.etp-clause {
		gap: 6px;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.etp-listings-grid,
	.etp-steps-grid {
		grid-template-columns: 1fr;
	}

	.etp-hero__trust .etp-trust-item::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Dynamic companion integration */
.etp-filter-pill a {
	color: inherit;
	text-decoration: none;
}


.etp-note--setup,
.etp-file-card--setup {
	outline: 2px dashed currentColor;
	outline-offset: -8px;
}


/* ETP 1.1.1 — sampled palette + 8px surfaces + native hero background support. */
:root {
	--etp-radius-sm: 8px;
	--etp-radius-md: 8px;
	--etp-paper: var(--wp--preset--color--paper, #ffffff);
	--etp-paper-card: var(--wp--preset--color--paper-card, #ffffff);
	--etp-pine: var(--wp--preset--color--pine, #072a43);
	--etp-pine-dark: var(--wp--preset--color--pine-dark, #0c0c0c);
	--etp-rust: var(--wp--preset--color--rust, #2c6998);
	--etp-ink-soft: var(--wp--preset--color--ink-soft, #5a5a5a);
	--etp-line: var(--wp--preset--color--line, #b2b2b2);
	--etp-line-soft: var(--wp--preset--color--line-soft, #d8d8d8);
}

.etp-hero.wp-block-cover {
	background-color: var(--etp-paper);
	color: var(--etp-ink);
	min-height: 0;
}

.etp-hero.wp-block-cover .wp-block-cover__inner-container {
	width: 100%;
}

.etp-hero.wp-block-cover .wp-block-cover__background {
	background-color: var(--etp-paper);
}

.etp-hero.wp-block-cover.has-background-dim:not(.has-background-gradient)::before {
	background-color: var(--etp-paper);
}

.etp-hero.has-background-dim .etp-hero__copy-column,
.etp-hero.has-background-dim .etp-hero__visual-column {
	position: relative;
	z-index: 1;
}

.wp-block-image img,
.wp-block-post-featured-image img,
.wp-block-cover img.wp-block-cover__image-background,
.etp-file-card__photo,
.etp-file-card__photo img,
.etp-pet__photo,
.etp-pet__photo img,
.etp-single-hero__media,
.etp-single-hero__media img,
.etp-gallery,
.etp-gallery a,
.etp-gallery img,
.etp-management-card__image,
.etp-management-card__image img {
	border-radius: var(--etp-radius-md);
}

.etp-file-card,
.etp-pet,
.is-style-etp-card,
.is-style-etp-inset-surface,
.etp-content-card,
.etp-post-card,
.etp-form-section,
.etp-search-form,
.etp-contact-panel,
.etp-listing-story,
.etp-details,
.etp-gallery,
.etp-management-card,
.etp-note,
.etp-notice {
	border-radius: var(--etp-radius-md);
}

.etp-file-card,
.etp-pet {
	overflow: hidden;
}

.etp-file-card__photo,
.etp-pet__photo,
.etp-single-hero__media,
.etp-gallery a,
.etp-management-card__image {
	overflow: hidden;
}

.etp-hero--image-ready .etp-file-card,
.etp-hero.has-background-dim .etp-file-card {
	background: rgb(255 255 255 / 94%);
	backdrop-filter: blur(4px);
}

.etp-hero--image-ready .etp-hero__copy-column,
.etp-hero.has-background-dim .etp-hero__copy-column {
	background: linear-gradient(90deg, rgb(255 255 255 / 92%), rgb(255 255 255 / 76%), rgb(255 255 255 / 0%));
	border-radius: var(--etp-radius-md);
	margin-left: calc(var(--wp--preset--spacing--40, 1rem) * -1);
	padding: var(--wp--preset--spacing--40, 1rem);
}

/* ETP 1.1.2 — dynamic listing page refinements. */
.etp-file-card,
.etp-pet,
.etp-form-section,
.etp-search-form,
.etp-contact-panel,
.etp-listing-story,
.etp-details,
.etp-gallery,
.etp-management-card,
.etp-note,
.etp-notice,
.etp-single-hero__media,
.etp-pet__photo,
.etp-file-card__photo,
.etp-gallery a {
	border: 0 !important;
}

.etp-single-hero {
	background: var(--etp-rust);
	border-radius: var(--etp-radius-md);
	padding: clamp(22px, 4vw, 48px);
}

.etp-single-hero__body {
	align-self: center;
}

.etp-single-hero .etp-eyebrow {
	color: #fff;
}

.etp-single-hero h1 {
	color: var(--etp-pine);
	font-size: clamp(2.5rem, 6vw, 5.5rem);
	line-height: .98;
	overflow-wrap: anywhere;
}

.etp-single-hero .etp-single-meta,
.etp-single-hero .etp-single-location {
	color: var(--etp-line-soft);
}

.etp-listing-story h2 {
	color: #fff;
}

.etp-gallery {
	display: block;
}

.etp-gallery__row {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.etp-gallery__row a {
	aspect-ratio: 4 / 3;
	min-height: 0;
}

.etp-contact-panel--standalone {
	margin-top: clamp(28px, 5vw, 64px);
	padding: clamp(28px, 5vw, 64px);
	text-align: center;
	width: 100%;
}

.etp-contact-panel--standalone .etp-contact-panel__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.35rem;
	margin: 0 auto;
	max-width: 860px;
}

.etp-contact-panel--standalone h2 {
	color: var(--etp-pine);
	font-size: clamp(2rem, 5vw, 4.25rem);
	line-height: 1;
	margin: 0;
}

@media (max-width: 980px) {
	.etp-gallery__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.etp-gallery__row {
		display: flex;
		overflow-x: auto;
		padding-bottom: .25rem;
		scroll-snap-type: x proximity;
	}

	.etp-gallery__row a {
		flex: 0 0 min(78vw, 260px);
		scroll-snap-align: start;
	}
}

.etp-listing-story {
	background: var(--etp-rust);
	color: var(--etp-line-soft);
}

.etp-listing-story p,
.etp-listing-story li {
	color: var(--etp-line-soft);
}


/* ETP Theme 1.1.3 — full-bleed single listing hero, default About Pet colors, and no shadows. */
:root {
  --etp-shadow-card: none !important;
  --etp-shadow-card-hover: none !important;
}

.etp-single-hero {
  border-radius: 0 !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
}

.etp-single-hero__media,
.etp-single-hero__media img,
.etp-single-hero__media .etp-pet__photo {
  border-radius: 0 !important;
}

.etp-listing-story {
  background: var(--etp-paper-card, #ffffff) !important;
  color: var(--etp-ink, #2b2a22) !important;
}

.etp-listing-story h2 {
  color: var(--etp-pine, #072a43) !important;
}

.etp-listing-story p,
.etp-listing-story li,
.etp-listing-story div {
  color: var(--etp-ink-soft, #5a5a5a) !important;
}

.etp-single-listing,
.etp-single-listing *,
.etp-submit-shell,
.etp-submit-shell *,
.etp-search-shell,
.etp-search-shell *,
.etp-dashboard-shell,
.etp-dashboard-shell *,
.etp-file-card,
.etp-file-card *,
.etp-pet,
.etp-pet *,
.etp-contact-panel,
.etp-contact-panel * {
  box-shadow: none !important;
  text-shadow: none !important;
}

.etp-pet:hover,
.wp-block-button .wp-block-button__link:hover {
  transform: none !important;
}


/* Remove decorative and hover shadows everywhere in the theme layer. */
:where(body *) {
  box-shadow: none !important;
  text-shadow: none !important;
}


/* ETP Theme 1.1.4 — single listing sections touch with no external gaps and no shadows. */
body.single-pet_listing :where(.wp-site-blocks, .wp-site-blocks > *, .wp-block-template-part, .etp-header, .etp-post-shell, .etp-single-listing-page, .etp-single-listing, .etp-single-hero, .etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.single-pet_listing :where(.wp-site-blocks, .etp-post-shell, .etp-single-listing-page, .etp-single-listing) {
  gap: 0 !important;
  row-gap: 0 !important;
}

body.single-pet_listing .etp-post-shell,
body.single-pet_listing .etp-single-listing-page {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.single-pet_listing .etp-single-listing {
  max-width: none !important;
  width: 100%;
}

body.single-pet_listing .etp-single-hero {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.single-pet_listing .etp-listing-story,
body.single-pet_listing .etp-details,
body.single-pet_listing .etp-gallery,
body.single-pet_listing .etp-contact-panel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.single-pet_listing .etp-listing-story,
body.single-pet_listing .etp-details,
body.single-pet_listing .etp-gallery {
  border-radius: 0 !important;
}

@media (max-width: 782px) {
  body.single-pet_listing :where(.wp-site-blocks > *, .wp-block-template-part, .etp-header, .etp-post-shell, .etp-single-listing-page, .etp-single-listing, .etp-single-hero) {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
  }

  body.single-pet_listing .etp-post-shell,
  body.single-pet_listing .etp-single-listing-page {
    padding-top: 0 !important;
  }
}

:where(body *) {
  box-shadow: none !important;
  text-shadow: none !important;
}


/* Single listing header-to-hero gap hardening. */
body.single-pet_listing :where(.wp-site-blocks > header, .wp-site-blocks > main, .wp-site-blocks > .wp-block-template-part + main, header.etp-header + main) {
  margin-block-start: 0 !important;
}

body.single-pet_listing :where(.etp-header, .etp-header__inner) {
  min-height: 0 !important;
  height: auto !important;
}

body.single-pet_listing .etp-header :where(.wp-block-spacer:empty) {
  display: none !important;
}

html.etp-lightbox-open,
html.etp-lightbox-open body {
  overflow: hidden;
}

/* ETP Theme 1.1.5 — tighten single-listing section rhythm and add lightbox navigation styles. */
body.single-pet_listing .etp-single-listing {
  display: block !important;
}

body.single-pet_listing .etp-single-listing > :where(header, section),
body.single-pet_listing .etp-single-listing :where(.etp-single-hero, .etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) {
  height: auto !important;
  min-height: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) {
  padding-block: clamp(28px, 4vw, 48px) !important;
}

body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) > :first-child,
body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) :where(h1, h2, h3, h4, p, ul, ol, dl, figure):first-child {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) > :last-child,
body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) :where(h1, h2, h3, h4, p, ul, ol, dl, figure):last-child {
  margin-block-end: 0 !important;
  margin-bottom: 0 !important;
}

body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) h2 {
  line-height: 1 !important;
  margin-block: 0 clamp(18px, 2.5vw, 28px) !important;
}

body.single-pet_listing .etp-listing-story :where(p, ul, ol) {
  margin-block: 0 1rem !important;
}

body.single-pet_listing .etp-listing-story :where(p, ul, ol):last-child {
  margin-bottom: 0 !important;
}

body.single-pet_listing .etp-details dl {
  margin-block: 0 !important;
}

body.single-pet_listing .etp-gallery h2 + .etp-gallery__row {
  margin-top: 0 !important;
}

.etp-lightbox__prev,
.etp-lightbox__next {
  align-items: center;
  background: rgb(255 255 255 / 94%) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0c0c0c !important;
  cursor: pointer;
  display: inline-flex;
  font: 700 34px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  height: 54px;
  justify-content: center;
  padding: 0 !important;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;
  z-index: 2;
}

.etp-lightbox__prev { left: clamp(14px, 3vw, 40px); }
.etp-lightbox__next { right: clamp(14px, 3vw, 40px); }

.etp-lightbox__prev[hidden],
.etp-lightbox__next[hidden] {
  display: none !important;
}

.etp-lightbox__prev:focus-visible,
.etp-lightbox__next:focus-visible {
  outline: 3px solid #2c6998;
  outline-offset: 3px;
}

.etp-lightbox__counter {
  background: rgb(0 0 0 / 62%);
  border-radius: 999px;
  bottom: 14px;
  color: #fff;
  font: 600 13px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  left: 50%;
  padding: 8px 12px;
  position: fixed;
  transform: translateX(-50%);
}

@media (max-width: 700px) {
  body.single-pet_listing .etp-single-listing :where(.etp-listing-story, .etp-details, .etp-gallery, .etp-contact-panel) {
    padding-block: 28px !important;
  }

  .etp-lightbox__prev,
  .etp-lightbox__next {
    height: 44px;
    width: 44px;
    font-size: 28px !important;
  }
}


/* ETP Theme 1.1.6 — compact single-listing sections and SVG-centered lightbox controls. */
body.single-pet_listing .etp-single-listing {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

body.single-pet_listing .etp-single-listing > :where(header, section) {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.single-pet_listing .etp-listing-story,
body.single-pet_listing .etp-details,
body.single-pet_listing .etp-gallery,
body.single-pet_listing .etp-contact-panel {
  margin: 0 !important;
  padding-top: clamp(18px, 2.25vw, 30px) !important;
  padding-bottom: clamp(18px, 2.25vw, 30px) !important;
}

body.single-pet_listing .etp-listing-story > h2,
body.single-pet_listing .etp-details > h2,
body.single-pet_listing .etp-gallery > h2,
body.single-pet_listing .etp-contact-panel h2 {
  margin-top: 0 !important;
  margin-bottom: clamp(12px, 1.6vw, 20px) !important;
}

body.single-pet_listing .etp-listing-story__content,
body.single-pet_listing .etp-listing-story__content > :where(p, ul, ol, div, figure),
body.single-pet_listing .etp-details dl,
body.single-pet_listing .etp-gallery__row {
  margin-top: 0 !important;
}

body.single-pet_listing .etp-listing-story__content > :where(p, ul, ol, div, figure):last-child,
body.single-pet_listing .etp-details dl,
body.single-pet_listing .etp-gallery__row {
  margin-bottom: 0 !important;
}

body.single-pet_listing .etp-listing-story__content > p:empty,
body.single-pet_listing .etp-listing-story__content > div:empty,
body.single-pet_listing .etp-listing-story__content .wp-block-spacer {
  display: none !important;
}

body.single-pet_listing .etp-listing-story__content > p:has(> br:only-child) {
  display: none !important;
}

body.single-pet_listing .etp-details dl {
  gap: clamp(8px, 1.2vw, 14px) clamp(20px, 4vw, 48px) !important;
}

body.single-pet_listing .etp-details dt,
body.single-pet_listing .etp-details dd {
  line-height: 1.25 !important;
}

.etp-lightbox__close,
.etp-lightbox__prev,
.etp-lightbox__next {
  align-items: center !important;
  display: inline-grid !important;
  justify-items: center !important;
  place-items: center !important;
  line-height: 1 !important;
  text-align: center !important;
}

.etp-lightbox__close {
  height: 48px !important;
  width: 48px !important;
}

.etp-lightbox__prev,
.etp-lightbox__next {
  height: 56px !important;
  width: 56px !important;
}

.etp-lightbox__icon {
  display: block !important;
  height: 24px !important;
  margin: 0 !important;
  pointer-events: none;
  width: 24px !important;
}

.etp-lightbox__prev .etp-lightbox__icon,
.etp-lightbox__next .etp-lightbox__icon {
  height: 28px !important;
  width: 28px !important;
}

@media (max-width: 700px) {
  body.single-pet_listing .etp-listing-story,
  body.single-pet_listing .etp-details,
  body.single-pet_listing .etp-gallery,
  body.single-pet_listing .etp-contact-panel {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .etp-lightbox__close,
  .etp-lightbox__prev,
  .etp-lightbox__next {
    height: 46px !important;
    width: 46px !important;
  }
}



/* ETP Theme 1.1.7 — sky palette variable, header link gap, footer link colors, and 8px single featured image. */
:root {
  --etp-sky: var(--wp--preset--color--sky, #8ECEFF);
}

.etp-header .wp-block-navigation,
.etp-header .wp-block-navigation__container {
  gap: clamp(18px, 2.25vw, 32px) !important;
}

.etp-header .wp-block-navigation-item {
  margin: 0 !important;
}

.etp-footer a,
.etp-footer .wp-block-navigation a {
  color: #fff !important;
}

.etp-footer a:hover,
.etp-footer a:focus-visible,
.etp-footer .wp-block-navigation a:hover,
.etp-footer .wp-block-navigation a:focus-visible {
  color: var(--etp-sky, #8ECEFF) !important;
}

body.single-pet_listing .etp-single-hero__media,
body.single-pet_listing .etp-single-hero__media img,
body.single-pet_listing .etp-single-hero__media .etp-pet__photo {
  border-radius: 8px !important;
}

body.single-pet_listing .etp-single-hero__media {
  overflow: hidden !important;
}


/* ETP Theme 1.1.8 — Available Pet contact button color treatment fallback. */
body.single-pet_listing .etp-single-hero__contact .etp-bm-button,
body.single-pet_listing .etp-single-hero__contact a.etp-bm-button,
body.single-pet_listing .etp-single-hero__contact .bm-lc-button.etp-bm-button,
body.single-pet_listing .etp-single-hero__contact .bm-pm-button.etp-bm-button {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--etp-pine, #072A43) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.single-pet_listing .etp-single-hero__contact .etp-bm-button:hover,
body.single-pet_listing .etp-single-hero__contact a.etp-bm-button:hover,
body.single-pet_listing .etp-single-hero__contact .bm-lc-button.etp-bm-button:hover,
body.single-pet_listing .etp-single-hero__contact .bm-pm-button.etp-bm-button:hover,
body.single-pet_listing .etp-single-hero__contact .etp-bm-button:focus-visible,
body.single-pet_listing .etp-single-hero__contact a.etp-bm-button:focus-visible,
body.single-pet_listing .etp-single-hero__contact .bm-lc-button.etp-bm-button:focus-visible,
body.single-pet_listing .etp-single-hero__contact .bm-pm-button.etp-bm-button:focus-visible {
  background: var(--etp-sky, #8ECEFF) !important;
  border-color: var(--etp-sky, #8ECEFF) !important;
  color: var(--etp-pine, #072A43) !important;
}


/* ETP 0.2.9 / Theme 1.1.9 — center Available Pet contact button text and hide logged-out auth links after login. */
body.single-pet_listing .etp-single-hero__contact {
  justify-content: center !important;
}

body.single-pet_listing .etp-single-hero__contact .etp-bm-button,
body.single-pet_listing .etp-single-hero__contact a.etp-bm-button,
body.single-pet_listing .etp-single-hero__contact .bm-lc-button.etp-bm-button,
body.single-pet_listing .etp-single-hero__contact .bm-pm-button.etp-bm-button,
body.single-pet_listing .etp-single-hero__contact .better-messages-button,
body.single-pet_listing .etp-single-hero__contact .bm-button {
  align-items: center !important;
  display: inline-flex !important;
  gap: 0.5em !important;
  justify-content: center !important;
  line-height: 1.1 !important;
  min-height: 56px !important;
  padding-inline: clamp(28px, 4vw, 56px) !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: normal !important;
}

body.single-pet_listing .etp-single-hero__contact .etp-bm-button > *,
body.single-pet_listing .etp-single-hero__contact a.etp-bm-button > *,
body.single-pet_listing .etp-single-hero__contact .bm-lc-button.etp-bm-button > *,
body.single-pet_listing .etp-single-hero__contact .bm-pm-button.etp-bm-button > *,
body.single-pet_listing .etp-single-hero__contact .better-messages-button > *,
body.single-pet_listing .etp-single-hero__contact .bm-button > * {
  margin-inline: auto !important;
  text-align: center !important;
}

body.logged-in .etp-logged-out-only,
body.logged-in .etp-header .wp-block-button:has(a[href*="/join/"]),
body.logged-in .etp-header .wp-block-button:has(a[href*="/login/"]),
body.logged-in .etp-header .wp-block-button:has(a[href*="/sign-in/"]),
body.logged-in .etp-header .wp-block-button:has(a[href*="/register/"]),
body.logged-in .etp-header .wp-block-navigation-item:has(a[href*="/join/"]),
body.logged-in .etp-header .wp-block-navigation-item:has(a[href*="/login/"]),
body.logged-in .etp-header .wp-block-navigation-item:has(a[href*="/sign-in/"]),
body.logged-in .etp-header .wp-block-navigation-item:has(a[href*="/register/"]) {
  display: none !important;
}

/* ETP Theme 1.1.10 — remove mobile top spacing above the single listing featured image. */
@media (max-width: 782px) {
  body.single-pet_listing :where(.wp-site-blocks, .wp-site-blocks > .wp-block-template-part, .wp-site-blocks > main, .etp-post-shell, .etp-single-listing-page, .etp-single-listing) {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
    padding-block-start: 0 !important;
    padding-top: 0 !important;
  }

  body.single-pet_listing .etp-single-hero {
    gap: 0 !important;
    margin-block-start: 0 !important;
    margin-top: 0 !important;
    padding-block-start: 0 !important;
    padding-top: 0 !important;
    row-gap: 0 !important;
  }

  body.single-pet_listing .etp-single-hero__media {
    align-self: start !important;
    margin-block-start: 0 !important;
    margin-top: 0 !important;
    padding-block-start: 0 !important;
    padding-top: 0 !important;
  }

  body.single-pet_listing .etp-single-hero__media :where(img, .etp-pet__photo) {
    display: block !important;
    margin-block-start: 0 !important;
    margin-top: 0 !important;
  }
}


/* ETP 0.2.11 / Theme 1.1.11 — restore intentional mobile inner spacing above the featured image.
   Keeps the Available Pet section flush to the header, but gives the image breathing room inside the black section. */
@media (max-width: 782px) {
  body.single-pet_listing .etp-single-hero {
    padding-block-start: clamp(16px, 4vw, 24px) !important;
    padding-top: clamp(16px, 4vw, 24px) !important;
  }

  body.single-pet_listing .etp-single-hero__media {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
  }
}


/* ETP Theme 1.1.12 — logged-in auth swap.
   Sign In/Log In buttons are converted server-side to Log Out links for signed-in users. */
.etp-header .etp-logout-button .wp-block-button__link,
.etp-header .wp-block-button.etp-logout-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}


/* ETP Theme 1.1.13 — remove the visible border around standard page content wrappers.
   Keeps inner page padding/layout intact while preventing page body content from
   appearing inside an outlined card. */
.etp-content-card {
  border: 0 !important;
}

.etp-content-card.has-border-color,
.etp-content-card[style*="border"] {
  border: 0 !important;
}

/* ETP Theme 1.1.14 — tighten standard page title spacing below the header. */
body.page:not(.home):not(.front-page) .etp-page-shell,
body.page-template-default .etp-page-shell,
.etp-page-shell {
  padding-top: clamp(20px, 3vw, 36px) !important;
}

body.page:not(.home):not(.front-page) .etp-content-card,
body.page-template-default .etp-content-card {
  padding-top: clamp(12px, 2.5vw, 28px) !important;
}

body.page:not(.home):not(.front-page) .etp-content-card > :first-child,
body.page-template-default .etp-content-card > :first-child {
  margin-top: 0 !important;
}

@media (max-width: 782px) {
  body.page:not(.home):not(.front-page) .etp-page-shell,
  body.page-template-default .etp-page-shell,
  .etp-page-shell {
    padding-top: 20px !important;
  }

  body.page:not(.home):not(.front-page) .etp-content-card,
  body.page-template-default .etp-content-card {
    padding-top: 12px !important;
  }
}

/* ETP Theme 1.1.15 — square registry card images and card title link colors. */
.etp-file-card h3 a,
.etp-file-card .wp-block-heading a,
.etp-listings-grid .etp-pet__top h3 a,
.etp-listings-grid .etp-pet h3 a {
  color: var(--etp-pine, #072a43) !important;
  text-decoration: none !important;
}

.etp-file-card h3 a:hover,
.etp-file-card h3 a:focus,
.etp-file-card .wp-block-heading a:hover,
.etp-file-card .wp-block-heading a:focus,
.etp-listings-grid .etp-pet__top h3 a:hover,
.etp-listings-grid .etp-pet__top h3 a:focus,
.etp-listings-grid .etp-pet h3 a:hover,
.etp-listings-grid .etp-pet h3 a:focus {
  color: var(--etp-ink, #2b2a22) !important;
}

.etp-file-card__photo,
.etp-listings-grid .etp-pet__photo {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
}

.etp-file-card__photo img,
.etp-listings-grid .etp-pet__photo img {
  aspect-ratio: 1 / 1 !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* ETP Theme 1.1.16 — harden homepage hero radius handling.
   The site-wide image radius intentionally remains 8px, but the homepage Cover
   hero itself and its background media must respect a zero-radius/full-bleed
   treatment. This also prevents white page corners/gutters from appearing on
   mobile when a background image is applied to the hero Cover block. */
.etp-hero.wp-block-cover,
.etp-hero.wp-block-cover[style],
.wp-site-blocks > .etp-hero.wp-block-cover,
.wp-site-blocks > main > .etp-hero.wp-block-cover,
.wp-block-cover.etp-hero.alignfull {
  border-radius: 0 !important;
  overflow: hidden !important;
}

.etp-hero.wp-block-cover::before,
.etp-hero.wp-block-cover::after,
.etp-hero.wp-block-cover > .wp-block-cover__background,
.etp-hero.wp-block-cover > .wp-block-cover__gradient-background,
.etp-hero.wp-block-cover > img.wp-block-cover__image-background,
.etp-hero.wp-block-cover > video.wp-block-cover__video-background,
.etp-hero.wp-block-cover .wp-block-cover__image-background,
.etp-hero.wp-block-cover .wp-block-cover__video-background {
  border-radius: 0 !important;
}

/* Do not let generic image-radius rules create a visible white edge around the
   hero background on small screens. */
@media (max-width: 782px) {
  .etp-hero.wp-block-cover,
  .etp-hero.wp-block-cover[style],
  .wp-block-cover.etp-hero.alignfull,
  .etp-hero.wp-block-cover::before,
  .etp-hero.wp-block-cover::after,
  .etp-hero.wp-block-cover > .wp-block-cover__background,
  .etp-hero.wp-block-cover > .wp-block-cover__gradient-background,
  .etp-hero.wp-block-cover > img.wp-block-cover__image-background,
  .etp-hero.wp-block-cover > video.wp-block-cover__video-background,
  .etp-hero.wp-block-cover .wp-block-cover__image-background,
  .etp-hero.wp-block-cover .wp-block-cover__video-background {
    border-radius: 0 !important;
  }
}

/* ETP Theme 1.1.17 — per-button editor styling controls.
   The block sidebar panel writes CSS variables to the core/button wrapper, and
   these rules apply them to the visible button link on the front end and in the editor. */
.wp-block-button.etp-button-custom .wp-block-button__link,
.etp-button-custom.wp-block-button .wp-block-button__link,
.etp-button-custom .wp-block-button .wp-block-button__link,
.etp-button-custom .wp-block-button__link {
  background-color: var(--etp-button-bg, var(--wp--preset--color--pine, #072a43)) !important;
  border-color: var(--etp-button-border, transparent) !important;
  border-radius: var(--etp-button-radius, 8px) !important;
  border-style: solid !important;
  border-width: var(--etp-button-border-width, 0px) !important;
  color: var(--etp-button-text, var(--wp--preset--color--paper-card, #fff)) !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.wp-block-button.etp-button-custom .wp-block-button__link:hover,
.wp-block-button.etp-button-custom .wp-block-button__link:focus,
.etp-button-custom.wp-block-button .wp-block-button__link:hover,
.etp-button-custom.wp-block-button .wp-block-button__link:focus,
.etp-button-custom .wp-block-button .wp-block-button__link:hover,
.etp-button-custom .wp-block-button .wp-block-button__link:focus,
.etp-button-custom .wp-block-button__link:hover,
.etp-button-custom .wp-block-button__link:focus {
  background-color: var(--etp-button-hover-bg, var(--etp-button-bg, var(--wp--preset--color--rust, #2c6998))) !important;
  border-color: var(--etp-button-border, transparent) !important;
  color: var(--etp-button-hover-text, var(--etp-button-text, var(--wp--preset--color--paper-card, #fff))) !important;
}

.etp-button-styler-control {
  margin-bottom: 18px;
}

.etp-button-styler-control__label {
  font-size: 11px;
  font-weight: 600;
  margin: 0 0 8px;
  text-transform: uppercase;
}

/* ETP Theme 1.1.18 — latest listing card image bottom radius + compact file-number gap. */
.etp-file-card__photo,
.etp-file-card__photo[style] {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-bottom: var(--wp--preset--spacing--20, 0.5rem) !important;
  overflow: hidden !important;
}

.etp-file-card__photo img,
.etp-file-card__photo picture,
.etp-file-card__photo picture img {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.etp-file-card__photo + .etp-file-card__no,
.etp-file-card__photo + p.etp-file-card__no {
  margin-block-start: var(--wp--preset--spacing--20, 0.5rem) !important;
  margin-top: var(--wp--preset--spacing--20, 0.5rem) !important;
}

/* ETP Theme 1.1.19 — apply compact image/body treatment to registry listing cards, not only latest file cards. */
.etp-listings-grid .etp-pet.etp-pet--dynamic > .etp-pet__photo,
.etp-listings-grid .etp-pet > a.etp-pet__photo,
.etp-pet.etp-pet--dynamic > .etp-pet__photo,
.etp-pet > a.etp-pet__photo {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

.etp-listings-grid .etp-pet.etp-pet--dynamic > .etp-pet__photo > img,
.etp-listings-grid .etp-pet > a.etp-pet__photo > img,
.etp-pet.etp-pet--dynamic > .etp-pet__photo > img,
.etp-pet > a.etp-pet__photo > img,
.etp-pet__photo picture,
.etp-pet__photo picture img {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.etp-listings-grid .etp-pet.etp-pet--dynamic > .etp-pet__body,
.etp-listings-grid .etp-pet > .etp-pet__body,
.etp-pet.etp-pet--dynamic > .etp-pet__body,
.etp-pet > .etp-pet__body {
  padding-top: var(--wp--preset--spacing--20, 0.5rem) !important;
}

.etp-listings-grid .etp-pet .etp-pet__body > .etp-pet__no,
.etp-pet .etp-pet__body > .etp-pet__no {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}


/* ETP 1.1.20 / Core 0.2.15 — correct target: homepage registry cards only.
   These rules intentionally avoid .etp-file-card so the hero/latest-listing card is not affected. */
section.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet,
.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet,
body.home .etp-listings-grid.etp-listings-grid--dynamic .etp-pet,
body.front-page .etp-listings-grid.etp-listings-grid--dynamic .etp-pet {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

section.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo,
.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo,
body.home .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo,
body.front-page .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo {
  aspect-ratio: 1 / 1 !important;
  border: 0 !important;
  border-top-left-radius: var(--etp-radius-md, 8px) !important;
  border-top-right-radius: var(--etp-radius-md, 8px) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  display: block !important;
  flex: 0 0 auto !important;
  height: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

section.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo > img,
.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo > img,
body.home .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo > img,
body.front-page .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > a.etp-pet__photo > img {
  aspect-ratio: 1 / 1 !important;
  border-radius: 0 !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}

section.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body,
.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body,
body.home .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body,
body.front-page .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body {
  padding-top: var(--wp--preset--spacing--20, 0.5rem) !important;
}

section.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body > .etp-pet__no,
.etp-listings .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body > .etp-pet__no,
body.home .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body > .etp-pet__no,
body.front-page .etp-listings-grid.etp-listings-grid--dynamic .etp-pet > .etp-pet__body > .etp-pet__no {
  margin: 0 !important;
}


/* ETP 1.1.20 — restore hero/latest file-card image treatment; the compact bottom-radius change belongs only to the registry grid cards above. */
.etp-file-card__photo,
.etp-file-card__photo[style] {
  border-radius: var(--etp-radius-md, 8px) !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
}

.etp-file-card__photo img,
.etp-file-card__photo picture,
.etp-file-card__photo picture img {
  border-radius: 0 !important;
}

/* ETP Surface Layout editor/front-end helpers. */
.etp-surface-custom {
	box-sizing: border-box;
}

.etp-surface-custom.alignfull,
.etp-surface-custom.alignwide {
	box-sizing: border-box;
}

