/* WooCommerce Book Requests — shared customer and administration styles. */
.wbr-product-request { margin: 1.2rem 0; }
.wbr-product-request form { margin: 0; }
.woocommerce ul.products li.product .wbr-product-request { margin: .5rem 0 1rem; }
.woocommerce ul.products li.product .wbr-product-request .button { white-space: normal; }

.wbr-account { max-width: 100%; min-width: 0; }
.wbr-account h2 { margin-top: 1.6em; }
.wbr-request-form { padding: 1.25rem; border: 1px solid #dfe3e8; border-radius: 7px; background: #fafafa; }
.wbr-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; }
.wbr-form-grid .form-row { float: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
.wbr-form-grid label { display: block; margin-bottom: .3rem; font-weight: 600; }
.wbr-form-grid input { width: 100% !important; max-width: 100%; box-sizing: border-box; }
.wbr-request-form > p:last-child { margin: 1rem 0 0; }

/* Container queries use the table's actual available space, not the device width.
   This also handles WooCommerce account layouts with a sidebar. */
.wbr-table-scroll { max-width: 100%; overflow-x: auto; container: wbr-list / inline-size; }
.wbr-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.wbr-table th, .wbr-table td { vertical-align: top; }
.wbr-table td { overflow-wrap: anywhere; }
.wbr-secondary { font-size: .85em; margin-top: .25rem; }
.wbr-status { display: inline-block; padding: .18rem .45rem; border-radius: 4px; white-space: nowrap; background: #edeef0; color: #353b43; font-size: .88em; font-weight: 600; }
.wbr-status-in_process { background: #fff3d6; color: #7b5200; }
.wbr-status-not_possible { background: #fbe9e9; color: #8b2626; }
.wbr-status-processed { background: #e1f3e5; color: #175d32; }
.wbr-pagination { margin: 1.5rem 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.wbr-pagination .page-numbers { display: inline-block; padding: .3rem .45rem; }

/* Admin full-width list and controls. */
.wbr-admin { min-width: 0; }
.wbr-admin-filters { margin: 1rem 0; display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; }
.wbr-admin-table { min-width: 1120px; table-layout: auto; }
.wbr-admin-table th, .wbr-admin-table td { overflow-wrap: anywhere; vertical-align: top; }
.wbr-admin-table .wbr-check-column { width: 42px; text-align: center; padding: 8px 4px; }
.wbr-admin-table .wbr-check-column input[type="checkbox"] { margin: 0; }
.wbr-mobile-select-all { display: none; }
.wbr-bulk-controls { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin: 14px 0 10px; }
.wbr-bulk-controls .button { margin: 0; }
.wbr-bulk-notify { display: inline-flex; align-items: center; gap: 7px; margin-left: 10px; }
.wbr-bulk-notify input { margin: 0; flex: 0 0 auto; }
.wbr-bulk-controls .description { font-size: 12px; }
.wbr-edit-form { max-width: 900px; }
.wbr-edit-form input.regular-text { max-width: 100%; box-sizing: border-box; }

/* Customer request cards for a narrow account content area (tablets / phones). */
@container wbr-list (max-width: 980px) {
    .wbr-account .wbr-table { display: block; min-width: 0; width: 100%; border: 0; background: transparent; }
    .wbr-account .wbr-table thead {
        position: absolute; width: 1px; height: 1px; padding: 0;
        margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
    }
    .wbr-account .wbr-table tbody {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px; width: 100%;
    }
    .wbr-account .wbr-table tbody tr {
        display: block; margin: 0; padding: 14px; min-width: 0;
        border: 1px solid #dfe3e8; border-radius: 9px;
        background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 5%);
    }
    .wbr-account .wbr-table tbody td {
        display: grid; grid-template-columns: minmax(96px, 36%) minmax(0, 1fr);
        gap: 10px; align-items: start; width: auto !important;
        min-width: 0; padding: 9px 0; margin: 0; float: none !important;
        border: 0; border-top: 1px solid #e9ecef;
        background: transparent !important; text-align: left !important;
        box-sizing: border-box; overflow-wrap: anywhere;
    }
    .wbr-account .wbr-table tbody td::before {
        content: attr(data-title); display: block; width: auto !important;
        padding: 0 !important; margin: 0; float: none !important;
        font-weight: 600; font-size: .9em; color: #56616d;
        text-align: left;
    }
    .wbr-account .wbr-table tbody td:first-child {
        display: block; padding: 0 0 11px; border-top: 0; font-size: 1.05em;
    }
    .wbr-account .wbr-table tbody td:first-child::before { content: none; }
}

/* Administrator request cards, with the same bulk checkboxes and buttons. */
@container wbr-list (max-width: 1180px) {
    .wbr-admin .wbr-mobile-select-all {
        display: flex; align-items: center; gap: 9px;
        padding: 12px; margin-bottom: 12px;
        border: 1px solid #c3c4c7; border-radius: 7px;
        background: #f6f7f7; font-weight: 600;
    }
    .wbr-admin .wbr-mobile-select-all input { margin: 0; }
    .wbr-admin .wbr-admin-table {
        display: block; min-width: 0; width: 100%;
        border: 0; background: transparent; box-shadow: none;
    }
    .wbr-admin .wbr-admin-table thead {
        position: absolute; width: 1px; height: 1px; padding: 0;
        margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
    }
    .wbr-admin .wbr-admin-table thead input { display: none; }
    .wbr-admin .wbr-admin-table tbody {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px; width: 100%;
    }
    .wbr-admin .wbr-admin-table tbody tr.wbr-request-row {
        display: grid; grid-template-columns: 34px minmax(0, 1fr);
        gap: 0 8px; min-width: 0; padding: 13px;
        border: 1px solid #c3c4c7; border-radius: 9px;
        background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 5%);
    }
    .wbr-admin .wbr-admin-table tbody tr.wbr-request-row:nth-child(even) { background: #fff; }
    .wbr-admin .wbr-admin-table tbody th.wbr-check-column {
        grid-column: 1; grid-row: 1; display: flex; align-items: center;
        justify-content: center; width: auto; min-width: 0;
        padding: 4px 0; margin: 0; border: 0;
        background: transparent; box-shadow: none;
    }
    .wbr-admin .wbr-admin-table tbody td {
        grid-column: 1 / -1; display: grid;
        grid-template-columns: minmax(105px, 34%) minmax(0, 1fr);
        gap: 10px; align-items: start; min-width: 0; width: auto;
        padding: 9px 0; margin: 0; border: 0;
        border-top: 1px solid #e9ecef; background: transparent;
        text-align: left; box-sizing: border-box; overflow-wrap: anywhere;
    }
    .wbr-admin .wbr-admin-table tbody td::before {
        content: attr(data-label); display: block;
        color: #50575e; font-weight: 600;
    }
    .wbr-admin .wbr-admin-table tbody td.wbr-book-cell {
        grid-column: 2; grid-row: 1; display: block;
        padding: 4px 0 11px; border-top: 0;
        font-size: 1.05em; line-height: 1.45;
    }
    .wbr-admin .wbr-admin-table tbody td.wbr-book-cell::before { content: none; }
    .wbr-admin .wbr-admin-table tbody td .button { min-height: 36px; }
    .wbr-admin .wbr-admin-table tbody tr.wbr-empty-row {
        display: block; grid-column: 1 / -1;
        background: #fff; border: 1px solid #c3c4c7;
    }
    .wbr-admin .wbr-admin-table tbody tr.wbr-empty-row td {
        display: block; padding: 15px; border: 0;
    }
    .wbr-admin .wbr-admin-table tbody tr.wbr-empty-row td::before { content: none; }
}

@container wbr-list (max-width: 700px) {
    .wbr-admin .wbr-admin-table tbody { grid-template-columns: minmax(0, 1fr); }
}

@container wbr-list (max-width: 660px) {
    .wbr-account .wbr-table tbody { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 782px) {
    .wbr-admin-filters { align-items: stretch; gap: 8px; }
    .wbr-admin-filters input[type="search"] { flex: 1 1 160px; min-width: 0; }
    .wbr-admin-filters select { max-width: 100%; }
    .wbr-bulk-controls { align-items: stretch; }
    .wbr-bulk-controls select { max-width: 100%; flex: 1 1 150px; }
    .wbr-bulk-controls .button { min-height: 40px; }
    .wbr-bulk-notify { margin: 4px 0 0; width: 100%; }
    .wbr-edit-form .form-table input.regular-text { width: 100%; }
}

@media (max-width: 650px) {
    .wbr-form-grid { grid-template-columns: 1fr; }
    .wbr-request-form { padding: .9rem; }
    .wbr-request-form .button { min-height: 42px; white-space: normal; }
}

/* v1.5: book covers and Persian / right-to-left layout, limited to plugin UI. */
.wbr-account, .wbr-admin { direction: rtl; text-align: right; }
.wbr-account .wbr-request-form { color: #1f2933; }
.wbr-account .wbr-request-form label, .wbr-account .wbr-request-form p { color: #27323d; }
.wbr-account .wbr-request-form input { color: #202a33; background-color: #fff; }
.wbr-book-summary { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; min-width: 0; }
.wbr-cover-wrap { display: inline-block; flex: 0 0 60px; width: 60px; }
.wbr-book-cover { display: block; width: 60px !important; height: 86px !important; object-fit: cover; border-radius: 4px; background: #f1f2f3; box-shadow: 0 1px 3px rgb(0 0 0 / 12%); }
.wbr-book-name { display: block; flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.wbr-status-note { font-size: .86em; line-height: 1.65; color: #374151; white-space: normal; margin-top: .4em; overflow-wrap: anywhere; }
.wbr-edit-cover { margin: 10px 0 18px; }
.wbr-edit-cover .wbr-book-cover { width: 110px !important; height: 155px !important; }
.wbr-admin .wbr-edit-form textarea { max-width: 100%; box-sizing: border-box; }
.wbr-account .wbr-table th, .wbr-account .wbr-table td { text-align: right; }
.wbr-account .wbr-status-note, .wbr-admin .wbr-status-note { direction: rtl; text-align: right; }

/* Prevent a dark storefront's inherited white text from disappearing on white cards. */
@container wbr-list (max-width: 980px) {
    .wbr-account .wbr-table tbody tr { color: #25313b !important; }
    .wbr-account .wbr-table tbody td,
    .wbr-account .wbr-table tbody td strong,
    .wbr-account .wbr-table tbody td .wbr-book-name,
    .wbr-account .wbr-table tbody td .wbr-status-note { color: #25313b !important; }
    .wbr-account .wbr-table tbody td a { color: #155e87 !important; text-decoration: underline; }
    .wbr-account .wbr-table tbody td { text-align: right !important; }
    .wbr-account .wbr-table tbody td::before { color: #465465 !important; text-align: right; }
    /* Keep status colors readable and distinct on the gray badge. */
    .wbr-account .wbr-table tbody .wbr-status { color: #353b43; }
    .wbr-account .wbr-table tbody .wbr-status-in_process { color: #7b5200; }
    .wbr-account .wbr-table tbody .wbr-status-not_possible { color: #8b2626; }
    .wbr-account .wbr-table tbody .wbr-status-processed { color: #175d32; }
}
@container wbr-list (max-width: 1180px) {
    .wbr-admin .wbr-admin-table tbody td { text-align: right !important; }
    .wbr-admin .wbr-admin-table tbody td::before { text-align: right; }
}
@container wbr-list (max-width: 360px) {
    .wbr-cover-wrap { flex-basis: 48px; width: 48px; }
    .wbr-book-cover { width: 48px !important; height: 70px !important; }
}
