.animals-adopt-wrap {
    width: 100%;
}

.animals-type-tabs {
    display: flex;
    gap: 12px;
    margin: 0 0 24px;
}

.animals-type-tabs a {
    display: inline-block;
    padding: 12px 22px;
    border: 1px solid #222;
    border-radius: 999px;
    text-decoration: none;
}

.animals-type-tabs a.active {
    background: #222;
    color: #fff;
}

.animals-filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
    align-items: center;
}

.animals-filters select,
.animals-filters input,
.animals-filters button,
.animals-clear {
    width: 100%;
    padding: 12px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    min-height: 46px;
    text-decoration: none;
    background: #fff;
    box-sizing: border-box;
}

.animals-filters button {
    cursor: pointer;
    border-color: #222;
    background: #222;
    color: #fff;
}

.animals-clear {
    text-align: center;
}

.animals-results-count {
    margin: 0 0 20px;
    font-size: 15px;
}

.animals-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.animals-card {
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
}

.animals-card img,
.animals-placeholder {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 10px;
    background: #f3f3f3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.animals-card a {
    text-decoration: none;
}

.animals-card h3 {
    margin: 14px 0 10px;
}

.animals-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 12px;
}

.animals-card-meta span {
    font-size: 13px;
    border: 1px solid #eee;
    border-radius: 999px;
    padding: 5px 9px;
}

.animals-button {
    display: inline-block;
    margin-top: 8px;
    padding: 10px 14px;
    border: 1px solid #222;
    border-radius: 6px;
}

.animals-pagination {
    margin-top: 30px;
}

.animals-pagination .page-numbers {
    display: inline-block;
    margin: 0 4px 8px 0;
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-decoration: none;
}

.animals-empty {
    grid-column: 1 / -1;
}

@media (max-width: 980px) {
    .animals-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .animals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .animals-type-tabs {
        flex-wrap: wrap;
    }

    .animals-filters,
    .animals-grid {
        grid-template-columns: 1fr;
    }
}


.animals-filters label {
    display: block;
}

.animals-filters label span {
    display: block;
    margin-bottom: 8px;
    color: #1f4359;
    font-size: 18px;
}

.animals-loading {
    opacity: 0.6;
    pointer-events: none;
}


.animals-single {
    max-width: 1180px;
    margin: 0 auto;
}

.animals-single-hero {
    display: grid;
    gap: 32px;
    margin: 30px 0;
}

.animals-single-hero img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.animals-single-info h1 {
    margin-top: 0;
}

.animals-single-meta {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px 18px;
    margin: 24px 0;
}

.animals-single-meta dt {
    font-weight: 700;
}

.animals-single-meta dd {
    margin: 0;
}

.animals-single-description {
    margin-top: 32px;
    font-size: 18px;
    line-height: 1.6;
}

.animals-single-placeholder {
    min-height: 360px;
}

@media (min-width: 900px) {
    .animals-single-hero {
        grid-template-columns: 1.1fr 0.9fr;
        align-items: start;
    }
}


.animals-live-profile .animals-profile-subtitle {
    font-size: 20px;
    font-weight: 600;
    margin: 12px 0 24px;
}

.animals-profile-description {
    font-size: 18px;
    line-height: 1.65;
}

.animals-details-panel {
    margin-top: 34px;
    padding: 28px;
    border: 1px solid #e4ded0;
    border-radius: 14px;
    background: #fff;
}

.animals-details-panel h2 {
    margin-top: 0;
}

.animals-back a {
    text-decoration: none;
    font-weight: 700;
}


/* =========================================================
   Animals v3.6 - Dogshome-style public layout
   Applies to [animals] listing and /adopt/{animal_id} profile.
   ========================================================= */

.animals-adopt-wrap,
.animals-single {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 18px 60px;
    box-sizing: border-box;
}

.animals-results-area {
    width: 100%;
}

/* Type tabs: All / Dog / Cat */
.animals-type-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0 34px;
}

.animals-type-tabs a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 78px;
    padding: 16px 18px;
    border: 2px solid #2f8fc6;
    border-radius: 14px;
    background: #fff;
    color: #21465d;
    text-decoration: none;
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 700;
    line-height: 1;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.animals-type-tabs a:hover,
.animals-type-tabs a.active {
    background: #2f8fc6;
    border-color: #2f8fc6;
    color: #fff;
}

/* Filter form */
.animals-filters {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 0 0 28px;
    align-items: end;
}

.animals-filters label {
    display: block;
    margin: 0;
}

.animals-filters label span {
    display: block;
    margin-bottom: 8px;
    color: #21465d;
    font-size: 18px;
    font-weight: 700;
}

.animals-filters select,
.animals-filters input[type="text"] {
    width: 100%;
    min-height: 66px;
    padding: 0 22px;
    box-sizing: border-box;
    border: 2px solid #2f8fc6;
    border-radius: 12px;
    background: #fff;
    color: #2f8fc6;
    font-size: 21px;
    font-weight: 600;
    outline: none;
}

.animals-filters select:focus,
.animals-filters input[type="text"]:focus {
    border-color: #21465d;
}

.animals-filters button,
.animals-clear,
.animals-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    padding: 0 24px;
    box-sizing: border-box;
    border-radius: 12px;
    border: 2px solid #2f8fc6;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.animals-filters button,
.animals-button {
    background: #2f8fc6;
    color: #fff;
}

.animals-filters button:hover,
.animals-button:hover {
    background: #21465d;
    border-color: #21465d;
    color: #fff;
}

.animals-clear {
    background: #fff;
    color: #2f8fc6;
}

.animals-clear:hover {
    background: #eaf6fc;
    color: #21465d;
}

/* Results */
.animals-results-count {
    margin: 12px 0 22px;
    color: #21465d;
    font-size: 18px;
    font-weight: 700;
}

.animals-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
    margin: 24px 0 34px;
}

.animals-card {
    overflow: hidden;
    border: 1px solid #e4ded0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(18, 48, 68, .08);
}

.animals-card > a:first-child {
    display: block;
    color: inherit;
    text-decoration: none;
}

.animals-card img,
.animals-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eef4f7;
}

.animals-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #21465d;
    font-size: 18px;
    font-weight: 700;
}

.animals-card h3 {
    margin: 18px 20px 8px;
    color: #21465d;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
}

.animals-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 20px 18px;
}

.animals-card-meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f1f7fa;
    color: #21465d;
    font-size: 14px;
    font-weight: 700;
}

.animals-card .animals-button {
    width: calc(100% - 40px);
    margin: 0 20px 22px;
}

/* Pagination */
.animals-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 28px;
}

.animals-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #d7e8f0;
    border-radius: 10px;
    text-decoration: none;
    color: #21465d;
    font-weight: 700;
}

.animals-pagination .current,
.animals-pagination a:hover {
    background: #2f8fc6;
    border-color: #2f8fc6;
    color: #fff;
}

.animals-empty {
    padding: 30px;
    border-radius: 14px;
    background: #f7fbfd;
    color: #21465d;
    font-size: 19px;
    font-weight: 700;
}

.animals-loading {
    opacity: .55;
    pointer-events: none;
}

/* Single animal profile */
.animals-single.animals-live-profile {
    color: #243d4f;
}

.animals-back {
    margin: 0 0 22px;
}

.animals-back a {
    color: #2f8fc6;
    text-decoration: none;
    font-weight: 800;
}

.animals-single-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    margin: 24px 0 34px;
    align-items: start;
}

.animals-single-hero img,
.animals-single-placeholder {
    width: 100%;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(18, 48, 68, .10);
}

.animals-single-placeholder {
    min-height: 360px;
}

.animals-single-info h1 {
    margin: 0 0 8px;
    color: #21465d;
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 900;
    line-height: .95;
}

.animals-single-info h3 {
    margin: 0 0 18px;
    color: #2f8fc6;
    font-size: 24px;
    font-weight: 800;
}

.animals-profile-subtitle {
    margin: 0 0 28px;
    color: #21465d;
    font-size: 22px;
    font-weight: 800;
}

.animals-profile-description {
    color: #243d4f;
    font-size: 18px;
    line-height: 1.75;
}

.animals-profile-description p {
    margin: 0 0 18px;
}

.animals-details-panel {
    margin-top: 38px;
    padding: 30px;
    border-radius: 18px;
    border: 1px solid #e4ded0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(18, 48, 68, .07);
}

.animals-details-panel h2 {
    margin: 0 0 22px;
    color: #21465d;
    font-size: 34px;
    font-weight: 900;
}

.animals-single-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
}

.animals-single-meta dt {
    padding: 15px 0 3px;
    border-top: 1px solid #edf2f5;
    color: #21465d;
    font-size: 15px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.animals-single-meta dd {
    margin: 0;
    padding: 0 0 15px;
    color: #243d4f;
    font-size: 19px;
    font-weight: 700;
}

/* Tablet */
@media (min-width: 700px) {
    .animals-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .animals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .animals-single-meta {
        grid-template-columns: 220px 1fr;
    }

    .animals-single-meta dt {
        padding: 16px 20px 16px 0;
    }

    .animals-single-meta dd {
        padding: 16px 0;
        border-top: 1px solid #edf2f5;
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .animals-adopt-wrap,
    .animals-single {
        padding-left: 0;
        padding-right: 0;
    }

    .animals-filters {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .animals-filters .animals-clear,
    .animals-filters button {
        grid-column: auto;
    }

    .animals-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .animals-single-hero {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    }
}

/* Mobile */
@media (max-width: 520px) {
    .animals-type-tabs {
        gap: 10px;
    }

    .animals-type-tabs a {
        min-height: 58px;
        padding: 12px 8px;
        font-size: 21px;
    }

    .animals-filters select,
    .animals-filters input[type="text"],
    .animals-filters button,
    .animals-clear,
    .animals-button {
        min-height: 58px;
        font-size: 18px;
    }

    .animals-card h3 {
        font-size: 25px;
    }

    .animals-details-panel {
        padding: 22px;
    }
}


/* v3.7 normal animal profile carousel */
.animals-profile-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: #eef4f7;
    box-shadow: 0 10px 28px rgba(18, 48, 68, .10);
}

.animals-profile-carousel-track {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
}

.animals-profile-slide {
    display: none;
    width: 100%;
    height: 100%;
}

.animals-profile-slide.active {
    display: block;
}

.animals-profile-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    box-shadow: none;
}

.animals-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #2f8fc6;
    color: #fff;
    font-size: 34px;
    line-height: 34px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.animals-carousel-prev {
    left: 16px;
}

.animals-carousel-next {
    right: 16px;
}

.animals-carousel-arrow:hover {
    background: #21465d;
}

.animals-carousel-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;
    z-index: 4;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.animals-carousel-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .75);
    cursor: pointer;
}

.animals-carousel-dots button.active {
    width: 28px;
    background: #2f8fc6;
}

/* Force profile to stay normal carousel, not stacked cards */
.animals-live-profile .animals-single-hero > .animals-profile-carousel {
    transform: none;
}

@media (min-width: 1024px) {
    .animals-live-profile .animals-single-hero {
        grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    }
}


/* v3.8 live-size override: closer to dogshome.com */
.animals-adopt-wrap,
.animals-single {
    max-width: 1200px;
    font-family: MonaSans, "PP Neue Montreal", Arial, sans-serif;
}

.animals-type-tabs {
    gap: 14px;
    margin: 22px 0 28px;
}

.animals-type-tabs a {
    min-height: 54px;
    padding: 12px 22px;
    border-radius: 9px;
    font-size: 19px;
    font-weight: 700;
}

.animals-filters {
    gap: 14px;
    margin-bottom: 24px;
}

.animals-filters label span {
    font-size: 14px;
    line-height: 1.2;
    margin-bottom: 7px;
    font-weight: 500;
}

.animals-filters select,
.animals-filters input[type="text"] {
    min-height: 45px;
    height: 45px;
    border-radius: 7px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 400;
}

.animals-filters button,
.animals-clear,
.animals-button {
    min-height: 45px;
    height: 45px;
    border-radius: 7px;
    padding: 0 22px;
    font-size: 15px;
    font-weight: 700;
}

.animals-results-count {
    font-size: 15px;
    margin: 10px 0 18px;
}

.animals-grid {
    gap: 18px;
}

.animals-card {
    border-radius: 11px;
    box-shadow: none;
    border: 0;
    background: #fff;
}

.animals-card img,
.animals-placeholder {
    aspect-ratio: 1.13 / 1;
    border-radius: 11px 11px 0 0;
}

.animals-card h3 {
    margin: 13px 16px 4px;
    font-size: 26px;
    line-height: 1.05;
    font-weight: 800;
    color: #159ad6;
}

.animals-card-meta {
    margin: 0 16px 14px;
    gap: 6px;
}

.animals-card-meta span {
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 15px;
    font-weight: 400;
    color: #403f3d;
}

.animals-card .animals-button {
    width: calc(100% - 32px);
    margin: 0 16px 16px;
    min-height: 42px;
}

/* Profile page closer to live */
.animals-single.animals-live-profile {
    max-width: 1180px;
}

.animals-single-hero {
    gap: 36px;
    margin-top: 18px;
}

.animals-single-info {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
}

.animals-single-info h1 {
    font-size: clamp(42px, 5vw, 58px);
    line-height: .95;
    color: #159ad6;
}

.animals-single-info h3 {
    font-size: 15px;
    color: #585451;
    font-weight: 400;
    margin-bottom: 6px;
}

.animals-profile-subtitle {
    font-size: 15px;
    color: #585451;
    font-weight: 400;
    margin-bottom: 22px;
}

.animals-profile-description {
    font-size: 14px;
    line-height: 1.45;
    color: #403f3d;
}

.animals-details-panel {
    border-radius: 16px;
    box-shadow: none;
    border: 0;
    padding: 24px 28px;
}

.animals-details-panel h2 {
    font-size: 23px;
    color: #159ad6;
    margin-bottom: 14px;
}

.animals-single-meta {
    grid-template-columns: 160px 1fr;
}

.animals-single-meta dt,
.animals-single-meta dd {
    font-size: 14px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.animals-single-meta dt {
    text-transform: none;
    letter-spacing: 0;
    color: #159ad6;
    font-weight: 700;
}

.animals-single-meta dd {
    text-align: right;
    font-weight: 700;
    color: #111;
}

.animals-profile-carousel {
    border-radius: 10px;
    box-shadow: none;
}

.animals-profile-carousel-track {
    aspect-ratio: 1.18 / 1;
}

@media (min-width: 1024px) {
    .animals-filters {
        grid-template-columns: 140px 230px 140px 230px 140px;
        align-items: end;
    }

    .animals-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .animals-live-profile .animals-single-hero {
        grid-template-columns: minmax(0, 1fr) 520px;
    }
}

@media (max-width: 700px) {
    .animals-single-meta {
        grid-template-columns: 1fr;
    }

    .animals-single-meta dd {
        text-align: left;
    }
}


/* =========================================================
   v4.2 - Live Dogs Home layout correction
   ========================================================= */

/* Adopt listing wrapper */
.animals-adopt-wrap {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 26px 18px 70px !important;
    font-family: MonaSans, "PP Neue Montreal", Arial, sans-serif !important;
    color: #12384f !important;
}

/* Type buttons: live style */
.animals-type-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    max-width: 860px !important;
    margin: 0 auto 30px !important;
}

.animals-type-tabs a {
    height: 58px !important;
    min-height: 58px !important;
    border: 2px solid #159ad6 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0d3a52 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.animals-type-tabs a.active,
.animals-type-tabs a:hover {
    background: #159ad6 !important;
    border-color: #159ad6 !important;
    color: #fff !important;
}

/* Filter row: keep aligned on desktop */
.animals-filters {
    display: grid !important;
    grid-template-columns: 120px 220px 140px 230px 145px 145px !important;
    gap: 14px !important;
    align-items: end !important;
    max-width: 960px !important;
    margin: 0 auto 28px !important;
}

.animals-filters label {
    margin: 0 !important;
    display: block !important;
}

.animals-filters label span {
    display: block !important;
    margin: 0 0 7px !important;
    color: #0d3a52 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.animals-filters select,
.animals-filters input[type="text"] {
    height: 46px !important;
    min-height: 46px !important;
    width: 100% !important;
    border: 2px solid #159ad6 !important;
    border-radius: 6px !important;
    background-color: #fff !important;
    color: #159ad6 !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 46px !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.animals-filters select {
    appearance: auto !important;
}

.animals-filters button,
.animals-clear {
    height: 46px !important;
    min-height: 46px !important;
    width: 100% !important;
    border-radius: 6px !important;
    border: 2px solid #159ad6 !important;
    padding: 0 16px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 42px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.animals-filters button {
    background: #159ad6 !important;
    color: #fff !important;
}

.animals-clear {
    background: #fff !important;
    color: #159ad6 !important;
}

/* Results count */
.animals-results-count {
    max-width: 1320px !important;
    margin: 16px auto 22px !important;
    color: #0d3a52 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Card grid */
.animals-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    max-width: 1320px !important;
    margin: 0 auto 40px !important;
}

/* Equal height cards */
.animals-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.animals-card > a:first-child {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

.animals-card img,
.animals-placeholder {
    width: 100% !important;
    aspect-ratio: 1.19 / 1 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
    background: #eaf3f7 !important;
}

.animals-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0d3a52 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.animals-card h3 {
    margin: 16px 16px 5px !important;
    color: #159ad6 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    min-height: 28px !important;
}

.animals-card-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 7px !important;
    margin: 0 16px 14px !important;
    min-height: 42px !important;
    align-content: flex-start !important;
}

.animals-card-meta span {
    display: inline !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    color: #403f3d !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
}

/* Push button to bottom */
.animals-card .animals-button {
    margin: auto 16px 18px !important;
    width: calc(100% - 32px) !important;
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 6px !important;
    background: #159ad6 !important;
    border-color: #159ad6 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* Pagination */
.animals-pagination {
    max-width: 1320px !important;
    margin: 26px auto 0 !important;
}

/* Profile page: tighter live style */
.animals-single.animals-live-profile {
    max-width: 1180px !important;
    padding: 28px 18px 70px !important;
    font-family: MonaSans, "PP Neue Montreal", Arial, sans-serif !important;
}

.animals-live-profile .animals-single-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 520px !important;
    gap: 34px !important;
    align-items: start !important;
}

.animals-profile-carousel {
    border-radius: 10px !important;
    box-shadow: none !important;
}

.animals-profile-carousel-track {
    aspect-ratio: 1.18 / 1 !important;
}

.animals-single-info {
    background: #fff !important;
    border-radius: 16px !important;
    padding: 28px !important;
}

.animals-single-info h1 {
    color: #159ad6 !important;
    font-size: 54px !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    margin: 0 0 8px !important;
}

.animals-single-info h3,
.animals-profile-subtitle {
    color: #585451 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
}

.animals-profile-description {
    color: #403f3d !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.animals-details-panel {
    margin-top: 24px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    padding: 24px 28px !important;
    box-shadow: none !important;
}

.animals-details-panel h2 {
    color: #159ad6 !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    margin: 0 0 14px !important;
}

.animals-single-meta {
    display: grid !important;
    grid-template-columns: 165px 1fr !important;
}

.animals-single-meta dt,
.animals-single-meta dd {
    border-top: 1px solid #e7e7e7 !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.animals-single-meta dt {
    color: #159ad6 !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.animals-single-meta dd {
    margin: 0 !important;
    color: #111 !important;
    font-weight: 800 !important;
    text-align: right !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .animals-filters {
        grid-template-columns: repeat(3, 1fr) !important;
        max-width: 860px !important;
    }

    .animals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .animals-live-profile .animals-single-hero {
        grid-template-columns: 1fr !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .animals-type-tabs {
        gap: 10px !important;
    }

    .animals-type-tabs a {
        height: 50px !important;
        min-height: 50px !important;
        font-size: 15px !important;
        padding: 0 8px !important;
    }

    .animals-filters {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .animals-grid {
        grid-template-columns: 1fr !important;
    }

    .animals-single-info h1 {
        font-size: 42px !important;
    }

    .animals-single-meta {
        grid-template-columns: 1fr !important;
    }

    .animals-single-meta dd {
        text-align: left !important;
    }
}


/* =========================================================
   v4.3 emergency correction
   - no duplicate profiles
   - live-style filters/cards
   - compatibility row
   ========================================================= */

.animals-adopt-wrap {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 28px 18px 70px !important;
    font-family: MonaSans, "PP Neue Montreal", Arial, sans-serif !important;
}

.animals-type-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    max-width: 860px !important;
    margin: 0 auto 28px !important;
}

.animals-type-tabs a {
    height: 58px !important;
    min-height: 58px !important;
    border: 2px solid #159ad6 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #09354d !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.animals-type-tabs a.active,
.animals-type-tabs a:hover {
    background: #159ad6 !important;
    color: #fff !important;
}

.animals-filters {
    display: grid !important;
    grid-template-columns: 120px 220px 140px 230px 140px 140px !important;
    gap: 14px !important;
    align-items: end !important;
    max-width: 980px !important;
    margin: 0 auto 28px !important;
}

.animals-filters label {
    margin: 0 !important;
    display: block !important;
}

.animals-filters label span {
    display: block !important;
    margin: 0 0 7px !important;
    color: #09354d !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.animals-filters select,
.animals-filters input[type="text"],
.animals-filters button,
.animals-clear {
    height: 46px !important;
    min-height: 46px !important;
    width: 100% !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
}

.animals-filters select,
.animals-filters input[type="text"] {
    border: 2px solid #159ad6 !important;
    background: #fff !important;
    color: #159ad6 !important;
    padding: 0 14px !important;
    font-weight: 400 !important;
}

.animals-filters button,
.animals-clear {
    border: 2px solid #159ad6 !important;
    padding: 0 16px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

.animals-filters button {
    background: #159ad6 !important;
    color: #fff !important;
}

.animals-clear {
    background: #fff !important;
    color: #159ad6 !important;
}

.animals-results-count {
    max-width: 1320px !important;
    margin: 14px auto 22px !important;
    color: #09354d !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.animals-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    max-width: 1320px !important;
    margin: 0 auto 42px !important;
}

.animals-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    min-height: 100% !important;
}

.animals-card-image-link {
    display: block !important;
}

.animals-card img,
.animals-placeholder {
    width: 100% !important;
    aspect-ratio: 1.19 / 1 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
    background: #eaf3f7 !important;
}

.animals-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #09354d !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.animals-card-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 16px !important;
}

.animals-location-badge {
    align-self: flex-start !important;
    display: inline-flex !important;
    padding: 6px 9px !important;
    border-radius: 4px !important;
    background: #f0524d !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
}

.animals-card-title-link {
    text-decoration: none !important;
}

.animals-card h3 {
    margin: 0 0 6px !important;
    color: #159ad6 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.animals-sex-symbol {
    color: #159ad6 !important;
}

.animals-card-subtitle {
    margin: 0 0 14px !important;
    color: #403f3d !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
}

.animals-card-breed {
    display: none !important;
}

.animals-card-meta {
    display: none !important;
}

.animals-card-compatibility {
    margin-top: auto !important;
    min-height: 46px !important;
    border-radius: 6px !important;
    background: #efeeee !important;
    color: #111 !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.animals-card-compatibility span {
    font-weight: 500 !important;
}

.animals-card-compatibility strong {
    color: #159ad6 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.animals-card .animals-button {
    margin: 12px 0 0 !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 6px !important;
    background: #159ad6 !important;
    border: 2px solid #159ad6 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* Profile: prevent duplicate-looking sections and keep compact */
.animals-single.animals-live-profile {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 28px 18px 70px !important;
    font-family: MonaSans, "PP Neue Montreal", Arial, sans-serif !important;
}

.animals-live-profile .animals-single-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 520px !important;
    gap: 34px !important;
    align-items: start !important;
}

.animals-single-info,
.animals-details-panel {
    background: #fff !important;
    border-radius: 16px !important;
    border: 0 !important;
    box-shadow: none !important;
}

.animals-single-info {
    padding: 28px !important;
}

.animals-single-info h1 {
    color: #159ad6 !important;
    font-size: 54px !important;
    line-height: .95 !important;
    margin: 0 0 8px !important;
    font-weight: 900 !important;
}

.animals-single-info h3,
.animals-profile-subtitle {
    color: #585451 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

.animals-profile-description {
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #403f3d !important;
}

.animals-details-panel {
    padding: 24px 28px !important;
    margin-top: 24px !important;
}

.animals-details-panel h2 {
    color: #159ad6 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
}

.animals-single-meta {
    display: grid !important;
    grid-template-columns: 165px 1fr !important;
}

.animals-single-meta dt,
.animals-single-meta dd {
    border-top: 1px solid #e7e7e7 !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
}

.animals-single-meta dt {
    color: #159ad6 !important;
    font-weight: 800 !important;
}

.animals-single-meta dd {
    text-align: right !important;
    color: #111 !important;
    font-weight: 800 !important;
}

@media (max-width: 1100px) {
    .animals-filters {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .animals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .animals-live-profile .animals-single-hero {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .animals-type-tabs,
    .animals-filters,
    .animals-grid {
        grid-template-columns: 1fr !important;
    }

    .animals-single-meta {
        grid-template-columns: 1fr !important;
    }

    .animals-single-meta dd {
        text-align: left !important;
    }
}


/* v4.9 route-safe profile */
.animals-single.animals-live-profile {
    width: 100% !important;
}


/* v5.5 direct profile render */
.animals-direct-profile-page {
    background: #f6f5ef !important;
    padding: 30px 0 70px !important;
}


/* v6 clean routing/display overrides */
.animals-sex-symbol,
.animals-sex-badge,
.animals-card [class*="gender"],
.animals-card [class*="sex-symbol"] {
    display: none !important;
}

.animals-card h3::before,
.animals-card h3::after,
.animals-card-title-link::before,
.animals-card-title-link::after {
    content: none !important;
    display: none !important;
}

.animals-card h3 {
    overflow: visible !important;
    height: auto !important;
    white-space: normal !important;
}

.animals-single {
    max-width: 1180px !important;
    margin: 0 auto !important;
}


/* v6.1 clean query split */
.animals-card h3::before,
.animals-card h3::after,
.animals-card-title-link::before,
.animals-card-title-link::after,
.animals-sex-symbol {
    display: none !important;
    content: none !important;
}


/* v6.5 safe plain profile */
.animals-clean-profile {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 32px 18px 70px !important;
}

.animals-clean-profile-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important;
    gap: 32px !important;
    align-items: start !important;
}

.animals-clean-profile-image img,
.animals-clean-profile-image .animals-placeholder {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}

.animals-clean-profile-info {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 28px !important;
}

.animals-clean-profile-info h1 {
    margin: 0 0 12px !important;
    color: #159ad6 !important;
}

.animals-profile-description {
    color: #333 !important;
    line-height: 1.55 !important;
}

@media (max-width: 800px) {
    .animals-clean-profile-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v6.6 clean card display */
.animals-sex-symbol,
.animals-card [class*="gender"],
.animals-card [class*="sex"],
.animals-card .animals-card-breed {
    display: none !important;
}

.animals-card-title-link::before,
.animals-card-title-link::after,
.animals-card h3::before,
.animals-card h3::after,
.animals-card-compatibility::before,
.animals-card-compatibility::after,
.animals-card-compatibility span::before,
.animals-card-compatibility span::after,
.animals-card-compatibility strong::before,
.animals-card-compatibility strong::after {
    content: none !important;
    display: none !important;
}

.animals-card h3 {
    margin-bottom: 8px !important;
    line-height: 1.05 !important;
}

.animals-card-subtitle {
    margin-bottom: 14px !important;
}

.animals-card-compatibility strong:empty {
    display: none !important;
}


/* v6.8 scoped LDH-like display */
.animals-results-area,.animals-single{--animals-blue:#159ad6;--animals-dark-blue:#00324d;--animals-cranbourne:#f0524d;--animals-card-bg:#fff}
.animals-results-area .animals-type-tabs{display:flex!important;gap:14px!important;max-width:1320px!important;margin:0 auto 24px!important;align-items:center!important}
.animals-results-area .animals-type-tabs a{border:1px solid #d8d4c8!important;background:#fff!important;color:var(--animals-dark-blue)!important;border-radius:8px!important;min-width:118px!important;height:54px!important;padding:0 24px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;font-weight:700!important;text-decoration:none!important}
.animals-results-area .animals-type-tabs a.active,.animals-results-area .animals-type-tabs a:hover{background:var(--animals-blue)!important;border-color:var(--animals-blue)!important;color:#fff!important}
.animals-results-area .animals-filters{max-width:1320px!important;margin:0 auto 28px!important;display:grid!important;grid-template-columns:150px 250px 150px 250px 150px!important;gap:14px!important;align-items:end!important}
.animals-results-area .animals-filters label span{color:var(--animals-dark-blue)!important;display:block!important;font-size:16px!important;margin-bottom:8px!important}
.animals-results-area .animals-filters select,.animals-results-area .animals-filters input[type=text]{height:54px!important;border-radius:7px!important;border:2px solid var(--animals-blue)!important;background:#fff!important;color:var(--animals-blue)!important;padding:0 16px!important;font-size:18px!important;box-shadow:none!important}
.animals-results-area .animals-filters button,.animals-results-area .animals-clear{height:54px!important;border-radius:7px!important;border:2px solid var(--animals-blue)!important;background:var(--animals-blue)!important;color:#fff!important;font-size:18px!important;font-weight:800!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}
.animals-results-area .animals-clear{background:#fff!important;color:var(--animals-blue)!important}
.animals-results-area .animals-results-count{max-width:1320px!important;margin:0 auto 22px!important;color:var(--animals-dark-blue)!important;font-weight:700!important}
.animals-results-area .animals-grid{max-width:1320px!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.animals-results-area .animals-card-clean{background:#fff!important;border-radius:14px!important;overflow:hidden!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;min-width:0!important}
.animals-results-area .animals-card-media{position:relative!important;overflow:hidden!important;border-radius:14px 14px 0 0!important}
.animals-results-area .animals-card-image-link{display:block!important;text-decoration:none!important}.animals-results-area .animals-mini-carousel,.animals-single .animals-profile-carousel-clean{position:relative!important;overflow:hidden!important;width:100%!important;background:#eaf3f7!important}.animals-results-area .animals-mini-carousel{aspect-ratio:1.18/1!important}.animals-single .animals-profile-carousel-clean{aspect-ratio:1/1!important;border-radius:14px!important}.animals-results-area .animals-mini-carousel-track,.animals-single .animals-profile-carousel-track{width:100%!important;height:100%!important}.animals-results-area .animals-mini-slide,.animals-single .animals-profile-slide-clean{display:none!important;width:100%!important;height:100%!important}.animals-results-area .animals-mini-slide.active,.animals-single .animals-profile-slide-clean.active{display:block!important}.animals-results-area .animals-mini-slide img,.animals-single .animals-profile-slide-clean img,.animals-results-area .animals-placeholder,.animals-single .animals-placeholder{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.animals-results-area .animals-carousel-arrow,.animals-single .animals-carousel-arrow{position:absolute!important;z-index:3!important;bottom:18px!important;width:34px!important;height:34px!important;border-radius:50%!important;border:0!important;background:rgba(21,154,214,.85)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;line-height:1!important;padding:0!important;cursor:pointer!important}.animals-results-area .animals-carousel-prev,.animals-single .animals-carousel-prev{left:calc(50% - 88px)!important}.animals-results-area .animals-carousel-next,.animals-single .animals-carousel-next{right:calc(50% - 88px)!important}.animals-results-area .animals-carousel-dots,.animals-single .animals-carousel-dots{position:absolute!important;z-index:3!important;left:50%!important;bottom:29px!important;transform:translateX(-50%)!important;display:flex!important;gap:9px!important;align-items:center!important}.animals-results-area .animals-carousel-dots button,.animals-single .animals-carousel-dots button{width:10px!important;height:10px!important;border-radius:50%!important;border:0!important;padding:0!important;background:rgba(255,255,255,.85)!important;cursor:pointer!important}.animals-results-area .animals-carousel-dots button.active,.animals-single .animals-carousel-dots button.active{width:18px!important;border-radius:8px!important;background:var(--animals-blue)!important}
.animals-results-area .animals-card-body{padding:18px!important;display:flex!important;flex-direction:column!important;flex:1 1 auto!important}.animals-results-area .animals-location-badge,.animals-single .animals-location-badge{align-self:flex-start!important;display:inline-flex!important;padding:5px 10px!important;color:#fff!important;border-radius:4px!important;font-size:20px!important;font-weight:800!important;line-height:1.1!important;margin:0 0 12px!important}.animals-results-area .animals-location-north-melbourne,.animals-single .animals-location-north-melbourne,.animals-results-area .animals-location-default,.animals-single .animals-location-default{background:var(--animals-blue)!important}.animals-results-area .animals-location-cranbourne,.animals-single .animals-location-cranbourne{background:var(--animals-cranbourne)!important}.animals-results-area .animals-status-badge{position:absolute!important;z-index:4!important;top:14px!important;left:14px!important;background:var(--animals-blue)!important;color:#fff!important;border-radius:5px!important;padding:6px 12px!important;font-size:18px!important;font-weight:800!important}.animals-results-area .animals-card h3,.animals-single .animals-clean-profile-info h1{color:var(--animals-blue)!important;font-weight:800!important;line-height:1.05!important;margin:0 0 8px!important}.animals-results-area .animals-card h3{font-size:34px!important}.animals-single .animals-clean-profile-info h1{font-size:52px!important}.animals-results-area .animals-inline-sex,.animals-single .animals-inline-sex{color:#ff58a6!important;font-size:.75em!important;vertical-align:baseline!important}.animals-results-area .animals-card-subtitle,.animals-single .animals-profile-subtitle{color:#403f3d!important;font-size:21px!important;line-height:1.25!important;margin:0 0 18px!important}.animals-results-area .animals-card-compatibility{margin-top:auto!important;min-height:49px!important;border-radius:8px!important;background:#efeeee!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 13px!important;color:#111!important;font-size:20px!important}.animals-results-area .animals-card-compatibility strong{color:var(--animals-blue)!important;font-size:13px!important;font-weight:800!important;text-align:right!important}.animals-results-area .animals-button{margin-top:13px!important;height:50px!important;background:var(--animals-blue)!important;color:#fff!important;border-radius:7px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-weight:800!important}.animals-results-area .animals-card-breed{display:none!important}
.animals-single .animals-clean-profile{max-width:1180px!important;margin:0 auto!important;padding:32px 18px 70px!important}.animals-single .animals-clean-profile-grid{display:grid!important;grid-template-columns:minmax(0,560px) minmax(0,1fr)!important;gap:32px!important;align-items:start!important}.animals-single .animals-clean-profile-info,.animals-single .animals-details-panel{background:#fff!important;border-radius:14px!important;padding:28px!important}.animals-single .animals-profile-description{color:#333!important;line-height:1.55!important}.animals-single .animals-single-meta{display:grid!important;grid-template-columns:180px 1fr!important;gap:0!important}.animals-single .animals-single-meta dt,.animals-single .animals-single-meta dd{border-top:1px solid #e8e8e8!important;padding:10px 0!important;margin:0!important}.animals-single .animals-single-meta dt{color:var(--animals-blue)!important;font-weight:800!important}.animals-single .animals-single-meta dd{text-align:right!important;font-weight:700!important}
.animals-results-area .animals-card-title-link::before,.animals-results-area .animals-card-title-link::after,.animals-results-area .animals-card h3::before,.animals-results-area .animals-card h3::after,.animals-results-area .animals-card-compatibility::before,.animals-results-area .animals-card-compatibility::after{content:none!important;display:none!important}
@media(max-width:1100px){.animals-results-area .animals-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}.animals-results-area .animals-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.animals-single .animals-clean-profile-grid{grid-template-columns:1fr!important}}@media(max-width:700px){.animals-results-area .animals-type-tabs,.animals-results-area .animals-filters,.animals-results-area .animals-grid{grid-template-columns:1fr!important;display:grid!important}.animals-single .animals-single-meta{grid-template-columns:1fr!important}.animals-single .animals-single-meta dd{text-align:left!important}}


/* v6.9 alignment and lost/adopt separation display fixes */
.animals-results-area .animals-controls-row {
    max-width: 1320px !important;
    margin: 0 auto 22px !important;
    display: grid !important;
    grid-template-columns: 420px 1fr !important;
    gap: 28px !important;
    align-items: end !important;
}

.animals-results-area .animals-controls-row .animals-type-tabs {
    margin: 0 !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: end !important;
}

.animals-results-area .animals-controls-row .animals-type-tabs a {
    min-width: 0 !important;
    width: 100% !important;
    height: 54px !important;
}

.animals-results-area .animals-controls-row .animals-filters {
    margin: 0 !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: 135px minmax(180px, 1.4fr) 135px minmax(210px, 1.2fr) 135px !important;
    gap: 12px !important;
    align-items: end !important;
}

.animals-results-area .animals-controls-row .animals-clear {
    display: none !important;
}

.animals-results-area .animals-results-count {
    max-width: 1320px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 auto 22px !important;
    color: var(--animals-dark-blue) !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

/* Force arrows to sit on the same lower navigation line as the dots. */
.animals-results-area .animals-mini-carousel .animals-carousel-arrow,
.animals-single .animals-profile-carousel-clean .animals-carousel-arrow {
    top: auto !important;
    bottom: 19px !important;
    transform: none !important;
    margin: 0 !important;
}

.animals-results-area .animals-mini-carousel .animals-carousel-prev,
.animals-single .animals-profile-carousel-clean .animals-carousel-prev {
    left: calc(50% - 86px) !important;
    right: auto !important;
}

.animals-results-area .animals-mini-carousel .animals-carousel-next,
.animals-single .animals-profile-carousel-clean .animals-carousel-next {
    right: calc(50% - 86px) !important;
    left: auto !important;
}

.animals-results-area .animals-mini-carousel .animals-carousel-dots,
.animals-single .animals-profile-carousel-clean .animals-carousel-dots {
    bottom: 31px !important;
}

/* Prevent lost-pet page from visually resembling adopt if no lost statuses are mapped. */
.animals-results-area.animals-mode-lost .animals-empty {
    grid-column: 1 / -1 !important;
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    color: var(--animals-dark-blue) !important;
    font-weight: 700 !important;
}

@media (max-width: 1180px) {
    .animals-results-area .animals-controls-row {
        grid-template-columns: 1fr !important;
    }

    .animals-results-area .animals-controls-row .animals-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .animals-results-area .animals-controls-row .animals-type-tabs,
    .animals-results-area .animals-controls-row .animals-filters {
        grid-template-columns: 1fr !important;
    }
}


/* v7.1 adopt/lost split */
.animals-results-area .animals-results-count {
    display: none !important;
}

.animals-results-area.animals-mode-lost .animals-empty {
    grid-column: 1 / -1 !important;
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    color: var(--animals-dark-blue, #00324d) !important;
    font-weight: 700 !important;
}


/* v7.3 lost-pet display */
.animals-results-area.animals-mode-lost .animals-controls-row {
    grid-template-columns: 420px 1fr !important;
}

.animals-results-area.animals-mode-lost .animals-lost-filters {
    grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) minmax(210px, 1fr) 135px !important;
}

.animals-results-area.animals-mode-lost .animals-card-lost .animals-card-body {
    min-height: 136px !important;
}

.animals-results-area.animals-mode-lost .animals-card-lost h3 {
    font-size: 34px !important;
    margin-top: 0 !important;
}

.animals-results-area.animals-mode-lost .animals-card-lost .animals-button,
.animals-results-area.animals-mode-lost .animals-card-lost .animals-card-subtitle,
.animals-results-area.animals-mode-lost .animals-card-lost .animals-card-compatibility {
    display: none !important;
}

.animals-results-area .animals-status-badge {
    top: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
    background: var(--animals-blue, #159ad6) !important;
    color: #fff !important;
    border-radius: 5px !important;
    padding: 8px 14px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

@media (max-width: 1180px) {
    .animals-results-area.animals-mode-lost .animals-lost-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .animals-results-area.animals-mode-lost .animals-lost-filters {
        grid-template-columns: 1fr !important;
    }
}


/* v7.6 admin/debug driven public refinements */
.animals-results-area .animals-filters label:empty {
    display: none !important;
}

.animals-single.animals-profile-lost .animals-profile-status-badge {
    position: static !important;
    display: inline-block !important;
    transform: none !important;
    margin-bottom: 12px !important;
}

.animals-single.animals-profile-lost h1 {
    margin-top: 0 !important;
}

.animals-single.animals-profile-lost .animals-profile-subtitle {
    font-weight: 800 !important;
    color: var(--animals-dark-blue, #00324d) !important;
}


/* v7.11 live API external image fallback */
.animals-results-area .animals-mini-slide img,
.animals-single .animals-profile-slide-clean img,
.animals-single .animals-profile-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}


/* v7.13 image proxy/direct storage fix */
.animals-results-area .animals-mini-slide img,
.animals-single .animals-profile-slide-clean img,
.animals-single .animals-profile-slide img {
    background: #eaf7fc !important;
}

/* Photo carousel controls: keep dots between the arrows on every animal card/profile. */
.animals-results-area .animals-carousel-prev,
.animals-single .animals-carousel-prev {
    left: 14px !important;
}

.animals-results-area .animals-carousel-next,
.animals-single .animals-carousel-next {
    right: 14px !important;
}

.animals-results-area .animals-carousel-dots,
.animals-single .animals-carousel-dots {
    max-width: calc(100% - 112px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    padding: 3px 2px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.animals-results-area .animals-carousel-dots::-webkit-scrollbar,
.animals-single .animals-carousel-dots::-webkit-scrollbar {
    display: none !important;
}

.animals-results-area .animals-carousel-dots button,
.animals-single .animals-carousel-dots button {
    flex: 0 0 auto !important;
}

/* Homepage: latest adoptable dogs carousel (v7.14.4). */
.animals-home-carousel {
    position: relative !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

.animals-home-carousel-viewport {
    overflow: hidden !important;
    width: 100% !important;
}

.animals-home-carousel-track {
    display: flex !important;
    align-items: stretch !important;
    gap: 24px !important;
    transform: translate3d(0, 0, 0);
    transition: transform .38s ease !important;
    will-change: transform;
}

.animals-home-carousel-slide {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    min-width: 0 !important;
    display: flex !important;
}

.animals-home-carousel-slide > .animals-card {
    width: 100% !important;
}

.animals-home-carousel-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
    margin: 26px auto 0 !important;
    width: 100% !important;
}

.animals-home-carousel-arrow {
    position: static !important;
    z-index: auto !important;
    transform: none !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--animals-blue) !important;
    color: #fff !important;
    font-size: 32px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 0 3px !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.animals-home-carousel-arrow:hover,
.animals-home-carousel-arrow:focus-visible {
    background: var(--animals-dark-blue) !important;
    color: #fff !important;
}

.animals-home-carousel-view-all {
    min-width: 246px !important;
    min-height: 58px !important;
    padding: 0 28px !important;
    border-radius: 9px !important;
    background: var(--animals-blue) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}

.animals-home-carousel-view-all:hover,
.animals-home-carousel-view-all:focus-visible {
    background: var(--animals-dark-blue) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.animals-home-carousel.is-static .animals-home-carousel-arrow {
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 1100px) {
    .animals-home-carousel-slide {
        flex-basis: calc((100% - 24px) / 2) !important;
    }
}

@media (max-width: 700px) {
    .animals-results-area .animals-carousel-arrow,
    .animals-single .animals-carousel-arrow {
        width: 32px !important;
        height: 32px !important;
        bottom: 13px !important;
        font-size: 25px !important;
    }

    .animals-results-area .animals-carousel-prev,
    .animals-single .animals-carousel-prev {
        left: 10px !important;
    }

    .animals-results-area .animals-carousel-next,
    .animals-single .animals-carousel-next {
        right: 10px !important;
    }

    .animals-results-area .animals-carousel-dots,
    .animals-single .animals-carousel-dots {
        max-width: calc(100% - 96px) !important;
        bottom: 21px !important;
        gap: 6px !important;
    }

    .animals-results-area .animals-carousel-dots button,
    .animals-single .animals-carousel-dots button {
        width: 8px !important;
        height: 8px !important;
    }

    .animals-results-area .animals-carousel-dots button.active,
    .animals-single .animals-carousel-dots button.active {
        width: 16px !important;
    }

    .animals-home-carousel-slide {
        flex-basis: 100% !important;
    }

    .animals-home-carousel-track {
        gap: 16px !important;
    }

    .animals-home-carousel-controls {
        gap: 14px !important;
        margin-top: 20px !important;
        padding: 0 8px !important;
    }

    .animals-home-carousel-arrow {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
        font-size: 28px !important;
    }

    .animals-home-carousel-view-all {
        min-width: 0 !important;
        width: min(100%, 230px) !important;
        min-height: 52px !important;
        padding: 0 20px !important;
        font-size: 18px !important;
    }
}

/* v7.14.5: use consistent SVG chevrons instead of font glyphs. */
.animals-results-area .animals-carousel-arrow,
.animals-single .animals-carousel-arrow,
.animals-home-carousel-arrow {
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

.animals-results-area .animals-carousel-arrow .animals-arrow-icon,
.animals-single .animals-carousel-arrow .animals-arrow-icon,
.animals-home-carousel-arrow .animals-arrow-icon {
    width: 19px !important;
    height: 19px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 19px !important;
    pointer-events: none !important;
}

.animals-results-area .animals-carousel-arrow .animals-arrow-icon svg,
.animals-single .animals-carousel-arrow .animals-arrow-icon svg,
.animals-home-carousel-arrow .animals-arrow-icon svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: visible !important;
}

@media (max-width: 700px) {
    .animals-results-area .animals-carousel-arrow .animals-arrow-icon,
    .animals-single .animals-carousel-arrow .animals-arrow-icon,
    .animals-home-carousel-arrow .animals-arrow-icon {
        width: 17px !important;
        height: 17px !important;
        flex-basis: 17px !important;
    }
}



/* v7.14.6: reserve a dedicated centre lane for dots so they can never cover arrows. */
.animals-results-area .animals-mini-carousel .animals-carousel-arrow,
.animals-single .animals-profile-carousel-clean .animals-carousel-arrow {
    z-index: 6 !important;
}

.animals-results-area .animals-mini-carousel .animals-carousel-dots,
.animals-single .animals-profile-carousel-clean .animals-carousel-dots {
    z-index: 4 !important;
    left: 62px !important;
    right: 62px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

@media (max-width: 700px) {
    .animals-results-area .animals-mini-carousel .animals-carousel-dots,
    .animals-single .animals-profile-carousel-clean .animals-carousel-dots {
        left: 52px !important;
        right: 52px !important;
    }
}


/* v7.14.7: keep one photo-navigation pair only.
 * The intended controls are explicitly marked with .animals-photo-nav-control.
 * Hide legacy or theme-injected side arrows inside animal photo carousels.
 */
.animals-results-area .animals-mini-carousel .animals-carousel-arrow:not(.animals-photo-nav-control),
.animals-single .animals-profile-carousel-clean .animals-carousel-arrow:not(.animals-photo-nav-control),
.animals-results-area .animals-mini-carousel .slick-arrow,
.animals-single .animals-profile-carousel-clean .slick-arrow,
.animals-results-area .animals-mini-carousel .swiper-button-prev,
.animals-results-area .animals-mini-carousel .swiper-button-next,
.animals-single .animals-profile-carousel-clean .swiper-button-prev,
.animals-single .animals-profile-carousel-clean .swiper-button-next,
.animals-results-area .animals-mini-carousel .owl-prev,
.animals-results-area .animals-mini-carousel .owl-next,
.animals-single .animals-profile-carousel-clean .owl-prev,
.animals-single .animals-profile-carousel-clean .owl-next,
.animals-results-area .animals-mini-carousel .splide__arrow,
.animals-single .animals-profile-carousel-clean .splide__arrow,
.animals-results-area .animals-mini-carousel .flickity-button,
.animals-single .animals-profile-carousel-clean .flickity-button,
.animals-results-area .animals-mini-carousel .et-pb-arrow-prev,
.animals-results-area .animals-mini-carousel .et-pb-arrow-next,
.animals-single .animals-profile-carousel-clean .et-pb-arrow-prev,
.animals-single .animals-profile-carousel-clean .et-pb-arrow-next {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.animals-results-area .animals-mini-carousel > .animals-photo-nav-control,
.animals-single .animals-profile-carousel-clean > .animals-photo-nav-control {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
}


/* v7.15.0: exact age labels, related lost pets and adoption information panel. */
.animals-adoption-interest-panel {
    margin-top: 24px !important;
    padding: 28px 30px !important;
    border-radius: 18px !important;
    background: #b9e7fa !important;
    color: #17364a !important;
    box-sizing: border-box !important;
}
.animals-adoption-interest-panel h2 {
    margin: 0 0 14px !important;
    color: #17364a !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    line-height: 1.12 !important;
}
.animals-adoption-interest-panel p {
    margin: 0 0 12px !important;
    color: #17364a !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}
.animals-adoption-interest-panel p:last-child { margin-bottom: 0 !important; }

.animals-related-lost {
    margin-top: 56px !important;
    padding: 42px 0 10px !important;
    text-align: center !important;
    overflow: hidden !important;
}
.animals-related-lost-eyebrow {
    margin: 0 0 4px !important;
    color: #3f4b52 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}
.animals-related-lost > h2 {
    margin: 0 0 30px !important;
    color: var(--animals-blue) !important;
    font-size: clamp(34px, 5vw, 58px) !important;
    line-height: 1.05 !important;
}
.animals-related-lost-viewport { overflow: hidden !important; width: 100% !important; }
.animals-related-lost-track {
    display: flex !important;
    gap: 24px !important;
    align-items: stretch !important;
    transition: transform .35s ease !important;
    will-change: transform !important;
}
.animals-related-lost-slide {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    min-width: 0 !important;
    display: flex !important;
}
.animals-related-lost-slide .animals-card {
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}
.animals-related-lost-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin-top: 24px !important;
}
.animals-related-lost-arrow {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--animals-blue) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}
.animals-related-lost-arrow:hover,
.animals-related-lost-arrow:focus-visible { background: var(--animals-dark-blue) !important; }
.animals-related-lost-arrow .animals-arrow-icon {
    width: 17px !important;
    height: 17px !important;
    display: inline-flex !important;
}
.animals-related-lost-arrow svg { width: 100% !important; height: 100% !important; display: block !important; }
.animals-related-lost-pages {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.animals-related-lost-pages button {
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #66727a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}
.animals-related-lost-pages button.active {
    background: var(--animals-blue) !important;
    color: #fff !important;
}
.animals-related-lost.is-static .animals-related-lost-arrow,
.animals-related-lost.is-static .animals-related-lost-pages { display: none !important; }

@media (max-width: 1100px) {
    .animals-related-lost-slide { flex-basis: calc((100% - 20px) / 2) !important; }
    .animals-related-lost-track { gap: 20px !important; }
}
@media (max-width: 700px) {
    .animals-adoption-interest-panel {
        margin-top: 18px !important;
        padding: 22px 20px !important;
        border-radius: 14px !important;
    }
    .animals-adoption-interest-panel p { font-size: 15px !important; }
    .animals-related-lost {
        margin-top: 38px !important;
        padding-top: 28px !important;
    }
    .animals-related-lost > h2 { margin-bottom: 22px !important; }
    .animals-related-lost-slide { flex-basis: 100% !important; }
    .animals-related-lost-track { gap: 16px !important; }
    .animals-related-lost-controls { gap: 10px !important; margin-top: 18px !important; }
    .animals-related-lost-pages { gap: 4px !important; }
    .animals-related-lost-pages button { width: 29px !important; height: 29px !important; font-size: 14px !important; }
    .animals-related-lost-arrow { width: 36px !important; height: 36px !important; min-width: 36px !important; }
    .animals-type-tabs { flex-wrap: wrap !important; }
    .animals-type-tabs a[data-type="other"] { flex: 1 1 100% !important; }
}
