/* ================================================================
   CEFRA.SK — Dark Industrial v2
   Palette: Acier #0D0F12 | Graphite #1A1D22 | Chrome #C0C8D0 | Orange #E8732A
================================================================ */

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

:root {
  --acier:     #0D0F12;
  --graphite:  #1A1D22;
  --graphite2: #22262D;
  --chrome:    #C0C8D0;
  --chrome-dim:#8A9099;
  --orange:    #E8732A;
  --orange-lt: #F08A45;
  --blanc:     #F0F2F4;
  --border:    rgba(192,200,208,0.18);
  --sh:  0 2px 12px rgba(0,0,0,0.4);
  --sh2: 0 8px 32px rgba(0,0,0,0.6);
  --ease: all 0.25s cubic-bezier(0.4,0,0.2,1);
}

/* ── RESET GLOBAL BLANC ── */
*, *::before, *::after { box-sizing: border-box; }

html, body,
#wrapper, #content-wrapper, .l-wrapper, .l-wrapper--boxed,
#main, main, #content, .page-content,
.container, .container-fluid,
.row, [class*="col-"],
section, aside, article,
.page-wrapper, .page-home,
.left-column, .right-column, .center-column {
  background-color: var(--acier) !important;
  color: var(--chrome) !important;
}

html, body {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

a { color: var(--orange) !important; text-decoration: none !important; transition: var(--ease); }
a:hover { color: var(--orange-lt) !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Oswald', sans-serif !important;
  color: var(--blanc) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

p, span, li, td, th, label, small { color: var(--chrome) !important; }

/* ── HEADER ── */
#header, .header-top, header, .header-nav,
#header .header-top, #header .header-nav,
.header-top .header-top-col,
._desktop_user_info, ._desktop_cart,
.header__search { background: var(--graphite) !important; }

#header {
  border-bottom: 2px solid var(--orange) !important;
  box-shadow: var(--sh2) !important;
}

.logo img, #_mobile_logo img { filter: brightness(0) invert(1); }

/* ── NAV MENU ── */
#_desktop_top_menu, #_desktop_top_menu nav,
.top-menu, .top-menu ul, .top-menu li,
#top-menu { background: var(--graphite2) !important; }

.top-menu > ul > li > a, .top-menu a,
#top-menu a {
  color: var(--chrome) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em;
  padding: 14px 18px !important;
}

.top-menu > ul > li:hover > a,
.top-menu > ul > li.sfHover > a,
.top-menu a:hover { color: var(--orange) !important; background: rgba(232,115,42,0.12) !important; }

/* Dropdown submenu */
.popover, .popover-content, .top-menu .sub-menu,
ul[id^="top-menu-"] { background: var(--graphite) !important; border: 1px solid var(--border) !important; }
.popover .popover-body { background: var(--graphite) !important; }

/* ── SEARCH ── */
.search-widget form, .search-widget input,
input#search_query_top, input.ui-autocomplete-input {
  background: var(--graphite2) !important;
  border: 1px solid var(--border) !important;
  color: var(--blanc) !important;
  border-radius: 4px !important;
}

/* ── PRODUCT CARDS ── */
.card, .product-miniature, article.product-miniature,
.product-miniature .card,
.js-product-miniature { 
  background: var(--graphite) !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  transition: var(--ease) !important;
  overflow: hidden;
}

.card:hover, .product-miniature:hover,
article.product-miniature:hover {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 1px var(--orange), var(--sh2) !important;
  transform: translateY(-2px);
}

.card-body, .product-miniature .card-body,
.product-description, .card-img-top { 
  background: var(--graphite) !important; 
  padding: 14px !important;
}

.product-title a, .product-title, .card-title a {
  color: var(--blanc) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  text-transform: uppercase;
}

.price, .product-price-and-shipping .price,
.product-price strong {
  color: var(--orange) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  font-family: 'Oswald', sans-serif !important;
}

/* ── PRODUCT DETAIL PAGE ── */
#product, .page-product,
.product-container, .product-information,
.product-images-container, .product-add-to-cart,
.product-variants, .product-features, .product-tabs,
.tabs, .tab-content, .tab-pane,
#product-infos-tabs, #product-infos-tab-content {
  background: var(--acier) !important;
  color: var(--chrome) !important;
}

.product-cover, .product-cover img { background: var(--graphite) !important; }

.nav-tabs { border-bottom: 1px solid var(--border) !important; }
.nav-tabs .nav-link {
  background: var(--graphite) !important;
  color: var(--chrome-dim) !important;
  border: 1px solid transparent !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  background: var(--graphite2) !important;
  color: var(--orange) !important;
  border-color: var(--border) var(--border) var(--graphite2) !important;
}

/* ── SIDEBAR / FILTRES ── */
#left-column, #right-column,
.facets-sidebar, .block-category,
.facet, .facet-label, .facet-title,
[id$="_left_column"], .filter-block {
  background: var(--graphite) !important;
  border-radius: 6px;
  padding: 16px;
  border: 1px solid var(--border) !important;
}

.facet-title { 
  color: var(--blanc) !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 8px;
}

/* ── BOUTONS ── */
.btn-primary, .add-to-cart, button[type=submit],
.btn-primary.disabled, .btn-primary:disabled {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-radius: 4px !important;
  transition: var(--ease) !important;
}

.btn-primary:hover, .add-to-cart:hover { 
  background: var(--orange-lt) !important; 
  border-color: var(--orange-lt) !important;
}

.btn-secondary, .btn-default, .btn-unstyle {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--chrome) !important;
}

/* ── CART / CHECKOUT ── */
.cart-preview .body, .cart-detailed,
.cart-container, .cart-summary,
.cart-block, #cart, .checkout,
.js-cart-panel, .cart-item, .card-block {
  background: var(--graphite) !important;
  border-color: var(--border) !important;
  color: var(--chrome) !important;
}

.cart-grid-right .card { background: var(--graphite) !important; }
.cart-total, .cart-subtotals { color: var(--blanc) !important; }
.promo-code { background: var(--graphite2) !important; }

/* ── BREADCRUMB ── */
.breadcrumb, nav.breadcrumb, ol.breadcrumb { 
  background: transparent !important;
  border: none !important;
}
.breadcrumb-item a { color: var(--chrome-dim) !important; }
.breadcrumb-item.active { color: var(--blanc) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--chrome-dim) !important; }

/* ── SECTION TITLES ── */
.section-title, .products-section-title, h2.h3 {
  font-family: 'Oswald', sans-serif !important;
  color: var(--blanc) !important;
  border-bottom: 2px solid var(--orange) !important;
  padding-bottom: 10px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 24px !important;
}

/* ── CATEGORY HEADER ── */
.page-header, .page-header h1,
#category .category-description,
.category-cover { background: var(--acier) !important; }

/* ── PAGINATION ── */
.pagination .page-link {
  background: var(--graphite) !important;
  border-color: var(--border) !important;
  color: var(--chrome) !important;
}
.pagination .page-item.active .page-link {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
}
.pagination .page-item.disabled .page-link { background: var(--graphite2) !important; opacity: 0.4; }

/* ── TABLES ── */
table { color: var(--chrome) !important; border-color: var(--border) !important; }
thead, thead tr, thead th { 
  background: var(--graphite2) !important; 
  color: var(--blanc) !important; 
  font-family: 'Oswald', sans-serif !important;
  border-color: var(--border) !important;
}
tbody tr { border-bottom: 1px solid var(--border) !important; }
tbody tr:hover { background: rgba(255,255,255,0.03) !important; }
td, th { 
  background: transparent !important; 
  border-color: var(--border) !important;
  color: var(--chrome) !important;
}

/* ── FORMS ── */
input, select, textarea, .form-control,
.input-group, .input-group-text {
  background: var(--graphite2) !important;
  border: 1px solid var(--border) !important;
  color: var(--blanc) !important;
  border-radius: 4px !important;
}
input::placeholder, textarea::placeholder { color: var(--chrome-dim) !important; }
input:focus, select:focus, textarea:focus, .form-control:focus {
  border-color: var(--orange) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(232,115,42,0.25) !important;
}
label { color: var(--chrome) !important; }

/* ── ALERTS / NOTIFICATIONS ── */
.alert { border-radius: 4px !important; }
.alert-info { background: rgba(232,115,42,0.15) !important; border-color: var(--orange) !important; color: var(--blanc) !important; }
.alert-success { background: rgba(39,174,96,0.15) !important; border-color: #27ae60 !important; color: #2ecc71 !important; }
.alert-danger { background: rgba(192,57,43,0.15) !important; border-color: #c0392b !important; color: #e74c3c !important; }

/* ── BADGES ── */
.badge, .tag { border-radius: 3px !important; font-family: 'Oswald', sans-serif !important; }
.badge-secondary { background: var(--graphite2) !important; color: var(--chrome) !important; }
.badge-danger { background: #c0392b !important; color: #fff !important; }

/* ── BLOCKCART ── */
.blockcart { color: var(--chrome) !important; }
.blockcart .cart-products-count {
  background: var(--orange) !important; color: #fff !important;
  border-radius: 50% !important; width: 20px; height: 20px;
  font-size: 11px; line-height: 20px;
}

/* ── FOOTER ── */
footer, #footer, .footer-container,
footer .container, footer .row {
  background: var(--graphite) !important;
  color: var(--chrome-dim) !important;
}
#footer { border-top: 2px solid var(--orange) !important; }
footer a, #footer a { color: var(--chrome) !important; }
footer a:hover, #footer a:hover { color: var(--orange) !important; }
.footer-container h3, .footer-container .h3 { 
  color: var(--blanc) !important; 
  font-family: 'Oswald', sans-serif !important;
  font-size: 13px !important;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

/* ── MODAL / OVERLAY ── */
.modal-content { background: var(--graphite) !important; border-color: var(--border) !important; }
.modal-header { border-bottom: 1px solid var(--border) !important; }
.modal-footer { border-top: 1px solid var(--border) !important; }
.modal-title { color: var(--blanc) !important; }

/* ── DROPDOWN ── */
.dropdown-menu {
  background: var(--graphite) !important;
  border: 1px solid var(--border) !important;
}
.dropdown-item { color: var(--chrome) !important; }
.dropdown-item:hover { background: rgba(232,115,42,0.12) !important; color: var(--orange) !important; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--acier); }
::-webkit-scrollbar-thumb { background: var(--graphite2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--orange); }

/* ── PRODUCT IMAGES ── */
.product-cover img, .thumb-container img,
.product-image img { border-radius: 4px !important; }

/* ── CAROUSEL / SLIDER ── */
#index .carousel, .carousel { border-bottom: 3px solid var(--orange) !important; }
.carousel-control-next, .carousel-control-prev { 
  background: rgba(232,115,42,0.7) !important; 
  border-radius: 50%;
  width: 40px; height: 40px; margin: auto;
}

/* ── QUANTITY SELECTOR ── */
.qty { background: var(--graphite2) !important; border-color: var(--border) !important; }
.bootstrap-touchspin { background: transparent !important; }
.btn-touchspin { 
  background: var(--graphite2) !important; 
  border-color: var(--border) !important; 
  color: var(--chrome) !important;
}

/* ── CATEGORY FILTERS TOOLBAR ── */
.products-sort-order select,
.products-per-page select,
#js-product-list-top, .sort-by-row,
.products-selection {
  background: var(--graphite) !important;
  color: var(--chrome) !important;
  border-color: var(--border) !important;
}

/* ================================================================
   CEFRA.SK — Patch v2.1 — footer links + boîtes résiduelles
================================================================ */

/* Footer liens — override PS classic spécifique */
.footer-container a,
.footer-container .footer-links a,
.footer-container ul li a,
.block-contact a, .linklist a,
#footer .footer-container a,
footer .footer-links .h3 a {
  color: var(--chrome) !important;
}
.footer-container a:hover,
.footer-container .footer-links a:hover { color: var(--orange) !important; }

/* Newsletter module */
.ps-emailsubscription-block,
#footer .block_newsletter, .block_newsletter,
.block_newsletter .newsletter-input,
.block_newsletter form { background: var(--graphite2) !important; }

/* Boîtes résiduelles blanches */
.block, .block-content, [class*="block_"],
.featured-products, .products-featured,
.home-featured, #content .container { background: var(--acier) !important; }

/* PS custom text module */
.ps-customtext, #custom-text, 
[id^="custom-"] { background: var(--graphite) !important; color: var(--chrome) !important; }

/* Image slider / banner boxes */
.ps-banner, .banner,
.slider-caption { background: transparent !important; }

/* Corrections spécifiques footer PS9 */
.footer-container .row,
.footer-container .container,
.footer-container .col-md-6,
.footer-container .col-sm-3,
.footer-container .col-xs-12 { background: var(--graphite) !important; }

/* Copyright bar */
.footer-bottom, #footer .footer-bottom,
.footer-bottom .row, .footer-bottom .container {
  background: var(--acier) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--chrome-dim) !important;
}

/* Ps_linklist */
.linklist { background: transparent !important; }
.linklist .block-title, .linklist h3 {
  color: var(--blanc) !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  font-size: 13px !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

/* ================================================================
   PATCH v2.2 — Suppression cadres / look épuré
================================================================ */

/* Supprimer les bordures des cards produit */
.card, .product-miniature, article.product-miniature,
.product-miniature .card, .js-product-miniature {
  border: none !important;
  border-radius: 6px !important;
  background: var(--graphite) !important;
  box-shadow: var(--sh) !important;
}

.card:hover, .product-miniature:hover, article.product-miniature:hover {
  border: none !important;
  box-shadow: 0 4px 20px rgba(232,115,42,0.25), var(--sh2) !important;
  transform: translateY(-3px);
}

/* Supprimer les bordures des blocs sidebar/filtres */
#left-column, #right-column,
.facets-sidebar, .block-category,
.facet, .filter-block {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Blocs footer sans cadre */
.footer-container .row > [class*="col-"],
.linklist, .ps-emailsubscription-block,
#footer .block_newsletter {
  border: none !important;
  background: transparent !important;
}

/* Séparateur footer discret */
.footer-container { border-top: 1px solid var(--border) !important; }

/* Blocks généraux sans cadre */
.block, .block-content, [class*="block_"],
.ps-customtext, .featured-products {
  border: none !important;
  background: transparent !important;
}

/* Cart summary plus doux */
.cart-grid-right .card,
.cart-detailed-totals, .cart-summary {
  border: none !important;
  background: var(--graphite) !important;
  box-shadow: var(--sh) !important;
}

/* Page catégorie: thumbnail image sans cadre */
.product-miniature .card-img-top,
.product-miniature img { 
  border-bottom: none !important; 
  background: var(--graphite2) !important;
}

/* ================================================================
   PATCH v2.3 — Header blanc + search + slider
================================================================ */

/* Header top complet — tous les éléments */
#header, #header *, header, header *,
.header-top, .header-top *,
.header-nav, .header-nav *,
._desktop_user_info, ._desktop_user_info *,
._desktop_cart, ._desktop_cart *,
._desktop_language_selector, ._desktop_language_selector *,
._desktop_currency_selector, ._desktop_currency_selector *,
.user-info, .user-info *,
.cart-preview, .cart-preview *,
.header-right, .header-right *,
#_desktop_cart, #_desktop_user_info,
.position-static, nav.header-nav {
  background: var(--graphite) !important;
  background-color: var(--graphite) !important;
  color: var(--chrome) !important;
}

/* Ligne orange déjà OK — garder */
#header { border-bottom: 2px solid var(--orange) !important; }

/* Dropdown user / panier */
.user-info a, ._desktop_user_info a,
.cart-preview a, ._desktop_cart a {
  color: var(--chrome) !important;
}

/* Search — fix double placeholder */
.search-widget, .search-widget form,
#search_widget, #search_widget form,
.search-widget input[type=text],
input#search_query_top {
  background: var(--graphite2) !important;
  color: var(--blanc) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
}

/* Masquer le pseudo-placeholder "search" qui chevauche */
.search-widget input[type=text]::placeholder { 
  color: var(--chrome-dim) !important; 
  opacity: 1 !important;
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
}

/* Icône search */
.search-widget button, #search_widget button,
.search-widget .search-toggle-btn {
  background: var(--orange) !important;
  border: none !important;
  color: #fff !important;
}


/* ================================================================
   PATCH v2.4 — Newsletter bloc uniforme + footer cleanup
================================================================ */

/* Newsletter — tout en une seule couleur */
#footer .block_newsletter,
.block_newsletter, .ps-emailsubscription-block,
#footer .block_newsletter *,
.block_newsletter .block-title,
.block_newsletter p, .block_newsletter form,
.block_newsletter .form-group,
.block_newsletter .input-group,
.block_newsletter .col-xs-12,
.block_newsletter .col-md-6,
.block_newsletter .col-md-12,
[id*="blockemailsubscription"],
[id*="emailsubscription"],
#footer [class*="newsletter"] {
  background: var(--graphite) !important;
  background-color: var(--graphite) !important;
  border: none !important;
  color: var(--chrome) !important;
}

.block_newsletter h2, .block_newsletter .h3,
.block_newsletter .block-title {
  color: var(--blanc) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
}

/* Section newsletter entière */
.footer_after_content, #footer .footer_after_content,
#footer > .container > .row:first-child,
.footer-before-columns { 
  background: var(--graphite) !important; 
  padding: 30px 0 !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Colonnes footer toutes identiques */
.footer-container .col-md-3,
.footer-container .col-sm-4,
.footer-container .col-xs-12,
.footer-container [class*="col-"] { 
  background: var(--graphite) !important; 
}


/* ================================================================
   PATCH v2.5 — search label + shopping cart text + slider
================================================================ */

/* Masquer le texte "search" dans le bouton recherche */
.search-widget button span,
.search-widget button .search-label,
#search_widget button span,
.search-widget .search-toggle-btn span,
input[type=search] + button span,
.material-icons { display: none !important; }

/* Garder seulement l'icône search */
.search-widget button::after {
  content: '🔍';
  display: inline-block;
  font-size: 16px;
}

/* Masquer "shopping cart" text du module panier */
.blockcart .cart-label,
._desktop_cart .cart-label,
#_desktop_cart .cart-label,
.cart-products-count + span,
.blockcart span.label,
.cart-preview .cart-label,
.header-right .cart-label { display: none !important; }

/* "Košík" uniquement */
.blockcart .header a::after { content: '' !important; }

/* Slider : forcer masquage si encore présent */
#homeslider, .ps-imageslider, #carousel,
.carousel.slide, #_desktop_imageslider,
[id*="imageslider"], [class*="imageslider"] {
  display: none !important;
}


/* ================================================================
   PATCH v2.6 — Supprimer bande noire footer + logo
================================================================ */

/* Bande séparatrice footer */
#footer hr, footer hr,
.footer-container hr,
#footer .separator, footer .separator,
#footer > .container > hr,
.block_newsletter + hr,
#footer .row + hr { display: none !important; }

/* Uniformiser TOUT le footer */
#footer, #footer > *, #footer .container,
#footer .row, #footer [class*="col-"],
.footer-container, .footer-container > *,
.footer-before-columns, .footer-after-content,
#_footer_links, #_footer_account_list { 
  background: var(--graphite) !important;
  background-color: var(--graphite) !important;
}

/* Supprimer tout padding/margin parasite entre sections */
#footer > .container { padding-top: 0 !important; }
.footer-container .footer-links { margin-top: 0 !important; }


/* ================================================================
   PATCH v2.7 — custom-text bar + logo
================================================================ */

/* Masquer le module custom-text vide qui crée une barre */
#custom-text:empty, #custom-text p:empty,
#custom-text { 
  display: none !important; 
}

/* Logo dans header */
#_desktop_logo img, .top-logo img,
#_desktop_logo .logo, .logo {
  max-height: 60px !important;
  width: auto !important;
}

/* Header top-bar (contact link) — si elle crée une barre */
#_desktop_contact_link { 
  background: var(--graphite) !important; 
  border-bottom: none !important;
}
#contact-link a { color: var(--chrome-dim) !important; font-size: 13px !important; }

/* Supprimer toute ligne/barre entre header et contenu */
#header + *, #wrapper > *:first-child { margin-top: 0 !important; }
.container-fluid, .l-wrapper { border: none !important; }


/* ================================================================
   PATCH v2.8 — Double ligne orange + menu categories
================================================================ */

/* Supprimer la double ligne orange */
#header { border-bottom: 2px solid var(--orange) !important; }
#header + *, .l-wrapper, #wrapper,
.header-bottom, .header-bottom * { border-top: none !important; }

/* Supprimer les hr oranges parasites dans la page */
hr { border-color: var(--border) !important; border-width: 1px !important; }
hr + hr { display: none !important; }

/* Homepage featured categories (ps_linklist) — masquer si pas les bonnes */
#_desktop_category_products { display: none !important; }

/* Menu principal — forcer affichage correct */
#top-menu > .top-menu > li > a,
.js-top-menu > ul > li > a {
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--chrome) !important;
  padding: 16px 20px !important;
}


/* ================================================================
   PATCH v2.9 — Supprimer 2ème ligne orange + ps_customtext
================================================================ */

/* UNE SEULE ligne orange: uniquement sur #header */
#header { border-bottom: 2px solid var(--orange) !important; }

/* Supprimer toute autre bordure orange parasite */
#wrapper, section#wrapper, .l-wrapper, .l-wrapper--boxed,
#notifications, #content-wrapper, #main, #content,
.page-home, .container, .row,
#_desktop_top_menu, .top-menu-container,
.header-bottom { 
  border-top: none !important; 
  border-bottom: none !important; 
}

/* Section titles: uniquement dans les vrais conteneurs de catégorie/produits */
.products-list .section-title,
#js-product-list .section-title,
.featured-products .section-title {
  border-bottom: 2px solid var(--orange) !important;
}

/* Annuler le border-bottom sur h2.h3 en haut de page */
#content.page-home h2, #content.page-home .h3,
#custom-text h2, #custom-text .h3,
.page-home > *:first-child { 
  border-bottom: none !important; 
}

/* ps_customtext — forcer display none (désactivé mais template persiste) */
#custom-text, [id="custom-text"],
.ps-customtext, div#custom-text { 
  display: none !important; 
  visibility: hidden !important; 
  height: 0 !important; 
  overflow: hidden !important;
}


/* ================================================================
   PATCH v3.0 — page-footer interne reçoit la bordure orange
================================================================ */

/* Annuler border-top orange sur TOUT élément footer sauf #footer */
footer { border-top: none !important; }

/* Remettre SEULEMENT sur le footer principal du site */
footer#footer, footer.js-footer, #footer {
  border-top: 2px solid var(--orange) !important;
}

/* page-footer (footer interne dans #main) — transparent */
footer.page-footer, .page-footer {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ================================================================
   PATCH v3.1 — UNE SEULE ligne orange (header-top avait aussi border)
================================================================ */

/* Annuler border-bottom sur TOUT sauf le bas du header principal */
.header-top, .header-nav, #header .header-top,
#header .header-nav, .header-top .header-top-col,
nav.header-nav, #_desktop_top_menu, .top-menu,
._desktop_user_info, ._desktop_cart, #_desktop_logo,
#_desktop_contact_link, #contact-link {
  border-bottom: none !important;
  border-top: none !important;
}

/* UNE SEULE ligne orange: tout en bas du header */
#header {
  border-bottom: 2px solid var(--orange) !important;
}


/* ================================================================
   PATCH v3.2 — Icônes blockreassurance visibles sur fond sombre
================================================================ */

/* Icônes SVG réassurance — forcer couleur orange */
#block-reassurance .block-reassurance-item img,
#block-reassurance ul li img {
  filter: brightness(0) saturate(100%) invert(55%) sepia(80%) saturate(500%) hue-rotate(10deg) brightness(110%) !important;
  width: 40px !important;
  height: 40px !important;
  margin-right: 12px !important;
}

/* Layout items réassurance — horizontal propre */
#block-reassurance ul {
  display: flex !important;
  justify-content: space-around !important;
  list-style: none !important;
  padding: 20px 0 !important;
  margin: 0 !important;
}
#block-reassurance ul li {
  display: flex !important;
  align-items: center !important;
}
#block-reassurance .block-reassurance-item {
  display: flex !important;
  align-items: center !important;
}
#block-reassurance .block-reassurance-item .h6 {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--chrome) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}


/* ================================================================
   PATCH v3.3 — Sidebar catégories + contact form fond sombre
================================================================ */

/* ps_categorytree sidebar */
#left-column, #left-column .block,
.block-categories, .block-categories .block-title,
.block-categories ul, .block-categories li,
.block-categories a,
#_desktop_category_tree, #_mobile_category_tree,
.category-sub-tree, .category-sub-menu {
  background: var(--graphite) !important;
  color: var(--chrome) !important;
  border-color: rgba(192,200,208,0.12) !important;
}
.block-categories .block-title {
  color: var(--orange) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid rgba(232,115,42,0.3) !important;
}
.block-categories a {
  color: var(--chrome) !important;
}
.block-categories a:hover, .block-categories .current > a {
  color: var(--orange) !important;
}

/* Contact form */
#contact-form, #contact-form .form-group,
.page-contact .contact-form,
#contact input, #contact textarea, #contact select,
.contact-form input, .contact-form textarea, .contact-form select,
.page-contact input, .page-contact textarea {
  background: var(--graphite2) !important;
  color: var(--chrome) !important;
  border: 1px solid rgba(192,200,208,0.2) !important;
}
.page-contact .contact-form-bottom,
.page-contact .contact-rich {
  background: var(--graphite) !important;
  color: var(--chrome) !important;
}

/* Catégorie page — suppression fond blanc résiduel */
.category-cover, #js-product-list-top,
.products-sort-order .select-title,
.products-sort-order .dropdown-menu,
#search_filters, #search_filters .facet,
.facet .facet-title, .facet .facet-label {
  background: var(--graphite2) !important;
  color: var(--chrome) !important;
  border-color: rgba(192,200,208,0.15) !important;
}


/* ================================================================
   PATCH v3.4 — Full-width, pas de sidebar
================================================================ */
#left-column, .left-column, [id^="_desktop_cat"],
.col-md-3.left-column, .col-xs-12.col-sm-4.col-md-3 { 
  display: none !important; 
}
#content-wrapper, .js-content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* ================================================================
   PATCH v3.5 — Sous-catégories no-image + nettoyage sidebar
================================================================ */

/* Sous-catégories "No image available" → fond sombre */
.subcategories-list .subcategory-image,
.subcategory-image img[src*="no_picture"],
.subcategory-image .no-picture,
.category-cover img,
.category-thumbnail {
  background: var(--graphite2) !important;
}
/* Masquer le texte "No image available" */
.no-picture-block, .no-picture-block span { display: none !important; }

/* Cartes sous-catégories */
.subcategories-list .subcategory-item,
.subcategories-list li {
  background: var(--graphite2) !important;
  border: 1px solid rgba(192,200,208,0.12) !important;
  border-radius: 4px !important;
}
.subcategory-name {
  color: var(--orange) !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  letter-spacing: 1px !important;
}

/* NOVINKA badge cyan → orange */
.product-flag.new, .product-flag.new-product { 
  background: var(--orange) !important; 
  color: #fff !important;
}

/* Sort bar */
.products-sort-order, #js-product-list-top {
  background: transparent !important;
}
.sort-by-row select, .products-sort-order .select-title {
  background: var(--graphite2) !important;
  color: var(--chrome) !important;
  border: 1px solid rgba(192,200,208,0.2) !important;
}


/* ================================================================
   PATCH v3.6 — Fix: left-column ne doit pas masquer content-wrapper
================================================================ */

/* Annuler le display:none trop large de v3.4 */
#content-wrapper, .js-content-wrapper,
div#content-wrapper { 
  display: block !important; 
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Masquer SEULEMENT la vraie sidebar (pas le content-wrapper) */
#left-column, 
aside.left-column,
.col-md-3.left-column:not(#content-wrapper):not(.js-content-wrapper),
#search_filter_controls, #search_filters_wrapper {
  display: none !important;
}

/* Annuler hide sur left-column générique — trop dangereux */
.left-column { display: initial !important; }
aside.left-column { display: none !important; }



/* ================================================================
   PATCH v4.0 — Navigation améliorée, UX produits, footer
   Best practices: breadcrumb, hover states, card uniformes
================================================================ */

/* ---- MENU NAV : dropdown effect + sous-cats visuels ---- */
#_desktop_top_menu .menu-top > li > a,
#_desktop_top_menu .top-menu > li > a {
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.08em;
  font-size: 0.82rem;
  text-transform: uppercase;
  color: var(--chrome) !important;
  padding: 0 14px !important;
  height: 50px;
  display: flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
#_desktop_top_menu .menu-top > li:hover > a,
#_desktop_top_menu .top-menu > li:hover > a,
#_desktop_top_menu .menu-top > li > a.current,
#_desktop_top_menu .top-menu > li > a.current {
  color: var(--orange) !important;
  border-bottom-color: var(--orange);
}

/* Dropdown menus */
#_desktop_top_menu .sub-menu, 
#_desktop_top_menu .popover {
  background: var(--graphite2) !important;
  border: 1px solid rgba(224,115,42,0.25) !important;
  border-top: 2px solid var(--orange) !important;
  border-radius: 0 0 4px 4px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
  min-width: 200px;
}
#_desktop_top_menu .sub-menu a,
#_desktop_top_menu .popover a {
  color: var(--chrome) !important;
  font-size: 0.82rem;
  padding: 8px 18px !important;
  display: block;
  transition: color 0.15s, background 0.15s;
}
#_desktop_top_menu .sub-menu a:hover,
#_desktop_top_menu .popover a:hover {
  color: var(--orange) !important;
  background: rgba(232,115,42,0.08) !important;
  text-decoration: none;
}

/* ---- BREADCRUMB ---- */
.breadcrumb {
  background: transparent !important;
  padding: 10px 0 6px !important;
  margin-bottom: 10px;
}
.breadcrumb li a, .breadcrumb li span {
  color: var(--chrome) !important;
  font-size: 0.78rem;
  opacity: 0.7;
}
.breadcrumb li.current span {
  color: var(--orange) !important;
  opacity: 1;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--chrome);
  opacity: 0.4;
}

/* ---- PRODUCT CARDS — listing catégorie ---- */
.product-miniature {
  margin-bottom: 24px;
}
.product-miniature .card {
  background: var(--graphite) !important;
  border: 1px solid rgba(192,200,208,0.1) !important;
  border-radius: 6px !important;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-miniature .card:hover {
  border-color: var(--orange) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}
.product-miniature .card-img-top {
  background: #1e2329 !important;
  border-radius: 6px 6px 0 0 !important;
  max-height: 180px;
  object-fit: contain;
  padding: 12px;
}
/* Placeholder image pour produits sans photo */
.product-miniature .card-img-top[src*="no_picture"] {
  opacity: 0.3;
  filter: grayscale(1);
}
.product-miniature .card-body {
  padding: 12px 14px !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.product-miniature .card-body .product-title a {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--chrome) !important;
  line-height: 1.4;
}
.product-miniature .card-body .product-title a:hover {
  color: var(--orange) !important;
}
.product-miniature .card-footer {
  background: transparent !important;
  border-top: 1px solid rgba(192,200,208,0.1) !important;
  padding: 10px 14px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* Prix produits */
.product-price, .price {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.05rem !important;
  color: var(--orange) !important;
  font-weight: 500;
  letter-spacing: 0.03em;
}
.regular-price { 
  text-decoration: line-through; 
  color: var(--chrome) !important; 
  opacity: 0.5;
  font-size: 0.82rem !important;
}

/* Bouton "Do košíka" sur card */
.product-miniature .btn-primary,
.product-miniature .add-to-cart {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 3px;
  transition: background 0.2s, transform 0.15s;
  white-space: nowrap;
}
.product-miniature .btn-primary:hover,
.product-miniature .add-to-cart:hover {
  background: #ff8c3a !important;
  transform: scale(1.03);
}

/* ---- PAGE PRODUIT ---- */
.product-cover img {
  background: var(--graphite) !important;
  border-radius: 6px;
  border: 1px solid rgba(192,200,208,0.12);
}
.product-information .product-name,
#main h1 {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.5rem !important;
  color: var(--chrome) !important;
  letter-spacing: 0.04em;
}
.product-information .product-description {
  color: var(--chrome) !important;
  opacity: 0.85;
  font-size: 0.88rem;
  line-height: 1.7;
}
.product-information .reference {
  font-size: 0.75rem;
  color: var(--chrome);
  opacity: 0.5;
  font-family: 'Courier New', monospace;
}
.product-add-to-cart .btn-primary,
.product-add-to-cart .add-to-cart {
  background: var(--orange) !important;
  border: none !important;
  font-family: 'Oswald', sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 12px 28px;
  border-radius: 4px;
  transition: background 0.2s;
}
.product-add-to-cart .btn-primary:hover { background: #ff8c3a !important; }
#quantity_wanted { 
  background: var(--graphite2) !important; 
  border: 1px solid rgba(192,200,208,0.2) !important;
  color: var(--chrome) !important; 
  border-radius: 3px;
}

/* ---- HEADER: logo + search bar ---- */
#header .header-top { 
  background: var(--acier) !important; 
  border-bottom: 1px solid rgba(224,115,42,0.2) !important;
  padding: 0 !important;
}
.logo img { max-height: 48px; }
#search_widget input {
  background: var(--graphite) !important;
  border: 1px solid rgba(192,200,208,0.2) !important;
  color: var(--chrome) !important;
  border-radius: 3px 0 0 3px;
  padding: 7px 14px;
  font-size: 0.85rem;
}
#search_widget input::placeholder { color: var(--chrome); opacity: 0.4; }
#search_widget button {
  background: var(--orange) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 0 3px 3px 0;
  padding: 7px 14px;
}
#search_widget button:hover { background: #ff8c3a !important; }

/* ---- PANIER header icon ---- */
#_desktop_cart .cart-preview .header, 
#_desktop_cart .blockcart .header {
  color: var(--chrome) !important;
}
#_desktop_cart .blockcart .cart-products-count {
  background: var(--orange);
  color: #fff;
  font-size: 0.65rem;
  border-radius: 50%;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ---- CATEGORY PAGE: header titre ---- */
.category-description, .category-name h1 {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.4rem !important;
  color: var(--chrome) !important;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
  border-bottom: 2px solid var(--orange);
  padding-bottom: 10px;
}

/* Products per page + sort */
.products-sort-order .select-title,
.products-per-page .select-title {
  background: var(--graphite2) !important;
  border: 1px solid rgba(192,200,208,0.18) !important;
  color: var(--chrome) !important;
  border-radius: 3px;
  font-size: 0.8rem;
}
.dropdown-menu { 
  background: var(--graphite2) !important; 
  border: 1px solid rgba(192,200,208,0.2) !important;
}
.dropdown-item { color: var(--chrome) !important; font-size: 0.82rem; }
.dropdown-item:hover { background: rgba(232,115,42,0.1) !important; color: var(--orange) !important; }

/* ---- PAGINATION ---- */
.pagination .page-item .page-link {
  background: var(--graphite) !important;
  border: 1px solid rgba(192,200,208,0.15) !important;
  color: var(--chrome) !important;
  border-radius: 3px;
  margin: 0 2px;
}
.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
}

/* ---- CHECKOUT: fond sombre ---- */
#checkout .card,
#order-confirmation .card {
  background: var(--graphite) !important;
  border: 1px solid rgba(192,200,208,0.12) !important;
}
#checkout label, #checkout p, #checkout .form-control {
  color: var(--chrome) !important;
}
#checkout .form-control {
  background: var(--graphite2) !important;
  border: 1px solid rgba(192,200,208,0.2) !important;
  border-radius: 3px;
}
#checkout .btn-primary {
  background: var(--orange) !important;
  border: none !important;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.08em;
}

/* ---- ALERTS / FLASH MESSAGES ---- */
.alert-success { background: rgba(76,175,80,0.12) !important; border-color: #4caf50 !important; color: #a5d6a7 !important; }
.alert-warning { background: rgba(232,115,42,0.12) !important; border-color: var(--orange) !important; color: #ffcc80 !important; }
.alert-danger  { background: rgba(244,67,54,0.12) !important; border-color: #f44336 !important; color: #ef9a9a !important; }
.alert-info    { background: rgba(33,150,243,0.12) !important; border-color: #2196f3 !important; color: #90caf9 !important; }

/* ---- FOOTER improvements ---- */
.page-footer {
  background: #060809 !important;
  border-top: 1px solid rgba(224,115,42,0.15) !important;
  padding-top: 30px;
}
.page-footer h4, .page-footer .h4 {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.75rem !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--orange) !important;
  margin-bottom: 14px;
}
.page-footer a, .page-footer li a {
  color: var(--chrome) !important;
  opacity: 0.65;
  font-size: 0.82rem;
  transition: opacity 0.15s, color 0.15s;
}
.page-footer a:hover, .page-footer li a:hover {
  color: var(--orange) !important;
  opacity: 1;
  text-decoration: none;
}
.page-footer .copyright { 
  font-size: 0.72rem; 
  opacity: 0.4; 
  color: var(--chrome) !important;
  border-top: 1px solid rgba(192,200,208,0.08);
  margin-top: 20px;
  padding-top: 12px;
}

/* ---- MOBILE RESPONSIVE improvements ---- */
@media (max-width: 768px) {
  #_desktop_top_menu { display: none; }
  #mobile_top_menu_wrapper { display: block !important; }
  .product-miniature .card { margin-bottom: 16px; }
  #header .header-top { padding: 10px 0 !important; }
  .category-description, .category-name h1 { font-size: 1.1rem !important; }
  #content-wrapper { width: 100% !important; padding: 0 8px !important; }
}

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--acier); }
::-webkit-scrollbar-thumb { background: var(--orange); border-radius: 3px; }



/* ================================================================
   PATCH v4.1 — Mobile menu + fix images produits
================================================================ */

/* Fix mobile menu wrapper */
@media (max-width: 991px) {
  #_desktop_top_menu { display: none !important; }

  #mobile_top_menu_wrapper {
    display: block !important;
    background: var(--graphite) !important;
    border-bottom: 1px solid rgba(224,115,42,0.2);
    padding: 0 !important;
    width: 100%;
  }
  #_mobile_top_menu #cefra-mobile-nav {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #_mobile_top_menu .cefra-mob-parent {
    border-bottom: 1px solid rgba(192,200,208,0.08);
    position: relative;
  }
  #_mobile_top_menu .cefra-mob-parent > a {
    display: block;
    padding: 13px 16px;
    color: var(--chrome) !important;
    font-family: 'Oswald', sans-serif;
    font-size: 0.88rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
  }
  #_mobile_top_menu .cefra-mob-parent > a:hover { color: var(--orange) !important; }
  #_mobile_top_menu .cefra-mob-toggle {
    position: absolute;
    right: 14px; top: 10px;
    color: var(--orange);
    cursor: pointer;
    font-size: 0.7rem;
    padding: 4px 8px;
  }
  #_mobile_top_menu .cefra-mob-sub {
    list-style: none;
    padding: 0 0 6px 0;
    margin: 0;
    background: rgba(0,0,0,0.2);
  }
  #_mobile_top_menu .cefra-mob-sub li a {
    display: block;
    padding: 9px 16px 9px 28px;
    color: var(--chrome) !important;
    font-size: 0.82rem;
    text-decoration: none;
    border-left: 2px solid var(--orange);
    margin-left: 16px;
    opacity: 0.8;
  }
  #_mobile_top_menu .cefra-mob-sub li a:hover { opacity: 1; color: var(--orange) !important; }
}

/* Desktop menu: show above 992px */
@media (min-width: 992px) {
  #mobile_top_menu_wrapper { display: none !important; }
  #_desktop_top_menu { display: block !important; }
}

/* Fix images produits — assurer que les cards montrent l'image */
.product-miniature .thumbnail-container,
.product-miniature .card-img-top {
  display: block !important;
  width: 100%;
  background: #1A1D22;
}
.product-miniature img {
  display: block !important;
  width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: contain;
  background: #1A1D22;
}

/* Hamburger visible sur mobile (natif PS9) */
.js-navbar-toggler, .navbar-toggler, #mobile_top_menu_wrapper .top-menu {
  display: block !important;
}



/* ================================================================
   PATCH v4.2 — Hamburger mobile menu custom (#cefra-mob-menu)
================================================================ */

/* Hamburger — visible seulement mobile */
.cefra-mob-wrap { position: relative; }

@media (min-width: 992px) {
  .cefra-mob-wrap { display: none !important; }
}

@media (max-width: 991px) {
  /* Header: hamburger à droite du logo */
  .cefra-mob-wrap {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    z-index: 9999;
    background: var(--acier);
    border-bottom: 1px solid rgba(224,115,42,0.25);
    display: flex;
    align-items: center;
    padding: 10px 16px;
    gap: 12px;
  }

  .cefra-mob-hamburger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-left: auto;
  }
  .cefra-mob-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--chrome);
    border-radius: 2px;
    transition: all 0.25s;
  }
  .cefra-mob-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
  .cefra-mob-hamburger.open span:nth-child(2) { opacity: 0; }
  .cefra-mob-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

  /* Dropdown nav */
  .cefra-mob-nav {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--graphite);
    border-bottom: 2px solid var(--orange);
    box-shadow: 0 8px 24px rgba(0,0,0,0.5);
    z-index: 9998;
  }
  .cefra-mob-nav > ul {
    list-style: none;
    margin: 0; padding: 0;
  }
  .cefra-mob-nav > ul > li {
    border-bottom: 1px solid rgba(192,200,208,0.08);
  }
  .cefra-mob-nav > ul > li > a {
    display: block;
    padding: 14px 20px;
    color: var(--chrome) !important;
    font-family: 'Oswald', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 400;
  }
  .cefra-mob-nav > ul > li > a:hover,
  .cefra-mob-nav > ul > li > a:active { color: var(--orange) !important; }

  /* Subcategories */
  .cefra-mob-nav > ul > li > ul {
    list-style: none;
    margin: 0; padding: 0 0 8px;
    background: rgba(0,0,0,0.25);
  }
  .cefra-mob-nav > ul > li > ul > li > a {
    display: block;
    padding: 10px 20px 10px 34px;
    color: var(--chrome) !important;
    font-size: 0.82rem;
    text-decoration: none;
    border-left: 2px solid var(--orange);
    margin-left: 20px;
    opacity: 0.78;
  }
  .cefra-mob-nav > ul > li > ul > li > a:hover { opacity: 1; color: var(--orange) !important; }

  /* Compensate fixed header height */
  body { padding-top: 56px !important; }

  /* Cacher le header PS9 original sur mobile (remplacé par cefra-mob-wrap) */
  #header .header-top { display: none !important; }
  #header #_desktop_top_menu { display: none !important; }
}



/* ================================================================
   PATCH v4.3 — Fix menu mobile: utiliser système PS9 natif
   Annuler v4.1/v4.2 problématiques
================================================================ */

/* Annuler le masquage du header-top sur mobile (v4.2 cassait tout) */
#header .header-top { display: block !important; }

/* Masquer le custom hamburger cefra-mob (remplacé par menu-icon PS9) */
#cefra-mob-menu, .cefra-mob-wrap { display: none !important; }

/* --- MENU-ICON PS9 natif — style amélioré --- */
#menu-icon {
  color: var(--chrome) !important;
  font-size: 1.5rem;
  padding: 6px 12px;
  cursor: pointer;
}
#menu-icon i { color: var(--chrome) !important; }

/* Mobile top menu wrapper — dropdown dark */
#mobile_top_menu_wrapper {
  background: var(--graphite) !important;
  border-bottom: 2px solid var(--orange) !important;
  padding: 0 !important;
  width: 100%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.5);
}

/* Nav mobile injectée */
#_mobile_top_menu .cefra-mobile-nav {
  list-style: none;
  margin: 0; padding: 0;
}
#_mobile_top_menu .cefra-mobile-nav > li {
  border-bottom: 1px solid rgba(192,200,208,0.08);
}
#_mobile_top_menu .cefra-mobile-nav > li > a {
  display: block;
  padding: 14px 20px;
  color: var(--chrome) !important;
  font-family: 'Oswald', sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-decoration: none;
}
#_mobile_top_menu .cefra-mobile-nav > li > a:active,
#_mobile_top_menu .cefra-mobile-nav > li > a:hover {
  color: var(--orange) !important;
}
/* Sous-catégories */
#_mobile_top_menu .cefra-mobile-nav > li > ul {
  list-style: none; margin: 0; padding: 0 0 8px;
  background: rgba(0,0,0,0.2);
  display: none;
}
#_mobile_top_menu .cefra-mobile-nav > li > ul > li > a {
  display: block;
  padding: 10px 20px 10px 32px;
  color: var(--chrome) !important;
  font-size: 0.82rem;
  text-decoration: none;
  border-left: 2px solid var(--orange);
  margin-left: 16px;
  opacity: 0.8;
}
#_mobile_top_menu .cefra-mobile-nav > li > ul > li > a:hover {
  opacity: 1; color: var(--orange) !important;
}

/* Annuler body padding-top (plus de hamburger fixe) */
@media (max-width: 991px) {
  body { padding-top: 0 !important; }
}



/* ================================================================
   PATCH v4.4 — Menu CSS pur (checkbox toggle), zéro JS
================================================================ */

/* Cacher les checkboxes */
.cefra-nav-checkbox,
.cefra-sub-toggle { display: none !important; }

/* ===== DESKTOP (>=992px) ===== */
@media (min-width: 992px) {
  .cefra-nav-burger { display: none !important; }

  .cefra-nav {
    display: flex !important;
    align-items: center;
  }
  .cefra-nav .top-menu {
    display: flex !important;
    list-style: none;
    margin: 0; padding: 0;
    gap: 0;
  }
  .cefra-cat-label {
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 14px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    gap: 5px;
  }
  .cefra-cat-label a {
    font-family: 'Oswald', sans-serif;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--chrome) !important;
    text-decoration: none;
  }
  .cefra-cat-label:hover, .cefra-cat-label:hover a { color: var(--orange) !important; }
  .cefra-cat-label:hover { border-bottom-color: var(--orange); }
  .cefra-arrow { font-size: 0.55rem; color: var(--chrome); opacity: 0.5; }

  /* Desktop dropdown */
  .cefra-nav .has-sub { position: relative; }
  .cefra-nav .has-sub .sub-menu {
    display: none;
    position: absolute;
    top: 100%; left: 0;
    background: var(--graphite2) !important;
    border: 1px solid rgba(224,115,42,0.25) !important;
    border-top: 2px solid var(--orange) !important;
    min-width: 200px;
    list-style: none;
    padding: 6px 0; margin: 0;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    z-index: 9999;
  }
  .cefra-nav .has-sub:hover .sub-menu { display: block; }
  .cefra-nav .sub-menu li a {
    display: block;
    padding: 9px 18px;
    color: var(--chrome) !important;
    font-size: 0.82rem;
    text-decoration: none;
  }
  .cefra-nav .sub-menu li a:hover { color: var(--orange) !important; background: rgba(232,115,42,0.08); }
}

/* ===== MOBILE (<992px) ===== */
@media (max-width: 991px) {
  /* Hamburger burger */
  .cefra-nav-burger {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 8px;
    cursor: pointer;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
  }
  .cefra-nav-burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--chrome);
    border-radius: 2px;
    transition: all 0.22s;
  }
  /* Burger animé quand ouvert */
  .cefra-nav-checkbox:checked ~ .cefra-nav-burger span:nth-child(1) {
    transform: rotate(45deg) translate(5px,5px);
  }
  .cefra-nav-checkbox:checked ~ .cefra-nav-burger span:nth-child(2) {
    opacity: 0; transform: scaleX(0);
  }
  .cefra-nav-checkbox:checked ~ .cefra-nav-burger span:nth-child(3) {
    transform: rotate(-45deg) translate(5px,-5px);
  }

  /* Nav cachée par défaut */
  .cefra-nav {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--graphite);
    border-bottom: 2px solid var(--orange);
    box-shadow: 0 8px 24px rgba(0,0,0,0.5);
    z-index: 9998;
  }
  /* Nav visible quand checkbox cochée */
  .cefra-nav-checkbox:checked ~ .cefra-nav {
    display: block !important;
  }

  .cefra-nav .top-menu {
    list-style: none; margin: 0; padding: 0;
  }
  .cefra-nav .has-sub {
    border-bottom: 1px solid rgba(192,200,208,0.08);
    position: relative;
  }
  .cefra-cat-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    cursor: pointer;
  }
  .cefra-cat-label a {
    font-family: 'Oswald', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--chrome) !important;
    text-decoration: none;
    flex: 1;
  }
  .cefra-arrow { color: var(--orange); font-size: 0.65rem; }

  /* Sous-menus mobile — toggle via checkbox */
  .cefra-nav .sub-menu {
    display: none;
    list-style: none; margin: 0; padding: 0 0 8px;
    background: rgba(0,0,0,0.2);
  }
  .cefra-sub-toggle:checked ~ .cefra-cat-label ~ .sub-menu,
  .cefra-sub-toggle:checked + .cefra-cat-label + .sub-menu {
    display: block;
  }
  .cefra-nav .sub-menu li a {
    display: block;
    padding: 10px 20px 10px 32px;
    color: var(--chrome) !important;
    font-size: 0.82rem;
    text-decoration: none;
    border-left: 2px solid var(--orange);
    margin-left: 16px;
    opacity: 0.8;
  }
  .cefra-nav .sub-menu li a:hover { opacity: 1; color: var(--orange) !important; }

  /* Positionner le nav-wrapper par rapport au header */
  #_desktop_top_menu {
    position: static !important;
  }
  /* Le parent du menu doit être relative */
  #header .header-top .row { position: relative; }
}


/* v4.5 — sous-menu large 2 colonnes (Spojovací materiál) */
@media (min-width: 992px) {
  .cefra-nav .sub-menu-wide {
    display: none;
    columns: 2;
    column-gap: 0;
    min-width: 340px;
  }
  .cefra-nav .has-sub:hover .sub-menu-wide { display: block; }
  .cefra-nav .sub-menu-wide li { break-inside: avoid; }
}

/* ================================================================
   PATCH v4.6 — Fix burger mobile: wrapper relatif (.cefra-nav-wrapper)
   TPL v9: input+label+nav enveloppés dans .cefra-nav-wrapper
================================================================ */

/* === DESKTOP (>=992px) === */
@media (min-width: 992px) {
  .cefra-nav-wrapper {
    background: var(--graphite2);
    border-bottom: 1px solid rgba(192,200,208,0.06);
  }
  .cefra-nav-wrapper .cefra-nav-burger { display: none !important; }
  .cefra-nav-wrapper .cefra-nav { display: flex !important; }
}

/* === MOBILE (<992px) === */
@media (max-width: 991px) {
  .cefra-nav-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: var(--acier);
    border-bottom: 1px solid rgba(224,115,42,0.3);
    padding: 0 16px;
    min-height: 48px;
  }

  /* Burger: flux normal (plus position absolute) */
  .cefra-nav-wrapper .cefra-nav-burger {
    display: flex !important;
    position: static !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    flex-direction: column;
    gap: 5px;
    width: 36px;
    height: 36px;
    padding: 6px;
    cursor: pointer;
  }
  .cefra-nav-wrapper .cefra-nav-burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--chrome);
    border-radius: 2px;
    transition: all 0.22s;
  }
  .cefra-nav-checkbox:checked ~ .cefra-nav-burger span:nth-child(1) {
    transform: rotate(45deg) translate(5px,5px);
  }
  .cefra-nav-checkbox:checked ~ .cefra-nav-burger span:nth-child(2) {
    opacity: 0; transform: scaleX(0);
  }
  .cefra-nav-checkbox:checked ~ .cefra-nav-burger span:nth-child(3) {
    transform: rotate(-45deg) translate(5px,-5px);
  }

  /* Nav: cachée par défaut, s'affiche quand checkbox cochée */
  .cefra-nav-wrapper .cefra-nav {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--graphite);
    border-bottom: 2px solid var(--orange);
    box-shadow: 0 8px 24px rgba(0,0,0,0.5);
    z-index: 9999;
  }
  .cefra-nav-checkbox:checked ~ .cefra-nav-wrapper .cefra-nav,
  .cefra-nav-wrapper .cefra-nav-checkbox:checked ~ .cefra-nav {
    display: block !important;
  }

  /* Mobile nav items */
  .cefra-nav-wrapper .cefra-nav .top-menu {
    list-style: none; margin: 0; padding: 0;
  }
  .cefra-nav-wrapper .cefra-nav .has-sub {
    border-bottom: 1px solid rgba(192,200,208,0.08);
  }
  .cefra-nav-wrapper .cefra-nav .cefra-cat-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    cursor: pointer;
    height: auto;
    border-bottom: none;
  }
  .cefra-nav-wrapper .cefra-nav .cefra-cat-label a {
    font-family: 'Oswald', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--chrome) !important;
    text-decoration: none;
  }
  .cefra-nav-wrapper .cefra-nav .cefra-cat-label:hover a { color: var(--orange) !important; }
  .cefra-nav-wrapper .cefra-nav .cefra-arrow { font-size: 0.6rem; opacity: 0.5; }

  /* Sous-catégories mobile: cachées par défaut, toggle par checkbox */
  .cefra-nav-wrapper .cefra-nav .sub-menu {
    display: none;
    list-style: none;
    margin: 0; padding: 0 0 8px;
    background: rgba(0,0,0,0.25);
  }
  .cefra-nav-wrapper .cefra-nav .cefra-sub-toggle:checked ~ .sub-menu {
    display: block;
  }
  .cefra-nav-wrapper .cefra-nav .sub-menu li a {
    display: block;
    padding: 10px 20px 10px 32px;
    color: var(--chrome) !important;
    font-size: 0.82rem;
    text-decoration: none;
    border-left: 2px solid var(--orange);
    margin-left: 16px;
    opacity: 0.8;
  }
  .cefra-nav-wrapper .cefra-nav .sub-menu li a:hover {
    opacity: 1; color: var(--orange) !important;
  }
  /* sub-menu-wide: colonne simple sur mobile */
  .cefra-nav-wrapper .cefra-nav .sub-menu-wide { column-count: 1; }
}

/* ================================================================
   PATCH v4.6 — Sous-menus niveau 3 (par diamètre/taille)
================================================================ */

/* Niveau 2 item avec enfants niveau 3 */
.cefra-sub-menu .has-sub3 {
  position: relative;
}

.cefra-sub-menu .has-sub3 > a::after {
  content: ' ›';
  color: var(--orange);
  font-size: 12px;
}

/* Menu niveau 3 — apparaît à droite du niveau 2 */
.cefra-sub3-menu {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  min-width: 200px;
  background: var(--graphite2);
  border: 1px solid rgba(232,115,42,0.3);
  border-left: 2px solid var(--orange);
  border-radius: 0 4px 4px 0;
  list-style: none;
  margin: 0;
  padding: 6px 0;
  z-index: 9999;
  box-shadow: 4px 4px 16px rgba(0,0,0,0.6);
}

.cefra-sub3-menu li a {
  display: block;
  padding: 6px 16px;
  font-size: 13px;
  color: var(--chrome);
  white-space: nowrap;
  transition: color 0.15s, background 0.15s;
}

.cefra-sub3-menu li a:hover {
  color: var(--orange);
  background: rgba(232,115,42,0.08);
}

/* Mobile: niveau 3 en dessous (pas de position absolue) */
@media (max-width: 991px) {
  .cefra-sub3-menu {
    position: static;
    left: auto;
    border-left: 3px solid var(--orange);
    border-radius: 0;
    background: rgba(13,15,18,0.5);
    margin-left: 12px;
    box-shadow: none;
  }
  .cefra-sub-menu .has-sub3 > a::after {
    content: ' ▾';
  }
}

/* Wide submenu: 3 colonnes pour Spojovací materiál */
/* sub-menu-wide: grille 3 colonnes — activée uniquement au hover */
.cefra-nav .has-sub:hover > .sub-menu-wide,
.cefra-nav .has-sub:focus-within > .sub-menu-wide {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  min-width: 720px;
}

@media (max-width: 991px) {
  .cefra-nav .has-sub:hover > .sub-menu-wide,
  .cefra-nav .has-sub:focus-within > .sub-menu-wide,
  .sub-menu-wide {
    display: block !important;
    min-width: auto;
  }
}


/* ================================================================
   PATCH v4.7 — Force burger mobile visible (override tous conflits)
================================================================ */
@media (max-width: 991px) {
  /* Forcer la visibilité du wrapper nav */
  .cefra-nav-wrapper {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: var(--acier) !important;
    padding: 0 16px !important;
    position: relative !important;
    overflow: visible !important;
  }

  /* Burger: forcer affichage */
  .cefra-nav-wrapper .cefra-nav-burger,
  .cefra-nav-burger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
    cursor: pointer !important;
    position: static !important;
    transform: none !important;
    z-index: 9999 !important;
  }

  .cefra-nav-burger span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #e0e8f0 !important;
    border-radius: 2px !important;
  }

  /* Nav cachée par défaut */
  .cefra-nav-wrapper .cefra-nav {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    background: #1e2530 !important;
    z-index: 9999 !important;
    border-bottom: 2px solid #e4732a !important;
    overflow: visible !important;
  }

  /* Afficher nav quand checkbox cochée */
  .cefra-nav-wrapper .cefra-nav-checkbox:checked ~ .cefra-nav {
    display: block !important;
  }
}

/* ============================================================
   LISTE PRODUITS — Vue liste compacte (v5.0)
   ============================================================ */

/* Conteneur liste: empiler les rows */
#js-product-list .products {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
}

/* Chaque row produit */
.cefra-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid #2a2d32;
  background: #110d0b;
  transition: background 0.15s;
  min-height: 44px;
}
.cefra-list-row:hover { background: #1a1510; }
.cefra-list-row:first-child { border-top: 1px solid #2a2d32; }

/* Nom + ref à gauche */
.cefra-list-name {
  flex: 1 1 auto;
  color: #e8ddd0;
  text-decoration: none;
  font-size: 0.82rem;
  line-height: 1.35;
  min-width: 0;
}
.cefra-list-name:hover { color: #C8A96A; }

/* Code ref en gris discret */
.cefra-list-ref {
  color: #7a8a96;
  font-size: 0.72rem;
  font-family: monospace;
  margin-right: 4px;
  white-space: nowrap;
}

/* Partie droite: prix + form */
.cefra-list-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Prix */
.cefra-list-price {
  color: #C8A96A;
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
  min-width: 64px;
  text-align: right;
}

/* Form inline */
.cefra-list-form {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

/* Champ quantité */
.cefra-list-qty {
  width: 44px;
  height: 30px;
  padding: 2px 4px;
  background: #1e2226;
  border: 1px solid #3a4048;
  border-radius: 4px;
  color: #e8ddd0;
  font-size: 0.82rem;
  text-align: center;
  -moz-appearance: textfield;
}
.cefra-list-qty::-webkit-inner-spin-button,
.cefra-list-qty::-webkit-outer-spin-button { opacity: 1; }
.cefra-list-qty:focus {
  outline: none;
  border-color: #C8A96A;
}

/* Bouton Pridať */
.cefra-list-add {
  height: 30px;
  padding: 0 10px;
  background: #C8A96A;
  color: #0F0B09;
  border: none;
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}
.cefra-list-add:hover { background: #e0c07a; }

/* Masquer les éléments inutiles de la grille */
.cefra-list-row .thumbnail-container,
.cefra-list-row .product-description,
.cefra-list-row .product-flags,
.cefra-list-row .highlighted-informations { display: none !important; }

/* Override largeur colonne (était col-xs-12 col-sm-6 col-xl-4) */
#js-product-list .js-product {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Masquer le sélecteur de vue grille/liste s'il existe */
.products-sort-order .view-change { display: none; }

/* ============================================================
   MATRICE PRODUITS — Ø × longueur (v5.0)
   ============================================================ */

.cefra-matrix-group { margin-bottom: 28px; }

.cefra-mx-grouptitle {
  font-size: 0.82rem;
  font-weight: 700;
  color: #C8A96A;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 0 6px 4px;
  border-bottom: 1px solid #3a3028;
  margin-bottom: 4px;
}

.cefra-mx-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.cefra-mx-table {
  border-collapse: collapse;
  font-size: 0.72rem;
  white-space: nowrap;
  width: 100%;
  min-width: max-content;
}

.cefra-mx-table thead tr { background: #1e1a16; }

.cefra-mx-th-dia, .cefra-mx-th-len {
  padding: 5px 8px;
  color: #9a8a7a;
  font-weight: 600;
  border-bottom: 1px solid #3a3028;
  border-right: 1px solid #252220;
  text-align: center;
}
.cefra-mx-th-dia { text-align: left; min-width: 64px; position: sticky; left: 0; background: #1e1a16; z-index: 2; }

.cefra-mx-dia {
  padding: 4px 8px;
  font-weight: 700;
  color: #C8A96A;
  background: #161210;
  border-right: 1px solid #3a3028;
  white-space: nowrap;
  position: sticky;
  left: 0;
  z-index: 1;
}

.cefra-mx-cell {
  padding: 4px 6px;
  border-right: 1px solid #1e1c18;
  border-bottom: 1px solid #1e1c18;
  vertical-align: middle;
  background: #110d0b;
  text-align: center;
}
.cefra-mx-cell:hover { background: #1a1510; }

.cefra-mx-na {
  padding: 4px 6px;
  border-right: 1px solid #1a1816;
  border-bottom: 1px solid #1a1816;
  color: #2a2825;
  text-align: center;
  background: #0d0b09;
}

.cefra-mx-pr {
  display: block;
  color: #d4b878;
  font-size: 0.72rem;
  font-weight: 600;
  margin-bottom: 3px;
  white-space: nowrap;
}

.cefra-mx-form { margin: 0; }

.cefra-mx-controls {
  display: flex;
  align-items: center;
  gap: 2px;
  justify-content: center;
}

.cefra-mx-qty {
  width: 36px;
  height: 22px;
  padding: 1px 2px;
  background: #1e2226;
  border: 1px solid #3a4048;
  border-radius: 3px;
  color: #e8ddd0;
  font-size: 0.7rem;
  text-align: center;
  -moz-appearance: textfield;
}
.cefra-mx-qty::-webkit-inner-spin-button,
.cefra-mx-qty::-webkit-outer-spin-button { opacity: 1; }

.cefra-mx-btn {
  width: 22px;
  height: 22px;
  padding: 0;
  background: #C8A96A;
  color: #0F0B09;
  border: none;
  border-radius: 3px;
  font-size: 0.8rem;
  font-weight: 900;
  cursor: pointer;
  line-height: 1;
  transition: background 0.1s;
}
.cefra-mx-btn:hover { background: #e0c07a; }

.cefra-mx-fallback { padding: 0; }
.cefra-mx-empty-msg { color: #888; padding: 20px; }

/* Zebra rows */
.cefra-mx-table tbody tr:nth-child(even) .cefra-mx-cell { background: #130f0d; }
.cefra-mx-table tbody tr:nth-child(even) .cefra-mx-dia { background: #1a1410; }
.cefra-mx-table tbody tr:nth-child(even) .cefra-mx-na { background: #0f0d0b; }

@media (max-width: 768px) {
  .cefra-mx-table { font-size: 0.66rem; }
  .cefra-mx-qty { width: 30px; height: 20px; }
  .cefra-mx-btn { width: 20px; height: 20px; font-size: 0.7rem; }
  .cefra-mx-pr { font-size: 0.65rem; }
}

/* Matrice — header groupe avec image (v5.2) */
.cefra-mx-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 4px 8px;
  border-bottom: 1px solid #3a3028;
  margin-bottom: 4px;
}

.cefra-mx-typeimg {
  width: 56px;
  height: 56px;
  object-fit: contain;
  background: #1a1d22;
  border-radius: 6px;
  padding: 4px;
  flex-shrink: 0;
}

.cefra-mx-grouptitle {
  font-size: 0.85rem;
  font-weight: 700;
  color: #C8A96A;
  letter-spacing: 0.06em;
}

@media (max-width: 480px) {
  .cefra-mx-typeimg { width: 44px; height: 44px; }
}

/* ── Packaging badge & matrix pkg headers (v5.3) ─────────────────── */
.cefra-pkg-badge {
  display: inline-block;
  background: rgba(228,115,42,0.15);
  color: #e4732a;
  border: 1px solid rgba(228,115,42,0.3);
  border-radius: 3px;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 1px 5px;
  margin-left: 6px;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.cefra-mx-th-pkg {
  background: #10171f;
  color: #607080;
  font-size: 0.68rem;
  font-weight: 500;
  padding: 3px 4px;
  text-align: center;
  border-bottom: 1px solid #1e2a38;
}

/* Highlight cellule au survol */
.cefra-mx-cell:hover {
  background: rgba(228,115,42,0.08);
}

/* Qty input multi-pack: step visible */
.cefra-mx-qty, .cefra-list-qty {
  text-align: center;
}

/* ── Multi-variant cells (v5.3) ─────────────────────────────────── */
.cefra-mx-multi {
  padding: 4px !important;
  vertical-align: top;
}
.cefra-mx-variant {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 2px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.cefra-mx-variant:last-child { border-bottom: none; }

.cefra-mx-pkg-lbl {
  font-size: 0.65rem;
  color: #607080;
  min-width: 46px;
  white-space: nowrap;
  font-weight: 500;
}

.cefra-mx-variant .cefra-mx-pr {
  font-size: 0.75rem;
  min-width: 42px;
  color: #c8a96a;
}

.cefra-mx-variant .cefra-mx-form {
  display: flex;
  align-items: center;
  gap: 2px;
}

.cefra-mx-variant .cefra-mx-qty {
  width: 40px !important;
  font-size: 0.72rem;
  padding: 1px 2px;
}

.cefra-mx-variant .cefra-mx-btn {
  padding: 1px 5px;
  font-size: 0.75rem;
}

/* cellule survol */
.cefra-mx-cell:hover { background: rgba(228,115,42,0.06); }

/* ── Hero buttons (v5.4) ─────────────────────────────────────────── */
a.cefra-hero-btn-solid,
.cefra-hero-btn-solid {
  display: inline-block;
  background: #e4732a !important;
  color: #1a0800 !important;
  text-decoration: none !important;
  padding: 10px 24px;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 700;
  border: none;
}
a.cefra-hero-btn-solid:hover,
.cefra-hero-btn-solid:hover {
  background: #f08040 !important;
  color: #1a0800 !important;
}
a.cefra-hero-btn-outline,
.cefra-hero-btn-outline {
  display: inline-block;
  background: transparent !important;
  color: #e4732a !important;
  border: 1px solid #e4732a;
  text-decoration: none !important;
  padding: 10px 24px;
  border-radius: 4px;
  font-size: 0.85rem;
}
a.cefra-hero-btn-outline:hover,
.cefra-hero-btn-outline:hover {
  background: rgba(228,115,42,0.1) !important;
  color: #e4732a !important;
}

/* Aussi corriger les liens dans les category cards */
.cefra-cat-card a,
a.cefra-cat-card {
  color: inherit !important;
  text-decoration: none !important;
}

/* === PATCH v5.5 — Masquer newsletter footer (doublon visuel) === */
#blockEmailSubscription_displayFooterBefore,
.block_newsletter,
#block-newsletter { display: none !important; }

/* === PATCH v5.5b — Masquer newsletter TOUTES instances === */
[id*="blockEmailSubscription"],
.block_newsletter,
#block-newsletter,
div[class*="newsletter"] { display: none !important; }

/* === PATCH v5.6 — Masquer badges condition + qty stock + footer cleanup === */
/* Masquer badge condition (Novinka/Good/Used) */
.product-flag.condition,
.product-flags .condition,
span[class*="condition"] { display: none !important; }

/* Masquer qty numérique dans fiche produit (garder juste "Skladom") */
.product-quantities .quantity,
#product-availability .availability-quantity,
span.product-available .quantity-available { display: none !important; }

/* Footer: masquer les sections PS9 vides ou inutiles */
.footer-container .block-social,
.footer-container #footer_sub_menu_2 { display: none !important; }

/* === PATCH v5.6b — Masquer flags Novinka + condition row === */
.product-flags .product-flag.new,
.product-flags .product-flag,
.product-condition,
.product-flag { display: none !important; }
