html { overflow-y: scroll; scrollbar-gutter: stable; }
body { background: #f8f9fa; }
.card { box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.navbar-brand img { max-height: 40px; }
footer { background: #fff; border-top: 1px solid #eee; }

.site-brand-logo { height: 40px; width: auto; max-width: 140px; object-fit: contain; }
.site-brand-title { font-size: 1.35rem; font-weight: 700; line-height: 1; max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block; }
.navbar-toggler { padding: 0.2rem 0.45rem; }
.navbar-toggler-icon { width: 1.05em; height: 1.05em; }

@media (max-width: 991.98px) {
  .site-brand-logo { height: 34px; max-width: 120px; }
  .site-brand-title { font-size: 1.15rem; max-width: 160px; }
}

/* Admin Panel Responsive Tables */
@media screen and (max-width: 992px) {
    .responsive-table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    .responsive-table tr {
        border-bottom: 3px solid #ddd;
        display: block;
        margin-bottom: .625em;
    }
    .responsive-table td {
        border-bottom: 1px solid #ddd;
        display: block;
        font-size: .8em;
        text-align: right;
    }
    .responsive-table td::before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        text-transform: uppercase;
    }
    .responsive-table td:last-child {
        border-bottom: 0;
    }
}

.profile-card {
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cart-page .card { border-radius: 14px; }
.cart-page .card-header { border-top-left-radius: 14px; border-top-right-radius: 14px; }
.cart-item-title { display: inline-block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; text-decoration: none; }
.cart-item-title:hover { text-decoration: underline; }
.cart-summary { position: sticky; top: 92px; }
.cart-table thead th { font-size: 0.85rem; color: #495057; }
.cart-table td, .cart-table th { vertical-align: middle; }
.cart-table tbody tr { border-color: #edf0f2; }
.min-w-0 { min-width: 0; }

@media (max-width: 991.98px) {
  .cart-summary { position: static; }
  .cart-table thead { display: none; }
  .cart-table tr { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 12px; border: 1px solid #edf0f2; border-radius: 14px; margin-bottom: 12px; }
  .cart-table td { border: 0; padding: 0; }
  .cart-table tbody { display: block; }
}

.contact-hero { background: linear-gradient(135deg, #f8f9ff, #f1f3ff); border: 1px solid #eef0ff; border-radius: 16px; padding: 14px 16px; box-sizing: border-box; }
.contact-logo { width: 350px; max-width: 100%; height: 200px; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid rgba(0,0,0,0.06); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; box-sizing: border-box; }
.contact-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.contact-icon { width: 42px; height: 42px; border-radius: 12px; background: #f8f9fa; border: 1px solid rgba(0,0,0,0.06); display: flex; align-items: center; justify-content: center; color: #495057; flex: 0 0 auto; }

.contact-page .min-w-0,
.contact-page a,
.contact-page .fw-semibold {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.status-row-approved { background: #e9f7ef !important; }
.status-row-rejected { background: #fdecec !important; }
.status-row-pending { background: #fff8db !important; }
.status-row-approved td, .status-row-approved th,
.status-row-rejected td, .status-row-rejected th,
.status-row-pending td, .status-row-pending th { font-weight: 600; }

@media (max-width: 991.98px) {
  .contact-hero { padding: 12px; }
  .contact-logo { width: 100%; height: 200px; margin: 0 auto; }
}
