/* A–Z breed directory: isolated from the homepage and article templates. */
.astra-child-breeds-directory { background: #fff; }
.astra-child-breeds-directory #content > .ast-container { display: block; max-width: none; padding: 0; }
.astra-child-breeds-directory #content #primary { float: none; width: 100%; margin: 0; padding: 0; border: 0; }
.astra-child-breeds-directory .main-header-menu > .menu-item > .menu-link { font-family: var(--ac-sans); font-size: 16px; font-weight: 750; text-transform: capitalize; }
.cb-breeds, .cb-breeds * { box-sizing: border-box; }
.cb-breeds { --breed-purple: #5c4bc4; --breed-pale: #f0edff; background: #fff; color: #181b20; font-family: var(--ac-sans); }
.cb-breeds-wrap { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.cb-breeds-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 340px; background: #f5f2f0; }
.cb-breeds-hero-image { position: absolute; z-index: -2; top: 0; right: 0; width: 70%; height: 100%; object-fit: cover; object-position: center 46%; mask-image: linear-gradient(90deg, transparent, #000 28%); }
.cb-breeds-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #f5f2f0 13%, rgba(245,242,240,.95) 33%, rgba(245,242,240,.25) 55%, transparent 75%); content: ''; }
.cb-breeds-hero-inner { display: flex; min-height: 340px; align-items: center; padding-block: 44px 64px; }
.cb-breeds-intro { max-width: 480px; }
.cb-breeds-kicker { margin: 0 0 17px; color: #575766; font-size: .7rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.cb-breeds-kicker::after { display: block; width: 36px; height: 3px; margin-top: 12px; background: var(--breed-purple); content: ''; }
.cb-breeds h1 { margin: 0 0 12px; color: #16191e; font-family: var(--ac-sans); font-size: clamp(2.8rem, 5vw, 4.3rem); font-weight: 750; letter-spacing: -.045em; line-height: 1.08; }
.cb-breeds-description { max-width: 425px; margin: 0; color: #525461; font-size: 1rem; line-height: 1.55; }
.cb-breeds-directory { position: relative; padding-bottom: 60px; }
.cb-breeds-index { display: flex; position: relative; z-index: 1; gap: 25px; align-items: center; margin-top: -32px; margin-bottom: 28px; padding: 22px 28px; border-radius: 8px; background: #f0edff; }
.cb-breeds-index-label { flex: 0 0 auto; color: var(--breed-purple); font-size: .94rem; font-weight: 750; }
.cb-breeds-letters { display: flex; flex: 1; flex-wrap: wrap; gap: 5px; }
.cb-breeds-letters > * { display: inline-flex; flex: 1 0 25px; min-height: 38px; align-items: center; justify-content: center; border-radius: 5px; background: #fff; color: var(--breed-purple); font-size: .85rem; line-height: 1; text-decoration: none; }
.cb-breeds-letters > span { background: rgba(255,255,255,.45); color: #7e798e; }
.cb-breeds-letters a:hover, .cb-breeds-letters a[aria-current] { background: var(--breed-purple); color: #fff; }
.cb-breeds a:focus-visible { outline: 2px solid var(--breed-purple); outline-offset: 4px; }
.cb-breeds-group { margin-bottom: 30px; scroll-margin-top: 105px; }
.cb-breeds-group h2 { display: table; min-width: 56px; margin: 0 0 14px; padding-bottom: 4px; border-bottom: 3px solid #7562dd; color: #19191e; font-family: var(--ac-sans); font-size: 2.2rem; font-weight: 750; line-height: 1.1; }
.cb-breeds-group ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 48px; margin: 0; padding: 0; list-style: none; }
.cb-breeds-group li { min-width: 0; line-height: 1.5; }
.cb-breeds-group a { color: var(--breed-purple); font-size: .97rem; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; overflow-wrap: anywhere; }
.cb-breeds-group a:hover { color: #342878; }
@media (max-width: 980px) {
	.cb-breeds-index { flex-direction: column; align-items: stretch; gap: 12px; padding: 20px; }
	.cb-breeds-letters > * { flex: 1 0 34px; }
	.cb-breeds-group ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 24px; }
}
@media (max-width: 600px) {
	.cb-breeds-wrap { width: calc(100% - 32px); }
	.cb-breeds-hero, .cb-breeds-hero-inner { min-height: 355px; }
	.cb-breeds-hero-image { width: 100%; object-position: 60% center; }
	.cb-breeds-hero::after { background: linear-gradient(90deg, rgba(245,242,240,.98), rgba(245,242,240,.88) 50%, rgba(245,242,240,.45)); }
	.cb-breeds-intro { max-width: 90%; }
	.cb-breeds h1 { font-size: 2.9rem; }
	.cb-breeds-index { padding: 18px 14px; }
	.cb-breeds-letters { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
	.cb-breeds-letters > * { min-height: 42px; }
	.cb-breeds-group ul { grid-template-columns: 1fr; gap: 0; }
	.cb-breeds-group a { display: inline-block; padding-block: 7px; }
}
