/* ============================================================
   IDÉE LUMIÈRE — Premium Dark Theme
   Palette: Black #0a0a0a | Dark #111 | Gold #C5A059 | Text #fff
   ============================================================ */

/* --- CSS Variables --- */
:root {
  --il-bg: #0a0a0a;
  --il-bg-card: #141414;
  --il-bg-elevated: #1a1a1a;
  --il-gold: #C5A059;
  --il-gold-light: #d4b06a;
  --il-gold-dark: #a8863f;
  --il-text: #fff;
  --il-text-muted: rgba(255,255,255,0.6);
  --il-text-subtle: rgba(255,255,255,0.4);
  --il-border: rgba(197,160,89,0.15);
  --il-border-subtle: rgba(255,255,255,0.06);
  --il-font-serif: 'Playfair Display', Georgia, serif;
  --il-font-sans: 'Montserrat', 'Segoe UI', sans-serif;
  --il-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --il-radius: 2px;
  --il-shadow: 0 4px 24px rgba(0,0,0,0.4);
}

/* --- Base Reset --- */
*, *::before, *::after { box-sizing: border-box; }

body {
  background: var(--il-bg) !important;
  color: var(--il-text) !important;
  font-family: var(--il-font-sans) !important;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- Typography --- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--il-font-serif) !important;
  color: var(--il-text) !important;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0.02em;
}

p, li, span, div, td, th, label, .label {
  color: var(--il-text-muted);
}

a { color: var(--il-gold); text-decoration: none; transition: color var(--il-transition); }
a:hover { color: var(--il-gold-light); text-decoration: none; }

/* --- Header / Navigation --- */
#header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(10,10,10,0.92) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--il-border) !important;
  transition: all var(--il-transition);
}

#header.header-scrolled,
#header.is-scrolled {
  background: rgba(10,10,10,0.97) !important;
  border-bottom: 1px solid rgba(197,160,89,0.25) !important;
}

.header-banner { display: none; }
#wrapper { padding-top: 165px !important; }

/* -- Top Bar -- */
.header-nav {
  background: rgba(0,0,0,0.5) !important;
  border: none !important;
  border-bottom: 1px solid var(--il-border-subtle) !important;
  padding: 6px 0 !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.header-nav .container { max-width: 1340px; }

.header-nav a,
.header-nav span {
  color: var(--il-text-muted) !important;
  transition: color var(--il-transition);
}
.header-nav a:hover { color: var(--il-gold) !important; }

/* -- Access Buttons (Pro / Particulier) -- */
.il-btn-access {
  padding: 6px 18px !important;
  border-radius: var(--il-radius) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: all var(--il-transition) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: none !important;
}

.il-btn-access.il-btn-pro {
  background: linear-gradient(135deg, var(--il-gold), var(--il-gold-dark)) !important;
  color: #000 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(197,160,89,0.3) !important;
}
.il-btn-access.il-btn-pro:hover {
  background: linear-gradient(135deg, var(--il-gold-light), var(--il-gold)) !important;
  box-shadow: 0 4px 16px rgba(197,160,89,0.4) !important;
  transform: translateY(-1px);
}

.il-btn-access.il-btn-part {
  background: transparent !important;
  color: var(--il-text-muted) !important;
  border: 1px solid rgba(197,160,89,0.3) !important;
}
.il-btn-access.il-btn-part:hover {
  background: rgba(197,160,89,0.08) !important;
  color: var(--il-gold) !important;
  border-color: var(--il-gold) !important;
}

/* -- Logo -- */
.header-logo img {
  max-height: 50px;
  width: auto;
  filter: brightness(1.1);
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.header-logo a {
  border: none !important;
  outline: none !important;
}

/* -- Contact Info in Header -- */
.il-header-contact a {
  color: var(--il-text-muted) !important;
  font-size: 13px;
  letter-spacing: 0.03em;
}
.il-header-contact a:hover { color: var(--il-gold) !important; }
.il-header-contact img {
  opacity: 0.7;
  transition: opacity var(--il-transition);
}
.il-header-contact a:hover img { opacity: 1; }

/* -- Search -- */
#search_widget input,
input.searchOver,
.search-widget input[type="text"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(197,160,89,0.15) !important;
  color: #fff !important;
  border-radius: var(--il-radius) !important;
  padding: 8px 40px 8px 14px !important;
  font-size: 13px !important;
  transition: all var(--il-transition) !important;
}
#search_widget input:focus,
input.searchOver:focus {
  border-color: var(--il-gold) !important;
  background: rgba(255,255,255,0.06) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(197,160,89,0.1) !important;
}
#search_widget input::placeholder { color: var(--il-text-subtle) !important; }

.search-widget button,
#search_widget button {
  background: var(--il-gold) !important;
  border: none !important;
  color: #000 !important;
  border-radius: 0 var(--il-radius) var(--il-radius) 0 !important;
}

/* -- Main Navigation Menu -- */
.nav-bar,
#_desktop_top_menu,
.top-menu-nav {
  border: none !important;
  background: transparent !important;
}

.top-menu > li > a,
#_desktop_top_menu a {
  color: var(--il-text) !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 12px 14px !important;
  transition: color var(--il-transition) !important;
  font-weight: 500 !important;
  position: relative;
}

.top-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--il-gold);
  transition: all var(--il-transition);
  transform: translateX(-50%);
}

.top-menu > li > a:hover::after,
.top-menu > li.current > a::after {
  width: 70%;
}

.top-menu > li > a:hover {
  color: var(--il-gold) !important;
}

/* Dropdown menus */
.top-menu .sub-menu,
.top-menu .popover {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border) !important;
  box-shadow: var(--il-shadow) !important;
  border-radius: 0 0 var(--il-radius) var(--il-radius) !important;
}
.top-menu .sub-menu a {
  color: var(--il-text-muted) !important;
  font-size: 13px !important;
}
.top-menu .sub-menu a:hover {
  color: var(--il-gold) !important;
  background: rgba(197,160,89,0.05) !important;
}

/* User menu dropdown */
.user-info .dropdown-menu,
.user-info .account-list {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border) !important;
  box-shadow: var(--il-shadow) !important;
}

/* === WRAPPER & CONTENT === */
#wrapper {
  background: var(--il-bg) !important;
}

#content {
  background: var(--il-bg) !important;
  color: var(--il-text) !important;
}

.page-content,
section.page-content {
  background: var(--il-bg) !important;
  color: var(--il-text-muted) !important;
}

/* --- Breadcrumb --- */
.breadcrumb {
  background: transparent !important;
  border: none !important;
  padding: 8px 0 !important;
}
.breadcrumb li, .breadcrumb a, .breadcrumb span,
.breadcrumb ol li a {
  color: var(--il-text-subtle) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.breadcrumb li:last-child span,
.breadcrumb .breadcrumb_last {
  color: var(--il-gold) !important;
}

/* === PRODUCT CARDS === */
.product-miniature,
.js-product-miniature {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  overflow: hidden;
  transition: all var(--il-transition) !important;
  position: relative;
}
.product-miniature:hover {
  border-color: var(--il-border) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3), 0 0 0 1px rgba(197,160,89,0.1) !important;
  transform: translateY(-4px);
}

.product-miniature .thumbnail-container {
  background: #111 !important;
  border: none !important;
}

.product-miniature img {
  border: none !important;
  transition: transform 0.5s ease !important;
}
.product-miniature:hover img {
  transform: scale(1.05);
}

.product-miniature .product-title a,
.product-title a {
  color: var(--il-text) !important;
  font-family: var(--il-font-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
.product-miniature .product-title a:hover {
  color: var(--il-gold) !important;
}

/* Prices */
.product-price-and-shipping,
.product-miniature .price,
.current-price .price,
span.price, .price {
  color: var(--il-gold) !important;
  font-family: var(--il-font-sans) !important;
  font-weight: 600 !important;
}
.regular-price {
  color: var(--il-text-subtle) !important;
  text-decoration: line-through !important;
}
.discount-percentage, .discount-amount,
.product-flag {
  background: var(--il-gold) !important;
  color: #000 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: var(--il-radius) !important;
  border: none !important;
}

/* Product description text */
.product-description-short,
.product-description {
  color: var(--il-text-muted) !important;
}

/* Add to cart button */
.add-to-cart,
.btn-primary {
  background: linear-gradient(135deg, var(--il-gold), var(--il-gold-dark)) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--il-radius) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  padding: 10px 24px !important;
  transition: all var(--il-transition) !important;
  box-shadow: 0 2px 8px rgba(197,160,89,0.2) !important;
}
.add-to-cart:hover,
.btn-primary:hover {
  background: linear-gradient(135deg, var(--il-gold-light), var(--il-gold)) !important;
  box-shadow: 0 4px 16px rgba(197,160,89,0.35) !important;
  transform: translateY(-1px);
  color: #000 !important;
}

.btn-secondary {
  background: transparent !important;
  color: var(--il-gold) !important;
  border: 1px solid var(--il-border) !important;
  border-radius: var(--il-radius) !important;
  transition: all var(--il-transition) !important;
}
.btn-secondary:hover {
  background: rgba(197,160,89,0.08) !important;
  border-color: var(--il-gold) !important;
}

/* === PRODUCT PAGE === */
.product-cover img {
  border: none !important;
  border-radius: var(--il-radius) !important;
}
.product-images > li {
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
}
.product-images > li.selected,
.product-images > li:hover {
  border-color: var(--il-gold) !important;
}

.product-quantities,
.product-availability {
  color: var(--il-text-muted) !important;
}

.product-tabs .nav-tabs {
  border-bottom: 1px solid var(--il-border) !important;
}
.product-tabs .nav-link {
  color: var(--il-text-muted) !important;
  border: none !important;
  background: transparent !important;
}
.product-tabs .nav-link.active {
  color: var(--il-gold) !important;
  border-bottom: 2px solid var(--il-gold) !important;
  background: transparent !important;
}
.product-tabs .tab-content {
  color: var(--il-text-muted) !important;
  background: transparent !important;
}

/* === CATEGORY PAGE === */
.block-category {
  background: transparent !important;
  border: none !important;
}
.block-category h1 {
  color: var(--il-text) !important;
  font-family: var(--il-font-serif) !important;
}

/* Faceted search / filters */
#search_filters,
.facet,
#search_filters_wrapper {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  color: var(--il-text-muted) !important;
}
.facet-title {
  color: var(--il-text) !important;
}
.facet-label a {
  color: var(--il-text-muted) !important;
}
.facet-label a:hover {
  color: var(--il-gold) !important;
}

/* Sort & pagination */
.products-sort-order .select-title,
.sort-by-row .select-title {
  background: var(--il-bg-card) !important;
  color: var(--il-text-muted) !important;
  border: 1px solid var(--il-border-subtle) !important;
}

.pagination .page-list li a,
.pagination .page-list li span {
  background: transparent !important;
  color: var(--il-text-muted) !important;
  border: 1px solid var(--il-border-subtle) !important;
}
.pagination .page-list li.current a,
.pagination .page-list li .current {
  background: var(--il-gold) !important;
  color: #000 !important;
  border-color: var(--il-gold) !important;
}

/* === FOOTER === */
footer, #footer {
  background: #050505 !important;
  border-top: 1px solid var(--il-border) !important;
  color: var(--il-text-muted) !important;
}

.footer-before {
  background: var(--il-bg) !important;
  border-top: none !important;
  border-bottom: 1px solid var(--il-border-subtle) !important;
  padding: 40px 0 !important;
}

.footer-container {
  background: transparent !important;
}

/* Newsletter */
.block_newsletter {
  background: transparent !important;
  border: none !important;
}
.block_newsletter h2,
.block_newsletter .h2 {
  color: var(--il-gold) !important;
  font-family: var(--il-font-serif) !important;
  font-size: 18px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
.block_newsletter .h3 {
  display: none;
}
.block_newsletter input[type="email"],
.block_newsletter input[type="text"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid var(--il-border) !important;
  color: #fff !important;
  border-radius: var(--il-radius) !important;
  padding: 12px 16px !important;
}
.block_newsletter input::placeholder {
  color: var(--il-text-subtle) !important;
}
.block_newsletter button,
.block_newsletter .btn {
  background: var(--il-gold) !important;
  color: #000 !important;
  border: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* Footer links */
.footer-container h4,
.footer-container .h4,
.block-contact-title,
.myaccount-title,
.blockcms-title,
.footer-container .title {
  color: var(--il-gold) !important;
  font-family: var(--il-font-serif) !important;
  font-size: 14px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--il-border) !important;
  padding-bottom: 8px !important;
}

.footer-container a,
.footer-container li {
  color: var(--il-text-muted) !important;
  font-size: 13px !important;
  transition: color var(--il-transition) !important;
}
.footer-container a:hover {
  color: var(--il-gold) !important;
}

.footer-container .block-contact .data {
  color: var(--il-text-muted) !important;
}

/* Footer bottom */
.footer-bottom {
  background: #030303 !important;
  border-top: 1px solid var(--il-border-subtle) !important;
  padding: 16px 0 !important;
}
.footer-bottom a,
.footer-bottom span {
  color: var(--il-text-subtle) !important;
  font-size: 11px !important;
}

/* Payment icons */
.footer-bottom img {
  opacity: 0.7;
  filter: grayscale(30%);
}

/* === FORMS === */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select,
.form-control,
.custom-select {
  background: rgba(255,255,255,0.04) !important;
  color: #fff !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  padding: 10px 14px !important;
  transition: all var(--il-transition) !important;
  font-size: 14px !important;
}
input:focus, textarea:focus, select:focus,
.form-control:focus {
  border-color: var(--il-gold) !important;
  background: rgba(255,255,255,0.06) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(197,160,89,0.1) !important;
}
::placeholder {
  color: var(--il-text-subtle) !important;
}
label {
  color: var(--il-text-muted) !important;
  font-size: 13px !important;
  letter-spacing: 0.03em !important;
}

/* Checkboxes & radios */
.custom-checkbox input[type="checkbox"] + span,
.custom-radio input[type="radio"] + span {
  border-color: var(--il-border) !important;
  background: rgba(255,255,255,0.04) !important;
}
.custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--il-gold) !important;
  border-color: var(--il-gold) !important;
}

/* === ACCOUNT PAGES === */
.page-my-account .link-item,
#content .link-item {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  color: var(--il-text) !important;
  transition: all var(--il-transition) !important;
  text-align: center;
  padding: 24px 16px !important;
}
.page-my-account .link-item:hover,
#content .link-item:hover {
  border-color: var(--il-gold) !important;
  background: rgba(197,160,89,0.05) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}
.link-item i,
.link-item .material-icons {
  color: var(--il-gold) !important;
  font-size: 36px !important;
  margin-bottom: 8px !important;
}
.link-item span {
  color: var(--il-text) !important;
}

/* Cards / alert / tables */
.card, .card-block, .card-body {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  color: var(--il-text-muted) !important;
}

.alert {
  border-radius: var(--il-radius) !important;
}
.alert-info {
  background: rgba(197,160,89,0.08) !important;
  border: 1px solid var(--il-border) !important;
  color: var(--il-text-muted) !important;
}
.alert-success {
  background: rgba(46,125,50,0.15) !important;
  border-color: rgba(46,125,50,0.3) !important;
  color: #81c784 !important;
}
.alert-danger, .alert-warning {
  background: rgba(211,47,47,0.1) !important;
  border-color: rgba(211,47,47,0.3) !important;
  color: #ef9a9a !important;
}

table, .table {
  color: var(--il-text-muted) !important;
  border-color: var(--il-border-subtle) !important;
}
table th {
  background: rgba(255,255,255,0.03) !important;
  color: var(--il-text) !important;
  border-color: var(--il-border-subtle) !important;
}
table td {
  border-color: var(--il-border-subtle) !important;
}

/* === GDPR / Module pages === */
[class*="psgdpr"],
.page-content .card,
.page-content .card-block,
.page-content .table-labeled {
  background: var(--il-bg-card) !important;
  color: var(--il-text-muted) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
}

/* === CART === */
.cart-grid {
  background: transparent !important;
}
.cart-items {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
}
.cart-item {
  border-bottom: 1px solid var(--il-border-subtle) !important;
}
.cart-summary {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
}

/* === CONTACT PAGE === */
.contact-form {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  padding: 32px !important;
}
.contact-rich {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  padding: 32px !important;
  color: var(--il-text-muted) !important;
}
.contact-rich h4 {
  color: var(--il-gold) !important;
}

/* === HOMEPAGE SECTIONS === */
.featured-products h2,
.section-title,
.products-section-title {
  color: var(--il-text) !important;
  font-family: var(--il-font-serif) !important;
  text-align: center;
  font-size: 28px !important;
  margin-bottom: 32px !important;
  position: relative;
}

/* Gold underline for section titles */
.featured-products h2::after,
.section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: var(--il-gold);
  margin: 12px auto 0;
}

/* Homepage tab content */
.tm-hometabcontent,
section.page-home {
  background: var(--il-bg) !important;
}

/* === MODAL / POPUP === */
.modal-content {
  background: var(--il-bg-elevated) !important;
  border: 1px solid var(--il-border) !important;
  color: var(--il-text) !important;
}
.modal-header {
  border-bottom: 1px solid var(--il-border-subtle) !important;
}
.modal-footer {
  border-top: 1px solid var(--il-border-subtle) !important;
}
.modal-header .close {
  color: var(--il-text-muted) !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--il-bg); }
::-webkit-scrollbar-thumb {
  background: rgba(197,160,89,0.3);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--il-gold);
}

/* === GLOBAL BORDER CLEANUP === */
* {
  outline-color: var(--il-gold) !important;
}
img { border: none !important; }

/* Remove any remaining white borders */
.nav-bar { border: none !important; }
footer { border-top-color: var(--il-border) !important; }
.footer-before { border-color: var(--il-border-subtle) !important; }
.footer-bottom { border-color: var(--il-border-subtle) !important; }

/* === SELECTION COLOR === */
::selection {
  background: var(--il-gold);
  color: #000;
}
::-moz-selection {
  background: var(--il-gold);
  color: #000;
}

/* === LOADING / TRANSITIONS === */
.product-miniature,
.link-item,
a, button, input, select, textarea {
  transition: all var(--il-transition) !important;
}

/* === QUANTITY SPINNER === */
.qty input, .input-group .form-control {
  text-align: center !important;
}
.input-group-btn .btn {
  background: var(--il-bg-card) !important;
  color: var(--il-gold) !important;
  border: 1px solid var(--il-border-subtle) !important;
}

/* === WISHLIST === */
.wishlist-button-add .material-icons {
  color: var(--il-text-subtle) !important;
}
.wishlist-button-add:hover .material-icons {
  color: var(--il-gold) !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  #wrapper { padding-top: 120px !important; }
  .header-logo img { max-height: 35px; }
  .top-menu > li > a { padding: 8px 10px !important; font-size: 11px !important; }
}

/* === LOGO FIX - Remove white border from logo JPG === */
.header-logo a {
  display: inline-block !important;
  overflow: hidden !important;
  border: none !important;
  background: transparent !important;
}
.header-logo img {
  /* Clip the white border from the JPG */
  margin: -3px !important;
  clip-path: inset(3px) !important;
  border: none !important;
  max-height: 55px !important;
}

/* === Header row alignment fix === */
#header .row,
#header .header-top {
  border: none !important;
}

/* Fix navigation overlap with top bar text */
.header-nav .il-delivery-text {
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  color: var(--il-text-subtle) !important;
}

/* === Mon Compte dropdown === */
.user-info {
  color: var(--il-text-muted) !important;
}
.user-info a {
  color: var(--il-text-muted) !important;
}
.user-info a:hover {
  color: var(--il-gold) !important;
}
.user-info .dropdown-menu {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border) !important;
  box-shadow: var(--il-shadow) !important;
}
.user-info .dropdown-menu a {
  color: var(--il-text-muted) !important;
  padding: 8px 16px !important;
}
.user-info .dropdown-menu a:hover {
  color: var(--il-gold) !important;
  background: rgba(197,160,89,0.05) !important;
}

/* === Product card image backgrounds === */
.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail {
  background: #f5f5f5 !important;
}

/* === Sidebar widgets === */
.block-categories,
#left-column .block,
#right-column .block {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  margin-bottom: 16px !important;
  padding: 16px !important;
}
.block-categories .category-sub-menu li a,
#left-column a, #right-column a {
  color: var(--il-text-muted) !important;
}
#left-column a:hover, #right-column a:hover {
  color: var(--il-gold) !important;
}

/* === Brand logos section === */
.manufacturer-logo,
.brand-logo {
  background: rgba(255,255,255,0.05) !important;
  border-radius: var(--il-radius) !important;
  padding: 12px !important;
}

/* === Promo badges refinement === */
.product-flag.on-sale,
.product-flag.discount {
  background: #c0392b !important;
  color: #fff !important;
}
.product-flag.new {
  background: var(--il-gold) !important;
  color: #000 !important;
}

/* === Slick carousel / slider === */
.slick-prev, .slick-next {
  background: rgba(197,160,89,0.2) !important;
  border: 1px solid var(--il-border) !important;
  color: var(--il-gold) !important;
}
.slick-prev:hover, .slick-next:hover {
  background: var(--il-gold) !important;
  color: #000 !important;
}
.slick-dots li button {
  background: var(--il-border) !important;
}
.slick-dots li.slick-active button {
  background: var(--il-gold) !important;
}

/* === Authentication / Login page === */
.page-authentication #content,
.page-customer-account #content {
  background: var(--il-bg) !important;
}
.page-authentication .card,
.page-authentication form {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  padding: 32px !important;
}

/* === Checkout page === */
.checkout-step {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: var(--il-radius) !important;
  margin-bottom: 16px !important;
}
.checkout-step .step-title {
  color: var(--il-text) !important;
  border-bottom: 1px solid var(--il-border-subtle) !important;
}
.checkout-step .step-number {
  background: var(--il-gold) !important;
  color: #000 !important;
}
.-current .step-title {
  color: var(--il-gold) !important;
}
.-complete .step-title {
  color: var(--il-text-muted) !important;
}

/* === LOGO FIX v2 - Stronger clip to hide white JPG border === */
.
-logo img {
  clip-path: inset(6px 8px 6px 8px) !important;
  margin: -6px -8px !important;
  max-height: 60px !important;
  filter: none !important;
}

/* === LOGO FIX v3 - Invert colors for dark theme === */
.header-logo img {
  filter: invert(1) brightness(1.8) !important;
  clip-path: none !important;
  margin: 0 !important;
  max-height: 50px !important;
  opacity: 0.95;
}

/* === LOGO FIX v4 - Correct selector (underscore not hyphen) === */
.header_logo img,
#_desktop_logo img,
img.logo {
  filter: invert(1) brightness(2) !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  max-height: 50px !important;
  clip-path: none !important;
  margin: 0 !important;
}
.header_logo a,
#_desktop_logo a {
  border: none !important;
  outline: none !important;
  display: inline-block !important;
}

/* === Sidebar block_content fix === */
.block_content,
.block-categories .block_content,
#left-column .block_content,
#right-column .block_content {
  background: var(--il-bg-card) !important;
  color: var(--il-text-muted) !important;
  border: none !important;
}

/* === Left/Right column general === */
#left-column,
#right-column {
  background: transparent !important;
}

/* Category tree links */
.block-categories .category-sub-menu,
.block-categories .category-sub-menu li {
  background: transparent !important;
}
.block-categories .category-sub-menu li a {
  color: var(--il-text-muted) !important;
  padding: 4px 0 !important;
}
.block-categories .category-sub-menu li a:hover {
  color: var(--il-gold) !important;
}

/* Block titles */
.block-categories .h6,
#left-column .h6,
#left-column h6,
#right-column .h6 {
  color: var(--il-gold) !important;
  font-family: var(--il-font-serif) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
}

/* Account page sidebar - Votre compte */
.myaccount-column,
.page-my-account #left-column .block_content {
  background: var(--il-bg-card) !important;
}

/* === Page titles === */
h1.page-heading,
.page-heading {
  color: var(--il-text) !important;
  font-family: var(--il-font-serif) !important;
  font-size: 24px !important;
  letter-spacing: 0.05em !important;
}

/* ============================================
   BACKGROUND DECORATIONS & AMBIENT EFFECTS
   ============================================ */

/* Subtle radial glow on homepage hero */
#content-wrapper {
  position: relative;
}

body#index #content-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 600px;
  background: radial-gradient(ellipse at center, rgba(197,160,89,0.06) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Decorative corner accents on CMS pages */
#cms .page-content::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle at top right, rgba(197,160,89,0.08) 0%, transparent 70%);
  pointer-events: none;
}

#cms .page-content {
  position: relative;
  overflow: hidden;
}

/* Subtle gold line separator */
.page-footer::before {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--il-gold), transparent);
  margin: 0 auto 30px;
}

/* Footer ambient glow */
.footer-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(197,160,89,0.3), transparent);
}

.footer-container {
  position: relative;
}

/* Decorative pattern on sidebar */
#left-column::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, var(--il-gold), transparent);
  margin: 20px 0;
  opacity: 0.5;
}

/* Card hover glow effect */
.product-miniature:hover {
  box-shadow: 0 8px 32px rgba(197,160,89,0.12), 0 0 0 1px rgba(197,160,89,0.1) !important;
}

/* Premium page heading underline */
h1.page-heading::after,
.page-heading h1::after {
  content: '';
  display: block;
  width: 50px;
  height: 2px;
  background: var(--il-gold);
  margin-top: 12px;
}

/* Fix benefit cards horizontal layout on CMS pages */
#cms .page-content div[style*="display:flex"][style*="gap:20px"] {
  display: flex !important;
  flex-direction: row !important;
}


/* ============================================
   HOMEPAGE APPLE-STYLE CLEANUP
   ============================================ */

/* === KILL LEFT SIDEBAR ON HOMEPAGE === */
body#index #left-column {
  display: none !important;
}

body#index #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}

body#index #wrapper .container {
  max-width: 100% !important;
  padding: 0 !important;
}

body#index #wrapper > .container > .row {
  margin: 0 !important;
}

body#index #content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* === KILL GREEN SIDEBAR BANNERS EVERYWHERE === */
.tmleftbanner-container,
.tm-leftbanner,
[class*="tmleftbanner"],
.sidebar-specials,
#left-column .block:has(img[alt*="Bande LED"]),
#left-column .block:has(img[alt*="Projet"]) {
  display: none !important;
}

/* Hide the ugly green banner images specifically */
img[alt="Bande LED sur mesure"],
img[alt*="Bande LED"],
img[alt*="Idée Projet"],
img[alt*="projet-FR"],
a[title="Bande LED sur mesure"],
a[title*="Projet"] {
  display: none !important;
}

/* Hide left banner containers on ALL pages */
#left-column li.tmleftbanner-container,
#left-column .slide.tmleftbanner-container,
#left-column ul:has(.tmleftbanner-container) {
  display: none !important;
}

/* Also target by image src pattern */
#left-column img[src*="bande_led"],
#left-column img[src*="projet-FR"],
#left-column img[src*="bande_led_sur_mesure"],
#left-column a:has(img[src*="bande_led"]),
#left-column a:has(img[src*="projet-FR"]) {
  display: none !important;
}

/* Kill testimonials block on sidebar */
#left-column .block:has(img[alt="testmonial"]),
#left-column .block:has(.testimonial),
#left-column .block:nth-child(2) {
  display: none !important;
}

/* === HERO SECTION - FULL WIDTH CINEMATIC === */
.il-hero {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  min-height: 70vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1510 50%, #0a0a0a 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

.il-hero::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 600px !important;
  height: 600px !important;
  background: radial-gradient(circle, rgba(197,160,89,0.08) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.il-hero-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 700px !important;
  padding: 60px 20px !important;
}

.il-hero-content h1,
.il-hero-content .il-hero-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin-bottom: 20px !important;
}

.il-hero-content p,
.il-hero-content .il-hero-subtitle {
  font-size: 18px !important;
  color: rgba(255,255,255,0.6) !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  margin-bottom: 32px !important;
}

.il-hero-content a,
.il-hero-content .btn {
  display: inline-block !important;
  background: linear-gradient(135deg, #C5A059, #a8863f) !important;
  color: #000 !important;
  padding: 14px 40px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  border: none !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.il-hero-content a:hover,
.il-hero-content .btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(197,160,89,0.3) !important;
}

/* === PRODUCT SECTIONS - CLEAN GRID === */
body#index .featured-products,
body#index .new-products,
body#index .special-products {
  padding: 60px 0 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body#index .featured-products h2,
body#index .new-products h2,
body#index .special-products h2,
body#index .il-section h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  text-align: center !important;
  color: #fff !important;
  margin-bottom: 40px !important;
  letter-spacing: -0.01em !important;
}

body#index .featured-products h2::after,
body#index .special-products h2::after {
  content: '' !important;
  display: block !important;
  width: 40px !important;
  height: 2px !important;
  background: var(--il-gold) !important;
  margin: 16px auto 0 !important;
}

/* Product grid - clean 4 columns */
body#index .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  padding: 0 20px !important;
}

body#index .product-miniature {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  transition: all 0.4s cubic-bezier(0.4,0,0.2,1) !important;
}

body#index .product-miniature:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(197,160,89,0.2) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
}

body#index .product-miniature .thumbnail-container {
  background: #fff !important;
  aspect-ratio: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body#index .product-miniature .product-description {
  padding: 16px !important;
  text-align: center !important;
}

/* === EXPERTISE SECTION === */
.il-expertise,
#il-expertise {
  padding: 80px 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* === INTRO PRODUCTS WITH TABS === */
.tm-hometabcontent,
.il-intro-products {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 20px !important;
}

/* Tab navigation clean */
.tm-hometabcontent .nav-tabs,
.il-intro-products .nav-tabs {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  border: none !important;
  margin-bottom: 40px !important;
}

.tm-hometabcontent .nav-tabs .nav-link,
.il-intro-products .nav-tabs .nav-link {
  background: transparent !important;
  color: rgba(255,255,255,0.5) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 2px !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  transition: all 0.3s ease !important;
}

.tm-hometabcontent .nav-tabs .nav-link.active,
.tm-hometabcontent .nav-tabs .nav-link:hover,
.il-intro-products .nav-tabs .nav-link.active {
  background: rgba(197,160,89,0.1) !important;
  color: var(--il-gold) !important;
  border-color: var(--il-gold) !important;
}

/* === BRANDS SECTION === */

{
  padding: 60px 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* === SECTION DIVIDERS === */
body#index #content > section + section {
  border-top: 1px solid rgba(255,255,255,0.04) !important;
}

/* === "Voir tous nos produits" LINK === */
body#index .all-product-link {
  text-align: center !important;
  margin-top: 30px !important;
}

body#index .all-product-link a {
  color: var(--il-gold) !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(197,160,89,0.3) !important;
  padding-bottom: 4px !important;
  transition: border-color 0.3s ease !important;
}

body#index .all-product-link a:hover {
  border-bottom-color: var(--il-gold) !important;
}

/* === RESPONSIVE === */
@media (max-width: 991px) {
  body#index .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .il-hero-content h1,
  .il-hero-content .il-hero-title {
    font-size: 36px !important;
  }
  
  /* KILL sidebar on ALL pages on mobile */
  #left-column {
    display: none !important;
  }
  
  #content-wrapper {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 575px) {
  body#index .products {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  
  .il-hero-content h1,
  .il-hero-content .il-hero-title {
    font-size: 28px !important;
  }
  
  .il-hero {
    min-height: 50vh !important;
  }
}

/* === CLEAN NON-HOMEPAGE SIDEBAR === */
#left-column .sidebar-specials {
  display: none !important;
}

/* Hide testimonials block everywhere */
#left-column .block:has(img[alt="testmonial"]) {
  display: none !important;
}

/* Clean sidebar - only keep category navigation */
#left-column > div:not(.block-categories):not(#search_filters) {
  display: none !important;
}

/* Make category sidebar clean */
.block-categories {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-subtle) !important;
  border-radius: 4px !important;
  padding: 20px !important;
}


/* ============================================
   HOMEPAGE FINAL FIX - APPLE CLEAN
   ============================================ */

/* === HIDE the L'Excellence du Detail sidebar intro === */
body#index .il-sidebar-intro,
body#index .il-brand-intro,
body#index .col-lg-3.il-sidebar-intro {
  display: none !important;
}

/* Make the product tabs full width */
body#index .il-intro-products .col-lg-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

body#index .il-intro-products .row {
  justify-content: center !important;
}

/* === FIX PRODUCT IMAGES SIZE === */
body#index .product-miniature img,
body#index .tm-hometabcontent img,
body#index .products img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
}

body#index .product-miniature .thumbnail-container {
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  overflow: hidden !important;
}

body#index .product-miniature .thumbnail-container img {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
}

/* Product flags (discount badges) */
body#index .product-miniature .product-flags {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 2 !important;
}

/* === PRODUCT CAROUSEL FIX === */
body#index .tm-hometabcontent .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

body#index .tm-hometabcontent .product-miniature {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

/* Fix owl carousel / slick if used */
body#index .tm-hometabcontent .owl-stage,
body#index .tm-hometabcontent .slick-track {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  transform: none !important;
  width: 100% !important;
}

body#index .tm-hometabcontent .owl-item,
body#index .tm-hometabcontent .slick-slide {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

/* Hide carousel arrows - grid doesn't need them */
body#index .tm-hometabcontent .owl-nav,
body#index .tm-hometabcontent .slick-arrow,
body#index .tm-hometabcontent .product-carousel-arrows {
  display: none !important;
}

/* Hide carousel dots */
body#index .tm-hometabcontent .owl-dots,
body#index .tm-hometabcontent .slick-dots {
  display: none !important;
}

/* === EXPERTISE SECTION FIX === */
body#index .il-expertise .container {
  max-width: 1000px !important;
  margin: 0 auto !important;
}

body#index .il-expertise .il-expertise-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
  text-align: center !important;
}

/* === SPECIAL PRODUCTS SECTION === */
body#index .special-products .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* === BRANDS SECTION CLEAN === */
body#index .brands .brand-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 30px !important;
  align-items: center !important;
}

body#index .brands .brand-item img {
  max-height: 50px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.5 !important;
  transition: opacity 0.3s ease !important;
}

body#index .brands .brand-item img:hover {
  opacity: 1 !important;
}

/* === RESPONSIVE FIX === */
@media (max-width: 991px) {
  body#index .tm-hometabcontent .products,
  body#index .tm-hometabcontent .owl-stage,
  body#index .tm-hometabcontent .slick-track,
  body#index .special-products .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 575px) {
  body#index .tm-hometabcontent .products,
  body#index .tm-hometabcontent .owl-stage,
  body#index .tm-hometabcontent .slick-track,
  body#index .special-products .products {
    grid-template-columns: 1fr !important;
  }
}


/* --- FIX: Owl Carousel v1 to Grid (correct selectors) --- */
body#index .tm-hometabcontent .owl-wrapper-outer {
  overflow: visible !important;
  height: auto !important;
}
body#index .tm-hometabcontent .owl-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  left: auto !important;
  transform: none !important;
  position: relative !important;
}
body#index .tm-hometabcontent .owl-item {
  width: 100% !important;
  display: block !important;
}
body#index .tm-hometabcontent .owl-item .featuredlistitem {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#index .tm-hometabcontent .owl-item .featuredlistitem > ul {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#index .tm-hometabcontent .owl-item .item {
  list-style: none !important;
}
body#index .tm-hometabcontent .owl-nav,
body#index .tm-hometabcontent .owl-buttons,
body#index .tm-hometabcontent .owl-pagination {
  display: none !important;
}
body#index .tm-hometabcontent .product-miniature {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  transition: all 0.3s ease !important;
}
body#index .tm-hometabcontent .product-miniature:hover {
  border-color: rgba(197,160,89,0.3) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(197,160,89,0.1) !important;
}
body#index .tm-hometabcontent .thumbnail-container {
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}
body#index .tm-hometabcontent .thumbnail-container img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}

/* Responsive for owl v1 grid */
@media (max-width: 991px) {
  body#index .tm-hometabcontent .owl-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 575px) {
  body#index .tm-hometabcontent .owl-wrapper {
    grid-template-columns: 1fr !important;
  }
  body#index .tm-hometabcontent .owl-item .featuredlistitem > ul {
    grid-template-columns: 1fr !important;
  }
}

/* --- FIX: Special Products grid --- */
body#index .special-products #special-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 24px !important;
}
body#index .special-products .product_item {
  flex: 0 0 calc(33.333% - 16px) !important;
  max-width: calc(33.333% - 16px) !important;
  width: auto !important;
}
body#index .special-products .product-miniature {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  height: 100% !important;
}
body#index .special-products .thumbnail-container {
  width: 100% !important;
  height: auto !important;
}
body#index .special-products .thumbnail-container img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}

/* --- Showcase Gallery Section (injected via hook) --- */
.il-showcase {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 80px 40px;
  background: #0a0a0a;
}
.il-showcase h2 {
  text-align: center;
  font-family: 'Playfair Display', serif;
  font-size: 2.2rem;
  color: #fff;
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.il-showcase .il-showcase-sub {
  text-align: center;
  color: rgba(255,255,255,0.5);
  font-size: 0.95rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 48px;
}
.il-showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}
.il-showcase-grid .il-showcase-item {
  overflow: hidden;
  border-radius: 12px;
  position: relative;
}
.il-showcase-grid .il-showcase-item:first-child {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}
.il-showcase-grid .il-showcase-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.il-showcase-grid .il-showcase-item:hover img {
  transform: scale(1.05);
}
.il-showcase-grid .il-showcase-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(transparent, rgba(0,0,0,0.6));
  pointer-events: none;
}
@media (max-width: 768px) {
  .il-showcase-grid {
    grid-template-columns: 1fr 1fr;
  }
  .il-showcase-grid .il-showcase-item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* --- FIX: Special products parent grid override --- */
body#index .special-products .products {
  display: block !important;
  grid-template-columns: none !important;
}
body#index .special-products #special-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
}
body#index .special-products .product_item {
  flex: 0 0 calc(33.333% - 16px) !important;
  max-width: calc(33.333% - 16px) !important;
  width: auto !important;
  list-style: none !important;
}
body#index .special-products .thumbnail-container {
  width: 100% !important;
  height: auto !important;
  min-height: 200px !important;
}
body#index .special-products .thumbnail-container img {
  width: 100% !important;
  height: auto !important;
  min-width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body#index .special-products .product-more {
  width: 100% !important;
  text-align: center !important;
  margin-top: 24px !important;
}

/* --- FIX: Brands section + scope grid rule to tabcontent only --- */
body#index .brands .products {
  display: block !important;
}
body#index .brands .brand_grid {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  justify-content: center !important;
  gap: 40px !important;
  list-style: none !important;
  padding: 0 !important;
}
body#index .brands .product_item {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}
body#index .brands .brand-image {
    width: 180px !important;
    height: 180px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.95) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}
body#index .brands .brand-image img {
    max-height: 140px !important;
    max-width: 140px !important;
    width: auto !important;
    height: auto !important;
    filter: none !important;
    opacity: 1 !important;
    object-fit: contain !important;
    transition: opacity 0.3s ease !important;
}
body#index .brands .brand-image img:hover {
    opacity: 0.85 !important;
}

}
}
}

/* --- FIX: Header top bar - force dark background --- */
.header-top {
  background: #0a0a0a !important;
  border-bottom: 1px solid rgba(197,160,89,0.12) !important;
}
.header-top .container {
  background: transparent !important;
}

/* --- FIX: Logo blend into dark header --- */
#_desktop_logo img,
.logo img {
  mix-blend-mode: screen !important;
  background: transparent !important;
}
#_desktop_logo,
.logo {
  background: transparent !important;
}


/* --- IL Watermark behind hero section (correct selector) --- */
body#index .il-hero::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 530px;
  background: url('/themes/orchard/assets/img/il_watermark.png') center/contain no-repeat;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
}

/* --- HOMEPAGE: Hide product sections --- */
body#index .tm-hometabcontent,
body#index .special-products,
body#index .il-intro-products,
body#index .tabs,
body#index .nav-tabs,
body#index .tab-content,
body#index .featured-products,
body#index .tm-homeproducts {
  display: none !important;
}

/* --- SITEWIDE: Remove ALL green - override inline styles --- */
.page-cms b[style*="107, 174, 8"],
.page-cms strong[style*="107, 174, 8"],
.page-cms span[style*="107, 174, 8"],
.page-cms p[style*="107, 174, 8"],
.page-cms h1[style*="107, 174, 8"],
.page-cms h2[style*="107, 174, 8"],
.page-cms h3[style*="107, 174, 8"],
.page-cms h4[style*="107, 174, 8"],
.page-cms *[style*="107, 174, 8"],
*[style*="107, 174, 8"],
*[style*="6bae08"],
*[style*="6BAE08"],
*[style*="#6bae"] {
  color: #C5A059 !important;
}

/* Also catch rgb(107,174,8) without spaces */
*[style*="107,174,8"] {
  color: #C5A059 !important;
}

/* Override any theme green accent colors */
.orchard-green,
.text-green,
[class*="green"] {
  color: #C5A059 !important;
}

/* --- DROPDOWN MENU: Clean and readable --- */
#_desktop_top_menu .popover.sub-menu,
#_desktop_top_menu .dropdown-menu {
  background: #111 !important;
  border: 1px solid rgba(197,160,89,0.15) !important;
  border-radius: 8px !important;
  padding: 24px 32px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.6) !important;
  min-width: 500px !important;
}
#_desktop_top_menu .popover.sub-menu a,
#_desktop_top_menu .dropdown-menu a {
  color: rgba(255,255,255,0.75) !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 8px 16px !important;
  display: block !important;
  transition: color 0.2s, padding-left 0.2s !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
#_desktop_top_menu .popover.sub-menu a:hover,
#_desktop_top_menu .dropdown-menu a:hover {
  color: #C5A059 !important;
  padding-left: 20px !important;
}
/* Fix overlapping text in dropdown columns */
#_desktop_top_menu .popover.sub-menu .row,
#_desktop_top_menu .popover.sub-menu ul {
  display: flex !important;
  flex-wrap: wrap !important;
}
#_desktop_top_menu .popover.sub-menu li {
  flex: 0 0 50%% !important;
  max-width: 50%% !important;
  list-style: none !important;
}

/* --- CMS PAGES: Clean readability --- */
.page-cms #content {
  background: #0a0a0a !important;
  color: rgba(255,255,255,0.8) !important;
}
.page-cms .page-content,
.page-cms #cms-content {
  color: rgba(255,255,255,0.8) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.page-cms .page-content h1,
.page-cms .page-content h2,
.page-cms .page-content h3 {
  color: #C5A059 !important;
  font-family: "Playfair Display", "Cormorant Garamond", serif !important;
}
.page-cms .page-content p {
  color: rgba(255,255,255,0.75) !important;
}
.page-cms .page-content a {
  color: #C5A059 !important;
}
.page-cms .page-content img {
  border-radius: 8px !important;
  margin: 16px 0 !important;
}

/* --- SIDEBAR on inner pages: clean dark look --- */
#left-column {
  background: transparent !important;
}
#left-column .block-categories,
#left-column .faceted-search {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
  padding: 16px !important;
}
#left-column a {
  color: rgba(255,255,255,0.7) !important;
}
#left-column a:hover {
  color: #C5A059 !important;
}

/* --- CATEGORY PAGES: Clean product grid --- */
#category #content-wrapper {
  background: #0a0a0a !important;
}

/* --- FIX: Header nav bar on ALL pages --- */
.header-nav {
  background: rgba(10,10,10,0.95) !important;
  border-bottom: 1px solid rgba(197,160,89,0.1) !important;
}

/* --- DROPDOWN MENU FIX: Better column spacing --- */
#_desktop_top_menu .popover.sub-menu {
  min-width: 600px !important;
  padding: 24px 20px !important;
}
#_desktop_top_menu .popover.sub-menu ul {
  column-count: 2 !important;
  column-gap: 40px !important;
  display: block !important;
}
#_desktop_top_menu .popover.sub-menu li {
  flex: none !important;
  max-width: none !important;
  break-inside: avoid !important;
  padding: 4px 0 !important;
}
#_desktop_top_menu .popover.sub-menu a {
  font-size: 12px !important;
  padding: 6px 12px !important;
  white-space: normal !important;
}

/* --- FIX: Sidebar block title white bar --- */
.block-categories .block_title,
#left-column .block_title,
.block .block_title {
  background: #141414 !important;
  color: rgba(255,255,255,0.5) !important;
  border: none !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
}

/* --- CATEGORY PAGES: Fix white boxes & elements --- */

/* Sort/filter bar */
.products-sort-order,
.products-selection,
#js-product-list-top {
  padding-top: 20px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,0.7) !important;
}
.products-selection .total-products {
  color: rgba(255,255,255,0.5) !important;
}
.products-sort-order select,
.products-sort-order .select-title {
  background: #141414 !important;
  color: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

/* Product cards */
.thumbnail-container {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}
.thumbnail-container:hover {
  border-color: rgba(197,160,89,0.3) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
  transform: translateY(-2px) !important;
}
.product-thumbnail {
  background: rgba(255,255,255,0.03) !important;
}
.product-thumbnail img {
  mix-blend-mode: normal !important;
}
.product-description {
  background: transparent !important;
  padding: 12px 12px 16px !important;
}
.product-title,
.product-title a {
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.9rem !important;
}
.product-price-and-shipping,
.price {
  color: #C5A059 !important;
}

/* Wishlist button */
.wishlist-button-add {
  background: rgba(0,0,0,0.5) !important;
  border: none !important;
  color: rgba(255,255,255,0.6) !important;
}
.wishlist-button-add:hover {
  color: #C5A509 !important;
}

/* Pagination */
.pagination {
  background: transparent !important;
  border: none !important;
}
.pagination a,
.pagination li {
  background: rgba(255,255,255,0.03) !important;
  color: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}
.pagination .current a,
.pagination .active a {
  background: #C5A059 !important;
  color: #0a0a0a !important;
  border-color: #C5A509 !important;
}

/* --- MON COMPTE DROPDOWN --- */
#user-info .dropdown-menu,
#_desktop_user_info .dropdown-menu,
.user-info .dropdown-menu,
.block-myaccount .dropdown-menu,
.header .dropdown-menu,
.header-top .dropdown-menu,
#_desktop_myaccount .dropdown-menu,
#_desktop_myaccount .myaccount-dropdown,
.header .popover,
.header-top .popover {
  background: #111 !important;
  border: 1px solid rgba(197,160,89,0.15) !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.6) !important;
}
#user-info .dropdown-menu a,
#_desktop_user_info .dropdown-menu a,
.user-info .dropdown-menu a,
.block-myaccount .dropdown-menu a,
.header .dropdown-menu a,
.header-top .dropdown-menu a,
#_desktop_myaccount .dropdown-menu a {
  color: rgba(255,255,255,0.8) !important;
  padding: 8px 16px !important;
  transition: all 0.2s ease !important;
}
#user-info .dropdown-menu a:hover,
#_desktop_user_info .dropdown-menu a:hover,
.user-info .dropdown-menu a:hover,
.block-myaccount .dropdown-menu a:hover,
.header .dropdown-menu a:hover,
.header-top .dropdown-menu a:hover,
#_desktop_myaccount .dropdown-menu a:hover {
  background: rgba(197,160,89,0.1) !important;
  color: #C5A509 !important;
}

/* --- SIDEBAR CATEGORY LINKS: Remove green --- */
#left-column a,
#left-column .block-categories a,
#left-column .category-sub-menu a,
#left-column .block-categories li a,
.block-categories .category-sub-menu a,
.faceted-search a,
#left-column .faceted-search a {
  color: rgba(255,255,255,0.7) !important;
}
#left-column a:hover,
#left-column .block-categories a:hover,
.block-categories .category-sub-menu a:hover,
.faceted-search a:hover {
  color: #C5A059 !important;
}

/* --- CATEGORY PAGE: Misc fixes --- */
#category-description {
  background: transparent !important;
  color: rgba(255,255,255,0.7) !important;
}
#content-wrapper,
#main {
  background: #0a0a0a !important;
}
#content,
#left-column,
#right-column {
  background: transparent !important;
}
.breadcrumb {
  background: transparent !important;
}
.breadcrumb li,
.breadcrumb a,
.breadcrumb span {
  color: rgba(255,255,255,0.5) !important;
}
.breadcrumb a:hover {
  color: #C5A059 !important;
}
.faceted-search {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
}
.faceted-search .facet-title,
.faceted-search .title {
  color: rgba(255,255,255,0.6) !important;
}
.faceted-search .facet-label {
  color: rgba(255,255,255,0.7) !important;
}

/* --- ALL BUTTONS: Gold theme --- */
.btn-primary {
  background: #C5A059 !important;
  border-color: #C5A059 !important;
  color: #0a0a0a !important;
}
.btn-primary:hover {
  background: #d4af60 !important;
  border-color: #d4af60 !important;
}
a.add-to-cart,
.add-to-cart {
  background: #C5A059 !important;
  color: #0a0a0a !important;
  border: none !important;
  border-radius: 6px !important;
}

/* --- MON COMPTE DROPDOWN: Fix white background --- */
#_desktop_user_info .user-info,
.user-info {
  background: #111 !important;
  border: 1px solid rgba(197,160,89,0.15) !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.6) !important;
  padding: 12px !important;
}
#_desktop_user_info .user-info a,
.user-info a {
  color: rgba(255,255,255,0.8) !important;
}
#_desktop_user_info .user-info a:hover,
.user-info a:hover {
  color: #C5A059 !important;
}
#_desktop_user_info .user-info .logout,
.user-info .logout {
  color: rgba(255,255,255,0.5) !important;
}

/* ===== FIX: Dropdown menu hover - show submenu on hover ===== */
#_desktop_top_menu .top-menu > li.category:hover > .popover.sub-menu {
  display: block !important;
}
#_desktop_top_menu .top-menu > li.category > .popover.sub-menu {
  top: 100%;
  margin-top: 0;
  padding-top: 5px;
}
#_desktop_top_menu .top-menu > li.category {
  position: relative;
}

  
  
  
  
  
  
  
  
.products-sort-order.dropdown {
  z-index: 2;
}

/* ===== FIX: Category page content behind fixed header ===== */
body.page-category #wrapper {
  padding-top: 210px !important;
}

/* === FIX: Dropdown hover gap - bridge the gap so menu doesn't close === */
#_desktop_top_menu .top-menu > li.category {
  padding-bottom: 12px !important;
  margin-bottom: -12px !important;
}
#_desktop_top_menu .top-menu > li.category > .popover.sub-menu {
  top: 100% !important;
  margin-top: 0 !important;
}

/* === FIX: PRODUITS link should not navigate to homepage === */
#_desktop_top_menu .top-menu > li.category > a[href$="/fr/"],
#_desktop_top_menu .top-menu > li.category > a[href="https://ideelumiere.ch/fr/"] {
  pointer-events: none !important;
  cursor: default !important;
}
/* But keep the li itself hoverable */
#_desktop_top_menu .top-menu > li.category {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* === FIX: Sort bar / products-selection - contained and premium === */
.products-selection,
#js-product-list-top {
  background: rgba(20, 20, 20, 0.8) !important;
  border: 1px solid rgba(197, 160, 89, 0.1) !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
}
.products-selection .showing,
.products-selection .products-sort-order,
.products-selection label,
.products-selection .sort-by,
.total-products {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 13px !important;
}
.products-selection .sort-by-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.products-selection select,
.products-selection .select-title {
  background: #1a1a1a !important;
  color: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(197, 160, 89, 0.15) !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
}
.products-selection .grid-list-btn,
.products-selection .display-mode {
  color: rgba(255, 255, 255, 0.4) !important;
}
.products-selection .grid-list-btn:hover,
.products-selection .display-mode a:hover {
  color: #C5A059 !important;
}

/* === FIX: Category page breadcrumb spacing === */
#category .breadcrumb {
  padding-top: 10px !important;
}

/* === FIX: Sort dropdown menu white background === */
.products-sort-order .dropdown-menu,
.products-selection .dropdown-menu {
  background: #1a1a1a !important;
  border: 1px solid rgba(197, 160, 89, 0.15) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}
.products-sort-order .select-list,
.products-selection .select-list {
  color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
  padding: 8px 16px !important;
}
.products-sort-order .select-list:hover,
.products-selection .select-list:hover {
  color: #C5A059 !important;
  background: rgba(197, 160, 89, 0.08) !important;
}

/* === FIX: Two-column layout for Espace Pro/Particulier pages === */
.cms-id-9 div[style*='max-width:900px'],
.cms-id-8 div[style*='max-width:900px'] {
  display: flex !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
.cms-id-9 div[style*='max-width:900px'] > div,
.cms-id-8 div[style*='max-width:900px'] > div {
  flex: 1 !important;
  min-width: 280px !important;
  max-width: 420px !important;
  
  /* === FIX: Brand logos - bigger display === */
  section.brands .brand_grid.product_list,
  section.brands #brand-grid {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      gap: 40px !important;
      list-style: none !important;
      padding: 0 !important;
  }
  section.brands .product_item {
      width: auto !important;
      flex: 0 0 auto !important;
      text-align: center !important;
  }
  section.brands .brand-image {
      width: 180px !important;
      height: 180px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: rgba(255,255,255,0.95) !important;
      border-radius: 12px !important;
      padding: 20px !important;
      transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }
  section.brands .brand-image:hover {
      transform: translateY(-4px) !important;
      box-shadow: 0 8px 24px rgba(197,160,89,0.2) !important;
  }
  section.brands .brand-image img {
      width: 100% !important;
      height: 100% !important;
      max-width: 140px !important;
      max-height: 140px !important;
      object-fit: contain !important;
  }
  section.brands .product-title {
      margin-top: 12px !important;
      display: block !important;
  }
  section.brands .product-title .product-name {
      color: var(--il-text-muted) !important;
      font-size: 14px !important;
      font-family: var(--il-font-sans) !important;
  }
  
  /* === FIX: Header scroll overlap === */
  header {
      background: var(--il-bg) !important;
      width: 100% !important;
  }
  header .header-banner {
      background: var(--il-bg) !important;
  }
  header .header-nav {
      background: var(--il-bg) !important;
      position: relative !important;
      z-index: 1001 !important;
  }
  header .header-top {
      background: var(--il-bg) !important;
      position: relative !important;
      z-index: 1000 !important;
  }
  header .nav-bar {
      background: static(--il-bg-card) !important;
      position: relative !important;
      z-index: 999 !important;
      border-top: 1px solid var(--il-border) !important;
      border-bottom: 1px solid var(--il-border) !important;
    /* === FIX: Nav-bar .fixed class override === */
    .nav-bar.fixed,
    header .nav-bar.fixed {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        z-index: auto !important;
    }
  }
  
  /* === FIX: Override .nav-bar.fixed from theme.css === */
  @media (min-width: 768px) {
    .nav-bar.fixed {
          position: static !important;
          top: auto !important;
          left: auto !important;
          right: auto !important;
          width: 100% !important;
          z-index: auto !important;
    }
  }
    }
  }

/* === FIX: Remove white band - force dark background everywhere === */
#header,
#header .header-top,
.header-top .container,
#wrapper,
#content-wrapper,
.page-home,
.page-home #content,
#content {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
}

/* === Custom luminous cursor === */
.il-cursor-glow {
    position: fixed;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197,160,89,0.8) 0%, rgba(197,160,89,0.3) 40%, transparent 70%);
    pointer-events: none;
    z-index: 99999;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s;
    mix-blend-mode: screen;
    box-shadow: 0 0 15px 5px rgba(197,160,89,0.3), 0 0 30px 10px rgba(197,160,89,0.1);
}
body {
    cursor: none !important;
}
body a, body button, body input, body select, body textarea {
    cursor: none !important;
}
}
}
}
}