/* LM Agency Professional Styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

html, body {
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%) !important;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.7;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
body > .container, body > .container-fluid, body > main,
.staff-products, .staff-products > .section, .staff-products > section, .staff-products > .container {
    flex: 1 0 auto !important;
    width: 100%;
    min-height: 0;
}
footer.footer {
    margin-top: auto !important;
}

.bg-light, .bg-white, .table-light {
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%) !important;
    color: #fff !important;
}

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1200px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.5px;
}

section, .section {
    padding: 60px 0 40px 0;
}

.card {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 100px !important;
    border-radius: 18px;
    box-shadow: 0 2px 16px rgba(13,110,253,0.06), 0 1.5px 6px rgba(0,0,0,0.04);
    border: none;
    background: #23232b;
    color: #fff;
    transition: box-shadow 0.3s, transform 0.2s;
}
.card:hover {
    box-shadow: 0 8px 32px rgba(13,110,253,0.13), 0 1.5px 6px rgba(0,0,0,0.10);
    transform: translateY(-4px) scale(1.02);
    z-index: 2;
}
.card-title {
    font-size: 1.18rem;
    font-weight: 600;
    color: #fff;
}
.card-text {
    color: #b0b0b0;
}
.product-list .card-title, .product-list h2, .product-list h5 {
    color: #fff !important;
}
.product-list .card-text, .product-list .text-muted, .product-list .small {
    color: #b0b0b0 !important;
}
.product-list .fw-bold, .product-list .fs-5, .product-list .price {
    color: #ffd700 !important;
}
.product-list .btn {
    color: #fff;
}

/* Product image preview backgrounds in cards and cart */
.card-img-top, .cart .card-img-top, .cart img[style*="background:#fff"], .cart img[style*="background: #fff"] {
    background: #181824 !important;
    border-radius: 12px;
}

.text-muted {
    color: #b0b0b0 !important;
}

.text-primary {
    color: #e84545 !important;
}

.text-success {
    color: #4caf50 !important;
}

.text-warning {
    color: #ffd700 !important;
}

.text-info {
    color: #00bcd4 !important;
}

.text-danger {
    color: #ff5252 !important;
}

.text-secondary {
    color: #aaa !important;
}

.btn, .btn:focus {
    border-radius: 24px;
    font-weight: 600;
    letter-spacing: 0.5px;
    box-shadow: none;
    outline: none;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.btn-primary, .btn-success, .btn-warning {
    color: #fff;
}
.btn-primary {
    background: #e84545;
    border: none;
}
.btn-primary:hover, .btn-primary:focus {
    background: #e84545;
    color: #fff;
    transform: translateY(-2px) scale(1.04);
}
.btn-outline-primary {
    border-color: #e84545;
    color: #e84545;
}
.btn-outline-primary:hover {
    background: #e84545;
    color: #fff;
}

.navbar {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%) !important;
    border-bottom: 1px solid #e84545;
}
.navbar-brand {
    color: #e84545 !important;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-shadow: 0 2px 8px rgba(232,69,69,0.08);
}
.navbar-nav .nav-link {
    color: #fff !important;
    font-weight: 500;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    border-radius: 18px;
    padding: 0.5rem 1.1rem;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link:focus, .navbar-nav .nav-link:hover {
    background: #282e4a;
    color: #e84545 !important;
}

.footer {
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%);
    color: #fff;
    font-size: 1.1rem;
    letter-spacing: 1px;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    margin-top: 60px;
    padding: 32px 0 16px 0;
}

.hero-section {
    background: linear-gradient(135deg, #e84545 0%, #282e4a 100%) !important;
    background-color: #e84545 !important;
    color: #fff;
    padding: 100px 0 80px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
}
.hero-section h1 {
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 18px;
}
.hero-section p {
    font-size: 1.25rem;
    margin-bottom: 36px;
}
.hero-section .btn {
    font-size: 1.2rem;
    padding: 14px 38px;
    border-radius: 30px;
}

.section-alt {
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%);
    border-radius: 24px;
}

input:focus, textarea:focus, select:focus {
    border-color: #e84545;
    box-shadow: 0 0 0 2px rgba(232,69,69,0.10);
}

::-webkit-scrollbar {
    width: 8px;
    background: #282e4a;
}
::-webkit-scrollbar-thumb {
    background: #e8454533;
    border-radius: 8px;
}

.accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%);
    color: #e84545;
    font-weight: 600;
}
.accordion-item {
    border-radius: 16px;
    margin-bottom: 8px;
    border: none;
}

.list-group-item {
    border: none;
    border-radius: 12px;
    margin-bottom: 4px;
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%);
}
/* Category list styling */
.product-categories .list-group-item {
    color: #ffffff !important; /* default white text */
}
.product-categories .list-group-item.active {
    color: #ffd700 !important; /* yellow when active */
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%) !important; /* keep existing background */
}

/* Add to Cart button styling */
.btn-add-to-cart {
    background: #28a745; /* green */
    border: none;
    color: #fff !important;
    border-radius: 24px;
    padding: 10px 16px;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(40,167,69,0.2);
}
.btn-add-to-cart:hover, .btn-add-to-cart:focus {
    background: #218838;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Cart page enhancements */
.cart-summary, .cart .card, .cart .table, .cart .table-responsive {
    background: #23232b !important;
    color: #fff !important;
    border-radius: 18px;
    box-shadow: 0 2px 16px rgba(40,46,74,0.10), 0 1.5px 6px rgba(0,0,0,0.10);
    border: none;
}
.cart-summary .fw-bold, .cart-summary .fs-5, .cart-summary .total, .cart-summary .price, .cart-table .fw-bold {
    color: #ffd700 !important;
}
.cart-table th, .cart-table td, .cart-table tr, .cart-table, .cart-table thead, .cart-table tbody,
.cart .table, .cart .table-responsive, .cart .table thead, .cart .table tr, .cart .table th, .cart .table td, .cart .table-striped {
    background: #23232b !important;
    color: #fff !important;
    border-color: #444 !important;
}
.cart .table > tbody > tr > td, .cart .table > thead > tr > th {
    background: #23232b !important;
    color: #fff !important;
}
.cart .table > tbody > tr > td[colspan] {
    background: #23232b !important;
    color: #b0b0b0 !important;
    text-align: center;
    font-size: 1.1rem;
    padding: 2rem 0;
}
.cart-table .table, .cart-table .table-striped, .cart-table .table-light, .cart-table .bg-white, .cart-table .bg-light {
    background: transparent !important;
    color: #fff !important;
}
.cart .form-control, .cart .form-control-plaintext {
    background: #181824 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
}
.cart-table th {
    font-weight: 700;
    color: #ffd700 !important;
    background: #23232b !important;
}
.cart-table input[type="number"] {
    background: #181824;
    color: #fff;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 2px 8px;
    width: 60px;
}
.cart-table .btn-outline-danger {
    border-color: #e84545;
    color: #e84545;
    background: transparent;
}
.cart-table .btn-outline-danger:hover {
    background: #e84545;
    color: #fff;
}
.cart .btn-outline-primary, .cart .btn-secondary, .cart .btn-success {
    border-radius: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
    box-shadow: none;
    outline: none;
}
.cart .btn-success {
    background: #ffd700;
    color: #23232b;
    border: none;
}
.cart .btn-success:hover {
    background: #e84545;
    color: #fff;
}
.cart .btn-outline-primary {
    border-color: #ffd700;
    color: #ffd700;
}
.cart .btn-outline-primary:hover {
    background: #ffd700;
    color: #23232b;
}
.cart .btn-secondary {
    background: #282e4a;
    color: #fff;
    border: none;
}
.cart .btn-secondary:hover {
    background: #e84545;
    color: #fff;
}

@media (max-width: 576px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        padding-left: 8px;
        padding-right: 8px;
    }
    .hero-section h1 { font-size: 2rem; }
    .hero-section { padding: 60px 0 40px 0; }
}

/* Profile Page Styles */
.profile-section {
    padding-top: 40px;
    padding-bottom: 40px;
}
.profile-card {
    background: #23232b !important;
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(40,46,74,0.13), 0 2px 8px rgba(0,0,0,0.10);
    border: none;
    margin-bottom: 32px;
}
.profile-avatar {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, #e84545 0%, #282e4a 100%);
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(232,69,69,0.10);
}
.profile-username {
    color: #ffd700;
    font-weight: 700;
    font-size: 2rem;
}
.profile-join-date {
    color: #b0b0b0;
    font-size: 1rem;
}
.profile-welcome {
    background: linear-gradient(135deg, #282e4a 0%, #e84545 100%) !important;
    color: #fff !important;
    border: none;
    border-radius: 14px;
    font-size: 1.1rem;
}
.profile-stats {
    margin-bottom: 32px;
}
.profile-stat-value {
    color: #ffd700;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 4px;
}
.profile-stat-label {
    color: #b0b0b0;
    font-size: 1rem;
}
.profile-actions .btn {
    font-size: 1rem;
    border-radius: 18px;
    margin-bottom: 8px;
}
.profile-form .form-control, .profile-form .form-control-plaintext {
    background: #181824;
    color: #fff;
    border: 1px solid #444;
    border-radius: 8px;
}
.profile-form label {
    color: #ffd700;
}
.profile-form .btn-primary {
    background: #e84545;
    border: none;
    color: #fff;
}
.profile-form .btn-outline-secondary {
    border-color: #ffd700;
    color: #ffd700;
}
.profile-form .btn-outline-secondary:hover {
    background: #ffd700;
    color: #23232b;
}
.profile-recent-orders h4 {
    color: #ffd700;
    font-weight: 700;
}
.profile-orders-card {
    background: #181824 !important;
    border-radius: 18px;
    box-shadow: 0 2px 12px rgba(40,46,74,0.10);
    border: none;
    margin-top: 32px;
}
.profile-orders-card h3 {
    color: #ffd700;
    font-weight: 700;
}
.profile-orders-card p {
    background: none !important;
    color: #b0b0b0 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 1.2rem 0 0.5rem 0;
    margin-bottom: 0;
    font-size: 1.1rem;
    text-align: center;
    transition: none !important;
}
.profile-orders-card p:hover {
    background: none !important;
    color: #b0b0b0 !important;
    cursor: default;
}

/* Staff Product Management Page Styles */
.staff-products, .staff-products .card {
    background: #23232b !important;
    color: #fff !important;
    border-radius: 18px;
    box-shadow: 0 2px 16px rgba(40,46,74,0.10), 0 1.5px 6px rgba(0,0,0,0.10);
    border: none;
}
.staff-products .form-control, .staff-products .form-select {
    background: #181824 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
    border-radius: 8px;
}
.staff-products .form-label {
    color: #ffd700 !important;
}
.staff-products .btn-primary {
    background: #e84545 !important;
    border: none !important;
    color: #fff !important;
}
.staff-products .btn-outline-secondary {
    border-color: #ffd700 !important;
    color: #ffd700 !important;
}
.staff-products .btn-outline-secondary:hover {
    background: #ffd700 !important;
    color: #23232b !important;
}
.staff-products .table, .staff-products .table-striped, .staff-products .table-light, .staff-products .bg-white, .staff-products .bg-light {
    background: #23232b !important;
    color: #fff !important;
    border-color: #444 !important;
}
.staff-products th, .staff-products td {
    background: transparent !important;
    color: #fff !important;
    border-color: #444 !important;
}
.staff-products th {
    color: #ffd700 !important;
    font-weight: 700;
}

/* Staff Products Modal Styles */
.staff-products .modal-content {
    background: #23232b !important;
    color: #fff !important;
    border-radius: 16px;
    border: none;
    box-shadow: 0 4px 24px rgba(40,46,74,0.13), 0 2px 8px rgba(0,0,0,0.10);
}
.staff-products .modal-header, .staff-products .modal-body, .staff-products .modal-footer {
    background: #23232b !important;
    color: #fff !important;
    border: none;
}
.staff-products .modal-title {
    color: #ffd700 !important;
}
.staff-products .btn-close {
    filter: invert(1) grayscale(1);
}
.staff-products .modal-content .form-control, .staff-products .modal-content .form-select {
    background: #181824 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
    border-radius: 8px;
}
.staff-products .modal-content label {
    color: #ffd700 !important;
}
.staff-products .modal-content .btn-primary {
    background: #e84545 !important;
    border: none !important;
    color: #fff !important;
}
.staff-products .modal-content .btn-primary:hover {
    background: #ffd700 !important;
    color: #23232b !important;
}

/* Ensure footer sticks to bottom on staff pages */
.staff-products ~ footer.footer {
    margin-top: auto !important;
}
