/* =========================================================
   PA VISITOR COUNTER
   ========================================================= */

:root {
    --pa-primary: #0a5a33;
    --pa-secondary: #147a46;
    --pa-accent: #d97706;
    --pa-bg-light: #f0fdf4;
    --pa-text-dark: #1e293b;
    --pa-text-muted: #64748b;
    --pa-border: #e2e8f0;
}


/* =========================================================
   CONTAINER UTAMA
   ========================================================= */

.pa-visitor-counter {
    font-family:
        'Plus Jakarta Sans',
        'Segoe UI',
        Tahoma,
        Geneva,
        Verdana,
        sans-serif;

    width: 100%;
    max-width: 100%;

    margin: 20px auto;
    padding: 30px 20px;

    background: #ffffff;

    border-radius: 12px;

    border-top: 5px solid var(--pa-primary);

    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.10),
        0 2px 4px -1px rgba(0, 0, 0, 0.06);

    box-sizing: border-box;
}


/* Semua elemen */

.pa-visitor-counter *,
.pa-visitor-counter *::before,
.pa-visitor-counter *::after {
    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.pa-visitor-counter .pa-visitor-header {
    display: block;

    width: 100%;

    text-align: center;

    margin: 0 0 30px 0;

    padding: 0;
}


/* Judul */

.pa-visitor-counter .pa-visitor-header h3 {
    color: var(--pa-primary);
        font-size: 1.5rem;
        font-weight: 700;
        margin: 0 0 5px 0;
        text-transform: uppercase;
        letter-spacing: 0.5px;
}

 .pa-visitor-header p {
        color: var(--pa-text-muted);
        font-size: 0.95rem;
        margin: 0;
    }


/* Subjudul */

.pa-visitor-counter .pa-visitor-header p {
    display: block;

    color: var(--pa-text-muted) !important;

    font-family:
        'Plus Jakarta Sans',
        'Segoe UI',
        Tahoma,
        Geneva,
        Verdana,
        sans-serif !important;

    font-size: 0.95rem !important;

    font-weight: 400 !important;

    line-height: 1.5 !important;

    margin: 0 !important;

    padding: 0 !important;

    text-align: center !important;
}


/* =========================================================
   GRID
   ========================================================= */

.pa-visitor-counter .pa-visitor-grid {
    display: grid;

    grid-template-columns:
        repeat(auto-fit, minmax(140px, 1fr));

    gap: 15px;

    width: 100%;

    margin: 0 0 35px 0;

    padding: 0;
}


/* =========================================================
   CARD
   ========================================================= */

.pa-visitor-counter .pa-visitor-card {
    background-color: var(--pa-bg-light);

    border: 1px solid var(--pa-border);

    border-radius: 8px;

    padding: 20px 15px;

    text-align: center;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* Hover */

.pa-visitor-counter .pa-visitor-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 15px -3px rgba(10, 90, 51, 0.10);

    border-color: var(--pa-secondary);
}


/* =========================================================
   ICON
   ========================================================= */

.pa-visitor-counter .pa-visitor-icon {
    font-size: 1.8rem;

    line-height: 1;

    margin: 0 0 10px 0;

    padding: 0;

    color: var(--pa-primary);
}


/* =========================================================
   LABEL
   ========================================================= */

.pa-visitor-counter .pa-visitor-label {
    font-size: 0.85rem;

    color: var(--pa-text-muted);

    text-transform: uppercase;

    font-weight: 600;

    letter-spacing: 0.5px;

    line-height: 1.4;

    margin: 0 0 8px 0;

    padding: 0;
}


/* =========================================================
   VALUE
   ========================================================= */

.pa-visitor-counter .pa-visitor-value {
    font-size: 1.8rem;

    font-weight: 800;

    color: var(--pa-primary);

    line-height: 1;

    margin: 0;

    padding: 0;

    font-variant-numeric: tabular-nums;
}


/* Online */

.pa-visitor-counter .pa-visitor-value.online {
    color: var(--pa-accent);
}


/* =========================================================
   CHART
   ========================================================= */

.pa-visitor-counter .pa-chart-container {
    position: relative;

    width: 100%;

    height: 300px;

    padding: 20px 0 0 0;

    margin: 0;

    border-top: 1px dashed var(--pa-border);

    box-sizing: border-box;
}


.pa-visitor-counter .pa-chart-container canvas {
    display: block;

    width: 100% !important;

    height: 100% !important;

    max-width: 100%;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .pa-visitor-counter .pa-visitor-grid {
        grid-template-columns:
            repeat(3, minmax(140px, 1fr));
    }

}


/* =========================================================
   HP
   ========================================================= */

@media (max-width: 600px) {

    .pa-visitor-counter {
        padding: 25px 15px;
    }


    .pa-visitor-counter .pa-visitor-header {
        margin-bottom: 25px;
    }


    .pa-visitor-counter .pa-visitor-header h3 {
        font-size: 1.25rem !important;
    }


    .pa-visitor-counter .pa-visitor-header p {
        font-size: 0.85rem !important;
    }


    .pa-visitor-counter .pa-visitor-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 12px;

        margin-bottom: 25px;
    }


    .pa-visitor-counter .pa-visitor-card:last-child {
        grid-column: span 2;
    }


    .pa-visitor-counter .pa-visitor-card {
        padding: 18px 10px;
    }


    .pa-visitor-counter .pa-visitor-icon {
        font-size: 1.6rem;
    }


    .pa-visitor-counter .pa-visitor-label {
        font-size: 0.75rem;
    }


    .pa-visitor-counter .pa-visitor-value {
        font-size: 1.5rem;
    }


    .pa-visitor-counter .pa-chart-container {
        height: 260px;
    }

}


/* =========================================================
   HP KECIL
   ========================================================= */

@media (max-width: 380px) {

    .pa-visitor-counter {
        padding: 20px 10px;
    }


    .pa-visitor-counter .pa-visitor-grid {
        gap: 10px;
    }


    .pa-visitor-counter .pa-visitor-card {
        padding: 16px 8px;
    }


    .pa-visitor-counter .pa-visitor-icon {
        font-size: 1.45rem;
    }


    .pa-visitor-counter .pa-visitor-label {
        font-size: 0.70rem;
    }


    .pa-visitor-counter .pa-visitor-value {
        font-size: 1.35rem;
    }


    .pa-visitor-counter .pa-chart-container {
        height: 230px;
    }

}