/*
 * Breeders gallery — [breeders] shortcode / Our Breeders page.
 *
 * Builds on the shared `.video-card*` treatment in
 * add-ons/theme-polish/theme-polish.css (hover-lift, brand-colored play button,
 * focus-within ring). Only breeder-specific badges + the video-less placeholder
 * live here. Colors key off the theme's brand tokens (--bs-primary #CF5B1F and
 * the --ui-* set) with hard fallbacks.
 */

.breeders-gallery {
	margin-block: 0;
}

/* Trust badges ----------------------------------------------------------- */
.breeder-card__badges {
	line-height: 1;
}

.breeder-badge {
	display: inline-flex;
	align-items: center;
	gap: .3em;
	padding: .4em .66em;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	border-radius: 999px;
	color: #fff;
}

.breeder-badge .bi {
	font-size: .95em;
}

.breeder-badge--ccc  { background: var( --bs-success, #566c10 ); }
.breeder-badge--usda { background: var( --ui-primary, var( --bs-primary, #cf5b1f ) ); }
.breeder-badge--akc  { background: var( --ui-ink, #0f172a ); }

/* Card body -------------------------------------------------------------- */
.breeder-card__name {
	line-height: 1.3;
}

.breeder-card__loc {
	margin-bottom: .5rem;
}

.breeder-card__loc .bi {
	color: var( --ui-primary, var( --bs-primary, #cf5b1f ) );
}

.breeder-card__actions .btn {
	text-transform: uppercase;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .02em;
}

/* Make the whole video thumbnail one click target: the media + its children are
   transparent to pointer events so a click always resolves to the wrapping
   <a href="#video"> anchor (belt-and-suspenders alongside the JS closest() fix,
   so the modal opens AND the iframe src is set no matter where you click). */
.breeder-card .video-card__media,
.breeder-card .video-card__media * {
	pointer-events: none;
}

/* Video-less placeholder ------------------------------------------------- */
.breeder-card__placeholder {
	background: linear-gradient( 135deg, var( --ui-primary, #cf5b1f ) 0%, #b91c2e 100% );
}

.breeder-card__placeholder-icon {
	display: grid;
	place-items: center;
	color: rgba( 255, 255, 255, .92 );
	font-size: 2.6rem;
	line-height: 1;
}

.breeder-card__placeholder-icon .bi {
	filter: drop-shadow( 0 2px 6px rgba( 0, 0, 0, .25 ) );
}

/* =========================================================================
   OUR BREEDERS PAGE — section layout (banner-breeders / content-breeders).
   The gallery-card component is styled above; these rules style the designed
   page sections around it. Brand tokens: --bs-primary #CF5B1F + the --ui-* set.
   ========================================================================= */

/* Hero + stat band -------------------------------------------------------- */
body.page .breeders-hero.page-hero {
	overflow: visible;              /* let the stat-band shadow show */
	padding-bottom: 2.5rem;
}

.breeders-stats {
	list-style: none;
	margin: 1.75rem 0 0;
	padding: 1.25rem 1rem;
	display: grid;
	grid-template-columns: repeat( 5, 1fr );
	gap: 1rem;
	background: #fff;
	border: 1px solid var( --ui-border, #e2e8f0 );
	border-radius: var( --ui-radius, 14px );
	box-shadow: var( --ui-shadow, 0 4px 14px rgba( 15, 23, 42, .08 ) );
}
.breeders-stats__item {
	text-align: center;
	padding: .25rem .5rem;
	border-left: 1px solid var( --ui-border, #e2e8f0 );
}
.breeders-stats__item:first-child { border-left: 0; }
.breeders-stats__value {
	display: block;
	font-size: clamp( 1.4rem, 2.4vw, 2rem );
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var( --bs-primary, #CF5B1F );
}
.breeders-stats__label {
	display: block;
	margin-top: .35rem;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var( --ui-ink-soft, #475569 );
}
@media ( max-width: 767.98px ) {
	.breeders-stats { grid-template-columns: repeat( 2, 1fr ); gap: .75rem; }
	.breeders-stats__item:nth-child( odd ) { border-left: 0; }
	.breeders-stats__item:last-child:nth-child( odd ) { grid-column: 1 / -1; }
}

/* Section rhythm ---------------------------------------------------------- */
.breeders-standards,
.breeders-approach,
.breeders-ccc { padding-block: clamp( 2.5rem, 6vw, 4.5rem ); }
.breeders-section { padding-block: clamp( 1.75rem, 4vw, 3rem ); }

.breeders-standards p,
.breeders-approach p,
.breeders-ccc p { color: var( --ui-ink-soft, #475569 ); line-height: 1.7; }

/* Editorial sections use LEFT-aligned headings, flush to the top of the row.
   The theme's `.section-title` (style.css) is CENTERED with ~56px top padding, a
   large bottom margin, and an absolutely-positioned CENTERED accent bar — so we
   override the padding/margins/alignment and re-anchor the ::after bar to the
   left. !important mirrors the theme's own About/Financing section overrides. */
.breeders-standards .section-title,
.breeders-approach .section-title {
	text-align: left !important;
	padding-top: 0 !important;
	padding-bottom: 1rem !important;
	margin-top: 0 !important;
	margin-bottom: 1.5rem !important;
}
.breeders-standards .section-title::after,
.breeders-approach .section-title::after {
	left: 0 !important;
	transform: none !important;
	bottom: 0 !important;
}

/* Standards — two-up: copy + a sticky "standards" card -------------------- */
.breeders-standards__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: clamp( 1.5rem, 4vw, 3.5rem );
	align-items: start;
}
.breeders-standards__aside {
	background: linear-gradient( 180deg, #fffdfb 0%, #fdf4ee 100% );
	border: 1px solid #f3e2d6;
	border-radius: var( --ui-radius, 14px );
	padding: 1.5rem;
	box-shadow: var( --ui-shadow-sm, 0 1px 3px rgba( 15, 23, 42, .08 ) );
	position: sticky;
	top: 1.5rem;
}
.breeders-standards__aside-title {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 1rem;
	font-weight: 800;
	color: var( --ui-ink, #0f172a );
}
.breeders-standards__aside-title .bi { color: var( --bs-primary, #CF5B1F ); font-size: 1.15rem; }
.breeders-standards__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.breeders-standards__list li {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	font-weight: 600;
	line-height: 1.35;
	color: var( --ui-ink, #0f172a );
}
.breeders-standards__list .bi {
	flex: none;
	margin-top: .1rem;
	font-size: 1.05rem;
	color: var( --bs-primary, #CF5B1F );
}
@media ( max-width: 767.98px ) {
	.breeders-standards__grid { grid-template-columns: 1fr; }
	.breeders-standards__aside { position: static; }
}

/* Approach — two-up: heading (left) + narrative (right) on a soft warm band.
   The heading column and body are the two direct children of `.container`, so
   the container itself is the grid (no extra wrapper needed). */
.breeders-approach {
	background: linear-gradient( 180deg, #fdfdfd 0%, #faf3ef 100% );
	border-block: 1px solid #f3e7df;
}
.breeders-approach .container {
	display: grid;
	grid-template-columns: 1fr 1.7fr;
	gap: clamp( 1.5rem, 4vw, 3.5rem );
	align-items: start;
}
.breeders-approach__head {
	position: sticky;
	top: 1.5rem;
}
.breeders-approach__kicker {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-bottom: .6rem;
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var( --bs-primary, #CF5B1F );
}
.breeders-approach__body p:last-child { margin-bottom: 0; }
@media ( max-width: 767.98px ) {
	.breeders-approach .container { display: block; }
	.breeders-approach__head { position: static; margin-bottom: 1.25rem; }
}

/* Gallery heading --------------------------------------------------------- */
.breeders-section__head { margin-bottom: 1.75rem; }
.breeders-section__intro { max-width: 640px; }

/* Canine Care Certified callout ------------------------------------------- */
.breeders-ccc__panel {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp( 1.25rem, 3vw, 2rem );
	align-items: start;
	padding: clamp( 1.5rem, 4vw, 2.75rem );
	border-radius: var( --ui-radius, 14px );
	background: linear-gradient( 135deg, #4f6410 0%, #34440a 100% );
	color: #fff;
	box-shadow: var( --ui-shadow-lift, 0 10px 25px -8px rgba( 15, 23, 42, .15 ) );
}
.breeders-ccc__icon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: rgba( 255, 255, 255, .15 );
	font-size: 1.9rem;
	color: #fff;
}
.breeders-ccc__heading { margin: 0 0 1rem; font-weight: 800; }
.breeders-ccc__content p { color: rgba( 255, 255, 255, .9 ); }
.breeders-ccc__content .btn { margin-top: .5rem; }
@media ( max-width: 575.98px ) {
	.breeders-ccc__panel { grid-template-columns: 1fr; }
}

/* Final CTA --------------------------------------------------------------- */
.breeders-cta { padding-block: clamp( 2.5rem, 6vw, 4rem ); }
.breeders-cta__inner { max-width: 640px; margin-inline: auto; text-align: center; }
.breeders-cta__title { margin-bottom: .5rem; font-weight: 800; color: var( --ui-ink, #0f172a ); }
.breeders-cta__text { margin-bottom: 1.25rem; color: var( --ui-ink-soft, #475569 ); }
