/* BEGIN PROFESSIONAL RESCUE WORKFLOWS */
:root {
    --workflow-gold: #c7a349;
    --workflow-gold-dark: #866111;
    --workflow-gold-soft: #fbf2d8;
    --workflow-navy: #173f75;
    --workflow-navy-deep: #0f2e55;
    --workflow-navy-soft: #edf4fb;
    --workflow-bg: #fffdf2;
    --workflow-surface: #ffffff;
    --workflow-ink: #26384c;
    --workflow-muted: #607084;
    --workflow-line: #d7e1eb;
    --workflow-shadow: 0 18px 48px rgb(15 46 85 / 12%);
    --workflow-shadow-small: 0 10px 28px rgb(15 46 85 / 8%);
}

body:has(.application-page),
body:has(.donation-page),
body:has(.service-landing),
body:has(.service-application-page),
body:has(.service-confirmation),
body:has(.service-application-list),
body:has(.service-application-detail) {
    background:
        radial-gradient(
            circle at 8% 3%,
            rgb(199 163 73 / 13%),
            transparent 26rem
        ),
        radial-gradient(
            circle at 92% 18%,
            rgb(23 63 117 / 7%),
            transparent 28rem
        ),
        var(--workflow-bg);
}

/* Adoption application */
.application-page,
.application-page--wide {
    width: min(1180px, calc(100% - 2rem));
    padding: clamp(2rem, 5vw, 4rem) 0;
}

.application-card {
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.application-card > .eyebrow {
    margin: 0;
    padding: clamp(2rem, 5vw, 4rem) clamp(2rem, 5vw, 4rem) 0;
    border-top: 8px solid var(--workflow-navy);
    border-right: 1px solid var(--workflow-line);
    border-left: 1px solid var(--workflow-line);
    border-radius: 28px 28px 0 0;
    background: linear-gradient(135deg, #ffffff, var(--workflow-gold-soft));
    color: var(--workflow-gold-dark);
}

.application-card > h1 {
    margin: 0;
    padding: 0.5rem clamp(2rem, 5vw, 4rem) 0;
    border-right: 1px solid var(--workflow-line);
    border-left: 1px solid var(--workflow-line);
    background: linear-gradient(135deg, #ffffff, var(--workflow-gold-soft));
    color: var(--workflow-navy-deep);
    font-size: clamp(2.2rem, 5vw, 4rem);
    letter-spacing: -0.04em;
    line-height: 1;
}

.application-card > .application-status {
    margin: 0;
    padding: 1rem clamp(2rem, 5vw, 4rem) 2rem;
    display: block;
    border-right: 1px solid var(--workflow-line);
    border-bottom: 1px solid var(--workflow-line);
    border-left: 1px solid var(--workflow-line);
    border-radius: 0 0 28px 28px;
    background: linear-gradient(135deg, #ffffff, var(--workflow-gold-soft));
    color: var(--workflow-navy-deep);
    box-shadow: var(--workflow-shadow);
}

.application-summary {
    margin: 1rem 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.application-summary > div {
    min-width: 0;
    border: 1px solid var(--workflow-line);
    border-top: 4px solid var(--workflow-gold);
    background: var(--workflow-surface);
    box-shadow: var(--workflow-shadow-small);
}

.application-summary dt {
    color: var(--workflow-muted);
}

.application-summary dd {
    color: var(--workflow-navy-deep);
}

.application-animal-selection,
.application-notice,
.questionnaire-saved-message {
    margin: 1rem 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--workflow-line);
    border-left: 6px solid var(--workflow-gold);
    border-radius: 20px;
    background: var(--workflow-surface);
    box-shadow: var(--workflow-shadow-small);
}

.application-animal-selection h2,
.application-notice h2 {
    color: var(--workflow-navy-deep);
}

.application-animal-ranks li {
    border: 1px solid var(--workflow-line);
    background: #fbfcfe;
}

.application-animal-rank {
    border: 2px solid var(--workflow-gold);
    background: var(--workflow-navy);
    color: #ffffff;
}

.questionnaire-form {
    counter-reset: adoption-section;
    margin-top: 1.2rem;
    display: grid;
    gap: 1.2rem;
}

.questionnaire-section {
    counter-increment: adoption-section;
    margin: 0;
    padding: clamp(1.35rem, 3vw, 2.2rem);
    border: 1px solid var(--workflow-line);
    border-radius: 24px;
    background: var(--workflow-surface);
    box-shadow: var(--workflow-shadow-small);
}

.questionnaire-section legend {
    width: 100%;
    margin: 0 0 1.4rem;
    padding: 0 0 1rem 3.8rem;
    position: relative;
    border-bottom: 1px solid var(--workflow-line);
    color: var(--workflow-navy-deep);
    font-size: 1.35rem;
    font-weight: 900;
}

.questionnaire-section legend::before {
    position: absolute;
    top: -0.45rem;
    left: 0;
    width: 2.9rem;
    height: 2.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--workflow-gold);
    border-radius: 14px;
    background: var(--workflow-gold-soft);
    color: var(--workflow-navy-deep);
    content: counter(adoption-section);
    font-size: 1rem;
    font-weight: 900;
}

.questionnaire-fields {
    gap: 1.05rem 1.15rem;
}

.question-field label {
    color: var(--workflow-navy-deep);
}

.question-field > input:not([type="checkbox"]),
.question-field > select,
.question-field > textarea,
.repeatable-gateway > select,
.directory-choice select,
.directory-choice input {
    min-height: 49px;
    padding: 0.76rem 0.85rem;
    border: 1px solid #b8c4d1;
    border-radius: 12px;
    background: #ffffff;
    color: var(--workflow-ink);
}

.question-field > input:focus,
.question-field > select:focus,
.question-field > textarea:focus,
.repeatable-gateway > select:focus,
.directory-choice select:focus,
.directory-choice input:focus {
    border-color: var(--workflow-gold);
    outline: 3px solid rgb(199 163 73 / 28%);
    outline-offset: 2px;
}

.repeatable-table-wrapper {
    border: 1px solid var(--workflow-line);
    border-radius: 16px;
    background: #ffffff;
}

.questionnaire-actions {
    padding: 1.15rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    border: 1px solid rgb(199 163 73 / 55%);
    border-radius: 20px;
    background: linear-gradient(135deg, #ffffff, var(--workflow-gold-soft));
    box-shadow: var(--workflow-shadow-small);
}

.application-error-summary {
    border-color: #e1aaaa;
    border-left: 6px solid #9d2e2e;
    border-radius: 18px;
    background: #fff7f7;
}

.application-list-card,
.submitted-application-card,
.application-reference-card {
    border-color: var(--workflow-line);
    border-top: 5px solid var(--workflow-gold);
    background: var(--workflow-surface);
    box-shadow: var(--workflow-shadow-small);
}

/* Donation */
.donation-page {
    width: min(1180px, calc(100% - 2rem));
    margin: clamp(2rem, 5vw, 4rem) auto;
    color: var(--workflow-ink);
}

.donation-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.2rem;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid var(--workflow-line);
    border-top: 8px solid var(--workflow-navy);
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff, var(--workflow-gold-soft));
    box-shadow: var(--workflow-shadow);
}

.donation-hero::after {
    position: absolute;
    top: -7rem;
    right: -7rem;
    width: 19rem;
    height: 19rem;
    border: 2rem solid rgb(199 163 73 / 13%);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.donation-hero h1,
.donation-checkout-heading h1,
.donation-status-card h1 {
    position: relative;
    z-index: 1;
    color: var(--workflow-navy-deep);
    font-size: clamp(2.2rem, 5vw, 4rem);
    letter-spacing: -0.04em;
    line-height: 1;
}

.donation-hero__intro {
    position: relative;
    z-index: 1;
    color: var(--workflow-muted);
}

.donation-security-notice {
    position: relative;
    z-index: 1;
    border: 2px solid var(--workflow-gold);
    background: var(--workflow-navy);
    color: #ffffff;
    box-shadow: 0 14px 30px rgb(15 46 85 / 18%);
}

.donation-method-note,
.donation-unavailable,
.donation-thank-you {
    border: 1px solid rgb(199 163 73 / 55%);
    border-left: 6px solid var(--workflow-gold);
    background: linear-gradient(135deg, #ffffff, var(--workflow-gold-soft));
    box-shadow: var(--workflow-shadow-small);
}

.donation-form {
    counter-reset: donation-section;
    gap: 1.2rem;
}

.donation-form .questionnaire-section {
    counter-increment: donation-section;
    position: relative;
    padding: clamp(1.35rem, 3vw, 2.2rem);
    border: 1px solid var(--workflow-line);
    border-radius: 24px;
    background: var(--workflow-surface);
    box-shadow: var(--workflow-shadow-small);
}

.donation-form .questionnaire-section legend {
    padding-left: 3.8rem;
    border-bottom: 1px solid var(--workflow-line);
    color: var(--workflow-navy-deep);
}

.donation-form .questionnaire-section legend::before {
    position: absolute;
    top: 1.45rem;
    left: 1.35rem;
    width: 2.9rem;
    height: 2.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--workflow-gold);
    border-radius: 14px;
    background: var(--workflow-gold-soft);
    color: var(--workflow-navy-deep);
    content: counter(donation-section);
    font-weight: 900;
}

.donation-amount-input {
    border: 1px solid #b8c4d1;
    border-radius: 12px;
}

.donation-amount-input:focus-within {
    border-color: var(--workflow-gold);
    outline: 3px solid rgb(199 163 73 / 28%);
}

.donation-submit-button {
    min-height: 54px;
    padding: 0.85rem 1.4rem;
    border: 2px solid var(--workflow-gold);
    border-radius: 999px;
    background: var(--workflow-navy);
    color: #ffffff;
    box-shadow: 0 12px 26px rgb(23 63 117 / 18%);
}

.donation-checkout-frame,
.donation-checkout-summary,
.donation-status-card {
    border: 1px solid var(--workflow-line);
    border-top: 5px solid var(--workflow-gold);
    background: var(--workflow-surface);
    box-shadow: var(--workflow-shadow);
}

/* Rehome */
.rehome-important-note {
    margin-top: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid #e2b4b4;
    border-left: 6px solid #9d2e2e;
    border-radius: 18px;
    background: #fff7f7;
    color: #6f2626;
    line-height: 1.6;
}

.rehome-important-note strong {
    display: block;
    color: #7f2020;
}

.rehome-application-page .service-field--error {
    padding: 0.65rem;
    border: 1px solid #e1aaaa;
    border-radius: 12px;
    background: #fff7f7;
}

.service-landing,
.service-application-page,
.service-confirmation,
.service-application-list,
.service-application-detail {
    --jm-app-page: var(--workflow-bg);
}

@media (max-width: 900px) {
    .application-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .donation-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .application-summary,
    .questionnaire-fields,
    .donation-form-grid {
        grid-template-columns: 1fr;
    }

    .application-card > .eyebrow {
        padding: 1.5rem 1.4rem 0;
    }

    .application-card > h1 {
        padding: 0.5rem 1.4rem 0;
    }

    .application-card > .application-status {
        padding: 1rem 1.4rem 1.5rem;
    }

    .questionnaire-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .questionnaire-actions .primary-button,
    .questionnaire-actions .secondary-button {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 520px) {
    .application-page,
    .application-page--wide,
    .donation-page {
        width: min(100% - 1rem, 1180px);
    }

    .questionnaire-section,
    .donation-form .questionnaire-section {
        padding: 1.05rem;
        border-radius: 18px;
    }

    .questionnaire-section legend,
    .donation-form .questionnaire-section legend {
        padding-left: 3.3rem;
    }

    .donation-form .questionnaire-section legend::before {
        top: 1.05rem;
        left: 1.05rem;
    }
}
/* END PROFESSIONAL RESCUE WORKFLOWS */

/* BEGIN ADOPTION PREFERENCE CARDS */
.application-animal-card-grid {
    margin: 1.5rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    list-style: none;
}

.application-animal-card {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.application-animal-card__inner {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 2px solid rgb(199 163 73 / 70%);
    border-radius: 20px;
    background: #173f75;
    box-shadow: 0 12px 28px rgb(15 46 85 / 16%);
    isolation: isolate;
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.application-animal-card__inner:hover,
.application-animal-card__inner:focus-within {
    transform: translateY(-3px);
    border-color: #c7a349;
    box-shadow: 0 18px 36px rgb(15 46 85 / 22%);
}

.application-animal-card__photo-link {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            rgb(251 243 220),
            rgb(237 244 251)
        );
}

.application-animal-card__photo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1 / 1;
    transition: transform 220ms ease;
}

.application-animal-card__inner:hover
.application-animal-card__photo {
    transform: scale(1.035);
}

.application-animal-card__photo-placeholder {
    width: 100%;
    height: 100%;
    padding: 1rem;
    display: grid;
    place-content: center;
    gap: 0.4rem;
    background:
        radial-gradient(
            circle at 35% 25%,
            rgb(199 163 73 / 30%),
            transparent 38%
        ),
        linear-gradient(135deg, #fbf3dc, #edf4fb);
    color: #173f75;
    text-align: center;
}

.application-animal-card__photo-placeholder span {
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.application-animal-card__photo-placeholder strong {
    font-size: 0.82rem;
    line-height: 1.25;
}

.application-animal-card__body {
    position: absolute;
    inset: 0;
    z-index: 1;
    min-width: 0;
    padding: 0.72rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #ffffff;
    background:
        linear-gradient(
            180deg,
            rgb(8 26 49 / 8%) 0%,
            rgb(8 26 49 / 10%) 35%,
            rgb(8 26 49 / 88%) 72%,
            rgb(8 26 49 / 97%) 100%
        );
    pointer-events: none;
}

.application-animal-card__topline {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    left: 0.65rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.application-animal-card__rank {
    width: 2.15rem;
    height: 2.15rem;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border: 2px solid rgb(255 255 255 / 82%);
    border-radius: 50%;
    background: #c7a349;
    color: #102e55;
    box-shadow: 0 5px 14px rgb(0 0 0 / 24%);
    font-size: 0.92rem;
    font-weight: 950;
}

.application-animal-card__label {
    max-width: calc(100% - 2.7rem);
    padding: 0.35rem 0.55rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 999px;
    background: rgb(15 46 85 / 88%);
    color: #ffffff;
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
    backdrop-filter: blur(6px);
}

.application-animal-card__name {
    max-width: 100%;
    margin: 0 0 0.48rem;
    overflow: hidden;
    color: #ffffff;
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 950;
    letter-spacing: -0.02em;
    line-height: 1.05;
    text-overflow: ellipsis;
    text-shadow: 0 2px 10px rgb(0 0 0 / 55%);
    white-space: nowrap;
    pointer-events: auto;
}

.application-animal-card__name a {
    color: inherit;
    text-decoration: none;
}

.application-animal-card__name a:hover,
.application-animal-card__name a:focus-visible {
    color: #f9dda0;
    text-decoration: underline;
    text-underline-offset: 0.16rem;
}

.application-animal-card__meta {
    min-width: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.32rem;
}

.application-animal-card__meta div {
    min-width: 0;
    max-width: 100%;
    padding: 0.28rem 0.4rem;
    display: inline-flex;
    align-items: baseline;
    gap: 0.24rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 28%);
    border-radius: 7px;
    background: rgb(255 255 255 / 14%);
    color: #ffffff;
    backdrop-filter: blur(6px);
}

.application-animal-card__meta dt,
.application-animal-card__meta dd {
    margin: 0;
    overflow: hidden;
    font-size: 0.66rem;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.application-animal-card__meta dt {
    color: rgb(255 255 255 / 72%);
    font-weight: 750;
    text-transform: uppercase;
}

.application-animal-card__meta dd {
    color: #ffffff;
    font-weight: 900;
}

.application-animal-card__fee-row {
    border-color: rgb(199 163 73 / 72%) !important;
    background: rgb(199 163 73 / 28%) !important;
}

.application-animal-card__photo-link,
.application-animal-card__name,
.application-animal-card__name a {
    pointer-events: auto;
}

@media (max-width: 1080px) {
    .application-animal-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 850px) {
    .application-animal-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .application-animal-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .application-animal-card-grid {
        grid-template-columns: 1fr;
    }
}
/* END ADOPTION PREFERENCE CARDS */

/* BEGIN SHARED ADOPTION AND FOSTER SQUARE CARDS */
.animal-showcase-section {
    margin-top: clamp(2rem, 5vw, 4rem);
}

.animal-showcase-section__header,
.service-selected-animals > header {
    margin-bottom: 1.25rem;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.animal-showcase-section__header h2,
.service-selected-animals h2 {
    margin: 0;
    color: #0f2e55;
    font-size: clamp(1.65rem, 3vw, 2.45rem);
    line-height: 1.05;
}

.animal-showcase-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.4rem);
}

.animal-showcase-card {
    min-width: 0;
}

.animal-showcase-card .application-animal-card__inner {
    min-height: 0;
}

.animal-showcase-card .application-animal-card__body {
    padding: 0.78rem;
}

.animal-showcase-card__summary {
    margin: 0 0 0.45rem;
    display: -webkit-box;
    overflow: hidden;
    color: rgb(255 255 255 / 88%);
    font-size: 0.72rem;
    line-height: 1.25;
    text-shadow: 0 2px 8px rgb(0 0 0 / 55%);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.animal-showcase-card__actions,
.foster-home-card__actions {
    margin-top: 0.48rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    pointer-events: auto;
}

.animal-showcase-card__profile,
.animal-showcase-card__remove,
.animal-interest-action--card button,
.animal-interest-action--card .animal-interest-list-link {
    min-height: 30px;
    padding: 0.35rem 0.58rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(255 255 255 / 62%);
    border-radius: 999px;
    background: rgb(15 46 85 / 78%);
    color: #ffffff;
    font: inherit;
    font-size: 0.66rem;
    font-weight: 850;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.animal-interest-action--card {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.animal-interest-action--card form {
    margin: 0;
}

.animal-interest-action--card button {
    border-color: rgb(249 221 160 / 85%);
    background: rgb(199 163 73 / 84%);
    color: #102e55;
}

.service-selected-animals {
    margin: 1.5rem 0;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid rgb(23 63 117 / 15%);
    border-radius: 24px;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 12px 30px rgb(15 46 85 / 8%);
}

.service-selected-animals > header a {
    font-weight: 800;
}

.shared-home-card {
    display: grid;
    gap: clamp(2rem, 5vw, 3.5rem);
}

.my-home-workflow {
    min-width: 0;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(23 63 117 / 14%);
}

.foster-home-card__choice {
    max-width: calc(100% - 6rem);
    padding: 0.35rem 0.52rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    border: 1px solid rgb(255 255 255 / 62%);
    border-radius: 999px;
    background: rgb(255 255 255 / 88%);
    color: #102e55;
    font-size: 0.67rem;
    font-weight: 900;
    pointer-events: auto;
    backdrop-filter: blur(8px);
}

.foster-home-card__choice input {
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: #c7a349;
}

.foster-home-selection-form .interest-basket-next-step {
    margin-top: 1.25rem;
}

.service-confirmation .service-selected-animals {
    position: relative;
    z-index: 1;
    width: 100%;
    text-align: left;
}

@media (max-width: 1100px) {
    .animal-showcase-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .animal-showcase-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .animal-showcase-section__header,
    .service-selected-animals > header {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .animal-showcase-grid {
        grid-template-columns: 1fr;
    }
}
/* END SHARED ADOPTION AND FOSTER SQUARE CARDS */


/* BEGIN PROFESSIONAL MY HOME */
.my-home-page {
    gap: clamp(1.1rem, 2.4vw, 1.8rem);
}

.my-home-hero {
    position: relative;
    overflow: hidden;
    align-items: center;
    background:
        radial-gradient(
            circle at 88% 16%,
            rgb(199 163 73 / 31%),
            transparent 30%
        ),
        radial-gradient(
            circle at 4% 95%,
            rgb(29 79 134 / 12%),
            transparent 36%
        ),
        linear-gradient(135deg, #ffffff, #f4f8fd);
}

.my-home-hero::after {
    content: "♥";
    position: absolute;
    right: clamp(1rem, 5vw, 4rem);
    bottom: -0.35em;
    color: rgb(199 163 73 / 9%);
    font-size: clamp(8rem, 20vw, 17rem);
    line-height: 1;
    pointer-events: none;
}

.my-home-hero__copy,
.my-home-hero__actions {
    position: relative;
    z-index: 1;
}

.my-home-hero__copy {
    max-width: 780px;
}

.my-home-hero__actions {
    min-width: min(100%, 260px);
    display: grid;
    gap: 0.65rem;
}

.my-home-hero__actions a {
    width: 100%;
}

.my-home-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.my-home-summary-card {
    min-width: 0;
    padding: 1rem 1.15rem;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    border: 1px solid var(--portal-border);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgb(16 47 88 / 8%);
}

.my-home-summary-card--gold {
    border-color: rgb(199 163 73 / 40%);
    background:
        linear-gradient(
            135deg,
            rgb(251 245 230 / 96%),
            #ffffff
        );
}

.my-home-summary-card__icon {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgb(29 79 134 / 10%);
    color: var(--portal-navy);
    font-size: 1.35rem;
    font-weight: 950;
}

.my-home-summary-card--gold
.my-home-summary-card__icon {
    background: rgb(199 163 73 / 22%);
}

.my-home-summary-card div {
    min-width: 0;
    display: grid;
    gap: 0.1rem;
}

.my-home-summary-card strong {
    color: var(--portal-navy);
    font-size: 1.7rem;
    line-height: 1;
}

.my-home-summary-card span:last-child {
    color: var(--portal-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.my-home-application-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(1rem, 4vw, 2.5rem);
    border-color: rgb(199 163 73 / 44%);
    background:
        radial-gradient(
            circle at 95% 50%,
            rgb(199 163 73 / 16%),
            transparent 32%
        ),
        linear-gradient(135deg, #fffdf7, #ffffff);
}

.my-home-application-panel__copy {
    max-width: 780px;
}

.my-home-application-panel h2 {
    margin: 0.15rem 0 0.55rem;
    color: var(--portal-navy);
    font-size: clamp(1.55rem, 3.5vw, 2.65rem);
    line-height: 1.04;
}

.my-home-application-panel p {
    margin: 0;
    color: var(--portal-muted);
    line-height: 1.6;
}

.my-home-application-panel__action {
    min-width: min(100%, 265px);
    display: grid;
    gap: 0.55rem;
}

.my-home-application-panel__action small {
    color: var(--portal-muted);
    font-size: 0.74rem;
    line-height: 1.4;
    text-align: center;
}

.my-home-section {
    scroll-margin-top: 7rem;
}

.my-home-section__heading {
    align-items: center;
}

.my-home-section__heading > div {
    max-width: 800px;
}

.my-home-section__heading p:not(.eyebrow) {
    max-width: 720px;
    margin: 0.45rem 0 0;
    color: var(--portal-muted);
    line-height: 1.55;
}

.my-home-guidance {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid rgb(29 79 134 / 15%);
    border-radius: 16px;
    background: #f5f9fe;
}

.my-home-guidance > span {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--portal-navy);
    color: #ffffff;
    font-weight: 950;
}

.my-home-guidance p {
    margin: 0;
    color: #4f6074;
    font-size: 0.88rem;
    line-height: 1.5;
}

.my-home-animal-grid,
.interest-basket-list.my-home-animal-grid {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.9rem, 2vw, 1.25rem);
    list-style: none;
}

.my-home-animal-card,
.interest-basket-item.my-home-animal-card {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.my-home-animal-card__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1px solid rgb(16 47 88 / 18%);
    border-radius: 22px;
    background: var(--portal-navy-deep);
    box-shadow: 0 15px 34px rgb(16 47 88 / 15%);
    isolation: isolate;
    transition:
        transform 170ms ease,
        box-shadow 170ms ease,
        border-color 170ms ease;
}

.my-home-animal-card__frame:hover,
.my-home-animal-card__frame:focus-within {
    transform: translateY(-4px);
    border-color: rgb(199 163 73 / 72%);
    box-shadow: 0 22px 44px rgb(16 47 88 / 22%);
}

.my-home-animal-card__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background:
        linear-gradient(135deg, #f8efd8, #e8f0f8);
}

.my-home-animal-card__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 240ms ease;
}

.my-home-animal-card__frame:hover
.my-home-animal-card__photo img {
    transform: scale(1.035);
}

.my-home-animal-card__placeholder {
    width: 100%;
    height: 100%;
    padding: 1rem;
    display: grid;
    place-content: center;
    gap: 0.45rem;
    color: var(--portal-navy);
    font-size: 0.82rem;
    font-weight: 850;
    text-align: center;
}

.my-home-animal-card__placeholder span {
    font-size: 2.5rem;
}

.my-home-animal-card__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            180deg,
            rgb(5 22 43 / 4%) 0%,
            rgb(5 22 43 / 6%) 37%,
            rgb(5 22 43 / 72%) 63%,
            rgb(5 22 43 / 98%) 100%
        );
    pointer-events: none;
}

.my-home-animal-card__badges {
    position: absolute;
    top: 0.72rem;
    right: 0.72rem;
    left: 0.72rem;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.45rem;
    pointer-events: none;
}

.my-home-rank-badge {
    min-width: 3.2rem;
    min-height: 3.2rem;
    padding: 0.35rem;
    display: grid;
    place-items: center;
    border: 2px solid rgb(255 255 255 / 82%);
    border-radius: 50%;
    background: var(--portal-gold);
    color: var(--portal-navy-deep);
    box-shadow: 0 6px 16px rgb(0 0 0 / 24%);
}

.my-home-rank-badge small,
.my-home-rank-badge strong {
    line-height: 1;
}

.my-home-rank-badge small {
    font-size: 0.54rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.my-home-rank-badge strong {
    font-size: 1.1rem;
}

.my-home-drag-badge,
.my-home-status-badge,
.my-home-select-badge {
    min-height: 2rem;
    padding: 0.38rem 0.58rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 999px;
    background: rgb(8 33 63 / 82%);
    color: #ffffff;
    font-size: 0.64rem;
    font-weight: 900;
    line-height: 1;
    backdrop-filter: blur(8px);
}

.my-home-select-badge {
    pointer-events: auto;
    background: rgb(255 255 255 / 91%);
    color: var(--portal-navy);
}

.my-home-select-badge input {
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--portal-gold);
}

.my-home-animal-card__content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    min-width: 0;
    padding: 0.85rem;
    color: #ffffff;
}

.my-home-animal-card__identity {
    min-width: 0;
}

.my-home-animal-card__identity h3 {
    margin: 0;
    overflow: hidden;
    color: #ffffff;
    font-size: clamp(1.12rem, 2vw, 1.5rem);
    font-weight: 950;
    line-height: 1.05;
    text-overflow: ellipsis;
    text-shadow: 0 2px 10px rgb(0 0 0 / 48%);
    white-space: nowrap;
}

.my-home-animal-card__identity h3 a {
    color: inherit;
    text-decoration: none;
}

.my-home-animal-card__identity h3 a:hover,
.my-home-animal-card__identity h3 a:focus-visible {
    color: #f8dda0;
    text-decoration: underline;
    text-underline-offset: 0.14rem;
}

.my-home-animal-card__identity > p {
    margin: 0.18rem 0 0;
    overflow: hidden;
    color: rgb(255 255 255 / 82%);
    font-size: 0.7rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.my-home-animal-card__facts {
    margin: 0.52rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.my-home-animal-card__facts div {
    min-width: 0;
    padding: 0.28rem 0.42rem;
    display: inline-flex;
    align-items: baseline;
    gap: 0.24rem;
    border: 1px solid rgb(255 255 255 / 24%);
    border-radius: 8px;
    background: rgb(255 255 255 / 13%);
    backdrop-filter: blur(6px);
}

.my-home-animal-card__facts dt,
.my-home-animal-card__facts dd {
    margin: 0;
    font-size: 0.62rem;
    line-height: 1.1;
}

.my-home-animal-card__facts dt {
    color: rgb(255 255 255 / 68%);
    font-weight: 750;
    text-transform: uppercase;
}

.my-home-animal-card__facts dd {
    color: #ffffff;
    font-weight: 900;
}

.my-home-animal-card__summary {
    margin: 0.48rem 0 0;
    display: -webkit-box;
    overflow: hidden;
    color: rgb(255 255 255 / 82%);
    font-size: 0.68rem;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.my-home-animal-card__controls {
    margin-top: 0.62rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.my-home-animal-card__controls form {
    margin: 0;
}

.my-home-animal-card__controls button,
.my-home-animal-card__controls > a {
    min-height: 30px;
    padding: 0.36rem 0.58rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border: 1px solid rgb(255 255 255 / 48%);
    border-radius: 999px;
    background: rgb(255 255 255 / 14%);
    color: #ffffff;
    font: inherit;
    font-size: 0.64rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.my-home-animal-card__controls button:hover,
.my-home-animal-card__controls button:focus-visible,
.my-home-animal-card__controls > a:hover,
.my-home-animal-card__controls > a:focus-visible {
    border-color: rgb(249 221 160 / 90%);
    background: rgb(199 163 73 / 85%);
    color: var(--portal-navy-deep);
}

.my-home-animal-card__controls button:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}

.my-home-animal-card__controls
.my-home-remove-button {
    border-color: rgb(255 200 200 / 58%);
    background: rgb(126 29 29 / 46%);
}

.interest-basket-item--dragging
.my-home-animal-card__frame {
    opacity: 0.62;
    transform: scale(0.985);
}

.interest-basket-item--drop-before
.my-home-animal-card__frame,
.interest-basket-item--drop-after
.my-home-animal-card__frame {
    outline: 4px solid var(--portal-gold);
    outline-offset: 3px;
}

.my-home-next-step {
    margin-top: 1.3rem;
    padding: clamp(1rem, 2.5vw, 1.4rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgb(199 163 73 / 42%);
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            rgb(251 245 230 / 94%),
            #ffffff
        );
}

.my-home-next-step h3 {
    margin: 0.1rem 0 0.3rem;
    color: var(--portal-navy);
    font-size: 1.25rem;
}

.my-home-next-step p:not(.eyebrow) {
    margin: 0;
    color: var(--portal-muted);
    font-size: 0.85rem;
    line-height: 1.45;
}

.my-home-next-step form {
    margin: 0;
}

.my-home-empty-state {
    min-height: 260px;
    padding: 2rem 1rem;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.55rem;
    border: 1px dashed rgb(16 47 88 / 23%);
    border-radius: 20px;
    background: #f8fbff;
    text-align: center;
}

.my-home-empty-state > span {
    width: 4.3rem;
    height: 4.3rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgb(199 163 73 / 18%);
    color: var(--portal-navy);
    font-size: 2rem;
}

.my-home-empty-state h3 {
    margin: 0;
    color: var(--portal-navy);
    font-size: 1.4rem;
}

.my-home-empty-state p {
    max-width: 530px;
    margin: 0 0 0.45rem;
    color: var(--portal-muted);
    line-height: 1.5;
}

@media (max-width: 1120px) {
    .my-home-animal-grid,
    .interest-basket-list.my-home-animal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .my-home-hero,
    .my-home-application-panel,
    .my-home-next-step,
    .my-home-section__heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-home-hero__actions,
    .my-home-application-panel__action {
        width: 100%;
    }

    .my-home-overview {
        grid-template-columns: 1fr;
    }

    .my-home-animal-grid,
    .interest-basket-list.my-home-animal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .my-home-animal-grid,
    .interest-basket-list.my-home-animal-grid {
        grid-template-columns: 1fr;
    }

    .my-home-animal-card__frame {
        aspect-ratio: 4 / 5.35;
    }

    .my-home-drag-badge {
        font-size: 0;
    }

    .my-home-drag-badge span {
        font-size: 0.9rem;
    }
}
/* END PROFESSIONAL MY HOME */



/* BEGIN UNIFIED LARGE ANIMAL CARDS */
.rescue-pet-card-grid,
.animal-showcase-grid.rescue-pet-card-grid,
.interest-basket-list.rescue-pet-card-grid,
.foster-interest-ranking-list.rescue-pet-card-grid {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.8rem, 1.5vw, 1.15rem);
    align-items: start;
    list-style: none;
}

.rescue-pet-card,
.rescue-pet-card.application-animal-card,
.interest-basket-item.rescue-pet-card,
.foster-interest-ranking-item.rescue-pet-card {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.rescue-pet-card .rescue-pet-card__frame {
    position: relative;
    width: 100%;
    min-height: 690px;
    aspect-ratio: auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid rgb(15 46 85 / 22%);
    border-radius: 22px;
    background: var(--workflow-navy-deep, #0f2e55);
    box-shadow: 0 15px 34px rgb(15 46 85 / 17%);
    isolation: isolate;
    transition:
        transform 170ms ease,
        border-color 170ms ease,
        box-shadow 170ms ease;
}

.rescue-pet-card .rescue-pet-card__frame:hover,
.rescue-pet-card .rescue-pet-card__frame:focus-within {
    transform: translateY(-3px);
    border-color: rgb(199 163 73 / 76%);
    box-shadow: 0 21px 42px rgb(15 46 85 / 23%);
}

.rescue-pet-card__photo-shell {
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 4.35;
    overflow: hidden;
    flex: 0 0 auto;
    background:
        linear-gradient(
            135deg,
            #f1e3bb,
            #dce9f6
        );
}

.rescue-pet-card__photo-shell::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    height: 16%;
    background:
        linear-gradient(
            180deg,
            rgb(8 33 63 / 0%) 0%,
            rgb(8 33 63 / 13%) 36%,
            rgb(8 33 63 / 52%) 74%,
            var(--workflow-navy-deep, #0f2e55) 100%
        );
    pointer-events: none;
}

.rescue-pet-card .rescue-pet-card__photo,
.rescue-pet-card .application-animal-card__photo-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    background: transparent;
}

.rescue-pet-card .application-animal-card__photo,
.rescue-pet-card .rescue-pet-card__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    aspect-ratio: auto;
    transition: transform 240ms ease;
}

.rescue-pet-card .rescue-pet-card__frame:hover
.application-animal-card__photo,
.rescue-pet-card .rescue-pet-card__frame:hover
.rescue-pet-card__photo img {
    transform: scale(1.025);
}

.rescue-pet-card .application-animal-card__photo-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    gap: 0.45rem;
    color: #102e55;
    font-size: 0.8rem;
    font-weight: 850;
    text-align: center;
}

.rescue-pet-card .rescue-pet-card__body,
.rescue-pet-card .application-animal-card__body {
    position: static;
    inset: auto;
    z-index: auto;
    min-height: 360px;
    padding: 0.82rem 0.88rem 0.95rem;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.58rem;
    overflow: visible;
    background:
        linear-gradient(
            180deg,
            var(--workflow-navy-deep, #0f2e55),
            #173f75
        );
    color: #ffffff;
    pointer-events: auto;
}

.rescue-pet-card__topline,
.rescue-pet-card .application-animal-card__topline {
    position: static;
    inset: auto;
    margin: 0 0 0.05rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
}

.rescue-pet-card__rank {
    min-width: 2.7rem;
    min-height: 2.7rem;
    padding: 0.25rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 2px solid rgb(255 255 255 / 82%);
    border-radius: 50%;
    background: #c7a349;
    color: #102e55;
    box-shadow: 0 5px 13px rgb(0 0 0 / 22%);
}

.rescue-pet-card__rank small,
.rescue-pet-card__rank strong {
    line-height: 1;
}

.rescue-pet-card__rank small {
    font-size: 0.48rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rescue-pet-card__rank strong {
    font-size: 0.95rem;
}

.rescue-pet-card__status,
.rescue-pet-card .application-animal-card__label {
    max-width: 70%;
    min-height: 30px;
    padding: 0.38rem 0.54rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    border: 1px solid rgb(255 255 255 / 40%);
    border-radius: 999px;
    background: rgb(255 255 255 / 11%);
    color: #ffffff;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.035em;
    line-height: 1.12;
    text-align: center;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.rescue-pet-card__select {
    width: 100%;
    min-height: 34px;
    padding: 0.45rem 0.58rem;
    display: flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid rgb(199 163 73 / 68%);
    border-radius: 10px;
    background: #ffffff;
    color: #102e55;
    font-size: 0.67rem;
    font-weight: 900;
    line-height: 1.25;
    pointer-events: auto;
}

.rescue-pet-card__select input {
    width: 1rem;
    height: 1rem;
    margin: 0;
    flex: 0 0 auto;
    accent-color: #c7a349;
}

.rescue-pet-card__identity {
    max-width: 100%;
    margin: 0;
    overflow: visible;
    color: #ffffff;
    font-size: clamp(1.15rem, 1.7vw, 1.45rem);
    font-weight: 950;
    letter-spacing: -0.02em;
    line-height: 1.08;
    text-overflow: clip;
    text-shadow: none;
    white-space: normal;
}

.rescue-pet-card__identity h2,
.rescue-pet-card__identity h3 {
    margin: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.rescue-pet-card__identity a {
    color: inherit;
    text-decoration: none;
}

.rescue-pet-card__identity a:hover,
.rescue-pet-card__identity a:focus-visible {
    color: #f8dda0;
    text-decoration: underline;
    text-underline-offset: 0.14rem;
}

.rescue-pet-card__subtitle {
    margin: -0.22rem 0 0;
    color: rgb(255 255 255 / 76%);
    font-size: 0.72rem;
    font-weight: 750;
    line-height: 1.35;
}

.rescue-pet-card__facts,
.rescue-pet-card .application-animal-card__meta {
    min-width: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.38rem;
}

.rescue-pet-card__facts div,
.rescue-pet-card .application-animal-card__meta div {
    min-width: 0;
    max-width: none;
    padding: 0.42rem 0.48rem;
    display: grid;
    gap: 0.08rem;
    overflow: visible;
    border: 1px solid rgb(255 255 255 / 20%);
    border-radius: 9px;
    background: rgb(255 255 255 / 9%);
    color: #ffffff;
}

.rescue-pet-card__facts dt,
.rescue-pet-card__facts dd,
.rescue-pet-card .application-animal-card__meta dt,
.rescue-pet-card .application-animal-card__meta dd {
    margin: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.rescue-pet-card__facts dt,
.rescue-pet-card .application-animal-card__meta dt {
    color: rgb(255 255 255 / 64%);
    font-size: 0.53rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rescue-pet-card__facts dd,
.rescue-pet-card .application-animal-card__meta dd {
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 900;
    line-height: 1.2;
}

.rescue-pet-card__compatibility {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
}

.rescue-pet-card__compatibility span {
    padding: 0.31rem 0.4rem;
    border: 1px solid rgb(199 163 73 / 50%);
    border-radius: 999px;
    background: rgb(199 163 73 / 14%);
    color: #fce9b6;
    font-size: 0.58rem;
    font-weight: 850;
}

.rescue-pet-card__summary,
.rescue-pet-card .animal-showcase-card__summary {
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
    color: rgb(255 255 255 / 87%);
    font-size: 0.72rem;
    line-height: 1.42;
    text-shadow: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.rescue-pet-card__temperament {
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
    color: rgb(255 255 255 / 78%);
    font-size: 0.67rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.rescue-pet-card__temperament strong {
    color: #f8dda0;
}

.rescue-pet-card__actions,
.rescue-pet-card .animal-showcase-card__actions {
    margin-top: auto;
    padding-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.34rem;
    pointer-events: auto;
}

.rescue-pet-card__actions form {
    margin: 0;
}

.rescue-pet-card__actions a,
.rescue-pet-card__actions button,
.rescue-pet-card .animal-showcase-card__profile,
.rescue-pet-card .animal-interest-action--card button,
.rescue-pet-card .animal-interest-action--card .animal-interest-list-link {
    min-height: 32px;
    padding: 0.38rem 0.53rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.24rem;
    border: 1px solid rgb(255 255 255 / 43%);
    border-radius: 999px;
    background: rgb(255 255 255 / 11%);
    color: #ffffff;
    font: inherit;
    font-size: 0.61rem;
    font-weight: 850;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.rescue-pet-card__actions a:hover,
.rescue-pet-card__actions a:focus-visible,
.rescue-pet-card__actions button:hover,
.rescue-pet-card__actions button:focus-visible {
    border-color: rgb(249 221 160 / 90%);
    background: rgb(199 163 73 / 88%);
    color: #102e55;
}

.rescue-pet-card__actions button:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}

.rescue-pet-card .my-home-remove-button {
    border-color: rgb(255 200 200 / 56%);
    background: rgb(126 29 29 / 42%);
}

.interest-basket-item--dragging
.rescue-pet-card__frame,
.foster-interest-ranking-item--dragging
.rescue-pet-card__frame {
    opacity: 0.62;
    transform: scale(0.985);
}

.interest-basket-item--drop-before
.rescue-pet-card__frame,
.interest-basket-item--drop-after
.rescue-pet-card__frame,
.foster-interest-ranking-item--drop-before
.rescue-pet-card__frame,
.foster-interest-ranking-item--drop-after
.rescue-pet-card__frame {
    outline: 4px solid #c7a349;
    outline-offset: 3px;
}

@media (max-width: 1180px) {
    .rescue-pet-card-grid,
    .animal-showcase-grid.rescue-pet-card-grid,
    .interest-basket-list.rescue-pet-card-grid,
    .foster-interest-ranking-list.rescue-pet-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rescue-pet-card .rescue-pet-card__frame {
        min-height: 720px;
    }
}

@media (max-width: 680px) {
    .rescue-pet-card-grid,
    .animal-showcase-grid.rescue-pet-card-grid,
    .interest-basket-list.rescue-pet-card-grid,
    .foster-interest-ranking-list.rescue-pet-card-grid {
        grid-template-columns: 1fr;
    }

    .rescue-pet-card .rescue-pet-card__frame {
        min-height: 0;
    }

    .rescue-pet-card__photo-shell {
        aspect-ratio: 4 / 4.6;
    }

    .rescue-pet-card .rescue-pet-card__body {
        min-height: 0;
        padding: 0.95rem;
    }
}
/* END UNIFIED LARGE ANIMAL CARDS */

/* BEGIN CARD ACTION ALIGNMENT AND RANKED WIDTH */
.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 0.42rem;
}

.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions
.animal-interest-action--card {
    display: contents;
}

.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions > a,
.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions > form,
.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions
.animal-interest-action--card > a,
.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions
.animal-interest-action--card > form {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions a,
.animal-showcase-grid.rescue-pet-card-grid
.rescue-pet-card__actions button {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    height: 100%;
    padding: 0.48rem 0.38rem;
    white-space: normal;
    text-align: center;
}

.interest-basket-list.rescue-pet-card-grid,
.foster-interest-ranking-list.rescue-pet-card-grid {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

.interest-basket-list.rescue-pet-card-grid >
.interest-basket-item.rescue-pet-card,
.foster-interest-ranking-list.rescue-pet-card-grid >
.foster-interest-ranking-item.rescue-pet-card {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 100%;
    padding: 0;
    display: block;
    grid-template-columns: none;
    align-items: stretch;
    gap: 0;
    justify-self: stretch;
}

.interest-basket-list.rescue-pet-card-grid
.rescue-pet-card__frame,
.foster-interest-ranking-list.rescue-pet-card-grid
.rescue-pet-card__frame {
    width: 100%;
    height: 100%;
}

@media (max-width: 1120px) {
    .interest-basket-list.rescue-pet-card-grid,
    .foster-interest-ranking-list.rescue-pet-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .animal-showcase-grid.rescue-pet-card-grid
    .rescue-pet-card__actions {
        grid-template-columns: 1fr;
    }

    .interest-basket-list.rescue-pet-card-grid,
    .foster-interest-ranking-list.rescue-pet-card-grid {
        grid-template-columns: 1fr;
    }
}
/* END CARD ACTION ALIGNMENT AND RANKED WIDTH */
