/* Default Dark Theme Variables. Light theme has been removed. */ :root { --primary-color: #C0A080; /* Lighter tan for accents in dark mode */ --secondary-color: #8B4513; /* Darker brown */ --accent-color: #D2B48C; --background-color: #1A1A1A; /* Very dark grey, almost black */ --surface-color: #2C2C2C; /* Dark grey for cards and surfaces */ --text-color: #EAEAEA; /* Brighter grey for better readability */ --heading-color: #FFFFFF; /* White for headings */ --border-color: #444444; /* Grey for borders */ --footer-bg: #111111; /* Even darker for footer */ --white-color: #FFFFFF; --font-family-sans-serif: 'Vazirmatn', sans-serif; --body-font: 'Vazirmatn', sans-serif; } body { font-family: var(--body-font); background-color: var(--background-color); color: var(--text-color); line-height: 1.7; font-weight: 400; overflow-x: hidden; transition: background-color 0.3s ease, color 0.3s ease; } h1, h2, h3, h4, h5, h6 { font-weight: 700; color: var(--heading-color); } a { color: var(--primary-color); text-decoration: none; transition: all 0.3s ease; } a:hover { color: var(--accent-color); text-decoration: none; } /* --- Buttons --- */ .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); color: var(--heading-color); padding: 12px 30px; font-weight: 600; border-radius: 50px; transition: all 0.3s ease-in-out; } .btn-primary:hover, .btn-primary:focus { background-color: var(--secondary-color); border-color: var(--secondary-color); box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: translateY(-2px); } .btn-outline-primary { border-color: var(--primary-color); color: var(--primary-color); padding: 12px 30px; font-weight: 600; border-radius: 50px; } .btn-outline-primary:hover { background-color: var(--primary-color); color: var(--heading-color); } /* --- Header --- */ .site-header { background-color: var(--surface-color); box-shadow: 0 2px 15px rgba(0,0,0,0.2); border-bottom: 1px solid var(--border-color); transition: background-color 0.3s ease; position: sticky; top: 0; z-index: 1020; } .site-header .nav-link, .site-header a { color: var(--text-color) !important; font-weight: 500; font-size: 16px; padding: 8px 12px; position: relative; } .site-header a.active, .site-header a:hover { color: var(--primary-color) !important; } .site-header .badge { background-color: var(--primary-color) !important; color: var(--heading-color) !important; } /* --- Footer --- */ .site-footer { background-color: var(--footer-bg); color: #AFAFAF; } .site-footer h5 { color: var(--heading-color); } .site-footer a { color: #AFAFAF !important; } .site-footer a:hover { color: var(--white-color) !important; } .site-footer .border-top { border-color: var(--border-color) !important; } /* --- Product Card --- */ .product-card { background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 15px; overflow: hidden; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 5px 20px rgba(0,0,0,0.15); } .product-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.25); } .product-card .product-image img { transition: transform 0.5s ease; } .product-card:hover .product-image img { transform: scale(1.05); } .product-card .product-info { padding: 20px; } .product-card .product-title { font-size: 1.1rem; font-weight: 600; margin-bottom: 10px; color: var(--heading-color); } .product-card .product-price { font-size: 1.2rem; font-weight: 700; color: var(--primary-color); } /* --- Product Page Color Swatches --- */ .color-swatches .btn-check + .btn { border: 2px solid var(--border-color); border-radius: 50%; width: 40px; height: 40px; display: inline-block; padding: 0; font-size: 0; transition: transform 0.2s ease, box-shadow 0.2s ease; } .color-swatches .btn-check:checked + .btn { transform: scale(1.15); box-shadow: 0 0 0 3px var(--surface-color), 0 0 0 5px var(--primary-color); } .color-swatches [style*="#000000"] + label { border-color: #555; } /* --- Admin panel dark theme overrides --- */ .bg-dark { background-color: var(--background-color) !important; } .bg-dark-2 { background-color: var(--surface-color) !important; } .form-control.bg-dark { background-color: var(--background-color) !important; color: var(--text-color) !important; border-color: var(--border-color); } .form-control.bg-dark:focus { background-color: var(--background-color) !important; color: var(--text-color) !important; border-color: var(--primary-color); box-shadow: none; } /* --- Product Image Aspect Ratio --- */ .product-image { overflow: hidden; position: relative; background-color: var(--border-color); /* Placeholder bg */ aspect-ratio: 3 / 4; /* Enforce 3:4 aspect ratio */ } .product-image img { width: 100%; height: 100%; object-fit: cover; /* This will crop the image to fit */ } /* --- Responsive Design --- */ @media (max-width: 768px) { /* About Us Mobile */ #about-us .display-5 { font-size: 2rem; } #about-us .fs-5 { font-size: 1.1rem; } .display-3 { font-size: 2.5rem; } .display-4 { font-size: 2rem; } .product-card .product-info { padding: 15px; } .site-footer { text-align: center; } .site-footer .col-lg-2, .site-footer .col-lg-3, .site-footer .col-lg-4 { margin-bottom: 30px; } /* Center flex items in the footer on mobile */ .site-footer .d-flex { justify-content: center; } } /* --- Header Icon Fixes for Dark Mode --- */ /* Ensure theme toggle and other header buttons are visible in dark mode */ .site-header .btn { color: var(--text-color); } .site-header .btn:hover { color: var(--primary-color); } /* Fix for bootstrap's default hamburger icon in dark mode */ .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } /* Fix for the border color of the toggler button itself */ .navbar-toggler { border-color: rgba(255, 255, 255, 0.15); } @media (max-width: 767.98px) { .social-icons { justify-content: center; } } /* --- Custom Gold Button --- */ .btn-outline-gold { border-color: var(--accent-color); color: var(--accent-color); padding: 12px 30px; font-weight: 600; border-radius: 50px; transition: all 0.3s ease-in-out; } .btn-outline-gold:hover { background-color: var(--accent-color); color: var(--heading-color); } /* --- Hero Section Text --- */ .hero-section { position: relative; height: 70vh; display: flex; align-items: center; background: url('../assets/pasted-20251201-135328-2aedc448.jpg') no-repeat center center/cover; } .hero-section .container { width: 100%; text-align: center; } .hero-section .row { justify-content: flex-end; } .hero-section h1, .hero-section p { color: #FFFFFF; text-shadow: 0 2px 8px rgba(0,0,0,0.5); } /* --- About Us Section Text Color Fix --- */ #about-us p { color: var(--text-color) !important; } /* --- Footer Social Icons --- */ .social-icon { font-size: 1.5rem; /* Larger icons */ transition: all 0.3s ease; display: inline-block; /* Needed for transform */ color: #AFAFAF !important; /* Default icon color from footer */ } .social-icon:hover { transform: translateY(-3px) scale(1.1); /* Lift and grow effect */ } /* Brand Colors on Hover */ .social-icon.bi-instagram:hover { color: #E4405F !important; } .social-icon.bi-telegram:hover { color: #26A5E4 !important; } .social-icon.bi-whatsapp:hover { color: #25D366 !important; } /* --- Admin Panel Sidebar --- */ body.admin-page { padding-right: 260px; /* Make space for the sidebar */ transition: padding-right 0.3s ease; } .admin-sidebar { position: fixed; top: 0; right: 0; height: 100vh; width: 260px; z-index: 1030; display: flex; flex-direction: column; transition: right 0.3s ease; } .admin-sidebar h3 { font-family: 'Lalezar', cursive; font-size: 1.5rem; } .admin-sidebar .nav-link { color: var(--text-color); font-size: 1.05rem; padding: 15px 25px; border-right: 4px solid transparent; transition: all 0.3s ease; } .admin-sidebar .nav-link:hover { background-color: rgba(255, 255, 255, 0.05); border-right-color: var(--accent-color); color: var(--white-color); } .admin-sidebar .nav-link.active { background-color: var(--primary-color); color: var(--heading-color); border-right-color: var(--accent-color); font-weight: 700; } .admin-sidebar .sidebar-footer { margin-top: auto; padding: 25px; border-top: 1px solid var(--border-color); } .admin-main-content { padding: 2rem; } /* Responsive Admin Layout */ @media (max-width: 992px) { body.admin-page { padding-right: 0; } .admin-sidebar { right: -260px; /* Hide sidebar off-screen */ } .admin-main-content { padding: 1rem; } /* We'll need a hamburger menu button to toggle the sidebar on mobile */ } /*-------------------------------------------------------------- # Shopping Cart Page (Dark Theme) --------------------------------------------------------------*/ .cart-page-wrapper { padding-top: 4rem; padding-bottom: 4rem; } .cart-item-card { background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 12px; padding: 1.5rem; margin-bottom: 1.5rem; transition: box-shadow 0.3s ease; position: relative; } .cart-item-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .cart-item-image img { border-radius: 8px; } .cart-item-details h5 a { font-weight: 600; color: var(--heading-color); text-decoration: none; transition: color 0.3s ease; } .cart-item-details h5 a:hover { color: var(--primary-color); } .quantity-selector { display: flex; align-items: center; background: var(--background-color); border: 1px solid var(--border-color); border-radius: 50px; padding: 5px; max-width: 120px; } .quantity-selector .btn { background-color: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-color); width: 32px; height: 32px; border-radius: 50%; font-weight: 600; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; } .quantity-selector .btn:hover { background-color: var(--primary-color); color: var(--heading-color); border-color: var(--primary-color); } .quantity-selector .quantity-input { border: none; background: transparent; font-weight: 700; color: var(--heading-color); width: 40px; text-align: center; } .item-price { font-size: 1.2rem; font-weight: 700; color: var(--primary-color); } .remove-item-btn { position: absolute; top: 15px; left: 15px; } .remove-item-btn .btn { color: #888; font-size: 1.2rem; padding: 0; transition: color 0.3s ease; } .remove-item-btn .btn:hover { color: #e74c3c; } /* Order Summary Card */ .order-summary-card { background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 12px; padding: 2rem; position: sticky; top: 120px; } .order-summary-card .card-title { font-weight: 700; font-size: 1.5rem; margin-bottom: 2rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1rem; } .summary-item { display: flex; justify-content: space-between; margin-bottom: 1rem; font-size: 1rem; } .summary-item .label { color: #aaa; } .summary-item .value { font-weight: 600; color: var(--text-color); } .summary-total { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border-color); } .summary-total .label { font-size: 1.2rem; font-weight: 700; color: var(--heading-color); } .summary-total .value { font-size: 1.5rem; font-weight: 700; color: var(--primary-color); } .btn-checkout { padding: 14px 20px; font-size: 1.1rem; font-weight: 700; border-radius: 8px; } /* Empty Cart */ .empty-cart-container { background: var(--surface-color); border-radius: 12px; padding: 4rem; text-align: center; border: 1px solid var(--border-color); } .empty-cart-container .ri-shopping-cart-line { font-size: 5rem; color: var(--primary-color); opacity: 0.8; } .empty-cart-container h2 { font-weight: 700; margin-top: 1.5rem; color: var(--heading-color); } .empty-cart-container p { max-width: 400px; margin: 1rem auto 2rem auto; color: #aaa; } /*-------------------------------------------------------------- # Checkout Page (Dark Theme) --------------------------------------------------------------*/ .checkout-form-section { background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 12px; padding: 2.5rem; } @media (max-width: 991.98px) { .checkout-form-section { padding: 1.5rem; } } .checkout-form-section h4 { font-weight: 700; margin-bottom: 2rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1rem; } .form-group { margin-bottom: 1.5rem; } .form-group .form-control { background-color: var(--background-color); border: 1px solid var(--border-color); color: var(--text-color); border-radius: 8px; padding: 12px 20px; height: 52px; transition: all 0.3s ease; } .form-group .form-control:focus { background-color: var(--background-color); color: var(--text-color); border-color: var(--primary-color); box-shadow: 0 0 0 0.25rem rgba(192, 160, 128, 0.2); } .form-group textarea.form-control { height: auto; } .form-text-info { font-size: 0.85rem; font-weight: 500; color: var(--accent-color) !important; opacity: 0.9; } /* Address Cards */ .address-card-selector .address-card { background: var(--background-color); border: 2px solid var(--border-color); border-radius: 10px; padding: 1.5rem; cursor: pointer; transition: all 0.3s ease; position: relative; height: 100%; } .address-card-selector .address-card:hover { border-color: var(--primary-color); } .address-card-selector .address-card.selected { border-color: var(--primary-color); box-shadow: 0 0 15px rgba(192, 160, 128, 0.3); } .address-card-selector .form-check-input { width: 1.5em; height: 1.5em; margin-top: 0.2em; } .address-card-title { font-weight: 600; color: var(--heading-color); margin-bottom: 0.5rem; } .address-card-detail { font-size: 0.9rem; color: var(--text-color); line-height: 1.6; } .address-card-icon { font-size: 1.5rem; margin-bottom: 0.5rem; color: var(--primary-color); } #new-address-form-wrapper { border: 2px dashed var(--border-color); border-radius: 12px; padding: 2rem; margin-top: 1.5rem; } /* Checkout Summary */ .checkout-summary-card { background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 12px; padding: 2rem; position: sticky; top: 120px; } .checkout-summary-card .list-group-item { background-color: transparent; border-color: var(--border-color); color: var(--text-color); padding-left: 0; padding-right: 0; } .checkout-summary-card .summary-title { font-weight: 700; font-size: 1.5rem; margin-bottom: 1.5rem; } .secure-payment-info { font-size: 0.9rem; color: #aaa; } .secure-payment-info i { color: #28a745; } .form-check-label a { color: var(--primary-color); text-decoration: none; } .form-check-label a:hover { text-decoration: underline; } /*================================================ # Checkout & Auth Page Dark Theme REFINEMENTS ================================================*/ /* General text & label color fix */ body.bg-dark, .bg-dark, .checkout-form-section, .login-form-section { /* Make sure all labels and general text are readable */ .form-label, label { color: #EAEAEA !important; /* Use a bright, readable color */ opacity: 0.9; font-weight: 500; margin-bottom: 0.75rem; } .text-muted { color: #a0a0a0 !important; /* A lighter muted color for dark bg */ } } /* Improved Form Control Styles */ .form-control.bg-dark, .form-select.bg-dark { color: var(--text-color) !important; background-color: #1c1c1c !important; /* Slightly lighter than main bg */ border: 1px solid #4a4a4a; border-radius: 8px; height: 50px; transition: all 0.3s ease; } .form-control.bg-dark:focus, .form-select.bg-dark:focus { background-color: #1c1c1c !important; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(192, 160, 128, 0.25); } textarea.form-control.bg-dark { height: auto; } /* Style for the select dropdown arrow */ .form-select.bg-dark { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d2b48c' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } /* Checkbox styles */ .form-check-input { background-color: #333; border: 1px solid #555; } .form-check-input:checked { background-color: var(--primary-color); border-color: var(--primary-color); } .form-check-input:focus { box-shadow: 0 0 0 3px rgba(192, 160, 128, 0.25); } .form-check-label { color: #ccc; } .form-check-label a { color: var(--primary-color); text-decoration: none; font-weight: 500; } .form-check-label a:hover { text-decoration: underline; } /* Order Summary Card Refinements */ .list-group-item.bg-dark { border-color: #444 !important; /* Darker border for list items */ } hr { border-top-color: #444; } .text-primary { color: var(--primary-color) !important; } .btn-primary.btn-lg { padding-top: 0.9rem; padding-bottom: 0.9rem; font-size: 1.1rem; letter-spacing: 0.5px; }