/* Luxury palette and refined layout */

:root{
  --brand-primary: #FFFFFF; /* White */
  --brand-secondary: #F4F4F4; /* Light Grey */
  --brand-text: #333333; /* Dark Grey */
  --brand-accent: #d4af37; /* Gold */
  --brand-muted: #777777;
  --brand-medium-light-grey: #cccccc;
  --brand-medium-dark-grey: #666666;
}

/* Theme definitions */
.theme-white-grey {
  --brand-primary: #FFFFFF;
  --brand-secondary: #F4F4F4;
  --brand-text: #333333;
  --brand-accent: #d4af37;
  --brand-muted: #777777;
  --brand-medium-light-grey: #cccccc;
  --brand-medium-dark-grey: #666666;
}

.theme-rose-gold {
  --brand-primary: #B76E79;
  --brand-secondary: #FDF8F5;
  --brand-text: #5D4954;
  --brand-accent: #E0C2A2;
  --brand-muted: #9A8C98;
  --brand-medium-light-grey: #d3d3d3;
  --brand-medium-dark-grey: #888888;
}

.theme-dark {
  --brand-primary: #1a1a1a; /* Dark background */
  --brand-secondary: #2c2c2c; /* Slightly lighter dark background */
  --brand-text: #f0f0f0; /* Light text */
  --brand-accent: #d4af37; /* Keep gold accent */
  --brand-muted: #aaaaaa;
  --brand-medium-light-grey: #555555;
  --brand-medium-dark-grey: #888888;
}

body {
  font-family: 'Lato', sans-serif;
  background-color: var(--brand-secondary);
  color: var(--brand-text);
  line-height: 1.6;
  padding-top: 70px; /* Default padding for fixed header */
}

.form-control {
  border-color: var(--brand-medium-light-grey);
  color: var(--brand-text);
  background-color: var(--brand-primary);
}

.form-control:focus {
  border-color: var(--brand-medium-dark-grey);
  box-shadow: 0 0 0 0.2rem rgba(102, 102, 102, 0.25);
  outline: none;
}

.navbar .nav-link.btn-gold {
  padding: .5rem 1rem;
  color: #111;
}

.navbar .nav-item.active .nav-link.btn-gold {
  background: #111;
  color: var(--brand-accent);
  border: 1px solid var(--brand-accent);
}

.navbar .dropdown-menu {
  background-color: var(--brand-primary);
  border: 1px solid rgba(0,0,0,0.1);
}

.navbar .dropdown-item {
  color: var(--brand-text);
}

.navbar .dropdown-item:hover {
  background-color: var(--brand-secondary);
  color: var(--brand-accent);
}

/* Responsive */
@media (max-width: 991.98px) {
  body {
    padding-top: 60px; /* Adjust padding for smaller header */
  }

  .hero-inner { 
    grid-template-columns: 1fr; 
    text-align: center; 
  }

  .collections-grid { 
    grid-template-columns: 1fr; 
  }

  .hero-media .responsive-cover { 
    height: 320px; 
    object-fit: cover; 
  }
}

@media (max-width: 767.98px) {
  /* Add further adjustments for smaller screens if needed */
}

.main-content {
  padding-top: 20px; /* General padding for content area */
}