/* =========================================================
   GOVERNMENT HIGH SCHOOL TAIKAT
   MAIN WEBSITE CSS
   ========================================================= */


/* ---------------------------------------------------------
   GENERAL
   --------------------------------------------------------- */

body {
    font-family: 'Inter', sans-serif;
}


/* ---------------------------------------------------------
   HERO SLIDER
   --------------------------------------------------------- */

.slide-fade {
    transition: opacity 1s ease-in-out;
}


/* ---------------------------------------------------------
   GALLERY CARDS
   --------------------------------------------------------- */

.gallery-card {
    overflow: hidden;
    border-radius: 10px;
    background: white;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.gallery-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}


/* Gallery Thumbnail */

.gallery-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;

    cursor: pointer;

    transition:
        transform 0.4s ease,
        filter 0.3s ease;
}


/* Hover effect */

.gallery-card img:hover {
    transform: scale(1.07);
    filter: brightness(0.85);
}


/* Gallery Caption */

.gallery-card p {
    padding: 12px;
    margin: 0;

    text-align: center;

    font-size: 14px;
    font-weight: 600;

    color: #374151;
}


/* ---------------------------------------------------------
   FULL SCREEN IMAGE MODAL
   --------------------------------------------------------- */

.image-modal {

    display: none;

    position: fixed;

    z-index: 99999;

    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.96);

    align-items: center;
    justify-content: center;

    padding: 30px;

    box-sizing: border-box;
}


/* Modal active state */

.image-modal.active {
    display: flex;
}


/* ---------------------------------------------------------
   LARGE IMAGE
   --------------------------------------------------------- */

.full-image {

    max-width: 92vw;
    max-height: 88vh;

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 6px;

    box-shadow:
        0 0 30px rgba(0, 0, 0, 0.8);

    animation: imageZoom 0.3s ease;
}


/* Image opening animation */

@keyframes imageZoom {

    from {
        opacity: 0;
        transform: scale(0.85);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}


/* ---------------------------------------------------------
   CLOSE BUTTON
   --------------------------------------------------------- */

.image-close {

    position: absolute;

    top: 20px;
    right: 30px;

    width: 50px;
    height: 50px;

    border: none;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    color: white;

    font-size: 38px;
    line-height: 40px;

    cursor: pointer;

    z-index: 100000;

    transition: all 0.3s ease;
}


.image-close:hover {

    background: #dc2626;

    transform: rotate(90deg);

}


/* ---------------------------------------------------------
   PREVIOUS / NEXT BUTTONS
   --------------------------------------------------------- */

.image-prev,
.image-next {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 55px;
    height: 55px;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    color: white;

    font-size: 30px;

    cursor: pointer;

    z-index: 100000;

    transition: all 0.3s ease;
}


.image-prev {

    left: 25px;

}


.image-next {

    right: 25px;

}


.image-prev:hover,
.image-next:hover {

    background: rgba(255, 255, 255, 0.35);

    transform:
        translateY(-50%)
        scale(1.1);

}


/* ---------------------------------------------------------
   IMAGE CAPTION
   --------------------------------------------------------- */

.image-caption {

    position: absolute;

    bottom: 20px;

    left: 50%;

    transform: translateX(-50%);

    color: white;

    background: rgba(0, 0, 0, 0.65);

    padding: 8px 18px;

    border-radius: 20px;

    font-size: 15px;

    text-align: center;

    max-width: 80%;

}


/* ---------------------------------------------------------
   MOBILE RESPONSIVE IMAGE VIEWER
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .gallery-card img {
        height: 200px;
    }


    .image-modal {
        padding: 15px;
    }


    .full-image {

        max-width: 96vw;

        max-height: 82vh;

    }


    .image-close {

        top: 10px;

        right: 12px;

        width: 45px;

        height: 45px;

        font-size: 32px;

    }


    .image-prev,
    .image-next {

        width: 45px;

        height: 45px;

        font-size: 23px;

    }


    .image-prev {
        left: 10px;
    }


    .image-next {
        right: 10px;
    }


    .image-caption {

        bottom: 10px;

        font-size: 13px;

        max-width: 70%;

    }

}
.result-table-container {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            margin: 20px auto;
            max-width: 800px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            border-radius: 12px;
            overflow: hidden;
        }
        .result-table {
            width: 20%;
            border-collapse: collapse;
            text-align: left;
            background-color: #ffffff;
        }
        .result-table th {
            background: linear-gradient(135deg, #4f46e5 0%, #9333ea 100%);
            color: #ffffff;
            padding: 16px 20px;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 0.8px;
        }
        .result-table td {
            padding: 14px 20px;
            border-bottom: 1px solid #f1f5f9;
            color: #1e293b;
            font-size: 0.95rem;
        }
        .result-table tr:nth-child(even) {
            background-color: #f8fafc;
        }
        .result-table tr:hover {
            background-color: #f0fdf4;
            transition: background-color 0.2s ease-in-out;
        }
        .badge {
            background-color: #dcfce7;
            color: #166534;
            padding: 5px 10px;
            border-radius: 20px;
            font-weight: 600;
            font-size: 0.9em;
            display: inline-block;
        }