@font-face {
    font-family: THSarabunNew;
    src: url('/static/fonts/THSarabunNew.ttf');
    /* กัน FOUT: ถ้าไม่ระบุ browser จะ paint ด้วยฟอนต์สำรองไปก่อนถ้าฟอนต์ยังโหลดไม่เสร็จ
       ฟอนต์ไทยมีสระบน/ล่าง วรรณยุกต์ ที่ metric ต่างจากฟอนต์สำรองมาก ถ้าสลับฟอนต์กลางคัน
       ทำให้ข้อความ wrap ผิดบรรทัด หน้าที่ paint ก่อน (หน้าแรก) จะสูงกว่าหน้าอื่นที่ paint
       ทีหลังตอนฟอนต์โหลดเสร็จแล้ว — block = รอฟอนต์จริงก่อนเสมอ ไม่ยอมใช้ fallback */
    font-display: block;
}
html * {
    font-family: THSarabunNew !important;
    font-size: 16px;
}

#print-button {
    width: 100px;
    height: 50px;
}

#print-button svg {
    color: dodgerblue;
    width: 32px;
    height: 32px;
}

.page-header, .page-header-space {
    height: 96px;
}

.page-footer, .page-footer-space {
    height: 50px;
}

.page-footer {
    position: fixed;
    bottom: 1.0mm;
    width: 98%;
}

.page-header {
    position: fixed;
    top: 1.5mm;
    bottom: 1.5mm;
    left: 1.5mm;
    right: 1.5mm;
    width: 98%;
}

.page {
    top: 1.0mm;
    left: 1.5mm;
    right: 1.5mm;
    bottom: 1.0mm;
    page-break-after: always;
}

@page {
    /*
     * margin: 0 → บอกให้ browser ไม่แสดง header/footer อัตโนมัติ
     * (วันที่, เวลา, URL, เลขหน้า) ใน Chrome / Edge / Firefox
     * ใช้ padding ของ body แทนเพื่อให้เนื้อหาไม่ชิดขอบ
     */
    margin: 0;
    size: A4;
}

@media print {
    thead {display: table-header-group;}
    tfoot {display: table-footer-group;}
    button {display: none;}

    html, body {
        margin: 0;
        padding: 10mm;
    }
}

/* line-height กำหนดตรงๆ ทุก class — ไม่ปล่อยให้ browser ใช้ค่า default จากไฟล์ฟอนต์เอง
   THSarabunNew.ttf (ฟอนต์ไทยแปลงเก่า) มักมีค่า ascent/descent ภายในไฟล์สูงกว่าปกติมาก
   ถ้าไม่กำหนด line-height ตายตัว แต่ละบรรทัดจะห่างกว่าที่ตั้งใจ คูณด้วยจำนวนบรรทัด
   ทั้งหมด (header 4 บรรทัด + ตาราง 30 แถว + footer) ต่อห้องสอบ ทำให้เนื้อหาล้นไปอีก
   หลายหน้าโดยไม่รู้ตัว (อาการ: หน้าพิมพ์ต้องการมากกว่าที่ตั้งใจไว้มาก ทุกห้องเท่ากัน) */
.print-header {
    font-family: THSarabunNew, sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
}
.print-table {
    font-family: THSarabunNew, sans-serif;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.2;
}

.print-small {
    font-family: THSarabunNew, sans-serif;
    font-size: 13px;
    font-weight: normal;
    line-height: 1.2;
}
