37048-vm/assets/css/dark_luxury.css
2025-12-06 16:02:15 +00:00

2277 lines
34 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;600;700&display=swap');
:root {
--luxury-bg: #111214;
--luxury-surface: #1a1b1e;
--luxury-text: #eceff1;
--luxury-text-muted: #90a4ae;
--luxury-primary: #c09f80; /* A soft gold for a touch of luxury */
--luxury-border: #37474f;
}
body.dark-luxury {
background-color: var(--luxury-bg);
color: var(--luxury-text);
font-family: 'Vazirmatn', sans-serif;
line-height: 1.8;
}
.dark-luxury h1, .dark-luxury h2, .dark-luxury h3, .dark-luxury h4, .dark-luxury h5, .dark-luxury h6 {
color: var(--luxury-text);
font-weight: 600;
}
.dark-luxury .text-muted {
color: var(--luxury-text-muted) !important;
}
.dark-luxury a {
color: var(--luxury-text);
text-decoration: none;
transition: color 0.3s ease;
}
.dark-luxury a:hover {
color: var(--luxury-primary);
}
.dark-luxury .section-title h1 {
font-size: 3rem;
font-weight: 700;
position: relative;
display: inline-block;
padding-bottom: 0.5rem;
}
.dark-luxury .section-title h1::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 3px;
background-color: var(--luxury-primary);
}
.dark-luxury .contact-card, .dark-luxury .about-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dark-luxury .contact-card:hover, .dark-luxury .about-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.dark-luxury .form-control {
background-color: var(--luxury-bg);
border: 1px solid var(--luxury-border);
color: var(--luxury-text);
border-radius: 8px;
padding: 0.8rem 1rem;
}
.dark-luxury .form-control:focus {
background-color: var(--luxury-bg);
color: var(--luxury-text);
border-color: var(--luxury-primary);
box-shadow: 0 0 0 0.2rem rgba(192, 159, 128, 0.25);
}
.dark-luxury .form-label {
font-weight: 600;
color: var(--luxury-text-muted);
}
.dark-luxury .btn-primary {
background-color: var(--luxury-primary);
border-color: var(--luxury-primary);
color: #111214;
font-weight: 700;
padding: 0.8rem 2rem;
border-radius: 50px;
transition: all 0.3s ease;
}
.dark-luxury .btn-primary:hover {
background-color: #d4b090;
border-color: #d4b090;
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(192, 159, 128, 0.2);
}
.dark-luxury .contact-info i {
color: var(--luxury-primary);
font-size: 1.5rem;
}
.dark-luxury .contact-info a {
color: var(--luxury-text);
text-decoration: none;
transition: color 0.3s ease;
}
.dark-luxury .contact-info a:hover {
color: var(--luxury-primary);
}
.dark-luxury .about-image {
border-radius: 15px;
object-fit: cover;
}
.dark-luxury .values-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 10px;
padding: 2rem;
}
.dark-luxury .values-card i {
font-size: 2.5rem;
color: var(--luxury-primary);
}
/* Product Grid Styles */
.dark-luxury .product-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dark-luxury .product-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.dark-luxury .product-image {
width: 100%;
aspect-ratio: 3 / 4; /* Enforce 3:4 aspect ratio */
overflow: hidden;
}
.dark-luxury .product-image img {
width: 100%;
height: 100%;
object-fit: cover; /* Crop image to fit, don't distort */
transition: transform 0.4s ease;
}
.dark-luxury .product-card:hover .product-image img {
transform: scale(1.05);
}
.dark-luxury .product-info {
padding: 1.25rem;
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.dark-luxury .product-title {
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
.dark-luxury .product-title a {
color: var(--luxury-text);
}
.dark-luxury .product-title a:hover {
color: var(--luxury-primary);
}
.dark-luxury .product-price {
font-size: 1.2rem;
font-weight: 700;
color: var(--luxury-primary);
margin-bottom: 0;
}
/* Cart Page Styles */
.dark-luxury .cart-page-wrapper {
padding: 4rem 0;
}
.dark-luxury .empty-cart-container {
text-align: center;
background-color: var(--luxury-surface);
padding: 4rem 2rem;
border-radius: 20px;
border: 1px solid var(--luxury-border);
}
.dark-luxury .empty-cart-container i {
font-size: 5rem;
color: var(--luxury-primary);
margin-bottom: 1.5rem;
display: block;
}
.dark-luxury .empty-cart-container h2 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 1rem;
}
.dark-luxury .empty-cart-container p {
color: var(--luxury-text-muted);
font-size: 1.1rem;
max-width: 450px;
margin: 0 auto 2rem auto;
}
.dark-luxury .cart-item-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
padding: 1.5rem;
margin-bottom: 1.5rem;
position: relative;
}
.dark-luxury .remove-item-btn {
position: absolute;
top: 10px;
left: 10px;
}
.dark-luxury .remove-item-btn .btn i {
font-size: 1.5rem;
color: var(--luxury-text-muted);
transition: color 0.3s ease;
}
.dark-luxury .remove-item-btn .btn:hover i {
color: #ef5350; /* A soft red for delete */
}
.dark-luxury .cart-item-image img {
border-radius: 10px;
width: 100%;
height: auto;
object-fit: cover;
}
.dark-luxury .cart-item-details h5 a {
font-weight: 600;
font-size: 1.1rem;
color: var(--luxury-text);
}
.dark-luxury .cart-item-details h5 a:hover {
color: var(--luxury-primary);
}
.dark-luxury .cart-item-color-swatch {
display: inline-block;
width: 20px;
height: 20px;
border-radius: 50%;
border: 1px solid var(--luxury-border);
vertical-align: middle;
}
.dark-luxury .quantity-selector {
display: flex;
align-items: center;
background-color: var(--luxury-bg);
border: 1px solid var(--luxury-border);
border-radius: 50px;
max-width: 120px;
justify-content: space-between;
}
.dark-luxury .quantity-selector .btn {
color: var(--luxury-text);
font-size: 1.2rem;
padding: 0.2rem 0.8rem;
}
.dark-luxury .quantity-selector .btn:disabled {
opacity: 0.5;
}
.dark-luxury .quantity-selector .quantity-input {
background: transparent;
border: none;
color: var(--luxury-text);
text-align: center;
width: 40px;
font-weight: 700;
padding: 0;
}
.dark-luxury .item-price {
font-size: 1.2rem;
font-weight: 700;
color: var(--luxury-text);
}
.dark-luxury .order-summary-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
padding: 2rem;
position: sticky;
top: 120px;
}
.dark-luxury .order-summary-card .card-title {
font-size: 1.8rem;
font-weight: 700;
margin-bottom: 2rem;
text-align: center;
border-bottom: 1px solid var(--luxury-border);
padding-bottom: 1rem;
}
.dark-luxury .order-summary-card .summary-item {
display: flex;
justify-content: space-between;
margin-bottom: 1rem;
font-size: 1.1rem;
}
.dark-luxury .order-summary-card .summary-item .label {
color: var(--luxury-text-muted);
}
.dark-luxury .order-summary-card .summary-item .value {
font-weight: 600;
}
.dark-luxury .order-summary-card .summary-total {
border-top: 1px solid var(--luxury-border);
padding-top: 1.5rem;
margin-top: 1.5rem;
}
.dark-luxury .order-summary-card .summary-total .label,
.dark-luxury .order-summary-card .summary-total .value {
font-size: 1.3rem;
font-weight: 700;
color: var(--luxury-primary);
}
/*
* SweetAlert2 Dark Theme Customizations
* Moved from product.php for global use
*/
body.swal2-shown > [aria-hidden="true"] {
filter: blur(5px);
transition: filter 0.3s ease-out;
}
.swal2-popup.dark-theme-popup {
background-color: #2a2a2e !important;
border-radius: 20px;
}
.swal2-title.dark-theme-title {
color: #e8e6e3 !important;
}
.swal2-html-container.dark-theme-content {
color: #b0b0b0 !important;
}
.swal2-confirm.dark-theme-button {
background-color: var(--luxury-primary) !important;
border-radius: 10px;
padding: .6em 2em;
box-shadow: none !important;
transition: background-color 0.2s;
}
.swal2-confirm.dark-theme-button:hover {
background-color: #c89c6c !important; /* A slightly lighter shade of primary for hover */
}
/* Toast Styles */
.swal2-toast.dark-theme-toast {
background-color: #2a2a2e !important;
color: #e8e6e3 !important;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.swal2-toast.dark-theme-toast .swal2-title {
color: #e8e6e3 !important;
font-size: 1em;
}
.swal2-toast.dark-theme-toast .swal2-timer-progress-bar {
background-color: var(--luxury-primary);
}
/*
* Single Product Page Styles
*/
.product-image-gallery .img-fluid {
border-radius: 20px !important;
border: 1px solid var(--luxury-border);
}
.dark-luxury .color-swatches {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
align-items: center;
}
.dark-luxury .color-swatches .btn {
width: 32px;
height: 32px;
border-radius: 50%;
border: 2px solid var(--luxury-border);
padding: 0;
transition: all 0.3s ease;
cursor: pointer;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
.dark-luxury .color-swatches .btn:hover {
transform: scale(1.1);
border-color: var(--luxury-text-muted);
}
.dark-luxury .color-swatches .btn-check:checked + .btn {
border-color: var(--luxury-primary);
transform: scale(1.1);
box-shadow: 0 0 0 3px var(--luxury-primary);
outline: none;
}
.dark-luxury .form-control.quantity-input {
background-color: var(--luxury-surface);
max-width: 120px;
text-align: center;
font-size: 1.2rem;
font-weight: 700;
border-width: 1px;
padding: 0.5rem;
}
.dark-luxury .add-to-cart-btn .btn {
width: 100%;
padding: 1rem;
font-size: 1.1rem;
display: flex;
align-items: center;
justify-content: center;
gap: 0.75rem;
border-radius: 10px;
}
/*
* Contact Page Styles
*/
.dark-luxury .contact-info .social-btn {
width: 42px;
height: 42px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 50%;
color: var(--luxury-text-muted);
border-color: var(--luxury-border);
transition: all 0.3s ease;
font-size: 1.2rem;
}
.dark-luxury .contact-info .social-btn:hover {
background-color: var(--luxury-primary);
border-color: var(--luxury-primary);
color: var(--luxury-bg);
transform: translateY(-3px);
}
/* Header Navbar Toggler */
.dark-luxury .navbar-toggler {
border-color: var(--luxury-border);
}
.dark-luxury .navbar-toggler:focus {
box-shadow: 0 0 0 0.25rem rgba(192, 159, 128, 0.25);
}
.dark-luxury .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(236, 239, 241, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
/*
* Checkout Page Styles
*/
.dark-luxury .checkout-page-wrapper {
padding: 4rem 0;
}
.dark-luxury .checkout-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
margin-bottom: 1.5rem;
}
.dark-luxury .checkout-card .card-header {
background-color: transparent;
border-bottom: 1px solid var(--luxury-border);
padding: 1.5rem;
font-size: 1.25rem;
font-weight: 600;
}
.dark-luxury .checkout-card .card-body {
padding: 1.5rem;
}
.dark-luxury .form-select {
background-color: var(--luxury-bg);
border: 1px solid var(--luxury-border);
color: var(--luxury-text);
border-radius: 8px;
padding: 0.8rem 1rem;
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='%2390a4ae' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.dark-luxury .form-select:focus {
background-color: var(--luxury-bg);
color: var(--luxury-text);
border-color: var(--luxury-primary);
box-shadow: 0 0 0 0.2rem rgba(192, 159, 128, 0.25);
}
.dark-luxury .checkout-order-summary .summary-item-list {
list-style: none;
padding: 0;
}
.dark-luxury .checkout-order-summary .summary-item-list li {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 0;
border-bottom: 1px solid var(--luxury-border);
}
.dark-luxury .checkout-order-summary .summary-item-list li:last-child {
border-bottom: none;
}
.dark-luxury .checkout-order-summary .product-name {
font-weight: 600;
}
.dark-luxury .checkout-order-summary .product-total {
font-weight: 600;
color: var(--luxury-text);
}
.dark-luxury .checkout-order-summary .summary-totals {
border-top: 2px solid var(--luxury-border);
margin-top: 1rem;
padding-top: 1rem;
}
.dark-luxury .checkout-order-summary .summary-totals .total-row {
display: flex;
justify-content: space-between;
font-size: 1.1rem;
margin-bottom: 0.5rem;
}
.dark-luxury .checkout-order-summary .summary-totals .grand-total {
font-size: 1.4rem;
font-weight: 700;
color: var(--luxury-primary);
}
/*
* Profile Page Styles
*/
.dark-luxury .profile-container {
display: flex;
align-items: flex-start;
gap: 30px;
}
.dark-luxury .profile-sidebar {
flex: 0 0 280px;
background-color: var(--luxury-surface);
border-radius: 15px;
border: 1px solid var(--luxury-border);
padding: 20px;
position: sticky;
top: 120px;
}
.dark-luxury .profile-content {
flex: 1;
}
.dark-luxury .user-card {
text-align: center;
padding: 20px 10px;
border-bottom: 1px solid var(--luxury-border);
margin-bottom: 20px;
}
.dark-luxury .user-card .user-avatar {
width: 90px;
height: 90px;
border-radius: 50%;
background-color: var(--luxury-primary);
color: var(--luxury-bg);
display: flex;
align-items: center;
justify-content: center;
font-size: 2.5rem;
margin: 0 auto 15px auto;
font-weight: 700;
}
.dark-luxury .user-card h5 {
font-weight: 600;
margin-bottom: 5px;
color: var(--luxury-text);
}
.dark-luxury .user-card p {
color: var(--luxury-text-muted);
font-size: 0.9rem;
}
.dark-luxury .profile-nav .nav-link {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 15px;
border-radius: 10px;
color: var(--luxury-text-muted);
font-weight: 500;
transition: all 0.3s ease;
margin-bottom: 5px;
}
.dark-luxury .profile-nav .nav-link i {
font-size: 1.3rem;
transition: all 0.3s ease;
}
.dark-luxury .profile-nav .nav-link.active,
.dark-luxury .profile-nav .nav-link:hover {
background-color: var(--luxury-primary);
color: var(--luxury-bg);
}
.dark-luxury .profile-nav .nav-link.active i,
.dark-luxury .profile-nav .nav-link:hover i {
color: var(--luxury-bg);
}
.dark-luxury .tab-pane h3 {
font-weight: 700;
margin-bottom: 25px;
color: var(--luxury-text);
border-bottom: 1px solid var(--luxury-border);
padding-bottom: 1rem;
}
.dark-luxury .order-accordion .accordion-item {
border: 1px solid var(--luxury-border);
border-radius: 15px !important;
margin-bottom: 20px;
background-color: var(--luxury-surface);
overflow: hidden;
}
.dark-luxury .order-accordion .accordion-button {
border-radius: 0 !important;
background-color: var(--luxury-surface);
box-shadow: none;
padding: 20px;
color: var(--luxury-text);
}
.dark-luxury .order-accordion .accordion-button:not(.collapsed) {
border-bottom: 1px solid var(--luxury-border);
background-color: var(--luxury-bg);
}
.dark-luxury .order-accordion .accordion-button::after {
filter: brightness(0) invert(1);
}
.dark-luxury .order-header {
display: flex;
justify-content: space-between;
width: 100%;
align-items: center;
}
.dark-luxury .order-header-item {
flex: 1;
text-align: right;
}
.dark-luxury .order-header-item:first-child { text-align: right; }
.dark-luxury .order-header-item span {
display: block;
font-size: 0.8rem;
color: var(--luxury-text-muted);
}
.dark-luxury .order-header-item strong {
font-weight: 600;
color: var(--luxury-text);
font-size: 1rem;
}
.dark-luxury .order-status {
padding: 5px 12px;
border-radius: 20px;
font-weight: 500;
color: #fff;
font-size: 0.8rem;
text-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
.dark-luxury .order-status.status-pending { background-color: #ffc107; color: #000; }
.dark-luxury .order-status.status-processing { background-color: #0dcaf0; color: #000; }
.dark-luxury .order-status.status-shipped { background-color: #0d6efd; }
.dark-luxury .order-status.status-completed { background-color: #198754; }
.dark-luxury .order-status.status-cancelled { background-color: #dc3545; }
.dark-luxury .order-details-table {
margin-top: 15px;
}
.dark-luxury .order-details-table img {
width: 60px;
height: 60px;
object-fit: cover;
border-radius: 10px;
}
.dark-luxury .order-details-table td {
vertical-align: middle;
border-color: var(--luxury-border);
color: var(--luxury-text-muted);
}
.dark-luxury .order-details-table tr:last-child td {
border-bottom: none;
}
.dark-luxury .order-details-table .product-name-column {
font-weight: 600;
color: var(--luxury-text);
}
/*
* New Dashboard Styles
*/
.dark-luxury .dashboard-title {
font-weight: 700;
margin-bottom: 0.5rem;
}
.dark-luxury .dashboard-welcome {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
padding: 2rem;
margin-bottom: 2rem;
}
.dark-luxury .dashboard-welcome p {
color: var(--luxury-text-muted);
margin-bottom: 0;
font-size: 1.1rem;
}
.dark-luxury .summary-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
padding: 1.5rem;
display: flex;
align-items: center;
gap: 1.5rem;
transition: all 0.3s ease;
}
.dark-luxury .summary-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 20px rgba(0,0,0,0.2);
border-color: var(--luxury-primary);
}
.dark-luxury .summary-card i {
font-size: 2.5rem;
color: var(--luxury-primary);
}
.dark-luxury .summary-card-info span {
display: block;
color: var(--luxury-text-muted);
font-size: 0.9rem;
margin-bottom: 0.25rem;
}
.dark-luxury .summary-card-info strong {
font-size: 1.5rem;
font-weight: 700;
color: var(--luxury-text);
}
.dark-luxury .dashboard-card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 15px;
overflow: hidden;
}
.dark-luxury .dashboard-card-header {
padding: 1.5rem;
border-bottom: 1px solid var(--luxury-border);
font-size: 1.25rem;
font-weight: 600;
margin: 0;
}
.dark-luxury .dashboard-card-body {
padding: 1.5rem;
}
.dark-luxury .modern-table {
width: 100%;
border-collapse: collapse;
}
.dark-luxury .modern-table th {
text-align: right;
padding: 1rem 1.5rem;
font-weight: 600;
color: var(--luxury-text-muted);
border-bottom: 2px solid var(--luxury-border);
font-size: 0.9rem;
text-transform: uppercase;
}
.dark-luxury .modern-table td {
text-align: right;
padding: 1rem 1.5rem;
vertical-align: middle;
border-bottom: 1px solid var(--luxury-border);
color: var(--luxury-text);
}
.dark-luxury .modern-table tbody tr:last-child td {
border-bottom: none;
}
.dark-luxury .modern-table tbody tr:hover {
background-color: var(--luxury-bg);
}
.dark-luxury .btn-outline-primary {
border-color: var(--luxury-primary);
color: var(--luxury-primary);
}
.dark-luxury .btn-outline-primary:hover {
background-color: var(--luxury-primary);
color: var(--luxury-bg);
}
/*
* Index Page - Hero Section
*/
.dark-luxury .hero-section {
position: relative;
overflow: hidden;
}
.dark-luxury .video-background-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
}
.dark-luxury .video-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 1;
}
.dark-luxury .video-background-wrapper video {
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
object-fit: cover;
opacity: 0.5;
}
.dark-luxury .hero-title {
font-weight: 700;
color: #fff;
text-shadow: 2px 2px 8px rgba(0,0,0,0.6);
}
.dark-luxury .hero-subtitle {
color: rgba(255,255,255,0.85);
text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
}
#about-us {
background-color: var(--luxury-bg);
}
#about-us h1 {
color: var(--luxury-text);
}
#about-us p {
color: var(--luxury-text-muted) !important;
}
.dark-luxury #about-us .about-us-image {
border-radius: 15px;
object-fit: cover;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
/*
* Track Order Page Styles
*/
.dark-luxury .track-container {
max-width: 600px;
margin: 5rem auto;
background-color: var(--luxury-surface);
padding: 3rem;
border-radius: 15px;
border: 1px solid var(--luxury-border);
text-align: center;
}
.dark-luxury .track-container h1 {
margin-bottom: 1rem;
}
.dark-luxury .track-container p {
color: var(--luxury-text-muted);
margin-bottom: 2rem;
}
.dark-luxury #track-order-form .form-control {
text-align: center;
margin-bottom: 1rem;
}
/* Track Order Modal */
.dark-luxury .order-modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1060; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgba(0,0,0,0.7); /* Black w/ opacity */
backdrop-filter: blur(5px);
}
.dark-luxury .order-modal-content {
background-color: var(--luxury-surface);
margin: 10% auto; /* 10% from the top and centered */
padding: 30px;
border: 1px solid var(--luxury-border);
border-radius: 20px;
width: 80%; /* Could be more or less, depending on screen size */
max-width: 800px;
position: relative;
animation: fadeIn 0.3s;
}
@keyframes fadeIn {
from {opacity: 0; transform: scale(0.95);}
to {opacity: 1; transform: scale(1);}
}
.dark-luxury .order-modal-close-btn {
color: var(--luxury-text-muted);
position: absolute;
top: 15px;
left: 25px;
font-size: 28px;
font-weight: bold;
transition: color 0.3s ease;
}
.dark-luxury .order-modal-close-btn:hover,
.dark-luxury .order-modal-close-btn:focus {
color: var(--luxury-text);
text-decoration: none;
cursor: pointer;
}
.dark-luxury .order-modal-header {
text-align: center;
border-bottom: 1px solid var(--luxury-border);
padding-bottom: 1rem;
margin-bottom: 1.5rem;
}
.dark-luxury .order-modal-header h2 {
font-size: 1.8rem;
color: var(--luxury-primary);
}
.dark-luxury .order-details-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.5rem;
margin-bottom: 1.5rem;
}
.dark-luxury .detail-box h3 {
font-size: 1.2rem;
font-weight: 600;
color: var(--luxury-text);
border-bottom: 1px solid var(--luxury-border);
padding-bottom: 0.5rem;
margin-bottom: 1rem;
}
.dark-luxury .detail-box p {
margin-bottom: 0.5rem;
font-size: 0.95rem;
}
.dark-luxury .products-table {
width: 100%;
border-collapse: collapse;
}
.dark-luxury .products-table th, .dark-luxury .products-table td {
padding: 0.75rem;
text-align: right;
border-bottom: 1px solid var(--luxury-border);
}
.dark-luxury .products-table th {
font-weight: 600;
font-size: 0.9rem;
color: var(--luxury-text-muted);
}
.dark-luxury .products-table img {
width: 45px;
height: 45px;
border-radius: 8px;
margin-left: 10px;
vertical-align: middle;
}
/*
Auth Pages - Dark Luxury Theme
*/
.auth-wrapper {
display: flex;
min-height: 100vh;
width: 100%;
}
.auth-bg {
flex: 1;
background: url('https://images.pexels.com/photos/244133/pexels-photo-244133.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2') no-repeat center center;
background-size: cover;
position: relative;
display: none; /* Hidden on small screens */
}
@media (min-width: 992px) {
.auth-bg {
display: flex;
align-items: center;
justify-content: center;
}
}
.auth-bg::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(17, 18, 20, 0.7);
z-index: 1;
}
.auth-bg-content {
position: relative;
z-index: 2;
text-align: center;
padding: 40px;
max-width: 450px;
color: var(--luxury-text);
}
.auth-bg-content h1 {
font-size: 3rem;
font-weight: 700;
margin-bottom: 1rem;
text-shadow: 1px 1px 15px rgba(0,0,0,0.5);
}
.auth-bg-content p {
font-size: 1.1rem;
line-height: 1.7;
color: var(--luxury-text-muted);
}
.auth-form-wrapper {
flex-grow: 1; /* Take up all space on mobile */
display: flex;
align-items: center;
justify-content: center;
padding: 30px;
background-color: var(--luxury-surface);
}
@media (min-width: 992px) {
.auth-form-wrapper {
flex: 0 0 500px; /* Fixed width on larger screens */
flex-grow: 0;
}
}
.auth-form-container {
max-width: 400px;
width: 100%;
}
.auth-form-container .form-header .logo {
font-size: 2rem;
font-weight: 700;
color: var(--luxury-primary);
margin-bottom: 1rem;
text-align: center;
}
.auth-form-container .form-header h2 {
font-size: 1.8rem;
font-weight: 600;
color: var(--luxury-text);
margin-bottom: 0.5rem;
text-align: center;
}
.auth-form-container .form-header p {
color: var(--luxury-text-muted);
margin-bottom: 2.5rem;
text-align: center;
}
.auth-wrapper .form-group {
position: relative;
margin-bottom: 1.5rem;
}
.auth-form-wrapper .form-control {
height: 52px;
padding: 0 20px;
font-size: 0.95rem;
}
.auth-form-wrapper .btn-primary {
height: 50px;
font-size: 1rem;
}
.auth-footer {
text-align: center;
margin-top: 2rem;
font-size: 0.9rem;
}
.auth-footer a {
color: var(--luxury-primary);
font-weight: 600;
}
.auth-footer a:hover {
text-decoration: underline;
}
.dark-luxury .alert-danger {
background-color: rgba(220, 53, 69, 0.1);
border-color: rgba(220, 53, 69, 0.3);
color: #f8d7da;
}
.dark-luxury .alert-success {
background-color: rgba(25, 135, 84, 0.1);
border-color: rgba(25, 135, 84, 0.3);
color: #d1e7dd;
}
.dark-luxury .alert-secondary {
background-color: rgba(144, 164, 174, 0.1);
border-color: rgba(144, 164, 174, 0.3);
color: #cfd8dc;
}
.dark-luxury .otp-input {
font-size: 1.5rem;
letter-spacing: 0.5rem;
text-align: center;
font-weight: 700;
}
/* General Responsive Styles */
/* On extra small screens, make the body text a bit smaller */
@media (max-width: 575.98px) {
body {
font-size: 0.95rem;
}
.display-3 {
font-size: 2.8rem;
}
.display-4 {
font-size: 2.3rem;
}
}
/* --- Header --- */
@media (max-width: 991.98px) {
.dark-luxury .profile-container {
flex-direction: column;
}
.dark-luxury .profile-sidebar {
position: static;
width: 100%;
margin-bottom: 2rem;
}
.dark-luxury .navbar-collapse {
background-color: var(--luxury-surface);
padding: 1.5rem;
border-radius: 15px;
margin-top: 1rem;
border: 1px solid var(--luxury-border);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.dark-luxury .navbar-nav .nav-item:not(:last-child) {
margin-bottom: 0.5rem;
}
.dark-luxury .navbar-nav .nav-link {
padding: 0.5rem 0;
}
.dark-luxury .navbar-collapse .d-flex {
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--luxury-border);
justify-content: center !important; /* Center the icons/buttons */
}
.dark-luxury .site-header {
background-color: rgba(17, 18, 20, 0.85);
backdrop-filter: blur(10px);
}
}
/* --- Footer --- */
@media (max-width: 767.98px) {
.dark-luxury .site-footer .row > div {
text-align: center;
margin-bottom: 2.5rem; /* Add more space between stacked columns */
}
.dark-luxury .site-footer .list-unstyled {
padding-right: 0; /* Remove default padding for RTL */
text-align: center;
}
.dark-luxury .site-footer .social-icons {
justify-content: center !important;
}
.dark-luxury .site-footer .d-flex.align-items-center {
justify-content: center;
}
}
/* --- Homepage Specific --- */
@media (max-width: 767.98px) {
.dark-luxury .hero-section {
min-height: 60vh; /* Reduce height on mobile */
height: auto;
}
.dark-luxury .hero-title {
font-size: 2.5rem;
}
.dark-luxury .hero-subtitle {
font-size: 1.1rem;
}
}
.dark-luxury #about-us .text-md-end {
text-align: center !important;
}
/* --- Profile Page Responsive --- */
@media (max-width: 991.98px) {
.dark-luxury .profile-container {
flex-direction: column;
}
.dark-luxury .profile-sidebar {
flex: 0 0 auto;
width: 100%;
position: static;
margin-bottom: 30px;
}
}
@media (max-width: 767.98px) {
.dark-luxury .order-header {
flex-direction: column;
align-items: flex-start;
gap: 15px;
}
.dark-luxury .order-header-item {
text-align: right !important;
width: 100%;
}
.dark-luxury .order-accordion .accordion-button {
padding: 15px;
}
.dark-luxury .order-details-table .product-name-column {
max-width: 150px;
white-space: normal;
}
}
@media (max-width: 575.98px) {
.dark-luxury .user-card {
padding: 15px 5px;
}
.dark-luxury .profile-nav .nav-link {
padding: 10px;
gap: 10px;
font-size: 0.9rem;
}
.dark-luxury .order-header-item strong {
font-size: 0.9rem;
}
.dark-luxury .order-header-item span {
font-size: 0.75rem;
}
}
}
/*
* FAQ Page - Accordion Styles
*/
.dark-luxury .accordion-item {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
border-radius: 10px !important; /* Use important to override bootstrap defaults */
margin-bottom: 1rem;
overflow: hidden; /* Ensures the child elements adhere to the border radius */
}
.dark-luxury .accordion-header {
border-bottom: none;
}
.dark-luxury .accordion-button {
background-color: var(--luxury-surface);
color: var(--luxury-text);
font-weight: 600;
padding: 1.5rem;
border-radius: 0;
box-shadow: none; /* Remove default focus shadow */
transition: background-color 0.3s ease;
}
.dark-luxury .accordion-button:not(.collapsed) {
background-color: var(--luxury-bg);
color: var(--luxury-primary);
border-bottom: 1px solid var(--luxury-border);
}
.dark-luxury .accordion-button:focus {
box-shadow: 0 0 0 0.2rem rgba(192, 159, 128, 0.25); /* Custom focus ring */
}
/* Style the accordion icon (chevron) */
.dark-luxury .accordion-button::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2390a4ae'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
transition: transform 0.3s ease;
}
.dark-luxury .accordion-button:not(.collapsed)::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c09f80'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.dark-luxury .accordion-body {
padding: 1.5rem;
color: var(--luxury-text-muted);
line-height: 1.8;
}
/* Generic Card Style for static pages (e.g., Terms) */
.dark-luxury main .card {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
color: var(--luxury-text-muted); /* Fixing text color */
}
.dark-luxury main .card .card-body,
.dark-luxury main .card .card-text {
color: var(--luxury-text-muted); /* Ensuring all text within the card is readable */
}
.dark-luxury main .card .card-title,
.dark-luxury main .card h1,
.dark-luxury main .card h2,
.dark-luxury main .card h3,
.dark-luxury main .card h4,
.dark-luxury main .card h5,
.dark-luxury main .card h6 {
color: var(--luxury-text); /* Making titles more prominent */
}
/* Restore accordion styles to prevent conflicts */
.dark-luxury .accordion-item {
background-color: var(--luxury-surface);
border: 1px solid var(--luxury-border);
}
.dark-luxury .accordion-button {
background-color: var(--luxury-surface);
color: var(--luxury-text);
}
.dark-luxury .accordion-button:not(.collapsed) {
background-color: var(--luxury-bg);
color: var(--luxury-primary);
}
.dark-luxury .accordion-body {
color: var(--luxury-text-muted);
}