/* ==========================================
   LOVING KUSTOM - CUSTOM CSS CLEAN
   ========================================== */

/* =========================
   FOND GLOBAL DU SITE
   ========================= */

body,
#wrapper,
#main,
.page-content,
#content-wrapper {
  background: #111111 !important;
}

/* =========================
   HEADER GENERAL
   ========================= */

#header,
#header .header-top,
#header .header-nav,
#header .header-banner,
#header .container,
#header .row {
  background: #111111 !important;
  border: none !important;
  box-shadow: none !important;
}

#header {
  margin-bottom: 18px !important;
}

/* =========================
   TOP BAR : retire contact
   ========================= */

#header .header-nav .left-nav,
#header .header-nav .contact-link,
#header .header-nav .hidden-sm-down.text-xs-left,
#header .header-nav .col-md-6:first-child,
#header .header-nav .col-sm-6:first-child,
#header .header-nav .col-xs-12:first-child {
  display: none !important;
}

#header .header-nav .container,
#header .header-nav .row,
#header .header-nav .right-nav,
#header .header-nav .text-xs-right,
#header .header-nav .col-md-6:last-child,
#header .header-nav .col-sm-6:last-child,
#header .header-nav .col-xs-12:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

#header .header-nav .right-nav,
#header .header-nav .text-xs-right,
#header .header-nav .col-md-6:last-child,
#header .header-nav .col-sm-6:last-child,
#header .header-nav .col-xs-12:last-child {
  width: 100% !important;
  gap: 18px !important;
}

/* =========================
   HEADER TOP
   ligne dorée entre top bar et menu
   ========================= */

#header .header-top {
  padding-top: 10px !important;
  padding-bottom: 6px !important;
  border-top: 1px solid #C7A762 !important;
}

/* retire la recherche */
#search_widget,
#header .search-widget,
#header #search_widget {
  display: none !important;
}

#header .header-top .container > .row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
}

/* =========================
   LOGO
   ========================= */

#_desktop_logo {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-right: 34px !important;
}

#header .logo {
  display: block !important;
  max-height: 140px !important;
  width: auto !important;
}

/* =========================
   MENU PRINCIPAL
   ========================= */

#_desktop_top_menu {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}

#_desktop_top_menu .top-menu[data-depth="0"] {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#_desktop_top_menu .top-menu[data-depth="0"] > li {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

#_desktop_top_menu .top-menu[data-depth="0"] > li > a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #F8F6F3 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
  padding: 10px 0 12px !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: color 0.25s ease !important;
}

/* soulignement doré */
#_desktop_top_menu .top-menu[data-depth="0"] > li > a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background: #C7A762 !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.25s ease !important;
}

/* hover + actif */
#_desktop_top_menu .top-menu[data-depth="0"] > li > a:hover,
#_desktop_top_menu .top-menu[data-depth="0"] > li:hover > a,
#_desktop_top_menu .top-menu[data-depth="0"] > li.current > a,
#_desktop_top_menu .top-menu[data-depth="0"] > li.active > a {
  color: #C7A762 !important;
}

#_desktop_top_menu .top-menu[data-depth="0"] > li > a:hover::after,
#_desktop_top_menu .top-menu[data-depth="0"] > li:hover > a::after,
#_desktop_top_menu .top-menu[data-depth="0"] > li.current > a::after,
#_desktop_top_menu .top-menu[data-depth="0"] > li.active > a::after {
  transform: scaleX(1) !important;
}

/* =========================
   SOUS-MENU
   ========================= */

#_desktop_top_menu .sub-menu,
#_desktop_top_menu .popover {
  min-width: 320px !important;
  width: auto !important;
  max-width: 420px !important;
  padding: 14px 18px !important;
  background: #111111 !important;
  border: 1px solid #C7A762 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#_desktop_top_menu .sub-menu ul,
#_desktop_top_menu .popover ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .sub-menu li,
#_desktop_top_menu .popover li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .sub-menu a,
#_desktop_top_menu .popover a {
  display: block !important;
  width: 100% !important;
  padding: 8px 0 !important;
  color: #F8F6F3 !important;
  background: transparent !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

#_desktop_top_menu .sub-menu a:hover,
#_desktop_top_menu .popover a:hover {
  color: #C7A762 !important;
}

#_desktop_top_menu .sub-menu .top-menu[data-depth="1"] > li,
#_desktop_top_menu .popover .top-menu[data-depth="1"] > li,
#_desktop_top_menu .sub-menu .js-top-menu-bottom > li {
  float: none !important;
  width: 100% !important;
  clear: both !important;
}

#_desktop_top_menu .popover .top-menu {
  display: block !important;
  width: 100% !important;
}

#_desktop_top_menu .sub-menu {
  left: 0 !important;
  top: 100% !important;
}

/* =========================
   MON COMPTE
   ========================= */

#_desktop_user_info,
#header .user-info {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

#_desktop_user_info a,
#header .user-info a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0 !important;
  color: transparent !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

/* masque le contenu d'origine */
#_desktop_user_info a *,
#header .user-info a * {
  display: none !important;
}

/* icône compte */
#_desktop_user_info a::before,
#header .user-info a::before {
  content: "\E7FD" !important;
  font-family: "Material Icons" !important;
  font-size: 24px !important;
  color: #F8F6F3 !important;
  line-height: 1 !important;
  display: inline-block !important;
  position: relative !important;
  top: 1px !important;
}

/* texte compte */
#_desktop_user_info a::after,
#header .user-info a::after {
  content: "Mon compte" !important;
  font-size: 14px !important;
  color: #F8F6F3 !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* =========================
   PANIER
   ========================= */

#header .blockcart,
#header .blockcart .header,
#header .blockcart .cart-preview,
#header .blockcart a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
  min-height: 24px !important;
}

/* masque les textes du panier */
#header .blockcart .hidden-sm-down,
#header .blockcart .text,
#header .blockcart span.label,
#header .blockcart span.cart-title {
  display: none !important;
}

/* supprime toute icône injectée en CSS */
#header .blockcart a::before,
#header .blockcart .cart-preview::before {
  content: none !important;
  display: none !important;
}

/* garde l’icône native */
#header .blockcart i,
#header .blockcart .material-icons,
#header .blockcart .shopping-cart {
  display: inline-block !important;
  font-size: 24px !important;
  color: #F8F6F3 !important;
  line-height: 1 !important;
  position: relative !important;
  top: 3px !important;
  vertical-align: middle !important;
}

/* pastille rouge */
#header .blockcart .cart-products-count {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -8px !important;
  right: -10px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  background: #B5121B !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  z-index: 5 !important;
}

/* =========================
   HOVER GLOBAL DROITE
   ========================= */

#_desktop_user_info a:hover::before,
#_desktop_user_info a:hover::after,
#header .user-info a:hover::before,
#header .user-info a:hover::after,
#header .blockcart a:hover i,
#header .blockcart a:hover .material-icons,
#header .blockcart .cart-preview:hover i,
#header .blockcart .cart-preview:hover .material-icons,
#header .header-nav a:hover {
  color: #C7A762 !important;
}

/* =========================
   RESPONSIVE DESKTOP
   ========================= */

@media (max-width: 1399px) and (min-width: 992px) {
  #header .logo {
    max-height: 120px !important;
  }

  #_desktop_top_menu .top-menu[data-depth="0"] {
    gap: 24px !important;
  }

  #_desktop_top_menu .top-menu[data-depth="0"] > li > a {
    font-size: 13px !important;
  }
}

@media (max-width: 1350px) {
  #_desktop_top_menu .top-menu[data-depth="0"] {
    gap: 30px !important;
  }

  #_desktop_top_menu .top-menu[data-depth="0"] > li > a {
    font-size: 13px !important;
  }
}
/* ==========================================
   HEADER STICKY
   ========================================== */

#header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

/* garde un fond propre quand on scroll */
#header,
#header .header-top,
#header .header-nav {
  background: #111111 !important;
}

/* évite les effets visuels au scroll */
#header {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important;
}

/* sécurité desktop */
@media (max-width: 991px) {
  #header {
    position: relative !important;
  }
}
/* ==========================================
   MOBILE FINAL CLEAN (SANS CONFLITS)
   ========================================== */
@media (max-width: 991px) {

  /* ===== RESET ===== */
  #header * {
    float: none !important;
  }

  #header,
  #header .header-nav,
  #header .header-top {
    background: #111111 !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* ===== CACHE DESKTOP ===== */
  #_desktop_logo,
  #_desktop_top_menu,
  #search_widget,
  #_mobile_contact_link,
  #_mobile_currency_selector,
  #_mobile_language_selector {
    display: none !important;
  }

  /* ===== STRUCTURE ===== */
  #header .header-nav .mobile {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 10px 8px !important;
  }

  /* ===== LOGO (GAUCHE) ===== */
  #_mobile_logo {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
  }

  #_mobile_logo img {
    max-height: 26px !important; /* logo réduit */
    width: auto !important;
  }

  /* ===== COMPTE ===== */
  #_mobile_user_info {
    order: 2 !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
  }

  #_mobile_user_info a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0 !important;
    text-decoration: none !important;
  }

  #_mobile_user_info a * {
    display: none !important;
  }

  #_mobile_user_info a::before {
    content: "\E7FD";
    font-family: "Material Icons";
    font-size: 18px;
    color: #F8F6F3;
  }

  #_mobile_user_info a::after {
    content: "Mon compte";
    font-size: 13px;
    color: #F8F6F3;
  }

  /* ===== PANIER ===== */
  #_mobile_cart {
    order: 3 !important;
    margin-left: 12px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }

  #_mobile_cart .text,
  #_mobile_cart .label {
    display: none !important;
  }

  #_mobile_cart i {
    font-size: 20px !important;
    color: #F8F6F3 !important;
  }

  #_mobile_cart .cart-products-count {
    position: absolute !important;
    top: -6px !important;
    right: -8px !important;
    background: #B5121B !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    padding: 2px 5px !important;
  }

  /* ===== BURGER ===== */
  #menu-icon {
    order: 4 !important;
    margin-left: 12px !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
  }

  #menu-icon i {
    font-size: 26px !important;
    color: #F8F6F3 !important;
    transition: 0.2s !important;
  }

  #menu-icon:hover i {
    color: #C7A762 !important;
  }

  /* ===== MENU MOBILE (IMPORTANT FIX) ===== */
  #mobile_top_menu_wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    background: #111111 !important;
  }

  #mobile_top_menu_wrapper.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 12px 16px !important;
  }

  /* ===== STYLE MENU ===== */
  #mobile_top_menu_wrapper .top-menu a {
    color: #F8F6F3 !important;
    text-decoration: none !important;
  }

  #mobile_top_menu_wrapper .top-menu a:hover,
  #mobile_top_menu_wrapper .top-menu .active > a {
    color: #C7A762 !important;
  }

  /* ===== LIGNE DORÉE ===== */
  #header .header-top {
    border-top: 1px solid #C7A762 !important;
  }
}
/* ===== FIX FOND SOUS-MENU MOBILE ===== */
@media (max-width: 991px) {

  #mobile_top_menu_wrapper .sub-menu,
  #mobile_top_menu_wrapper .popover,
  #mobile_top_menu_wrapper ul {
    background: #111111 !important;
  }

  #mobile_top_menu_wrapper .sub-menu a {
    color: #F8F6F3 !important;
  }

  #mobile_top_menu_wrapper .sub-menu a:hover {
    color: #C7A762 !important;
  }

}
#_mobile_logo img {
  max-height: 28px !important;
  transform: scale(0.9);
}
/* ==========================================
   FOOTER LOVING KUSTOM - FINAL
   ========================================== */

.lk-footer,
.lk-footer .container,
.lk-footer-top,
.lk-footer-bottom {
  background: #111111 !important;
}

.lk-footer {
  border-top: 1px solid #C7A762 !important;
  margin-top: 40px !important;
  padding-top: 28px !important;
  padding-bottom: 18px !important;
  color: #F8F6F3 !important;
}

.lk-footer * {
  box-sizing: border-box;
}

.lk-footer a,
.lk-footer p,
.lk-footer li,
.lk-footer div,
.lk-footer span,
.lk-footer h4 {
  color: #F8F6F3 !important;
  opacity: 1 !important;
}

.lk-footer a {
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}

.lk-footer a:hover {
  color: #C7A762 !important;
}

.lk-footer-top {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1fr 1fr !important;
  gap: 40px !important;
  align-items: start !important;
}

.lk-footer-col h4 {
  color: #C7A762 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  margin: 0 0 18px !important;
}

.lk-footer-col p {
  margin: 0 0 18px !important;
  line-height: 1.7 !important;
  max-width: 260px !important;
}

.lk-footer-col ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lk-footer-col ul li {
  margin-bottom: 10px !important;
  line-height: 1.6 !important;
}

/* Réseaux sociaux */
.lk-socials {
  display: flex !important;
  gap: 18px !important;
  align-items: center !important;
  margin-top: 10px !important;
}

.lk-social {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  color: #F8F6F3 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: color 0.25s ease, transform 0.2s ease !important;
}

.lk-social span {
  display: none !important;
}

.lk-social svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor !important;
  display: block !important;
}

.lk-social:hover {
  color: #C7A762 !important;
  transform: translateY(-1px) !important;
}

/* Bas de footer */
.lk-footer-bottom {
  margin-top: 28px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(199, 167, 98, 0.35) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
}

.lk-footer-copy {
  color: #F8F6F3 !important;
  opacity: 1 !important;
}

.lk-footer-legal {
  display: flex !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.lk-footer-legal a {
  color: #F8F6F3 !important;
}

/* Mobile */
@media (max-width: 991px) {
  .lk-footer-top {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .lk-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }
}
/* ==========================================
   HOMEPAGE CUSTOM SOUS HOOK_HOME
   ========================================== */

.lk-home-custom {
  background: #111111;
  color: #F8F6F3;
  padding: 34px 0 40px;
}

.lk-home-hero,
.lk-home-project {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 32px;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto 34px;
  padding: 0 18px;
}

.lk-home-kicker {
  color: #C7A762;
  font-size: 12px;
  margin-bottom: 10px;
}

.lk-home-hero h2,
.lk-home-project h2,
.lk-section-head h2 {
  color: #C7A762;
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 14px;
}

.lk-home-hero p,
.lk-home-project p,
.lk-section-head p {
  color: #F8F6F3;
  line-height: 1.7;
  margin: 0 0 14px;
}

.lk-btn-red {
  display: inline-block;
  background: #B5121B;
  color: #F8F6F3 !important;
  text-decoration: none;
  padding: 9px 16px;
  border-radius: 4px;
  font-size: 12px;
  transition: background 0.25s ease, color 0.25s ease;
}

.lk-btn-red:hover {
  background: #8f1017;
  color: #F8F6F3 !important;
}

.lk-home-section {
  max-width: 1320px;
  margin: 0 auto 34px;
  padding: 28px 18px 0;
  border-top: 1px solid #C7A762;
}

.lk-section-head {
  margin-bottom: 18px;
}

.lk-card-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.lk-card {
  background: #1a1a1a;
  border: 1px solid #C7A762;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.28);
}

.lk-card__image,
.lk-image-placeholder {
  background: #e9e6e3;
  color: #777;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.lk-card__image {
  height: 170px;
  border-bottom: 1px solid rgba(199,167,98,0.45);
}

.lk-card__body {
  padding: 14px 12px 12px;
}

.lk-card__body h3 {
  color: #F8F6F3;
  font-size: 14px;
  margin: 0 0 8px;
}

.lk-card__body p {
  color: #F8F6F3;
  opacity: 0.9;
  font-size: 12px;
  line-height: 1.55;
  margin: 0 0 10px;
}

.lk-card__price {
  color: #B5121B;
  font-weight: 700;
  font-size: 13px;
}

.lk-image-placeholder--hero {
  min-height: 520px;
  border: 1px solid #C7A762;
  border-radius: 6px;
}

.lk-image-placeholder--project {
  min-height: 340px;
  border: 1px solid #C7A762;
  border-radius: 6px;
}

@media (max-width: 1199px) {
  .lk-card-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .lk-home-hero,
  .lk-home-project {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .lk-card-row {
    grid-template-columns: 1fr;
  }

  .lk-home-custom {
    padding-top: 20px;
  }

  .lk-home-hero,
  .lk-home-project,
  .lk-home-section {
    padding-left: 14px;
    padding-right: 14px;
  }

  .lk-image-placeholder--hero {
    min-height: 320px;
  }

  .lk-image-placeholder--project {
    min-height: 260px;
  }
}