
/* ============================================================
   PROVINCE PAGE
   MAIN CONTENT
============================================================ */

.province-content {
    width: 100%;
    background: #f7f9f8;
}



/* ============================================================
   PROVINCE STATISTICS
============================================================ */

.province-statistics {

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 20px;
}


.province-statistics span {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    padding: 9px 15px;

    border:
        1px solid #dbe7e2;

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.85);

    color: #50645d;

    font-size: 13px;

    font-weight: 600;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.04);
}


/* ============================================================
   DISTRICT SECTION
============================================================ */

.district-section {

    width: 100%;

    padding: 58px 0 10px;

    background: #f7f9f8;
}


.district-section:last-child {

    padding-bottom: 70px;
}


/* ============================================================
   DISTRICT HEADER
============================================================ */

.district-header {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 25px;

    margin-bottom: 28px;

    padding-bottom: 16px;

    border-bottom:
        1px solid #e1e8e5;
}


.district-header h2 {

    margin: 0;

    color: #263b34;

    font-size: 27px;

    line-height: 1.2;

    font-weight: 800;
}


.district-header p {

    margin: 0;

    color: #71807b;

    font-size: 14px;

    line-height: 1.5;

    text-align: right;
}


/* ============================================================
   ATTRACTION GRID
============================================================ */

.district-section .attraction-grid {

    display: grid;

    grid-template-columns:
        repeat(3,
            minmax(0, 1fr));

    gap: 24px;

    align-items: stretch;
}


/* ============================================================
   ATTRACTION CARD
============================================================ */

.district-section .attraction-card {

    display: flex;

    flex-direction: column;

    min-width: 0;

    height: 100%;

    overflow: hidden;

    background: #ffffff;

    border:
        1px solid #e3eae7;

    border-radius: 18px;

    box-shadow:
        0 6px 22px rgba(34, 65, 54, 0.07);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.district-section .attraction-card:hover {

    transform:
        translateY(-5px);

    border-color:
        #c9ddd5;

    box-shadow:
        0 14px 34px rgba(34, 65, 54, 0.12);
}


/* ============================================================
   CARD IMAGE
============================================================ */

.district-section .attraction-image {

    position: relative;

    width: 100%;

    height: 220px;

    overflow: hidden;

    background: #e9efed;
}


.district-section .attraction-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform 0.45s ease;
}


.district-section .attraction-card:hover .attraction-image img {

    transform:
        scale(1.045);
}


/* ============================================================
   CARD CONTENT
============================================================ */

.district-section .attraction-content {

    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 21px;
}


.district-section .featured {

    display: inline-flex;

    align-self: flex-start;

    align-items: center;

    margin-bottom: 9px;

    padding: 5px 9px;

    border-radius: 999px;

    background: #fff5d8;

    color: #876a18;

    font-size: 11px;

    font-weight: 700;
}


.district-section .attraction-category {

    display: block;

    margin-bottom: 7px;

    color: #43806a;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .5px;
}


.district-section .attraction-content h3 {

    margin: 0 0 10px;

    color: #253630;

    font-size: 21px;

    line-height: 1.3;

    font-weight: 750;
}


.district-section .attraction-content>p {

    display: -webkit-box;

    margin: 0;

    color: #697873;

    font-size: 14px;

    line-height: 1.65;

    -webkit-line-clamp: 3;

    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* ============================================================
   CARD ACTION
============================================================ */

.district-section .attraction-actions {

    margin-top: auto;

    padding-top: 20px;
}


.district-section .attraction-action {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 42px;

    padding: 9px 16px;

    box-sizing: border-box;

    border-radius: 10px;

    background: #326f5a;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.district-section .attraction-action:hover {

    background: #285c4a;

    transform:
        translateY(-1px);
}


/* ============================================================
   RATING
============================================================ */

.district-section .attraction-rating {

    margin-top: 13px;

    color: #7a681e;

    font-size: 13px;

    font-weight: 700;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1000px) {

    .district-section .attraction-grid {

        grid-template-columns:
            repeat(2,
                minmax(0, 1fr));

        gap: 20px;
    }


    .district-section .attraction-image {

        height: 210px;
    }

}


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

@media (max-width: 680px) {

    .province-detail-hero {

        padding:
            55px 18px 48px;
    }


    .province-detail-hero h1 {

        font-size: 34px;

        letter-spacing: -.5px;
    }


    .province-detail-hero>p {

        max-width: 500px;

        font-size: 15px;

        line-height: 1.65;
    }


    .province-statistics {

        gap: 7px;
    }


    .province-statistics span {

        padding:
            8px 12px;

        font-size: 12px;
    }


    .district-section {

        padding:
            40px 0 5px;
    }


    .district-section:last-child {

        padding-bottom: 45px;
    }


    .district-header {

        display: block;

        margin-bottom: 20px;

        padding-bottom: 13px;
    }


    .district-header h2 {

        font-size: 23px;

        margin-bottom: 6px;
    }


    .district-header p {

        font-size: 13px;

        text-align: left;
    }


    .district-section .attraction-grid {

        grid-template-columns:
            1fr;

        gap: 17px;
    }


    .district-section .attraction-card {

        border-radius: 15px;
    }


    .district-section .attraction-image {

        height: 210px;
    }


    .district-section .attraction-content {

        padding: 18px;
    }


    .district-section .attraction-content h3 {

        font-size: 19px;
    }


    .district-section .attraction-content>p {

        font-size: 13px;

        line-height: 1.6;
    }


    .district-section .attraction-action {

        width: 100%;
    }

}


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

@media (max-width: 420px) {

    .province-detail-hero {

        padding:
            45px 14px 40px;
    }


    .province-detail-hero h1 {

        font-size: 29px;
    }


    .province-detail-hero>p {

        font-size: 14px;
    }


    .province-detail-hero .back-button {

        font-size: 13px;

        padding:
            8px 13px;
    }


    .district-section {

        padding-top: 32px;
    }


    .district-section .attraction-image {

        height: 190px;
    }


    .district-section .attraction-content {

        padding: 16px;
    }


    .district-section .attraction-content h3 {

        font-size: 18px;
    }

}

