.catalog-page [hidden], .catalog-page .reservation-float[hidden] { display: none !important; }
.catalog-page .shop-main { padding-top: 1.5rem; }
.animal-carousel { position: relative; margin-bottom: 2.5rem; border-radius: 1.5rem; overflow: hidden; background: #183d30; color: #fff; }
.animal-slide { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 480px; animation: animal-slide-in .6s ease both; }
.animal-slide__copy { padding: clamp(1.8rem, 4vw, 4rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.animal-slide .eyebrow { color: #e7cc97; }
.animal-slide h1, .animal-slide h2 { font-family: 'Playfair Display', serif; color: #fff; font-size: clamp(2.4rem, 3.8vw, 3.4rem); line-height: 1.08; margin: .4rem 0 1rem; font-weight: 500; }
.animal-slide__copy > p:not(.eyebrow) { max-width: 38ch; color: #e8efe9; line-height: 1.6; }
.animal-slide__copy .button { margin-top: 1rem; background: #e9cb94; color: #173c2c; }
.animal-slide__copy .button:hover { background: #f8dfb3; transform: translateY(-2px); }
.animal-slide__copy small { margin-top: 1rem; color: #e1e8e2; font-size: .85rem; line-height: 1.5; }
.animal-slide__image { position: relative; }
.animal-slide__image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.animal-slide__image > span { position: absolute; bottom: 1rem; right: 1rem; padding: .45rem .7rem; background: #163429dc; border-radius: .5rem; font-size: .8rem; }
.animal-carousel__controls { display: flex; align-items: center; gap: .55rem; padding: .85rem 1.2rem; border-top: 1px solid #ffffff26; flex-wrap: wrap; }
.animal-carousel__controls button { border: 1px solid #ffffff66; background: transparent; color: white; border-radius: 999px; min-height: 44px; min-width: 44px; padding: .45rem .8rem; cursor: pointer; font: inherit; }
.animal-carousel__controls button:hover, .animal-carousel__controls button[aria-pressed="true"] { background: #e9cb94; color: #183d30; border-color: #e9cb94; }
.animal-carousel__dots { display: flex; gap: .4rem; margin-left: auto; }
.catalog-page .catalog-intro { margin-bottom: 1rem; }
.catalog-page .catalog-intro h2 { font: 500 clamp(2rem, 3vw, 3rem)/1.2 'Playfair Display', serif; margin: .4rem 0; }
.catalog-page .catalog-note { margin: 1rem 0 1.5rem; line-height: 1.6; }
.catalog-page .filter-row { align-items: start; gap: 1.25rem; }
.secondary-filters { flex: 1; padding-top: 1.5rem; }
.secondary-filters summary { cursor: pointer; font-weight: 600; padding: .65rem 0; }
.secondary-filters__fields { display: flex; flex-wrap: wrap; gap: 1rem; padding-top: .75rem; }
.secondary-filters__fields label { flex: 1; min-width: 140px; }
.filter-feedback { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; margin-top: .8rem; }
#active-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.filter-feedback button { padding: .6rem .85rem; border: 1px solid #b4c5b8; border-radius: 999px; background: #edf3ec; color: #244a34; cursor: pointer; font: inherit; font-size: .85rem; min-height: 44px; }
#clear-filters { background: transparent; text-decoration: underline; border-color: transparent; }
.catalog-page .animal-card .button { width: 100%; }
.catalog-page .animal-card__code { line-height: 1.6; }
.catalog-trust { margin-top: 2.5rem; padding: 2rem; border: 1px solid #d0ddd0; border-radius: 1rem; background: #edf2e9; display: grid; grid-template-columns: 1fr 1.2fr; gap: 1.2rem 2rem; align-items: center; }
.catalog-trust h2 { font: 500 2rem/1.2 'Playfair Display', serif; margin: .5rem 0; }
.catalog-trust p { line-height: 1.65; margin: 0; }
.catalog-trust .button { justify-self: start; }
.catalog-page .how-it-works { margin-top: 2.5rem; }
.catalog-page :focus-visible { outline: 3px solid #be873e; outline-offset: 4px; }
.catalog-page .catalog-page-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes animal-slide-in { from { opacity: .45; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .animal-slide { animation: none; } .animal-slide__copy .button { transition: none; } }
@media (max-width: 900px) {
  .animal-slide { min-height: 380px; }
  .animal-slide__copy { padding: 2rem; }
  .catalog-page .filter-row { flex-direction: column; }
  .secondary-filters { width: 100%; padding-top: 0; }
  .catalog-trust { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .catalog-page .shop-main { padding-top: 1rem; }
  .animal-carousel { border-radius: 1rem; margin-bottom: 1.75rem; }
  .animal-slide { grid-template-columns: 1fr; min-height: 0; }
  .animal-slide__copy { padding: 1.5rem; min-height: 380px; }
  .animal-slide__copy .eyebrow { font-size: .7rem; letter-spacing: .1em; margin: 0 0 .7rem; }
  .animal-slide__copy > p:not(.eyebrow) { margin: .5rem 0; font-size: .95rem; }
  .animal-slide__copy small { font-size: .78rem; }
  .animal-slide h1, .animal-slide h2 { font-size: 2.5rem; }
  .animal-slide__image { height: 235px; }
  .animal-slide__image img { object-position: center 45%; }
  .animal-carousel__controls { padding: .65rem; gap: .35rem; }
  .animal-carousel__controls button { font-size: .8rem; padding: .35rem .65rem; }
  .animal-carousel__dots { gap: .2rem; }
  [data-carousel-position] { display: none; }
  .catalog-page .category-filters { gap: .5rem; }
  .catalog-page .category-filters button { padding: .7rem .85rem; font-size: .9rem; }
  .catalog-trust { padding: 1.5rem; }
  .catalog-page .reservation-float { width: 48px; height: 48px; padding: 0 !important; justify-content: center; right: 12px; bottom: 12px; }
  .catalog-page .reservation-float span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .catalog-page .shop-footer { padding-bottom: 5rem; }
}
