/* =========================================================
   PÁGINAS PÚBLICAS — ESTADOS / PLACEHOLDERS
========================================================= */

.public-status-page {

    min-height: calc(100vh - 160px);

    padding: 90px 0 110px;

}


.public-status-container {

    max-width: 820px;

}


/* =========================================================
   CABEÇALHO
========================================================= */

.public-status-header {

    max-width: 680px;

    margin: 0 auto 42px;

    text-align: center;

}


.public-status-eyebrow {

    display: inline-flex;

    align-items: center;

    margin-bottom: 14px;

    padding: 7px 14px;

    border-radius: 999px;

    background:
        rgba(167, 123, 88, .12);

    color:
        var(--color-primary);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .08em;

}


.public-status-header h1 {

    margin: 0 0 14px;

    color:
        var(--color-primary);

    font-size:
        clamp(34px, 6vw, 52px);

    font-weight: 800;

    line-height: 1.05;

}


.public-status-header p {

    max-width: 590px;

    margin: 0 auto;

    color:
        var(--color-text-muted);

    font-size: 17px;

    line-height: 1.65;

}


/* =========================================================
   ESTADO VAZIO
========================================================= */

.public-empty-state {

    max-width: 680px;

    margin: 0 auto;

    padding: 48px 36px;

    background:
        var(--color-white);

    border:
        1px solid rgba(0, 0, 0, .06);

    border-radius: 24px;

    box-shadow:
        0 10px 35px rgba(0, 0, 0, .045);

    text-align: center;

}


.public-empty-icon {

    width: 72px;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background:
        rgba(167, 123, 88, .10);

    font-size: 32px;

}


.public-empty-label {

    display: inline-block;

    margin-bottom: 10px;

    color:
        var(--color-primary);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .08em;

}


.public-empty-state h2 {

    margin: 0 0 12px;

    color:
        var(--color-primary);

    font-size: 26px;

    font-weight: 800;

}


.public-empty-state>p {

    max-width: 520px;

    margin: 0 auto;

    color:
        var(--color-text-muted);

    font-size: 15px;

    line-height: 1.65;

}


/* =========================================================
   DOAÇÕES
========================================================= */

.public-support-info {

    max-width: 520px;

    margin: 30px auto 0;

    padding: 22px;

    border-radius: 18px;

    background:
        rgba(167, 123, 88, .07);

    text-align: left;

}


.public-support-info>strong {

    display: block;

    margin-bottom: 15px;

    color:
        var(--color-primary);

    font-size: 14px;

}


.public-support-items {

    display: flex;

    flex-direction: column;

    gap: 11px;

}


.public-support-items span {

    color:
        var(--color-text);

    font-size: 13px;

    line-height: 1.5;

}


/* =========================================================
   AÇÕES
========================================================= */

.public-empty-actions {

    display: flex;

    justify-content: center;

    margin-top: 32px;

}


.public-empty-actions .btn-primary {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 48px;

    padding: 0 24px;

    border-radius: 13px;

    background:
        var(--color-primary);

    color:
        var(--color-white);

    font-size: 14px;

    font-weight: 800;

    text-decoration: none;

    transition:
        transform .15s ease,
        opacity .2s ease;

}


.public-empty-actions .btn-primary:hover {

    transform:
        translateY(-2px);

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .public-status-page {

        padding:
            48px 0 70px;

    }


    .public-status-container {

        padding-left: 16px;

        padding-right: 16px;

    }


    .public-status-header {

        margin-bottom: 30px;

    }


    .public-status-header h1 {

        font-size: 34px;

    }


    .public-status-header p {

        font-size: 15px;

    }


    .public-empty-state {

        padding:
            34px 20px;

        border-radius: 20px;

    }


    .public-empty-state h2 {

        font-size: 22px;

    }


    .public-support-info {

        padding: 18px;

    }


    .public-empty-actions .btn-primary {

        width: 100%;

    }

}

/* Layout exclusivo da busca de pets */
.public-status-page.pet-search-page
.public-status-container {
    width: 100%;
    max-width: 1380px;
}

/* Área de resultados */
.pet-search-page .public-alerts-grid {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1050px) {
    .pet-search-page .public-alerts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .pet-search-page .public-alerts-grid {
        grid-template-columns: 1fr;
    }
}