/* =============================================
   FS-EXHAUST DARK THEME v58 — UNIFIED
   All patches (fix1–fix4, navbar premium, hero
   dramatic, accessories, process, animations)
   merged into a single clean file.
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Oswald:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --bg: #0e0f11;
  --bg2: #121316;
  --bg3: #171a1d;
  --bg4: #1c1f22;
  --card: #161819;
  --card2: #1c1e21;
  --red: #be1e1e;
  --red-h: #9e1818;
  --red-glow: rgba(190,30,30,.25);
  --w: #fff;
  --g1: #d0d0d0;
  --g2: #a0a0a0;
  --g3: #777;
  --g4: #555;
  --g5: #3a3a3a;
  --g6: #2a2a2a;
  --g7: #1d2023;
  --gold: #d4a853;
  --line: rgba(255,255,255,.09);
  --hf: 'Oswald', 'Arial Narrow', sans-serif;
  --bf: 'Inter', -apple-system, sans-serif;
}

/* ==========  NOISE TEXTURE  ========== */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .08;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px;
}

/* ==========  GLOBAL  ========== */
* { box-sizing: border-box }
body { background: var(--bg) !important; color: var(--w) !important; font-family: var(--bf) !important; -webkit-font-smoothing: antialiased; margin: 0; line-height: 1.6; position: relative }
body > main { position: relative; z-index: 1 }
a { color: var(--g1); text-decoration: none; transition: color .2s }
a:hover { color: var(--red); text-decoration: none }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { color: var(--w) !important; font-family: var(--hf) !important; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; margin-top: 0 }
p { color: var(--g2); margin-bottom: 1rem }
::selection { background: var(--red); color: #fff }
img { max-width: 100%; height: auto }
::-webkit-scrollbar { width: 5px }
::-webkit-scrollbar-track { background: var(--bg) }
::-webkit-scrollbar-thumb { background: var(--g5); border-radius: 3px }


/* =============================================
   HEADER — PREMIUM GLASS NAVBAR
   (v40 base + v56 premium merged)
   ============================================= */

.header-banner { display: none !important }
.header-nav, nav.header-nav { display: none !important }

/* === HEADER STRUCTURE — glass effect === */
#header {
  background: rgba(10,10,10,.45) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  max-height: 60px !important;
  overflow: visible !important;
}
#header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 5%, rgba(190,30,30,.5) 50%, transparent 95%);
  z-index: 1001;
}
#header .header-top {
  padding: 0 !important;
  background: transparent !important;
  max-height: 60px !important;
  overflow: visible !important;
}

/* === MAIN ROW === */
#header .header-top .container {
  max-width: 100% !important;
  overflow: visible !important;
  position: relative !important;
}
#header .header-top .container > .row,
#header .header-top .container > .row:first-of-type {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  min-height: 50px !important;
  overflow: visible !important;
}

/* === LOGO — with glow === */
#_desktop_logo {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 180px !important;
  padding: .1rem .8rem .1rem 0 !important;
  overflow: visible !important;
}
#_desktop_logo .logo {
  max-height: 50px !important;
  width: auto !important;
  filter: drop-shadow(0 0 8px rgba(190,30,30,.15));
  transition: filter .3s;
}
#_desktop_logo .logo:hover {
  filter: drop-shadow(0 0 12px rgba(190,30,30,.3));
}
#_desktop_logo h1 { margin: 0 !important; line-height: 1 !important }

/* === MENU === */
.header-top-right {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: visible !important;
}
#_desktop_top_menu {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}
#_desktop_top_menu .top-menu {
  display: flex !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  align-items: center !important;
}
#_desktop_top_menu .top-menu li {
  flex-shrink: 1 !important;
  min-width: 0 !important;
}
.top-menu > li > a { color: var(--g2) !important; font-family: var(--hf) !important; font-weight: 400 !important; text-transform: uppercase !important; letter-spacing: .1em !important; font-size: .82rem !important; padding: .6rem .7rem !important; display: block; transition: color .2s !important; position: relative }
.top-menu > li > a:hover, .top-menu > li.current > a { color: var(--w) !important }
.top-menu > li > a::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 1px; background: var(--red); transition: all .3s; transform: translateX(-50%) }
.top-menu > li > a:hover::after { width: 70% }
.top-menu .sub-menu { background: var(--card2) !important; border: 1px solid var(--g5) !important; box-shadow: 0 12px 40px rgba(0,0,0,.7) }
.top-menu .sub-menu a { color: var(--g2) !important; font-size: .85rem }
.top-menu .sub-menu a:hover { color: var(--w) !important; background: rgba(255,255,255,.04) !important }
#_desktop_top_menu .top-menu .dropdown-item {
  padding: .5rem .7rem !important;
  font-size: .85rem !important;
  white-space: nowrap !important;
}

/* === CONFIGURATEUR BUTTON === */
#top-menu #lnk-configurateur > a {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  color: #fff !important;
  padding: .4rem 1rem !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  font-size: .82rem !important;
  box-shadow: 0 2px 12px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
#top-menu #lnk-configurateur > a:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 4px 20px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}
#top-menu #lnk-configurateur > a::after { display: none !important }

/* === COMPACT HEADER (scroll) === */
#header.fse-header-compact .header-top { padding: .3rem 0 !important }
#header.fse-header-compact .logo { max-height: 100px !important; transition: max-height .3s !important }

/* === RIGHT ACTIONS BAR === */
.fse-header-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  padding-left: .8rem !important;
  white-space: nowrap !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 1001 !important;
}
.fse-header-actions > div {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: visible !important;
}
.fse-header-actions a:hover, .fse-header-actions button:hover, #_desktop_cart .blockcart a:hover, #_desktop_user_info .user-info a:hover { text-shadow: 0 0 8px rgba(190,30,30,.35) !important }
#_desktop_cart .blockcart a:hover i, .fse-loupe:hover i { color: var(--red) !important; text-shadow: 0 0 8px rgba(190,30,30,.4) !important }

/* === SEARCH ICON === */
.fse-header-actions .fse-search-icon { flex-shrink: 0 !important }
.fse-header-actions .fse-loupe {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: .3rem !important;
  color: var(--g3) !important;
  transition: color .2s !important;
}
.fse-header-actions .fse-loupe:hover { color: var(--w) !important }
.fse-header-actions .fse-loupe .material-icons { font-size: 1.15rem !important }

/* === LANGUAGE SELECTOR === */
#_desktop_language_selector {
  display: block !important;
  overflow: visible !important;
}
#_desktop_language_selector .language-selector-wrapper,
#_desktop_language_selector .language-selector {
  overflow: visible !important;
  position: relative !important;
}
#_desktop_language_selector #language-selector-label { display: none !important }
.fse-lang-btn {
  padding: .3rem !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  transition: opacity .2s !important;
}
.fse-lang-btn:hover { opacity: .75 !important }
.fse-flag { width: 22px !important; height: 16px !important; display: block !important; border-radius: 1px !important }
.fse-flag-sm { width: 18px !important; height: 13px !important; border-radius: 1px !important }
#_desktop_language_selector .dropdown-menu {
  background: var(--card2) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 3px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.7) !important;
  min-width: 150px !important;
  padding: .25rem 0 !important;
  margin-top: .4rem !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  z-index: 2000 !important;
  overflow: visible !important;
  display: none;
}
#_desktop_language_selector .dropdown-menu.show,
#_desktop_language_selector .dropdown-menu[style*="display: block"] { display: block !important }
#_desktop_language_selector .dropdown-menu a {
  color: var(--g2) !important;
  font-size: .8rem !important;
  font-family: var(--bf) !important;
  padding: .45rem .75rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  transition: all .15s !important;
  white-space: nowrap !important;
}
#_desktop_language_selector .dropdown-menu a:hover { color: var(--w) !important; background: rgba(255,255,255,.05) !important }
#_desktop_language_selector .dropdown-menu li.current a { color: var(--w) !important }

/* === CURRENCY SELECTOR === */
#_desktop_currency_selector {
  display: block !important;
  overflow: visible !important;
}
#_desktop_currency_selector .currency-selector {
  overflow: visible !important;
  position: relative !important;
}
#_desktop_currency_selector #currency-selector-label { display: none !important }
.fse-currency-btn {
  padding: .3rem .4rem !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  transition: color .2s !important;
}
.fse-currency-btn:hover { opacity: .75 !important }
.fse-currency-sign {
  font-family: var(--bf) !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: var(--g3) !important;
  transition: color .2s !important;
  line-height: 1 !important;
}
.fse-currency-btn:hover .fse-currency-sign { color: var(--w) !important }
#_desktop_currency_selector .dropdown-menu {
  background: var(--card2) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 3px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.7) !important;
  min-width: 100px !important;
  padding: .25rem 0 !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  z-index: 2000 !important;
  overflow: visible !important;
  display: none;
}
#_desktop_currency_selector .dropdown-menu.show,
#_desktop_currency_selector .dropdown-menu[style*="display: block"] { display: block !important }
#_desktop_currency_selector .dropdown-menu a {
  color: var(--g2) !important;
  font-size: .8rem !important;
  padding: .45rem .75rem !important;
  transition: all .15s !important;
  white-space: nowrap !important;
}
#_desktop_currency_selector .dropdown-menu a:hover { color: var(--w) !important; background: rgba(255,255,255,.05) !important }
#_desktop_currency_selector .dropdown-menu li.current a { color: var(--w) !important }

/* === USER/CONNEXION === */
#_desktop_user_info { overflow: visible !important }
#_desktop_user_info .user-info {
  margin: 0 !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
#_desktop_user_info .user-info a {
  display: inline-flex !important;
  align-items: center !important;
  padding: .35rem .8rem !important;
  border: 1px solid var(--g4) !important;
  border-radius: 2px !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--g1) !important;
  background: transparent !important;
  transition: all .25s !important;
  line-height: 1.4 !important;
  max-width: 120px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#_desktop_user_info .user-info a:hover { border-color: var(--w) !important; color: var(--w) !important }
#_desktop_user_info .user-info a i.material-icons { display: none !important }
#_desktop_user_info .user-info .account {
  font-size: .78rem !important;
  padding: .35rem .8rem !important;
  border: 1px solid var(--g5) !important;
  border-radius: 2px !important;
  max-width: 120px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#_desktop_user_info .user-info .account:hover { border-color: var(--w) !important }
#_desktop_user_info .user-info .logout { display: none !important }

/* === CART === */
#_desktop_cart { overflow: visible !important }
#_desktop_cart .blockcart { display: inline-flex !important; align-items: center !important; background: transparent !important; border: none !important; padding: 0 !important; height: auto !important; margin: 0 !important }
#_desktop_cart .blockcart .header { display: flex !important; align-items: center !important; margin: 0 !important; gap: .2rem !important }
#_desktop_cart .blockcart a { display: inline-flex !important; align-items: center !important; gap: .2rem !important; color: var(--g3) !important; padding: .3rem !important; border: none !important; background: none !important; transition: color .2s !important }
#_desktop_cart .blockcart a:hover { color: var(--w) !important }
#_desktop_cart .blockcart i.shopping-cart { display: inline-block !important; font-size: 1.15rem !important; color: inherit !important }
#_desktop_cart .blockcart span.hidden-sm-down { display: none !important }
#_desktop_cart .blockcart .cart-products-count { font-family: var(--hf) !important; font-size: .72rem !important; color: inherit !important }

/* === SEARCH OVERLAY === */
.fse-search-overlay {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  background: var(--bg2) !important;
  border-bottom: 1px solid var(--line) !important;
  padding: .6rem 1rem !important;
  z-index: 2000 !important;
}
.fse-search-overlay.open { display: block !important }
.fse-search-overlay__input {
  width: 100% !important;
  background: var(--g7) !important;
  color: var(--w) !important;
  border: 1px solid var(--g5) !important;
  padding: .5rem .8rem !important;
  font-size: .85rem !important;
  font-family: var(--bf) !important;
  border-radius: 0 !important;
}
.fse-search-overlay__input::placeholder { color: var(--g4) !important }
.fse-search-overlay__close {
  position: absolute !important;
  right: 1.2rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  color: var(--g3) !important;
  cursor: pointer !important;
}
.fse-search-icon { display: flex; align-items: center }

/* === HIDE PS SEARCH === */
#search_widget, .search-widget, .search-widgets,
.header-top-right > .search-widget { display: none !important }

/* === MOBILE MENU — hide on desktop only === */
@media (min-width: 992px) {
  #mobile_top_menu_wrapper {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: -1 !important;
  }
}

/* === HIDE contact link, navfullwidth === */
#_desktop_contact_link { display: none !important }
#hook-displayNavFullWidth, .displayNavFullWidth { display: none !important }

/* === MATERIAL ICONS IN HEADER === */
#header .material-icons { color: var(--g3) !important; line-height: 1 !important }


/* ==========  WRAPPER  ========== */
#wrapper { background: var(--bg) !important; padding-top: 0 !important }
#wrapper .breadcrumb { background: transparent !important; padding: .75rem 0 }
#wrapper .breadcrumb li a { color: var(--g4) !important; font-size: .75rem }
#wrapper .breadcrumb li a:hover { color: var(--red) !important }
.page-home #content { background: transparent !important; border: none; box-shadow: none }


/* ==========  BUTTONS  ========== */
.fse-btn { display: inline-block; padding: .65rem 1.6rem; font-family: var(--hf); font-weight: 500; font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; text-decoration: none !important; transition: all .25s; border-radius: 6px !important; cursor: pointer; text-align: center; line-height: 1.4; position: relative }
.fse-btn--red { background: var(--red) !important; color: #fff !important; border: 2px solid var(--red); box-shadow: 0 4px 20px rgba(100,15,15,.35), inset 0 1px 0 rgba(255,255,255,.08) !important }
.fse-btn--red:hover { background: var(--red-h) !important; border-color: var(--red-h); box-shadow: 0 6px 25px rgba(100,15,15,.45), inset 0 1px 0 rgba(255,255,255,.1) !important; transform: translateY(-1px) !important }
.fse-btn--outline { background: transparent !important; color: var(--g1) !important; border: 1px solid var(--g4); border-radius: 6px !important }
.fse-btn--outline:hover { border-color: var(--g1); color: var(--w) !important; background: rgba(255,255,255,.03) !important; box-shadow: 0 4px 20px rgba(0,0,0,.3); transform: translateY(-1px) }
.fse-btn--dark { background: transparent !important; color: var(--w) !important; border: 1px solid var(--g2) }
.fse-btn--dark:hover { background: var(--w) !important; color: var(--bg) !important; box-shadow: 0 4px 20px rgba(255,255,255,.1); transform: translateY(-1px) }
.fse-btn--sm { padding: .45rem 1.2rem; font-size: .75rem }
.fse-btn--block { width: 100%; display: block }
.btn-primary { background: var(--red) !important; border-color: var(--red) !important; color: #fff !important; font-family: var(--hf) !important; text-transform: uppercase; letter-spacing: .06em }
.btn-primary:hover { background: var(--red-h) !important; border-color: var(--red-h) !important }
.btn-secondary, .btn-tertiary { background: var(--g7) !important; color: var(--g2) !important; border-color: var(--g5) !important }


/* =============================================
   HERO — v58 DRAMATIC
   No glass box. Gradient overlay 85% black.
   Title 3.5rem. Specs bar separated at bottom
   with red luminous bullets.
   ============================================= */
.fse-hero {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: none;
}
.fse-hero__bg { position: absolute; inset: 0; z-index: 0 }
.fse-hero__bgimg { width: 100%; height: 100%; object-fit: cover; object-position: center right; opacity: .55 }
.fse-hero__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,11,13,.88) 0%, rgba(10,11,13,.7) 35%, rgba(10,11,13,.3) 65%, transparent 100%);
  pointer-events: none;
}
.fse-hero .container { position: relative; z-index: 2 }

/* Hero content — NO glass box, text direct on overlay */
.fse-hero__content {
  max-width: 600px;
  padding: 4rem 0 3rem;
}
.fse-hero__title {
  font-family: var(--hf) !important;
  font-style: italic;
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 1.05;
  color: var(--w) !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
  margin-bottom: 1.2rem;
  text-shadow: 0 4px 40px rgba(0,0,0,.7);
}
.fse-hero__sub {
  font-size: .95rem;
  color: var(--g2);
  margin-bottom: 2rem;
  line-height: 1.7;
  max-width: 480px;
  text-shadow: 0 2px 10px rgba(0,0,0,.5);
}
.fse-hero__btns {
  display: flex;
  flex-wrap: nowrap;
  gap: .6rem;
  margin-bottom: 0;
}
.fse-hero__btns .fse-btn--red {
  padding: .65rem 1.6rem !important;
  font-size: .82rem !important;
  box-shadow: 0 4px 25px rgba(190,30,30,.35) !important;
}
.fse-hero__btns .fse-btn--red:hover {
  box-shadow: 0 8px 35px rgba(190,30,30,.5) !important;
}
.fse-hero__btns .fse-btn { white-space: nowrap; border-radius: 6px !important }

/* === SPECS BAR — separated element at bottom of hero === */
.fse-hero__specsbar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  background: linear-gradient(180deg, transparent, rgba(8,9,11,.85) 30%, rgba(8,9,11,.95));
  border-top: 1px solid rgba(255,255,255,.04);
  padding: 1rem 0 .8rem;
}
.fse-hero__specs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 2rem;
  align-items: center;
  justify-content: flex-start;
}
.fse-hero__spec {
  font-family: var(--hf);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--g3);
  display: flex;
  align-items: center;
  gap: .5rem;
}
/* Red luminous bullet before each spec */
.fse-hero__spec::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 6px rgba(190,30,30,.6), 0 0 12px rgba(190,30,30,.3);
  flex-shrink: 0;
}
.fse-hero__spec strong {
  color: var(--g1);
  font-weight: 600;
}

/* Hero responsive */
@media (max-width: 768px) {
  .fse-hero { min-height: 380px }
  .fse-hero__title { font-size: 2.2rem !important }
  .fse-hero__content { padding: 2.5rem 0 2rem; max-width: 100% }
  .fse-hero__sub { font-size: .85rem }
  .fse-hero__specsbar { position: relative; background: rgba(8,9,11,.95) }
  .fse-hero__specs { gap: .4rem 1.2rem }
}


/* ==========  SECTIONS  ========== */
.fse-sect { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; position: relative; margin-bottom: 2.5rem !important }
.fse-sect__title {
  font-family: var(--hf) !important;
  font-weight: 500;
  font-size: 1.5rem;
  text-transform: uppercase;
  text-align: center !important;
  letter-spacing: .1em;
  color: var(--g1) !important;
  margin-bottom: 2.2rem;
  display: block !important;
  width: 100% !important;
  position: relative !important;
  padding-bottom: .6rem !important;
}
.fse-sect__title::before { content: ''; display: block !important; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--g5)) }
.fse-sect__title::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}


/* ==========  PILLARS — merged fix3 values  ========== */
.fse-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  max-width: 1000px;
  margin: 0 auto 1rem !important;
  background: transparent !important;
  border: none !important;
}
.fse-pillar {
  background: linear-gradient(135deg, rgba(18,20,24,.9), rgba(14,16,20,.88)) !important;
  padding: 2.2rem 1.8rem 1.8rem;
  text-align: center;
  position: relative !important;
  transition: all .35s;
  border-radius: 15px !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), 0 1px 12px rgba(160,25,25,.06), inset 0 1px 0 rgba(255,255,255,.04) !important;
  overflow: hidden !important;
}
.fse-pillar::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
.fse-pillar:hover {
  box-shadow: 0 8px 40px rgba(0,0,0,.4), 0 2px 20px rgba(160,25,25,.1), inset 0 1px 0 rgba(255,255,255,.06) !important;
  transform: translateY(-2px) !important;
}
.fse-pillar:hover .fse-pillar__title { color: var(--red) !important }
.fse-pillar__title { font-family: var(--hf) !important; font-size: 1.15rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .7rem; transition: color .3s }
.fse-pillar__desc { font-size: .8rem; color: var(--g3); line-height: 1.7; margin-bottom: 1.3rem }


/* ==========  OPTIONS CARDS — merged fix2/fix3 values  ========== */
.fse-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem !important; max-width: 1000px; margin: 0 auto }
.fse-optcard {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05);
  overflow: hidden !important;
  transition: all .35s;
  position: relative !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), 0 1px 12px rgba(160,25,25,.06) !important;
}
.fse-optcard::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) !important;
  z-index: 2 !important;
}
.fse-optcard:hover {
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 8px 40px rgba(0,0,0,.4), 0 2px 20px rgba(160,25,25,.1) !important;
  transform: translateY(-3px) !important;
}
.fse-optcard:hover .fse-optcard__title { color: var(--red) !important }
.fse-optcard__img { width: 100%; height: 220px; overflow: hidden; position: relative; border-radius: 15px 15px 0 0 !important }
.fse-optcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, opacity .3s; opacity: .7; border-radius: 15px 15px 0 0 !important }
.fse-optcard:hover .fse-optcard__img img { transform: scale(1.05); opacity: .9 }
.fse-optcard__body {
  padding: 1.1rem 1rem 1.4rem;
  text-align: center;
  position: relative;
  z-index: 2;
  border-radius: 0 0 15px 15px !important;
  background: rgba(14,16,20,.95) !important;
}
.fse-optcard__title { font-family: var(--hf) !important; font-size: 1rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .9rem; transition: color .3s }

/* Micro-descriptions under option cards */
.fse-optcard__micro {
  color: var(--g3);
  font-size: .72rem;
  font-family: var(--bf);
  font-style: italic;
  letter-spacing: .02em;
  margin: -.3rem 0 .8rem;
  line-height: 1.4;
}


/* ==========  ENGINEERING PROCESS  ========== */
.fse-process {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  max-width: 1000px;
  margin: 0 auto;
}
.fse-step {
  flex: 1;
  text-align: center;
  padding: 1.5rem 1rem;
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82));
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 15px;
  position: relative;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), 0 1px 12px rgba(160,25,25,.06);
  transition: all .35s;
}
.fse-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15%;
  right: 15%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent);
}
.fse-step:hover {
  box-shadow: 0 8px 40px rgba(0,0,0,.4), 0 2px 20px rgba(160,25,25,.12);
  transform: translateY(-3px);
}
.fse-step__num {
  font-family: var(--hf);
  font-size: .6rem;
  font-weight: 700;
  color: var(--red);
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: .3rem;
}
.fse-step__icon {
  width: 48px;
  height: 48px;
  margin: 0 auto .6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(190,30,30,.12), rgba(190,30,30,.04));
  border: 1px solid rgba(190,30,30,.15);
  border-radius: 50%;
}
.fse-step__icon i { font-size: 1.3rem; color: var(--red) }
.fse-step:hover .fse-step__icon {
  background: linear-gradient(135deg, rgba(190,30,30,.2), rgba(190,30,30,.08));
  border-color: rgba(190,30,30,.3);
}
.fse-step__title {
  font-family: var(--hf);
  font-size: .85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--w);
  margin-bottom: .4rem;
}
.fse-step:hover .fse-step__title { color: var(--red) !important }
.fse-step__desc { font-size: .72rem; color: var(--g3); line-height: 1.6; margin: 0 }
.fse-step__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem .2rem 0;
  color: var(--g5);
  font-size: 1.2rem;
  flex-shrink: 0;
}
.fse-step__arrow i { font-size: 1.4rem }

@media (max-width: 768px) {
  .fse-process { flex-direction: column; gap: .8rem }
  .fse-step__arrow { display: none }
  .fse-step { padding: 1.2rem }
}


/* ==========  MODELS — merged fix2/fix3 values  ========== */
.fse-filters { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; margin-bottom: 1.8rem }
.fse-ftag { background: rgba(255,255,255,.03); color: var(--g3); border: 1px solid rgba(255,255,255,.06); border-radius: 2px; padding: .3rem .7rem; font-size: .7rem; font-family: var(--bf); cursor: pointer; transition: all .25s }
.fse-ftag:hover { border-color: var(--g3); color: var(--w); background: rgba(255,255,255,.06) }
.fse-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem !important; max-width: 1000px; margin: 0 auto }
.fse-mcard {
  display: block;
  text-decoration: none !important;
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05);
  overflow: hidden !important;
  transition: all .3s;
  position: relative !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), 0 1px 12px rgba(160,25,25,.06), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.fse-mcard::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
  z-index: 2 !important;
}
.fse-mcard:hover {
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 8px 40px rgba(0,0,0,.4), 0 2px 20px rgba(160,25,25,.12) !important;
  transform: translateY(-3px) !important;
}
.fse-mcard__img { height: 200px; overflow: hidden; border-radius: 15px 15px 0 0 !important }
.fse-mcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; opacity: .8; border-radius: 15px 15px 0 0 !important }
.fse-mcard:hover .fse-mcard__img img { transform: scale(1.05); opacity: 1 }
.fse-mcard__body {
  padding: .9rem;
  border-radius: 0 0 15px 15px !important;
  background: rgba(14,16,20,.95) !important;
}
.fse-mcard__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .8rem; align-items: baseline }
.fse-mcard__tag { font-size: .68rem; font-weight: 500; text-transform: uppercase; padding: .15rem .45rem; border-radius: 1px; letter-spacing: .04em }
.fse-mcard__tag--cc { font-family: var(--hf); font-style: italic; font-size: .95rem; font-weight: 700; color: var(--w); padding: 0; background: none }
.fse-mcard__tag--label { color: var(--g3); font-weight: 400 }
.fse-mcard__tag--badge { background: var(--gold); color: var(--bg); font-weight: 700 }
.fse-mcard__tag--new { background: var(--red); color: #fff }
.fse-mcard__name { display: block; color: var(--w); font-family: var(--hf); font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; margin-top: .4rem }
.fse-mcard__price { display: block; color: var(--red); font-family: var(--hf); font-size: 1.1rem; font-weight: 700; margin-top: .2rem }
.fse-mcard__placeholder { width: 100%; height: 200px; background: linear-gradient(155deg, #18191d, #1f2226 40%, #1a1c20); display: flex; align-items: center; justify-content: center; border-radius: 15px 15px 0 0 !important }
.fse-mcard__placeholder span { color: var(--g5); font-family: var(--hf); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em }
.fse-mcard--soon { opacity: .5 }


/* ==========  ACCESSORIES TAGS  ========== */
.fse-accessories {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
}
.fse-acc-tag {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.8));
  color: var(--g2);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 6px;
  padding: .5rem 1.2rem;
  font-family: var(--hf);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: none;
  transition: all .3s;
  box-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.fse-acc-tag:hover {
  border-color: var(--red);
  color: var(--w);
  box-shadow: 0 4px 20px rgba(0,0,0,.3), 0 1px 8px rgba(160,25,25,.1);
  transform: translateY(-2px);
}


/* ==========  MARKETPLACE — merged fix2 values  ========== */
.fse-mp {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  position: relative;
  margin-bottom: 2rem !important;
}
.fse-mp::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(40,40,45,.3), transparent 70%); pointer-events: none }
.fse-mp .container { position: relative; z-index: 2 }
.fse-mp__inner {
  display: flex;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
  gap: 2rem;
  border-radius: 15px !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), 0 1px 12px rgba(160,25,25,.06) !important;
  overflow: hidden !important;
  position: relative !important;
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.7)) !important;
}
.fse-mp__inner::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
  z-index: 2 !important;
}
.fse-mp__side { flex: 1 }
.fse-mp__center { flex: 1.5; text-align: center }
.fse-mp__center img { border-radius: 0 !important }
.fse-mp__label { font-family: var(--hf); font-weight: 500; font-style: italic; font-size: .95rem; color: var(--g1); margin-bottom: 1rem }


/* ==========  SCROLL ANIMATIONS  ========== */
.fse-anim {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity .6s cubic-bezier(.4,0,.2,1), transform .6s cubic-bezier(.4,0,.2,1);
}
.fse-anim--visible {
  opacity: 1;
  transform: translateY(0);
}


/* ==========  FOOTER  ========== */
.footer-container .row:first-child, #hook-displayFooterBefore, .block_newsletter, .block-social, .block-contact, .linklist, .ps_emailsubscription, .footer-container .links, .footer-container .row .col-md-6, .page-footer { display: none !important }
#footer { background: var(--bg) !important; border-top: 1px solid var(--line); padding: 1.8rem 0 .5rem !important; position: relative }
#footer::before { content: ''; position: absolute; top: 0; left: 15%; right: 15%; height: 1px; background: linear-gradient(90deg, transparent, var(--g5), transparent) }
.footer-container { background: var(--bg) !important; padding: 0 !important; overflow: visible !important }
.fse-footer-nav { text-align: center; padding: .6rem 0 }
.fse-footer-nav a { color: var(--g4); font-family: var(--hf); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; margin: 0 .6rem; transition: color .2s }
.fse-footer-nav a:hover { color: var(--g1) }
.fse-footer-nav .sep { color: var(--g6); margin: 0 .15rem }
.fse-footer-social { text-align: center; padding: .5rem 0 .8rem }
.fse-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: var(--g7); border: 1px solid rgba(255,255,255,.05); border-radius: 2px; margin: 0 2px; color: var(--g4); transition: all .25s }
.fse-footer-social a:hover { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 2px 10px var(--red-glow) }
.fse-footer-social a svg { width: 14px; height: 14px }
.fse-footer-copy { text-align: center; font-size: .65rem; color: var(--g5); padding: .5rem 0 }


/* ==========  HIDE PS DEFAULT HOMEPAGE  ========== */
.page-home .featured-products, .page-home .product-accessories, .page-home #custom-text, .page-home .carousel, .page-home .block_newsletter, .page-home .blockreassurance, .page-home .ps_emailsubscription { display: none !important }
body#index #carousel { display: none !important }
body#index #custom-text { display: none !important }
body#index .featured-products[data-type="newproducts"] { display: none !important }


/* ==========  PRODUCT LISTING  ========== */
.product-miniature { background: var(--card) !important; border: 1px solid rgba(255,255,255,.05) !important; border-radius: 0 !important; transition: all .3s; overflow: hidden }
.product-miniature:hover { border-color: rgba(255,255,255,.1) !important; box-shadow: 0 8px 30px rgba(0,0,0,.4) }
.product-miniature .thumbnail-container, .product-miniature .product-description, .product-miniature .highlighted-informations, .product-miniature .variant-links { background: var(--card) !important }
.product-miniature .product-title a { color: var(--w) !important; font-weight: 500 }
.product-miniature .product-title a:hover { color: var(--red) !important }
.product-miniature .product-price-and-shipping { color: var(--w) !important }
.product-miniature .regular-price { color: var(--g4) !important }
.product-miniature .highlighted-informations .quick-view { color: var(--g2) !important }
.product-miniature .highlighted-informations .quick-view:hover { color: var(--red) !important }
.product-flags li.product-flag { background: var(--red) !important; font-family: var(--hf) !important; border-radius: 0 }
.featured-products .products-section-title, .product-accessories .products-section-title, #products .products-section-title { font-family: var(--hf) !important; color: var(--w) !important; text-transform: uppercase }


/* ==========  CATEGORY (base)  ========== */
.block-category { background: var(--card) !important; border: 1px solid var(--line) !important; padding: 1.5rem !important; margin-bottom: 1.5rem }
.block-category .h1, .block-category h1 { font-family: var(--hf) !important; color: var(--w) !important; font-size: 2rem !important; margin-bottom: .5rem }
.block-category #category-description { color: var(--g2) !important; font-size: .85rem }
#search_filters, .block-categories { background: var(--card) !important; border: 1px solid var(--line); border-radius: 0 }
#search_filters > .h6 { color: var(--w) !important }
#search_filters .facet .facet-title { color: var(--w) !important }
#search_filters .facet .facet-label a { color: var(--g2) !important }
.block-categories a { color: var(--g2) !important }
.block-categories a:hover { color: var(--red) !important }
.block-categories .category-sub-menu li a { color: var(--g2) !important; transition: color .2s }
.block-categories .category-sub-menu li a:hover { color: var(--red) !important }
.block-categories .category-sub-menu li.current a { color: var(--w) !important; font-weight: 600 }
.block-categories .collapse-icons .material-icons { color: var(--g4) !important }
.products-sort-order .select-title, .facet-dropdown .select-title { background: var(--g7) !important; color: var(--w) !important; border-color: var(--g5) !important }
.facet-dropdown { background: var(--g7) !important; box-shadow: none !important }
.facet-dropdown .dropdown-menu { background: var(--card) !important }
.facet-dropdown .select-list:hover { background: var(--red) !important; color: #fff !important }
.pagination .page-list { background: var(--card) !important }
.pagination a { color: var(--w) !important }
.pagination .current a { color: var(--red) !important }
.active_filters { background: var(--bg2) !important }
.active_filters .filter-block { background: var(--card) !important; color: var(--g2) !important }
#left-column .block-categories { background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 0 }
#left-column .block-categories .h6 { color: var(--w) !important; font-family: var(--hf) !important; text-transform: uppercase; letter-spacing: .06em; font-size: 1rem }


/* ==========  CART & CHECKOUT (base)  ========== */
.cart-grid-body .card-block, .cart-grid-body .cart-overview { background: var(--card) !important; color: var(--w) !important; border: 1px solid var(--line) }
.cart-item { border-bottom-color: var(--line) !important }
.product-line-grid-body > .product-line-info > .label { color: var(--w) !important }
.product-line-grid-right .product-price { color: var(--w) !important }
.cart-summary-line .label { color: var(--g2) !important }
.cart-summary-line .value { color: var(--w) !important }
.block-promo .promo-input { background: var(--g7) !important; color: var(--w) !important; border-color: var(--g5) !important }
body#checkout #header { background: var(--bg) !important; border-bottom: 1px solid var(--line); box-shadow: none !important }


/* ==========  FORMS  ========== */
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], textarea, select { background-color: var(--g7) !important; color: var(--w) !important; border: 1px solid var(--g5) !important; border-radius: 2px }
.form-control:focus, input:focus, textarea:focus, select:focus { border-color: var(--red) !important; box-shadow: 0 0 0 2px rgba(190,30,30,.12) !important }
label, .form-control-label { color: var(--g2) !important }


/* ==========  CARDS  ========== */
.card, .card-block { background: var(--card) !important; border-color: var(--line) !important; color: var(--w) !important }
.page-content.page-cms { background: var(--card) !important; color: var(--g2) !important }
#custom-text { background: var(--card) !important; border: 1px solid var(--line) }
#custom-text h2 { color: var(--w) !important; font-family: var(--hf) !important }
#custom-text p { color: var(--g2) !important }


/* ==========  ACCOUNT  ========== */
.page-my-account #content .links a span.link-item { background: var(--card) !important; border: 1px solid var(--line) }
.page-my-account #content .links a:hover span.link-item { border-color: var(--red) }
.page-my-account #content .links a i { color: var(--red) !important }


/* ==========  ALERTS & MODALS  ========== */
body .alert, body .alert-info, body .alert-warning {
  background: var(--card) !important;
  color: var(--g2) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--red) !important;
  border-radius: 0 !important;
  font-size: .8rem;
}
.alert-success { background: rgba(76,187,108,.06) !important; border-color: #4cbb6c !important; color: #4cbb6c !important }
.alert-danger { background: rgba(190,30,30,.06) !important; border-color: var(--red) !important; color: #e63535 !important }
.modal-content { background: var(--card2) !important; border-color: var(--g5) !important; color: var(--w) !important }
.quickview .modal-content { background: var(--card) !important; border: 1px solid var(--g5) }
.contact-form { background: var(--card) !important; color: var(--g2) !important }


/* ==========  CART MODAL  ========== */
#blockcart-modal .modal-content { background: var(--card2) !important; border: 1px solid var(--g5) !important; color: var(--w) !important; border-radius: 0 !important; pointer-events: auto !important }
#blockcart-modal .modal-header { background: var(--card2) !important; border-bottom: 1px solid var(--line) !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1rem 1.5rem !important }
#blockcart-modal .modal-header .close { color: var(--w) !important; opacity: 1 !important; font-size: 1.5rem; background: transparent !important; border: none !important; cursor: pointer; position: relative; z-index: 10 }
#blockcart-modal .modal-header .close .material-icons { color: var(--g2) !important; font-size: 1.3rem }
#blockcart-modal .modal-header .close:hover .material-icons { color: var(--w) !important }
#blockcart-modal .modal-title { color: var(--w) !important; font-family: var(--hf) !important }
#blockcart-modal .modal-body { background: var(--card2) !important; color: var(--g2) !important; padding: 1.5rem !important }
#blockcart-modal .modal-body .product-name { color: var(--red) !important }
#blockcart-modal .modal-body .product-price { color: var(--w) !important }
#blockcart-modal .cart-content { color: var(--g2) !important }
#blockcart-modal .cart-content p { color: var(--g2) !important }
#blockcart-modal .cart-content .cart-products-count { color: var(--w) !important; font-family: var(--hf) !important }
#blockcart-modal .modal-footer, #blockcart-modal .cart-content .cart-content-btn { display: flex !important; gap: .8rem !important; padding: 1rem 0 !important }
#blockcart-modal .btn { border-radius: 0 !important; font-family: var(--hf) !important; text-transform: uppercase !important; letter-spacing: .08em !important; font-size: .78rem !important; padding: .6rem 1.5rem !important }
#blockcart-modal .btn-secondary, #blockcart-modal .cart-content-btn .btn:first-child { background: var(--g7) !important; color: var(--g2) !important; border: 1px solid var(--g5) !important }
#blockcart-modal .btn-secondary:hover { background: var(--g6) !important; color: var(--w) !important }
#blockcart-modal .btn-primary, #blockcart-modal .cart-content-btn .btn:last-child { background: var(--red) !important; color: #fff !important; border: none !important; box-shadow: 0 2px 15px var(--red-glow) }
#blockcart-modal .btn-primary:hover { background: var(--red-h) !important }
#blockcart-modal .divide-right { border-color: var(--line) !important }
#blockcart-modal .product-image img { background: var(--card) !important }
#blockcart-modal { pointer-events: none !important }
#blockcart-modal .modal-dialog { pointer-events: auto !important }
.modal-backdrop { pointer-events: none !important }


/* ==========  FORCE DARK ON ALL PAGE CONTENT  ========== */
#content, .page-content, section#content { background: var(--card) !important; color: var(--g2) !important }
body#index #content, body#index .page-content, body#index section#content { background: transparent !important }
#content h4, #content p, .page-content h4, .page-content p { color: var(--g2) !important }
#js-product-list .page-content { border: 1px solid var(--line) !important; padding: 2rem !important }
#content .alert, .page-content .alert, #js-product-list .alert, #js-product-list p { background: var(--card) !important; color: var(--g2) !important; border: 1px solid var(--line) !important; border-radius: 0 }
.page-not-found, .page-content.page-not-found, section.page-not-found { background: var(--card) !important; color: var(--g2) !important; border: 1px solid var(--line) !important; padding: 2rem !important }
.page-not-found h4, .page-not-found p { color: var(--g2) !important }


/* ==========  BREADCRUMB  ========== */
.breadcrumb { background: transparent !important; padding: .6rem 0 !important; font-size: .75rem }
.breadcrumb li::after { color: var(--g5) }
.breadcrumb li:last-child span { color: var(--g2) }


/* ==========  RESPONSIVE (base)  ========== */
@media (max-width: 991px) {
  .fse-pillars { grid-template-columns: 1fr !important }
  .fse-options, .fse-models { grid-template-columns: 1fr 1fr !important }
  .fse-mp__inner { flex-direction: column !important; text-align: center !important }
  .fse-mp__side { text-align: center !important }
}
@media (max-width: 767px) {
  .fse-options, .fse-models { grid-template-columns: 1fr !important }
  .fse-hero__btns { flex-wrap: wrap }
}


/* =============================================
   PRODUCT PAGE — PREMIUM
   ============================================= */

/* Product page hero */
.fse-phero { position: relative; min-height: 240px; overflow: hidden }
.fse-phero__bg { position: absolute; inset: 0; z-index: 0 }
.fse-phero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .15; filter: blur(3px) }
.fse-phero__overlay { position: relative; z-index: 2; min-height: 240px; display: flex; align-items: flex-end; padding: 2rem 0; background: linear-gradient(180deg, transparent 0%, rgba(14,15,17,.6) 40%, rgba(14,15,17,.95) 100%) }
.fse-phero__title { font-family: var(--hf) !important; font-size: 2rem; font-weight: 700; font-style: italic; color: var(--w); text-transform: uppercase; letter-spacing: .08em; text-shadow: 0 2px 20px rgba(0,0,0,.5); margin: 0 0 .3rem }
.fse-phero__cat { font-family: var(--hf); font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--red); margin-bottom: .3rem }
.fse-phero__ref { font-size: .7rem; color: var(--g4); letter-spacing: .04em }

/* Product detail */
.fse-pdetail { padding: 2rem 0; max-width: 1000px; margin: 0 auto }
.fse-pdetail__row { display: flex; gap: 2.5rem; align-items: flex-start }
.fse-pdetail__photo { flex: 0 0 420px; position: sticky; top: 80px }
.fse-pdetail__photo img { width: 100%; border-radius: 8px; background: rgba(14,15,17,.5); box-shadow: 0 4px 30px rgba(0,0,0,.3) }
.fse-pdetail__info { flex: 1 }
.fse-pdetail__price { font-family: var(--hf); font-size: 2rem; font-weight: 700; color: var(--w); margin-bottom: .5rem }
.fse-pdetail__price .fse-pdetail__oldprice { font-size: 1rem; color: var(--g4); text-decoration: line-through; margin-right: .5rem; font-weight: 400 }
.fse-pdetail__price .fse-pdetail__discount { background: linear-gradient(180deg, #9c1e1e, #6a1212); color: #fff; font-size: .65rem; padding: .15rem .4rem; vertical-align: middle; margin-left: .5rem }
.fse-pdetail__shortdesc { color: var(--g2); font-size: .82rem; line-height: 1.7; margin-bottom: 1.5rem }

/* Quantity + Add to cart */
.fse-pdetail__actions { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem }
.fse-pdetail__qty { display: flex; align-items: center; background: var(--g7); border: 1px solid var(--g5); border-radius: 4px; overflow: hidden }
.fse-pdetail__qty button { background: transparent; border: none; color: var(--g3); padding: .5rem .7rem; font-size: 1rem; cursor: pointer; transition: color .2s }
.fse-pdetail__qty button:hover { color: var(--w) }
.fse-pdetail__qty input { width: 40px; text-align: center; background: transparent; border: none; color: var(--w); font-family: var(--hf); font-size: .9rem }
.fse-pdetail__addcart { flex: 1 }

/* Product info section */
.fse-pinfo { padding: 2rem 0; max-width: 1000px; margin: 0 auto }
.fse-pinfo__row { display: flex; gap: 2rem }

/* Product tabs */
.fse-ptabs { max-width: 1000px; margin: 0 auto; padding: 2rem 0 }
.fse-ptabs__nav { display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,.06); margin-bottom: 1.5rem }
.fse-ptabs__link { padding: .7rem 1.2rem; font-family: var(--hf); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--g4); cursor: pointer; border-bottom: 2px solid transparent; transition: all .25s; background: transparent; border-top: none; border-left: none; border-right: none }
.fse-ptabs__link:hover { color: var(--g2) }
.fse-ptabs__link--active { color: var(--w); border-bottom-color: var(--red) }
.fse-ptabs__panel { display: none; color: var(--g2); font-size: .82rem; line-height: 1.8 }
.fse-ptabs__panel--active { display: block }

/* Product formats tabs */
.fse-pformats { max-width: 1000px; margin: 0 auto; padding: 2rem 0 }
.fse-pformats__tabs { display: flex; gap: .5rem; margin-bottom: 1.5rem }
.fse-pformats__tab { padding: .5rem 1rem; border: 1px solid var(--g5); background: transparent; color: var(--g3); font-family: var(--hf); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; transition: all .25s; border-radius: 4px }
.fse-pformats__tab:hover { border-color: var(--g3); color: var(--w) }
.fse-pformats__tab--active { background: var(--red); border-color: var(--red); color: #fff }

/* Product gallery */
.fse-pgallery { max-width: 1000px; margin: 0 auto; padding: 2rem 0 }
.fse-pgallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem }
.fse-pgallery__item { position: relative; overflow: hidden; cursor: pointer; border-radius: 4px; background: rgba(14,15,17,.5) }
.fse-pgallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; opacity: .8 }
.fse-pgallery__item:hover img { transform: scale(1.05); opacity: 1 }
.fse-pgallery__label { display: block; padding: .6rem; font-family: var(--hf); font-size: .72rem; color: var(--g2); text-transform: uppercase; letter-spacing: .04em }

/* Reassurance */
.fse-preassure { padding: .3rem 0; background: rgba(10,11,12,.9) !important }
.fse-preassure .blockreassurance_product { display: flex !important; padding: 0 !important; border: 1px solid rgba(255,255,255,.06) !important; background: rgba(12,13,15,.85) !important }
.fse-preassure .blockreassurance_product > div { flex: 1 !important; padding: 1rem 1.2rem !important; border-right: 1px solid rgba(255,255,255,.06) !important; display: flex !important; align-items: center !important; gap: .8rem !important }
.fse-preassure .blockreassurance_product > div:last-child { border-right: none !important }
.fse-preassure .blockreassurance_product .item-product { flex-shrink: 0 }
.fse-preassure .blockreassurance_product .item-product img { filter: invert(1) brightness(.7) !important; width: 28px !important; height: 28px !important }
.fse-preassure .blockreassurance_product .block-title, .blockreassurance_product .block-title { color: var(--w) !important; font-family: var(--hf) !important; font-size: .82rem !important; text-transform: uppercase !important; letter-spacing: .04em !important; display: block !important }
.fse-preassure .blockreassurance_product p, .blockreassurance_product p { color: var(--g3) !important; font-size: .7rem !important; margin: .15rem 0 0 !important; line-height: 1.4 !important }
.blockreassurance_product > .clearfix, .blockreassurance_product > div:empty { display: none !important; flex: 0 0 0 !important; width: 0 !important; padding: 0 !important; border: none !important }

/* Section separators */
.fse-pformats, .fse-pdetail, .fse-pinfo, .fse-ptabs, .fse-pgallery { border-top: 1px solid rgba(255,255,255,.03) !important }

/* Product responsive */
@media (max-width: 991px) {
  .fse-phero { min-height: 220px }
  .fse-phero__title { font-size: 1.6rem !important }
  .fse-phero__overlay { min-height: 220px; padding: 1.5rem 0 }
  .fse-phero__bg { display: none }
  .fse-pdetail__row { flex-direction: column }
  .fse-pdetail__photo, .fse-pdetail__info { flex: auto; width: 100% }
  .fse-pinfo__row { flex-direction: column }
  .fse-pgallery__grid { grid-template-columns: repeat(2, 1fr) !important }
  .fse-preassure .blockreassurance_product { flex-direction: column }
  .fse-preassure .blockreassurance_product > div { border-right: none; border-bottom: 1px solid var(--line) }
}
@media (max-width: 767px) {
  .fse-phero__title { font-size: 1.3rem !important }
  .fse-pgallery__grid { grid-template-columns: 1fr 1fr !important }
  .fse-ptabs__link { padding: .6rem .8rem; font-size: .7rem }
  .fse-pformats__tabs { flex-wrap: wrap }
}


/* =============================================
   CATEGORY PAGES — DEFINITIVE
   ============================================= */

/* Texture background */
body#category {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#category #wrapper, body#category main, body#category section#wrapper, body#category #content-wrapper, body#category #columns, body#category #content, body#category .page-content, body#category section#content { background: transparent !important }
body#category #wrapper { padding-top: 0 !important }

/* Full width — kill sidebar */
body#category #left-column { display: none !important }
body#category #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important }

/* Breadcrumb — hide */
body#category .breadcrumb { display: none !important }

/* Category hero */
.fse-cat-hero {
  background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.18) 100%) !important;
  border: none !important;
  box-shadow: none !important;
  padding: .6rem 2rem .3rem !important;
  margin: 0 !important;
  text-align: center !important;
  position: relative !important;
}
.fse-cat-hero__title { font-family: var(--hf) !important; font-size: 1.3rem !important; font-weight: 700 !important; font-style: italic !important; color: var(--w) !important; text-transform: uppercase !important; letter-spacing: .12em !important; margin: 0 0 .1rem !important; text-shadow: 0 2px 20px rgba(0,0,0,.5) !important }
.fse-cat-hero__desc { color: var(--g3) !important; font-size: .7rem !important; line-height: 1.6 !important; max-width: 450px !important; margin: 0 auto !important; letter-spacing: .03em !important; text-shadow: 0 1px 8px rgba(0,0,0,.3) !important }
.fse-cat-hero__desc p { color: var(--g3) !important; text-transform: none !important; margin: 0 !important }
.fse-cat-hero__desc::after {
  content: '' !important;
  display: block !important;
  width: 280px !important;
  height: 2px !important;
  margin: .5rem auto 0 !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.35) 50%, transparent 100%) !important;
  border: none !important;
}

/* Nuke sort bar + default header */
body#category #js-product-list-top { display: none !important; height: 0 !important; max-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; visibility: hidden !important }
body#category #js-product-list-header { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important }

/* Products section */
body#category section#main { padding: 0 !important; margin: 0 !important }
body#category section#products { max-width: 1000px !important; margin: 0 auto !important; padding: .4rem 1.5rem 2rem !important; padding-top: 0 !important }
body#category #js-product-list { padding: 0 !important; margin: 0 !important }
body#category section#products > .hidden-sm-down { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important }

/* Product list → vertical stack */
body#category .products { display: flex !important; flex-direction: column !important; gap: 1.2rem !important; padding: 0 !important; margin: 0 !important; list-style: none !important }
body#category .products > .product, body#category .products > .product[class*="col-"] { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; margin: 0 !important; float: none !important }

/* Horizontal product card */
body#category .product-miniature, body#category .product-miniature .product { display: block !important; justify-content: initial !important }
body#category .product-miniature {
  background: linear-gradient(135deg, rgba(18,20,24,.82), rgba(14,16,20,.76)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: relative !important;
  transition: all .35s cubic-bezier(.4,0,.2,1) !important;
  box-shadow: 0 2px 15px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03) !important;
  cursor: pointer !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
body#category .product-miniature::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(190,30,30,.03), transparent 40%) !important;
  opacity: 0 !important;
  transition: opacity .4s !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
body#category .product-miniature:hover::after { opacity: 1 !important }
body#category .product-miniature:hover {
  border-color: rgba(255,255,255,.06) !important;
  border-left-color: var(--red) !important;
  box-shadow: 0 8px 35px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06) !important;
  transform: translateY(-1px) !important;
  background: linear-gradient(135deg, rgba(22,24,28,.85), rgba(18,20,24,.8)) !important;
}
body#category .product-miniature .thumbnail-container { display: flex !important; flex-direction: row !important; align-items: stretch !important; overflow: visible !important; background: transparent !important; margin-bottom: 0 !important; height: auto !important; position: relative !important }
body#category .product-miniature:hover .thumbnail-container { display: flex !important; flex-direction: row !important }
body#category .product-miniature .thumbnail-top { flex: 0 0 280px !important; width: 280px !important; min-height: 160px !important; background: rgba(10,11,14,.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative !important; overflow: hidden !important; border-right: 1px solid rgba(255,255,255,.04) !important }
body#category .product-miniature .thumbnail-top .product-thumbnail { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; padding: .8rem !important; position: static !important }
body#category .product-miniature .thumbnail-top .product-thumbnail img { max-height: 140px !important; max-width: 85% !important; width: auto !important; height: auto !important; object-fit: contain !important; transition: transform .4s cubic-bezier(.4,0,.2,1) !important; filter: drop-shadow(0 3px 15px rgba(0,0,0,.3)) !important }
body#category .product-miniature:hover .thumbnail-top .product-thumbnail img { transform: scale(1.04) !important }
body#category .product-miniature .highlighted-informations, body#category .product-miniature .thumbnail-container:hover .highlighted-informations, body#category .product-miniature .thumbnail-container:focus .highlighted-informations { display: none !important; top: auto !important; position: static !important }
body#category .product-miniature .product-description { flex: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; padding: 1.4rem 1.8rem !important; background: transparent !important; text-align: left !important; position: static !important; bottom: auto !important; height: auto !important }

/* "Voir le produit" link */
body#category .product-miniature .product-description::after {
  /* content moved to template .fse-view-link */
  content: '' !important;
  display: block !important;
  position: static !important;
  width: auto !important;
  margin-top: .6rem !important;
  padding-top: .4rem !important;
  border: none !important;
  font-family: var(--hf) !important;
  font-size: .6rem !important;
  text-transform: uppercase !important;
  letter-spacing: .15em !important;
  color: var(--g4) !important;
  transition: all .3s !important;
  background: none !important;
  left: auto !important;
  top: auto !important;
  opacity: .5 !important;
}
body#category .product-miniature .thumbnail-container:hover .product-description::after,
body#category .product-miniature .thumbnail-container:focus .product-description::after,
body#category .product-miniature:hover .product-description::after {
  opacity: 1 !important;
  color: var(--red) !important;
  padding-left: .3rem !important;
  letter-spacing: .14em !important;
}
body#category .product-miniature .product-title { margin-bottom: .4rem !important; text-align: left !important; text-transform: none !important }
body#category .product-miniature .product-title a { color: var(--w) !important; font-family: var(--hf) !important; font-size: 1.05rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .06em !important; text-decoration: none !important; text-align: left !important; transition: color .25s !important; line-height: 1.3 !important; position: relative !important; z-index: 4 !important }
body#category .product-miniature .product-title a:hover { color: var(--red) !important }
body#category .product-miniature .product-price-and-shipping { text-align: left !important; margin-top: auto !important; padding-top: .3rem !important }
body#category .product-miniature .price { color: var(--w) !important; font-family: var(--hf) !important; font-size: 1.3rem !important; font-weight: 700 !important; letter-spacing: .03em !important }
body#category .product-miniature .regular-price { color: var(--g4) !important; font-size: .82rem !important; margin-right: .5rem !important }
body#category .product-miniature .discount-percentage, body#category .product-miniature .discount-amount { background: linear-gradient(180deg, #9c1e1e, #6a1212) !important; color: #fff !important; font-family: var(--hf) !important; font-size: .6rem !important; padding: .15rem .4rem !important }

/* Full card clickable */
body#category .product-miniature .thumbnail-top .product-thumbnail::after { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 3 !important; cursor: pointer !important }

/* Flags */
body#category .product-miniature .product-flags { position: absolute !important; top: .6rem !important; left: .6rem !important; z-index: 5 !important }
body#category .product-flag { font-family: var(--hf) !important; font-size: .58rem !important; text-transform: uppercase !important; letter-spacing: .08em !important; border-radius: 0 !important; padding: .2rem .5rem !important; min-width: auto !important; min-height: auto !important }
body#category .product-flag.new { background: linear-gradient(180deg, #9c1e1e, #6a1212) !important; color: #fff !important }

/* Wishlist */
body#category .product-miniature .wishlist-button-add, body#category .product-miniature .wishlist-button-product { position: absolute !important; top: .6rem !important; right: .6rem !important; z-index: 5 !important; width: 30px !important; height: 30px !important; background: rgba(10,10,12,.4) !important; border: 1px solid rgba(255,255,255,.06) !important; border-radius: 0 !important; opacity: .4 !important; transition: all .25s !important }
body#category .product-miniature:hover .wishlist-button-add, body#category .product-miniature:hover .wishlist-button-product { opacity: 1 !important }

/* Pagination — hidden */
body#category nav.pagination, body#category .pagination .showing, body#category #js-product-list-bottom { display: none !important }

/* Category responsive */
@media (max-width: 768px) {
  body#category .product-miniature .thumbnail-container { flex-direction: column !important }
  body#category .product-miniature .thumbnail-top { flex: none !important; width: 100% !important; min-height: 160px !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.04) !important }
  body#category .product-miniature .product-description { padding: 1rem 1.2rem !important }
  .fse-cat-hero__title { font-size: 1.3rem !important }
}

/* Category footer */
body#category #footer, body#category .footer-container { background: rgba(10,10,10,.45) !important }

/* Other pages — texture */
body.page-cms, body.page-contact, body.page-stores, body#identity, body#history, body#my-account, body#addresses, body#address, body#search {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body.page-cms #wrapper, body.page-contact #wrapper, body.page-stores #wrapper, body#identity #wrapper, body#history #wrapper, body#my-account #wrapper, body#addresses #wrapper, body#address #wrapper, body#search #wrapper { background: transparent !important }


/* =============================================
   DARK CHECKOUT (ETS One Page Checkout)
   ============================================= */

body#checkout {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#checkout #wrapper, body#checkout main, body#checkout #content-wrapper, body#checkout #content, body#checkout .page-content, body#checkout section#content, body#checkout section.checkout-step, body#checkout .checkout-process, body#checkout #checkout, body#checkout #ets_onepagecheckout, body#checkout #form_ets_onepagecheckout, body#checkout .cart-grid, body#checkout .cart-grid-body, body#checkout .cart-grid-right, body#checkout .onepagecheckout-left, body#checkout .onepagecheckout-right, body#checkout .onepagecheckout-footer, body#checkout .container { background: transparent !important; background-color: transparent !important }
body#checkout #wrapper { padding-top: 0 !important }
body#checkout .row { background-color: transparent !important }
body#checkout .col-lg-4, body#checkout .col-lg-8, body#checkout .col-md-4, body#checkout .col-md-8, body#checkout .col-lg-12, body#checkout [class*="col-"] { background-color: transparent !important }
body#checkout .card, body#checkout .card-block { background: transparent !important; border: none !important }
body#checkout .breadcrumb { display: none !important }

/* Blocks */
body#checkout .block-onepagecheckout { background: rgba(18,20,24,.85) !important; border: none !important; border-top: 2px solid var(--red) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important }
body#checkout .block-onepagecheckout .title-heading { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; border-top: none !important; border-color: rgba(255,255,255,.06) !important; color: var(--w) !important }
body#checkout .block-onepagecheckout .title-heading, body#checkout .block-onepagecheckout .title-heading span { color: var(--w) !important }
body#checkout .block-onepagecheckout .title-heading svg { fill: var(--red) !important }

/* Form fields */
body#checkout .block-onepagecheckout input.form-control, body#checkout .block-onepagecheckout textarea.form-control, body#checkout .block-onepagecheckout select.form-control, body#checkout .block-onepagecheckout select, body#checkout .block-onepagecheckout textarea, body#checkout #delivery_message { background: var(--g7) !important; color: var(--w) !important; border: 1px solid var(--g5) !important; border-radius: 2px !important }
body#checkout .block-onepagecheckout input.form-control:focus, body#checkout .block-onepagecheckout textarea.form-control:focus, body#checkout .block-onepagecheckout select.form-control:focus { border-color: var(--red) !important; box-shadow: 0 0 0 2px rgba(190,30,30,.12) !important }

/* Labels + text */
body#checkout .block-onepagecheckout .form-control-label, body#checkout .block-onepagecheckout label, body#checkout .block-onepagecheckout .form-group label { color: var(--g2) !important }
body#checkout .block-onepagecheckout p, body#checkout .block-onepagecheckout span, body#checkout .block-onepagecheckout .form-control-comment { color: var(--g3) !important }
body#checkout #ets_onepagecheckout a { color: var(--red) !important }
body#checkout #ets_onepagecheckout a:hover { color: var(--w) !important }

/* Delivery */
body#checkout .delivery-option { background: rgba(14,16,20,.6) !important; border: 1px solid rgba(255,255,255,.06) !important; color: var(--g2) !important }
body#checkout .delivery-option label, body#checkout .delivery-option .carrier-name, body#checkout .delivery-option .carrier-delay, body#checkout .delivery-option .carrier-price { color: var(--g2) !important }
body#checkout .delivery-option img, body#checkout .carrier-name img { filter: invert(1) brightness(.8) !important }

/* Payment */
body#checkout .payment-option label { color: var(--g2) !important }
body#checkout .payment-option .custom-radio input[type="radio"] + span { border-color: var(--g5) !important }

/* Cart summary */
body#checkout .block-onepagecheckout ul.cart-items { border-color: rgba(255,255,255,.06) !important }
body#checkout .block-onepagecheckout .cart-item { border-bottom: 1px solid rgba(255,255,255,.06) !important }
body#checkout .block-onepagecheckout .product-line-info .label, body#checkout .block-onepagecheckout .product-line-info a.label { color: var(--w) !important }
body#checkout .block-onepagecheckout .product-price, body#checkout .product-line-info .current-price .price { color: var(--red) !important }
body#checkout .block-onepagecheckout .cart-summary-line .label { color: var(--g2) !important }
body#checkout .block-onepagecheckout .cart-summary-line .value { color: var(--w) !important }
body#checkout .block-onepagecheckout .cart-summary-line.cart-total .label, body#checkout .block-onepagecheckout .cart-summary-line.cart-total .value { color: var(--w) !important; font-family: var(--hf) !important }

/* Quantity */
body#checkout .bootstrap-touchspin .btn-touchspin { background: var(--g6) !important; border-color: var(--g5) !important; color: var(--g3) !important }
body#checkout .bootstrap-touchspin .btn-touchspin:hover { background: var(--red) !important; color: #fff !important }
body#checkout .js-cart-line-product-quantity { background: var(--g7) !important; color: var(--w) !important; border-color: var(--g5) !important }

/* Promo */
body#checkout .block-promo .promo-input { background: var(--g7) !important; color: var(--w) !important; border: 1px dashed var(--g5) !important }

/* Confirm button */
body#checkout #form_ets_onepagecheckout .btn-primary { background: linear-gradient(180deg, #7a1616 0%, #4a0d0d 100%) !important; border: none !important; color: #fff !important; font-family: var(--hf) !important; font-size: .9rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .1em !important; padding: .8rem 2rem !important; box-shadow: 0 4px 20px rgba(100,15,15,.4), inset 0 1px 0 rgba(255,255,255,.08) !important; transition: all .3s !important }
body#checkout #form_ets_onepagecheckout .btn-primary:hover { background: linear-gradient(180deg, #8c1a1a 0%, #5a1010 100%) !important; box-shadow: 0 6px 30px rgba(100,15,15,.5), inset 0 1px 0 rgba(255,255,255,.12) !important; transform: translateY(-1px) !important }

/* Reassurance */
body#checkout .block-onepagecheckout.block-displayReassurance { border: none !important; border-top: none !important; background: rgba(14,16,20,.6) !important }
body#checkout .block-onepagecheckout.block-displayReassurance #block-reassurance { border: 1px solid rgba(255,255,255,.06) !important; background: transparent !important }
body#checkout .block-onepagecheckout.block-displayReassurance #block-reassurance li { border-color: rgba(255,255,255,.06) !important; color: var(--g2) !important }
body#checkout .blockreassurance_product .block-title { color: var(--g2) !important }
body#checkout .blockreassurance_product p { color: var(--g3) !important }
body#checkout .blockreassurance_product img { filter: invert(1) brightness(.7) !important }

/* Conditions */
body#checkout .condition-label, body#checkout #conditions-to-approve { background: rgba(18,20,24,.85) !important; padding: .8rem 1rem !important; border: 1px solid rgba(255,255,255,.06) !important; border-radius: 0 !important; margin-bottom: .8rem !important }
body#checkout .condition-label label { color: var(--g2) !important }
body#checkout .condition-label a { color: var(--red) !important }

/* Radio / Checkbox */
body#checkout .custom-radio { background: var(--g7) !important; border-color: var(--g5) !important }
body#checkout .custom-radio input[type="radio"]:checked + span { background: var(--red) !important; background-color: var(--red) !important }
body#checkout input:checked + .ets_checkbox::before { border-color: var(--red) !important }
body#checkout .custom-checkbox span { border-color: var(--g5) !important; background: var(--g7) !important }

/* Various */
body#checkout .ets_opc_select::before { color: var(--g3) !important }
body#checkout .remove-from-cart i::before { color: var(--g4) !important }
body#checkout .remove-from-cart:hover i::before { color: var(--red) !important }
body#checkout .product-line-grid-left img { background: var(--g7) !important; border: 1px solid rgba(255,255,255,.04) !important }
body#checkout .block-onepagecheckout hr, body#checkout .cart-grid hr { border-color: rgba(255,255,255,.06) !important }
body#checkout dt, body#checkout dd { background: var(--g7) !important; color: var(--g2) !important; border-color: var(--g5) !important }
body#checkout button[id^="pay-with-payment-option"] { background: var(--red) !important; color: #fff !important; border: none !important; font-family: var(--hf) !important; text-transform: uppercase !important; letter-spacing: .08em !important }
body#checkout button[id^="pay-with-payment-option"]:hover { background: var(--red-h) !important }
body#checkout .input-group-addon, body#checkout .bootstrap-touchspin-prefix, body#checkout .bootstrap-touchspin-postfix { background: var(--g6) !important; color: var(--g3) !important; border-color: var(--g5) !important }
body#checkout .ui-autocomplete, body#checkout .ui-menu { background: var(--card2) !important; border: 1px solid var(--g5) !important }
body#checkout .ui-menu-item { color: var(--g2) !important }
body#checkout .ui-menu-item:hover { background: rgba(255,255,255,.05) !important; color: var(--w) !important }
body#checkout button.ps-hidden-by-js { background: var(--g6) !important; color: var(--g2) !important; border-color: var(--g5) !important }
body#checkout textarea#delivery_message { background: var(--g7) !important; color: var(--w) !important; border: 1px solid var(--g5) !important }

/* Kill wrappers borders */
body#checkout section#wrapper, body#checkout #content-wrapper, body#checkout #ets_onepagecheckout, body#checkout #form_ets_onepagecheckout, body#checkout .onepagecheckout-left, body#checkout .onepagecheckout-right, body#checkout .onepagecheckout-footer, body#checkout .cart-grid, body#checkout .notifications-container { border: none !important; outline: none !important; box-shadow: none !important }
body#checkout #ets_onepagecheckout { border: none !important; padding: 0 !important }
body#checkout #form_ets_onepagecheckout { border: none !important }

/* Footer */
body#checkout #footer { background: rgba(10,10,10,.45) !important }


/* =============================================
   BLOG — CONSOLIDATED
   ============================================= */

/* Background */
body.page-everblog, body.module-everpsblog-blog, body.module-everpsblog-post, body.module-everpsblog-category, body.module-everpsblog-tag {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}
body.page-everblog #wrapper, body.page-everblog main, body.page-everblog #content-wrapper, body.page-everblog #content { background: transparent !important }

/* Hide "Latest posts" on homepage */
body#index .everpsblog, body#index [class*="everpsblog"], body#index [class*="ever-blog"], body#index .bloghome { display: none !important }

/* Breadcrumb */
body.page-everblog .breadcrumb { background: rgba(14,16,20,.6) !important; padding: .6rem 1.5rem !important; margin: 0 !important; border-bottom: 1px solid rgba(255,255,255,.04) !important; display: block !important; visibility: visible !important; opacity: 1 !important; position: relative !important; z-index: 9999 !important }
body.page-everblog .breadcrumb ol { display: flex !important; flex-wrap: wrap !important; gap: .3rem !important; list-style: none !important; padding: 0 !important; margin: 0 !important; align-items: center !important }
body.page-everblog .breadcrumb li { display: inline-flex !important; align-items: center !important; font-size: .78rem !important }
body.page-everblog .breadcrumb li + li::before { content: '›' !important; color: var(--g3) !important; margin: 0 .5rem !important; font-size: .9rem !important }
body.page-everblog .breadcrumb li::after { display: none !important }
body.page-everblog .breadcrumb a { color: var(--g1) !important; text-decoration: none !important; font-family: var(--hf) !important; font-size: .85rem !important; letter-spacing: .02em !important; transition: color .25s !important; pointer-events: auto !important; cursor: pointer !important; position: relative !important; z-index: 11 !important }
body.page-everblog .breadcrumb a:hover { color: var(--w) !important }
body.page-everblog .breadcrumb a span { color: inherit !important; pointer-events: auto !important }
body.page-everblog .breadcrumb li:last-child span { color: var(--g3) !important; font-size: .85rem !important }
body.page-everblog .breadcrumb li:first-child a { background: none !important; color: var(--g3) !important; padding: 0 !important }
body.page-everblog .breadcrumb li:first-child a:hover { color: var(--red) !important }

/* Blog listing header */
.everpsblog-blog-header { background: linear-gradient(135deg, rgba(22,24,28,.92), rgba(16,18,22,.88)) !important; max-width: 980px !important; margin: .5rem auto 0 !important; border-radius: 8px 8px 0 0 !important; border: 1px solid rgba(255,255,255,.06) !important; border-bottom: none !important; position: relative !important; overflow: hidden !important; box-shadow: 0 -4px 30px rgba(140,20,20,.08), inset 0 1px 0 rgba(255,255,255,.04) !important }
.everpsblog-blog-header::before { content: '' !important; position: absolute !important; top: 0 !important; left: 15% !important; right: 15% !important; height: 1px !important; background: linear-gradient(90deg, transparent, rgba(190,30,30,.4), transparent) !important }
.everpsblog-blog-header__inner { padding: .8rem 2rem .5rem !important }
.everpsblog-blog-header__title { font-family: var(--hf) !important; font-size: 1.4rem !important; font-weight: 700 !important; font-style: italic !important; color: var(--w) !important; text-transform: uppercase !important; letter-spacing: .1em !important; text-shadow: 0 2px 20px rgba(0,0,0,.5) !important }

/* Category pills */
.everpsblog-blog-header__categories .btn, body.page-everblog .everpsblog-blog-header__categories .btn { background: rgba(190,30,30,.12) !important; color: var(--g2) !important; border: 1px solid rgba(190,30,30,.25) !important; border-radius: 4px !important; font-size: .68rem !important; font-family: var(--hf) !important; text-transform: uppercase !important; padding: .2rem .6rem !important }

/* Blog listing cards */
body.page-everblog #everpsblog-posts { max-width: 960px !important; margin: 0 auto !important; padding: .5rem 0 2rem !important }
body.page-everblog .everpsblog-listing-card { background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.78)) !important; border: 1px solid rgba(255,255,255,.05) !important; border-radius: 6px !important; overflow: hidden !important; box-shadow: 0 2px 15px rgba(0,0,0,.25) !important; transition: all .35s !important }
body.page-everblog .everpsblog-listing-card:hover { border-color: rgba(190,30,30,.2) !important; box-shadow: 0 8px 35px rgba(0,0,0,.4) !important; transform: translateY(-2px) !important }
body.page-everblog .everpsblog-listing-card .card-body { background: transparent !important; padding: 1rem 1.2rem !important }
body.page-everblog .everpsblog-listing-card h2 a, body.page-everblog .everpsblog-listing-card h2 a.text-dark { color: var(--w) !important; font-family: var(--hf) !important; font-size: .95rem !important; text-transform: uppercase !important }
body.page-everblog .everpsblog-listing-card h2 a:hover { color: var(--red) !important }
body.page-everblog .everpsblog-listing-card .card-body h2 { font-size: .85rem !important; margin-bottom: .3rem !important }
body.page-everblog .everpsblog-listing-card .card-body .h4 { font-size: .65rem !important; margin-bottom: .2rem !important }
body.page-everblog .text-primary { color: var(--g4) !important; font-size: .7rem !important; font-weight: 400 !important }
body.page-everblog .text-dark { color: var(--w) !important }
body.page-everblog .shadow-sm { box-shadow: 0 2px 15px rgba(0,0,0,.25) !important }
body.page-everblog .everpsblogcontent { color: var(--g2) !important; font-size: .78rem !important; margin-bottom: .3rem !important }
body.page-everblog .everpsblog-listing-card .btn-primary { background: transparent !important; color: var(--g3) !important; border: 1px solid var(--g5) !important; border-radius: 4px !important; font-family: var(--hf) !important; font-size: .68rem !important; text-transform: uppercase !important; letter-spacing: .08em !important; padding: .35rem .8rem !important }
body.page-everblog .everpsblog-listing-card .btn-primary:hover { border-color: var(--red) !important; color: var(--w) !important }
body.page-everblog .everpsblog-image-wrapper { background: rgba(10,11,14,.4) !important }
body.page-everblog .everpsblog-image-wrapper img { opacity: .8 !important }
body.page-everblog .everpsblog-listing-card:hover .everpsblog-image-wrapper img { opacity: 1 !important }
body.page-everblog .everpsblog-listing-card .row.g-0 { max-height: 180px !important; overflow: hidden !important }
body.page-everblog .everpsblog-listing-card .everpsblog-image-wrapper { aspect-ratio: auto !important; max-height: 180px !important }
body.page-everblog article.everpsblog { margin-bottom: .8rem !important }

/* Search bar */
body.page-everblog .everpsblog-blog-header ~ form, body.page-everblog form[action*="blog"] { max-width: 960px !important; margin: 0 auto !important; padding: .6rem 1rem !important; background: rgba(14,16,20,.5) !important; border: 1px solid rgba(255,255,255,.04) !important; border-top: none !important; border-radius: 0 0 8px 8px !important }
body.page-everblog input[type="text"], body.page-everblog input[type="search"] { background: var(--g7) !important; color: var(--w) !important; border: 1px solid var(--g5) !important; border-radius: 4px !important }
body.page-everblog input::placeholder { color: var(--g4) !important }
body.page-everblog .everpsblog-blog-header ~ form .btn, body.page-everblog button[type="submit"] { background: var(--red) !important; color: #fff !important; border: none !important; border-radius: 4px !important }

/* Article hero + content — rounded */
.fse-blog-hero { border-radius: 25px 25px 10px 10px !important; max-width: none !important; margin: 0 !important; box-shadow: 0 -4px 30px rgba(140,20,20,.08), inset 0 1px 0 rgba(255,255,255,.04) !important; overflow: hidden !important }
.fse-blog-hero::before { height: 3px !important }
.fse-blog-hero__desc::after { width: 300px !important; height: 2px !important; background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent) !important; margin: .6rem auto 0 !important }
.fse-blog-body { border-radius: 10px 10px 25px 25px !important }
.fse-blog-content { border-radius: 15px !important }

/* Post page */
body.page-everblog-post #content.page-content { background: transparent !important; border: none !important; box-shadow: none !important }
.fse-post-card__img { border-radius: 8px !important; margin: 6px !important }
.fse-post-card__img img { border-radius: 8px !important }

/* Pagination text */
body.page-everblog .fse-blog-pagination .showing { display: none !important }
body.page-everblog .pagination .col-md-6:first-child { display: none !important }
body.page-everblog nav.pagination .showing, body.page-everblog .total-products, body.page-everblog .pagination p { display: none !important }

/* Footer */
body.page-everblog #footer { background: rgba(10,10,10,.45) !important }


/* =============================================
   HOMEPAGE — TEXTURE + TRANSPARENT SECTIONS
   (merged fix4 opacity values)
   ============================================= */

body.page-index {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body.page-index #wrapper, body.page-index main { background: transparent !important }

/* All homepage wrappers transparent */
body#index .fse-sect, body#index .fse-sect--alt, body#index .fse-mp,
body#index .fse-sect .container, body#index .fse-sect--alt .container, body#index .fse-mp .container,
body#index .fse-pillars, body#index .fse-options, body#index .fse-models,
body#index #content, body#index #content.page-home, body#index section#content.page-home,
body#index #content-wrapper, body#index .page-home, body#index .page-content,
body#index section#content, body#index #wrapper, body#index main { background: transparent !important; background-color: transparent !important }

/* Sections — merged fix4 opacities */
body#index .fse-sect { background: rgba(14,15,17,.55) !important }
body#index .fse-sect--alt { background: rgba(12,13,15,.6) !important }
body#index .fse-mp { background: rgba(11,12,14,.65) !important }
body#index .fse-sect::before { display: none !important }

/* Hero — texture shows through */
body.page-index .fse-hero { background: linear-gradient(160deg, rgba(10,11,13,.6), rgba(14,16,20,.4) 40%, rgba(10,11,13,.5)) !important }

/* Footer */
body.page-index #footer, body.page-index .footer-container { background: rgba(10,11,12,.9) !important }

/* =============================================
   v58b — MY ACCOUNT PAGE PREMIUM
   ============================================= */

body#my-account {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#my-account #wrapper, body#my-account main, body#my-account #content-wrapper, body#my-account #content { background: transparent !important }
body#my-account #wrapper { padding-top: 0 !important }

body#my-account .breadcrumb {
  background: rgba(14,16,20,.6) !important;
  padding: .5rem 1.5rem !important;
  margin: 0 0 .5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
body#my-account .breadcrumb li a { color: var(--g3) !important; font-family: var(--hf) !important; font-size: .78rem !important }
body#my-account .breadcrumb li a:hover { color: var(--w) !important }

body#my-account .page-header h1, .page-my-account .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.5) !important;
  text-align: center !important;
  margin: 1.5rem 0 1.8rem !important;
  padding-bottom: .8rem !important;
  position: relative !important;
}
body#my-account .page-header h1::after, .page-my-account .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}

body#my-account #content.page-content, .page-my-account #content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.page-my-account #content .links {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem !important;
  padding: 0 1rem !important;
}
.page-my-account #content .links > a {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-my-account #content .links a span.link-item {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 140px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .35s cubic-bezier(.4,0,.2,1) !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), 0 1px 12px rgba(160,25,25,.06), inset 0 1px 0 rgba(255,255,255,.04) !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--g2) !important;
}
.page-my-account #content .links a span.link-item::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
.page-my-account #content .links a:hover span.link-item {
  border-color: rgba(255,255,255,.1) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,.4), 0 2px 20px rgba(160,25,25,.12), inset 0 1px 0 rgba(255,255,255,.06) !important;
  transform: translateY(-3px) !important;
  background: linear-gradient(135deg, rgba(22,24,28,.88), rgba(18,20,24,.85)) !important;
  color: var(--w) !important;
}

.page-my-account #content .links a i.material-icons {
  font-size: 2rem !important;
  color: var(--red) !important;
  margin-bottom: .8rem !important;
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, rgba(190,30,30,.12), rgba(190,30,30,.04)) !important;
  border: 1px solid rgba(190,30,30,.15) !important;
  border-radius: 50% !important;
  transition: all .35s !important;
}
.page-my-account #content .links a:hover i.material-icons {
  background: linear-gradient(135deg, rgba(190,30,30,.2), rgba(190,30,30,.08)) !important;
  border-color: rgba(190,30,30,.3) !important;
  box-shadow: 0 0 15px rgba(190,30,30,.2) !important;
}

body#my-account .page-footer, .page-my-account .page-footer { text-align: center !important; margin: 2rem 0 1.5rem !important }
body#my-account .page-footer a, .page-my-account .page-footer a {
  display: inline-block !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--g4) !important;
  padding: .5rem 1.5rem !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  transition: all .3s !important;
  text-decoration: none !important;
}
body#my-account .page-footer a:hover, .page-my-account .page-footer a:hover {
  color: var(--red) !important;
  border-color: var(--red) !important;
  box-shadow: 0 2px 15px rgba(190,30,30,.15) !important;
}

body#my-account #footer { background: rgba(10,10,10,.45) !important }

@media (max-width: 991px) { .page-my-account #content .links { grid-template-columns: repeat(2, 1fr) !important } }
@media (max-width: 576px) { .page-my-account #content .links { grid-template-columns: 1fr !important } .page-my-account #content .links a span.link-item { min-height: 100px !important; padding: 1.5rem 1rem !important } }

/* v58b fix — icons centered + bigger labels */
.page-my-account #content .links a i.material-icons {
  line-height: 1 !important;
  text-align: center !important;
  padding: 0 !important;
  font-size: 1.6rem !important;
}
.page-my-account #content .links a span.link-item {
  font-size: .88rem !important;
  letter-spacing: .08em !important;
}

/* v58b fix — spacing before footer */
body#my-account #content.page-content { margin-bottom: 2.5rem !important }

/* =============================================
   v58c — MARKETPLACE DASHBOARD (designs)
   ============================================= */

/* Container */
.fse-dashboard {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem 2rem;
}

/* Stats row */
.fse-stats {
  display: flex;
  gap: .8rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.fse-stat-card {
  flex: 1;
  min-width: 120px;
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82));
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 12px;
  padding: 1.2rem 1rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
.fse-stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
}
.fse-stat-card--accent { border-color: rgba(190,30,30,.2) }
.fse-stat-card--accent::before { background: linear-gradient(90deg, transparent, rgba(190,30,30,.4), transparent) }
.fse-stat-card--pending { border-color: rgba(212,167,50,.15) }
.fse-stat-card--pending::before { background: linear-gradient(90deg, transparent, rgba(212,167,50,.3), transparent) }
.fse-stat-card__value {
  display: block;
  font-family: var(--hf);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--w);
  line-height: 1.2;
  margin-bottom: .3rem;
}
.fse-stat-card--accent .fse-stat-card__value { color: var(--red) }
.fse-stat-card--pending .fse-stat-card__value { color: var(--gold) }
.fse-stat-card__label {
  font-family: var(--hf);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--g3);
}

/* Action bar */
.fse-actions-bar {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.2rem;
  background: linear-gradient(135deg, rgba(18,20,24,.7), rgba(14,16,20,.65));
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 10px;
}
.fse-actions-bar__hint {
  color: var(--g3) !important;
  font-size: .78rem;
  margin: 0 !important;
  font-style: italic;
}

/* Glow button */
.fse-btn-glow {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: .5rem 1.2rem !important;
  box-shadow: 0 3px 18px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  white-space: nowrap !important;
}
.fse-btn-glow:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 5px 25px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
.fse-btn-glow .material-icons { font-size: 1.1rem !important }

/* Commission info */
.fse-commission-info {
  margin-bottom: 1.5rem;
  padding: 1rem 1.2rem;
  background: linear-gradient(135deg, rgba(18,20,24,.7), rgba(14,16,20,.65));
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 10px;
}
.fse-commission-info h3 {
  font-family: var(--hf) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--g1) !important;
  margin-bottom: .8rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
.fse-commission-info h3 .material-icons { font-size: 1.1rem; color: var(--red) }
.fse-commission-grid {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
}
.fse-commission-item {
  background: rgba(10,11,14,.5);
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 8px;
  padding: .6rem 1rem;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.fse-commission-item__type {
  font-family: var(--hf);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--g3);
}
.fse-commission-item__rate {
  font-family: var(--hf);
  font-size: .82rem;
  font-weight: 600;
  color: var(--w);
}

/* Designs grid */
.fse-designs-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
.fse-design-card {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82));
  border: 1px solid rgba(255,255,255,.05);
  border-left: 3px solid var(--g5);
  border-radius: 10px;
  padding: 1.2rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  position: relative;
  transition: all .3s;
  box-shadow: 0 2px 15px rgba(0,0,0,.2);
}
.fse-design-card:hover {
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 6px 30px rgba(0,0,0,.35);
  transform: translateY(-1px);
}
.fse-design-card--published { border-left-color: #4cbb6c }
.fse-design-card--draft { border-left-color: var(--g4) }
.fse-design-card--pending { border-left-color: var(--gold) }
.fse-design-card--suspended, .fse-design-card--rejected { border-left-color: var(--red) }

/* Status badge */
.fse-design-card__status { position: absolute; top: .8rem; right: .8rem }
.fse-design-card__status .badge {
  font-family: var(--hf) !important;
  font-size: .6rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: .2rem .5rem !important;
  border-radius: 3px !important;
}

/* Visual icon */
.fse-design-card__visual {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(190,30,30,.12), rgba(190,30,30,.04));
  border: 1px solid rgba(190,30,30,.15);
  border-radius: 50%;
}
.fse-design-card__visual .material-icons { font-size: 1.5rem; color: var(--red) }

/* Info */
.fse-design-card__info { flex: 1; min-width: 0 }
.fse-design-card__name {
  font-family: var(--hf) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: var(--w) !important;
  margin: 0 0 .3rem !important;
}
.fse-design-card__meta {
  font-size: .72rem;
  color: var(--g3);
  margin-bottom: .4rem;
}
.fse-design-card__meta .fse-sep { margin: 0 .3rem; opacity: .4 }

/* Offer badges */
.fse-design-card__offers { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .4rem }
.fse-offer-badge {
  font-family: var(--hf);
  font-size: .6rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: .15rem .5rem;
  border-radius: 3px;
}
.fse-offer-badge--dxf { background: rgba(100,180,255,.12); color: #6ab4ff; border: 1px solid rgba(100,180,255,.2) }
.fse-offer-badge--sheets { background: rgba(190,30,30,.12); color: #e06060; border: 1px solid rgba(190,30,30,.2) }
.fse-offer-badge--assembled { background: rgba(212,168,83,.12); color: var(--gold); border: 1px solid rgba(212,168,83,.2) }

/* Stats */
.fse-design-card__stats {
  display: flex;
  gap: 1rem;
  font-size: .68rem;
  color: var(--g4);
}
.fse-design-card__stats span { display: inline-flex; align-items: center; gap: .2rem }
.fse-design-card__stats .material-icons { font-size: .85rem }
.fse-design-card__stats .fse-accent { color: var(--red) }

/* Actions */
.fse-design-card__actions { flex-shrink: 0; min-width: 140px; text-align: right }
.fse-design-card__actions .btn-outline-light {
  background: transparent !important;
  color: var(--g2) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 4px !important;
  font-family: var(--hf) !important;
  font-size: .68rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  transition: all .25s !important;
}
.fse-design-card__actions .btn-outline-light:hover {
  border-color: var(--red) !important;
  color: var(--w) !important;
}
.fse-pending-msg {
  font-size: .72rem;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-style: italic;
}
.fse-pending-msg .material-icons { font-size: 1rem }

/* Empty state */
.fse-empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  background: linear-gradient(135deg, rgba(18,20,24,.7), rgba(14,16,20,.65));
  border: 1px dashed rgba(255,255,255,.06);
  border-radius: 15px;
  margin-bottom: 2rem;
}
.fse-empty-state .material-icons { font-size: 3rem; color: var(--red); margin-bottom: .8rem; opacity: .6 }
.fse-empty-state h3 {
  font-family: var(--hf) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--w) !important;
  margin-bottom: .5rem !important;
}
.fse-empty-state p { color: var(--g3); font-size: .82rem; max-width: 500px; margin: 0 auto 1.2rem !important }

/* Import section */
.fse-import-section {
  margin-top: 2rem;
  padding: 1.2rem;
  background: linear-gradient(135deg, rgba(18,20,24,.6), rgba(14,16,20,.55));
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 12px;
}
.fse-import-section__title {
  font-family: var(--hf) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--g1) !important;
  margin-bottom: .3rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
.fse-import-section__title .material-icons { font-size: 1.1rem; color: var(--red) }
.fse-import-section__count {
  background: var(--red);
  color: #fff;
  font-size: .6rem;
  padding: .1rem .4rem;
  border-radius: 10px;
  margin-left: .3rem;
}
.fse-import-section__hint { color: var(--g3) !important; font-size: .75rem; margin-bottom: 1rem !important; font-style: italic }

.fse-import-grid { display: flex; flex-direction: column; gap: .6rem }
.fse-import-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 1rem;
  background: rgba(10,11,14,.5);
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 8px;
  transition: all .25s;
}
.fse-import-card:hover { border-color: rgba(255,255,255,.08); background: rgba(14,16,20,.6) }
.fse-import-card__info { flex: 1; min-width: 0 }
.fse-import-card__name {
  font-family: var(--hf);
  font-size: .85rem;
  font-weight: 600;
  color: var(--w);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.fse-import-card__ref {
  font-size: .65rem;
  color: var(--g4);
  margin-right: .5rem;
}
.fse-import-card__meta {
  font-size: .7rem;
  color: var(--g3);
  margin-top: .15rem;
}
.fse-import-card__meta .fse-sep { margin: 0 .3rem; opacity: .4 }
.fse-import-card__price {
  font-size: .75rem;
  color: var(--g2);
  margin-top: .2rem;
}
.fse-import-card__price strong { color: var(--w); font-family: var(--hf) }
.fse-import-card__date { font-size: .62rem; color: var(--g4); margin-top: .15rem }
.fse-import-card__action { flex-shrink: 0 }

/* Responsive */
@media (max-width: 768px) {
  .fse-stats { flex-wrap: wrap }
  .fse-stat-card { min-width: calc(50% - .4rem) }
  .fse-design-card { flex-direction: column; align-items: flex-start; padding: 1rem }
  .fse-design-card__actions { width: 100%; text-align: left; margin-top: .5rem }
  .fse-actions-bar { flex-direction: column; align-items: flex-start }
  .fse-import-card { flex-direction: column; align-items: flex-start }
}

/* v58c fix — texture bg + transparency for marketplace dashboard */
body.page-module-fse_marketplace-designs {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body.page-module-fse_marketplace-designs #wrapper,
body.page-module-fse_marketplace-designs main,
body.page-module-fse_marketplace-designs #content-wrapper,
body.page-module-fse_marketplace-designs #content,
body.page-module-fse_marketplace-designs .page-content { background: transparent !important }
body.page-module-fse_marketplace-designs #wrapper { padding-top: 0 !important }
body.page-module-fse_marketplace-designs #footer { background: rgba(10,10,10,.45) !important }

/* v58c fix2 — correct selector for marketplace dashboard */
body#module-fse_marketplace-designs {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#module-fse_marketplace-designs #wrapper,
body#module-fse_marketplace-designs main,
body#module-fse_marketplace-designs #content-wrapper,
body#module-fse_marketplace-designs #content,
body#module-fse_marketplace-designs .page-content { background: transparent !important }
body#module-fse_marketplace-designs #wrapper { padding-top: 0 !important }
body#module-fse_marketplace-designs #footer { background: rgba(10,10,10,.45) !important }

/* v58c fix3 — texture bg for configurateur designs page */
body#module-nondidju_configurateur-designs {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#module-nondidju_configurateur-designs #wrapper,
body#module-nondidju_configurateur-designs main,
body#module-nondidju_configurateur-designs #content-wrapper,
body#module-nondidju_configurateur-designs #content,
body#module-nondidju_configurateur-designs .page-content { background: transparent !important }
body#module-nondidju_configurateur-designs #wrapper { padding-top: 0 !important }
body#module-nondidju_configurateur-designs #footer { background: rgba(10,10,10,.45) !important }

/* v58c fix4 — texture bg for everpsblog customercomments */
body#module-everpsblog-customercomments {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#module-everpsblog-customercomments #wrapper,
body#module-everpsblog-customercomments main,
body#module-everpsblog-customercomments #content-wrapper,
body#module-everpsblog-customercomments #content,
body#module-everpsblog-customercomments .page-content { background: transparent !important }
body#module-everpsblog-customercomments #wrapper { padding-top: 0 !important }
body#module-everpsblog-customercomments #footer { background: rgba(10,10,10,.45) !important }

/* v58c fix4b — glass container for everpsblog customercomments */
body#module-everpsblog-customercomments #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem !important;
  max-width: 1000px !important;
  margin: 1rem auto 2.5rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
body#module-everpsblog-customercomments .page-header h1 {
  text-align: center !important;
  font-family: var(--hf) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  letter-spacing: .1em !important;
  margin: 1.5rem 0 1rem !important;
}

/* v58c fix4c — breadcrumb visible on customercomments */
body#module-everpsblog-customercomments .breadcrumb {
  background: rgba(14,16,20,.6) !important;
  padding: .5rem 1.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
body#module-everpsblog-customercomments .breadcrumb li a,
body#module-everpsblog-customercomments .breadcrumb li span { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .78rem !important }
body#module-everpsblog-customercomments .breadcrumb li a:hover { color: var(--w) !important }

/* v58c fix5 — readable content on empty/sparse category pages */
body#category #content.page-content,
body#category .page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.7)) !important;
  border-radius: 10px !important;
  padding: 1.5rem !important;
  margin-top: .5rem !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
body#category #js-product-list .alert,
body#category #js-product-list p {
  background: rgba(14,16,20,.9) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 8px !important;
  padding: 1.5rem !important;
  color: var(--g2) !important;
}

/* v58d — compact navbar on scroll */
#header {
  transition: all .3s cubic-bezier(.4,0,.2,1) !important;
}
#header .logo {
  transition: max-height .3s cubic-bezier(.4,0,.2,1) !important;
}
#header.fse-header-compact {
  max-height: 48px !important;
  background: rgba(10,10,10,.65) !important;
}
#header.fse-header-compact .header-top {
  padding: 0 !important;
  max-height: 48px !important;
}
#header.fse-header-compact .logo {
  max-height: 36px !important;
}
#header.fse-header-compact::after {
  background: linear-gradient(90deg, transparent 5%, rgba(190,30,30,.7) 50%, transparent 95%) !important;
}

/* v58d fix — more compact navbar on scroll */
#header.fse-header-compact {
  max-height: 42px !important;
}
#header.fse-header-compact .header-top {
  max-height: 42px !important;
}
#header.fse-header-compact .logo {
  max-height: 28px !important;
}
.top-menu > li > a {
  transition: padding .3s, font-size .3s !important;
}
#header.fse-header-compact .top-menu > li > a {
  padding: .4rem .6rem !important;
  font-size: .75rem !important;
}
#header.fse-header-compact .fse-header-actions {
  gap: .4rem !important;
}

/* =============================================


/* =============================================
   v58e — PRODUCT PAGE PREMIUM (CLEAN REWRITE)
   Single block. Zero duplicates. Zero conflicts.
   ============================================= */

/* --- TEXTURE BG --- */
body#product {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#product #wrapper,
body#product main,
body#product #content-wrapper,
body#product section#main,
body#product .fse-product { background: transparent !important }
body#product #wrapper { padding-top: 0 !important }
body#product .breadcrumb { display: none !important }
body#product #left-column { display: none !important }
body#product #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important }
body#product #footer { background: rgba(10,10,10,.45) !important }

/* --- HERO --- */
body#product .fse-phero { position: relative; min-height: 200px; overflow: hidden }
body#product .fse-phero__bg { position: absolute; inset: 0; z-index: 0 }
body#product .fse-phero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .25; filter: blur(2px) }
body#product .fse-phero__overlay { position: relative; z-index: 2; min-height: 200px; display: flex; align-items: flex-end; padding: 2.5rem 0 1.5rem; background: linear-gradient(180deg, transparent 0%, rgba(14,15,17,.5) 30%, rgba(14,15,17,.95) 100%) }
body#product .fse-phero__title { font-family: var(--hf) !important; font-size: 2.2rem !important; font-weight: 700 !important; font-style: italic !important; color: var(--w) !important; text-transform: uppercase !important; letter-spacing: .06em !important; text-shadow: 0 2px 20px rgba(0,0,0,.5) !important; margin: 0 0 .5rem !important }
body#product .fse-phero__desc, body#product .fse-phero__desc p { color: var(--g1) !important; font-size: .85rem !important; line-height: 1.7 !important; max-width: 600px !important; margin-bottom: .5rem !important }
body#product .fse-phero__ref { font-size: .7rem; color: var(--g3); letter-spacing: .06em; display: inline-flex; align-items: center; gap: .4rem }
body#product .fse-phero__reddot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--red); box-shadow: 0 0 6px rgba(190,30,30,.5) }

/* --- FORMAT BAR (centered, compact, glass) --- */
body#product .fse-pformats {
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.7)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
  max-width: 500px !important;
  margin: .8rem auto !important;
  padding: .5rem .8rem !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body#product .fse-pformats::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) !important;
}
body#product .fse-pformats .container { max-width: none !important; padding: 0 !important }
body#product .fse-pformats__tabs { display: flex !important; justify-content: center !important; gap: .5rem !important }
body#product .fse-pformats__tab { padding: .4rem 1rem; border: 1px solid var(--g5); background: transparent; color: var(--g2); font-family: var(--hf); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; text-decoration: none; border-radius: 6px; transition: all .25s }
body#product .fse-pformats__tab:hover { border-color: var(--g3); color: var(--w); background: rgba(255,255,255,.03) }
body#product .fse-pformats__tab--active { background: linear-gradient(135deg, #be1e1e, #8a0000) !important; border-color: var(--red) !important; color: #fff !important; box-shadow: 0 2px 12px rgba(190,30,30,.3) !important }

/* --- DETAIL SECTION --- */
body#product .fse-pdetail { padding: 2rem 0 !important; border-top: none !important }
body#product .fse-pdetail .container { max-width: 1000px }
body#product .fse-pdetail__row { display: flex; gap: 2.5rem; align-items: flex-start }

/* Photo */
body#product .fse-pdetail__photo { flex: 0 0 420px; position: sticky; top: 80px }
body#product .fse-pdetail__photo #content {
  background: linear-gradient(135deg, rgba(22,24,28,.7), rgba(18,20,22,.65)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3) !important;
  min-height: 380px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}
body#product .fse-pdetail__photo .images-container,
body#product .fse-pdetail__photo .product-cover { width: 100% !important }
body#product .fse-pdetail__photo .product-cover img { max-height: 350px !important; width: 100% !important; height: auto !important; object-fit: contain !important; border-radius: 8px !important; display: block !important; margin: 0 auto !important }
body#product .fse-pdetail__photo .thumb-container img { border-radius: 4px !important; border: 1px solid rgba(255,255,255,.06) !important; opacity: .7; transition: opacity .25s }
body#product .fse-pdetail__photo .thumb-container img:hover,
body#product .fse-pdetail__photo .thumb-container.selected img { opacity: 1 }
body#product .product-flags { position: absolute !important; top: .8rem !important; left: .8rem !important; z-index: 5 !important }
body#product .product-flag { background: linear-gradient(180deg, #9c1e1e, #6a1212) !important; color: #fff !important; font-family: var(--hf) !important; font-size: .6rem !important; padding: .2rem .6rem !important; border-radius: 3px !important }

/* Info right side */
body#product .fse-pdetail__info {
  flex: 1;
  background: linear-gradient(135deg, rgba(18,20,24,.6), rgba(14,16,20,.55));
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 12px;
  padding: 1.5rem;
}

/* Product name in price box */
body#product .fse-pdetail__name {
  font-family: var(--hf) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--g1) !important;
  margin: 0 0 .6rem !important;
  padding-bottom: .5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}

/* Price box */
body#product .fse-pdetail__price {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 12px !important;
  padding: 1.2rem 1.5rem !important;
  margin-bottom: 1.2rem !important;
  position: relative !important;
  overflow: hidden !important;
}
body#product .fse-pdetail__price::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body#product .fse-pdetail__price .product-price,
body#product .fse-pdetail__price .current-price { font-family: var(--hf) !important; font-size: 2.2rem !important; font-weight: 700 !important; color: var(--w) !important }
body#product .fse-pdetail__price .tax-shipping-delivery-label { font-size: .68rem !important; color: var(--g3) !important }
body#product .fse-pdetail__price .regular-price { font-size: 1rem !important; color: var(--g4) !important; text-decoration: line-through !important }
body#product .fse-pdetail__price .discount { background: linear-gradient(180deg, #9c1e1e, #6a1212) !important; color: #fff !important; font-family: var(--hf) !important; font-size: .65rem !important; padding: .15rem .5rem !important; border-radius: 3px !important }

/* Specs */
body#product .fse-pdetail__specs { list-style: none !important; padding: .8rem 1rem !important; margin: 0 0 1rem !important; display: flex; flex-direction: column; gap: .4rem; background: rgba(14,16,20,.5); border: 1px solid rgba(255,255,255,.04); border-radius: 8px }
body#product .fse-pdetail__specs li { display: flex; align-items: center; gap: .5rem; font-size: .8rem; color: var(--g1); padding: .3rem 0; border-bottom: 1px solid rgba(255,255,255,.03) }
body#product .fse-pdetail__specs li:last-child { border-bottom: none }
body#product .fse-spec-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--red); box-shadow: 0 0 6px rgba(190,30,30,.5); flex-shrink: 0 }
body#product .fse-spec-label { min-width: 100px; display: inline-block; color: var(--g2); font-family: var(--hf); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em }
body#product .fse-spec-value { color: var(--w); font-weight: 500 }

/* Add to cart */
body#product .product-add-to-cart { margin: 1rem 0 !important }
body#product .product-quantity .qty-label,
body#product .product-quantity label { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .72rem !important; text-transform: uppercase !important; letter-spacing: .06em !important }
body#product .add-to-cart { background: linear-gradient(135deg, #be1e1e, #8a0000) !important; border: none !important; color: #fff !important; font-family: var(--hf) !important; font-size: .82rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .08em !important; padding: .7rem 2rem !important; border-radius: 6px !important; box-shadow: 0 4px 20px rgba(190,30,30,.3) !important; transition: all .3s !important }
body#product .add-to-cart:hover { background: linear-gradient(135deg, #d42020, #a00000) !important; box-shadow: 0 6px 30px rgba(190,30,30,.45) !important; transform: translateY(-1px) !important }
body#product .product-quantity .qty { background: var(--g7) !important; color: var(--w) !important; border: 1px solid var(--g5) !important; font-family: var(--hf) !important }
body#product .bootstrap-touchspin .btn-touchspin { background: var(--g6) !important; border-color: var(--g5) !important; color: var(--g3) !important }
body#product .wishlist-button-add, body#product .wishlist-button-product { background: rgba(10,10,12,.4) !important; border: 1px solid rgba(255,255,255,.06) !important; border-radius: 6px !important }

/* --- QUICKBUY (centered, no "Acheter") --- */
body#product .fse-quickbuy {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .5rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  margin-top: 1rem !important;
}
/* 'Également disponible en' moved to template */
body#product .fse-quickbuy__label {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--g1) !important;
  margin-bottom: .4rem !important;
}
body#product .fse-quickbuy__btn {
  display: inline-flex !important;
  padding: .5rem 1.2rem !important;
  background: rgba(14,16,20,.6) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 6px !important;
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  transition: all .25s !important;
}
body#product .fse-quickbuy__btn:hover {
  border-color: rgba(190,30,30,.3) !important;
  color: var(--w) !important;
  background: rgba(190,30,30,.08) !important;
}

/* --- INFO SECTION --- */
body#product .fse-pinfo { padding: 2rem 0 !important; border-top: 1px solid rgba(255,255,255,.04) !important }
body#product .fse-pinfo .container { max-width: 1000px }
body#product .fse-pinfo__row { display: flex; gap: 2rem }
body#product .fse-pinfo__content { flex: 1; background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.7)); border: 1px solid rgba(255,255,255,.05); border-radius: 12px; padding: 1.5rem; position: relative; overflow: hidden }
body#product .fse-pinfo__content::before { content: ""; position: absolute; top: 0; left: 15%; right: 15%; height: 2px; background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) }
body#product .fse-pinfo__title { font-family: var(--hf) !important; font-size: 1.2rem !important; font-weight: 700 !important; font-style: italic !important; text-transform: uppercase !important; letter-spacing: .06em !important; color: var(--w) !important; margin-bottom: .8rem !important }
body#product .fse-pinfo__body, body#product .fse-pinfo__body p { color: var(--g1) !important; font-size: .82rem; line-height: 1.8; margin-bottom: 1rem }
body#product .fse-pinfo__details { display: flex; gap: 1rem; font-size: .72rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.04); margin-top: .8rem }
body#product .fse-pinfo__detail { color: var(--g3); font-family: var(--hf); text-transform: uppercase; letter-spacing: .06em }
body#product .fse-pinfo__detail--stock { color: #4cbb6c }

/* Buy other versions */
body#product .fse-pinfo__buy { flex: 0 0 260px; background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)); border: 1px solid rgba(255,255,255,.05); border-radius: 12px; padding: 1.2rem; position: relative; overflow: hidden }
body#product .fse-pinfo__buy::before { content: ""; position: absolute; top: 0; left: 15%; right: 15%; height: 2px; background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) }
body#product .fse-pinfo__buylabel { display: block; font-family: var(--hf); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--g3); margin-bottom: .8rem }
body#product .fse-pinfo__buybtn { display: flex; justify-content: space-between; align-items: center; padding: .6rem .8rem; border: 1px solid rgba(255,255,255,.04); border-radius: 6px; margin-bottom: .4rem; text-decoration: none; transition: all .25s; background: rgba(10,11,14,.4) }
body#product .fse-pinfo__buybtn:hover { border-color: rgba(190,30,30,.25); background: rgba(190,30,30,.06) }
body#product .fse-pinfo__buyname { color: var(--g1); font-family: var(--hf); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em }
body#product .fse-pinfo__buybtn:hover .fse-pinfo__buyname { color: var(--w) }
body#product .fse-pinfo__buyprice { color: var(--w); font-family: var(--hf); font-size: .85rem; font-weight: 700 }

/* --- TABS --- */
body#product .fse-ptabs { padding: 2rem 0 !important; border-top: 1px solid rgba(255,255,255,.04) !important }
body#product .fse-ptabs .container { max-width: 1000px }
body#product .fse-ptabs__box { background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.7)); border: 1px solid rgba(255,255,255,.05); border-radius: 12px; padding: 1.5rem; position: relative; overflow: hidden }
body#product .fse-ptabs__box::before { content: ""; position: absolute; top: 0; left: 15%; right: 15%; height: 2px; background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) }
body#product .fse-ptabs__nav { display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,.06); margin: 0 0 1.2rem; list-style: none; padding: 0 }
body#product .fse-ptabs__nav li { display: inline-block }
body#product .fse-ptabs__link { display: inline-block !important; padding: .7rem 1.2rem !important; font-family: var(--hf) !important; font-size: .78rem !important; text-transform: uppercase !important; letter-spacing: .08em !important; color: var(--g3) !important; cursor: pointer !important; border-bottom: 2px solid transparent !important; transition: all .25s !important; background: transparent !important; text-decoration: none !important }
body#product .fse-ptabs__link:hover { color: var(--g1) !important }
body#product .fse-ptabs__link.active,
body#product .fse-ptabs__link.js-product-nav-active { color: var(--w) !important; border-bottom-color: var(--red) !important }
body#product .fse-ptabs__content, body#product .fse-ptabs__content p { color: var(--g1) !important; font-size: .82rem !important; line-height: 1.8 !important }

/* Tab panes — Bootstrap */
body#product .tab-pane { display: none }
body#product .tab-pane.active,
body#product .tab-pane.in.active,
body#product .tab-pane.js-product-tab-active { display: block !important }
body#product .tab-pane, body#product .tab-pane p { color: var(--g1) !important }

/* Product details (Performances tab) */
body#product .product-features { background: transparent !important; padding: 0 !important; margin: 0 !important }
body#product .data-sheet { width: 100% !important; border-collapse: collapse !important }
body#product .data-sheet dt, body#product .data-sheet .name { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .75rem !important; text-transform: uppercase !important; letter-spacing: .04em !important; padding: .5rem 0 !important; border-bottom: 1px solid rgba(255,255,255,.04) !important; background: transparent !important }
body#product .data-sheet dd, body#product .data-sheet .value { color: var(--w) !important; font-size: .82rem !important; padding: .5rem 0 !important; border-bottom: 1px solid rgba(255,255,255,.04) !important; background: transparent !important }
body#product .product-reference, body#product .product-quantities, body#product .product-condition { color: var(--g2) !important }
body#product .product-reference .label, body#product .product-quantities .label, body#product .product-condition .label { color: var(--g3) !important; font-family: var(--hf) !important; font-size: .72rem !important; text-transform: uppercase !important }
body#product .product-reference span, body#product .product-quantities span, body#product .product-condition span { color: var(--g1) !important }

/* --- GALLERY --- */
body#product .fse-pgallery { padding: 2rem 0 !important; border-top: 1px solid rgba(255,255,255,.04) !important }
body#product .fse-pgallery .container { max-width: 1000px }
body#product .fse-pgallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem }
body#product .fse-pgallery__item { position: relative; overflow: hidden; border-radius: 10px; background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)); border: 1px solid rgba(255,255,255,.05); transition: all .3s; text-decoration: none }
body#product .fse-pgallery__item:hover { border-color: rgba(190,30,30,.2); box-shadow: 0 6px 25px rgba(0,0,0,.35); transform: translateY(-2px) }
body#product .fse-pgallery__item--active { border-color: rgba(190,30,30,.3) !important; box-shadow: 0 4px 20px rgba(190,30,30,.12) !important }
body#product .fse-pgallery__item img { width: 100%; height: 200px; object-fit: cover; opacity: .85; transition: all .4s }
body#product .fse-pgallery__item:hover img { opacity: 1; transform: scale(1.03) }
body#product .fse-pgallery__label { display: block; padding: .5rem .8rem; font-family: var(--hf); font-size: .68rem; color: var(--g2); text-transform: uppercase; letter-spacing: .04em; text-align: center }

/* --- REASSURANCE --- */
body#product .fse-preassure {
  background: linear-gradient(135deg, rgba(18,20,24,.88), rgba(14,16,20,.85)) !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
  padding: .8rem 0 !important;
  margin: 1.5rem 0 0 !important;
  position: relative !important;
}
body#product .fse-preassure::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 10% !important; right: 10% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) !important;
}
body#product .fse-preassure .container { max-width: 1000px !important }
body#product .fse-preassure .blockreassurance_product { border: none !important; background: transparent !important; display: flex !important; gap: .5rem !important }
body#product .fse-preassure .blockreassurance_product > div { background: rgba(10,11,14,.4) !important; border: 1px solid rgba(255,255,255,.04) !important; border-radius: 8px !important; margin: 0 !important; padding: .7rem .8rem !important; border-right: none !important; transition: all .25s !important; flex: 1 !important }
body#product .fse-preassure .blockreassurance_product > div:hover { border-color: rgba(255,255,255,.08) !important; background: rgba(14,16,20,.6) !important }
body#product .fse-preassure .blockreassurance_product .item-product img { filter: invert(1) brightness(.7) !important; width: 28px !important; height: 28px !important }
body#product .fse-preassure .blockreassurance_product .block-title { color: var(--g1) !important; font-family: var(--hf) !important; font-size: .78rem !important; text-transform: uppercase !important; letter-spacing: .04em !important }
body#product .fse-preassure .blockreassurance_product p { color: var(--g2) !important; font-size: .68rem !important; margin: .15rem 0 0 !important; line-height: 1.4 !important }
body#product .blockreassurance_product > .clearfix, body#product .blockreassurance_product > div:empty { display: none !important; flex: 0 0 0 !important; width: 0 !important; padding: 0 !important; border: none !important }

/* --- RESPONSIVE --- */
@media (max-width: 991px) {
  body#product .fse-pdetail__row { flex-direction: column }
  body#product .fse-pdetail__photo { flex: auto; width: 100%; position: static }
  body#product .fse-pinfo__row { flex-direction: column }
  body#product .fse-pinfo__buy { flex: auto; width: 100% }
  body#product .fse-pgallery__grid { grid-template-columns: repeat(2, 1fr) }
  body#product .fse-preassure .blockreassurance_product { flex-direction: column }
}
@media (max-width: 767px) {
  body#product .fse-phero__title { font-size: 1.5rem !important }
  body#product .fse-pgallery__grid { grid-template-columns: 1fr 1fr }
  body#product .fse-pformats__tabs { flex-wrap: wrap; justify-content: center }
}

/* v58e fix — format bar wider + reassurance margins */
body#product .fse-pformats {
  max-width: 650px !important;
}
body#product .fse-pformats__tab {
  padding: .45rem 1.2rem !important;
  font-size: .7rem !important;
  white-space: nowrap !important;
}
body#product .fse-preassure {
  margin: 2rem 0 1rem !important;
  padding: 1rem 0 !important;
}
body#product .fse-preassure .blockreassurance_product > div {
  padding: .8rem 1rem !important;
}

/* v58e fix2 — format tabs visible + reassurance tight */
body#product .fse-pformats {
  overflow: visible !important;
  max-width: 700px !important;
  display: block !important;
  text-align: center !important;
}
body#product .fse-pformats .container {
  overflow: visible !important;
}
body#product .fse-pformats__tabs {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}
body#product .fse-preassure .blockreassurance_product {
  margin: 0 !important;
  padding: 0 !important;
}

/* v58e fix3 — format bar truly centered */
body#product .fse-pformats {
  display: flex !important;
  justify-content: center !important;
  max-width: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: .8rem 0 !important;
  overflow: visible !important;
}
body#product .fse-pformats::before { display: none !important }
body#product .fse-pformats .container {
  display: flex !important;
  justify-content: center !important;
  max-width: none !important;
  padding: 0 !important;
}
body#product .fse-pformats__tabs {
  display: inline-flex !important;
  justify-content: center !important;
  gap: .5rem !important;
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.7)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
  padding: .5rem .8rem !important;
  position: relative !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body#product .fse-pformats__tabs::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) !important;
}

/* v58e fix4 — format bar wider, less gap below */
body#product .fse-pformats__tabs {
  padding: .6rem 2rem !important;
  gap: .6rem !important;
}
body#product .fse-pformats__tab {
  padding: .5rem 1.5rem !important;
  font-size: .72rem !important;
}
body#product .fse-pformats {
  margin-bottom: .3rem !important;
  padding: .3rem 0 !important;
}
body#product .fse-pdetail {
  padding-top: .8rem !important;
}

/* v58e fix5 — wider bar, tight gap below */
body#product .fse-pformats__tabs {
  padding: .7rem 3rem !important;
  gap: .8rem !important;
}
body#product .fse-pformats__tab {
  padding: .5rem 1.8rem !important;
  font-size: .74rem !important;
}
body#product .fse-pformats {
  margin: .5rem 0 0 !important;
  padding: 0 !important;
}
body#product .fse-pdetail {
  padding-top: .5rem !important;
  margin-top: 0 !important;
}

/* =============================================
   v58f — CART PAGE PREMIUM
   ============================================= */

/* Texture */
body#cart {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#cart #wrapper, body#cart main, body#cart #content-wrapper, body#cart #content { background: transparent !important }
body#cart #wrapper { padding-top: 0 !important }
body#cart #footer { background: rgba(10,10,10,.45) !important }

/* Page title */
body#cart .page-header h1, body#cart .cart-grid-body h1 {
  font-family: var(--hf) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
}

/* Cart items — glass */
body#cart .cart-grid-body .card-block,
body#cart .cart-grid-body .cart-overview,
body#cart .cart-grid-body {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#cart .cart-grid-body .card-block::before,
body#cart .cart-grid-body .cart-overview::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) !important;
}

/* Cart items */
body#cart .cart-item { border-bottom: 1px solid rgba(255,255,255,.04) !important; padding: 1rem !important }
body#cart .cart-item:last-child { border-bottom: none !important }
body#cart .product-line-grid-body > .product-line-info > .label,
body#cart .product-line-info a { color: var(--w) !important; font-family: var(--hf) !important; font-size: .85rem !important; text-decoration: none !important }
body#cart .product-line-info a:hover { color: var(--red) !important }
body#cart .product-line-grid-right .product-price,
body#cart .product-price { color: var(--w) !important; font-family: var(--hf) !important; font-weight: 700 !important }
body#cart .product-line-info .current-price { color: var(--g2) !important }
body#cart .product-line-grid-left img { background: rgba(14,16,20,.5) !important; border: 1px solid rgba(255,255,255,.04) !important; border-radius: 8px !important }

/* Quantity */
body#cart .bootstrap-touchspin .btn-touchspin { background: var(--g6) !important; border-color: var(--g5) !important; color: var(--g3) !important }
body#cart .bootstrap-touchspin .btn-touchspin:hover { background: var(--red) !important; color: #fff !important }
body#cart .js-cart-line-product-quantity { background: var(--g7) !important; color: var(--w) !important; border-color: var(--g5) !important }

/* Remove button */
body#cart .remove-from-cart i { color: var(--g4) !important }
body#cart .remove-from-cart:hover i { color: var(--red) !important }

/* Summary right — glass */
body#cart .cart-grid-right .card-block,
body#cart .cart-grid-right .cart-summary {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#cart .cart-grid-right .card-block::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body#cart .cart-summary-line .label { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .82rem !important; text-transform: uppercase !important }
body#cart .cart-summary-line .value { color: var(--w) !important; font-family: var(--hf) !important; font-weight: 700 !important }
body#cart .cart-summary-line.cart-total .label,
body#cart .cart-summary-line.cart-total .value { color: var(--w) !important; font-size: 1.1rem !important }
body#cart .cart-summary-line { border-bottom: 1px solid rgba(255,255,255,.04) !important; padding: .5rem 0 !important }

/* Commander button */
body#cart .checkout a, body#cart .checkout .btn-primary {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .8rem 2rem !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 20px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  width: 100% !important;
}
body#cart .checkout a:hover, body#cart .checkout .btn-primary:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 6px 30px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}

/* Reassurance on cart */
body#cart .blockreassurance_product { background: transparent !important; border: none !important }
body#cart .blockreassurance_product > div { padding: .5rem 0 !important; border-bottom: 1px solid rgba(255,255,255,.04) !important }
body#cart .blockreassurance_product > div:last-child { border-bottom: none !important }
body#cart .blockreassurance_product .block-title { color: var(--g1) !important; font-family: var(--hf) !important; font-size: .75rem !important; text-transform: uppercase !important }
body#cart .blockreassurance_product p { color: var(--g2) !important; font-size: .68rem !important }
body#cart .blockreassurance_product img { filter: invert(1) brightness(.7) !important; width: 24px !important; height: 24px !important }

/* Continue shopping */
body#cart .continue { color: var(--g4) !important; font-size: .78rem !important }
body#cart .continue:hover { color: var(--g1) !important }

/* Promo */
body#cart .block-promo { background: transparent !important }
body#cart .block-promo .promo-input { background: var(--g7) !important; color: var(--w) !important; border: 1px dashed var(--g5) !important }

/* v58f fix — cart reassurance in glass box + continue link */
body#cart .blockreassurance_product {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
  padding: .8rem 1rem !important;
  margin-top: .8rem !important;
}
body#cart .continue {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 1rem !important;
  display: inline-block !important;
}
body#cart .continue:hover { color: var(--red) !important }


/* v58f fix2 — cart: top margin, reassurance align, transparency */
body#cart #wrapper { padding-top: 15px !important }
body#cart .cart-grid-body .card-block,
body#cart .cart-grid-body .cart-overview,
body#cart .cart-grid-body {
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.72)) !important;
}
body#cart .cart-grid-right .card-block,
body#cart .cart-grid-right .cart-summary {
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.72)) !important;
}
body#cart .blockreassurance_product {
  display: flex !important;
  flex-direction: column !important;
  gap: .3rem !important;
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.72)) !important;
}
body#cart .blockreassurance_product > div {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  padding: .5rem .8rem !important;
}

/* v58f fix3 — cart alignment tweaks */
body#cart .blockreassurance_product > div {
  align-items: flex-start !important;
}
body#cart .blockreassurance_product .item-product {
  flex-shrink: 0 !important;
  margin-top: .1rem !important;
}
body#cart a[rel="nofollow"].continue,
body#cart .cart-grid-body ~ div a,
body#cart .page-footer a[data-role="continue-shopping"] {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  padding: .4rem 0 !important;
  display: inline-block !important;
  transition: color .25s !important;
}
body#cart a[rel="nofollow"].continue:hover,
body#cart .page-footer a[data-role="continue-shopping"]:hover {
  color: var(--red) !important;
}

/* v58f fix4 — align left and right cart blocks */
body#cart .cart-grid { align-items: flex-start !important }
body#cart .cart-grid-body,
body#cart .cart-grid-right { margin-top: 1rem !important }

/* v58f fix5 — cart top spacing */
body#cart .breadcrumb { display: none !important }
body#cart #wrapper .container { padding-top: 1.5rem !important }

/* v58f fix6 — PANIER title inside glass box */
body#cart .cart-grid-body h1,
body#cart .page-header h1 {
  background: linear-gradient(135deg, rgba(18,20,24,.75), rgba(14,16,20,.72)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
  padding: 1rem 1.5rem .6rem !important;
  margin: 0 !important;
}
body#cart .cart-grid-body .card-block,
body#cart .cart-grid-body .cart-overview {
  border-radius: 0 0 12px 12px !important;
  border-top: none !important;
}

/* v58f fix7 — cart: ONE unified box, undo fix6 */
body#cart .cart-grid-body h1,
body#cart .page-header h1 {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 0 .8rem !important;
  margin: 0 0 .5rem !important;
}
body#cart .cart-grid-body .card-block,
body#cart .cart-grid-body .cart-overview {
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  padding: 1.2rem 1.5rem !important;
}

/* v58f fix9 — inner padding top on cart container */
body#cart .cart-grid-body {
  padding: 1rem !important;
}

/* v58f fix10 — continue shopping visible */
body#cart .cart-grid-body a[data-role="continue-shopping"],
body#cart .cart-grid-body .continue,
body#cart a[href*="continuer"],
body#cart .page-footer .continue {
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  padding: .6rem 0 !important;
}
body#cart .cart-grid-body a[data-role="continue-shopping"]:hover,
body#cart .cart-grid-body .continue:hover {
  color: var(--red) !important;
}
body#cart .cart-grid-body a[data-role="continue-shopping"] .material-icons,
body#cart .cart-grid-body .continue .material-icons {
  font-size: 1rem !important;
  color: inherit !important;
}

/* v58f fix11 — continue shopping WHITE text */
body#cart .cart-grid-body a {
  color: var(--w) !important;
}
body#cart .cart-grid-body a:hover {
  color: var(--red) !important;
}

/* v58f fix12 — PANIER title premium */
body#cart .cart-grid-body h1,
body#cart .page-header h1 {
  text-align: center !important;
  font-style: italic !important;
  font-size: 1.3rem !important;
  letter-spacing: .12em !important;
  position: relative !important;
  padding-bottom: .6rem !important;
}
body#cart .cart-grid-body h1::after,
body#cart .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 50px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}

/* =============================================

/* =============================================
   v58g — MOBILE RESPONSIVE (DEFINITIVE)
   Key: hide all header-top children EXCEPT
   mobile_top_menu_wrapper. Never touch its display.
   PS JS handles the toggle natively.
   ============================================= */
@media (max-width: 991px) {

  /* Mobile nav bar */
  #header .header-nav {
    display: block !important;
    background: rgba(10,10,10,.45) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    padding: .4rem .8rem !important;
    position: relative !important;
    z-index: 1002 !important;
  }
  #header .header-nav .mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  /* header-top: zero visual height, overflow visible for dropdown menu */
  #header .header-top {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    position: relative !important;
  }
  #header .header-top .container {
    padding: 0 !important;
    overflow: visible !important;
    position: relative !important;
  }

  /* Hide ALL children of container EXCEPT mobile menu wrapper */
  #header .header-top .container > *:not(#mobile_top_menu_wrapper) {
    display: none !important;
  }

  /* Mobile menu: ONLY styling, NEVER touch display */
  #mobile_top_menu_wrapper {
    background: rgba(14,15,17,.97) !important;
    border-bottom: 2px solid rgba(190,30,30,.3) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    z-index: 9999 !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #mobile_top_menu_wrapper .top-menu {
    background: transparent !important;
    padding: .5rem 0 !important;
    list-style: none !important;
  }
  #mobile_top_menu_wrapper .top-menu a {
    color: var(--g1) !important;
    font-family: var(--hf) !important;
    font-size: .85rem !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    padding: .6rem 1.2rem !important;
    display: block !important;
    border-bottom: 1px solid rgba(255,255,255,.04) !important;
    text-decoration: none !important;
  }
  #mobile_top_menu_wrapper .top-menu a:hover { color: var(--red) !important }

  /* Hamburger */
  #header #menu-icon { display: block !important; visibility: visible !important; z-index: 1003 !important; order: 1 !important; flex: 0 0 auto !important }
  #header #menu-icon i { color: var(--w) !important; font-size: 1.5rem !important }

  /* Logo center */
  #header .header-nav #_mobile_logo { order: 2 !important; flex: 1 1 auto !important; display: flex !important; justify-content: center !important }
  #_mobile_logo .logo { max-height: 32px !important; filter: drop-shadow(0 0 8px rgba(190,30,30,.15)) !important }

  /* Cart + user right */
  #header .header-nav #_mobile_cart { order: 3 !important; flex: 0 0 auto !important }
  #header .header-nav #_mobile_user_info { order: 4 !important; flex: 0 0 auto !important }
  #_mobile_cart .blockcart, #_mobile_cart .blockcart a { background: transparent !important; border: none !important; box-shadow: none !important; color: var(--g2) !important; display: inline-flex !important; align-items: center !important; gap: .2rem !important; padding: .3rem !important }
  #_mobile_cart .blockcart i { color: var(--g2) !important; font-size: 1.2rem !important }
  #_mobile_cart .blockcart .cart-products-count { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .72rem !important }

  /* Product format tabs */
  body#product .fse-pformats__tabs { flex-wrap: wrap !important; gap: .4rem !important }
  body#product .fse-pformats__tab { padding: .4rem .8rem !important; font-size: .62rem !important }

  /* Cart modal */
  #blockcart-modal .modal-body { overflow-x: hidden !important; padding: 1rem !important }
}



/* v58g fix — prevent PS from hiding page content when mobile menu opens */
@media (max-width: 991px) {
  #wrapper, #footer, section#wrapper {
    display: block !important;
  }
}

/* v58h — blog pages texture bg */
body#module-everpsblog-blog,
body.page-everblog,
body.module-everpsblog-post,
body.module-everpsblog-category {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#module-everpsblog-blog #wrapper,
body.page-everblog #wrapper,
body.module-everpsblog-post #wrapper,
body.module-everpsblog-category #wrapper {
  background: transparent !important;
}
body#module-everpsblog-blog #footer,
body.page-everblog #footer,
body.module-everpsblog-post #footer,
body.module-everpsblog-category #footer {
  background: rgba(10,11,12,.92) !important;
}

/* v58h — sticky footer (always at bottom of viewport) */
html { min-height: 100% !important; display: flex !important; flex-direction: column !important }
body { min-height: 100% !important; display: flex !important; flex-direction: column !important; flex: 1 !important }
main { flex: 1 !important }

/* v58h fix — no texture below footer */
#footer { margin-top: auto !important }

/* v58h fix2 — sticky footer (footer is inside main) */
main {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}
section#wrapper {
  flex: 1 !important;
}

/* =============================================
   v58h — FOOTER PREMIUM
   ============================================= */
#footer {
  background: linear-gradient(180deg, rgba(10,11,13,.95), rgba(8,9,11,.98)) !important;
  border-top: 1px solid rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
#footer::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.4), transparent) !important;
}
#footer .footer-container {
  padding: 2rem 0 1.5rem !important;
}

/* Nav links */
#footer .fse-footer-nav {
  text-align: center !important;
  margin-bottom: 1.2rem !important;
}
#footer .fse-footer-nav a {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  text-decoration: none !important;
  transition: color .25s !important;
}
#footer .fse-footer-nav a:hover {
  color: var(--w) !important;
}
#footer .fse-footer-nav .sep {
  color: var(--g5) !important;
  margin: 0 .6rem !important;
}

/* Social icons */
#footer .fse-footer-social {
  display: flex !important;
  justify-content: center !important;
  gap: .6rem !important;
  margin-bottom: 1.2rem !important;
}
#footer .fse-footer-social a {
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 50% !important;
  color: var(--g3) !important;
  transition: all .3s !important;
}
#footer .fse-footer-social a:hover {
  background: rgba(190,30,30,.12) !important;
  border-color: rgba(190,30,30,.25) !important;
  color: var(--w) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(190,30,30,.15) !important;
}

/* Copyright */
#footer .fse-footer-copy {
  text-align: center !important;
  color: var(--g5) !important;
  font-family: var(--hf) !important;
  font-size: .62rem !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
}

/* v58h fix — footer compact */
#footer .footer-container { padding: 1.2rem 0 .8rem !important }
#footer .fse-footer-nav { margin-bottom: .6rem !important }
#footer .fse-footer-social { margin-bottom: .6rem !important; gap: .4rem !important }
#footer .fse-footer-social a { width: 28px !important; height: 28px !important }
#footer .fse-footer-social a svg { width: 12px !important; height: 12px !important }

/* v58h fix2 — footer ultra compact */
#footer .footer-container { padding: .6rem 0 .4rem !important }
#footer .fse-footer-nav { margin-bottom: .3rem !important }
#footer .fse-footer-nav a { font-size: .62rem !important }
#footer .fse-footer-social { margin-bottom: .3rem !important }
#footer .fse-footer-copy { font-size: .55rem !important }

/* v58h fix3 — footer height forced */
#footer {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}
#footer .footer-container {
  padding: .5rem 0 .3rem !important;
  margin: 0 !important;
}
#footer .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}



/* v58h fix4 — footer: bigger text, 50% less height */
#footer .fse-footer-nav a { font-size: .78rem !important }
#footer .fse-footer-nav { margin-bottom: .3rem !important }
#footer .fse-footer-social { margin-bottom: .3rem !important }
#footer .fse-footer-copy { font-size: .65rem !important }
#footer .footer-container { padding-top: .5rem !important; padding-bottom: .3rem !important }

/* v58h fix5 — footer premium gradient + bigger text */
#footer {
  background: linear-gradient(180deg, rgba(14,15,17,.92) 0%, rgba(8,9,11,.98) 50%, rgba(4,4,6,1) 100%) !important;
}
#footer .fse-footer-nav a { font-size: .82rem !important; font-weight: 500 !important }
#footer .fse-footer-copy { font-size: .68rem !important }
#footer .fse-footer-social a { width: 32px !important; height: 32px !important }
#footer .fse-footer-social a svg { width: 14px !important; height: 14px !important }

/* v58h fix6 — footer: tight spacing + visible gradient */
#footer {
  background: linear-gradient(180deg, rgba(30,12,12,.85) 0%, rgba(10,10,12,.97) 40%, rgba(4,4,6,1) 100%) !important;
}
#footer .fse-footer-nav { margin-bottom: 0 !important; padding: 0 !important; line-height: 1.2 !important }
#footer .fse-footer-social { margin-bottom: 0 !important; padding: .2rem 0 !important }
#footer .fse-footer-copy { padding: 0 0 .2rem !important; margin: 0 !important; line-height: 1.2 !important }

/* v58h fix7 — footer premium glass style */
#footer {
  background: linear-gradient(135deg, rgba(18,20,24,.92), rgba(12,13,16,.96)) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* v58h fix8 — footer same glass as header */
#footer, #footer.js-footer {
  background: rgba(10,10,10,.45) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
}
#footer::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 5% !important;
  right: 5% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.5), transparent) !important;
  z-index: 1 !important;
}

/* v58h fix10 — footer-container transparent */
#footer .footer-container,
body #footer .footer-container {
  background: transparent !important;
}

/* v58h fix10 — footer-container transparent */
#footer .footer-container,
body #footer .footer-container {
  background: transparent !important;
}

/* v58h fix — footer visible on all pages */
#footer, footer#footer, #footer.js-footer {
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
}

/* =============================================
   v58i — 404 PAGE PREMIUM
   ============================================= */
body#pagenotfound {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#pagenotfound #wrapper,
body#pagenotfound main,
body#pagenotfound #content-wrapper,
body#pagenotfound #content { background: transparent !important }
body#pagenotfound #wrapper { padding-top: 0 !important }
body#pagenotfound #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }

/* Center everything */
body#pagenotfound #content-wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 60vh !important;
}
body#pagenotfound #main,
body#pagenotfound section#main {
  text-align: center !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* Title — big, premium */
body#pagenotfound .page-header h1,
body#pagenotfound #main > h1,
body#pagenotfound section#main > h1 {
  font-family: var(--hf) !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 0 0 .5rem !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.5) !important;
}

/* 404 big number */
body#pagenotfound .page-content::before {
  content: "404" !important;
  display: block !important;
  font-family: var(--hf) !important;
  font-size: 6rem !important;
  font-weight: 700 !important;
  color: var(--red) !important;
  opacity: .3 !important;
  text-align: center !important;
  line-height: 1 !important;
  margin-bottom: .5rem !important;
  text-shadow: 0 0 40px rgba(190,30,30,.3) !important;
}

/* Glass box for content */
body#pagenotfound .page-content,
body#pagenotfound #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2.5rem 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: center !important;
}
body#pagenotfound .page-content::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.4), transparent) !important;
}

/* Hide "Aucun produit" garbage */
body#pagenotfound .page-not-found h4,
body#pagenotfound .page-not-found p {
  display: none !important;
}

/* Search bar inside 404 */
body#pagenotfound .page-content .search-widgets,
body#pagenotfound .page-content #search_widget {
  margin-top: 1.5rem !important;
}
body#pagenotfound .page-content .search-widgets input,
body#pagenotfound .page-content #search_widget input[type="text"] {
  background: var(--g7) !important;
  color: var(--w) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  padding: .6rem 1rem !important;
  font-family: var(--bf) !important;
  font-size: .85rem !important;
  width: 100% !important;
  max-width: 350px !important;
}
body#pagenotfound .page-content .search-widgets input:focus,
body#pagenotfound .page-content #search_widget input[type="text"]:focus {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 2px rgba(190,30,30,.15) !important;
  outline: none !important;
}

/* Back button */
body#pagenotfound .page-footer a,
body#pagenotfound a[href*="index"] {
  display: inline-block !important;
  margin-top: 1.5rem !important;
  padding: .5rem 1.5rem !important;
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 15px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
}
body#pagenotfound .page-footer a:hover,
body#pagenotfound a[href*="index"]:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 5px 25px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}

/* v58i fix — 404 custom message styling */
body#pagenotfound .fse-404-subtitle {
  font-family: var(--hf) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--g1) !important;
  margin: 0 0 .8rem !important;
}
body#pagenotfound .fse-404-text {
  color: var(--g3) !important;
  font-size: .85rem !important;
  line-height: 1.7 !important;
  margin: 0 0 1.5rem !important;
}
body#pagenotfound .fse-404-actions {
  margin-bottom: 1.5rem !important;
}
body#pagenotfound .fse-404-btn {
  display: inline-block !important;
  padding: .6rem 2rem !important;
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 15px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
}
body#pagenotfound .fse-404-btn:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 5px 25px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}

/* v58i — logout link visible + premium */
body#my-account .page-footer a[href*="logout"],
body#my-account .page-footer a[href*="mylogout"] {
  display: inline-block !important;
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .5rem 1.5rem !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all .3s !important;
  margin-top: 1.5rem !important;
}
body#my-account .page-footer a[href*="logout"]:hover,
body#my-account .page-footer a[href*="mylogout"]:hover {
  color: var(--red) !important;
  border-color: var(--red) !important;
  box-shadow: 0 2px 15px rgba(190,30,30,.15) !important;
}

/* v58i fix — show logout link on my-account */
body#my-account .page-footer {
  display: block !important;
}

/* v58i fix2 — logout button premium */
body#my-account .page-footer {
  text-align: center !important;
  margin: 1.5rem 0 !important;
}
body#my-account .page-footer a {
  display: inline-block !important;
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .5rem 2rem !important;
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all .3s !important;
  position: relative !important;
  overflow: hidden !important;
}
body#my-account .page-footer a::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 20% !important;
  right: 20% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.3), transparent) !important;
}
body#my-account .page-footer a:hover {
  color: var(--red) !important;
  border-color: rgba(190,30,30,.25) !important;
  box-shadow: 0 2px 15px rgba(190,30,30,.15) !important;
  transform: translateY(-1px) !important;
}

/* =============================================
   v58j — LOGIN/REGISTER PAGE PREMIUM
   ============================================= */
body#authentication {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#authentication #wrapper,
body#authentication main,
body#authentication #content-wrapper,
body#authentication #content { background: transparent !important }
body#authentication #wrapper { padding-top: 0 !important }
body#authentication #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }

/* Breadcrumb */
body#authentication .breadcrumb {
  background: rgba(14,16,20,.6) !important;
  padding: .5rem 1.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
body#authentication .breadcrumb li a,
body#authentication .breadcrumb li span { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .78rem !important }
body#authentication .breadcrumb li a:hover { color: var(--w) !important }

/* Title */
body#authentication .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.5) !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#authentication .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}

/* Form glass box */
body#authentication .login-form,
body#authentication .register-form,
body#authentication #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 550px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#authentication .login-form::before,
body#authentication .register-form::before,
body#authentication #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}

/* Labels */
body#authentication label {
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

/* Inputs */
body#authentication input[type="text"],
body#authentication input[type="email"],
body#authentication input[type="password"],
body#authentication input[type="tel"],
body#authentication select,
body#authentication textarea {
  background: var(--g7) !important;
  color: var(--w) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  padding: .6rem 1rem !important;
  font-family: var(--bf) !important;
  font-size: .85rem !important;
  transition: border-color .25s !important;
}
body#authentication input:focus,
body#authentication select:focus,
body#authentication textarea:focus {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 2px rgba(190,30,30,.15) !important;
  outline: none !important;
}

/* Show password button */
body#authentication .input-group-btn .btn,
body#authentication [data-action="show-password"] {
  background: var(--g6) !important;
  color: var(--g2) !important;
  border: 1px solid var(--g5) !important;
  font-family: var(--hf) !important;
  font-size: .68rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

/* Submit button */
body#authentication #submit-login,
body#authentication .form-control-submit,
body#authentication button[type="submit"] {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .7rem 2.5rem !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 20px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
  display: block !important;
  width: auto !important;
  margin: 1rem auto 0 !important;
}
body#authentication #submit-login:hover,
body#authentication .form-control-submit:hover,
body#authentication button[type="submit"]:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 6px 30px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}

/* Forgot password + create account links */
body#authentication .forgot-password a,
body#authentication .no-account a,
body#authentication a {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  transition: color .25s !important;
}
body#authentication .forgot-password a:hover,
body#authentication .no-account a:hover,
body#authentication a:hover {
  color: var(--red) !important;
}

/* "Pas de compte ? Créez-en un" */
body#authentication .no-account {
  text-align: center !important;
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255,255,255,.04) !important;
  color: var(--g3) !important;
  font-size: .8rem !important;
}

/* v58j fix — wider login inputs */
body#authentication input[type="text"],
body#authentication input[type="email"],
body#authentication input[type="password"] {
  min-width: 300px !important;
}

/* v58j fix2 — wider form box, full-width inputs */
body#authentication input[type="text"],
body#authentication input[type="email"],
body#authentication input[type="password"] {
  min-width: 0 !important;
  width: 100% !important;
}
body#authentication .login-form,
body#authentication .register-form,
body#authentication #content.page-content {
  max-width: 650px !important;
  padding: 2.5rem 3rem !important;
}
body#authentication .form-group {
  margin-bottom: 1rem !important;
}
body#authentication .input-group {
  width: 100% !important;
}

/* v58j fix3 — show password: icon instead of text */
body#authentication .input-group-btn .btn,
body#authentication [data-action="show-password"] {
  font-size: 0 !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: .6rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body#authentication .input-group-btn .btn::after,
body#authentication [data-action="show-password"]::after {
  content: "visibility" !important;
  font-family: "Material Icons" !important;
  font-size: 1.2rem !important;
  color: var(--g2) !important;
}

/* v58j fix4 — show password icon: unicode eye */
body#authentication .input-group-btn .btn::after,
body#authentication [data-action="show-password"]::after {
  content: "\1F441" !important;
  font-family: inherit !important;
  font-size: 1rem !important;
}
body#authentication .input-group-btn .btn,
body#authentication [data-action="show-password"] {
  text-transform: none !important;
}

/* v58j fix5 — padlock toggle icon */
body#authentication .input-group-btn .btn::after,
body#authentication [data-action="show-password"]::after {
  content: "\1F512" !important;
  font-family: inherit !important;
  font-size: 1.1rem !important;
}
body#authentication .input-group-btn .btn.fse-pass-visible::after,
body#authentication [data-action="show-password"].fse-pass-visible::after {
  content: "\1F513" !important;
}

/* =============================================
   v58k — REGISTRATION PAGE PREMIUM
   ============================================= */
body#registration {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#registration #wrapper,
body#registration main,
body#registration #content-wrapper,
body#registration #content { background: transparent !important }
body#registration #wrapper { padding-top: 0 !important }
body#registration #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }

/* Breadcrumb */
body#registration .breadcrumb {
  background: rgba(14,16,20,.6) !important;
  padding: .5rem 1.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
body#registration .breadcrumb li a,
body#registration .breadcrumb li span { color: var(--g2) !important; font-family: var(--hf) !important; font-size: .78rem !important }

/* Title */
body#registration .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.5) !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#registration .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}

/* Glass box */
body#registration #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 700px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#registration #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}

/* Labels */
body#registration label {
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

/* Inputs */
body#registration input[type="text"],
body#registration input[type="email"],
body#registration input[type="password"],
body#registration input[type="tel"],
body#registration select,
body#registration textarea {
  background: var(--g7) !important;
  color: var(--w) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  padding: .6rem 1rem !important;
  font-family: var(--bf) !important;
  font-size: .85rem !important;
  width: 100% !important;
}
body#registration input:focus,
body#registration select:focus {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 2px rgba(190,30,30,.15) !important;
  outline: none !important;
}

/* Radio buttons (M. / Mme) */
body#registration .radio-inline {
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
}

/* Help text */
body#registration .form-informations,
body#registration .form-control-comment,
body#registration small {
  color: var(--g4) !important;
  font-size: .72rem !important;
}

/* Show password */
body#registration .input-group-btn .btn,
body#registration [data-action="show-password"] {
  background: var(--g6) !important;
  color: var(--g2) !important;
  border: 1px solid var(--g5) !important;
  font-size: 0 !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: .6rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: none !important;
}
body#registration .input-group-btn .btn::after,
body#registration [data-action="show-password"]::after {
  content: "\1F512" !important;
  font-family: inherit !important;
  font-size: 1.1rem !important;
}
body#registration .input-group-btn .btn.fse-pass-visible::after,
body#registration [data-action="show-password"].fse-pass-visible::after {
  content: "\1F513" !important;
}

/* Submit */
body#registration .form-control-submit,
body#registration button[type="submit"] {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .7rem 2.5rem !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 20px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
  display: block !important;
  margin: 1.5rem auto 0 !important;
}
body#registration .form-control-submit:hover,
body#registration button[type="submit"]:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 6px 30px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}

/* "Déjà un compte ?" link */
body#registration .no-account a,
body#registration a {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  transition: color .25s !important;
}
body#registration a:hover { color: var(--red) !important }

/* Checkboxes (newsletter, CGV) */
body#registration .custom-checkbox label,
body#registration .custom-checkbox span {
  color: var(--g2) !important;
  font-size: .78rem !important;
  text-transform: none !important;
}

/* Password strength meter */
body#registration .password-strength-feedback .progress {
  background: var(--g6) !important;
  border-radius: 3px !important;
}
body#registration .password-strength-text {
  color: var(--g3) !important;
  font-size: .72rem !important;
}

/* =============================================
   v58l — CUSTOMER ACCOUNT PAGES PREMIUM
   (order-slip, history, identity, addresses, etc.)
   ============================================= */
body#order-slip,
body#history,
body#identity,
body#address,
body#addresses,
body#order-detail,
body#order-follow,
body#discount,
body#guest-tracking,
body#password {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#order-slip #wrapper, body#order-slip main, body#order-slip #content-wrapper, body#order-slip #content,
body#history #wrapper, body#history main, body#history #content-wrapper, body#history #content,
body#identity #wrapper, body#identity main, body#identity #content-wrapper, body#identity #content,
body#address #wrapper, body#address main, body#address #content-wrapper, body#address #content,
body#addresses #wrapper, body#addresses main, body#addresses #content-wrapper, body#addresses #content,
body#order-detail #wrapper, body#order-detail main, body#order-detail #content-wrapper, body#order-detail #content,
body#order-follow #wrapper, body#order-follow main, body#order-follow #content-wrapper, body#order-follow #content,
body#discount #wrapper, body#discount main, body#discount #content-wrapper, body#discount #content,
body#guest-tracking #wrapper, body#guest-tracking main, body#guest-tracking #content-wrapper, body#guest-tracking #content,
body#password #wrapper, body#password main, body#password #content-wrapper, body#password #content {
  background: transparent !important;
}
body#order-slip #footer, body#history #footer, body#identity #footer, body#address #footer,
body#addresses #footer, body#order-detail #footer, body#order-follow #footer, body#discount #footer,
body#guest-tracking #footer, body#password #footer {
  background: rgba(10,10,10,.45) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* Breadcrumb */
body#order-slip .breadcrumb, body#history .breadcrumb, body#identity .breadcrumb,
body#address .breadcrumb, body#addresses .breadcrumb, body#order-detail .breadcrumb,
body#order-follow .breadcrumb, body#discount .breadcrumb, body#password .breadcrumb {
  background: rgba(14,16,20,.6) !important;
  padding: .5rem 1.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
body#order-slip .breadcrumb li a, body#order-slip .breadcrumb li span,
body#history .breadcrumb li a, body#history .breadcrumb li span,
body#identity .breadcrumb li a, body#identity .breadcrumb li span,
body#address .breadcrumb li a, body#address .breadcrumb li span,
body#addresses .breadcrumb li a, body#addresses .breadcrumb li span {
  color: var(--g2) !important; font-family: var(--hf) !important; font-size: .78rem !important;
}

/* Title */
body#order-slip .page-header h1, body#history .page-header h1, body#identity .page-header h1,
body#address .page-header h1, body#addresses .page-header h1, body#order-detail .page-header h1,
body#order-follow .page-header h1, body#discount .page-header h1, body#password .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.5) !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#order-slip .page-header h1::after, body#history .page-header h1::after,
body#identity .page-header h1::after, body#address .page-header h1::after,
body#addresses .page-header h1::after, body#order-detail .page-header h1::after,
body#order-follow .page-header h1::after, body#discount .page-header h1::after,
body#password .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}

/* Content glass box */
body#order-slip #content.page-content, body#history #content.page-content,
body#identity #content.page-content, body#address #content.page-content,
body#addresses #content.page-content, body#order-detail #content.page-content,
body#order-follow #content.page-content, body#discount #content.page-content,
body#password #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 800px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#order-slip #content.page-content::before, body#history #content.page-content::before,
body#identity #content.page-content::before, body#address #content.page-content::before,
body#addresses #content.page-content::before, body#order-detail #content.page-content::before,
body#order-follow #content.page-content::before, body#discount #content.page-content::before,
body#password #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}

/* Tables */
body#order-slip table, body#history table, body#order-detail table {
  width: 100% !important;
  border-collapse: collapse !important;
}
body#order-slip th, body#history th, body#order-detail th {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: .6rem .8rem !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background: transparent !important;
}
body#order-slip td, body#history td, body#order-detail td {
  color: var(--g1) !important;
  font-size: .82rem !important;
  padding: .6rem .8rem !important;
  border-bottom: 1px solid rgba(255,255,255,.03) !important;
}

/* Links in tables */
body#order-slip a, body#history a, body#order-detail a {
  color: var(--g1) !important;
  text-decoration: none !important;
  transition: color .25s !important;
}
body#order-slip a:hover, body#history a:hover, body#order-detail a:hover {
  color: var(--red) !important;
}

/* Forms (identity, address, password) */
body#identity label, body#address label, body#password label {
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
body#identity input, body#identity select, body#identity textarea,
body#address input, body#address select, body#address textarea,
body#password input {
  background: var(--g7) !important;
  color: var(--w) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  padding: .6rem 1rem !important;
  font-family: var(--bf) !important;
  font-size: .85rem !important;
}
body#identity input:focus, body#address input:focus, body#password input:focus,
body#identity select:focus, body#address select:focus {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 2px rgba(190,30,30,.15) !important;
  outline: none !important;
}

/* Submit buttons */
body#identity button[type="submit"], body#address button[type="submit"],
body#password button[type="submit"], body#identity .form-control-submit,
body#address .form-control-submit, body#password .form-control-submit {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .7rem 2.5rem !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 20px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
}
body#identity button[type="submit"]:hover, body#address button[type="submit"]:hover,
body#password button[type="submit"]:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 6px 30px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}

/* Empty state message */
body#order-slip .page-content p, body#history .page-content p,
body#discount .page-content p {
  color: var(--g2) !important;
  text-align: center !important;
  font-size: .85rem !important;
}

/* Back to account link */
body#order-slip .page-footer a, body#history .page-footer a,
body#identity .page-footer a, body#address .page-footer a,
body#addresses .page-footer a, body#order-detail .page-footer a {
  color: var(--g2) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
}
body#order-slip .page-footer a:hover, body#history .page-footer a:hover {
  color: var(--red) !important;
}

/* v58l — GDPR page premium */
body#module-psgdpr-gdpr {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#module-psgdpr-gdpr #wrapper, body#module-psgdpr-gdpr main,
body#module-psgdpr-gdpr #content-wrapper, body#module-psgdpr-gdpr #content { background: transparent !important }
body#module-psgdpr-gdpr #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }
body#module-psgdpr-gdpr .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#module-psgdpr-gdpr .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 60px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}
body#module-psgdpr-gdpr #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 800px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#module-psgdpr-gdpr #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body#module-psgdpr-gdpr a { color: var(--g1) !important; transition: color .25s !important }
body#module-psgdpr-gdpr a:hover { color: var(--red) !important }
body#module-psgdpr-gdpr p, body#module-psgdpr-gdpr li { color: var(--g2) !important; font-size: .85rem !important }
body#module-psgdpr-gdpr button, body#module-psgdpr-gdpr .btn {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: .5rem 1.5rem !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 15px rgba(190,30,30,.3) !important;
  transition: all .3s !important;
}
body#module-psgdpr-gdpr button:hover, body#module-psgdpr-gdpr .btn:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  transform: translateY(-1px) !important;
}

/* v58l fix — GDPR inner cards dark */
body#module-psgdpr-gdpr .card,
body#module-psgdpr-gdpr .card-block,
body#module-psgdpr-gdpr .card-body,
body#module-psgdpr-gdpr .psgdprinfo17,
body#module-psgdpr-gdpr [class*="psgdpr"],
body#module-psgdpr-gdpr section,
body#module-psgdpr-gdpr .page-content > div {
  background: rgba(14,16,20,.6) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
  padding: 1.2rem 1.5rem !important;
  margin-bottom: 1rem !important;
  color: var(--g2) !important;
}
body#module-psgdpr-gdpr h2, body#module-psgdpr-gdpr h3, body#module-psgdpr-gdpr h4 {
  color: var(--w) !important;
  font-family: var(--hf) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-bottom: .6rem !important;
}

/* v58l — contact page text visible */
body.page-contact .contact-rich,
body.page-contact .contact-rich p,
body.page-contact .contact-rich a,
body.page-contact .contact-rich div {
  color: var(--w) !important;
}
body.page-contact .contact-rich a:hover {
  color: var(--red) !important;
}

/* v58l fix2 — GDPR buttons: only target page content, not header */
body#module-psgdpr-gdpr #header button,
body#module-psgdpr-gdpr #header .btn,
body#module-psgdpr-gdpr #header .fse-lang-btn,
body#module-psgdpr-gdpr #header .fse-currency-btn,
body#module-psgdpr-gdpr #header .fse-loupe,
body#module-psgdpr-gdpr #header .btn-unstyle {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* v58l fix3 — GDPR: flat inner sections, no double glass */
body#module-psgdpr-gdpr .card,
body#module-psgdpr-gdpr .card-block,
body#module-psgdpr-gdpr .card-body,
body#module-psgdpr-gdpr .psgdprinfo17,
body#module-psgdpr-gdpr [class*="psgdpr"],
body#module-psgdpr-gdpr section,
body#module-psgdpr-gdpr .page-content > div {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
  border-radius: 0 !important;
  padding: 1.2rem 0 !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
}
body#module-psgdpr-gdpr .page-content > div:last-child,
body#module-psgdpr-gdpr section:last-child {
  border-bottom: none !important;
}

/* v58l — email alerts page premium */
body#module-ps_emailalerts-account {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#module-ps_emailalerts-account #wrapper, body#module-ps_emailalerts-account main,
body#module-ps_emailalerts-account #content-wrapper, body#module-ps_emailalerts-account #content { background: transparent !important }
body#module-ps_emailalerts-account #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }
body#module-ps_emailalerts-account .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#module-ps_emailalerts-account .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 60px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}
body#module-ps_emailalerts-account #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 800px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#module-ps_emailalerts-account #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body#module-ps_emailalerts-account p { color: var(--g2) !important; font-size: .85rem !important }
body#module-ps_emailalerts-account a { color: var(--g1) !important; transition: color .25s !important }
body#module-ps_emailalerts-account a:hover { color: var(--red) !important }
body#module-ps_emailalerts-account table { width: 100% !important; border-collapse: collapse !important }
body#module-ps_emailalerts-account th {
  color: var(--g2) !important; font-family: var(--hf) !important; font-size: .72rem !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
  padding: .6rem .8rem !important; border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background: transparent !important;
}
body#module-ps_emailalerts-account td {
  color: var(--g1) !important; font-size: .82rem !important;
  padding: .6rem .8rem !important; border-bottom: 1px solid rgba(255,255,255,.03) !important;
}

/* v58l — logo 5% smaller with breathing room */
#header .logo {
  max-height: 95% !important;
  padding: 3px 0 !important;
}

/* v58l fix — logo smaller with margin */
#header .logo {
  max-height: 62px !important;
  padding: 0 !important;
  margin: 4px 0 !important;
}

/* =============================================
   v58m — SUBCATEGORIES PREMIUM
   ============================================= */

/* Section title */
body#category #subcategories h2,
body#category .subcategories h2,
body#category #js-product-list-header h2 {
  font-family: var(--hf) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--g2) !important;
  margin: 0 0 .8rem !important;
}

/* Subcategories container */
body#category #subcategories,
body#category .subcategories {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 1.5rem !important;
}

/* Subcategory cards — grid */
body#category #subcategories ul,
body#category .subcategories ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .8rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Individual card */
body#category #subcategories li,
body#category .subcategories li {
  flex: 0 0 auto !important;
}
body#category #subcategories li a,
body#category .subcategories li a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
  padding: .8rem 1.2rem !important;
  text-decoration: none !important;
  transition: all .3s !important;
  min-width: 120px !important;
  position: relative !important;
  overflow: hidden !important;
}
body#category #subcategories li a::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 20% !important; right: 20% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.25), transparent) !important;
}
body#category #subcategories li a:hover,
body#category .subcategories li a:hover {
  border-color: rgba(190,30,30,.2) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.3), 0 1px 10px rgba(190,30,30,.08) !important;
  transform: translateY(-2px) !important;
}

/* Subcategory image — compact */
body#category #subcategories img,
body#category .subcategories img {
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
  border: none !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.03) !important;
  margin-bottom: .4rem !important;
  opacity: .7 !important;
  transition: opacity .3s !important;
}
body#category #subcategories li a:hover img {
  opacity: 1 !important;
}

/* Subcategory name */
body#category #subcategories .subcategory-name,
body#category .subcategories span,
body#category #subcategories li a > span,
body#category #subcategories li a > div {
  color: var(--g1) !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-align: center !important;
}
body#category #subcategories li a:hover .subcategory-name,
body#category #subcategories li a:hover span {
  color: var(--w) !important;
}

/* Hide left column on category pages with subcategories */
body#category #left-column {
  display: none !important;
}
body#category #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* v58m fix — child category description readable */
body#category .fse-cat-hero__desc,
body#category .category-description,
body#category #category-description,
body#category .fse-cat-hero__desc p {
  color: var(--g1) !important;
  font-size: .85rem !important;
  line-height: 1.7 !important;
  text-align: center !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* =============================================
   v58n — SEARCH + SITEMAP + CMS PREMIUM
   ============================================= */

/* Search page */
body#search {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#search #wrapper, body#search main, body#search #content-wrapper, body#search #content { background: transparent !important }
body#search #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }
body#search .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#search .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 60px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}
body#search #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#search #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body#search p, body#search .no-products { color: var(--g2) !important; text-align: center !important }
body#search #search_widget input {
  background: var(--g7) !important;
  color: var(--w) !important;
  border: 1px solid var(--g5) !important;
  border-radius: 6px !important;
  padding: .6rem 1rem !important;
  font-size: .85rem !important;
}
body#search #search_widget input:focus {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 2px rgba(190,30,30,.15) !important;
}

/* Sitemap */
body.page-sitemap, body#sitemap {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body.page-sitemap #wrapper, body.page-sitemap main,
body.page-sitemap #content-wrapper, body.page-sitemap #content { background: transparent !important }
body.page-sitemap #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }
body.page-sitemap .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body.page-sitemap .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 60px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}
body.page-sitemap #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body.page-sitemap #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body.page-sitemap a { color: var(--g1) !important; text-decoration: none !important; transition: color .25s !important }
body.page-sitemap a:hover { color: var(--red) !important }
body.page-sitemap h2, body.page-sitemap h3 {
  color: var(--w) !important; font-family: var(--hf) !important;
  font-size: 1rem !important; text-transform: uppercase !important; letter-spacing: .06em !important;
  margin: 1rem 0 .5rem !important;
}
body.page-sitemap li { color: var(--g2) !important; font-size: .85rem !important }

/* CMS pages premium (À propos, etc.) */
body.page-cms {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body.page-cms #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }
body.page-cms .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body.page-cms .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 60px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}
body.page-cms #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body.page-cms #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body.page-cms p, body.page-cms li { color: var(--g2) !important; font-size: .85rem !important; line-height: 1.7 !important }
body.page-cms h2, body.page-cms h3 { color: var(--w) !important; font-family: var(--hf) !important }
body.page-cms a { color: var(--g1) !important; transition: color .25s !important }
body.page-cms a:hover { color: var(--red) !important }

/* v58n fix — sitemap correct selector */
body#sitemap {
  background-color: #0e0f11 !important;
  background-image: url('/themes/fsexhaust/assets/img/texture-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}
body#sitemap #wrapper, body#sitemap main,
body#sitemap #content-wrapper, body#sitemap #content { background: transparent !important }
body#sitemap #footer { background: rgba(10,10,10,.45) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important }
body#sitemap #content.page-content {
  background: linear-gradient(135deg, rgba(18,20,24,.85), rgba(14,16,20,.82)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 15px !important;
  padding: 2rem 2.5rem !important;
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  box-shadow: 0 4px 25px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position: relative !important;
  overflow: hidden !important;
}
body#sitemap #content.page-content::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.35), transparent) !important;
}
body#sitemap a { color: var(--g1) !important; text-decoration: none !important; transition: color .25s !important }
body#sitemap a:hover { color: var(--red) !important }
body#sitemap h2, body#sitemap h3 {
  color: var(--w) !important; font-family: var(--hf) !important;
  font-size: 1rem !important; text-transform: uppercase !important; letter-spacing: .06em !important;
}
body#sitemap li { color: var(--g2) !important; font-size: .85rem !important }
body#sitemap .page-header h1 {
  font-family: var(--hf) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-align: center !important;
  margin: 2rem 0 1.5rem !important;
  position: relative !important;
  padding-bottom: .8rem !important;
}
body#sitemap .page-header h1::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 60px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--red), transparent) !important;
}

/* =============================================
   v58o — COOKIE CONSENT BANNER
   ============================================= */
.fse-cookie-banner {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  background: rgba(10,10,10,.85) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  padding: 0 !important;
}
.fse-cookie-banner::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.4), transparent) !important;
}
.fse-cookie-inner {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: .8rem 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
}
.fse-cookie-text {
  color: var(--g1) !important;
  font-family: var(--bf) !important;
  font-size: .82rem !important;
  margin: 0 !important;
  flex: 1 !important;
}
.fse-cookie-actions {
  display: flex !important;
  align-items: center !important;
  gap: .8rem !important;
  flex-shrink: 0 !important;
}
.fse-cookie-btn {
  background: linear-gradient(135deg, #be1e1e, #8a0000) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--hf) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: .5rem 1.5rem !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 15px rgba(190,30,30,.3) !important;
  cursor: pointer !important;
  transition: all .3s !important;
  white-space: nowrap !important;
}
.fse-cookie-btn:hover {
  background: linear-gradient(135deg, #d42020, #a00000) !important;
  box-shadow: 0 5px 25px rgba(190,30,30,.45) !important;
  transform: translateY(-1px) !important;
}
.fse-cookie-link {
  color: var(--g3) !important;
  font-family: var(--hf) !important;
  font-size: .65rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color .25s !important;
}
.fse-cookie-link:hover {
  color: var(--g1) !important;
}
@media (max-width: 768px) {
  .fse-cookie-inner {
    flex-direction: column !important;
    text-align: center !important;
    padding: .6rem 1rem !important;
    gap: .6rem !important;
  }
}

/* v58p — translatable view-product link */
body#category .product-miniature .fse-view-link {
  display: block !important;
  margin-top: .6rem !important;
  padding-top: .4rem !important;
  border-top: 1px solid rgba(255,255,255,.04) !important;
  font-family: var(--hf) !important;
  font-size: .68rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--g3) !important;
  text-decoration: none !important;
  transition: color .25s !important;
}
body#category .product-miniature:hover .fse-view-link {
  color: var(--red) !important;
}

/* v58q — product thumbnails dark bg */
body#product .product-thumbs,
body#product .js-qv-product-images,
body#product .product-images > .thumb-container,
body#product .images-container .thumb-container,
body#product .product-thumbs .thumb-container {
  background: transparent !important;
  border: none !important;
}
body#product .product-thumbs img,
body#product .thumb-container img {
  background: var(--g7) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 4px !important;
}

/* v58q fix3 — proper thumbnail sizing */
body#product .product-thumbs {
  display: flex !important;
  gap: .4rem !important;
  margin-top: .5rem !important;
}
body#product .product-thumbs .thumb-container {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
  cursor: pointer !important;
}
body#product .product-thumbs .thumb-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* v58q fix4 — correct thumbnail selectors */
body#product ul.product-images.js-qv-product-images {
  display: flex !important;
  gap: .4rem !important;
  margin-top: .5rem !important;
  padding: 0 !important;
  list-style: none !important;
}
body#product ul.product-images .thumb-container {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
  overflow: hidden !important;
}
body#product ul.product-images .thumb-container img.thumb {
  width: 70px !important;
  height: 70px !important;
  max-height: 70px !important;
  object-fit: cover !important;
  display: block !important;
}

/* v58q fix5 — product image: contain, dark bg behind */
body#product .product-cover {
  background: var(--g7) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
body#product .product-cover img {
  object-fit: contain !important;
  background: var(--g7) !important;
  mix-blend-mode: multiply !important;
}

/* v58q fix6 — undo mix-blend-mode */
body#product .product-cover img {
  mix-blend-mode: normal !important;
  background: transparent !important;
}

/* v58q fix7 — product image cover crop, no white bars */
body#product .product-cover img {
  object-fit: cover !important;
  background: var(--g7) !important;
  mix-blend-mode: normal !important;
  width: 100% !important;
  height: 100% !important;
}
body#product .product-cover {
  background: var(--g7) !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

/* v58q — product zoom modal premium */
body#product #product-modal {
  background: rgba(0,0,0,.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
body#product #product-modal .modal-dialog {
  max-width: 90vw !important;
  margin: 2rem auto !important;
}
body#product #product-modal .modal-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
body#product #product-modal .modal-body {
  background: linear-gradient(135deg, rgba(18,20,24,.9), rgba(14,16,20,.88)) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  position: relative !important;
  overflow: hidden !important;
}
body#product #product-modal .modal-body::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 15% !important; right: 15% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(190,30,30,.4), transparent) !important;
}
body#product #product-modal .modal-body img {
  max-height: 75vh !important;
  width: auto !important;
  max-width: 100% !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 8px !important;
}
/* Description bar dark */
body#product #product-modal .image-caption,
body#product #product-modal figcaption,
body#product #product-modal .modal-body p,
body#product #product-modal .product-description {
  background: rgba(14,15,17,.8) !important;
  color: var(--g2) !important;
  font-family: var(--bf) !important;
  font-size: .82rem !important;
  padding: .6rem 1rem !important;
  border-radius: 0 0 8px 8px !important;
  margin: 0 !important;
  border: none !important;
}
/* Close button */
body#product #product-modal .close,
body#product #product-modal button.close {
  color: var(--w) !important;
  opacity: 1 !important;
  font-size: 1.5rem !important;
  text-shadow: none !important;
  position: absolute !important;
  top: .5rem !important;
  right: .8rem !important;
  z-index: 10 !important;
}
/* Thumbnails in modal */
body#product #product-modal .thumbnails,
body#product #product-modal .js-modal-product-images {
  background: transparent !important;
  padding: .5rem 0 !important;
}
body#product #product-modal .thumb-container {
  background: transparent !important;
}
body#product #product-modal .thumb-container img {
  background: var(--g7) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 4px !important;
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
}

/* v58q fix8 — zoom modal: full width centered image */
body#product #product-modal .modal-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
body#product #product-modal .modal-body .col-md-6,
body#product #product-modal .modal-body .col-md-8,
body#product #product-modal .modal-body .col-lg-8,
body#product #product-modal .modal-body > .row {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
body#product #product-modal .modal-body .product-cover-modal,
body#product #product-modal .modal-body img.js-modal-product-cover {
  max-height: 70vh !important;
  max-width: 90% !important;
  width: auto !important;
  display: block !important;
  margin: 0 auto !important;
}
/* Hide the right column (duplicate thumbnails) */
body#product #product-modal .modal-body aside,
body#product #product-modal .modal-body .thumbnails,
body#product #product-modal .modal-body .col-md-4,
body#product #product-modal .modal-body .col-lg-4 {
  display: none !important;
}

/* v58q fix9 — zoom modal: lighter overlay, close button visible */
body#product #product-modal {
  background: rgba(0,0,0,.7) !important;
}
body#product #product-modal .modal-body {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
body#product #product-modal .modal-body::before {
  display: none !important;
}
body#product #product-modal .modal-content {
  background: transparent !important;
}
/* Close button — always visible top right */
body#product #product-modal .close,
body#product #product-modal button.close,
body#product #product-modal [data-dismiss="modal"],
body#product #product-modal .btn-close {
  display: block !important;
  position: fixed !important;
  top: 1rem !important;
  right: 1.5rem !important;
  z-index: 99999 !important;
  color: var(--w) !important;
  opacity: 1 !important;
  font-size: 2rem !important;
  background: rgba(14,15,17,.8) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 36px !important;
  text-align: center !important;
  cursor: pointer !important;
}
/* Click on overlay closes modal */
body#product #product-modal .modal-dialog {
  pointer-events: none !important;
}
body#product #product-modal .modal-content {
  pointer-events: auto !important;
}

/* v58q fix10 — correct modal selectors */
.js-product-images-modal.modal {
  background: rgba(0,0,0,.7) !important;
}
.js-product-images-modal .modal-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.js-product-images-modal .modal-body {
  background: transparent !important;
  border: none !important;
  padding: 1rem !important;
}
.js-product-images-modal .modal-body img {
  max-height: 75vh !important;
  max-width: 90vw !important;
  width: auto !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 8px !important;
}
.js-product-images-modal .modal-body figcaption {
  background: rgba(14,15,17,.8) !important;
  color: var(--g2) !important;
  padding: .5rem 1rem !important;
  border-radius: 0 0 8px 8px !important;
  text-align: center !important;
  font-size: .82rem !important;
}
/* Close button */
.js-product-images-modal .close,
.js-product-images-modal button.close {
  display: block !important;
  position: absolute !important;
  top: .5rem !important;
  right: .8rem !important;
  z-index: 99999 !important;
  color: var(--w) !important;
  opacity: 1 !important;
  font-size: 2rem !important;
  background: rgba(14,15,17,.8) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 36px !important;
  text-align: center !important;
  cursor: pointer !important;
}
/* Hide sidebar thumbnails */
.js-product-images-modal aside,
.js-product-images-modal .thumbnails {
  display: none !important;
}

/* v58q fix11 — zoom modal: close button + lighter bg */
.js-product-images-modal.modal,
.js-product-images-modal.modal.in {
  background: rgba(0,0,0,.5) !important;
}
.modal-backdrop {
  background: transparent !important;
  opacity: 0 !important;
}
.fse-modal-close {
  position: absolute !important;
  top: .8rem !important;
  right: .8rem !important;
  z-index: 99999 !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(14,15,17,.8) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 50% !important;
  color: var(--w) !important;
  font-size: 1.5rem !important;
  line-height: 36px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all .25s !important;
}
.fse-modal-close:hover {
  background: rgba(190,30,30,.6) !important;
  border-color: rgba(190,30,30,.4) !important;
}

/* v58q fix12 — zoom modal: centered, close on photo */
.js-product-images-modal .modal-dialog {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  margin: 0 auto !important;
  max-width: none !important;
  width: 100% !important;
}
.js-product-images-modal .modal-content {
  position: relative !important;
  display: inline-block !important;
  max-width: 85vw !important;
  margin: 0 auto !important;
}
.js-product-images-modal .modal-body figure {
  position: relative !important;
  margin: 0 !important;
  cursor: pointer !important;
}
.fse-modal-close {
  position: absolute !important;
  top: -.5rem !important;
  right: -.5rem !important;
}

/* v58q fix13 — product images: transparent bg, texture shows through */
body#product .product-cover,
body#product .fse-pdetail__photo #content {
  background: transparent !important;
}
body#product .product-cover img {
  object-fit: contain !important;
  background: transparent !important;
}
body#category .product-miniature img,
body#category .product-thumbnail img {
  object-fit: contain !important;
  background: transparent !important;
}
