/* PROGEN - Catálogo de Genética
   Carregar depois de progen.css */
.catalog-hero{position:relative;min-height:285px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--brand-dark)}
.catalog-hero-photo{position:absolute;inset:0;background:url('../images/home/hero-bull.jpg') center 48%/cover no-repeat;filter:saturate(.8)}
.catalog-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,43,47,.96) 0%,rgba(3,43,47,.78) 48%,rgba(3,43,47,.2) 100%)}
.catalog-hero-content{position:relative;z-index:2;padding-top:40px;padding-bottom:40px}
.catalog-hero h1,.compare-page-head h1,.bull-detail-copy h1{font-size:clamp(3rem,5vw,5.4rem)}
.catalog-hero p:last-child{max-width:580px;margin:12px 0 0;font-size:1.05rem;line-height:1.55;color:rgba(255,255,255,.9)}
.breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:28px;font-size:.76rem;color:rgba(255,255,255,.78)}
.breadcrumb a:hover{color:#fff}.breadcrumb strong{color:#fff}.breadcrumb-dark{color:#768184}.breadcrumb-dark strong{color:var(--ink)}.breadcrumb-dark a:hover{color:var(--brand)}
.catalog-tools{padding:42px 0 28px;background:#fff;border-bottom:1px solid #edf1f0}
.catalog-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.catalog-title-row h2{font-size:clamp(2rem,3.2vw,3.3rem)}
.catalog-count{min-width:180px;display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;padding-left:25px;border-left:1px solid var(--line)}.catalog-count strong{grid-row:1/3;font:500 2.7rem Georgia,serif;color:var(--brand)}.catalog-count span{max-width:90px;font-size:.78rem;line-height:1.25;color:var(--muted)}
.catalog-filter{display:grid;grid-template-columns:minmax(280px,1fr) 210px auto;gap:12px;margin-top:26px}.catalog-search{height:52px;display:flex;align-items:center;gap:12px;border:1px solid #ccd9d9;border-radius:8px;padding:0 16px;background:#fff}.catalog-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(7,134,146,.08)}.catalog-search svg{width:23px;color:var(--brand)}.catalog-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
.catalog-sort select{height:52px;width:100%;border:1px solid #ccd9d9;border-radius:8px;padding:0 38px 0 14px;background:#fff;color:#435356;outline:0}.catalog-search-button{min-height:52px}
.catalog-breeds{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.catalog-breeds a{display:inline-flex;gap:8px;align-items:center;padding:9px 16px;border:1px solid #92cbd0;border-radius:999px;font-size:.76rem;color:#28484b;transition:.2s}.catalog-breeds a span{font-size:.65rem;opacity:.6}.catalog-breeds a:hover,.catalog-breeds a.active{background:var(--brand);border-color:var(--brand);color:#fff}
.active-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:.74rem;color:var(--muted)}.active-filter-row strong{padding:6px 10px;border-radius:5px;background:var(--brand-soft);color:var(--brand-dark)}.active-filter-row a{margin-left:auto;color:var(--brand);font-weight:700}
.catalog-listing{padding:28px 0 68px;background:#f8f9f7}.compare-bar{position:sticky;z-index:20;top:86px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;margin-bottom:22px;padding:13px 16px;border:1px solid #b8e2e5;border-radius:9px;background:rgba(233,249,250,.97);box-shadow:0 12px 30px rgba(5,70,76,.08);backdrop-filter:blur(8px)}.compare-bar[hidden]{display:none}.compare-bar-copy{display:flex;align-items:center;gap:12px}.compare-bar-copy strong,.compare-bar-copy small{display:block}.compare-bar-copy strong{font-family:Georgia,serif;font-size:1.08rem}.compare-bar-copy small{margin-top:2px;color:#5f7375}.compare-icon{font-size:1.7rem;color:var(--brand)}.compare-selected{display:flex;gap:8px;flex-wrap:wrap}.compare-chip{display:inline-flex;gap:9px;align-items:center;padding:7px 10px;border:1px solid #b5dadd;border-radius:6px;background:#fff;color:#314a4d;cursor:pointer}.compare-chip b{font-size:1rem;color:var(--brand)}.compare-bar .btn{min-height:43px}.compare-bar .btn:disabled{opacity:.4;cursor:not-allowed}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.catalog-grid-three{grid-template-columns:repeat(3,1fr)}.catalog-card{overflow:hidden;border:1px solid #e5e9e8;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(11,45,48,.05);transition:transform .2s,box-shadow .2s}.catalog-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(11,45,48,.10)}.catalog-card-image{position:relative;aspect-ratio:1.75/1;overflow:hidden;background:#e7ece9}.catalog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.catalog-card:hover .catalog-card-image img{transform:scale(1.025)}.compare-check{position:absolute;top:12px;left:12px;display:flex;gap:7px;align-items:center;padding:7px 9px;border-radius:5px;background:rgba(4,49,52,.76);color:#fff;font-size:.69rem;cursor:pointer;backdrop-filter:blur(6px)}.compare-check input{width:16px;height:16px;accent-color:var(--brand-bright)}.featured-badge{position:absolute;right:12px;top:12px;padding:6px 9px;border-radius:4px;background:#fff;color:var(--brand-dark);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.catalog-card-body{padding:16px}.catalog-breed{margin:0 0 6px;color:#6c7779;text-transform:uppercase;letter-spacing:.22em;font-size:.62rem}.catalog-card h3{font-size:1.55rem;text-transform:uppercase}.catalog-characteristics{list-style:none;margin:12px 0 17px;padding:0;display:grid;gap:5px;color:#667276;font-size:.78rem}.catalog-characteristics li{display:flex;gap:8px;align-items:flex-start}.catalog-characteristics span{color:var(--brand);font-weight:800}.catalog-summary{min-height:45px;margin:11px 0 16px;color:var(--muted);font-size:.82rem;line-height:1.45}
.catalog-pagination{display:flex;justify-content:center;margin-top:38px}.catalog-pagination nav{width:100%}.catalog-pagination nav>div:first-child{display:none}.catalog-pagination nav>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:20px}.catalog-pagination span[aria-current="page"] span{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.catalog-pagination a,.catalog-pagination span{border-color:#d7e0df!important}.catalog-empty{text-align:center;padding:70px 20px;border:1px dashed #cad6d5;border-radius:10px;background:#fff}.catalog-empty>span{font-size:3rem;color:var(--brand)}.catalog-empty h3{font-size:2rem;margin-top:8px}.catalog-empty p{color:var(--muted)}.catalog-empty .btn{margin-top:8px}
.catalog-contact-cta{min-height:220px}
/* Detail */
.bull-detail-hero{padding:45px 0 55px;background:linear-gradient(180deg,#f4f8f7,#fff)}
.bull-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}
.bull-detail-photo{overflow:hidden;border-radius:10px;box-shadow:var(--shadow);background:#dde7e3}
.bull-detail-photo img{width:100%;aspect-ratio:1.4/1;object-fit:cover}
.bull-detail-copy h1{text-transform:uppercase}
.bull-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.bull-meta-item{min-width:145px;padding:10px 13px;border:1px solid #dce6e5;border-radius:7px;background:rgba(255,255,255,.8)}
.bull-meta-item span{display:block;margin-bottom:3px;color:#879294;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.bull-meta-item strong{display:block;color:#34494c;font-size:.88rem;font-weight:700}
.bull-certifications{display:flex;align-items:flex-start;gap:14px;margin:20px 0}
.bull-seal{display:flex;align-items:center;gap:9px;min-height:70px;padding:8px 11px 8px 8px;border:1px solid #dce6e5;border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(11,45,48,.04)}
.bull-seal img{width:56px;height:56px;object-fit:contain;flex:0 0 auto}
.bull-seal span{max-width:90px;color:#45585b;font-size:.7rem;line-height:1.25;font-weight:700}
.bull-detail-summary{max-width:560px;margin:20px 0;color:#546467;font-size:1.02rem;line-height:1.65}
.bull-highlight-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 28px}
.bull-highlight-list span{padding:10px 12px;border-radius:6px;background:var(--brand-soft);color:#315256;font-size:.78rem}
.bull-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top: 24px;}
.btn-outline-dark{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:1px solid #7b9294;border-radius:6px;color:#315256;background:transparent;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;transition:.2s}
.btn-outline-dark:hover{border-color:var(--brand);color:var(--brand);background:#fff}
.bull-detail-content{background:#fff}
.bull-content-block{padding:42px 0;border-bottom:1px solid var(--line)}
.bull-content-block:first-child{padding-top:0}
.bull-content-block h2{font-size:clamp(2rem,3vw,3rem)}
.rich-text{max-width:850px;margin-top:18px;color:#58686a;line-height:1.8}
.pedigree-grid>div{padding:17px;border:1px solid #dce4e3;border-radius:7px;background:#fafbfa}
.pedigree-grid span{display:block;color:#7b8688;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}
.pedigree-grid strong{display:block;margin-top:8px;font-size:1.1rem}
.pedigree-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.bull-technical-link{display:flex;justify-content:space-between;align-items:center;gap:30px}
.bull-technical-link p:last-child{max-width:650px;margin-top:10px;color:#667678;line-height:1.65}
.bull-technical-link .btn{flex:0 0 auto}
.related-bulls{background:#f8f9f7}
/* Compare */
.compare-page-head{padding:42px 0;background:#f3f8f7;border-bottom:1px solid #e0e8e7}
.compare-page-head h1{font-size:clamp(2.8rem,4.5vw,4.8rem)}
.compare-page-head>div>p:last-child{color:var(--muted)}
.comparison-table-wrap{overflow-x:auto;border:1px solid #dce4e3;border-radius:9px}
.comparison-table{width:100%;min-width:820px;border-collapse:collapse;background:#fff}
.comparison-table th,.comparison-table td{padding:16px;border-right:1px solid #e4e9e8;border-bottom:1px solid #e4e9e8;vertical-align:top;text-align:left}
.comparison-table tr>*:last-child{border-right:0}
.comparison-table tbody tr:last-child>*{border-bottom:0}
.comparison-table thead th{background:#f6f8f7}
.comparison-table thead th:first-child{width:180px;vertical-align:bottom}
.comparison-table thead img{width:100%;max-width:260px;aspect-ratio:1.7/1;object-fit:cover;border-radius:6px;margin-bottom:10px}
.comparison-table thead small,.comparison-table thead strong,.comparison-table thead a{display:block}
.comparison-table thead small{color:var(--brand);text-transform:uppercase;letter-spacing:.13em}
.comparison-table thead strong{margin:5px 0;font:500 1.35rem Georgia,serif;text-transform:uppercase}
.comparison-table thead a{color:var(--brand);font-size:.76rem;font-weight:700}
.comparison-table tbody th{color:#34494c;background:#fafbfa}
.comparison-table ul{margin:0;padding-left:18px;color:#5f6f71}
.comparison-seals{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.comparison-seals img{width:48px;height:48px;object-fit:contain}
.comparison-external-link{color:var(--brand);font-size:.78rem;font-weight:800}
.comparison-external-link:hover{text-decoration:underline}
.compare-back{margin-top:28px}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-filter{grid-template-columns:1fr 190px}.catalog-search-button{grid-column:1/-1;width:auto}.compare-bar{grid-template-columns:1fr auto}.compare-selected{grid-column:1/-1;grid-row:2}.bull-detail-grid{grid-template-columns:1fr}.bull-technical-link{align-items:flex-start;flex-direction:column}.pedigree-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.catalog-hero{min-height:240px}.catalog-title-row{align-items:flex-start;flex-direction:column}.catalog-count{border-left:0;padding-left:0}.catalog-filter{grid-template-columns:1fr}.catalog-search-button{grid-column:auto;width:100%}.catalog-breeds{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.catalog-breeds::-webkit-scrollbar{display:none}.catalog-breeds a{white-space:nowrap}.active-filter-row a{margin-left:0}.compare-bar{top:76px;grid-template-columns:1fr}.compare-selected{grid-column:auto;grid-row:auto}.compare-bar .btn{width:100%}.bull-highlight-list{grid-template-columns:1fr}.bull-detail-actions{flex-direction:column}.bull-detail-actions .btn,.bull-detail-actions .btn-outline-dark{width:100%}.bull-certifications{flex-wrap:wrap}}
@media(max-width:580px){.catalog-hero h1{font-size:3.25rem}.catalog-grid{grid-template-columns:1fr}.catalog-card-image{aspect-ratio:1.65/1}.catalog-sort select{width:100%}.pedigree-grid{grid-template-columns:1fr}.bull-detail-hero{padding-top:25px}.bull-detail-grid{gap:30px}.bull-detail-copy h1{font-size:3.2rem}}

/* Ajustes finais do catálogo e ficha de touros */
#catalogo{scroll-margin-top:100px}
.catalog-filter{grid-template-columns:minmax(280px,1fr) auto 210px auto;align-items:center}
.catalog-certifications{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.certification-filter{position:relative;display:flex;align-items:center;gap:8px;min-height:52px;padding:6px 11px;border:1px solid #d9dfdb;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.certification-filter:hover{border-color:var(--brand)}
.certification-filter.active{border-color:var(--brand);background:#f1f8f6;box-shadow:0 0 0 1px rgba(7,134,146,.08)}
.certification-filter input{position:absolute;opacity:0;pointer-events:none}
.certification-filter img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.certification-filter>span:last-child{font-size:.72rem;font-weight:700;white-space:nowrap;color:#28484b}
.concept-plus-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-dark);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.02em}
.catalog-official-name{margin:3px 0 10px;color:#637174;font-size:.79rem;line-height:1.35}
.catalog-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.catalog-card-meta span{padding:5px 7px;border-radius:4px;background:#f4f7f6;color:#667578;font-size:.66rem;font-weight:700}
.catalog-card-certifications{display:flex;align-items:center;gap:8px;min-height:38px;margin:2px 0 14px}
.catalog-card-certifications img{width:36px;height:36px;object-fit:contain}
.concept-plus-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:999px;background:var(--brand-dark);color:#fff;font-size:.63rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.bull-registered-name{max-width:600px;margin:3px 0 0;color:#607174;font-size:1rem;line-height:1.45}
.bull-certifications{display:flex;align-items:center;gap:16px;margin:20px 0;flex-wrap:wrap}
.bull-seal-image{width:74px;height:74px;object-fit:contain;display:block}
.concept-plus-detail-badge{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 15px;border-radius:999px;background:var(--brand-dark);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bull-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.bull-info-grid>div{padding:17px;border:1px solid #dce4e3;border-radius:7px;background:#fafbfa}
.bull-info-grid span{display:block;color:#7b8688;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}
.bull-info-grid strong{display:block;margin-top:8px;font-size:1rem;line-height:1.4}
.bull-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.bull-gallery-grid a{display:block;overflow:hidden;border-radius:8px;background:#e7ece9}
.bull-gallery-grid img{display:block;width:100%;aspect-ratio:1.5/1;object-fit:cover;transition:transform .25s}
.bull-gallery-grid a:hover img{transform:scale(1.025)}
.bull-external-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.comparison-official-name{display:block;margin:2px 0 8px;color:#6f7d80;font-size:.75rem;line-height:1.35}
.comparison-seals .concept-plus-badge{min-height:28px}
/* PEDIGREE */
.pedigree-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 30px 48px;
margin-top: 28px;
}

/* Cada animal da árvore */
.pedigree-grid > div {
position: relative;
min-width: 0;
padding: 8px 0 8px 20px;
border: 0;
border-left: 2px solid #d4dcda;
border-radius: 0;
background: transparent;
}

/* Identificação da geração */
.pedigree-grid span {
display: block;
margin-bottom: 5px;
color: #7b8688;
font-size: .65rem;
line-height: 1.4;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .09em;
}

/* Nome do animal */
.pedigree-grid strong {
display: block;
margin-top: 0;
color: #263f42;
font-size: .98rem;
line-height: 1.4;
font-weight: 800;
overflow-wrap: anywhere;
}

/* Registro ou código */
.pedigree-grid p {
margin: 3px 0 0;
color: #526568;
font-size: .9rem;
line-height: 1.4;
}

/* BOTÃO DE INTERESSE
Mantém distância dos dados e selos */
.bull-detail-actions {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
margin-top: 28px;
padding-top: 4px;
}

/* Evita que a área de ações fique colada
aos elementos anteriores */
.bull-detail-copy > .bull-detail-actions {
margin-top: 28px;
}

@media(max-width:1180px){
    .catalog-filter{grid-template-columns:minmax(280px,1fr) 210px auto}
    .catalog-certifications{grid-column:1/-1;grid-row:2}
}
@media(max-width:980px){
    .catalog-filter{grid-template-columns:1fr 190px}
    .catalog-certifications{grid-column:1/-1;grid-row:auto}
    .bull-info-grid{grid-template-columns:repeat(2,1fr)}
    .bull-gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
    .catalog-filter{grid-template-columns:1fr}
    .catalog-certifications{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
    .certification-filter{justify-content:center}
    .bull-external-actions{justify-content:flex-start}
    .pedigree-grid {grid-template-columns: 1fr;gap: 20px};
    .bull-detail-actions {margin-top: 28px};
}
@media(max-width:580px){
    .catalog-certifications{grid-template-columns:1fr}
    .bull-info-grid{grid-template-columns:1fr}
    .bull-gallery-grid{grid-template-columns:1fr}
    .bull-seal-image{width:68px;height:68px}
    .pedigree-grid {gap: 16px;}
    .pedigree-grid > div {padding-left: 15px;}
}
