/* Custom Styles for Main Page */

:root {
    --primary-senate-red: #800000; /* Dark Red from original footer */
    --secondary-color: #6c757d;
    --text-color: #343a40;
    --header-bg: #800000;
    --header-text: #ffffff;
    --footer-bg: #800000;
    --footer-text: #ffffff;
    --table-header-bg: #800000;
    --table-header-text: #ffffff;
    --table-hover-bg: #f8f9fa; /* Light grey for hover */
    --link-color: #0d6efd; /* Bootstrap blue */
}

body {
    font-family: 'Sarabun', sans-serif;
    color: var(--text-color);
    background-color: #f0f2f5; /* Light background */
    line-height: 1.6;
}

/* Header Styling */
.main-header {
    background-color: var(--header-bg);
    color: var(--header-text);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.main-header .header-title {
    font-family: 'Prompt', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--header-text);
}

.main-header .login-link .btn {
    border-color: rgba(255, 255, 255, 0.5);
    color: var(--header-text);
}

.main-header .login-link .btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--header-text);
}

/* Alert Info Styling */

.alert-info {
    background-color: #e0f7fa; /* Light cyan */
    border-color: #b2ebf2;
    color: #006066; /* Dark cyan */
    border-radius: 8px;
    padding: 1.5rem;  /* ค่าเดิม Yee ลด*/
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.alert-info .alert-heading {
    font-family: 'Prompt', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #004d40; /* Even darker cyan */
	margin-bottom: 0.5rem; /* เพิ่ม margin-bottom เพื่อเว้นระยะจากบรรทัดแรก Yee เพิ่ม*/
}

/* === NEW CSS for Compact Alert === */
.custom-compact-alert {
    padding: 1rem 1.5rem; /* ลด padding ทั้งบน/ล่าง และคงซ้าย/ขวา */
    /* หรือหากต้องการลด padding ด้านข้างด้วย: padding: 0.75rem 1rem; */
}

.custom-compact-alert p {
    font-size: 0.9rem; /* ลดขนาดฟอนต์ของข้อความย่อย (1rem คือ default, 0.9rem จะเล็กกว่าเล็กน้อย) */
    line-height: 1.3; /* ปรับ line-height ให้กระชับขึ้น */
    margin-bottom: 0; /* Bootstrap mb-0 ควรจะจัดการตรงนี้แล้ว แต่ใส่ซ้ำเพื่อความชัวร์ */
}

/* Optional: If you want to make the heading slightly smaller too */
.custom-compact-alert .alert-heading {
    font-size: 1.15rem; /* ลดขนาด heading ลงเล็กน้อย */
    margin-bottom: 0.3rem; /* ลด margin-bottom ของ heading ลงอีก */
}

/* Responsive adjustments for even smaller screens */
@media (max-width: 767px) {
    .custom-compact-alert {
        padding: 0.75rem 1rem; /* ลด padding อีกสำหรับมือถือ */
    }
    .custom-compact-alert .alert-heading {
        font-size: 1rem; /* Heading เล็กลงอีกสำหรับมือถือ */
        margin-bottom: 0.2rem;
    }
    .custom-compact-alert p {
        font-size: 0.85rem; /* ข้อความย่อยเล็กลงอีกสำหรับมือถือ */
        line-height: 1.2;
    }
}

/* === NEW / MODIFIED CSS FOR FULL WIDTH === */
.container {
    /* เปลี่ยนจาก container ปกติ (max-width: 1140px for lg) เป็น container-fluid */
    /* หรือคุณสามารถกำหนด max-width ที่นี่ให้กว้างขึ้น */
    /* max-width: 95% !important; */ /* ยกเลิกการใช้ max-width ของ bootstrap เพื่อกำหนดเอง */
    /* width: 98% !important; */ /* หรือจะให้เป็น % ไปเลย */
	max-width: 97% !important; /* หรือค่าที่คุณต้องการ เช่น 1400px, 1600px */
    padding-left: 1rem; /* เพื่อให้มีขอบจากหน้าจอเล็กน้อย */
    padding-right: 1rem; /* เพื่อให้มีขอบจากหน้าจอเล็กน้อย */
}

/* ทำให้ container-fluid มีความกว้างเต็มจอมากขึ้น */
/* หากคุณต้องการให้มันกว้างขึ้นจริงๆ ให้ใช้ class 'container-fluid' ใน HTML แทน 'container' */
.container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
}
/* === END NEW / MODIFIED CSS === */


/* DataTables Customization */
.custom-table-container {
    background-color: #ffffff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

#example {
    /* ความกว้าง 100% ถูกตั้งค่าโดย DataTables อยู่แล้ว */
    /* width: 100% !important; */
}

#example th {
    background-color: var(--table-header-bg);
    color: var(--table-header-text);
    white-space: nowrap; /* Prevent wrapping in headers if possible */
    padding: 0.75rem 1rem;
    font-weight: 600;
    text-align: center; /* Center header text */
}

#example tbody tr {
    transition: background-color 0.2s ease;
}

#example tbody tr:hover {
    background-color: var(--table-hover-bg);
}

#example td {
    padding: 0.75rem 1rem;
    vertical-align: middle; /* Center content vertically */
}

/* DataTables Pagination & Search Styling */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.9rem;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    font-size: 0.9rem;
    color: var(--secondary-color);
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0.5em 0.8em;
    border-radius: 0.25rem;
    margin: 0 2px;
    border: 1px solid #dee2e6;
    background-color: #ffffff;
    color: var(--link-color) !important;
    transition: all 0.2s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: var(--primary-senate-red);
    color: var(--header-text) !important;
    border-color: var(--primary-senate-red);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background-color: var(--primary-senate-red);
    color: var(--header-text) !important;
    border-color: var(--primary-senate-red);
}

/* File/Video Link Icons */
.file-link, .video-link {
    display: inline-block;
    vertical-align: middle;
    line-height: 1; /* Ensure icon doesn't add extra space */
}

.file-link img, .video-link img {
    transition: transform 0.2s ease;
}

.file-link:hover img, .video-link:hover img {
    transform: scale(1.1); /* Slight zoom on hover */
}

/* Search Highlight */
.dataTables_wrapper .dataTables_filter input.search_highlight {
    background-color: #fffacd; /* Light yellow background for highlighted search box */
}

.dataTables_wrapper .dataTables_filter input::placeholder {
    color: #999;
}

/* Footer Styling */
.main-footer {
    background-color: var(--footer-bg);
    color: var(--footer-text);
    font-size: 0.85rem;
}

.main-footer p {
    margin-bottom: 0.5rem;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
    .main-header .header-title {
        font-size: 1.5rem;
        text-align: center;
        flex-grow: 1;
    }
    .main-header .logo-area {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .main-header .logo-area img {
        margin-bottom: 0.5rem;
        margin-right: 0 !important;
    }
    .main-header .login-link {
        margin-top: 1rem;
        width: 100%;
        text-align: center;
    }
    .main-header .container {
        flex-direction: column;
        text-align: center;
    }
    /* === NEW / MODIFIED CSS FOR FULL WIDTH ON SMALLER SCREENS === */
    .container {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    /* === END NEW / MODIFIED CSS === */
}

@media (max-width: 767px) {
    .main-header .header-title {
        font-size: 1.3rem;
    }
    .container {
        padding-left: 0.25rem; /* ลด padding ลงอีกสำหรับมือถือ */
        padding-right: 0.25rem; /* ลด padding ลงอีกสำหรับมือถือ */
    }
    /* Ensure table is scrollable on small screens */
    .table-responsive {
        overflow-x: auto;
    }
    #example th, #example td {
        white-space: normal; /* Allow text to wrap if necessary */
        padding: 0.5rem;
    }
    .alert-info {
        padding: 1rem;
        font-size: 0.9rem;
    }
    .alert-info .alert-heading {
        font-size: 1.1rem;
    }
}