/* ============================================================
   SEN DARAL — PUBLIC VETERINARIANS
============================================================ */

.public-veterinarians-page {

    background:
        #f7f9f8;

}


/* ============================================================
   HERO
============================================================ */

.public-veterinarians-hero {

    position:relative;

    overflow:hidden;

    padding:
        90px 0 85px;

    background:
        linear-gradient(
            135deg,
            #0d5a4f 0%,
            #0b4c43 48%,
            #073a35 100%
        );

    color:#fff;

}


.public-veterinarians-hero::before {

    content:"";

    position:absolute;

    width:520px;
    height:520px;

    right:-260px;
    top:-250px;

    border-radius:50%;

    background:
        rgba(255,255,255,.045);

}


.public-veterinarians-hero::after {

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    left:-230px;
    bottom:-300px;

    border-radius:50%;

    background:
        rgba(25,185,107,.08);

}


.public-veterinarians-hero-inner {

    position:relative;

    z-index:2;

    max-width:760px;

}


.public-veterinarians-eyebrow {

    display:block;

    margin-bottom:10px;

    color:
        rgba(255,255,255,.55);

    font-size:.68rem;

    font-weight:850;

    letter-spacing:1.6px;

}


.public-veterinarians-hero h1 {

    margin:0;

    color:#fff;

    font-size:
        clamp(32px,4vw,53px);

    line-height:1.05;

    font-weight:900;

    letter-spacing:-1.8px;

}


.public-veterinarians-hero p {

    max-width:650px;

    margin:
        18px 0 0;

    color:
        rgba(255,255,255,.67);

    font-size:.92rem;

    line-height:1.75;

}


/* ============================================================
   CONTENT
============================================================ */

.public-veterinarians-content {

    padding:
        55px 0 90px;

}


/* ============================================================
   FILTERS
============================================================ */

.public-veterinarians-filters {

    position:relative;

    z-index:5;

    display:grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr
        auto;

    gap:10px;

    margin-top:-82px;

    padding:12px;

    border:
        1px solid
        rgba(13,79,69,.08);

    border-radius:20px;

    background:#fff;

    box-shadow:
        0 20px 55px
        rgba(8,57,50,.13);

}


.public-vet-search,
.public-vet-select {

    display:flex;

    align-items:center;

    gap:9px;

    min-width:0;

    padding:
        0 13px;

    height:48px;

    border:
        1px solid
        #e5ecea;

    border-radius:12px;

    background:#fff;

}


.public-vet-search i,
.public-vet-select i {

    flex:0 0 auto;

    color:#0d4f45;

}


.public-vet-search input,
.public-vet-select select {

    width:100%;

    height:100%;

    border:0;

    outline:0;

    background:transparent;

    color:#26373e;

    font-size:.74rem;

}


.public-vet-select select {

    cursor:pointer;

}


.public-vet-filter-button {

    height:48px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:
        0 18px;

    border:0;

    border-radius:12px;

    background:
        #0d4f45;

    color:#fff;

    font-size:.73rem;

    font-weight:800;

    cursor:pointer;

    transition:.25s;

}


.public-vet-filter-button:hover {

    background:#083a34;

    transform:
        translateY(-1px);

}


/* ============================================================
   HEADING
============================================================ */

.public-veterinarians-heading {

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:20px;

    margin:
        55px 0 22px;

}


.public-veterinarians-heading > div:first-child > span {

    display:block;

    margin-bottom:6px;

    color:#0d4f45;

    font-size:.62rem;

    font-weight:850;

    letter-spacing:1.25px;

}


.public-veterinarians-heading h2 {

    margin:0;

    color:#172731;

    font-size:1.65rem;

    font-weight:900;

    letter-spacing:-.5px;

}


.public-vet-result-label {

    color:#899794;

    font-size:.7rem;

}


/* ============================================================
   GRID
============================================================ */

.public-veterinarians-grid {

    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:18px;

}


/* ============================================================
   CARD
============================================================ */

.public-veterinarian-card {

    position:relative;

    display:flex;

    flex-direction:column;

    min-height:365px;

    padding:23px;

    border:
        1px solid
        #e2ebe8;

    border-radius:23px;

    background:#fff;

    box-shadow:
        0 12px 37px
        rgba(8,57,50,.052);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;

}


.public-veterinarian-card:hover {

    transform:
        translateY(-6px);

    border-color:
        rgba(13,79,69,.18);

    box-shadow:
        0 24px 60px
        rgba(8,57,50,.12);

}


/* ============================================================
   CARD TOP
============================================================ */

.public-veterinarian-card-top {

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

}


.public-veterinarian-avatar {

    width:62px;
    height:62px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:19px;

    background:
        linear-gradient(
            135deg,
            #0d5b4f,
            #0a4039
        );

    color:#fff;

    font-size:21px;

    font-weight:900;

    box-shadow:
        0 10px 27px
        rgba(13,79,69,.18);

}


.public-veterinarian-verified {

    display:inline-flex;

    align-items:center;

    gap:4px;

    padding:
        6px 8px;

    border-radius:999px;

    background:
        #edf8f2;

    color:#25865c;

    font-size:.61rem;

    font-weight:800;

}


/* ============================================================
   IDENTITY
============================================================ */

.public-veterinarian-identity {

    margin-top:15px;

}


.public-veterinarian-identity h3 {

    margin:0;

    color:#1a2b34;

    font-size:1rem;

    font-weight:850;

}


.public-veterinarian-identity span {

    display:block;

    margin-top:4px;

    color:#899793;

    font-size:.68rem;

}


/* ============================================================
   RATING
============================================================ */

.public-veterinarian-rating {

    display:flex;

    align-items:center;

    gap:5px;

    margin-top:13px;

}


.public-veterinarian-rating i {

    color:#d8a42b;

    font-size:.68rem;

}


.public-veterinarian-rating strong {

    color:#31434a;

    font-size:.74rem;

}


.public-veterinarian-rating span {

    color:#8b9895;

    font-size:.62rem;

}


/* ============================================================
   SPECIALTIES
============================================================ */

.public-veterinarian-specialties {

    display:flex;

    flex-wrap:wrap;

    gap:5px;

    margin-top:15px;

}


.public-veterinarian-specialties span {

    padding:
        6px 8px;

    border-radius:999px;

    background:#eef7f4;

    color:#0d4f45;

    font-size:.58rem;

    font-weight:750;

}


/* ============================================================
   INFO
============================================================ */

.public-veterinarian-info {

    display:flex;

    flex-direction:column;

    gap:7px;

    margin-top:17px;

}


.public-veterinarian-info > div {

    display:flex;

    align-items:center;

    gap:7px;

    color:#7d8d89;

    font-size:.65rem;

}


.public-veterinarian-info i {

    color:#0d4f45;

}


/* ============================================================
   FOOTER
============================================================ */

.public-veterinarian-card-footer {

    margin-top:auto;

    padding-top:20px;

}


.public-veterinarian-card-footer a {

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:8px;

    padding:
        10px 12px;

    border:
        1px solid
        rgba(13,79,69,.13);

    border-radius:11px;

    color:#0d4f45;

    font-size:.68rem;

    font-weight:800;

    text-decoration:none;

    transition:.22s;

}


.public-veterinarian-card-footer a:hover {

    background:#0d4f45;

    border-color:#0d4f45;

    color:#fff;

}


/* ============================================================
   EMPTY
============================================================ */

.public-veterinarians-empty {

    grid-column:
        1 / -1;

    padding:
        80px 25px;

    border:
        1px solid
        #e4ecea;

    border-radius:22px;

    background:#fff;

    text-align:center;

}


.public-veterinarians-empty-icon {

    width:56px;
    height:56px;

    margin:
        0 auto 12px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:17px;

    background:#eef6f4;

    color:#0d4f45;

    font-size:19px;

}


.public-veterinarians-empty h3 {

    margin:0;

    color:#1b2b34;

    font-size:1rem;

    font-weight:850;

}


.public-veterinarians-empty p {

    max-width:400px;

    margin:
        6px auto 16px;

    color:#8a9794;

    font-size:.72rem;

}


.public-veterinarians-empty a {

    color:#0d4f45;

    font-size:.7rem;

    font-weight:800;

    text-decoration:none;

}


/* ============================================================
   PAGINATION
============================================================ */

.public-veterinarians-pagination {

    display:flex;

    align-items:center;

    justify-content:center;

    gap:5px;

    margin-top:28px;

}


.public-veterinarians-pagination a,
.public-veterinarians-pagination span {

    min-width:34px;

    height:34px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:0 9px;

    border:
        1px solid
        #e2eae8;

    border-radius:9px;

    color:#72827e;

    background:#fff;

    font-size:.65rem;

    font-weight:750;

    text-decoration:none;

}


.public-veterinarians-pagination .current {

    background:#0d4f45;

    border-color:#0d4f45;

    color:#fff;

}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (
    max-width:991.98px
) {

    .public-veterinarians-filters {

        grid-template-columns:
            1fr 1fr;

    }


    .public-vet-search {

        grid-column:
            1 / -1;

    }


    .public-veterinarians-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }

}


@media (
    max-width:767.98px
) {

    .public-veterinarians-hero {

        padding:
            70px 0 75px;

    }


    .public-veterinarians-filters {

        grid-template-columns:1fr;

        margin-top:-55px;

    }


    .public-vet-search {

        grid-column:auto;

    }


    .public-veterinarians-heading {

        align-items:flex-start;

        flex-direction:column;

        margin-top:40px;

    }


    .public-veterinarians-grid {

        grid-template-columns:1fr;

    }

}

.public-veterinarian-avatar {

    position:relative;

    width:64px;

    height:64px;

    flex:0 0 64px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    border-radius:19px;

    background:
        linear-gradient(
            135deg,
            #0d6a5a,
            #0a4b42
        );

    color:#fff;

    box-shadow:
        0 10px 24px
        rgba(
            13,
            79,
            69,
            .14
        );

}


.public-veterinarian-avatar img {

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

}


.public-veterinarian-avatar span {

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    height:100%;

    color:#fff;

    font-size:20px;

    font-weight:900;

}