/* PAHS School Notice Manager v1.6.0
 * Strongly scoped frontend styles to prevent Shelly/Elementor theme overrides.
 */
.pahs-latest-box,
.pahs-latest-box *,
.pahs-notice-ticker,
.pahs-notice-ticker *,
.pahs-school-corner-wrap,
.pahs-school-corner-wrap *,
.pahs-school-modal,
.pahs-school-modal *,
.pahs-notice-table-wrap,
.pahs-notice-table-wrap * {
    box-sizing: border-box !important;
}

/* =========================
   Latest Notice
   ========================= */
.pahs-latest-box {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
    padding: 4px !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    font-family: Georgia, "Times New Roman", serif !important;
}

.pahs-latest-heading {
    width: 100% !important;
    flex: 0 0 auto !important;
    padding: 9px 10px !important;
    margin: 0 !important;
    background: #0D3D16 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

/* The configured height is the safe fallback. On desktop, frontend.js
 * replaces the outer box height with the live carousel/row height. */
.pahs-latest-list {
    display: block !important;
    width: 100% !important;
    height: var(--pahs-latest-height, 260px) !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 7px 4px 7px 6px !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #fff !important;
    scroll-behavior: auto !important;
    scrollbar-width: auto;
    scrollbar-color: #f28a13 #a9dc52;
}

/* When a matching carousel is found, the list fills the exact remaining
 * space under the heading. This remains correct during browser zoom. */
.pahs-latest-box.pahs-height-synced .pahs-latest-list {
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
}

/* If there are only a few notices, distribute them through the available
 * height so no blank white block remains at the bottom. */
.pahs-latest-list.pahs-fill-space {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

.pahs-latest-list.pahs-fill-space .pahs-latest-item {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.pahs-latest-list.pahs-fill-space .pahs-latest-empty {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
}

.pahs-latest-item {
    display: block !important;
    width: 100% !important;
    padding: 9px 4px 8px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px dotted #777 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
}

.pahs-latest-item:first-child { padding-top: 6px !important; }
.pahs-latest-item:last-child { border-bottom: 0 !important; }

.pahs-latest-title {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #1765a4 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
}

.pahs-latest-title:hover,
.pahs-latest-title:focus {
    color: #e36d00 !important;
    background: transparent !important;
    text-decoration: underline !important;
    outline: none !important;
}

.pahs-latest-date {
    display: block !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    color: #1765a4 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

.pahs-latest-empty {
    padding: 25px 10px !important;
    color: #555 !important;
    background: #fff !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

.pahs-latest-list::-webkit-scrollbar { width: 14px; }
.pahs-latest-list::-webkit-scrollbar-track {
    background: #a9dc52;
    border-left: 2px solid #fff;
}
.pahs-latest-list::-webkit-scrollbar-thumb {
    min-height: 38px;
    background: #f28a13;
    border: 2px solid #a9dc52;
    border-radius: 10px;
}
.pahs-latest-list::-webkit-scrollbar-thumb:hover { background: #e87500; }

/* =========================
   School Corner Card
   ========================= */
.pahs-school-corner-wrap {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pahs-school-card {
    display: flex !important;
    width: 100% !important;
    min-height: 240px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 25px 18px !important;
    margin: 0 !important;
    color: #333 !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    text-align: center !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

.pahs-school-card:hover,
.pahs-school-card:focus {
    color: #333 !important;
    background: #fff !important;
    border-color: #20b883 !important;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .12) !important;
    transform: translateY(-3px) !important;
    outline: none !important;
}

.pahs-school-title {
    display: block !important;
    color: #333 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.pahs-school-image {
    display: block !important;
    width: 112px !important;
    height: 82px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.pahs-school-default-icon {
    display: inline-flex !important;
    width: 112px !important;
    height: 82px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    background: #f6a01a !important;
}

.pahs-school-default-icon svg {
    width: 100% !important;
    height: 100% !important;
    fill: #fff !important;
}

/* =========================
   School Corner Modal
   ========================= */
.pahs-school-modal {
    position: fixed !important;
    z-index: 9999999 !important;
    inset: 0 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    margin: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
}

.pahs-school-modal.is-open { display: flex !important; }

.pahs-school-overlay {
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .55) !important;
    cursor: pointer !important;
}

.pahs-school-dialog {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    width: min(var(--pahs-popup-width, 1050px), calc(100vw - 24px)) !important;
    height: min(820px, calc(100vh - 24px)) !important;
    max-width: 1180px !important;
    max-height: calc(100vh - 24px) !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 3px solid #218c35 !important;
    border-radius: 11px !important;
    box-shadow: 0 8px 35px rgba(0, 0, 0, .32) !important;
    overflow: hidden !important;
}

.pahs-school-modal-header {
    display: flex !important;
    min-height: 55px !important;
    flex: 0 0 55px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 10px 18px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #ddd !important;
    border-radius: 0 !important;
}

.pahs-school-modal-header h2 {
    padding: 0 !important;
    margin: 0 !important;
    color: #3f3f3f !important;
    background: transparent !important;
    border: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-transform: none !important;
}

.pahs-school-close {
    display: inline-flex !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #aaa !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.pahs-school-close:hover,
.pahs-school-close:focus {
    color: #555 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.pahs-school-modal-body {
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 12px 20px 24px !important;
    margin: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
}

body.pahs-modal-open { overflow: hidden !important; }

/* Blue content frame inside popup, matching the reference screenshot. */
.pahs-school-modal .pahs-notice-table-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 5px 44px 70px !important;
    margin: 0 !important;
    color: #444 !important;
    background: #fff !important;
    border: 1px solid #2d91e8 !important;
    border-radius: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    font-family: Georgia, "Times New Roman", serif !important;
}

/* =========================
   Notice Table - hard reset
   ========================= */

.pahs-table-stage {
    position: relative !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.pahs-notice-table-wrap {
    width: 100% !important;
    margin: 0 !important;
    color: #444 !important;
    font-family: Georgia, "Times New Roman", serif !important;
}

.pahs-table-panel {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-top: 3px solid #20b883 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .28) !important;
    overflow: hidden !important;
}

.pahs-school-modal .pahs-table-panel {
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto !important;
}

.pahs-table-heading {
    display: block !important;
    padding: 9px 10px !important;
    margin: 0 !important;
    color: #4c4c4c !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #e3e3e3 !important;
    border-radius: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-transform: none !important;
}

.pahs-table-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 10px !important;
    margin: 0 !important;
    color: #333 !important;
    background: #fff !important;
}

.pahs-table-length,
.pahs-global-search {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #333 !important;
    background: transparent !important;
    border: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-transform: none !important;
}

.pahs-notice-table-wrap .pahs-per-page,
.pahs-notice-table-wrap .pahs-search-input,
.pahs-notice-table-wrap .pahs-title-filter,
.pahs-notice-table-wrap .pahs-date-filter {
    display: inline-block !important;
    min-width: 0 !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 8px !important;
    margin: 0 !important;
    color: #444 !important;
    background: #fff !important;
    border: 1px solid #c9c9c9 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    text-align: left !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

.pahs-notice-table-wrap .pahs-per-page {
    width: 58px !important;
    padding-right: 4px !important;
}

.pahs-notice-table-wrap .pahs-search-input {
    width: 130px !important;
}

.pahs-notice-table-wrap .pahs-search-input:focus,
.pahs-notice-table-wrap .pahs-title-filter:focus,
.pahs-notice-table-wrap .pahs-date-filter:focus,
.pahs-notice-table-wrap .pahs-per-page:focus {
    border-color: #8ab7df !important;
    box-shadow: 0 0 0 1px rgba(52, 152, 219, .18) !important;
}

.pahs-table-scroll {
    width: 100% !important;
    padding: 0 10px !important;
    margin: 0 !important;
    overflow-x: auto !important;
    background: #fff !important;
}

.pahs-notice-table {
    width: 100% !important;
    min-width: 680px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pahs-notice-table thead,
.pahs-notice-table tbody,
.pahs-notice-table tfoot,
.pahs-notice-table tr {
    background: transparent !important;
    border: 0 !important;
}

.pahs-notice-table th,
.pahs-notice-table td {
    height: auto !important;
    padding: 7px 8px !important;
    margin: 0 !important;
    color: #3f3f3f !important;
    background: #fff !important;
    border: 1px solid #d5d5d5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    text-transform: none !important;
}

.pahs-notice-table th {
    color: #333 !important;
    background: #fff !important;
    font-weight: 700 !important;
}

.pahs-notice-table tbody tr:nth-child(odd) td { background: #fafafa !important; }
.pahs-notice-table tbody tr:nth-child(even) td { background: #fff !important; }
.pahs-notice-table tbody tr:hover td { background: #f7f7f7 !important; }

.pahs-notice-table th:first-child,
.pahs-notice-table td:first-child { width: auto !important; text-align: left !important; }
.pahs-notice-table .pahs-date-col,
.pahs-notice-table th:nth-child(2),
.pahs-notice-table td:nth-child(2) { width: 150px !important; text-align: left !important; }
.pahs-notice-table .pahs-download-col,
.pahs-notice-table th:nth-child(3),
.pahs-notice-table td:nth-child(3) { width: 86px !important; text-align: center !important; }

.pahs-notice-table-wrap .pahs-sort {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #333 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-transform: none !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.pahs-notice-table-wrap .pahs-sort:hover,
.pahs-notice-table-wrap .pahs-sort:focus {
    color: #1765a4 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.pahs-notice-table-wrap .pahs-sort span {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #666 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

.pahs-notice-table-wrap .pahs-download-btn {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 3px 6px !important;
    margin: 0 !important;
    color: #fff !important;
    background: #5cb85c !important;
    background-image: none !important;
    border: 1px solid #4cae4c !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.pahs-notice-table-wrap .pahs-download-btn:hover,
.pahs-notice-table-wrap .pahs-download-btn:focus {
    color: #fff !important;
    background: #449d44 !important;
    border-color: #398439 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    outline: none !important;
}

.pahs-notice-table-wrap .pahs-download-btn.is-disabled {
    background: #999 !important;
    border-color: #888 !important;
    cursor: not-allowed !important;
}

.pahs-notice-table-wrap .pahs-title-filter,
.pahs-notice-table-wrap .pahs-date-filter {
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
}

.pahs-no-results td {
    padding: 25px 10px !important;
    color: #666 !important;
    text-align: center !important;
}

.pahs-table-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding: 8px 10px 16px !important;
    margin: 0 !important;
    color: #444 !important;
    background: #fff !important;
}

.pahs-table-info {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #444 !important;
    background: transparent !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.pahs-pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.pahs-notice-table-wrap .pahs-page-button,
.pahs-notice-table-wrap .pahs-page-ellipsis {
    display: inline-flex !important;
    width: auto !important;
    min-width: 32px !important;
    height: 30px !important;
    min-height: 30px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 9px !important;
    margin: 0 !important;
    color: #337ab7 !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #ddd !important;
    border-right-width: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.pahs-notice-table-wrap .pahs-page-button:first-child {
    border-radius: 3px 0 0 3px !important;
}

.pahs-notice-table-wrap .pahs-page-button:last-child {
    border-right-width: 1px !important;
    border-radius: 0 3px 3px 0 !important;
}

.pahs-notice-table-wrap .pahs-page-button:hover:not(:disabled),
.pahs-notice-table-wrap .pahs-page-button:focus:not(:disabled) {
    color: #23527c !important;
    background: #eee !important;
    box-shadow: none !important;
    outline: none !important;
}

.pahs-notice-table-wrap .pahs-page-button.is-active {
    color: #fff !important;
    background: #337ab7 !important;
    border-color: #337ab7 !important;
}

.pahs-notice-table-wrap .pahs-page-button:disabled {
    color: #999 !important;
    background: #fff !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

.pahs-notice-table-wrap .pahs-page-ellipsis {
    border-radius: 0 !important;
}

@media (max-width: 767px) {
    .pahs-latest-box { border-width: 3px !important; }
    .pahs-latest-heading { font-size: 15px !important; }
    .pahs-latest-title { font-size: 14px !important; }
    .pahs-latest-date { font-size: 12px !important; }

    .pahs-school-card { min-height: 210px !important; }
    .pahs-school-title { font-size: 18px !important; }

    /*
     * Reference-site mobile behaviour:
     * keep the complete desktop table visible and scale it down as one unit.
     * There is no horizontal table dragging inside the popup.
     */
    .pahs-school-modal {
        align-items: flex-start !important;
        padding: 5px !important;
    }

    .pahs-school-dialog {
        width: calc(100vw - 10px) !important;
        height: calc(100vh - 10px) !important;
        max-width: none !important;
        max-height: calc(100vh - 10px) !important;
        border-width: 2px !important;
        border-radius: 6px !important;
    }

    .pahs-school-modal-header {
        min-height: 36px !important;
        flex-basis: 36px !important;
        padding: 5px 9px !important;
    }

    .pahs-school-modal-header h2 {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .pahs-school-close {
        width: 18px !important;
        min-width: 18px !important;
        height: 18px !important;
        min-height: 18px !important;
        font-size: 14px !important;
    }

    .pahs-school-modal-body {
        padding: 7px 12px 10px !important;
        overflow: hidden !important;
    }

    .pahs-school-modal .pahs-notice-table-wrap {
        height: 100% !important;
        padding: 5px 14px 36px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .pahs-school-modal .pahs-table-stage {
        width: 100% !important;
        min-height: 1px !important;
        overflow: visible !important;
    }

    .pahs-school-modal .pahs-table-panel {
        width: 960px !important;
        max-width: none !important;
        margin: 0 !important;
        transform-origin: top left !important;
        will-change: transform !important;
    }

    .pahs-school-modal .pahs-table-scroll {
        overflow: visible !important;
    }

    .pahs-school-modal .pahs-notice-table {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Standalone tables remain usable with horizontal scrolling. */
    .pahs-notice-table-wrap:not(.pahs-school-modal .pahs-notice-table-wrap) .pahs-table-controls,
    .pahs-notice-table-wrap:not(.pahs-school-modal .pahs-notice-table-wrap) .pahs-table-bottom {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .pahs-notice-table-wrap:not(.pahs-school-modal .pahs-notice-table-wrap) .pahs-global-search {
        justify-content: space-between !important;
    }

    .pahs-notice-table-wrap:not(.pahs-school-modal .pahs-notice-table-wrap) .pahs-search-input {
        width: 160px !important;
    }

    .pahs-notice-table-wrap:not(.pahs-school-modal .pahs-notice-table-wrap) .pahs-pagination {
        justify-content: flex-start !important;
    }

    .pahs-table-heading { font-size: 15px !important; }
}


/* v1.3.0 mobile scaling hardening. The JS applies the actual scale after the modal opens. */
@media (max-width: 767px) {
    body .pahs-school-modal.is-open .pahs-notice-table-wrap {
        overflow-x: hidden !important;
    }

    body .pahs-school-modal.is-open .pahs-table-stage {
        overflow: hidden !important;
    }

    body .pahs-school-modal.is-open .pahs-table-scroll {
        overflow: visible !important;
        scrollbar-width: none !important;
    }

    body .pahs-school-modal.is-open .pahs-table-scroll::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    body .pahs-school-modal.is-open .pahs-table-panel {
        transform-origin: top left !important;
    }
}


/* ==========================================================
   v1.4.0 TRUE MOBILE RESPONSIVE TABLE
   All notice information remains visible without horizontal scrolling.
   ========================================================== */
@media (max-width: 767px) {
    body .pahs-school-modal {
        align-items: flex-start !important;
        padding: 6px !important;
    }

    body .pahs-school-dialog {
        width: calc(100vw - 12px) !important;
        height: calc(100dvh - 12px) !important;
        max-width: none !important;
        max-height: calc(100dvh - 12px) !important;
        border-width: 2px !important;
        border-radius: 7px !important;
    }

    body .pahs-school-modal-header {
        min-height: 44px !important;
        flex: 0 0 44px !important;
        padding: 8px 11px !important;
    }

    body .pahs-school-modal-header h2 {
        font-size: 15px !important;
        line-height: 1.3 !important;
    }

    body .pahs-school-close {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        font-size: 20px !important;
    }

    body .pahs-school-modal-body {
        padding: 8px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body .pahs-school-modal .pahs-notice-table-wrap {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: visible !important;
    }

    body .pahs-school-modal .pahs-table-stage,
    body .pahs-school-modal .pahs-table-panel {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }

    body .pahs-table-panel {
        border-top-width: 3px !important;
        box-shadow: 0 2px 7px rgba(0, 0, 0, .18) !important;
    }

    body .pahs-table-heading {
        padding: 10px 11px !important;
        font-size: 16px !important;
    }

    body .pahs-table-controls {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 11px !important;
    }

    body .pahs-table-length,
    body .pahs-global-search {
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        font-size: 13px !important;
    }

    body .pahs-global-search {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    body .pahs-notice-table-wrap .pahs-search-input {
        width: 100% !important;
        max-width: none !important;
    }

    body .pahs-table-scroll {
        width: 100% !important;
        padding: 0 10px 10px !important;
        overflow: visible !important;
    }

    body .pahs-notice-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        table-layout: auto !important;
        background: transparent !important;
    }

    body .pahs-notice-table thead,
    body .pahs-notice-table tfoot {
        display: none !important;
    }

    body .pahs-notice-table tbody {
        display: grid !important;
        width: 100% !important;
        gap: 10px !important;
    }

    body .pahs-notice-table tr.pahs-notice-row {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 0 !important;
        background: #fff !important;
        border: 1px solid #d7d7d7 !important;
        border-radius: 5px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .06) !important;
        overflow: hidden !important;
    }

    body .pahs-notice-table tr.pahs-notice-row[hidden],
    body .pahs-notice-table tr.pahs-no-results[hidden] {
        display: none !important;
    }

    body .pahs-notice-table tr.pahs-notice-row td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 10px 11px !important;
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        text-align: left !important;
        overflow-wrap: anywhere !important;
    }

    body .pahs-notice-table tr.pahs-notice-row td::before {
        display: block !important;
        margin: 0 0 4px !important;
        color: #666 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        content: attr(data-label) !important;
    }

    body .pahs-notice-table tr.pahs-notice-row td:nth-child(1) {
        grid-column: 1 / -1 !important;
        border-bottom: 1px solid #e2e2e2 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    body .pahs-notice-table tr.pahs-notice-row td:nth-child(2) {
        grid-column: 1 !important;
        border-right: 1px solid #e2e2e2 !important;
    }

    body .pahs-notice-table tr.pahs-notice-row td:nth-child(3) {
        grid-column: 2 !important;
        min-width: 105px !important;
        text-align: center !important;
    }

    body .pahs-notice-table tr.pahs-notice-row td:nth-child(3)::before {
        text-align: center !important;
    }

    body .pahs-notice-table-wrap .pahs-download-btn {
        min-width: 76px !important;
        padding: 7px 9px !important;
        font-size: 12px !important;
    }

    body .pahs-no-results {
        display: block !important;
        width: 100% !important;
    }

    body .pahs-no-results td {
        display: block !important;
        width: 100% !important;
        padding: 22px 10px !important;
        border: 1px solid #ddd !important;
        text-align: center !important;
    }

    body .pahs-table-bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 10px 11px 14px !important;
    }

    body .pahs-table-info {
        font-size: 12px !important;
    }

    body .pahs-pagination {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    body .pahs-notice-table-wrap .pahs-page-button,
    body .pahs-notice-table-wrap .pahs-page-ellipsis {
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 5px 8px !important;
        font-size: 12px !important;
    }
}

/* =========================
   Horizontal News Ticker
   ========================= */
.pahs-notice-ticker {
    --pahs-ticker-duration: 30s;
    --pahs-ticker-bg: #0D3D16 !important;
    --pahs-ticker-accent: #0D3D16;
    --pahs-ticker-text: #ffffff;
    display: flex !important;
    width: 1200px !important;
    min-height: 60px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 10px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--pahs-ticker-text) !important;
    background: var(--pahs-ticker-bg) !important;
    border: 3px solid var(--pahs-ticker-accent) !important;
    border-radius: 4px !important;
    font-family: Georgia, "Times New Roman", serif !important;
}

.pahs-ticker-label {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 7px 12px !important;
    margin: 0 !important;
    color: #17220d !important;
    background: var(--pahs-ticker-accent) !important;
    border: 0 !important;
    border-radius: 3px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.pahs-ticker-viewport {
    position: relative !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.pahs-ticker-track {
    display: flex !important;
    width: max-content !important;
    align-items: center !important;
    will-change: transform !important;
}

.pahs-ticker-direction-left .pahs-ticker-track {
    animation: pahsTickerMoveLeft var(--pahs-ticker-duration) linear infinite !important;
}

.pahs-ticker-direction-right .pahs-ticker-track {
    animation: pahsTickerMoveRight var(--pahs-ticker-duration) linear infinite !important;
}

.pahs-ticker-group,
.pahs-ticker-clone {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
}

.pahs-ticker-clone > .pahs-ticker-group {
    display: flex !important;
}

.pahs-ticker-item {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 24px 0 0 !important;
    padding: 0 !important;
    color: var(--pahs-ticker-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}

.pahs-ticker-item::after {
    content: "◆" !important;
    display: inline-block !important;
    margin-left: 16px !important;
    color: var(--pahs-ticker-accent) !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

.pahs-ticker-link,
a.pahs-ticker-link {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pahs-ticker-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

a.pahs-ticker-link:hover,
a.pahs-ticker-link:focus {
    color: var(--pahs-ticker-accent) !important;
    text-decoration: underline !important;
    outline: none !important;
}

.pahs-ticker-date {
    display: inline !important;
    color: var(--pahs-ticker-accent) !important;
    font-size: .84em !important;
    font-weight: 600 !important;
}

.pahs-ticker-button {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 7px 13px !important;
    margin: 0 !important;
    color: #17220d !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.pahs-ticker-button:hover,
.pahs-ticker-button:focus {
    color: #17220d !important;
    background: var(--pahs-ticker-accent) !important;
    text-decoration: none !important;
    outline: none !important;
}

.pahs-ticker-empty {
    width: 100% !important;
    color: var(--pahs-ticker-text) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.pahs-ticker-pause-hover:hover .pahs-ticker-track,
.pahs-ticker-pause-hover:focus-within .pahs-ticker-track {
    animation-play-state: paused !important;
}

@keyframes pahsTickerMoveLeft {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@keyframes pahsTickerMoveRight {
    from { transform: translate3d(-50%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

@media (max-width: 767px) {
    .pahs-notice-ticker {
        width: 100% !important;
        min-height: 50px !important;
        gap: 6px !important;
        padding: 5px 7px !important;
        border-width: 2px !important;
    }

    .pahs-ticker-label,
    .pahs-ticker-button {
        min-height: 34px !important;
        padding: 6px 8px !important;
        font-size: 13px !important;
    }

    .pahs-ticker-item {
        margin-right: 18px !important;
        font-size: 15px !important;
    }

    .pahs-ticker-item::after {
        margin-left: 12px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pahs-notice-ticker .pahs-ticker-track {
        animation: none !important;
        transform: none !important;
    }

    .pahs-notice-ticker .pahs-ticker-clone {
        display: none !important;
    }
}

