﻿/* IMPORTANT: do not set overflow-x: hidden on .notice-wrap anywhere.
   If your old CSS has it, delete it. */
.notice-wrap {
    overflow-x: visible;
}

/* ---------- Accordion header ---------- */
.notice-toggle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 14px;
    white-space: normal !important; /* allow wrapping */
    text-decoration: none !important;
    padding: .65rem .9rem;
    font-size: 15px;
}

.notice-code {
    font-weight: 700;
    word-break: break-all;
}

.notice-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 14px;
    font-size: 14px;
}

    .notice-meta .badge {
        font-size: 12px;
    }

/* ---------- Content ---------- */
.modal-body-inner {
    max-width: 100%;
}

.notice-title {
    font-size: 16px;
}

.notice-text {
    font-size: 20px;
}

.dotted-blank {
    display: inline-block;
    min-width: 60px;
    padding: 0 8px;
    text-align: center;
    border-bottom: 2px dotted #000;
}

.hr-design {
    border-top: 1px solid #000;
    opacity: 1;
    margin: 1rem 0;
}

.sig-img {
    max-width: 110px;
    max-height: 110px;
    object-fit: contain;
}

/* ---------- Table (lg and up): fits without scrolling ---------- */
.notice-table {
    width: 100%;
    table-layout: fixed;
}

    .notice-table th,
    .notice-table td {
        font-size: 14px;
        padding: .45rem .5rem !important;
        vertical-align: top;
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    .notice-table .col-name {
        width: 14%;
    }

    .notice-table .col-cond {
        width: 10%;
    }

    .notice-table .col-occ {
        width: 13%;
    }

    .notice-table .col-age {
        width: 6%;
    }

    .notice-table .col-res {
        width: 12%;
    }

/* ---------- Cards (below lg) ---------- */
.info-list {
    display: grid;
    grid-template-columns: minmax(110px, 38%) 1fr;
    gap: 6px 10px;
    font-size: 14px;
}

    .info-list dt {
        font-weight: 600;
        color: #555;
        margin: 0;
    }

    .info-list dd {
        margin: 0;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

/* ---------- Small phones ---------- */
@media (max-width: 575.98px) {
    .notice-toggle {
        font-size: 14px;
        padding: .55rem .7rem;
    }

    .notice-meta {
        font-size: 13px;
    }

    .notice-title {
        font-size: 15px;
    }

    .notice-text {
        font-size: 20px;
        text-align: left;
    }

    .info-list {
        grid-template-columns: 1fr;
        gap: 0;
    }
        /* label above value */
        .info-list dt {
            margin-top: 8px;
            font-size: 12px;
            text-transform: uppercase;
        }

        .info-list dd {
            font-size: 14px;
        }

    .sig-img {
        max-width: 90px;
        max-height: 90px;
    }

    .modal-body {
        padding-left: .5rem;
        padding-right: .5rem;
    }
}
