/* N51 LIVING — SHOP THEME OVERRIDE (N51 website only) */

/* CSS Variables */
:root {
  --n51-stone: #2C2825;
  --n51-warm-white: #F7F4F0;
  --n51-sand: #E8E0D5;
  --n51-clay: #C4B5A4;
  --n51-charcoal: #1A1817;
  --n51-accent: #8B7355;
  --n51-mist: #F0EDE8;
  --n51-sage: #A8B0A0;
}

/* Body & Global */
#wrapwrap {
  font-family: 'DM Sans', sans-serif !important;
  background-color: var(--n51-warm-white) !important;
  color: var(--n51-stone) !important;
  -webkit-font-smoothing: antialiased;
}

/* Header / Navbar */
header#top .navbar {
  background-color: var(--n51-warm-white) !important;
  border-bottom: 1px solid var(--n51-sand) !important;
  box-shadow: none !important;
}
header#top .navbar-brand,
header#top .navbar-nav .nav-link {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--n51-stone) !important;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem !important;
}
header#top .navbar-nav .nav-link:hover {
  color: var(--n51-accent) !important;
}

/* Buttons (primary) */
.btn-primary,
.btn-primary:focus {
  background-color: var(--n51-stone) !important;
  border-color: var(--n51-stone) !important;
  color: var(--n51-warm-white) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 400;
  border-radius: 0 !important;
  transition: all 0.3s ease;
}
.btn-primary:hover {
  background-color: var(--n51-accent) !important;
  border-color: var(--n51-accent) !important;
}

/* Buttons (secondary / outline) */
.btn-secondary,
.btn-outline-primary {
  background-color: transparent !important;
  border: 1px solid var(--n51-stone) !important;
  color: var(--n51-stone) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 0 !important;
}
.btn-secondary:hover,
.btn-outline-primary:hover {
  background-color: var(--n51-stone) !important;
  color: var(--n51-warm-white) !important;
}

/* Shop Layout */
#products_grid .o_wsale_products_grid_before {
  background: var(--n51-mist) !important;
  border-right: 1px solid var(--n51-sand) !important;
}

/* Category sidebar */
.o_wsale_products_grid_before .nav-link,
.o_wsale_products_grid_before a {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--n51-stone) !important;
  font-weight: 400;
  font-size: 0.85rem;
}
.o_wsale_products_grid_before .nav-link:hover,
.o_wsale_products_grid_before .nav-link.active,
.o_wsale_products_grid_before a:hover {
  color: var(--n51-accent) !important;
}

/* Product Cards */
.oe_product_cart {
  border: 1px solid var(--n51-sand) !important;
  border-radius: 0 !important;
  background: white !important;
  transition: box-shadow 0.3s ease, transform 0.2s ease;
  overflow: hidden;
}
.oe_product_cart:hover {
  box-shadow: 0 8px 25px rgba(44, 40, 37, 0.08) !important;
  transform: translateY(-2px);
}

/* Product title */
.oe_product_cart h6 a,
.oe_product_cart .o_wsale_product_information a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 1.15rem !important;
  color: var(--n51-stone) !important;
  text-decoration: none !important;
}
.oe_product_cart h6 a:hover {
  color: var(--n51-accent) !important;
}

/* Product price */
.oe_product_cart .d-product-price,
.oe_product_cart .oe_currency_value {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--n51-accent) !important;
  font-weight: 500;
}

/* Product Detail Page */
#product_details h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  color: var(--n51-stone) !important;
}
#product_details .product_price .oe_price {
  color: var(--n51-accent) !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Headings */
#wrap h1, #wrap h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300;
  color: var(--n51-stone) !important;
}

/* Footer */
#footer, #footer > * {
  background-color: var(--n51-charcoal) !important;
  border-color: transparent !important;
}
#footer h5, #footer h4, #footer h3 {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--n51-warm-white) !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem !important;
}
#footer a {
  color: rgba(247, 244, 240, 0.45) !important;
  font-size: 0.85rem;
}
#footer a:hover {
  color: var(--n51-clay) !important;
}
#footer p, #footer span, #footer li {
  color: rgba(247, 244, 240, 0.45) !important;
  font-size: 0.85rem !important;
  font-weight: 300 !important;
}
#footer .o_footer_logo img,
#footer .logo img {
  filter: brightness(0) invert(1) !important;
}
#footer section {
  background-color: var(--n51-charcoal) !important;
}
#footer .o_we_shape {
  display: none !important;
}
#footer .row, #footer .col-lg-2, #footer .col-lg-3, #footer .col-lg-4, #footer .col-lg-6, #footer .col-lg-12, #footer .container {
  background-color: transparent !important;
}

/* Forms & Inputs */
.form-control, .form-select {
  border-radius: 0 !important;
  border-color: var(--n51-sand) !important;
  font-family: 'DM Sans', sans-serif !important;
}
.form-control:focus, .form-select:focus {
  border-color: var(--n51-accent) !important;
  box-shadow: 0 0 0 0.15rem rgba(139, 115, 85, 0.15) !important;
}

/* Pagination */
.page-link {
  color: var(--n51-stone) !important;
  border-color: var(--n51-sand) !important;
  border-radius: 0 !important;
}
.page-item.active .page-link {
  background-color: var(--n51-stone) !important;
  border-color: var(--n51-stone) !important;
  color: var(--n51-warm-white) !important;
}

/* Cards */
.card {
  border-radius: 0 !important;
  border-color: var(--n51-sand) !important;
}

/* Accordion filters */
.accordion-button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.82rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--n51-stone) !important;
}
.accordion-button:not(.collapsed) {
  background-color: var(--n51-mist) !important;
  color: var(--n51-accent) !important;
  box-shadow: none !important;
}
