.ff-fish-status,
.ff-fish-card-status {
	background: #7dd8d0;
	border-radius: 999px;
	color: #071a1d;
	display: inline-block;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 0.55rem 0.78rem;
	text-transform: uppercase;
}

.ff-fish-card-status {
	left: 0.8rem;
	position: absolute;
	top: 0.8rem;
	z-index: 4;
}

.ff-fish-status--sold,
.ff-fish-status--sale_pending { background: #e63b2e; color: #fff; }
.ff-fish-status--conditioning,
.ff-fish-status--coming_soon { background: #f7f2e8; border: 1px solid rgba(7, 26, 29, 0.2); }

.ff-sale-format-badge {
	background: #071a1d;
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: 999px;
	box-shadow: 0 3px 12px rgba(7, 26, 29, 0.18);
	color: #fff;
	display: inline-block;
	font-size: 0.66rem;
	font-weight: 900;
	left: 0.7rem;
	letter-spacing: 0.055em;
	line-height: 1.15;
	max-width: calc(100% - 1.4rem);
	padding: 0.52rem 0.68rem;
	position: absolute;
	top: 0.7rem;
	text-transform: uppercase;
	z-index: 5;
}
.ff-sale-format-badge--group { background: #1d6864; }
.ff-sale-format-badge--plant { background: #3f6d3e; }
.ff-sale-format-badge--accessory { background: #37566b; }
.ff-sale-format-badge + .ff-fish-card-status { top: 3.25rem; }

.ff-purchase-format {
	background: #eff9f7;
	border: 1px solid #8fcfc8;
	border-left: 6px solid #1d6864;
	border-radius: 13px;
	clear: both;
	display: grid;
	gap: 0.28rem;
	margin: 0.2rem 0 0.85rem;
	padding: 0.85rem 1rem;
}
.ff-purchase-format strong { color: #0d3335; font-size: 0.9rem; line-height: 1.3; }
.ff-purchase-format span { color: #46615f; font-size: 0.82rem; line-height: 1.48; }
.ff-purchase-format--exact { background: #fff2ef; border-color: #f2aaa2; border-left-color: #e84b3d; }
.ff-purchase-format--standard { background: #f1f6f8; border-color: #b9ccd5; border-left-color: #37566b; }

.ff-product-collection-empty {
	background: rgba(255, 255, 255, 0.68);
	border: 1px dashed rgba(7, 26, 29, 0.22);
	border-radius: 14px;
	color: #4f6664;
	margin: 1.25rem 0 0;
	padding: 1.25rem;
	text-align: center;
}

.ff-product-collection ul.products {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}
.ff-product-collection ul.products.columns-1 { grid-template-columns: minmax(0, 1fr); }
.ff-product-collection ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ff-product-collection ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ff-product-collection ul.products::before,
.ff-product-collection ul.products::after { content: none; display: none; }
.ff-product-collection ul.products li.product {
	background: #fff;
	border: 1px solid rgba(7, 26, 29, 0.14);
	border-radius: 15px;
	box-shadow: 0 8px 24px rgba(7, 26, 29, 0.06);
	float: none;
	margin: 0;
	overflow: hidden;
	padding: 0 0 1rem;
	position: relative;
	width: auto;
}
.ff-product-collection ul.products li.product > a { display: block; }
.ff-product-collection ul.products li.product img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	margin: 0;
	object-fit: cover;
	width: 100%;
}
.ff-product-collection ul.products li.product .woocommerce-loop-product__title,
.ff-product-collection ul.products li.product .price,
.ff-product-collection ul.products li.product .button {
	margin-left: 1rem;
	margin-right: 1rem;
}
.ff-product-collection ul.products li.product .woocommerce-loop-product__title {
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.2;
	margin-top: 1rem;
}
.ff-product-collection ul.products li.product .button { margin-top: 0.75rem; }

@media (max-width: 781px) {
	.ff-product-collection ul.products,
	.ff-product-collection ul.products.columns-3,
	.ff-product-collection ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
	.ff-product-collection ul.products,
	.ff-product-collection ul.products.columns-2,
	.ff-product-collection ul.products.columns-3,
	.ff-product-collection ul.products.columns-4 { grid-template-columns: minmax(0, 1fr); }
}

.ff-fish-details {
	border-top: 1px solid rgba(7, 26, 29, 0.14);
	clear: both;
	margin-top: 1.75rem;
	padding-top: 1.5rem;
}

.ff-fish-details__header h2 { font-size: clamp(1.3rem, 2vw, 1.8rem); margin-bottom: 1rem; }

.ff-fish-details__header > p:last-child { color: #5d706f; margin: -0.55rem 0 1.25rem; }
.ff-fish-details__eyebrow { color: #cf3d35; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.12em; margin: 0 0 0.35rem; text-transform: uppercase; }
.ff-fish-sample-note { background: #fff4d6; border: 1px solid #e5c76e; border-radius: 12px; color: #4d3c13; margin: 0 0 1rem; padding: 0.8rem 1rem; }

.ff-fish-tabs { border: 1px solid rgba(7, 26, 29, 0.14); border-radius: 16px; overflow: hidden; }
.ff-fish-tabs__nav { background: #eef5f4; display: flex; gap: 0.25rem; overflow-x: auto; padding: 0.4rem; }
.ff-fish-tabs__nav button { background: transparent; border: 0; border-radius: 10px; color: #46615f; cursor: pointer; flex: 1 0 auto; font: inherit; font-size: 0.82rem; font-weight: 800; padding: 0.7rem 0.85rem; }
.ff-fish-tabs__nav button:hover { background: rgba(255, 255, 255, 0.72); color: #10282b; }
.ff-fish-tabs__nav button[aria-selected="true"] { background: #fff; box-shadow: 0 2px 9px rgba(7, 26, 29, 0.1); color: #10282b; }
.ff-fish-tabs__nav button:focus-visible { outline: 3px solid #7dd8d0; outline-offset: -2px; }
.ff-fish-tabs__panel { background: #fff; min-height: 11.5rem; padding: 1rem 1.1rem; }
.ff-fish-tabs__panel[hidden] { display: none; }
.ff-fish-tabs__panel--adult { background: #f2faf8; }
.ff-fish-tabs__panel dl {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.ff-fish-fact {
	border-bottom: 1px solid rgba(7, 26, 29, 0.12);
	padding: 0.8rem 0;
}

.ff-fish-fact:nth-child(odd) { padding-right: 1rem; }
.ff-fish-fact dt { color: #5d706f; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ff-fish-fact dd { color: #10282b; margin: 0.25rem 0 0; }
.ff-fish-tabs__panel--adult .ff-fish-fact:nth-last-child(-n+2),
.ff-fish-tabs__panel--care .ff-fish-fact { grid-column: 1 / -1; padding-right: 0; }

.ff-parent-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ff-parent-catalog { margin: clamp(1.5rem, 3vw, 2.75rem) auto 0; max-width: 1480px; width: 100%; }
.ff-parent-catalog__intro { align-items: center; background: #062a2d; border-radius: 22px; color: #fff; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: clamp(1.4rem, 3vw, 2.5rem); position: relative; }
.ff-parent-catalog__intro::after { background: radial-gradient(circle, rgba(77, 203, 195, 0.22) 0 2px, transparent 2.5px); background-size: 18px 18px; content: ''; inset: 0 0 0 55%; opacity: 0.6; pointer-events: none; position: absolute; }
.ff-parent-catalog__intro > * { position: relative; z-index: 1; }
.ff-parent-catalog__intro h2 { color: #fff; font-size: clamp(1.75rem, 3.2vw, 3rem); margin: 0 0 0.55rem; }
.ff-parent-catalog__intro p { color: #d7ebe9; margin: 0; max-width: 52rem; }
.ff-parent-catalog__eyebrow { color: #ff897c !important; font-size: 0.76rem; font-weight: 850; letter-spacing: 0.13em; margin-bottom: 0.55rem !important; text-transform: uppercase; }
.ff-parent-catalog__stat { align-items: center; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); border-radius: 16px; display: flex; flex: 0 0 auto; flex-direction: column; min-width: 150px; padding: 1rem 1.25rem; text-align: center; }
.ff-parent-catalog__stat strong { color: #6ed9d1; font-family: Georgia, serif; font-size: 2.4rem; line-height: 1; }
.ff-parent-catalog__stat span { font-size: 0.78rem; font-weight: 750; margin-top: 0.35rem; }
.ff-parent-filters { align-items: end; background: #fff; border: 1px solid rgba(7, 26, 29, 0.13); border-radius: 18px; box-shadow: 0 12px 35px rgba(7, 26, 29, 0.07); display: grid; gap: 0.8rem; grid-template-columns: minmax(190px, 1.35fr) repeat(4, minmax(135px, 1fr)) auto; margin: 1rem 0 0; padding: 1rem; }
.ff-parent-filter label { color: #365452; display: block; font-size: 0.7rem; font-weight: 850; letter-spacing: 0.06em; margin: 0 0 0.35rem; text-transform: uppercase; }
.ff-parent-filter input,
.ff-parent-filter select { background-color: #fbfaf4; border: 1px solid #bccbc9; border-radius: 10px; box-sizing: border-box; color: #10282b; font: inherit; font-size: 0.88rem; height: 44px; margin: 0; padding: 0 0.75rem; width: 100%; }
.ff-parent-filter input:focus,
.ff-parent-filter select:focus { border-color: #147c79; box-shadow: 0 0 0 3px rgba(20, 124, 121, 0.15); outline: 0; }
.ff-parent-filters__reset { background: transparent; border: 0; color: #b92b22; cursor: pointer; font-size: 0.78rem; font-weight: 800; height: 44px; padding: 0 0.35rem; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.ff-parent-results { align-items: center; color: #536b69; display: flex; font-size: 0.84rem; gap: 0.6rem; justify-content: space-between; margin: 1rem 0 0; }
.ff-parent-results strong { color: #10282b; }
.ff-parent-directory { display: grid; gap: clamp(1rem, 2vw, 1.4rem); grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1rem; }
.ff-parent-directory-empty { background: #fff; border: 1px solid rgba(7, 26, 29, 0.14); border-radius: 16px; margin: 2rem auto 0; max-width: 46rem; padding: 2rem; text-align: center; }
.ff-parent-card { background: #fff; border: 1px solid rgba(7, 26, 29, 0.12); border-radius: 16px; box-shadow: 0 5px 18px rgba(7, 26, 29, 0.045); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: box-shadow 180ms ease, transform 180ms ease; }
.ff-parent-card:hover { box-shadow: 0 14px 32px rgba(7, 26, 29, 0.12); transform: translateY(-3px); }
.ff-parent-card[hidden] { display: none; }
.ff-parent-card__media { background: #062a2d; display: block; overflow: hidden; position: relative; }
.ff-parent-card__image { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: cover; transition: transform 250ms ease; width: 100%; }
.ff-parent-card:hover .ff-parent-card__image { transform: scale(1.025); }
.ff-parent-card__role { background: rgba(6, 42, 45, 0.9); border-radius: 999px; bottom: 0.7rem; color: #fff; font-size: 0.66rem !important; font-weight: 850; left: 0.7rem; letter-spacing: 0.08em; padding: 0.38rem 0.58rem; position: absolute; text-transform: uppercase; }
.ff-parent-card__body { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.ff-parent-card__heading { align-items: flex-start; display: flex; gap: 0.5rem; justify-content: space-between; }
.ff-parent-card__body h3 { font-size: clamp(1.25rem, 1.7vw, 1.55rem); line-height: 1.05; margin: 0; }
.ff-parent-card__body h3 a { color: #10282b; text-decoration: none; }
.ff-parent-card__body p { font-size: 0.86rem; line-height: 1.5; margin: 0 0 0.55rem; }
.ff-parent-card__status { background: #edf7f5; border-radius: 999px; color: #12635f; flex: 0 0 auto; font-size: 0.62rem; font-weight: 800; line-height: 1; padding: 0.4rem 0.5rem; text-transform: uppercase; }
.ff-parent-card__status--conditioning { background: #fff3db; color: #825914; }
.ff-parent-card__status--retired { background: #edf0ef; color: #53615f; }
.ff-parent-card__type { color: #b92b22; font-size: 0.72rem !important; font-weight: 850; letter-spacing: 0.045em; margin-top: 0.65rem !important; text-transform: uppercase; }
.ff-parent-card__line { color: #526765; }
.ff-parent-card__summary { color: #365452; }
.ff-parent-card__link { align-self: flex-start; color: #b92b22; font-size: 0.8rem; font-weight: 850; margin-top: auto; padding-top: 0.45rem; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ff-parent-no-results { background: #fff; border: 1px dashed #9eb2b0; border-radius: 16px; margin-top: 1rem; padding: 2.5rem 1rem; text-align: center; }
.ff-parent-no-results h3 { margin: 0 0 0.5rem; }
.ff-parent-no-results p { margin: 0 0 1rem; }
.ff-parent-no-results button { background: #c92f24; border: 0; border-radius: 999px; color: #fff; cursor: pointer; font: inherit; font-size: 0.85rem; font-weight: 800; padding: 0.7rem 1rem; }
.ff-parent-profile-details { border-top: 1px solid rgba(7, 26, 29, 0.14); margin-top: 2rem; padding-top: 1.5rem; }
.ff-parent-profile-summary { color: #365452; font-size: 1.15rem; line-height: 1.6; }
.ff-parent-profile-details dl { display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ff-parent-fact { border-bottom: 1px solid rgba(7, 26, 29, 0.12); padding: 0.75rem 1rem 0.75rem 0; }
.ff-parent-fact dt { color: #5d706f; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ff-parent-fact dd { margin: 0.2rem 0 0; }
.ff-parent-profile-gallery { border-top: 1px solid rgba(7, 26, 29, 0.14); margin-top: 2rem; padding-top: 1.5rem; }
.ff-parent-profile-gallery__grid { display: grid; gap: 0.8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ff-parent-profile-gallery__grid img { aspect-ratio: 4 / 3; border-radius: 12px; display: block; height: 100%; object-fit: cover; width: 100%; }
.ff-parent-profile-video { border-top: 1px solid rgba(7, 26, 29, 0.14); margin-top: 2rem; padding-top: 1.5rem; }
.ff-parent-profile-video .wp-video { max-width: 58rem; width: 100% !important; }
.ff-parent-profile-video video { border-radius: 14px; height: auto; width: 100%; }

/* Individual parent fish profiles */
.single-breeder_parent main.wp-block-group {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1040px;
	padding-left: clamp(1rem, 4vw, 2.5rem);
	padding-right: clamp(1rem, 4vw, 2.5rem);
	width: 100%;
}
.single-breeder_parent main.wp-block-group > .ff-eyebrow { text-align: center; }
.single-breeder_parent .wp-block-post-title {
	font-size: clamp(2rem, 4vw, 3.6rem) !important;
	line-height: 1.05;
	margin: 0 auto 1.25rem;
	max-width: 980px;
	text-align: center;
}
.single-breeder_parent .wp-block-post-featured-image {
	background: #061f23;
	border-radius: 20px;
	box-shadow: 0 16px 40px rgba(7, 26, 29, 0.14);
	box-sizing: border-box;
	margin: 1.25rem auto 2rem !important;
	max-width: 820px;
	overflow: hidden;
	padding: clamp(0.35rem, 1vw, 0.75rem);
	width: 100%;
}
.single-breeder_parent .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	border-radius: 14px !important;
	display: block;
	height: auto !important;
	max-height: 540px;
	object-fit: contain !important;
	width: 100% !important;
	cursor: zoom-in;
}
.single-breeder_parent .entry-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 860px;
	width: 100%;
}
.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) {
	align-items: start;
	display: grid;
	gap: 0 1.5rem;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}
.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) > .ff-parent-profile-summary,
.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) > .ff-parent-profile-details {
	grid-column: 1 / -1;
}
.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) > .ff-parent-profile-gallery {
	grid-column: 1;
}
.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) > .ff-parent-profile-video {
	grid-column: 2;
}
.single-breeder_parent .ff-parent-profile-summary {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	margin: 0 0 1.5rem;
	text-align: center;
}
.single-breeder_parent .ff-parent-profile-details,
.single-breeder_parent .ff-parent-profile-gallery,
.single-breeder_parent .ff-parent-profile-video {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
}
.single-breeder_parent .ff-parent-profile-details h2,
.single-breeder_parent .ff-parent-profile-gallery h2,
.single-breeder_parent .ff-parent-profile-video h2 {
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	margin: 0 0 1rem;
	text-align: center;
}
.single-breeder_parent .ff-parent-profile-details dl {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.single-breeder_parent .ff-parent-fact {
	padding: 0.75rem 1rem 0.75rem 0;
}
.single-breeder_parent .ff-parent-fact:last-child { grid-column: 1 / -1; }
.single-breeder_parent .ff-parent-fact dd {
	font-size: 0.96rem;
	line-height: 1.5;
}
.single-breeder_parent .ff-parent-profile-gallery__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-left: auto;
	margin-right: auto;
	max-width: 760px;
}
.single-breeder_parent .ff-parent-profile-gallery__grid a {
	background: #061f23;
	border-radius: 14px;
	display: block;
	overflow: hidden;
}
.single-breeder_parent .ff-parent-profile-gallery__grid img {
	aspect-ratio: 1 / 1;
	height: 100%;
	object-fit: contain;
}
.single-breeder_parent .ff-parent-profile-video .wp-video {
	background: #061f23;
	border-radius: 14px;
	max-width: 820px;
	overflow: hidden;
	transition: max-width 180ms ease;
}
.single-breeder_parent .ff-parent-profile-video video {
	aspect-ratio: auto;
	background: #061f23;
	display: block;
	height: auto !important;
	object-fit: contain;
}
.single-breeder_parent .ff-parent-profile-video.is-landscape .wp-video { margin-left: auto; margin-right: auto; max-width: 760px; }
.single-breeder_parent .ff-parent-profile-video.is-portrait .wp-video { margin-left: auto; margin-right: auto; max-width: 320px; }
.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) .ff-parent-profile-video.is-portrait .wp-video { max-width: 280px; }
.single-breeder_parent .ff-parent-profile-video .mejs-container,
.single-breeder_parent .ff-parent-profile-video .mejs-inner,
.single-breeder_parent .ff-parent-profile-video .mejs-mediaelement { max-width: 100%; }
.single-breeder_parent .ff-parent-profile-video .mejs-container { height: auto !important; width: 100% !important; }
.single-breeder_parent .ff-parent-profile-video.is-landscape .mejs-container { aspect-ratio: 16 / 9; }
.single-breeder_parent .ff-parent-profile-video.is-portrait .mejs-container { aspect-ratio: 9 / 16; }
.single-breeder_parent .ff-parent-profile-video .mejs-inner { height: 100%; inset: 0; position: absolute; width: 100%; }
.single-breeder_parent main.wp-block-group > .wp-block-paragraph:last-child { text-align: center; }

.ff-lightbox-open { overflow: hidden; }
.ff-parent-lightbox[hidden] { display: none; }
.ff-parent-lightbox {
	align-items: center;
	background: rgba(2, 15, 18, 0.88);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: clamp(1rem, 4vw, 3rem);
	position: fixed;
	z-index: 100000;
}
.ff-parent-lightbox__dialog {
	align-items: center;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-rows: auto minmax(0, 1fr);
	height: min(88vh, 900px);
	max-width: 1100px;
	position: relative;
	width: min(92vw, 1100px);
}
.ff-parent-lightbox__image {
	border-radius: 14px;
	grid-column: 2;
	grid-row: 1 / 3;
	max-height: 88vh;
	max-width: 100%;
	object-fit: contain;
	place-self: center;
}
.ff-parent-lightbox button {
	align-items: center;
	background: rgba(255, 255, 255, 0.94);
	border: 0;
	border-radius: 999px;
	color: #062126;
	cursor: pointer;
	display: flex;
	font-size: 2rem;
	height: 44px;
	justify-content: center;
	line-height: 1;
	width: 44px;
}
.ff-parent-lightbox__close { grid-column: 3; grid-row: 1; justify-self: end; position: absolute; right: 0; top: 0; z-index: 2; }
.ff-parent-lightbox__previous { grid-column: 1; grid-row: 2; margin-right: 0.75rem; }
.ff-parent-lightbox__next { grid-column: 3; grid-row: 2; margin-left: 0.75rem; }

.ff-fish-video__frame { aspect-ratio: 16 / 9; border-radius: 18px; margin-left: auto; margin-right: auto; max-width: 760px; overflow: hidden; width: 100%; }
.ff-fish-video__frame.is-portrait { aspect-ratio: 9 / 16; max-width: 360px; }
.ff-fish-video__frame.is-landscape { aspect-ratio: 16 / 9; max-width: 760px; }
.ff-fish-video__frame .wp-video { position: relative; }
.ff-fish-video__frame .wp-video,
.ff-fish-video__frame .mejs-container,
.ff-fish-video__frame .mejs-inner,
.ff-fish-video__frame .mejs-mediaelement { height: 100% !important; max-width: 100%; width: 100% !important; }
.ff-fish-video__frame .mejs-container { position: relative; }
.ff-fish-video__frame .mejs-inner,
.ff-fish-video__frame .mejs-mediaelement { inset: 0; position: absolute; }
.ff-fish-video__frame iframe,
.ff-fish-video__frame video { height: 100% !important; inset: 0; object-fit: contain; position: absolute; width: 100% !important; }

@media (max-width: 640px) {
	.ff-fish-tabs__nav button { font-size: 0.76rem; padding: 0.65rem 0.7rem; }
	.ff-fish-tabs__panel { min-height: 0; }
	.ff-fish-tabs__panel dl { grid-template-columns: 1fr; }
	.ff-fish-fact { grid-column: 1 !important; }
	.ff-fish-fact:nth-child(odd) { padding-right: 0; }
	.ff-parent-grid,
	.ff-parent-directory,
	.ff-parent-profile-details dl { grid-template-columns: 1fr; }
	.ff-parent-catalog__intro { align-items: flex-start; border-radius: 16px; flex-direction: column; gap: 1rem; }
	.ff-parent-catalog__stat { align-items: baseline; flex-direction: row; gap: 0.5rem; min-width: 0; padding: 0.7rem 0.9rem; }
	.ff-parent-catalog__stat strong { font-size: 1.75rem; }
	.ff-parent-filters { grid-template-columns: 1fr; padding: 0.85rem; }
	.ff-parent-filters__reset { justify-self: start; }
	.ff-parent-results { align-items: flex-start; flex-direction: column; gap: 0.15rem; }
	.ff-parent-card__image { aspect-ratio: 16 / 11; }
	.ff-parent-profile-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-breeder_parent .wp-block-post-title { font-size: clamp(1.8rem, 9vw, 2.45rem) !important; }
	.single-breeder_parent .wp-block-post-featured-image { border-radius: 14px; margin-bottom: 1.5rem !important; }
	.single-breeder_parent .wp-block-post-featured-image img { aspect-ratio: 1 / 1; border-radius: 10px !important; max-height: none; }
	.single-breeder_parent .ff-parent-profile-details dl { grid-template-columns: 1fr; }
	.single-breeder_parent .ff-parent-profile-gallery__grid { grid-template-columns: 1fr; }
	.single-breeder_parent .ff-parent-profile-video.is-portrait .wp-video { max-width: min(280px, 100%); }
	.ff-parent-lightbox { padding: 0.75rem; }
	.ff-parent-lightbox__dialog { grid-template-columns: 38px minmax(0, 1fr) 38px; width: 100%; }
	.ff-parent-lightbox button { font-size: 1.6rem; height: 36px; width: 36px; }
	.ff-parent-lightbox__previous { margin-right: 0.2rem; }
	.ff-parent-lightbox__next { margin-left: 0.2rem; }
	.ff-fish-video__frame.is-portrait { max-width: min(300px, 100%); }
}

@media (max-width: 820px) {
	.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) { display: block; }
	.single-breeder_parent .entry-content:has(.ff-parent-profile-gallery) .ff-parent-profile-video.is-portrait .wp-video { max-width: min(280px, 100%); }
}

@media (min-width: 641px) and (max-width: 820px) {
	.ff-parent-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ff-parent-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ff-parent-filter--search { grid-column: 1 / -1; }
}

@media (min-width: 821px) and (max-width: 1180px) {
	.ff-parent-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ff-parent-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ff-parent-filter--search { grid-column: span 2; }
}

@media (min-width: 1024px) {
	.single-breeder_parent main.wp-block-group { max-width: none; width: 100%; }
	.single-breeder_parent .wp-block-post-title { max-width: 1280px; }
	.single-breeder_parent .wp-block-post-featured-image { max-width: 1100px; }
	.single-breeder_parent .entry-content { max-width: 1200px; }
}
