@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;700&display=swap');

/* --- GLOBAL STYLES (Merged Body Declarations) --- */
body {
    font-family: 'Noto Sans Thai', sans-serif !important;
    line-height: 1.6;
    font-weight: 500;
    background-color: #ffffff !important;
    position: relative;
    margin: 0; /* Changed 0px to 0 for better practice */
    padding: 0; /* Changed 0px to 0 for better practice */
    color: #043580;
}

body,
html {
    overflow-x: hidden; /* Prevents horizontal scrolling */
}

/* ------------------------- */
/* PC view & Responsive Classes */
.pc-view {
    display: unset; /* Consider using display: block/flex/grid for clarity */
}

.tablet-view {
    display: none;
}

.mobile-view {
    display: none;
}

.div-temp-border {
    width: 100%;
    border: 1px solid #ccc;
    height: fit-content;
}

/* Login Bar (Fixed at top) */
.login_bar {
    position: fixed;
    z-index: 4;
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.45);
    width: 100%;
    height: 40px;
    margin-top: 0px;
    background: rgba(56, 57, 59, 0.8);
    backdrop-filter: blur(5px);
}

.login_text {
    text-align: right;
    color: #fff;
    padding: 20px 20px 0px 0px;
}

.login_text a {
    text-decoration: none;
    color: #fff;
}

/*---------------------------------------------------------------*/
/* Section 1 - Header */
#header {
    /* Note: margin-top: -120px; is used to pull the header up, check if this is desired */
    margin-top: -120px;
    width: 100%;
    height: 590px;
    background-image: url('../img/section1_bg_pc.jpg');
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    /* Removed non-functional object-fit/position properties */
}
#header_text {
    padding-top: 50px;
    margin-left: 45%;
}

.topic_text {
    color: #ac0000;
    margin-top: 15px;
    margin-bottom: 40px;
    text-align: center;
    font-weight: bold;
}

.topic_text4 {
    color: #000;
    font-size: 1.5em;
    text-align: center;
    font-weight: bold;
}

.red_text {
    color: #ac0000;
}

/*---------------------------------------------------------------*/
/* Section 2 - Profile */
.profile {
    width: 100%;
    padding-top: 50px;
    padding-bottom: 100px;
    /* Be careful with background shorthand and background-image,
       as the gradient may be overridden by the image */
    background: linear-gradient(to bottom, #cbcbca 0%, #f4f4f4 100%);
    background-image: url('../img/profile_bg.png');
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}


/*---------------------------------------------------------------*/
/* Section 3 - Highlight */
.highlight {
    background-image: url('../img/highlight_bg_pc.jpg');
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
.highlight-box {
    width: 300px;
    height: 350px; /* Note: Fixed height might cause content clipping */
    margin-top: 15px;
    margin-bottom: 20px;
}

.highlight-btn {
    /* *** FIXED: Added the missing closing brace here *** */
    width: 300px;
    margin-top: 15px;
    margin-bottom: 20px;
} /* <-- THE MISSING '}' WAS HERE */

/*---------------------------------------------------------------*/
/* Section 7 - Footer */
.footer {
    margin-top: 100px;
    width: 100%;
    height: 100px; /* Note: Fixed height */
    color: #f25c05;
    background: #000000;
}

/* ------------------------- */
/* Tablet view (max-width: 960px) */
@media screen and (max-width: 60em) { /* 60em = 960px */
    .pc-view {
        display: none;
    }

    .tablet-view {
        display: unset;
    }

    .mobile-view {
        display: none;
    }

    #header {
        margin-top: -120px;
        width: 100%;
        height: 650px;
        background-size: 100% 720px;
    }

    .login_text {
        padding: 20px 5px 0px 0px;
    }

    #header_text {
        padding-top: 50px;
        margin-left: 45%;
    }

    /* Removed repeated declaration */
    .section3-box {
        height: fit-content;
    }
}


/* ------------------------- */
/* Mobile view (max-width: 768px) */
@media screen and (max-width: 48em) { /* 48em = 768px */
    .pc-view {
        display: none;
    }

    .tablet-view {
        display: none;
    }

    .mobile-view {
        display: unset;
    }

    #header {
        margin-top: -120px;
        width: 100%;
        height: 550px; /* Note: Fixed height */
        background-image: url('../img/section1_bg_mo.jpg');
        background-repeat: no-repeat;
        background-size: cover;
        background-color: #F9F5F2;
    }

    #header_text {
        padding-top: 150px;
        margin: auto;
        text-align: center
    }

    .section3-box {
        height: fit-content;
        padding-bottom: 15px;
    }

    .section6 {
        margin-top: 100px;
        width: 100%;
        height: 650px; /* Note: Fixed height */
        color: #EAF2FE;
        background-color: #f25c05;
    }
}