/* ============================================================
   Reading Dinos Library — Premium Theme
   Primary: rgb(1, 32, 96)  |  Accent: #C9A227 (gold)
   Version: 3.0
   ============================================================ */

/* ── Design tokens ── */
:root {
    --rdl-navy:        rgb(1, 32, 96);
    --rdl-navy-deep:   rgb(1, 22, 66);
    --rdl-navy-mid:    rgb(10, 48, 120);
    --rdl-navy-soft:   rgb(230, 235, 248);
    --rdl-navy-pale:   rgb(240, 244, 255);
    --rdl-gold:        #C9A227;
    --rdl-gold-light:  #F5E9C0;
    --rdl-white:       #FFFFFF;
    --rdl-surface:     #F7F8FC;
    --rdl-border:      #DDE3F0;
    --rdl-muted:       #6B7A99;
    --rdl-text:        #0D1F4A;
    --rdl-text-light:  #7A9CC6;

    --rdl-ok:          #2E7D4F;
    --rdl-ok-bg:       #EAF3DE;
    --rdl-ok-text:     #1A4D30;
    --rdl-warn:        #92400E;
    --rdl-warn-bg:     #FEF3C7;
    --rdl-warn-text:   #633806;
    --rdl-danger:      #991B1B;
    --rdl-danger-bg:   #FEE2E2;
    --rdl-danger-text: #7F1D1D;
    --rdl-pending-bg:  #EEF2FF;
    --rdl-pending-text:#3730A3;

    --rdl-radius:      10px;
    --rdl-radius-sm:   6px;
    --rdl-radius-lg:   14px;
}

/* ============================================================
   BOOK LIST  [rdl_books]
   ============================================================ */

.rdl-book-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem;
    padding: 0.5rem 0;
}

.rdl-book-card {
    background: var(--rdl-white);
    border: 0.5px solid var(--rdl-border);
    border-radius: var(--rdl-radius-lg);
    padding: 0;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    position: relative;
}

.rdl-book-card:hover {
    transform: translateY(-3px);
    border-color: var(--rdl-navy);
    box-shadow: 0 8px 24px rgba(1, 32, 96, 0.12);
}

.rdl-book-card > div:first-child {
    background: var(--rdl-navy-pale);
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rdl-thumbnail {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0;
    object-fit: cover;
}

.rdl-book-card h3 {
    font-size: 14px;
    font-weight: 500;
    color: var(--rdl-text);
    margin: 0 0 6px;
    line-height: 1.35;
}

.rdl-book-card p {
    font-size: 12px;
    color: var(--rdl-muted);
    margin: 3px 0;
    line-height: 1.4;
}

.rdl-book-card > h3,
.rdl-book-card > p {
    padding: 0 14px;
}

.rdl-book-card h3:first-of-type {
    padding-top: 14px;
}

.rdl-book-card p:last-child {
    padding-bottom: 14px;
}

/* Status badge on book cover */
.rdl-status-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.4px;
    padding: 3px 9px;
    border-radius: 20px;
    text-transform: capitalize;
    z-index: 2;
}

.rdl-status-borrowed {
    background: var(--rdl-navy);
    color: var(--rdl-white);
}

.rdl-status-reserved {
    background: var(--rdl-gold);
    color: #3D2000;
}

.rdl-status-out_for_delivery {
    background: var(--rdl-ok);
    color: var(--rdl-white);
}

/* Status badge (book detail page) */
.book-status-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.4px;
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: capitalize;
    z-index: 2;
    background: var(--rdl-navy);
    color: var(--rdl-white);
}

.book-box.status-borrowed .book-status-badge  { background: var(--rdl-danger); }
.book-box.status-reserved .book-status-badge  { background: var(--rdl-gold); color: #3D2000; }

/* ============================================================
   BOOK DETAIL PAGE  (single-rdl_book.php)
   ============================================================ */

.book-box {
    max-width: 960px;
    margin: 30px auto;
    padding: 0;
    background: var(--rdl-white);
    border-radius: var(--rdl-radius-lg);
    border: 0.5px solid var(--rdl-border);
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.book-box.status-reserved { border-color: var(--rdl-gold); }
.book-box.status-borrowed  { border-color: var(--rdl-danger); }

@media (min-width: 768px) {
    .book-box {
        grid-template-columns: 280px 1fr;
    }
}

.book-cover {
    background: var(--rdl-navy-pale);
    min-height: 280px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 20px;
}

.book-cover img {
    width: 100%;
    border-radius: var(--rdl-radius-sm);
    object-fit: cover;
}

.book-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 24px 28px;
}

.book-info h1 {
    font-size: 22px;
    font-weight: 500;
    color: var(--rdl-text);
    margin: 0 0 16px;
    line-height: 1.3;
    letter-spacing: -0.3px;
}

.book-meta p {
    font-size: 13px;
    color: var(--rdl-muted);
    margin: 5px 0;
    line-height: 1.5;
}

.book-meta p strong {
    color: var(--rdl-text);
    font-weight: 500;
}

.book-meta .status-available     { color: var(--rdl-ok);     font-weight: 500; }
.book-meta .status-borrowed,
.book-meta .status-reserved,
.book-meta .status-out_for_delivery { color: var(--rdl-danger); font-weight: 500; }

/* Book action buttons */
.book-buttons {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.book-buttons a,
.book-buttons button {
    background: var(--rdl-navy);
    color: var(--rdl-white);
    padding: 10px 20px;
    border-radius: var(--rdl-radius-sm);
    font-size: 13px;
    font-weight: 500;
    border: none;
    text-decoration: none;
    cursor: pointer;
    letter-spacing: 0.2px;
    transition: background 0.15s ease;
}

.book-buttons a:hover,
.book-buttons button:hover {
    background: var(--rdl-navy-deep);
}

.book-buttons .btn-disabled {
    background: #C8CCDA !important;
    color: #8892AA !important;
    cursor: not-allowed !important;
    opacity: 1;
    pointer-events: none;
}

/* Wishlist button variant */
.book-buttons button[name="rdl_add_wishlist"],
.book-buttons button[type="submit"]:last-child {
    background: transparent;
    color: var(--rdl-navy);
    border: 0.5px solid var(--rdl-navy);
}

.book-buttons button[name="rdl_add_wishlist"]:hover {
    background: var(--rdl-navy-pale);
}

/* Book sections below the main box */
.section {
    max-width: 960px;
    margin: 20px auto;
    background: var(--rdl-white);
    border-radius: var(--rdl-radius-lg);
    padding: 22px 28px;
    border: 0.5px solid var(--rdl-border);
}

.section h3 {
    font-size: 15px;
    font-weight: 500;
    color: var(--rdl-text);
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 0.5px solid var(--rdl-border);
    letter-spacing: -0.1px;
}

/* ============================================================
   MEMBER DASHBOARD  [rdl_member_dashboard]
   ============================================================ */

.rdl-member-dashboard {
    max-width: 900px;
}

/* Header panel — navy hero */
.rdl-member-header {
    background: var(--rdl-navy);
    border-radius: var(--rdl-radius-lg);
    padding: 22px 26px 20px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}

.rdl-member-header::after {
    content: '';
    display: block;
    height: 1px;
    background: var(--rdl-gold);
    opacity: 0.6;
    margin-top: 16px;
}

.rdl-member-header h2 {
    font-size: 20px;
    font-weight: 500;
    color: #F0F4FF;
    margin: 0 0 8px;
    letter-spacing: -0.3px;
}

.rdl-member-header p {
    font-size: 12px;
    color: var(--rdl-text-light);
    margin: 4px 0;
    line-height: 1.5;
}

.rdl-member-header p strong {
    color: #C8D8F0;
    font-weight: 500;
}

/* Section headings inside dashboard */
.rdl-member-dashboard > h3 {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    color: var(--rdl-muted);
    margin: 24px 0 10px;
}

/* Tables */
.rdl-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 16px;
    font-size: 13px;
    background: var(--rdl-white);
    border-radius: var(--rdl-radius);
    overflow: hidden;
    border: 0.5px solid var(--rdl-border);
}

.rdl-table thead {
    background: var(--rdl-navy);
}

.rdl-table th {
    padding: 11px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 500;
    color: var(--rdl-text-light);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none;
}

.rdl-table td {
    padding: 11px 14px;
    border-bottom: 0.5px solid var(--rdl-border);
    color: var(--rdl-text);
    vertical-align: middle;
}

.rdl-table tr:last-child td {
    border-bottom: none;
}

.rdl-table tbody tr:hover {
    background: var(--rdl-navy-pale);
}

.rdl-table a {
    color: var(--rdl-navy);
    text-decoration: none;
    font-weight: 500;
}

.rdl-table a:hover {
    text-decoration: underline;
}

/* Status badges in tables */
.rdl-badge-returned {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 9px;
    border-radius: 20px;
    background: var(--rdl-ok-bg);
    color: var(--rdl-ok-text);
}

.rdl-badge-pending {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 9px;
    border-radius: 20px;
    background: var(--rdl-warn-bg);
    color: var(--rdl-warn-text);
}

.rdl-badge-overdue {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 9px;
    border-radius: 20px;
    background: var(--rdl-danger-bg);
    color: var(--rdl-danger-text);
}

/* Return button inside table */
.rdl-actions form { display: inline; }

.rdl-actions button,
.rdl-member-dashboard .button {
    font-size: 12px;
    padding: 6px 14px;
    border-radius: var(--rdl-radius-sm);
    border: none;
    cursor: pointer;
    font-weight: 500;
    transition: background 0.15s ease;
}

/* Return (green) button */
.rdl-member-dashboard td button[type="submit"] {
    background: var(--rdl-ok);
    color: var(--rdl-white);
}

.rdl-member-dashboard td button[type="submit"]:hover {
    background: #1A5C35;
}

/* Wishlist remove (danger) button */
.rdl-actions button {
    background: var(--rdl-danger-bg);
    color: var(--rdl-danger-text);
    border: 0.5px solid #FCA5A5;
}

.rdl-actions button:hover {
    background: var(--rdl-danger);
    color: var(--rdl-white);
}

/* Empty state messages */
.rdl-member-dashboard > p {
    font-size: 13px;
    color: var(--rdl-muted);
    padding: 14px 18px;
    background: var(--rdl-surface);
    border-radius: var(--rdl-radius-sm);
    border: 0.5px solid var(--rdl-border);
}

/* Pagination */
.rdl-pager { margin: 10px 0 20px; }

.rdl-pager ul {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

.rdl-pager a,
.rdl-pager span {
    display: inline-block;
    padding: 6px 12px;
    border: 0.5px solid var(--rdl-border);
    border-radius: var(--rdl-radius-sm);
    text-decoration: none;
    font-size: 12px;
    color: var(--rdl-navy);
    background: var(--rdl-white);
    transition: all 0.15s ease;
}

.rdl-pager a:hover {
    background: var(--rdl-navy-pale);
    border-color: var(--rdl-navy);
}

.rdl-pager .current {
    background: var(--rdl-navy);
    color: var(--rdl-white);
    border-color: var(--rdl-navy);
}

/* Success / error flash notices inside dashboard */
.rdl-member-dashboard p[style*="background:#e6ffed"],
.rdl-member-dashboard p[style*="background:#fff5f5"] {
    border-radius: var(--rdl-radius-sm) !important;
    font-size: 13px !important;
    border-left-width: 3px !important;
}

/* ============================================================
   BORROW NOTICES (single-rdl_book.php rdl_front_notice)
   ============================================================ */

/* These are inline-styled divs — we override via the class */
.rdl-notice {
    border-radius: var(--rdl-radius-sm);
    font-size: 14px;
    font-weight: 500;
    padding: 14px 18px;
    margin: 0 0 16px;
}

/* ============================================================
   BORROW REQUESTS PANEL  [rdl_borrow_requests]
   ============================================================ */

.rdl-borrow-panel h2 {
    font-size: 17px;
    font-weight: 500;
    color: var(--rdl-text);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 0.5px solid var(--rdl-border);
}

.rdl-requests-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: var(--rdl-white);
    border-radius: var(--rdl-radius);
    overflow: hidden;
    border: 0.5px solid var(--rdl-border);
}

.rdl-requests-table thead {
    background: var(--rdl-navy);
}

.rdl-requests-table th {
    padding: 11px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 500;
    color: var(--rdl-text-light);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none;
}

.rdl-requests-table td {
    padding: 11px 14px;
    border-bottom: 0.5px solid var(--rdl-border);
    color: var(--rdl-text);
    vertical-align: middle;
}

.rdl-requests-table tr:last-child td {
    border-bottom: none;
}

.rdl-requests-table tbody tr:hover {
    background: var(--rdl-navy-pale);
}

.rdl-requests-table td form {
    display: inline-block;
    margin: 0 4px 0 0;
}

.rdl-requests-table select {
    font-size: 12px;
    padding: 5px 8px;
    border: 0.5px solid var(--rdl-border);
    border-radius: var(--rdl-radius-sm);
    color: var(--rdl-text);
    background: var(--rdl-white);
    margin-right: 6px;
    outline: none;
}

.rdl-requests-table select:focus {
    border-color: var(--rdl-navy);
}

/* Approve button */
.rdl-action-btn {
    font-size: 12px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: var(--rdl-radius-sm);
    border: none;
    cursor: pointer;
    background: var(--rdl-navy);
    color: var(--rdl-white);
    transition: background 0.15s ease;
    letter-spacing: 0.2px;
}

.rdl-action-btn:hover {
    background: var(--rdl-navy-deep);
}

/* Reject button */
.rdl-reject-btn {
    background: var(--rdl-danger-bg);
    color: var(--rdl-danger-text);
    border: 0.5px solid #FCA5A5;
}

.rdl-reject-btn:hover {
    background: var(--rdl-danger);
    color: var(--rdl-white);
}

/* ============================================================
   POPULAR BOOKS  [rdl_popular_books]
   ============================================================ */

.rdl-popular-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
    margin: 14px 0 24px;
}

.rdl-popular-card {
    background: var(--rdl-white);
    border: 0.5px solid var(--rdl-border);
    border-radius: var(--rdl-radius);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: transform 0.15s ease, border-color 0.15s ease;
}

.rdl-popular-card:hover {
    transform: translateY(-2px);
    border-color: var(--rdl-navy);
}

.rdl-popular-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
    margin-bottom: 0;
    background: var(--rdl-navy-pale);
}

.rdl-popular-card h4 {
    font-size: 13px;
    font-weight: 500;
    color: var(--rdl-text);
    margin: 0;
    padding: 10px 12px 4px;
    line-height: 1.3;
}

.rdl-popular-card p {
    font-size: 11px;
    color: var(--rdl-muted);
    margin: 0;
    padding: 0 12px 10px;
}

/* ============================================================
   RETURN APPROVALS  [rdl_return_approvals]
   ============================================================ */

.wp-list-table.widefat {
    border-radius: var(--rdl-radius);
    overflow: hidden;
    border: 0.5px solid var(--rdl-border) !important;
    font-size: 13px;
}

.wp-list-table thead tr th,
.wp-list-table thead tr td {
    background: var(--rdl-navy) !important;
    color: var(--rdl-text-light) !important;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none !important;
    padding: 11px 14px !important;
}

.wp-list-table tbody tr td {
    padding: 11px 14px !important;
    border-bottom: 0.5px solid var(--rdl-border) !important;
    color: var(--rdl-text);
}

.wp-list-table.striped tbody tr:nth-child(odd) {
    background: var(--rdl-surface);
}

.wp-list-table tbody tr:hover td {
    background: var(--rdl-navy-pale);
}

.wp-list-table .button-primary {
    background: var(--rdl-navy) !important;
    border-color: var(--rdl-navy) !important;
    color: var(--rdl-white) !important;
    font-size: 12px !important;
    padding: 5px 14px !important;
    border-radius: var(--rdl-radius-sm) !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background 0.15s ease !important;
}

.wp-list-table .button-primary:hover {
    background: var(--rdl-navy-deep) !important;
    border-color: var(--rdl-navy-deep) !important;
}

/* ============================================================
   BORROWED BOOKS FRONTEND  [rdl_member_borrowed_books]
   ============================================================ */

.rdl-borrowed-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: var(--rdl-white);
    border-radius: var(--rdl-radius);
    overflow: hidden;
    border: 0.5px solid var(--rdl-border);
}

.rdl-borrowed-table thead {
    background: var(--rdl-navy);
}

.rdl-borrowed-table th {
    padding: 11px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 500;
    color: var(--rdl-text-light);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none;
}

.rdl-borrowed-table td {
    padding: 11px 14px;
    border-bottom: 0.5px solid var(--rdl-border);
    color: var(--rdl-text);
}

.rdl-borrowed-table tr:last-child td {
    border-bottom: none;
}

.rdl-overdue {
    background: var(--rdl-danger-bg) !important;
}

.rdl-returned {
    background: var(--rdl-ok-bg) !important;
}

/* ============================================================
   GLOBAL — Notices, empty states, responsive tweaks
   ============================================================ */

/* No pending requests / empty messages */
.rdl-borrow-panel > p,
.rdl-member-dashboard + p {
    font-size: 13px;
    color: var(--rdl-muted);
    padding: 14px 18px;
    background: var(--rdl-surface);
    border-radius: var(--rdl-radius-sm);
    border: 0.5px solid var(--rdl-border);
}

/* Login prompts */
.rdl-member-dashboard em a,
.book-buttons + p a {
    color: var(--rdl-navy);
    font-weight: 500;
    text-decoration: none;
}

.rdl-member-dashboard em a:hover,
.book-buttons + p a:hover {
    text-decoration: underline;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    .rdl-book-list {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 0.75rem;
    }

    .rdl-popular-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rdl-member-header {
        padding: 18px 18px 16px;
    }

    .rdl-member-header h2 {
        font-size: 17px;
    }

    .book-info {
        padding: 18px 18px;
    }

    .rdl-table th,
    .rdl-table td,
    .rdl-requests-table th,
    .rdl-requests-table td {
        padding: 9px 10px;
    }
}

/* ── Dashboard notice classes (replaces old inline styles) ── */
.rdl-notice-success {
    background: var(--rdl-ok-bg);
    border-left: 3px solid var(--rdl-ok);
    color: var(--rdl-ok-text);
    padding: 10px 14px;
    border-radius: var(--rdl-radius-sm);
    font-size: 13px;
    margin: 8px 0 16px;
    border-radius: 0 var(--rdl-radius-sm) var(--rdl-radius-sm) 0;
}

.rdl-notice-error {
    background: var(--rdl-danger-bg);
    border-left: 3px solid var(--rdl-danger);
    color: var(--rdl-danger-text);
    padding: 10px 14px;
    font-size: 13px;
    margin: 8px 0 16px;
    border-radius: 0 var(--rdl-radius-sm) var(--rdl-radius-sm) 0;
}

/* Expired membership text in dashboard header */
.rdl-expired-text {
    color: var(--rdl-gold);
    font-weight: 500;
}

/* Return button (used in both borrowed books shortcodes) */
.rdl-return-btn {
    font-size: 12px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: var(--rdl-radius-sm);
    border: none;
    cursor: pointer;
    background: var(--rdl-ok);
    color: var(--rdl-white);
    transition: background 0.15s ease;
}

.rdl-return-btn:hover {
    background: #1A5C35;
}

/* Remove button (wishlist) */
.rdl-remove-btn {
    font-size: 12px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: var(--rdl-radius-sm);
    border: 0.5px solid #FCA5A5;
    cursor: pointer;
    background: var(--rdl-danger-bg);
    color: var(--rdl-danger-text);
    transition: all 0.15s ease;
}

.rdl-remove-btn:hover {
    background: var(--rdl-danger);
    color: var(--rdl-white);
    border-color: var(--rdl-danger);
}