.ordering-page { overflow-wrap: anywhere; }
.ordering-page label { margin-bottom: .35rem; }
.ordering-page .ordering-table td, .ordering-page .ordering-table th,
.ordering-modal td, .ordering-modal th {
    white-space: normal; word-break: normal; overflow-wrap: anywhere; vertical-align: middle;
}
.ordering-page .ordering-actions { white-space: nowrap; }
.ordering-page .ordering-empty { text-align: center; padding: 1.5rem; color: #6c757d; }
.ordering-modal .modal-dialog { max-height: calc(100% - 3.5rem); }
.ordering-modal .modal-lg { max-width: 1100px; }
.ordering-modal .modal-content { max-height: calc(100vh - 3.5rem); max-height: calc(100dvh - 3.5rem); }
.ordering-modal .modal-body { overflow-y: auto; min-height: 0; }
.ordering-modal .modal-header, .ordering-modal .modal-footer { flex-shrink: 0; background: #fff; }
.ordering-modal .modal-footer { gap: .5rem; }
.ordering-modal .modal-footer .btn { margin: 0; }
.ordering-modal .modal-footer .ordering-back { margin-right: auto; }
.ordering-modal .close { min-height: 44px; min-width: 44px; }
.ordering-modal .ordering-product-fields { width: 100%; }
.ordering-product-fields td { padding: .5rem .25rem; }
.ordering-product-fields td:first-child { white-space: nowrap; width: 6rem; }
.ordering-modal .dropdown-menu { max-height: 220px; overflow-y: auto; }
.ordering-modal .orderqty { min-width: 80px; }
.ordering-modal .ordernotice { min-width: 140px; }
.ordering-modal #mImg { max-height: 180px; }
.ordering-checkout { max-width: 760px; }
.ordering-account form { max-width: 480px; padding: 0; }
@media (max-width: 767.98px) {
    .ordering-page h1 { font-size: 1.75rem; margin-bottom: 1rem; }
    .ordering-page h4 { font-size: 1.15rem !important; }
    .ordering-page .form-control, .ordering-modal .form-control,
    .ordering-modal .orderqty, .ordering-page .dataTables_wrapper input,
    .ordering-page .dataTables_wrapper select { font-size: 16px; min-height: 44px; }
    .ordering-page .btn, .ordering-modal .btn, .ordering-page .nav-link { min-height: 44px; }
    .ordering-page .product-card {
        height: auto; min-height: 64px; padding: .75rem .5rem;
        font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere;
    }
    .ordering-page .order-search-field { flex: 1 1 100%; min-width: 0; }
    .ordering-page .order-search button[type="submit"], .ordering-checkout button[type="submit"],
    .ordering-account button[type="submit"] { width: 100%; }
    .ordering-checkout > .col-12, .ordering-checkout form > .col-12 { padding-left: 0; padding-right: 0; }
    .ordering-page .ordering-table, .ordering-page .ordering-table tbody,
    .ordering-page .ordering-table tfoot { display: block; width: 100% !important; overflow: visible; }
    .ordering-page .ordering-table thead, .ordering-modal .ordering-detail-table thead {
        position: absolute; width: 1px; height: 1px; overflow: hidden;
        clip: rect(0, 0, 0, 0); white-space: nowrap;
    }
    .ordering-page .ordering-table tbody > tr, .ordering-modal .ordering-detail-table tbody > tr {
        display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        border: 1px solid #dee2e6; border-radius: .5rem;
        margin-bottom: 1rem; padding: .75rem; background: #fff !important;
    }
    .ordering-page .ordering-table td, .ordering-modal .ordering-detail-table td {
        display: block; border: 0; padding: .5rem; min-width: 0;
    }
    .ordering-page .ordering-table tbody td[data-label]::before,
    .ordering-modal .ordering-detail-table td[data-label]::before {
        content: attr(data-label); display: block; color: #6c757d;
        font-size: .875rem; margin-bottom: .35rem; font-weight: 400;
    }
    .ordering-page .ordering-table .ordering-wide,
    .ordering-modal .ordering-detail-table .ordering-wide { grid-column: 1 / -1; }
    .ordering-page .ordering-table .ordering-title { font-weight: 600; }
    .ordering-page .ordering-actions { grid-column: 1 / -1; }
    .ordering-page .ordering-actions .btn { width: 100%; }
    .ordering-page .ordering-table .dataTables_empty { grid-column: 1 / -1; }
    .ordering-page .dataTables_wrapper .dataTables_length,
    .ordering-page .dataTables_wrapper .dataTables_filter,
    .ordering-page .dataTables_wrapper .dataTables_info,
    .ordering-page .dataTables_wrapper .dataTables_paginate { float: none; text-align: left; margin: .5rem 0; }
    .ordering-page .dataTables_wrapper .dataTables_filter label { display: flex; align-items: center; }
    .ordering-page .dataTables_wrapper .dataTables_filter input { flex: 1; width: 0; min-width: 0; }
    .ordering-page .dataTables_wrapper .paginate_button { min-width: 44px; min-height: 44px; }
    .ordering-modal .modal-dialog { margin: 0; width: 100%; max-width: none; height: 100%; max-height: none; }
    .ordering-modal .modal-content { height: 100%; max-height: 100%; border: 0; border-radius: 0; }
    .ordering-modal .modal-body { padding: 1rem; overscroll-behavior: contain; }
    .ordering-modal .modal-footer {
        flex-wrap: nowrap; padding: .75rem;
        padding-bottom: max(.75rem, env(safe-area-inset-bottom));
    }
    .ordering-modal .modal-footer .btn { flex: 1; min-width: 0; white-space: normal; margin: 0; padding: .5rem .35rem; }
    .ordering-modal .ordering-product-fields,
    .ordering-modal .ordering-product-fields tbody { display: block; width: 100%; }
    .ordering-modal .ordering-product-fields tr { display: block; margin-bottom: 1rem; }
    .ordering-modal .ordering-product-fields td { display: block; width: 100%; padding: 0; }
    .ordering-modal .ordering-product-fields td:first-child { width: 100%; color: #6c757d; margin-bottom: .35rem; }
    .ordering-modal #buyQty, .ordering-modal #deliveryDate { width: 100% !important; }
    .ordering-modal .ordering-detail-table, .ordering-modal .ordering-detail-table tbody { display: block; width: 100%; }
    .ordering-modal .order-unit-control, .ordering-modal .ordernotice { min-width: 0; }
    .ordering-modal .orderqty { width: 100%; min-width: 0; }
}
