/* Lato + Poppins charges via preload/preconnect dans header.tpl pour eviter blocage rendu */

/* === VARIABLES === */
:root {
  --gk-red: #1a3a6c; --gk-pm-primary: #1a3a6c;
  --gk-red-dark: #0f2547; --gk-pm-primary-dark: #0f2547;
  --gk-black: #000;
  --gk-dark: #242424;
  --gk-gray: #333;
  --gk-light: #F7F7F7;
  --gk-border: #E5E5E5;
}

/* === BASE === */
html, body { overflow-x: hidden !important; } html, body { max-width: 100vw !important; }
/* Reassurance icones rondes + marques badges arrondis (override theme.css * rule) */
.gk-reassurance div[style*="border-radius"] { border-radius: 50% !important; }
#footer .gk-reassurance h4 { color: #242424 !important; font-size: 18px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; }
.gk-marque-badge { border-radius: 25px !important; }
/* Supprimer le fond/padding natif du footer PrestaShop */
#footer { background: transparent !important; padding: 0 !important; }
/* Newsletter GK Letter */
.gk-newsletter { text-align: left !important; }
.gk-newsletter p,
.gk-newsletter span,
.gk-newsletter label,
.gk-newsletter h4,
.gk-newsletter div { color: #fff !important; text-align: left !important; }
.gk-newsletter label,
.gk-newsletter form label,
div.gk-newsletter label,
body .gk-newsletter label { color: #fff !important; display: inline !important; cursor: pointer !important; }
.gk-newsletter a,
.gk-newsletter form a,
div.gk-newsletter a,
body .gk-newsletter a { color: #fff !important; text-decoration: underline !important; }
.gk-newsletter form input[type=email],
.gk-newsletter form input[type=text] { color: #000 !important; background: #fff !important; width: 100% !important; max-width: 350px !important; padding: 8px 10px !important; box-sizing: border-box !important; border: 1px solid #bbb !important; }
.gk-newsletter form input[type=submit] { background: #1a3a6c !important; color: #fff !important; }
.gk-newsletter form input[type=checkbox] { accent-color: #fff !important; }
body { font-family: 'Lato', Arial, sans-serif !important; color: var(--gk-dark); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 600;
}

/* === CACHER : langue, devise, user-info et blockcart du displayTop === */
.language-selector-wrapper, .currency-selector,
#_desktop_language_selector, #_desktop_currency_selector,
.header-top .user-info, .header-top .blockcart,
.gk-search-zone .user-info, .gk-search-zone .blockcart {
  display: none !important;
}

/* === BARRE ROUGE (header-nav) === */
#header .header-nav { background: var(--gk-red) !important; border: none !important; padding: 0 !important; }
#header .header-nav * { color: #fff !important; font-size: 12px; }
#header .header-nav a:hover { text-decoration: underline !important; }

/* === HEADER BLANC === */
#header .header-top { background: #fff !important; border-bottom: 1px solid var(--gk-border) !important; padding: 0 !important; box-shadow: none !important; }
#_desktop_logo img, .header-top .logo { max-height: 80px !important; width: auto !important; }
#_desktop_logo p, #_desktop_logo span:not(.sr-only), #_desktop_logo .hidden-sm-down { display: none !important; }

/* === ICONES CUSTOM (gk-icons) === */
.gk-icons a:hover { color: var(--gk-red) !important; }
.gk-icons i { transition: color 0.2s; }

/* === RECHERCHE (large, style gkpro.fr) === */
.gk-search-zone #search_widget { width: 100% !important; display: block !important; position: relative !important; }
.gk-search-zone #search_widget form {
  display: flex !important;
  width: 100% !important;
  border: 1px solid #ccc !important;
  background: #fff !important;
  align-items: center !important;
  position: relative !important;
}
.gk-search-zone #search_widget form input[type="text"] {
  flex: 1 !important;
  height: 44px !important;
  border: none !important;
  padding: 0 15px !important;
  font-size: 15px !important;
  background: transparent !important;
  outline: none !important;
  width: 100% !important;
}
.gk-search-zone #search_widget form i.material-icons.search {
  position: absolute !important;
  left: 10px !important;
  color: #999 !important;
  font-size: 22px !important;
}
.gk-search-zone #search_widget form input[type="text"] { padding-left: 40px !important; }
.gk-search-zone #search_widget form button {
  background: #fff !important;
  color: var(--gk-dark) !important;
  border: none !important;
  width: 50px !important;
  height: 44px !important;
  cursor: pointer !important;
}
.gk-search-zone #search_widget form:focus-within { border-color: var(--gk-dark) !important; }

/* === MENU BAR === */
.gk-menu-bar { background: #fff !important; border-bottom: 1px solid var(--gk-border) !important; }

/* Menu principal : etaler sur toute la largeur */
#_desktop_top_menu { width: 100% !important; }
.top-menu-container, #_desktop_top_menu, #top-menu[data-depth="0"] {
  background: transparent !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 0 10px !important;
}

/* Chaque li parent doit etre position:relative pour ancrer son sous-menu */
#top-menu[data-depth="0"] > li {
  position: relative !important;
  flex: 1 !important;
  text-align: center !important;
}

#top-menu[data-depth="0"] > li > a {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  color: var(--gk-dark) !important;
  padding: 15px 10px !important;
  transition: color 0.2s;
  white-space: nowrap !important;
  display: block !important;
}
#top-menu[data-depth="0"] > li > a:hover,
#top-menu[data-depth="0"] > li:hover > a { color: var(--gk-red) !important; background: transparent !important; }

/* Sous-menus - dropdown vertical positionne sous le parent */
#top-menu[data-depth="0"] > li > .sub-menu,
.top-menu .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #fff !important;
  border: 1px solid var(--gk-border) !important;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
  min-width: 220px !important;
  width: auto !important;
  max-width: 300px !important;
  max-height: 400px !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 100 !important;
}
.top-menu .sub-menu ul[data-depth="1"] { display: flex !important; flex-direction: column !important; padding: 0 !important; margin: 0 !important; }
.top-menu .sub-menu ul[data-depth="1"] > li { display: block !important; width: 100% !important; float: none !important; margin: 0 !important; }
.top-menu .sub-menu a {
  color: var(--gk-gray) !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
  display: block !important;
  border-bottom: 1px solid var(--gk-border) !important;
  white-space: nowrap !important;
  text-transform: none !important;
  font-weight: 400 !important;
}
.top-menu .sub-menu li:last-child a { border-bottom: none !important; }
.top-menu .sub-menu a:hover { color: var(--gk-red) !important; background: var(--gk-light) !important; }

/* Forcer le sous-menu en colonne (pas mega-menu) */
.popover.sub-menu { width: auto !important; max-width: 300px !important; margin: 0 !important; }
.popover.sub-menu .top-menu { flex-direction: column !important; }
.popover.sub-menu .top-menu > li { width: 100% !important; margin: 0 !important; }

/* Cacher les fleches du popover bootstrap */
.popover.sub-menu::before, .popover.sub-menu::after { display: none !important; }

/* METIERS dropdown hover */
.gk-metiers-dropdown a:hover { color: var(--gk-red) !important; background: var(--gk-light) !important; }

/* === LAYOUT PRINCIPAL === */
.gk-wrapper { max-width: 1600px !important; margin: 0 auto !important; padding: 0 40px !important; }
#content { max-width: 100% !important; }

/* === PAGE ACCUEIL : slider pleine largeur === */
.page-index .gk-wrapper { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }
.page-index .gk-wrapper > .row { margin: 0 !important; }
.page-index #content-wrapper { padding: 0 !important; margin: 0 !important; max-width: 100% !important; flex: 0 0 100% !important; }
.page-index #content, .page-home { max-width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }

/* === SLIDER === */
#carousel { width: 100% !important; overflow: hidden !important; }
#carousel .carousel-item { width: 100% !important; }
#carousel .carousel-item a { display: block !important; width: 100% !important; }
#carousel .carousel-item figure { margin: 0 !important; width: 100% !important; }
#carousel .carousel-inner, #carousel .carousel-item, .homeslider-container, .homeslider-container li { width: 100% !important; }
img[width="1110"] { width: 100% !important; height: auto !important; }
#carousel img, .homeslider-container img, .carousel-item img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: unset !important;
}
#carousel, #carousel .carousel-inner, #carousel .carousel-item, #carousel figure {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* === SLIDER === */
#carousel .carousel-item .caption { display: none !important; }
#carousel .carousel-item figure { margin: 0 !important; }

/* Slider navigation */
#carousel .direction { z-index: 15 !important; }
#carousel .carousel-control .icon-next,
#carousel .carousel-control .icon-prev { background: rgba(0,0,0,0.3) !important; padding: 15px !important; }
#carousel .carousel-control .icon-next i,
#carousel .carousel-control .icon-prev i { color: #fff !important; font-size: 28px !important; }

/* === PAGE CATEGORIE === */
#category #wrapper { padding-top: 0 !important; }
#category .gk-wrapper { position: relative !important; }
/* Hero banner categorie - pleine largeur */
#category .block-category {
  position: relative;
  background: #1a1a1a;
  padding: 80px 40px !important;
  text-align: center;
  margin-bottom: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#category .block-category .category-cover {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  overflow: hidden;
  margin: 0;
}
#category .block-category .category-cover img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  opacity: 0.35;
}
#category .block-category .category-cover picture {
  width: 100%;
  height: 100%;
  display: block;
}
/* Titre categorie - blanc sur fond sombre */
#category .block-category h1,
.page-category .block-category h1 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 42px !important;
  color: #fff !important;
  text-align: center !important;
  margin-bottom: 10px !important;
  position: relative;
  z-index: 1;
}
#category .block-category #category-description,
#category .block-category .category-description {
  text-align: center;
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
/* Breadcrumb superpose sur le hero */
#category .breadcrumb {
  position: absolute !important;
  top: 15px !important;
  left: 40px !important;
  z-index: 2 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
#category .breadcrumb a,
#category .breadcrumb span,
#category .breadcrumb li { color: rgba(255,255,255,0.7) !important; font-size: 12px !important; }
#category .breadcrumb a:hover { color: #fff !important; }
/* Page categorie : pleine largeur, sidebar cachee par defaut (toggle via Filtrer) */
#category #left-column {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 320px !important;
  max-width: 85vw !important;
  height: 100vh !important;
  background: #fff !important;
  z-index: 1001 !important;
  overflow-y: auto !important;
  box-shadow: 5px 0 20px rgba(0,0,0,0.2) !important;
  padding: 20px 20px 20px 20px !important;
  flex: none !important;
  transition: transform 0.3s ease !important;
}
#category #left-column.gk-filters-open { display: block !important; }
/* Overlay sombre derriere le panneau filtres */
#gk-filter-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1000;
  cursor: pointer;
}
#gk-filter-overlay.gk-filters-open { display: block; }
/* Bouton fermer dans le panneau */
.gk-filter-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  cursor: pointer;
  color: #333;
  background: none;
  border: none;
  font-weight: 700;
  z-index: 2;
}
#category #left-column h4 { margin-top: 15px !important; }
/* Cacher le bloc arborescence categories dans le panneau filtres */
#category #left-column .block-categories { display: none !important; }
/* Cacher filtres sans valeurs (poids, selections inutiles) */
#category .facet[data-type="weight"] { display: none !important; }
#category .facet[data-type="extras"] { display: none !important; }
#category .facet[data-type="availability"] { display: none !important; }
#category .facet[data-type="category"] { display: none !important; }
/* Style des facets filtres */
#category .facet .facet-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  color: #242424 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
}
#category .facet .facet-label a { color: #666 !important; font-size: 13px !important; }
#category .facet .facet-label a:hover { color: var(--gk-red) !important; }
#category #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}
#category .container,
#category .container-fluid { max-width: 100% !important; padding: 0 !important; }
#category .gk-wrapper { padding: 0 !important; }
#category .gk-wrapper > .row,
#category #wrapper > .container-fluid > .row { margin: 0 !important; }
/* Section sous-categories en bas de page categorie (pills rouges) */
.gk-cat-subcats-bottom {
  padding: 30px 40px;
  border-top: 1px solid #e5e5e5;
  margin-top: 30px;
}
.gk-cat-subcats-bottom h3 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #242424 !important;
  margin-bottom: 20px !important;
}
.gk-cat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.gk-cat-pill {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid var(--gk-red);
  color: var(--gk-red) !important;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none !important;
  transition: all 0.2s;
}
.gk-cat-pill:hover {
  background: var(--gk-red);
  color: #fff !important;
}

/* Masquer sous-categories et quick-view */
#subcategories { display: none !important; }
.subcategory-heading { display: none !important; }
.product-miniature .highlighted-informations { display: none !important; }
/* Grille produits - override flex du theme */
#category #js-product-list { padding: 0 40px !important; }
#products .products,
.featured-products .products,
.product-accessories .products,
#js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px !important;
  flex-wrap: unset !important;
}
/* Barre tri - toolbar GK style gkpro */
#category .products-selection,
.products-selection {
  padding: 12px 40px !important;
  margin-bottom: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid #e5e5e5 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.gk-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 20px;
}
.gk-toolbar-left { display: flex; gap: 8px; align-items: center; }
.gk-toolbar-center { display: flex; align-items: center; gap: 6px; }
.gk-toolbar-right { display: flex; align-items: center; gap: 15px; }
.gk-btn-filter {
  display: inline-block;
  padding: 8px 22px;
  background: var(--gk-red);
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
  cursor: pointer;
}
.gk-btn-filter:hover { background: var(--gk-red-dark); }
.gk-btn-reset {
  display: inline-block;
  padding: 8px 22px;
  background: #000;
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.gk-btn-reset:hover { background: #333; }
.gk-view-label {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  color: #666;
}
.gk-view-sep { color: #ccc; }
.gk-view-link {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #999 !important;
  text-decoration: none !important;
}
.gk-view-link.gk-view-active,
.gk-view-link:hover {
  color: var(--gk-red) !important;
}
.gk-sort-label {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  color: #666;
  white-space: nowrap;
}
/* Override Bootstrap col classes inside toolbar */
.gk-toolbar .sort-by,
.gk-toolbar .products-sort-order {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
}
.gk-toolbar .sort-by { display: none !important; }
.products-sort-order .select-title {
  border: 1px solid #ddd !important;
  padding: 8px 15px !important;
  font-size: 13px !important;
  min-width: 150px !important;
  font-family: 'Lato', sans-serif !important;
}
/* Les enfants directs du grid sont les .js-product divs */
#products .products > .js-product,
#products .products > .product,
.featured-products .products > div,
#js-product-list .products > div {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}
.products .product-miniature {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}
.product-miniature .product {
  width: 100% !important;
  min-width: 0 !important;
}
#products .products .product-miniature .thumbnail-container,
.product-miniature .thumbnail-container {
  width: 100% !important;
  max-width: 100% !important;
}
.product-miniature .thumbnail-top {
  width: 100% !important;
}
.product-miniature .thumbnail.product-thumbnail {
  display: block !important;
  width: 100% !important;
}
.product-miniature .thumbnail-container img,
.product-miniature .product-thumbnail img {
  width: 100% !important;
  max-width: 100% !important;
  height: 380px !important;
  object-fit: contain !important;
  background: #fff;
  padding: 4px !important;
}
.product-miniature .product-description {
  padding: 15px !important;
}
.product-miniature .product-title {
  margin-bottom: 5px !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
}
.product-miniature .product-title a {
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  display: block !important;
}
.product-miniature .product-price-and-shipping {
  margin-top: 5px !important;
}
/* Reference visible sur les cartes */
.product-miniature .product-reference {
  display: block !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  color: #8d2a24 !important;
  margin-bottom: 5px !important;
  letter-spacing: 0.4px !important;
  font-weight: 600 !important;
}
/* Box shadow douce comme gkpro */
.product-miniature {
  box-shadow: 0 0 15px 5px rgba(227,227,227,0.3) !important;
  border: none !important;
  transition: box-shadow 0.3s !important;
}
.product-miniature:hover {
  box-shadow: 0 0 20px 8px rgba(180,57,51,0.15) !important;
  border: none !important;
}
/* Cacher les etoiles vides en listing */
.product-miniature .star-content { display: none !important; }
/* Ref produit */
.product-miniature .product-reference {
  font-size: 13px !important;
  color: #8d2a24 !important;
  font-family: 'Lato', sans-serif;
  font-weight: 600 !important;
}
/* Sidebar nettoyee */
#left-column { padding-right: 20px !important; }
#left-column h4, #left-column .h4 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  color: #242424 !important;
  letter-spacing: 0.5px !important;
}
/* Tri et compteur produits */
.products-sort-order .select-title,
.total-products p {
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  color: #666 !important;
}

/* === SECTIONS HOMEPAGE === */
.gk-section .container { max-width: 1400px !important; margin: 0 auto !important; padding: 0 15px !important; }
.featured-products .products-section-title, .products-section-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid var(--gk-red);
  padding-bottom: 15px;
}

/* === BOUTONS === */
.btn-primary { background: var(--gk-black) !important; border-color: var(--gk-black) !important; font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; text-transform: uppercase !important; font-size: 12px !important; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--gk-red) !important; border-color: var(--gk-red) !important; }

/* === PRODUITS (listing) - styles de base (les box-shadow/border sont dans la section categorie) === */
.product-miniature .product-title a { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 13px !important; color: var(--gk-dark) !important; }
.product-miniature .product-title a:hover { color: var(--gk-red) !important; }
.product-price-and-shipping .price, .product-price .current-price-value, .product-price .price, .product-miniature .price {
  color: var(--gk-red) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
}
.product-flag { background: var(--gk-red) !important; font-weight: 700 !important; text-transform: uppercase !important; }
.product-miniature .add-to-cart { background: var(--gk-black) !important; border-color: var(--gk-black) !important; color: #fff !important; }
.product-miniature .add-to-cart:hover { background: var(--gk-red) !important; border-color: var(--gk-red) !important; }

/* === FICHE PRODUIT === */
/* Titre produit */
.product-detail h1[itemprop="name"],
h1.product-detail-name {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: #242424 !important;
  margin-bottom: 10px !important;
}
/* Prix fiche produit */
.product-prices .current-price,
.product-prices .current-price-value {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: var(--gk-red) !important;
}
.product-prices .regular-price {
  font-size: 16px !important;
  text-decoration: line-through !important;
  color: #999 !important;
}
/* Description courte */
.product-description-short {
  font-size: 15px !important;
  color: #2a2a2a !important;
  line-height: 1.7 !important;
  margin-bottom: 20px !important;
}
.product-description-short * { color: #2a2a2a !important; }
.product-description, .product-description p, .product-description span,
#description, #description p, #description span,
#tab-content-description, #tab-content-description p, #tab-content-description span {
  color: #2a2a2a !important;
  font-size: 15px;
  line-height: 1.75;
}
/* Selecteur taille/variante */
.product-variants .product-variants-item {
  margin-bottom: 15px !important;
}
.product-variants .form-control-select {
  border: 2px solid #ddd !important;
  padding: 10px 15px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  min-width: 120px !important;
  background: #fff !important;
}
.product-variants .form-control-select:focus {
  border-color: var(--gk-red) !important;
  outline: none !important;
}
.product-variants .form-control-label {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  color: #242424 !important;
  margin-bottom: 8px !important;
  display: block !important;
}
/* Description produit - nettoyage format */
.product-description h2, .product-description h3 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--gk-dark) !important;
  margin: 25px 0 10px !important;
  text-transform: uppercase !important;
}
.product-description ul {
  padding-left: 20px !important;
  margin: 10px 0 20px !important;
}
.product-description ul li {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: #2a2a2a !important;
}
.product-description { overflow-x: hidden !important; }
.product-description table {
  border-collapse: collapse !important;
  margin: 15px 0 !important;
  font-size: 13px !important;
  display: block !important;
  overflow-x: auto !important;
  max-width: 100% !important;
}
.product-description table th, .product-description table td {
  padding: 8px 12px !important;
  border: 1px solid #e5e5e5 !important;
  text-align: center !important;
}
.product-description table th {
  background: #f5f5f5 !important;
  font-weight: 600 !important;
}
/* Bouton ajouter au panier */
.product-add-to-cart .add-to-cart {
  background: var(--gk-red) !important;
  border-color: var(--gk-red) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 14px 40px !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
}
.product-add-to-cart .add-to-cart:hover { background: var(--gk-red-dark) !important; border-color: var(--gk-red-dark) !important; }
/* Quantite */
.product-add-to-cart .qty input {
  border: 1px solid #ddd !important;
  height: 48px !important;
  width: 60px !important;
  text-align: center !important;
  font-size: 16px !important;
}
/* Onglets produit */
.product-tabs .nav-tabs {
  border-bottom: 2px solid #e5e5e5 !important;
  margin-bottom: 25px !important;
}
.product-tabs .nav-tabs .nav-link {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  color: var(--gk-gray) !important;
  padding: 12px 20px !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
}
.product-tabs .nav-tabs .nav-link.active {
  color: var(--gk-dark) !important;
  border-bottom-color: var(--gk-red) !important;
}
.product-tabs .tab-content {
  font-size: 14px !important;
  color: #666 !important;
  line-height: 1.8 !important;
}
/* Galerie images */
.product-cover img {
  width: 100% !important;
  object-fit: contain !important;
  background: #fff;
}
.product-images > li img {
  border: 1px solid #e5e5e5 !important;
  cursor: pointer;
}
.product-images > li img:hover,
.product-images > li.selected img {
  border-color: var(--gk-red) !important;
}
/* Disponibilite */
#product-availability .product-available { color: #28a745 !important; font-weight: 600 !important; }
#product-availability .product-last-items { color: #ff8c00 !important; font-weight: 600 !important; }
#product-availability .product-unavailable { color: #dc3545 !important; font-weight: 600 !important; }
/* Partage social - cacher */
.social-sharing { display: none !important; }

/* === SOUS-CATEGORIES === */
.subcategory-name a, .subcategory-name { color: var(--gk-dark) !important; font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; text-transform: uppercase !important; font-size: 12px !important; }
.subcategory-name a:hover { color: var(--gk-red) !important; }

/* === SIDEBAR === */
#left-column .block-categories a { color: var(--gk-gray) !important; }
#left-column .block-categories a:hover, #left-column .block-categories .current a { color: var(--gk-red) !important; font-weight: 700 !important; }

/* === PAGINATION comme gkpro === */
nav.pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 30px 40px !important;
  padding: 20px 0 !important;
  border-top: 1px solid #e5e5e5 !important;
}
nav.pagination > .col-md-4 { display: none !important; }
nav.pagination > .col-md-6 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.page-list {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 3px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page-list li a,
.page-list li span {
  display: inline-block !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #333 !important;
  padding: 8px 12px !important;
  min-width: 38px !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  transition: color 0.2s !important;
}
.page-list li a:hover {
  color: var(--gk-red) !important;
}
.page-list li.current a,
.page-list li.current span {
  background: var(--gk-red) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.page-list li a.disabled {
  pointer-events: none;
}
.page-list li a.next,
.page-list li a.previous {
  font-size: 16px !important;
  font-weight: 700 !important;
}
/* BREADCRUMB === */
.breadcrumb a { color: var(--gk-gray) !important; }
.breadcrumb a:hover { color: var(--gk-red) !important; }

/* === PANIER === */
.cart-grid { max-width: 1200px !important; margin: 0 auto !important; }
.cart-grid-body { padding: 0 20px !important; }
.cart-summary .cart-total .value { color: var(--gk-red) !important; font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; }
.cart-summary .cart-total .label { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; text-transform: uppercase !important; }
/* Produit dans le panier */
.cart-item .product-line-info a { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; color: var(--gk-dark) !important; }
.cart-item .product-line-info a:hover { color: var(--gk-red) !important; }
.cart-item .product-price { color: var(--gk-red) !important; font-weight: 700 !important; }
.cart-item img { object-fit: contain !important; background: #fff; }
/* Bouton commander */
.checkout a.btn { background: var(--gk-red) !important; border-color: var(--gk-red) !important; font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; text-transform: uppercase !important; }
.checkout a.btn:hover { background: var(--gk-red-dark) !important; }
/* Titre panier */
.cart-grid-body h1, #cart .h1 { font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; font-size: 24px !important; text-transform: uppercase !important; }

/* === CHECKOUT === */
.checkout-step .step-title { font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; font-size: 16px !important; text-transform: uppercase !important; }
.checkout-step .step-number { background: var(--gk-red) !important; color: #fff !important; }
#payment-confirmation .btn { background: var(--gk-red) !important; border-color: var(--gk-red) !important; font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; }

/* === PAGE COMPTE / LOGIN === */
#authentication h1, #my-account h1, #identity h1, #history h1, #order-detail h1 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  text-transform: uppercase !important;
  color: var(--gk-dark) !important;
  text-align: center !important;
  margin-bottom: 30px !important;
}
#authentication .login-form, #authentication .register-form {
  max-width: 500px !important;
  margin: 0 auto !important;
}
#authentication .form-control {
  border: 1px solid #ddd !important;
  padding: 12px 15px !important;
  font-size: 14px !important;
}
#authentication .btn-primary,
#my-account .btn-primary {
  background: var(--gk-red) !important;
  border-color: var(--gk-red) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 12px 30px !important;
  width: 100% !important;
}
#authentication .btn-primary:hover { background: var(--gk-red-dark) !important; }
/* Dashboard compte */
#my-account .links a {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--gk-dark) !important;
  border: 1px solid #e5e5e5 !important;
  padding: 20px !important;
  text-align: center !important;
  transition: border-color 0.2s !important;
}
#my-account .links a:hover { border-color: var(--gk-red) !important; color: var(--gk-red) !important; }
#my-account .links a i { color: var(--gk-red) !important; font-size: 32px !important; display: block !important; margin-bottom: 10px !important; }
/* Bandeau dashboard revendeur - toutes les pages */
.gk-dashboard-banner {
  background: #1a1a1a;
  padding: 25px 40px;
  border-bottom: 3px solid var(--gk-red);
}
/* Supprimer l'espace entre menu et bandeau revendeur */
#wrapper:has(.gk-dashboard-banner) { padding-top: 0 !important; }
.gk-dash-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.gk-dash-col h4.gk-dash-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #fff !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid var(--gk-red);
  padding-bottom: 8px !important;
  margin-bottom: 15px !important;
}
.gk-dash-col p {
  font-size: 13px;
  color: #ccc;
  margin: 0 0 6px;
  line-height: 1.5;
}
.gk-dash-col p strong {
  color: #fff;
  font-size: 12px;
}
.gk-dash-val {
  color: var(--gk-red) !important;
  font-weight: 600;
}
/* Layout compte avec sidebar */
.gk-account-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 20px;
}
.gk-account-sidebar {
  text-align: center;
}
.gk-account-avatar {
  width: 120px;
  height: 120px;
  margin: 0 auto 15px;
  border-radius: 50%;
  overflow: hidden;
  background: #f0f0f0;
}
.gk-account-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gk-account-name {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--gk-dark);
  margin: 0 0 5px;
}
.gk-account-client-num {
  background: #f5f5f5;
  padding: 8px 15px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--gk-dark);
  margin: 10px 0 20px;
}
.gk-account-client-num span {
  color: var(--gk-red);
  font-weight: 700;
}
.gk-account-nav {
  border-top: 1px solid #e5e5e5;
}
.gk-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 15px;
  border-bottom: 1px solid #e5e5e5;
  text-decoration: none;
  color: var(--gk-dark);
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 13px;
  transition: color 0.2s;
}
.gk-nav-item:hover, .gk-nav-item.active {
  color: var(--gk-red);
  text-decoration: none;
}
.gk-nav-item i {
  font-size: 20px;
  color: #999;
}
.gk-nav-item:hover i, .gk-nav-item.active i {
  color: var(--gk-red);
}
.gk-nav-item::after {
  content: '\E315';
  font-family: 'Material Icons';
  margin-left: auto;
  font-size: 18px;
  color: #ccc;
}
.gk-nav-logout { color: #999; }
.gk-nav-logout:hover { color: var(--gk-red); }
/* Contenu principal compte */
.gk-account-content {
  min-height: 400px;
  overflow: hidden;
  min-width: 0;
}
.gk-account-content h1 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--gk-dark) !important;
  margin-bottom: 25px !important;
  text-align: left !important;
  text-transform: none !important;
}
/* Cacher liens parasites sur page mon-compte */
#my-account #psgdpr-link, #my-account #wishlist-link, #my-account .links { display: none !important; }
/* Dashboard revendeur page mon-compte */
.gk-revendeur-dashboard { padding: 10px 0; }
.gk-dash-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-bottom: 30px;
  overflow: hidden;
}
.gk-dash-card-value { font-size: 20px; }
.gk-dash-card-label { font-size: 11px; }
.gk-dash-card {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 25px 20px;
  background: #f8f8f8;
  border-left: 4px solid var(--gk-red);
}
.gk-dash-card-icon i {
  font-size: 36px;
  color: var(--gk-red);
}
.gk-dash-card-value {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--gk-dark);
  line-height: 1.2;
}
.gk-dash-card-label {
  display: block;
  font-size: 12px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.gk-dash-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.gk-dash-detail-block h4 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  color: var(--gk-dark) !important;
  border-bottom: 2px solid var(--gk-red) !important;
  padding-bottom: 8px !important;
  margin-bottom: 15px !important;
}
.gk-dash-table {
  width: 100%;
  font-size: 13px;
}
.gk-dash-table td {
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  color: #666;
}
.gk-dash-table td.gk-val {
  text-align: right;
  font-weight: 600;
  color: var(--gk-dark);
}
/* Page Commandes & Factures */
.gk-encours-bar {
  display: flex;
  justify-content: flex-end;
  gap: 30px;
  padding: 12px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 13px;
  color: #666;
}
.gk-orders-table {
  width: 100%;
  border-collapse: collapse;
}
.gk-orders-table thead th {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  color: var(--gk-dark);
  background: #f8f8f8;
  padding: 12px 15px;
  border-bottom: 2px solid #e5e5e5;
}
.gk-orders-table tbody td {
  padding: 14px 15px;
  font-size: 13px;
  color: #555;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}
.gk-orders-table tbody tr:hover { background: #fafafa; }
.gk-order-status {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 3px;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
.gk-order-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.gk-action-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--gk-dark);
  text-decoration: none;
}
.gk-action-link:hover { color: var(--gk-red); text-decoration: none; }
.gk-action-link i { font-size: 16px; }
.gk-action-pdf { color: var(--gk-red); }
.gk-no-orders {
  text-align: center;
  padding: 40px;
  color: #999;
  font-size: 14px;
}
@media (max-width: 768px) {
  .gk-dash-cards { grid-template-columns: 1fr; }
  .gk-dash-details { grid-template-columns: 1fr; }
  .gk-encours-bar { flex-direction: column; gap: 5px; }
}
/* Page historique commandes */
#history .table th {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  color: var(--gk-dark) !important;
  background: #f8f8f8 !important;
}
#history .table td { font-size: 13px !important; vertical-align: middle !important; }
#history .label, #history .badge {
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
}
/* Formulaires compte */
#identity .form-control, #address .form-control, #addresses .form-control {
  border: 1px solid #ddd !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
}
#identity .btn-primary, #address .btn-primary {
  background: var(--gk-red) !important;
  border-color: var(--gk-red) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
/* Responsive bandeau */
@media (max-width: 768px) {
  .gk-dash-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .gk-account-links { grid-template-columns: 1fr; }
  .gk-dashboard-banner { padding: 20px 15px; }
  .gk-account-layout { grid-template-columns: 1fr; gap: 20px; }
  .gk-account-sidebar { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; text-align: left; }
  .gk-account-avatar { width: 60px; height: 60px; margin: 0; }
  .gk-account-nav { display: flex; flex-wrap: wrap; gap: 5px; width: 100%; border: none; }
  .gk-nav-item { border: 1px solid #e5e5e5; padding: 8px 12px; font-size: 12px; }
  .gk-nav-item::after { display: none; }
}
@media (max-width: 480px) {
  .gk-dash-grid { grid-template-columns: 1fr; }
}

/* === PAGES CMS === */
.page-cms h1, .page-cms .page-header h1 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  text-transform: uppercase !important;
  color: var(--gk-dark) !important;
  text-align: center !important;
  margin-bottom: 30px !important;
}
.page-cms .page-content {
  max-width: 800px !important;
  margin: 0 auto !important;
  font-size: 14px !important;
  color: #666 !important;
  line-height: 1.8 !important;
}

/* === RECHERCHE === */
#search h1, .page-search h1 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

/* === FORMULAIRES === */
.form-control:focus { border-color: var(--gk-red) !important; box-shadow: 0 0 0 .2rem rgba(179,54,47,.15) !important; }

/* === NEWSLETTER === */
.block_newsletter, .block_newsletter .row, .block_newsletter > div,
#blockEmailSubscription_displayFooterBefore {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.block_newsletter *, #block-newsletter-label { color: #fff !important; }
.block_newsletter input[type="email"] { color: var(--gk-dark) !important; background: #fff !important; border: none !important; height: 42px !important; }
.block_newsletter .btn-primary { background: var(--gk-red) !important; border-color: var(--gk-red) !important; }
.block_newsletter .btn-primary:hover { background: var(--gk-red-dark) !important; border-color: var(--gk-red-dark) !important; }

/* === FOOTER === */
.footer-container, #footer { background: var(--gk-dark) !important; color: #999 !important; }
#footer .footer-container { padding: 40px 0 20px !important; }
#footer h4, #footer .h4 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #fff !important;
}
#footer a { color: #999 !important; }
#footer a:hover { color: #fff !important; }
#footer .footer-after { background: var(--gk-black) !important; border-top: 1px solid rgba(255,255,255,0.1) !important; }

/* === CACHER PRESTASHOP BRANDING === */
a[href*="prestashop-project.org"] { font-size: 0 !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; display: block !important; }

/* === RESPONSIVE === */
@media (max-width: 1280px) {
  #top-menu > li > a, .top-menu > li > a { font-size: 11px !important; padding: 12px 8px !important; }
}
@media (max-width: 1024px) {
  #top-menu > li > a, .top-menu > li > a { font-size: 10px !important; padding: 10px 6px !important; }
}
@media (max-width: 768px) {
  .container-fluid { padding-left: 15px !important; padding-right: 15px !important; }
  /* Mobile header */
  .header-top > .hidden-sm-down { display: none !important; }
  .gk-mobile-header { display: flex !important; }
  .header-top { padding: 0 !important; position: relative !important; }
  .header-nav { padding: 0 !important; }
  .header-nav .mobile { padding: 0 !important; }
  .header-nav .mobile * { color: #fff !important; }
  #menu-icon { display: flex !important; align-items: center !important; }
  #menu-icon i { color: #333 !important; }
  .gk-menu-bar { display: none !important; }
  .gk-icons { display: none !important; }
  /* Mobile menu dropdown */
  #mobile_top_menu_wrapper {
    background: #fff !important;
    border-top: 1px solid #e5e5e5 !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 999 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  }
  #mobile_top_menu_wrapper ul,
  #mobile_top_menu_wrapper .top-menu,
  #mobile_top_menu_wrapper #top-menu {
    display: block !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #mobile_top_menu_wrapper li,
  #mobile_top_menu_wrapper .top-menu > li,
  #mobile_top_menu_wrapper #top-menu > li {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    border-bottom: 1px solid #f0f0f0 !important;
    float: none !important;
    flex: none !important;
    position: relative !important;
  }
  #mobile_top_menu_wrapper li > a,
  #mobile_top_menu_wrapper .top-menu li > a {
    display: block !important;
    padding: 14px 20px !important;
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 0.5px !important;
    white-space: normal !important;
    background: #fff !important;
    text-align: left !important;
  }
  #mobile_top_menu_wrapper li > a:active { background: #f5f5f5 !important; }
  /* Collapse icons (+ / -) */
  #mobile_top_menu_wrapper .collapse-icons {
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
    padding: 10px !important;
    cursor: pointer !important;
  }
  #mobile_top_menu_wrapper .collapse-icons i { font-size: 20px !important; color: #999 !important; }
  #mobile_top_menu_wrapper .float-xs-right { position: absolute !important; right: 0 !important; top: 0 !important; bottom: 0 !important; display: flex !important; align-items: center !important; padding-right: 15px !important; }
  /* Sous-menus collapses par defaut - laisser Bootstrap gerer le toggle */
  #mobile_top_menu_wrapper .sub-menu,
  #mobile_top_menu_wrapper .popover {
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    width: 100% !important;
    background: #f5f5f5 !important;
    z-index: 10 !important;
  }
  #mobile_top_menu_wrapper .sub-menu li { border-bottom-color: #eee !important; background: #f5f5f5 !important; }
  #mobile_top_menu_wrapper .sub-menu li a {
    padding: 12px 20px 12px 35px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555 !important;
    text-transform: none !important;
    background: #f5f5f5 !important;
  }
  #mobile_top_menu_wrapper .js-top-menu-bottom { display: none !important; }
  #mobile_top_menu_wrapper .row { margin: 0 !important; padding: 0 !important; }
  .gk-wrapper { padding: 0 15px !important; }
  .gk-section .container { padding: 0 15px !important; }
  #carousel img, .carousel-item img { min-height: 180px !important; object-position: 70% center !important; }
  /* Page categorie mobile */
  #products .products, .products.row { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .product-miniature .thumbnail-container img,
  .product-miniature .product-thumbnail img { height: 180px !important; padding: 10px !important; }
  .product-miniature .product-description { padding: 10px !important; }
  #category .block-category h1,
  .page-category .block-category h1 { font-size: 24px !important; }
  #category .block-category { padding: 40px 15px !important; }
  /* Fiche produit mobile */
  .product-prices .current-price-value { font-size: 20px !important; }
  .product-add-to-cart .add-to-cart { width: 100% !important; padding: 12px 20px !important; }
  /* Newsletter mobile */
  .gk-newsletter form input[type=email],
  .gk-newsletter form input[type=text] { max-width: 100% !important; }
  .gk-newsletter h4 { font-size: 18px !important; }
}

/* ===== PRIX GK - Miniatures catalogue ===== */
.gk-mini-prices {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 5px;
}
.gk-mini-prices .gk-price-public {
  font-size: 12px;
  color: #666;
}
.gk-mini-prices .gk-price-public strong {
  font-weight: 600;
  color: #333;
}
.gk-mini-prices .gk-price-revendeur {
  font-size: 14px;
  color: var(--gk-red, #1a3a6c);
  font-weight: 700;
}
.gk-mini-prices .gk-price-revendeur strong {
  font-family: 'Poppins', sans-serif;
}
.gk-catalog-login-price {
  text-align: center;
  padding: 8px 0;
}
.gk-catalog-login-price a {
  color: var(--gk-red, #1a3a6c) !important;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
}
.gk-catalog-login-price a:hover {
  text-decoration: underline !important;
}
/* ===== PRIX GK - Fiche produit ===== */
.gk-prices {
  margin-bottom: 15px;
  padding: 15px 0;
  border-bottom: 1px solid #e5e5e5;
}
.gk-price-public {
  font-size: 16px;
  color: #333;
  font-weight: 600;
  margin-bottom: 4px;
}
.gk-price-revendeur {
  font-size: 15px;
  color: var(--gk-red, #1a3a6c);
  margin-bottom: 4px;
}
.gk-price-final {
  font-size: 16px;
  color: var(--gk-red, #1a3a6c);
  font-weight: 700;
}
.gk-price-final strong {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
}
.gk-prices-login { margin-bottom: 15px; }
.gk-btn-login-price {
  display: inline-block;
  background: var(--gk-red, #1a3a6c);
  color: #fff !important;
  padding: 12px 25px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  transition: background 0.2s;
}
.gk-btn-login-price:hover { background: #0f2547; }

/* ===== Page Marques ===== */
#manufacturer h1 { font-family: 'Poppins', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 24px; margin-bottom: 20px; }
#manufacturer .brand-miniature { border: 1px solid #e5e5e5; padding: 20px; text-align: center; transition: box-shadow 0.2s; }
#manufacturer .brand-miniature:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.1); }
#manufacturer .brand-miniature img { max-height: 80px; margin-bottom: 10px; }
#manufacturer .brand-miniature .brand-infos h3 { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14px; }

/* ===== Masquer les badges promo B2B ===== */
.product-flag.discount,
.discount-percentage,
.discount-amount,
.product-discount,
.regular-price,
.has-discount .discount {
  display: none !important;
}

/* ===== Recherche AJAX dropdown ===== */
.gk-sr-item{display:flex;align-items:center;padding:10px 15px;border-bottom:1px solid #f0f0f0;text-decoration:none !important;color:#333 !important;transition:background 0.1s;}
.gk-sr-item:hover{background:#f8f8f8;}
.gk-sr-img{width:50px;height:50px;object-fit:contain;flex-shrink:0;margin-right:12px;background:#fafafa;}
.gk-sr-info{flex:1;min-width:0;}
.gk-sr-name{font-size:13px;font-weight:600;line-height:1.3;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gk-sr-ref{font-size:11px;color:#999;}
.gk-sr-price{font-size:13px;font-weight:700;color:var(--gk-red, #1a3a6c);flex-shrink:0;margin-left:10px;white-space:nowrap;}
.gk-sr-footer{padding:10px 15px;text-align:center;background:#f8f8f8;border-top:1px solid #e5e5e5;}
.gk-sr-footer a{color:var(--gk-red, #1a3a6c) !important;font-weight:600;font-size:13px;text-decoration:none !important;}
.gk-sr-empty{padding:20px;text-align:center;color:#999;font-size:14px;}
.gk-sr-loading{padding:15px;text-align:center;color:#999;font-size:13px;}

/* Fix dropdown recherche au-dessus de tout */
.header-top { position: relative; z-index: 1000; }
.gk-search-zone { position: relative; z-index: 1001; }
.gk-dashboard-banner { position: relative; z-index: 100; }
.gk-menu-bar { position: relative; z-index: 500; }
.gk-sr-item:first-child { border-top: 2px solid var(--gk-red, #1a3a6c); }

/* Force header au-dessus du menu et du bandeau */
.header-top { position: relative; z-index: 100000 !important; }
.gk-menu-bar { position: relative; z-index: 1 !important; }
.gk-dashboard-banner { position: relative; z-index: 1 !important; }

/* Fix overflow pour le dropdown recherche */
.header-top,
.header-top > .hidden-sm-down,
#header {
  overflow: visible !important;
}

/* Force tous les parents du dropdown a overflow visible */
.header-top,
.header-top > .hidden-sm-down,
#header,
header,
main {
  overflow: visible !important;
}
.gk-search-zone {
  overflow: visible !important;
  height: 44px !important;
  align-self: center !important;
}

.gk-thumb-hover .gk-thumb-primary,
.gk-thumb-hover .gk-thumb-secondary {
  width: 100%;
  height: auto;
  transition: opacity 0.4s ease, transform 0.4s ease;
  display: block;
}
.gk-thumb-hover .gk-thumb-secondary {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.product-miniature:hover .gk-thumb-hover .gk-thumb-primary {
  opacity: 0;
  transform: scale(1.05);
}
.product-miniature:hover .gk-thumb-hover .gk-thumb-secondary {
  opacity: 1;
  transform: scale(1.05);
}
.product-miniature:hover .gk-thumb-hover:not(:has(.gk-thumb-secondary)) .gk-thumb-primary {
  opacity: 1;
  transform: scale(1.05);
}
.product-miniature {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.product-miniature:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}


/* Miniatures - zoom au survol */
.gk-thumb-hover { overflow: hidden; display: block; }
.gk-thumb-hover img, .gk-thumb-hover .gk-thumb-primary { transition: transform 0.4s ease; display: block; }
.product-miniature:hover .gk-thumb-hover img { transform: scale(1.08); }
.product-miniature { transition: box-shadow 0.2s ease; }
.product-miniature:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.1); }

/* Page Marques */
#manufacturer .brand {
  text-align: center;
  padding: 30px 20px;
  border: 1px solid #e5e5e5;
  background: #fff;
  transition: box-shadow 0.2s, transform 0.2s;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#manufacturer .brand:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
#manufacturer .brand img { max-height: 80px; margin-bottom: 10px; object-fit: contain; }
#manufacturer .brand-img-container { min-height: 0; }
#manufacturer .brand img[alt]:not([src]),
#manufacturer .brand img[src=""],
#manufacturer .brand picture:empty { display: none !important; }
#manufacturer .brand-infos,
#manufacturer .brand h3,
#manufacturer .brand .h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
}
#manufacturer .brand-infos a,
#manufacturer .brand a h3 {
  color: #1a1a1a !important;
  text-decoration: none !important;
}
#manufacturer .brand:hover .brand-infos,
#manufacturer .brand:hover h3 {
  color: var(--gk-red, #1a3a6c) !important;
}
#manufacturer .brand-products { display: none; }


@media (max-width: 500px) {
  .gk-toolbar-center {
    display: none !important;
  }
}


/* Toolbar categorie responsive mobile */
@media (max-width: 991px) {
  .gk-toolbar {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    padding: 8px 10px !important;
    align-items: center;
    justify-content: space-between;
  }
  .gk-toolbar-left {
    display: flex;
    flex: 0 0 auto;
    gap: 4px !important;
  }
  .gk-toolbar-center { display: none !important; }
  .gk-toolbar-right {
    display: flex;
    flex: 0 1 auto;
    max-width: 180px;
    min-width: 0;
  }
  .gk-toolbar-right .gk-sort-label { display: none !important; }
  .gk-btn-filter,
  .gk-btn-reset {
    padding: 7px 10px !important;
    font-size: 11px !important;
    white-space: nowrap;
  }
  .gk-toolbar .products-sort-order {
    position: relative !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .gk-toolbar .products-sort-order .select-title {
    padding: 7px 24px 7px 10px !important;
    font-size: 12px !important;
    border: 1px solid #ccc !important;
    background: #fff !important;
    width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  .gk-toolbar .products-sort-order .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    min-width: 200px;
  }
  .gk-toolbar .sort-by,
  .gk-toolbar .col-xs-8,
  .gk-toolbar .col-sm-7,
  .gk-toolbar .col-md-5,
  .gk-toolbar .col-md-9 {
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* Color siblings on product page */
.gk-color-siblings { margin: 18px 0 12px; }
.gk-color-siblings-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #333; margin-bottom: 10px; }
.gk-color-siblings-list { display: flex; flex-wrap: wrap; gap: 10px; }
.gk-sibling { display: block; width: 90px; height: 90px; border: 1px solid #ddd; border-radius: 4px; overflow: hidden; transition: border-color 0.15s; background: #fff; }
.gk-sibling:hover { border-color: var(--gk-red, #1a3a6c); }
.gk-sibling.gk-sibling-current { border-color: var(--gk-red, #1a3a6c); border-width: 2px; }
.gk-sibling img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gk-sibling.gk-sibling-oos { position: relative; opacity: 0.55; }
.gk-sibling.gk-sibling-oos img { filter: grayscale(100%); }
.gk-sibling-oos-badge { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: rgba(180,57,51,0.92); color: #fff; font-size: 10px; padding: 3px 7px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 700; white-space: nowrap; line-height: 1; pointer-events: none; }
@media (max-width: 768px) {
  .gk-sibling { width: 70px; height: 70px; }
}

/* === FIX bouton FILTRER sur toutes les pages === */
#left-column.gk-filters-open {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 320px !important;
  max-width: 85vw !important;
  height: 100vh !important;
  background: #fff !important;
  z-index: 1001 !important;
  overflow-y: auto !important;
  padding: 50px 20px 20px !important;
  box-shadow: 2px 0 20px rgba(0,0,0,0.2) !important;
}
/* Cacher bouton FILTRER si pas de filtres dispo (page sans sidebar) */
body#search .gk-btn-filter,
body#manufacturer .gk-btn-filter,
body#new-products .gk-btn-filter,
body#prices-drop .gk-btn-filter,
body#best-sales .gk-btn-filter {
  display: none !important;
}

/* === D. Hover preview 2eme image === */
.gk-thumb-hover { position: relative; display: block; }
.gk-thumb-hover .gk-thumb-primary,
.gk-thumb-hover .gk-thumb-alt {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.25s ease;
}
.gk-thumb-hover.gk-has-alt .gk-thumb-alt {
  position: absolute; top: 0; left: 0;
  opacity: 0;
}
.gk-thumb-hover.gk-has-alt:hover .gk-thumb-primary { opacity: 0; }
.gk-thumb-hover.gk-has-alt:hover .gk-thumb-alt { opacity: 1; }

/* === E. Bulles couleurs sous miniatures === */
.gk-mini-bubbles { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 2px; }
.gk-mini-bubble {
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.15);
  display: inline-block;
  cursor: pointer;
}
.gk-mini-bubble-current { box-shadow: 0 0 0 2px var(--gk-red, #1a3a6c); border-color: #fff; }

/* === F. Bandeau Nouveau (orange ambre) === */
.product-flag.new {
  background: #FF8C00 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* === G. Bandeau Sur devis (bleu) === */
.product-flag.devis {
  background: #0967D2 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.product-flags li.devis { margin-top: 4px; }

/* === H. Badge JES (Jusqu Epuisement Stock) === */
.product-flag.jes {
  background: #6f42c1 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 11px;
}

/* === J. Zoom hover sur fiche produit === */
.product-cover img,
#product .images-container .product-img img { transition: transform 0.4s ease; cursor: zoom-in; }
#product .product-cover, .product-cover { overflow: hidden; }
.product-cover:hover img,
#product .images-container .product-img:hover img { transform: scale(1.6); }

/* === K. Recommandations produits === */
.gk-reco { margin: 40px 0 30px; padding: 25px; background: #fafafa; border-radius: 6px; }
.gk-reco-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 16px; text-transform: uppercase; letter-spacing: 1px; color: #333; margin: 0 0 18px; }
.gk-reco-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gk-reco-card { display: block; background: #fff; padding: 12px; border: 1px solid #eee; border-radius: 4px; text-decoration: none !important; color: #333; transition: border-color 0.2s, box-shadow 0.2s; }
.gk-reco-card:hover { border-color: var(--gk-red, #1a3a6c); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.gk-reco-card img { width: 100%; height: auto; display: block; margin-bottom: 8px; }
.gk-reco-name { font-size: 13px; font-weight: 600; line-height: 1.3; color: #333; min-height: 34px; }
.gk-reco-ref { font-size: 11px; color: #888; margin-top: 4px; }
@media (max-width: 768px) { .gk-reco-grid { grid-template-columns: repeat(2, 1fr); } }

/* === L. Stock dispo dans panier === */
.gk-cart-stock { display: block; font-size: 12px; color: #28a745; font-weight: 600; margin-top: 4px; }
.gk-cart-stock.gk-stock-low { color: #d97706; }
.gk-cart-stock.gk-stock-cap { color: #1a3a6c; font-weight: 700; }

/* === N. Fix trou search bar bas-droite === */
.gk-search-zone #search_widget form { overflow: hidden; box-sizing: border-box; }
.gk-search-zone #search_widget form button {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  height: 100% !important;
  min-height: 44px !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.gk-search-zone #search_widget form button > * { display: block; }

/* === D. Fix hover preview - overlay strict === */
.gk-thumb-hover { position: relative !important; display: block !important; }
.gk-thumb-hover picture { display: block !important; line-height: 0; }
.gk-thumb-hover .gk-thumb-primary {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  z-index: 1;
  transition: opacity 0.25s ease;
}
.gk-thumb-hover .gk-thumb-alt {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.gk-thumb-hover.gk-has-alt:hover .gk-thumb-primary { opacity: 0; }
.gk-thumb-hover.gk-has-alt:hover .gk-thumb-alt { opacity: 1; }


/* === N. Fix carre noir orphelin (bouton METIERS visible isole) === */
@media (max-width: 991px) {
  .gk-menu-bar { display: none !important; }
  .gk-metiers-wrapper, .gk-metiers-btn { display: none !important; }
}
.gk-metiers-btn { box-sizing: border-box; }
.gk-menu-bar > div > .gk-metiers-wrapper { align-self: stretch; }

/* === E. Bulles : tailles + comportement hover/click === */
.gk-mini-bubbles { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 4px; align-items: center; }
.gk-mini-bubble {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(0,0,0,0.18);
  display: inline-block;
  cursor: pointer;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gk-mini-bubble:hover { transform: scale(1.25); box-shadow: 0 0 0 2px rgba(180,57,51,0.3); }
.gk-mini-bubble-current { box-shadow: 0 0 0 2px var(--gk-red, #1a3a6c); border-color: #fff; transform: scale(1.05); }
.product-miniature .thumbnail-container { position: relative; }
.gk-bubble-preview-active { opacity: 0.85; }

/* === Liens checkout (ajouter adresse / facturation differente) === */
.add-address a, .add-address a:link, .add-address a:visited,
[data-link-action="different-invoice-address"],
[data-link-action="different-invoice-address"]:link,
[data-link-action="different-invoice-address"]:visited,
.js-address-form a:not(.btn) {
  color:var(--gk-red,#1a3a6c) !important;
  text-decoration:none !important;
  font-weight:600;
}
.add-address a:hover, [data-link-action="different-invoice-address"]:hover, .js-address-form a:not(.btn):hover {
  color:#0f2547 !important;
  text-decoration:underline !important;
}
.add-address { margin-top:14px !important; }
.add-address a i.material-icons { font-size:18px; vertical-align:middle; margin-right:4px; }

/* === Modes de paiement checkout (style GK) === */
.payment-options { display:flex !important; flex-direction:column; gap:8px; margin-top:14px; }
.payment-options > div { margin:0 !important; }
.payment-option { background:#fff; border:1px solid #e5e5e5; padding:14px 18px !important; display:flex !important; align-items:center; gap:18px; cursor:pointer; transition:border-color .15s, box-shadow .15s; min-height:64px; margin:0 !important; }
.payment-option:hover { border-color:#bbb; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.payment-option:has(input[type="radio"]:checked) { border-color:var(--gk-red,#1a3a6c); border-width:2px; background:#fffafa; }
.payment-option .custom-radio { display:inline-block !important; flex-shrink:0; width:18px; height:18px; border:2px solid var(--gk-red,#1a3a6c); border-radius:50%; position:relative; background:#fff; padding:0 !important; margin:0 !important; float:none !important; }
.payment-option:has(input:checked) .custom-radio { background:var(--gk-red,#1a3a6c); }
.payment-option:has(input:checked) .custom-radio::after { content:""; position:absolute; top:3px; left:3px; width:8px; height:8px; background:#fff; border-radius:50%; }
.payment-option .custom-radio > span { display:none !important; }
.payment-option .custom-radio input[type="radio"] { position:absolute; opacity:0; cursor:pointer; width:100%; height:100%; top:0; left:0; }
.payment-option > label { flex:1; cursor:pointer; padding:0 !important; margin:0 !important; display:flex !important; align-items:center; gap:14px; font-family:Poppins,sans-serif; font-weight:600; font-size:14px; color:#222; }
.payment-option:has(input:checked) > label { color:var(--gk-red,#1a3a6c); }
.payment-option > label img { max-height:28px; max-width:120px; object-fit:contain; flex-shrink:0; }
.payment-option .ps-hidden-by-js { display:none !important; }
.js-additional-information { padding:14px 18px; background:#fafafa; border-left:3px solid var(--gk-red,#1a3a6c); font-size:13px; color:#444; margin:6px 0 8px; }
.js-additional-information.ps-hidden { display:none; }

/* Acceptation CGV + bouton commander */
.payment-options-list .ps-shown-by-js, .conditions-to-approve { margin-top:18px !important; padding:14px 18px !important; background:#fafafa !important; border-left:3px solid var(--gk-red,#1a3a6c) !important; }
.conditions-to-approve label { font-family:Poppins,sans-serif !important; font-weight:600 !important; font-size:13px !important; color:#222 !important; display:flex !important; align-items:center; gap:10px; cursor:pointer; }
.conditions-to-approve input[type="checkbox"] { width:18px; height:18px; accent-color:var(--gk-red,#1a3a6c); cursor:pointer; flex-shrink:0; }

/* === Modes de livraison checkout (style GK) === */
.delivery-options-list { margin-top:14px; }
.delivery-options { display:flex; flex-direction:column; gap:8px; }
.delivery-option { background:#fff; border:1px solid #e5e5e5; padding:14px 18px !important; display:flex !important; align-items:center; gap:18px; cursor:pointer; transition:border-color .15s, box-shadow .15s; margin:0 !important; min-height:80px; }
.delivery-option:hover { border-color:#bbb; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.delivery-option:has(input[type="radio"]:checked) { border-color:var(--gk-red,#1a3a6c); border-width:2px; background:#fffafa; }
.delivery-option > .col-sm-1 { padding:0 !important; flex:0 0 auto; width:auto !important; max-width:none !important; }
.delivery-option > label { flex:1; cursor:pointer; padding:0 !important; margin:0 !important; max-width:none !important; display:flex !important; align-items:center; gap:18px; }
.delivery-option .row { margin:0 !important; align-items:center; display:grid !important; grid-template-columns:300px 1fr 110px !important; gap:24px !important; flex:1 1 auto; width:100%; }
.delivery-option .row > [class*="col-"] { padding:0 !important; min-width:0; max-width:none !important; width:auto !important; }
.delivery-option .row > .col-sm-5 { display:flex; align-items:center; gap:14px; }
.delivery-option .row > .col-sm-4 { font-size:13px; color:#666; line-height:1.4; }
.delivery-option .row > .col-sm-3 { text-align:right; white-space:nowrap; }
.delivery-option .carrier { display:flex !important; align-items:center; gap:14px; margin:0 !important; }
.delivery-option .carrier > [class*="col-"] { padding:0 !important; flex:0 0 auto !important; max-width:none !important; width:auto !important; }
.delivery-option .carrier:not(.carrier-hasLogo)::before { content:"\E558"; font-family:'Material Icons' !important; font-size:32px; color:#888; flex-shrink:0; line-height:1; width:72px; height:48px; display:inline-flex; align-items:center; justify-content:center; text-transform:none !important; letter-spacing:normal !important; font-weight:normal !important; }
.delivery-option:has(input:checked) .carrier:not(.carrier-hasLogo)::before { color:var(--gk-red,#1a3a6c); }
.delivery-option .carrier-logo { flex:0 0 auto; width:72px !important; height:48px; display:flex !important; align-items:center; justify-content:center; }
.delivery-option .carrier-logo img { max-height:48px; max-width:72px; object-fit:contain; display:block; }
.delivery-option .custom-radio { display:inline-block !important; flex-shrink:0; width:18px; height:18px; border:2px solid var(--gk-red,#1a3a6c); border-radius:50%; position:relative; background:#fff; padding:0 !important; margin:0 !important; }
.delivery-option:has(input:checked) .custom-radio { background:var(--gk-red,#1a3a6c); }
.delivery-option:has(input:checked) .custom-radio::after { content:""; position:absolute; top:3px; left:3px; width:8px; height:8px; background:#fff; border-radius:50%; }
.delivery-option .custom-radio > span { display:none !important; }
.delivery-option .custom-radio input[type="radio"] { position:absolute; opacity:0; cursor:pointer; width:100%; height:100%; top:0; left:0; }
.delivery-option .carrier-name { font-family:Poppins,sans-serif !important; font-weight:700 !important; font-size:15px !important; color:#222; line-height:1.3; }
.delivery-option:has(input:checked) .carrier-name { color:var(--gk-red,#1a3a6c); }
.delivery-option .carrier-delay { font-size:13px; color:#666; line-height:1.4; }
.delivery-option .carrier-price { font-weight:700; color:#222; font-size:16px; white-space:nowrap; }
.delivery-option .custom-radio { width:18px; height:18px; padding:0; margin:0; }
.delivery-option:has(input:checked) .carrier-price { color:var(--gk-red,#1a3a6c); }

/* === Champ commentaire commande - mise en avant (charte GK) === */
.checkout-step .order-options { margin-top:24px !important; padding:18px 20px !important; background:#fafafa !important; border:1px solid #e5e5e5 !important; border-left:4px solid var(--gk-red,#1a3a6c) !important; }
.checkout-step .order-options label { font-family:Poppins,sans-serif !important; font-weight:700 !important; font-size:14px !important; color:#222 !important; margin-bottom:10px !important; display:flex !important; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:0.3px; }
.checkout-step .order-options label::before { content:"\E24C"; font-family:'Material Icons' !important; font-size:20px; color:var(--gk-red,#1a3a6c); text-transform:none !important; letter-spacing:normal !important; font-weight:normal !important; line-height:1; }
.checkout-step .order-options textarea { width:100% !important; min-height:90px !important; padding:10px 12px !important; border:1px solid #ddd !important; background:#fff !important; font-size:14px !important; resize:vertical !important; }
.checkout-step .order-options textarea:focus { border-color:var(--gk-red,#1a3a6c) !important; outline:none !important; box-shadow:0 0 0 2px rgba(180,57,51,0.1); }

/* === Selecteur d'adresses : liste compacte horizontale === */
.address-selector { display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; gap:6px; margin-top:14px; align-items:stretch !important; }
.address-item { background:#fff; border:1px solid #e5e5e5 !important; border-radius:0; padding:0 !important; transition:border-color 0.15s, box-shadow 0.15s; position:relative; cursor:pointer; display:flex !important; flex-direction:row !important; align-items:center !important; min-height:0 !important; height:auto !important; margin:0 !important; flex:0 0 auto !important; flex-grow:0 !important; flex-basis:auto !important; width:100% !important; }
.address-item:hover { border-color:#bbb !important; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.address-item.selected { border-color:var(--gk-red,#1a3a6c) !important; border-width:2px !important; background:#fffafa; }
.address-item.selected::before { content:none; }
.address-item.gk-incomplete { background:#fff7f5 !important; border-color:#e0a89c !important; opacity:0.85; }
.address-item.gk-incomplete .address-alias { color:#a8302a !important; }
.address-item.gk-incomplete .address::after { content:" — adresse incomplete, cliquez sur Modifier pour la completer"; color:#a8302a; font-style:italic; font-weight:600; font-size:11.5px; }
.address-item.gk-incomplete .gk-incomplete-badge { position:absolute; top:6px; right:8px; background:#1a3a6c; color:#fff; font-size:9px; padding:2px 7px; text-transform:uppercase; letter-spacing:0.5px; font-weight:700; line-height:1.4; }
.address-item header { padding:8px 16px 8px 16px !important; border:0 !important; flex:1; display:flex; flex-direction:row; align-items:center; gap:20px; min-width:0; }
.address-item.selected header { padding-left:16px !important; }
.address-item header .radio-block { display:flex; align-items:center; gap:20px; cursor:pointer; margin:0; padding:0; width:100%; }
.address-item .custom-radio { flex-shrink:0; }
.address-item input[type="radio"] { cursor:pointer; }
.address-item .address-alias { flex:0 0 auto; width:160px; font-family:Poppins,sans-serif !important; font-size:13px !important; font-weight:700 !important; color:#222 !important; text-transform:uppercase; letter-spacing:0.3px; margin:0 !important; padding:0 !important; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.address-item.selected .address-alias { color:var(--gk-red,#1a3a6c) !important; }
.address-item .address { flex:1; min-width:0; font-size:12.5px; color:#555; line-height:1.35; font-weight:400; }
.address-item .address br { display:block; content:""; line-height:1.35; }
.address-item hr { display:none !important; }
.address-item .address-footer { padding:0 14px !important; background:transparent !important; border-top:0 !important; border-left:1px solid #efefef; display:flex; gap:12px; align-items:center; flex-shrink:0; min-width:170px; justify-content:flex-end; }
.address-item .address-footer a { color:#888 !important; font-size:12px !important; font-weight:600; text-decoration:none !important; display:inline-flex; align-items:center; gap:4px; transition:color 0.15s; }
.address-item .address-footer a i.material-icons { font-size:15px; }
.address-item .address-footer a:hover { color:var(--gk-red,#1a3a6c) !important; }
@media (max-width:767px) {
  .address-item { flex-direction:column !important; }
  .address-item header { flex-direction:column; align-items:flex-start; gap:6px; padding:12px 36px 10px 14px !important; }
  .address-item .address-alias { width:auto; max-width:none; white-space:normal; }
  .address-item .address-footer { border-left:0; border-top:1px solid #efefef; padding:6px 14px !important; min-width:0; justify-content:flex-start; }
}

/* === Checkout summary : produits affiches directement === */
.cart-summary-products .js-show-details { display:none !important; }
.gk-checkout-products-title { font-size:13px; font-weight:600; color:#666; text-transform:uppercase; letter-spacing:0.3px; margin:0 0 10px !important; }
#cart-summary-product-list { display:block !important; height:auto !important; }
#cart-summary-product-list .media-list { padding:0; margin:0; list-style:none; }
#cart-summary-product-list .media { padding:10px 0; border-bottom:1px solid #f0f0f0; display:flex; gap:10px; }
#cart-summary-product-list .media:last-child { border-bottom:0; }
#cart-summary-product-list .media-left img { width:54px; height:54px; object-fit:contain; background:#fafafa; }
#cart-summary-product-list .media-body { flex:1; min-width:0; font-size:13px; line-height:1.4; }
#cart-summary-product-list .product-name { display:block; }
#cart-summary-product-list .product-name a { color:#222 !important; font-weight:600; font-size:13px; text-decoration:none !important; }
#cart-summary-product-list .product-name a:hover { color:var(--gk-red,#1a3a6c) !important; }
#cart-summary-product-list .product-quantity { color:#888; font-size:12px; margin-right:8px; }
#cart-summary-product-list .product-price { color:#222; font-weight:700; font-size:13px; }
#cart-summary-product-list .product-line-info-secondary { font-size:11px; color:#888; margin-top:2px; }

/* === Reference produit dans le panier === */
.gk-cart-ref { font-family:'Lato',sans-serif; font-size:13px; color:#8d2a24; font-weight:600; letter-spacing:0.4px; margin:4px 0 6px; }

/* === Resume checkout : ref + prix unitaire + total ligne === */
.gk-cart-sum-ref { font-family:'Lato',sans-serif; font-size:11px; color:#8d2a24; font-weight:600; letter-spacing:0.3px; margin:2px 0 4px; }
.gk-cart-sum-pricerow { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:6px; flex-wrap:wrap; }
.gk-cart-sum-pricerow .product-quantity { color:#888; font-size:12px; font-weight:600; flex-shrink:0; margin:0; }
.gk-cart-sum-unit { font-size:11px; color:#888; }
.gk-cart-sum-unit small { color:#aaa; }
.gk-cart-sum-total { font-size:14px; font-weight:700; color:var(--gk-red,#1a3a6c); white-space:nowrap; }
.gk-cart-sum-total small { font-size:10px; color:#888; font-weight:600; margin-left:2px; }

/* === Suffixe HT/TTC sur prix panier === */
.gk-tax-suffix { font-size:11px; font-weight:600; color:#888; margin-left:4px; letter-spacing:0.3px; vertical-align:baseline; text-transform:uppercase; }

/* === Alerte erreur panier - mise en avant === */
.cart-grid .alert-danger:not([style*="display: none"]):not([style*="display:none"]),
.cart-detailed .alert-danger:not([style*="display: none"]):not([style*="display:none"]),
.cart-grid-body .alert-danger:not([style*="display: none"]):not([style*="display:none"]) {
  background:#fff5f5;
  border:0;
  border-left:6px solid #1a3a6c;
  border-radius:0;
  color:#7a1f1a;
  font-size:15px;
  font-weight:600;
  padding:16px 18px 16px 16px;
  margin:14px 0;
  display:flex;
  align-items:flex-start;
  gap:12px;
  box-shadow:0 4px 14px rgba(179,54,47,0.15);
}
.cart-grid .alert-danger:not([style*="display: none"]):not([style*="display:none"])::before,
.cart-detailed .alert-danger:not([style*="display: none"]):not([style*="display:none"])::before {
  content:"warning";
  font-family:'Material Icons';
  font-size:26px;
  color:#1a3a6c;
  line-height:1;
  flex-shrink:0;
}
.cart-grid .alert-danger ul, .cart-detailed .alert-danger ul { margin:0; padding:0; list-style:none; }
.cart-grid .alert-danger li, .cart-detailed .alert-danger li { line-height:1.45; }

/* === OPTIMISATIONS MOBILE GLOBALES === */
@media (max-width: 768px) {
  /* Bandeau noir mon-compte (SIRET, TVA, ENCOURS, etc.) cache sur mobile */
  .gk-dashboard-banner { display:none !important; }
  .gk-encours-bar { display:none !important; }

  /* Header plus compact */
  .gk-topbar-tagline { font-size:11px !important; padding:4px 8px !important; }
  #header .header-top { padding:6px 10px !important; }

  /* Recherche prend la pleine largeur */
  .gk-search-zone { width:100% !important; margin:8px 0 !important; }

  /* Miniatures catalogue : 1 ou 2 par ligne */
  #js-product-list .products .product-miniature,
  .products .product-miniature { padding:8px !important; margin-bottom:14px !important; }
  .product-miniature .product-title { font-size:13px !important; line-height:1.3 !important; }
  .product-miniature .gk-mini-prices { font-size:13px !important; }

  /* Fiche produit : empile colonnes */
  #product .product-cover, #product .images-container { margin-bottom:18px !important; }
  #product .product-information h1, #product .product-information .h1 { font-size:18px !important; line-height:1.3 !important; }
  .gk-product-ref { font-size:13px !important; }
  .gk-prices { padding:10px 0 !important; }
  .gk-price-public { font-size:14px !important; }
  .gk-price-revendeur { font-size:15px !important; }
  .gk-add-to-cart-btn, .add-to-cart { padding:14px !important; font-size:15px !important; min-height:48px !important; }

  /* Panier mobile : layout vertical */
  .cart-grid-body, .cart-grid-right { width:100% !important; margin-bottom:18px !important; }
  .cart-grid-body .product-line-grid { padding:10px !important; min-height:0 !important; flex-direction:row !important; flex-wrap:wrap !important; }
  .cart-grid-body .product-line-grid-left { flex:0 0 80px !important; }
  .cart-grid-body .product-line-grid-body { flex:1 1 calc(100% - 90px) !important; }
  .cart-grid-body .product-line-grid-right { flex:1 1 100% !important; padding-top:10px !important; border-top:1px solid #f0f0f0; margin-top:8px; }
  .cart-grid-body .col-md-6.col-xs-2.price { justify-content:space-between !important; height:auto !important; }
  .gk-cart-line-loy { flex-direction:row !important; align-items:baseline !important; gap:8px !important; flex-wrap:wrap; }
  .gk-cart-line-loy .gk-price-final { font-size:18px !important; }

  /* Footer reassurance + boutons + commander pleine largeur */
  .cart-summary, .gk-cart-clear-wrap { width:100% !important; }
  button.continue, button[name="confirm-addresses"], #payment-confirmation button { width:100% !important; padding:14px !important; font-size:15px !important; }

  /* Checkout : steps stack */
  .checkout-step .row, .address-selector { flex-direction:column !important; }
  .address-item { flex-direction:column !important; align-items:stretch !important; }
  .address-item header { flex-direction:column !important; align-items:flex-start !important; padding:14px 14px 10px !important; }
  .address-item .address-alias { width:auto !important; max-width:none !important; white-space:normal !important; }
  .address-item .address-footer { border-left:0 !important; border-top:1px solid #efefef !important; min-width:0 !important; padding:8px 14px !important; }
  .delivery-option .row { display:flex !important; flex-direction:column !important; gap:10px !important; }
  .delivery-option .col-sm-3 { text-align:left !important; }

  /* Tableaux historique commandes : scroll horizontal */
  .gk-orders-table { display:block !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  .gk-orders-table th:last-child, .gk-orders-table td.gk-order-actions { min-width:300px !important; width:auto !important; }

  /* Page mon-compte : retirer text-align centre force */
  .links { display:flex !important; flex-direction:column !important; gap:10px !important; }
  .links a { width:100% !important; max-width:none !important; }

  /* Modal et popups : prennent la pleine largeur */
  .gk-modal-content { max-width:100% !important; max-height:90vh !important; }

  /* Banner livraison gratuite + fidelite : layout compact */
  .gk-freeshipping-bar, .gk-loyalty-banner { padding:10px 12px !important; font-size:13px !important; }

  /* Touch-friendly : boutons mini-add un peu plus gros */
  .gk-mini-add { min-width:48px !important; height:36px !important; padding:0 12px !important; }
}

@media (max-width: 480px) {
  /* Tres petit ecran : encore plus compact */
  .gk-orders-table .gk-reorder-btn span, .gk-download-btn span { display:none !important; }
  .gk-orders-table .gk-reorder-btn, .gk-download-btn { padding:6px 10px !important; }
  .product-miniature .gk-price-revendeur { font-size:13px !important; }
  .product-miniature .product-title { font-size:12px !important; }
  #product .product-information h1 { font-size:16px !important; }
}

/* === Prix avec/sans remise loyalty (miniatures + fiche + panier) === */
.gk-price-strike { text-decoration:line-through; color:#999; font-size:0.92em; margin-right:4px; font-weight:400; white-space:nowrap; }
.gk-price-final { color:var(--gk-red,#1a3a6c); font-weight:700; white-space:nowrap; }
.gk-loy-tag,
.gk-mini-prices .gk-loy-tag,
.gk-prices .gk-loy-tag,
.product-prices .gk-loy-tag,
.gk-cart-line-loy .gk-loy-tag,
span.gk-loy-tag {
  display:inline-block !important;
  background:#1a3a6c !important;
  background-color:#1a3a6c !important;
  color:#ffffff !important;
  font-size:10px !important;
  font-weight:700 !important;
  padding:2px 7px !important;
  letter-spacing:0.3px !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  text-shadow:none !important;
  border:0 !important;
}
.gk-loy-tag, .gk-loy-tag * { color:#ffffff !important; }
.gk-loy-note { font-size:11px; color:var(--gk-red,#1a3a6c); font-weight:600; margin-top:2px; }
.gk-price-loyalty { margin-top:6px; }
.cart-grid-body .product-line-grid { align-items:center !important; min-height:130px; }
.cart-grid-body .col-md-6.col-xs-2.price { display:flex; align-items:center; justify-content:flex-end; height:100%; }
.gk-cart-line-loy { display:flex !important; flex-direction:column; align-items:flex-end; gap:4px; line-height:1.3; padding:4px 0; }
.gk-cart-line-loy .gk-price-strike { font-size:12px; line-height:1.2; color:#999; }
.gk-cart-line-loy .gk-price-final { font-size:16px; font-weight:700; color:var(--gk-red,#1a3a6c); white-space:nowrap; }
.gk-cart-line-loy .gk-tax-suffix { display:none; }
.gk-cart-line-loy .gk-loy-tag { font-size:10px; padding:2px 7px; margin:0; align-self:flex-end; }

/* Cache ligne cart_rule fidelite du bas (deja affichee dans subtotaux haut) */
.cart-summary-cart-rules, .cart-summary-cart-rules + hr,
.promo-discounts, .promo-discounts + hr,
.block-promo.promo-highlighted,
.cart-summary-line-cart-rule { display:none !important; }

/* === Banner fidelite revendeur (cart + my-account) === */
.gk-loyalty-banner { margin:14px 0; padding:14px 18px; background:#fafafa; border:1px solid #e5e5e5; border-left:4px solid var(--gk-red,#1a3a6c); }
.gk-loyalty-banner .gk-loyalty-row { display:flex; align-items:flex-start; gap:14px; }
.gk-loyalty-banner i.material-icons { color:var(--gk-red,#1a3a6c); font-size:28px; flex-shrink:0; line-height:1.2; }
.gk-loyalty-banner .gk-loyalty-text { flex:1; font-size:14px; color:#222; line-height:1.5; }
.gk-loyalty-banner .gk-loyalty-text strong { color:var(--gk-red,#1a3a6c); font-weight:700; }
.gk-loyalty-banner .gk-loyalty-next { display:inline-block; margin-top:4px; font-size:13px; color:#555; }
.gk-loyalty-bar { height:8px; background:#e8e8e8; border-radius:4px; overflow:hidden; margin-top:8px; }
.gk-loyalty-bar-fill { height:100%; background:linear-gradient(90deg, var(--gk-red,#1a3a6c), #d97706); transition:width .4s ease; }

/* === Bandeau livraison gratuite (sous ligne shipping du resume panier) === */
.gk-freeshipping-bar { padding:10px 12px; margin:6px 0 12px; background:#fafafa; border-left:3px solid #1a3a6c; }
.gk-freeshipping-bar.unlocked { border-left-color:#1f7a3a; background:#f1f8f3; }
.gk-fs-msg { font-size:12px; color:#333; margin:0 0 8px; line-height:1.35; display:flex; align-items:flex-start; gap:6px; }
.gk-fs-msg i.material-icons { font-size:16px; color:#1a3a6c; flex-shrink:0; line-height:1.35; }
.gk-freeshipping-bar.unlocked .gk-fs-msg i.material-icons { color:#1f7a3a; }
.gk-fs-msg strong { color:#1a3a6c; font-weight:700; }
.gk-freeshipping-bar.unlocked .gk-fs-msg strong { color:#1f7a3a; }
.gk-fs-progress { height:6px; background:#e8e8e8; overflow:hidden; border-radius:3px; }
.gk-fs-progress-fill { height:100%; background:linear-gradient(90deg, #1a3a6c, #d97706); transition:width .4s ease; }
.gk-freeshipping-bar.unlocked .gk-fs-progress-fill { background:#1f7a3a; }

/* === L. Stock panier - mise en avant visuelle === */
.gk-cart-stock {
  display: inline-block;
  font-size: 17px;
  font-weight: 700;
  color: #1f7a3a;
  margin: 10px 0 4px;
  padding: 8px 14px;
  background: rgba(31,122,58,0.1);
  border-left: 3px solid #1f7a3a;
  border-radius: 0;
  letter-spacing: 0.3px;
}
.gk-cart-stock.gk-stock-low { color: #d97706; background: rgba(217,118,6,0.12); border-left-color: #d97706; }
.gk-cart-stock.gk-stock-cap { color: #1a3a6c; background: rgba(179,54,47,0.12); border-left-color: #1a3a6c; }

/* Stock fiche produit - mise en avant visuelle */
.gk-stock-line { font-size:18px !important; font-weight:700 !important; padding:10px 14px; border-left:3px solid currentColor; background:rgba(0,0,0,0.03); margin:14px 0 !important; letter-spacing:0.3px; }
.gk-stock-line i.material-icons { font-size:22px !important; }

/* === K. Aligner prix recos sur format standard === */
.gk-reco-prices { margin-top: 6px; }
.gk-reco-prices .gk-price-public { font-size: 12px; color: #666; line-height: 1.3; }
.gk-reco-prices .gk-price-public strong { color: #333; font-weight: 600; }
.gk-reco-prices .gk-price-revendeur { font-size: 13px; color: var(--gk-red, #1a3a6c); margin-top: 2px; line-height: 1.3; }
.gk-reco-prices .gk-price-revendeur strong { font-weight: 700; }
.gk-reco-devis { font-size: 13px; color: var(--gk-red, #1a3a6c); font-weight: 700; margin-top: 6px; }
.gk-reco-login { font-size: 12px; color: #888; margin-top: 6px; font-style: italic; }

/* === N. Fix definitif trou search bar bas-droite === */
.gk-search-zone { box-sizing: border-box !important; }
.gk-search-zone form,
.gk-search-zone #search_widget form {
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid #ccc !important;
  border-radius: 0 !important;
  align-items: stretch !important;
}
.gk-search-zone form input[type="text"],
.gk-search-zone #search_widget form input[type="text"] {
  height: auto !important;
  align-self: stretch !important;
  border: none !important;
  outline: none !important;
  margin: 0 !important;
}
.gk-search-zone form button,
.gk-search-zone #search_widget form button {
  height: auto !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: none !important;
  border-left: 1px solid #eee !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  background: #fff !important;
}

/* === Bouton fiche PDF === */
.gk-pdf-button-wrap { margin: 18px 0 8px; }
.gk-btn-pdf {
  display: inline-flex !important;
  align-items: center;
  background: var(--gk-red, #1a3a6c) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 22px !important;
  text-decoration: none !important;
  border: none;
  border-radius: 0;
  transition: background 0.15s ease;
}
.gk-btn-pdf:hover { background: #8f2924 !important; color: #fff !important; }

/* === Options OOS dans selecteur taille === */
.product-variants select option:disabled { color: #999 !important; background: #f5f5f5 !important; }
.product-variants select option:disabled::after { content: " (Rupture)"; color: #1a3a6c; }
.product-variants .input-color:disabled + span,
.product-variants .input-radio:disabled + span { opacity: 0.35; cursor: not-allowed !important; position: relative; }
.product-variants .input-color:disabled + span::after,
.product-variants .input-radio:disabled + span::after { content: "✕"; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #1a3a6c; font-weight: 700; font-size: 18px; }

/* Topbar tagline : cache si ecran trop etroit pour eviter wrap */
@media (max-width: 1480px) {
  .gk-topbar-tagline { display: none !important; }
}

/* Bump polices +10% pour meilleure lisibilite (retours revendeurs) */
body { font-size: 15px; }
.product-miniature .product-title a { font-size: 15px !important; }
.product-miniature .gk-prix-revendeur, .product-miniature .price { font-size: 16px !important; }
.product .h1 { font-size: 28px !important; }

/* Bouton "Prevenez-moi lorsque produit dispo" - sobre, sans encadre */
.product-additional-info .tabs { padding: 0 !important; border: 0 !important; margin: 8px 0 0; background: transparent !important; }
.product-additional-info .js-mailalert { background: transparent !important; border: 0 !important; padding: 0 !important; text-align: left !important; }
.product-additional-info .js-mailalert .form-control { display: inline-block; width: auto; max-width: 240px; margin-right: 6px; padding: 6px 10px; border: 1px solid #ddd; font-size: 13px; vertical-align: middle; }
.product-additional-info .js-mailalert-add { background: transparent !important; color: #1a3a6c !important; border: 1px solid #1a3a6c !important; padding: 6px 14px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; transition: all 0.15s; margin-top: 0 !important; vertical-align: middle; border-radius: 0; }
.product-additional-info .js-mailalert-add:hover { background: #1a3a6c !important; color: #fff !important; }
.product-additional-info .alert-info { background: #e8f4fd !important; border: 1px solid #b8e0f8 !important; color: #2c6080 !important; padding: 10px 12px !important; font-size: 13px !important; margin: 0 !important; }

/* --- Boutons secondaires fiche produit (quickorder, PDF) - hierarchie homogene --- */
.gk-quickorder-wrap, .gk-pdf-button-wrap { margin-top:10px !important; }
.gk-btn-quickorder, .gk-btn-pdf { display:inline-flex; align-items:center; justify-content:center; width:100%; background:transparent !important; color:#242424 !important; border:1px solid #242424 !important; padding:9px 18px !important; font-family:Poppins,sans-serif; font-weight:600 !important; font-size:12px !important; text-transform:uppercase; letter-spacing:0.5px !important; cursor:pointer; transition:all 0.15s; text-decoration:none !important; }
.gk-btn-quickorder:hover, .gk-btn-pdf:hover { background:#242424 !important; color:#fff !important; }
.product-additional-info { margin-top:14px; }
.gk-other-variants { margin:14px 0 4px !important; font-size:13px !important; }

/* --- Quickorder modal --- */
.gk-qo-modal { position:fixed; inset:0; z-index:99998; display:none; }
.gk-qo-modal.open { display:block; }
.gk-qo-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.65); }
.gk-qo-dialog { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); background:#fff; width:95%; max-width:1100px; max-height:92vh; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,0.4); }
.gk-qo-close { position:absolute; top:8px; right:14px; background:none; border:0; font-size:32px; line-height:1; cursor:pointer; color:#666; padding:0; z-index:2; }
.gk-qo-header { padding:22px 30px 14px; border-bottom:1px solid #e5e5e5; flex-shrink:0; background:#fff; }
.gk-qo-title { font-family:Poppins,sans-serif; font-weight:700; font-size:20px; color:#242424; margin:0 0 4px; text-transform:uppercase; letter-spacing:0.5px; }
.gk-qo-product-name { font-size:13px; color:#666; margin:0; }
.gk-qo-body { flex:1; overflow:auto; padding:0 30px; }
.gk-qo-loading { padding:30px; text-align:center; color:#999; }
.gk-qo-table { width:100%; border-collapse:collapse; font-size:14px; }
.gk-qo-table thead th { position:sticky; top:0; z-index:1; background:#f5f5f5; }
.gk-qo-table th { text-align:left; padding:10px 10px; font-weight:600; border-bottom:2px solid #e5e5e5; font-size:12px; text-transform:uppercase; letter-spacing:0.3px; }
.gk-qo-table td { padding:7px 10px; border-bottom:1px solid #f0f0f0; }
.gk-qo-table tbody tr:hover { background:#fafafa; }
.gk-qo-table code { font-size:12px; color:#666; background:#f9f9f9; padding:2px 6px; }
.gk-qo-qty { width:90px; padding:6px 8px; border:1px solid #ddd; text-align:center; font-size:14px; }
.gk-qo-qty:disabled { background:#f5f5f5; color:#aaa; cursor:not-allowed; }
.gk-qo-empty { text-align:center; padding:30px; color:#999; }
.gk-qo-msg { padding:12px 14px; margin:14px 0; font-size:13px; }
.gk-qo-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 30px; border-top:1px solid #e5e5e5; flex-shrink:0; background:#fff; }
@media (max-width:768px) { .gk-qo-dialog { width:100%; height:100%; max-height:100vh; top:0; left:0; transform:none; } .gk-qo-header, .gk-qo-body, .gk-qo-footer { padding-left:16px; padding-right:16px; } }
.gk-qo-total { font-size:14px; color:#555; }
.gk-qo-total-count { color:#1a3a6c; font-size:18px; }
.gk-qo-validate { background:#1a3a6c; color:#fff; border:0; padding:12px 28px; font-family:Poppins,sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:0.8px; cursor:pointer; transition:background 0.15s; }
.gk-qo-validate:hover { background:#8d2a24; }
.gk-qo-validate:disabled { background:#999; cursor:wait; }

/* --- Badge produit reglemente --- */
.product-flags li.regulated { background:#000 !important; color:#fff !important; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:4px 8px; }
.gk-regulated-info { background:#fffbe6; border-left:4px solid #d4a017; padding:14px 16px; margin:18px 0; font-size:13px; color:#7a5a00; }
.gk-regulated-info strong { display:block; margin-bottom:4px; color:#7a5a00; }

/* Bouton vider le panier */
.gk-cart-clear-btn { background:transparent; color:#1a3a6c; border:1px solid #1a3a6c; padding:9px 18px; font-family:Poppins,sans-serif; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:0.5px; cursor:pointer; transition:all 0.15s; }
.gk-cart-clear-btn:hover { background:#1a3a6c; color:#fff; }

/* === Mini bouton "Ajouter au panier" sur miniature catalogue === */
.product-miniature { position:relative; }
/* === Liens cliquables : rouge GK (charte graphique) === */
a[href^="mailto:"], a[href^="tel:"], a.gk-mailto,
.gk-dashboard-banner a, .gk-identity a, .gk-alerts a,
.product-description a, #description a, #tab-content-description a,
.cart-detailed-totals a, .gk-cart-clear-wrap a,
.page-content a:not(.btn):not(.dropdown-item):not(.page-link):not(.nav-link):not(.thumbnail):not(.product-thumbnail):not(.gk-mini-add):not(.gk-mini-bubble):not(.gk-btn-tarifs):not(.gk-btn-export-link):not(.gk-btn-account-alerts):not(.gk-alert-name):not(.gk-alert-thumb):not(.label):not(.continue) {
  color: var(--gk-red, #1a3a6c);
}
a[href^="mailto:"]:hover, a[href^="tel:"]:hover, a.gk-mailto:hover,
.gk-dashboard-banner a:hover, .gk-identity a:hover, .gk-alerts a:hover,
.product-description a:hover, #description a:hover, #tab-content-description a:hover,
.cart-detailed-totals a:hover, .gk-cart-clear-wrap a:hover,
.page-content a:not(.btn):not(.dropdown-item):not(.page-link):not(.nav-link):not(.thumbnail):not(.product-thumbnail):not(.gk-mini-add):not(.gk-mini-bubble):not(.gk-btn-tarifs):not(.gk-btn-export-link):not(.gk-btn-account-alerts):not(.gk-alert-name):not(.gk-alert-thumb):not(.label):not(.continue):hover {
  color: #0f2547;
  text-decoration: underline;
}
a.gk-mailto { font-weight: 600; }

/* === Historique commandes : zebra + hover === */
.gk-orders-table tbody tr.gk-order-row { transition:background 0.15s; }
.gk-orders-table tbody tr.gk-order-row:nth-child(4n+1) { background:#fafafa; }
.gk-orders-table tbody tr.gk-order-row:hover { background:#fff5f4 !important; }
.gk-orders-table tbody tr.gk-order-row > td { padding:14px 12px !important; vertical-align:middle; font-size:14px; }
.gk-orders-table thead th { background:#fff !important; border-bottom:2px solid var(--gk-red,#1a3a6c) !important; padding:14px 12px !important; font-family:Poppins,sans-serif; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:#222; }
.gk-orders-table .gk-order-status { display:inline-block; padding:5px 12px; font-family:Poppins,sans-serif; font-weight:700; font-size:10px; text-transform:uppercase; letter-spacing:0.4px; color:#fff !important; line-height:1; border-radius:0; }

/* PDF icon en rouge GK */
.gk-orders-table td.gk-order-actions a[title*="PDF"], .gk-orders-table td.gk-order-actions a[title*="Telecharger"] { color:var(--gk-red,#1a3a6c) !important; }
.gk-orders-table td.gk-order-actions a[title*="PDF"]:hover, .gk-orders-table td.gk-order-actions a[title*="Telecharger"]:hover { color:#0f2547 !important; }
.gk-orders-table td.gk-order-actions a[title*="PDF"] i.material-icons, .gk-orders-table td.gk-order-actions a[title*="Telecharger"] i.material-icons { color:inherit !important; }

/* Chevron expand discret + indication hover */
.gk-orders-table td.gk-order-actions > i.material-icons { color:#aaa !important; transition:color 0.15s, transform 0.15s; }
.gk-orders-table tbody tr.gk-order-row:hover td.gk-order-actions > i.material-icons { color:var(--gk-red,#1a3a6c) !important; }

/* === Cellule actions historique commandes : alignement horizontal === */
.gk-orders-table th:last-child, .gk-orders-table td.gk-order-actions { min-width:360px !important; width:360px !important; }
.gk-orders-table thead th:last-child { text-align:center !important; padding-right:60px !important; }
.gk-orders-table td.gk-order-actions { white-space:nowrap !important; text-align:right !important; vertical-align:middle !important; padding:8px 12px !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:8px !important; flex-wrap:nowrap !important; }
.gk-orders-table td.gk-order-actions > * { display:inline-flex !important; vertical-align:middle !important; margin:0 !important; flex-shrink:0 !important; }
.gk-orders-table td.gk-order-actions > a { align-items:center; justify-content:center; height:28px; }
.gk-orders-table td.gk-order-actions > a:not(.gk-download-btn) i.material-icons { font-size:18px !important; }
.gk-orders-table td.gk-order-actions > i.material-icons { width:24px; height:24px; align-items:center; justify-content:center; }

/* === Bouton Telecharger dans l'historique === */
.gk-download-btn { display:inline-flex !important; align-items:center; gap:5px; background:transparent; border:1px solid #ccc; color:#444 !important; padding:4px 10px; font-family:Poppins,sans-serif; font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:0.3px; cursor:pointer; transition:all 0.15s; vertical-align:middle; line-height:1; height:28px; text-decoration:none !important; }
.gk-download-btn:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c) !important; }
.gk-download-btn i.material-icons { font-size:14px; color:inherit !important; }

/* === Bouton Re-commander dans l'historique === */
.gk-reorder-btn { display:inline-flex !important; align-items:center; gap:5px; background:transparent; border:1px solid var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c); padding:4px 10px; font-family:Poppins,sans-serif; font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:0.3px; cursor:pointer; transition:all 0.15s; vertical-align:middle; line-height:1; height:28px; }
.gk-reorder-btn:hover { background:var(--gk-red,#1a3a6c); color:#fff; }
.gk-reorder-btn i.material-icons { font-size:14px; }
.gk-reorder-btn:disabled { opacity:0.5; cursor:wait; }
.gk-orders-table tbody tr.gk-order-row > td { padding:10px 12px !important; vertical-align:middle; }

/* === Modal generique GK (re-commander, etc.) === */
.gk-modal { position:fixed; inset:0; z-index:99998; background:rgba(0,0,0,0.55); display:none; align-items:center; justify-content:center; padding:20px; }
.gk-modal.open { display:flex; }
.gk-modal-content { background:#fff; max-width:560px; width:100%; max-height:85vh; overflow:auto; border-top:4px solid var(--gk-red,#1a3a6c); box-shadow:0 12px 40px rgba(0,0,0,0.3); }
.gk-modal-header { padding:18px 22px; border-bottom:1px solid #eee; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gk-modal-header h3 { margin:0; font-family:Poppins,sans-serif; font-weight:700; font-size:16px; text-transform:uppercase; letter-spacing:0.3px; color:#222; }
.gk-modal-close { background:transparent; border:0; color:#888; cursor:pointer; padding:4px; line-height:1; }
.gk-modal-close i.material-icons { font-size:22px; }
.gk-modal-close:hover { color:var(--gk-red,#1a3a6c); }
.gk-modal-body { padding:18px 22px; font-size:14px; color:#333; line-height:1.5; }
.gk-modal-footer { padding:14px 22px; background:#fafafa; border-top:1px solid #eee; display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.gk-modal-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 18px; font-family:Poppins,sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:0.3px; cursor:pointer; border:0; transition:background 0.15s; }
.gk-modal-btn-primary { background:var(--gk-red,#1a3a6c); color:#fff; }
.gk-modal-btn-primary:hover { background:#0f2547; }
.gk-modal-btn-secondary { background:transparent; color:#333; border:1px solid #ccc; }
.gk-modal-btn-secondary:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c); }
.gk-modal-btn-ghost { background:transparent; color:#666; border:0; }
.gk-modal-btn-ghost:hover { color:var(--gk-red,#1a3a6c); }

.gk-reorder-section { margin:12px 0; }
.gk-reorder-section h4 { margin:0 0 6px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; }
.gk-reorder-section.ok h4 { color:#1f7a3a; }
.gk-reorder-section.partial h4 { color:#d97706; }
.gk-reorder-section.oos h4, .gk-reorder-section.removed h4 { color:#1a3a6c; }
.gk-reorder-section ul { margin:0; padding-left:18px; font-size:13px; }
.gk-reorder-section li { margin:2px 0; }
.gk-reorder-section .qty { color:#888; font-size:12px; }

/* === Page Mes alertes stock === */
.gk-alerts { max-width:780px; margin:0 auto; }
.gk-alerts-intro { font-size:14px; color:#555; margin:0 0 18px; line-height:1.5; }
.gk-alerts-list { list-style:none; padding:0; margin:0; }
.gk-alert-item { display:flex; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:1px solid #e5e5e5; margin-bottom:10px; transition:border-color 0.15s; }
.gk-alert-item:hover { border-color:#bbb; }
.gk-alert-thumb { flex-shrink:0; width:64px; height:64px; display:block; border:1px solid #f0f0f0; }
.gk-alert-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.gk-alert-name { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; color:#222 !important; text-decoration:none !important; }
.gk-alert-name:hover { color:var(--gk-red,#1a3a6c) !important; }
.gk-alert-name .name { font-family:Poppins,sans-serif; font-weight:600; font-size:14px; line-height:1.35; }
.gk-alert-name .variant { font-size:12px; color:#888; }
.gk-alert-remove { flex-shrink:0; background:transparent; border:1px solid #e5e5e5; color:#888; width:38px; height:38px; cursor:pointer; padding:0; display:inline-flex; align-items:center; justify-content:center; transition:all 0.15s; }
.gk-alert-remove:hover { background:var(--gk-red,#1a3a6c); border-color:var(--gk-red,#1a3a6c); color:#fff; }
.gk-alert-remove i.material-icons { font-size:18px; }
.gk-alerts-empty { text-align:center; padding:40px 20px; background:#fafafa; border:1px dashed #ddd; }
.gk-alerts-empty i.material-icons { font-size:42px; color:#bbb; display:block; margin-bottom:10px; }
.gk-alerts-empty p { color:#666; font-size:14px; margin:0; max-width:420px; margin:0 auto; line-height:1.5; }

/* === Lien "Mes alertes stock" sur page mon-compte === */
.gk-btn-account-alerts { display:inline-flex !important; align-items:center; gap:8px; padding:12px 24px !important; border:1px solid #ccc !important; color:#333 !important; font-family:Poppins,sans-serif !important; font-weight:600 !important; font-size:14px !important; text-decoration:none !important; transition:border-color 0.2s, color 0.2s; margin-top:15px; }
.gk-btn-account-alerts:hover { border-color:var(--gk-red,#1a3a6c) !important; color:var(--gk-red,#1a3a6c) !important; }
.gk-btn-account-alerts i.material-icons { color:inherit !important; font-size:20px !important; background:none !important; padding:0 !important; }
.gk-btn-account-alerts span { color:inherit !important; }
.row.links #emailsalerts { width:auto !important; }

/* === Page identite (lecture seule, donnees Sage) === */
.gk-identity { max-width:780px; margin:0 auto; }
.gk-identity-banner { display:flex; align-items:flex-start; gap:14px; padding:14px 18px; background:#fef7ec; border-left:4px solid #e0a800; margin-bottom:24px; }
.gk-identity-banner i.material-icons { color:#e0a800; font-size:26px; flex-shrink:0; }
.gk-identity-banner strong { display:block; font-family:Poppins,sans-serif; font-size:14px; color:#333; margin-bottom:4px; }
.gk-identity-banner p { margin:0; font-size:13px; color:#555; line-height:1.5; }
.gk-identity-banner a { color:var(--gk-red,#1a3a6c); font-weight:600; }
.gk-identity-card { background:#fff; border:1px solid #e5e5e5; padding:24px 28px; }
.gk-identity-loader { text-align:center; padding:30px; color:#888; font-style:italic; }
.gk-identity-empty { text-align:center; padding:30px; color:#999; }
.gk-identity-title { font-family:Poppins,sans-serif; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; margin:0 0 18px; padding-bottom:12px; border-bottom:2px solid var(--gk-red,#1a3a6c); color:#222; }
.gk-identity-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:14px 24px; }
.gk-identity-row { display:flex; flex-direction:column; gap:3px; padding:8px 0; border-bottom:1px solid #f2f2f2; }
.gk-identity-row .lbl { font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:#999; font-weight:600; }
.gk-identity-row .val { font-size:14px; color:#222; word-break:break-word; }
.gk-blocked { display:inline-block; background:#dc3545; color:#fff; padding:4px 10px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }

.gk-mini-cta-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:8px 0 4px; }
.gk-mini-cta-row .gk-mini-bubbles { margin:0; flex:1; min-width:0; }
.gk-mini-cta-spacer { flex:1; }
.gk-mini-add { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 16px; min-width:64px; height:34px; background:#1a3a6c; color:#fff; border:0; border-radius:4px; cursor:pointer; transition:background 0.15s, transform 0.15s; flex-shrink:0; }
.gk-mini-add:hover { background:#8d2a24; transform:translateY(-1px); }
.gk-mini-add i.material-icons { font-size:18px; }
.gk-mini-add.in-cart { background:#1f7a3a; }
.gk-mini-add.in-cart:hover { background:#176030; }
.gk-mini-add-count { background:#fff; color:#1a3a6c; min-width:18px; height:18px; border-radius:9px; font-size:11px; font-weight:700; line-height:18px; text-align:center; padding:0 5px; }
.gk-mini-add.in-cart .gk-mini-add-count { color:#1f7a3a; }
.gk-mini-add[data-qty="0"] .gk-mini-add-count { display:none; }

/* Popover variantes */
.gk-mini-popover { position:absolute; bottom:50px; left:10px; right:10px; z-index:1000; background:#fff; border:1px solid #ddd; box-shadow:0 8px 24px rgba(0,0,0,0.18); padding:12px; display:none; }
.gk-mini-popover.open { display:block; }
.gk-mini-popover-title { font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:#666; margin:0 0 10px; font-weight:600; }
.gk-mini-popover-list { max-height:240px; overflow:auto; margin:0 -4px; }
.gk-mini-popover-item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 4px; border-bottom:1px solid #f0f0f0; font-size:13px; }
.gk-mini-popover-item:last-child { border-bottom:0; }
.gk-mini-popover-item.oos { opacity:0.45; }
.gk-mini-popover-item .info { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.gk-mini-popover-item .name { font-weight:600; color:#222; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gk-mini-popover-item .stock { font-size:11px; color:#888; }
.gk-mini-popover-item .qty-ctrl { display:flex; align-items:center; gap:0; flex-shrink:0; }
.gk-mini-popover-item .qty-ctrl button { background:#f4f4f4; color:#333; border:1px solid #ddd; width:26px; height:30px; cursor:pointer; font-size:16px; line-height:1; padding:0; font-weight:700; }
.gk-mini-popover-item .qty-ctrl button:hover { background:#e6e6e6; }
.gk-mini-popover-item .qty-ctrl button:disabled { background:#fafafa; color:#bbb; cursor:not-allowed; }
.gk-mini-popover-item .qty-input { width:40px; height:30px; text-align:center; border:1px solid #ddd; border-left:0; border-right:0; font-size:13px; font-weight:600; padding:0; -moz-appearance:textfield; outline:none; }
.gk-mini-popover-item .qty-input::-webkit-outer-spin-button,
.gk-mini-popover-item .qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.gk-mini-popover-item .qty-input.saved { border-color:#1f7a3a; background:#e8f5ee; transition:background 0.3s, border-color 0.3s; }
.gk-mini-popover-item .qty-input.over { border-color:#dc3545; background:#fdecea; }
.gk-mini-popover-foot { padding:8px 4px 0; border-top:1px solid #eee; margin-top:6px; text-align:right; }
.gk-mini-popover-close { background:none; border:0; color:#666; font-size:11px; text-transform:uppercase; cursor:pointer; padding:4px 8px; letter-spacing:0.5px; }
.gk-mini-popover-close:hover { color:#222; }

/* Toast notification */
.gk-toast { position:fixed; top:80px; right:24px; z-index:99999; background:#28a745; color:#fff; padding:12px 18px; border-radius:0; box-shadow:0 8px 24px rgba(0,0,0,0.2); font-size:14px; font-weight:600; opacity:0; transform:translateY(-10px); transition:opacity 0.25s ease, transform 0.25s ease; }
.gk-toast.show { opacity:1; transform:translateY(0); }
.gk-toast.error { background:#dc3545; }

/* Animation cart count */
.gk-cart-count.gk-bump { animation:gkbump 0.4s ease; }
@keyframes gkbump { 0%,100% { transform:scale(1); } 50% { transform:scale(1.4); background:#28a745; } }

/* === B2B FEATURES : WISHLIST / SAVED CARTS / BULK ADD === */

/* Heart button on miniatures */
.gk-wish-heart { position:absolute; top:8px; right:8px; z-index:5; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,0.95); border:1px solid #ddd; color:#999; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; transition:all 0.18s ease; box-shadow:0 1px 3px rgba(0,0,0,0.08); }
.gk-wish-heart:hover { color:var(--gk-red,#1a3a6c); border-color:var(--gk-red,#1a3a6c); transform:scale(1.08); }
.gk-wish-heart.on { color:var(--gk-red,#1a3a6c); background:#fff; border-color:var(--gk-red,#1a3a6c); }
.gk-wish-heart i { font-size:20px; }

/* Heart button on product page */
.gk-wish-heart-product { display:inline-flex; align-items:center; gap:8px; margin-top:10px; padding:10px 18px; background:#fff; border:1px solid #ccc; color:#555; cursor:pointer; font-family:Poppins,sans-serif; font-size:13px; font-weight:600; transition:all 0.2s; }
.gk-wish-heart-product:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c); }
.gk-wish-heart-product.on { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c); background:#fdf3f2; }
.gk-wish-heart-product i { font-size:20px; }

/* Wishlist page */
.gk-wishlist-page .gk-empty { padding:40px; text-align:center; color:#888; background:#fafafa; border:1px dashed #ddd; }
.gk-wishlist-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid #eee; }
.gk-wishlist-count { font-weight:600; color:#333; }
.gk-btn-clear { background:transparent; border:1px solid #ccc; color:#666; padding:8px 14px; font-family:Poppins,sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:0.4px; cursor:pointer; transition:all 0.2s; }
.gk-btn-clear:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c); }
.gk-wishlist-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; }
.gk-wish-card { border:1px solid #eee; background:#fff; display:flex; flex-direction:column; transition:border-color 0.2s; }
.gk-wish-card:hover { border-color:#ccc; }
.gk-wish-img { display:block; aspect-ratio:1/1; overflow:hidden; background:linear-gradient(135deg,#f5f5f5,#eaeaea); }
.gk-wish-img img { width:100%; height:100%; object-fit:contain; padding:10px; }
.gk-wish-noimg { width:100%; height:100%; }
.gk-wish-body { padding:12px; display:flex; flex-direction:column; gap:6px; }
.gk-wish-name { color:#222; font-weight:600; font-size:14px; text-decoration:none; line-height:1.3; min-height:36px; }
.gk-wish-name:hover { color:var(--gk-red,#1a3a6c); }
.gk-wish-ref { font-size:12px; color:#999; }
.gk-wish-meta { display:flex; justify-content:space-between; align-items:center; padding:8px 0 4px; border-top:1px solid #f0f0f0; margin-top:4px; }
.gk-wish-price { font-weight:700; color:#222; }
.gk-wish-stock { font-size:12px; color:#28a745; }
.gk-wish-stock.gk-stock-low { color:#e0a800; }
.gk-wish-stock.gk-stock-cap { color:#dc3545; font-weight:600; }
.gk-wish-actions { display:flex; gap:6px; margin-top:8px; }
.gk-btn-view { flex:1; text-align:center; background:var(--gk-red,#1a3a6c); color:#fff !important; padding:8px; font-size:12px; font-weight:600; text-decoration:none !important; text-transform:uppercase; letter-spacing:0.3px; transition:background 0.2s; }
.gk-btn-view:hover { background:#0f2547; }
.gk-btn-remove { background:#fff; border:1px solid #ddd; color:#666; padding:8px 10px; cursor:pointer; font-size:11px; text-transform:uppercase; letter-spacing:0.3px; }
.gk-btn-remove:hover { border-color:#dc3545; color:#dc3545; }

/* Save cart button + tools */
.gk-cart-tools { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; padding:14px; background:#fafafa; border:1px solid #eee; }
.gk-cart-tools button, .gk-cart-tools a { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #ccc; color:#333 !important; padding:10px 16px; font-family:Poppins,sans-serif; font-size:13px; font-weight:600; cursor:pointer; text-decoration:none !important; transition:all 0.2s; }
.gk-cart-tools button:hover, .gk-cart-tools a:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c) !important; }
.gk-cart-tools .gk-btn-savecart { background:var(--gk-red,#1a3a6c); color:#fff !important; border-color:var(--gk-red,#1a3a6c); }
.gk-cart-tools .gk-btn-savecart:hover { background:#0f2547; color:#fff !important; }
.gk-cart-tools i { font-size:18px; }

/* Saved carts page */
.gk-mycarts-page .gk-empty { padding:40px; text-align:center; color:#888; background:#fafafa; border:1px dashed #ddd; }
.gk-mycarts-list { display:flex; flex-direction:column; gap:14px; }
.gk-cart-row { border:1px solid #e5e5e5; background:#fff; }
.gk-cart-row-head { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; gap:12px; flex-wrap:wrap; }
.gk-cart-name { display:block; font-weight:700; color:#222; font-size:15px; }
.gk-cart-meta { display:block; font-size:12px; color:#888; margin-top:4px; }
.gk-cart-row-actions { display:flex; gap:6px; flex-wrap:wrap; }
.gk-cart-row-actions button { background:#fff; border:1px solid #ccc; color:#444; padding:8px 12px; font-family:Poppins,sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:all 0.2s; }
.gk-cart-row-actions button:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c); }
.gk-cart-row-actions .gk-btn-load { background:var(--gk-red,#1a3a6c); color:#fff; border-color:var(--gk-red,#1a3a6c); }
.gk-cart-row-actions .gk-btn-load:hover { background:#0f2547; color:#fff; }
.gk-cart-row-actions .gk-btn-del:hover { border-color:#dc3545; color:#dc3545; }
.gk-cart-row-items { padding:0 16px 16px; border-top:1px solid #f0f0f0; }
.gk-cart-items-table { width:100%; font-size:13px; border-collapse:collapse; margin-top:10px; }
.gk-cart-items-table th { text-align:left; padding:8px; background:#fafafa; color:#666; font-weight:600; border-bottom:1px solid #eee; font-size:11px; text-transform:uppercase; letter-spacing:0.4px; }
.gk-cart-items-table td { padding:8px; border-bottom:1px solid #f5f5f5; }

/* Bulk add page */
.gk-bulk-page .gk-bulk-intro { color:#555; margin-bottom:20px; }
.gk-bulk-tabs { display:flex; gap:0; border-bottom:2px solid #eee; margin-bottom:18px; }
.gk-bulk-tabs .gk-tab { background:transparent; border:0; padding:12px 20px; font-family:Poppins,sans-serif; font-weight:600; color:#888; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all 0.2s; }
.gk-bulk-tabs .gk-tab:hover { color:#333; }
.gk-bulk-tabs .gk-tab.active { color:var(--gk-red,#1a3a6c); border-bottom-color:var(--gk-red,#1a3a6c); }
.gk-bulk-pane { padding:8px 0 16px; }
.gk-bulk-pane .gk-label { display:block; color:#666; font-size:13px; margin-bottom:8px; }
.gk-bulk-pane .gk-label code { background:#f4f4f4; padding:2px 6px; font-family:monospace; font-size:12px; color:#222; }
#gk-bulk-text { width:100%; padding:12px; border:1px solid #ccc; font-family:monospace; font-size:13px; line-height:1.5; resize:vertical; }
#gk-bulk-file { padding:8px; border:1px dashed #ccc; background:#fafafa; width:100%; max-width:400px; }
.gk-file-preview { margin-top:14px; padding:12px; background:#f9f9f9; border:1px solid #eee; max-height:300px; overflow:auto; font-size:13px; }
.gk-prev-table { width:100%; border-collapse:collapse; margin-top:8px; font-size:12px; }
.gk-prev-table th, .gk-prev-table td { padding:5px 8px; border-bottom:1px solid #eee; text-align:left; }
.gk-prev-table th { background:#fff; font-weight:600; color:#666; }
.gk-muted { color:#999; font-size:11px; margin-top:6px; }
.gk-bulk-mode { display:flex; gap:18px; align-items:center; padding:14px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; flex-wrap:wrap; }
.gk-bulk-mode .gk-label { color:#333; font-weight:600; margin:0; }
.gk-bulk-mode label { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-size:13px; }
.gk-bulk-actions { margin-top:18px; display:flex; justify-content:flex-end; }
.gk-btn-primary { background:var(--gk-red,#1a3a6c); color:#fff; border:0; padding:14px 32px; font-family:Poppins,sans-serif; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:0.5px; cursor:pointer; transition:background 0.2s; }
.gk-btn-primary:hover { background:#0f2547; }
.gk-btn-primary:disabled { background:#ccc; cursor:wait; }

/* Reports (used on bulk + load saved cart) */
.gk-bulk-report, .gk-cart-report { margin-top:24px; padding:18px; background:#fff; border:1px solid #ddd; }
.gk-bulk-report h3, .gk-cart-report h3 { margin:0 0 14px; font-size:16px; color:#222; padding-bottom:10px; border-bottom:1px solid #eee; }
.gk-bulk-report ul, .gk-cart-report ul { list-style:none; padding:0; margin:0; }
.gk-bulk-report li, .gk-cart-report li { padding:8px 0; border-bottom:1px solid #f5f5f5; font-size:13px; }
.gk-bulk-report li:last-child, .gk-cart-report li:last-child { border-bottom:0; }
.gk-bulk-report li.ok, .gk-cart-report li.ok { color:#1f7a3a; font-weight:600; }
.gk-bulk-report li.warn, .gk-cart-report li.warn { color:#b07700; font-weight:600; }
.gk-bulk-report li.bad, .gk-cart-report li.bad { color:#1a3a6c; font-weight:600; }
.gk-bulk-report li ul, .gk-cart-report li ul { margin:6px 0 0 16px; font-weight:400; color:#555; font-size:12px; }
.gk-bulk-report li ul li, .gk-cart-report li ul li { padding:3px 0; border:0; }
.gk-btn-cart { display:inline-block; margin-top:14px; background:var(--gk-red,#1a3a6c); color:#fff !important; padding:11px 26px; font-family:Poppins,sans-serif; font-weight:700; font-size:13px; text-decoration:none !important; text-transform:uppercase; letter-spacing:0.4px; transition:background 0.2s; }
.gk-btn-cart:hover { background:#0f2547; }

/* Mobile */
@media (max-width:768px) {
  .gk-wishlist-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
  .gk-wish-name { font-size:13px; min-height:34px; }
  .gk-wish-actions .gk-btn-view { font-size:11px; padding:7px 4px; }
  .gk-wish-actions .gk-btn-remove { font-size:10px; padding:7px 8px; }
  .gk-cart-row-head { flex-direction:column; align-items:stretch; }
  .gk-cart-row-actions { justify-content:stretch; }
  .gk-cart-row-actions button { flex:1; min-width:48%; }
  .gk-cart-tools { padding:10px; }
  .gk-cart-tools button, .gk-cart-tools a { flex:1; justify-content:center; }
  .gk-bulk-tabs .gk-tab { padding:10px 12px; font-size:13px; }
  .gk-bulk-mode { flex-direction:column; align-items:flex-start; gap:8px; }
  .gk-btn-primary { width:100%; }
}

/* === B2B FEATURES PATCH (overrides) === */

/* Coeur miniature : visible uniquement au hover */
.gk-wish-heart { opacity:0; transform:scale(0.85); pointer-events:auto; transition:opacity 0.15s ease, transform 0.15s ease, color 0.18s, border-color 0.18s, background 0.18s; }
.product-miniature:hover .gk-wish-heart,
.js-product-miniature:hover .gk-wish-heart,
.gk-wish-heart.on,
.gk-wish-heart:focus { opacity:1; transform:scale(1); }
.gk-wish-heart.on { opacity:1; }
@media (hover: none) {
  .gk-wish-heart { opacity:1; transform:scale(1); }
}

/* Coeur fiche produit : version discrete icone seule */
.gk-wish-heart-product { display:inline-flex; align-items:center; justify-content:center; gap:0; padding:0; width:38px; height:38px; background:transparent; border:1px solid #ddd; border-radius:50%; color:#bbb; cursor:pointer; transition:all 0.18s; vertical-align:middle; margin-left:10px; }
.gk-wish-heart-product:hover { color:var(--gk-red,#1a3a6c); border-color:var(--gk-red,#1a3a6c); background:#fff; }
.gk-wish-heart-product.on { color:var(--gk-red,#1a3a6c); border-color:var(--gk-red,#1a3a6c); background:#fdf3f2; }
.gk-wish-heart-product i { font-size:20px; }
.gk-wish-heart-product span { display:none; }

/* Coeur dans le header */
.gk-wish-header { display:inline-flex; align-items:center; gap:4px; position:relative; padding:6px 8px; color:#222; text-decoration:none; transition:color 0.2s; }
.gk-wish-header:hover { color:var(--gk-red,#1a3a6c); }
.gk-wish-header i { font-size:22px; }
.gk-wish-header-count { background:var(--gk-red,#1a3a6c); color:#fff; font-size:10px; font-weight:700; min-width:16px; height:16px; padding:0 4px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; line-height:1; position:absolute; top:2px; right:0; }

/* Refonte des outils du dashboard mon compte */
.gk-dash-tools { margin-top:24px; display:flex; flex-direction:column; gap:22px; }
.gk-dash-tools .gk-tool-group h4 { margin:0 0 12px; font-size:12px; font-family:Poppins,sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.6px; color:#888; padding-bottom:8px; border-bottom:1px solid #eee; }
.gk-tool-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.gk-tool-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; padding:16px 18px; background:#fff; border:1px solid #e3e3e3; color:#222 !important; text-decoration:none !important; transition:all 0.18s; min-height:84px; }
.gk-tool-card i { font-size:24px; color:#666; transition:color 0.18s; }
.gk-tool-card span { font-family:Poppins,sans-serif; font-weight:600; font-size:14px; line-height:1.2; }
.gk-tool-card small { color:#888; font-size:11px; line-height:1.3; }
.gk-tool-card:hover { border-color:var(--gk-red,#1a3a6c); transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,0.05); }
.gk-tool-card:hover i, .gk-tool-card:hover span { color:var(--gk-red,#1a3a6c); }
.gk-tool-card.gk-tool-primary { background:var(--gk-red,#1a3a6c); border-color:var(--gk-red,#1a3a6c); color:#fff !important; }
.gk-tool-card.gk-tool-primary i, .gk-tool-card.gk-tool-primary span { color:#fff; }
.gk-tool-card.gk-tool-primary small { color:rgba(255,255,255,0.8); }
.gk-tool-card.gk-tool-primary:hover { background:#0f2547; border-color:#0f2547; }
.gk-tool-card.gk-tool-primary:hover i, .gk-tool-card.gk-tool-primary:hover span, .gk-tool-card.gk-tool-primary:hover small { color:#fff; }

/* Mobile : empile les cards proprement */
@media (max-width:768px) {
  .gk-tool-row { grid-template-columns:1fr 1fr; gap:8px; }
  .gk-tool-card { padding:12px; min-height:68px; }
  .gk-tool-card span { font-size:12px; }
  .gk-tool-card small { display:none; }
  .gk-wish-heart-product { width:34px; height:34px; }
  .gk-wish-heart-product i { font-size:18px; }
}

/* === B2B PATCH 2 === */

/* Coeur fiche produit posé en haut a droite de l image */
.gk-wish-heart-product.gk-on-cover { position:absolute; top:14px; right:14px; z-index:10; width:40px; height:40px; background:rgba(255,255,255,0.92); border:1px solid rgba(0,0,0,0.08); border-radius:50%; backdrop-filter:blur(2px); margin:0; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.gk-wish-heart-product.gk-on-cover:hover { background:#fff; border-color:var(--gk-red,#1a3a6c); transform:scale(1.06); }
.gk-wish-heart-product.gk-on-cover.on { background:#fff; }
.gk-wish-heart-product.gk-on-cover i { font-size:22px; }

/* Coeur header inline aligne avec mon-compte / panier */
.gk-wish-header-inline { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.gk-wish-header-inline:hover i { color:var(--gk-red,#1a3a6c); }
.gk-wish-header-inline .gk-wish-header-count { position:absolute; top:-5px; right:-8px; background:var(--gk-red,#1a3a6c); color:#fff; font-size:9px; font-weight:700; min-width:16px; height:16px; padding:0 4px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; line-height:1; }

/* Annule l ancien style header isolé */
.gk-wish-header:not(.gk-wish-header-inline) { display:none !important; }

@media (max-width:768px) {
  .gk-wish-heart-product.gk-on-cover { top:8px; right:8px; width:34px; height:34px; }
  .gk-wish-heart-product.gk-on-cover i { font-size:18px; }
}

/* === PO NUMBER FIELD === */
.gk-po-block { background:#fafafa; border:1px solid #e3e3e3; border-left:4px solid var(--gk-red,#1a3a6c); padding:18px 22px; margin:18px 0; }
.gk-po-label { display:flex; align-items:center; gap:8px; font-family:Poppins,sans-serif; font-weight:600; font-size:13px; color:#222; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:10px; }
.gk-po-label i { font-size:20px; color:var(--gk-red,#1a3a6c); }
.gk-po-optional { color:#999; font-weight:400; text-transform:none; letter-spacing:0; font-size:12px; margin-left:4px; }
#gk-po-number-input { width:100%; padding:10px 14px; border:1px solid #ccc; font-size:14px; font-family:inherit; background:#fff; transition:border-color 0.2s; }
#gk-po-number-input:focus { outline:none; border-color:var(--gk-red,#1a3a6c); }
.gk-po-help { margin:6px 0 0; color:#888; font-size:12px; font-style:italic; }

/* Recap on order confirmation + detail */
.gk-po-recap { display:flex; align-items:center; gap:12px; padding:14px 18px; background:#fdf3f2; border-left:4px solid var(--gk-red,#1a3a6c); margin:14px 0; }
.gk-po-recap i { font-size:24px; color:var(--gk-red,#1a3a6c); }
.gk-po-recap > div { display:flex; flex-direction:column; gap:2px; }
.gk-po-recap-label { font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:#888; font-weight:600; }
.gk-po-recap-value { font-size:15px; font-weight:700; color:#222; }

@media (max-width:768px) {
  .gk-po-block { padding:14px; }
  #gk-po-number-input { font-size:14px; }
}

/* === DEVIS PDF === */
.gk-cart-tools .gk-btn-devis { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #ccc; color:#333 !important; padding:10px 16px; font-family:Poppins,sans-serif; font-size:13px; font-weight:600; text-decoration:none !important; transition:all 0.2s; }
.gk-cart-tools .gk-btn-devis:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c) !important; }

/* Page Mes devis */
.gk-mydevis-page .gk-empty { padding:40px; text-align:center; color:#888; background:#fafafa; border:1px dashed #ddd; }
.gk-devis-list { display:flex; flex-direction:column; gap:10px; }
.gk-devis-row { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border:1px solid #e5e5e5; background:#fff; gap:14px; flex-wrap:wrap; }
.gk-devis-row.gk-expired { background:#fafafa; opacity:0.75; }
.gk-devis-info { display:flex; flex-direction:column; gap:4px; flex:1; min-width:200px; }
.gk-devis-num { font-family:monospace; font-weight:700; color:#222; font-size:14px; }
.gk-devis-meta { font-size:12px; color:#888; line-height:1.5; }
.gk-expired-badge { display:inline-block; padding:2px 8px; background:#dc3545; color:#fff; font-size:10px; text-transform:uppercase; letter-spacing:0.4px; font-weight:600; border-radius:2px; }
.gk-devis-actions .gk-btn-download { display:inline-flex; align-items:center; gap:6px; background:var(--gk-red,#1a3a6c); color:#fff !important; padding:9px 16px; font-family:Poppins,sans-serif; font-size:12px; font-weight:600; text-decoration:none !important; text-transform:uppercase; letter-spacing:0.3px; transition:background 0.2s; }
.gk-devis-actions .gk-btn-download:hover { background:#0f2547; }
.gk-devis-actions .gk-btn-download i { font-size:18px; }

@media (max-width:768px) {
  .gk-devis-row { flex-direction:column; align-items:stretch; }
  .gk-devis-actions .gk-btn-download { width:100%; justify-content:center; }
}

/* Saisie rapide deplace sous COMMANDER */
.gk-summary-bulk-btn { display:none; }
.gk-summary-bulk-btn.placed { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:14px; padding:13px 18px; background:#fff; border:1px solid var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c) !important; font-family:Poppins,sans-serif; font-weight:600; font-size:13px; text-decoration:none !important; text-transform:uppercase; letter-spacing:0.4px; transition:all 0.2s; }
.gk-summary-bulk-btn.placed:hover { background:var(--gk-red,#1a3a6c); color:#fff !important; }
.gk-summary-bulk-btn.placed i { font-size:18px; }

/* Reduce gk-cart-tools to 3 buttons in nice row */
.gk-cart-tools { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; padding:14px; }
.gk-cart-tools button, .gk-cart-tools a { width:100%; justify-content:center; }

@media (max-width:768px) {
  .gk-cart-tools { grid-template-columns:1fr; }
}

/* === RESTRUCTURATION CART BUTTONS === */
/* 2 boutons cote a cote a gauche */
.gk-cart-tools.gk-cart-tools-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px; background:#fafafa; border:1px solid #eee; margin:18px 0; }
.gk-cart-tools.gk-cart-tools-2 button, .gk-cart-tools.gk-cart-tools-2 a { width:100%; justify-content:center; }

/* Reset old grid */
.gk-cart-tools:not(.gk-cart-tools-2) { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; padding:14px; }

/* Boutons droite sous COMMANDER */
.gk-summary-extras { display:none; }
.gk-summary-extras.placed { display:flex; flex-direction:column; gap:10px; margin-top:24px; padding-top:20px; border-top:1px solid #eee; }
.gk-summary-side-btn { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px 18px; background:#fff; border:1px solid #ccc; color:#444 !important; font-family:Poppins,sans-serif; font-weight:600; font-size:13px; text-decoration:none !important; transition:all 0.2s; }
.gk-summary-side-btn:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c) !important; }
.gk-summary-side-btn i { font-size:18px; }

/* Annule l ancien bouton bulk solo */
.gk-summary-bulk-btn { display:none !important; }

@media (max-width:768px) {
  .gk-cart-tools.gk-cart-tools-2 { grid-template-columns:1fr; }
}

/* === HARMONISATION TAILLES DE PRIX (override final) === */

/* Tailles cibles */
:root {
  --gk-price-mini: 18px;
  --gk-price-cart: 18px;
  --gk-price-large: 24px;
  --gk-price-strike-ratio: 0.78;
}

/* === Catalogue / miniatures produits === */
.product-miniature .gk-price-revendeur,
.product-miniature .gk-prix-revendeur,
.product-miniature .price,
.product-miniature .gk-mini-prices,
.product-miniature .gk-price-public,
.product-miniature .product-price-and-shipping .price { font-size: var(--gk-price-mini) !important; font-weight: 700 !important; line-height: 1.2 !important; }
.product-miniature .gk-price-strike,
.product-miniature .regular-price { font-size: calc(var(--gk-price-mini) * var(--gk-price-strike-ratio)) !important; font-weight: 500 !important; }

/* === Fiche produit (gros prix principal) === */
#product .product-prices .current-price-value,
#product .product-prices .price,
.product-prices .current-price-value,
.product-prices .price { font-size: var(--gk-price-large) !important; font-weight: 700 !important; line-height: 1.1 !important; }
#product .product-prices .regular-price,
.product-prices .regular-price,
.product-prices .gk-price-strike { font-size: calc(var(--gk-price-large) * var(--gk-price-strike-ratio)) !important; font-weight: 500 !important; }

/* === Panier ligne produit === */
.cart-item .product-price,
.product-line-grid .product-price,
.gk-cart-line-loy .gk-price-final,
.gk-cart-line-loy .price,
li.cart-item .price { font-size: var(--gk-price-cart) !important; font-weight: 700 !important; line-height: 1.2 !important; }
.cart-item .gk-price-strike,
.product-line-grid .gk-price-strike,
.gk-cart-line-loy .gk-price-strike { font-size: calc(var(--gk-price-cart) * var(--gk-price-strike-ratio)) !important; font-weight: 500 !important; }

/* === Mini-popover saisie rapide === */
.gk-mini-popover .gk-sr-price { font-size: 15px !important; font-weight: 700 !important; }

/* === Recommandations === */
.gk-reco-prices .gk-price-revendeur { font-size: 16px !important; font-weight: 700 !important; }
.gk-reco-prices .gk-price-public { font-size: 13px !important; }

/* === Recap panier (totaux droite) === */
.cart-summary-totals .label,
.cart-summary-totals .value { font-size: 15px !important; }
.cart-summary-totals .cart-total .label,
.cart-summary-totals .cart-total .value,
.js-cart-totals .cart-total .label,
.js-cart-totals .cart-total .value { font-size: var(--gk-price-large) !important; font-weight: 700 !important; }

/* === Mini-cart popover header === */
#cart-summary-product-list .product-price { font-size: 14px !important; font-weight: 700 !important; }

/* === Livraison === */
.delivery-option .carrier-price { font-size: 16px !important; font-weight: 700 !important; }

/* Alignement vertical des prix barré + prix actuel */
.gk-price-strike { vertical-align: middle; margin-right: 6px; }

/* Mobile : reduit legerement pour rester lisible */
@media (max-width: 768px) {
  :root {
    --gk-price-mini: 16px;
    --gk-price-cart: 16px;
    --gk-price-large: 20px;
  }
}

/* === RETOURS V2 (preprod) === */

/* Centrer compteur + icone caddie sur quick add */
.gk-mini-add { line-height:1 !important; }
.gk-mini-add i.material-icons { line-height:1 !important; vertical-align:middle !important; display:inline-flex !important; align-items:center !important; }
.gk-mini-add-count { display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; padding:0 6px !important; height:20px !important; min-width:20px !important; }

/* === RETOURS V3 (preprod + prod) === */

/* Tableau historique commandes : empeche le wrap des montants */
.gk-orders-table { table-layout:auto !important; }
.gk-orders-table th, .gk-orders-table td { white-space:nowrap !important; }
.gk-orders-table td:nth-child(3),
.gk-orders-table td.gk-order-piece,
.gk-orders-table th.gk-order-piece { white-space:normal !important; }

/* Sur petit ecran : permet scroll horizontal proprement */
@media (max-width:992px) {
  .gk-orders-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -15px; padding:0 15px; }
  .gk-orders-table { min-width:600px; }
  .gk-orders-table th, .gk-orders-table td { padding:10px 8px !important; font-size:12px !important; }
}

/* Header bandeau "En retard de paiement" : passe en colonne sur mobile */
@media (max-width:768px) {
  .gk-orders-summary { flex-direction:column !important; align-items:flex-start !important; gap:8px !important; }
}

/* === RETOURS V4 (preprod + prod) === */

/* Telephone commercial cliquable */
.gk-tel-link { color:var(--gk-red,#1a3a6c) !important; text-decoration:none !important; font-weight:600; transition:color 0.15s; }
.gk-tel-link:hover { color:#0f2547 !important; text-decoration:underline !important; }

/* Filtres tableau commandes / factures */
.gk-orders-filters { display:flex; gap:12px; margin:18px 0 14px; flex-wrap:wrap; align-items:center; }
.gk-orders-search-input { flex:1 1 280px; padding:11px 14px; border:1px solid #ccc; font-size:14px; border-radius:3px; background:#fff; transition:border-color 0.15s; }
.gk-orders-search-input:focus { outline:none; border-color:var(--gk-red,#1a3a6c); }
.gk-orders-year-select { padding:11px 14px; border:1px solid #ccc; font-size:14px; border-radius:3px; background:#fff; cursor:pointer; min-width:140px; }
.gk-orders-year-select:focus { outline:none; border-color:var(--gk-red,#1a3a6c); }
.gk-orders-empty-msg { padding:30px; text-align:center; color:#888; background:#fafafa; border:1px dashed #ddd; border-radius:3px; margin:14px 0; font-size:14px; }

@media (max-width:768px) {
  .gk-orders-filters { flex-direction:column; align-items:stretch; gap:8px; }
  .gk-orders-search-input, .gk-orders-year-select { width:100% !important; }
}

/* === RETOURS V5 === */

/* Surcharge filtres : champ de recherche unique large */
.gk-orders-filters { display:flex; gap:12px; align-items:center; }
.gk-orders-search-input { flex:1; max-width:none !important; }
.gk-orders-search-count { color:#888; font-size:13px; white-space:nowrap; }

/* === PHOTOTHEQUE GK === */
.gk-photo-wrap { padding:20px 0; max-width:1300px; margin:0 auto; }
.gk-photo-intro { font-size:15px; color:#555; line-height:1.6; max-width:850px; margin:0 auto 32px; text-align:center; padding:20px; background:#fafafa; border-left:4px solid var(--gk-red,#1a3a6c); }

/* Cards page d accueil */
.gk-photo-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:18px; margin:30px 0; }
.gk-photo-card { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; background:#fff; border:1px solid #e3e3e3; border-radius:4px; text-decoration:none !important; transition:all 0.18s; min-height:180px; gap:14px; }
.gk-photo-card:hover { border-color:var(--gk-red,#1a3a6c); transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.06); }
.gk-photo-card i { font-size:48px; color:var(--gk-red,#1a3a6c); }
.gk-photo-card h3 { margin:0; font-family:Poppins,sans-serif; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:#222; text-align:center; }
.gk-photo-card:hover h3 { color:var(--gk-red,#1a3a6c); }

/* Breadcrumb / actions */
.gk-photo-current-folder { font-size:14px; color:#444; padding:14px 18px; background:#fafafa; border:1px solid #e8e8e8; border-radius:4px; display:flex; align-items:center; gap:8px; margin:14px 0; }
.gk-photo-current-folder i { color:var(--gk-red,#1a3a6c); font-size:20px; }
.gk-photo-current-folder a { color:var(--gk-red,#1a3a6c); text-decoration:none; font-weight:600; }
.gk-photo-current-folder a:hover { text-decoration:underline; }

.gk-photo-actions { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 18px; }
.gk-photo-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 16px; background:#fff; border:1px solid #ccc; color:#333 !important; font-family:Poppins,sans-serif; font-size:13px; font-weight:600; text-decoration:none !important; border-radius:3px; transition:all 0.15s; }
.gk-photo-btn:hover { border-color:var(--gk-red,#1a3a6c); color:var(--gk-red,#1a3a6c) !important; }
.gk-photo-btn i { font-size:18px; }
.gk-photo-btn-primary { background:var(--gk-red,#1a3a6c); color:#fff !important; border-color:var(--gk-red,#1a3a6c); }
.gk-photo-btn-primary:hover { background:#8d2a24 !important; color:#fff !important; }

/* Search */
.gk-photo-search { display:flex; gap:10px; align-items:center; padding:12px 16px; background:#fff; border:1px solid #e3e3e3; border-radius:4px; margin:18px 0; }
.gk-photo-search > i { color:#888; font-size:22px; }
.gk-photo-search input[type="text"] { flex:1; padding:10px 12px; border:1px solid #ccc; font-size:14px; border-radius:3px; }
.gk-photo-search input[type="text"]:focus { outline:none; border-color:var(--gk-red,#1a3a6c); }
.gk-photo-search button { background:var(--gk-red,#1a3a6c); color:#fff; border:0; padding:10px 22px; font-weight:600; cursor:pointer; border-radius:3px; text-transform:uppercase; font-size:12px; letter-spacing:0.4px; }
.gk-photo-search button:hover { background:#8d2a24; }
.gk-photo-search-clear { color:#888; padding:8px 12px; text-decoration:none; font-size:13px; }
.gk-photo-search-clear:hover { color:var(--gk-red,#1a3a6c); }

/* Liste */
.gk-photo-list { list-style:none; margin:0; padding:0; background:#fff; border:1px solid #e3e3e3; border-radius:4px; overflow:hidden; }
.gk-photo-li { display:flex; align-items:center; padding:12px 18px; border-bottom:1px solid #f0f0f0; gap:8px; }
.gk-photo-li:last-child { border-bottom:0; }
.gk-photo-li:hover { background:#fafafa; }
.gk-photo-li-name { flex:1; display:flex; align-items:center; gap:10px; color:#222 !important; font-size:14px; text-decoration:none !important; padding:6px 0; }
.gk-photo-li-name i { font-size:22px; color:#888; flex-shrink:0; }
.gk-photo-li-folder .gk-photo-li-name i { color:var(--gk-red,#1a3a6c); }
.gk-photo-li-folder .gk-photo-li-name { font-weight:600; }
.gk-photo-li-name:hover { color:var(--gk-red,#1a3a6c) !important; }
.gk-photo-li-dl { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; color:#888 !important; transition:all 0.15s; }
.gk-photo-li-dl:hover { background:var(--gk-red,#1a3a6c); color:#fff !important; }
.gk-photo-li-dl i { font-size:20px; }

/* Grille */
.gk-photo-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:16px; }
.gk-photo-item { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px 12px; background:#fff; border:1px solid #e3e3e3; border-radius:4px; text-decoration:none !important; transition:all 0.18s; min-height:160px; gap:10px; overflow:hidden; }
.gk-photo-item:hover { border-color:var(--gk-red,#1a3a6c); transform:translateY(-2px); }
.gk-photo-item i { font-size:48px; color:var(--gk-red,#1a3a6c); }
.gk-photo-item.gk-photo-folder i { color:var(--gk-red,#1a3a6c); }
.gk-photo-item img { max-width:100%; max-height:120px; object-fit:contain; }
.gk-photo-item span { color:#222 !important; font-size:12px; text-align:center; word-break:break-word; padding:0 4px; line-height:1.3; }

/* Empty / count */
.gk-photo-empty { padding:40px; text-align:center; color:#888; background:#fafafa; border:1px dashed #ddd; border-radius:4px; }
.gk-photo-count { color:#888; font-size:12px; text-align:right; margin:10px 0; font-style:italic; }

@media (max-width:768px) {
  .gk-photo-cards { grid-template-columns:repeat(2, 1fr); gap:10px; }
  .gk-photo-card { min-height:130px; padding:20px 10px; }
  .gk-photo-card i { font-size:36px; }
  .gk-photo-card h3 { font-size:13px; }
  .gk-photo-actions { flex-direction:column; }
  .gk-photo-actions a { width:100%; justify-content:center; }
  .gk-photo-search { flex-direction:column; }
  .gk-photo-search input[type="text"] { width:100%; }
  .gk-photo-grid { grid-template-columns:repeat(2, 1fr); }
}

/* Bouton MES FLYERS dans le bandeau noir */
.gk-dash-flyers-btn { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; background:var(--gk-red,#1a3a6c); color:#fff !important; text-decoration:none !important; font-family:Poppins,sans-serif; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:0.5px; border-radius:3px; transition:background 0.15s; }
.gk-dash-flyers-btn:hover { background:#0f2547; color:#fff !important; }
.gk-dash-flyers-btn i { font-size:18px; }

/* Icone phototheque dans le header (a cote du coeur favoris) */
.gk-photo-header { color:#000; transition:color 0.15s; }
.gk-photo-header:hover i { color:var(--gk-red,#1a3a6c) !important; }

/* Encart destockage : ni repris ni echange (haut de fiche produit, sur une seule ligne) */
.gk-destockage-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(90deg, #d97706 0%, #f59e0b 100%);
  color: #fff;
  padding: 10px 16px;
  margin: 0 0 14px;
  border-radius: 6px;
  font-family: Lato, sans-serif;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.18);
}
.gk-destockage-notice .gk-destockage-icon {
  color: #fff;
  font-size: 24px;
  flex-shrink: 0;
}
.gk-destockage-notice .gk-destockage-text {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  line-height: 1.3;
}
.gk-destockage-notice .gk-destockage-text strong {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #fff;
}
.gk-destockage-notice .gk-destockage-text span {
  font-size: 13px;
  opacity: 0.95;
  color: #fff;
}

/* Bandeau coloré sur la page categorie Destockage */
#category-723 .block-category,
.category-id-723 .block-category {
  background: linear-gradient(90deg, #d97706 0%, #f59e0b 100%) !important;
  color: #fff !important;
  border-radius: 8px;
  padding: 24px 28px !important;
  margin-bottom: 22px;
  box-shadow: 0 3px 10px rgba(217, 119, 6, 0.18);
}
#category-723 .block-category h1,
.category-id-723 .block-category h1 {
  color: #fff !important;
  margin-bottom: 8px;
}
#category-723 .block-category .category-cover,
.category-id-723 .block-category .category-cover {
  display: none !important;
}
#category-723 .block-category #category-description,
.category-id-723 .block-category #category-description,
#category-723 .block-category .category-description,
.category-id-723 .block-category .category-description {
  color: #fff !important;
  opacity: 1 !important;
}
#category-723 .block-category #category-description p,
.category-id-723 .block-category #category-description p {
  color: #fff !important;
  margin: 6px 0 0;
  font-size: 15px;
  line-height: 1.5;
}
.gk-destockage-cat-warn {
  background: rgba(255,255,255,0.18);
  border-left: 3px solid #fff;
  padding: 10px 14px;
  margin-top: 14px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  font-size: 14px;
}
.gk-destockage-cat-warn i { font-size: 22px; }

/* Affichage cascade prix promo destockage */
.gk-price-promo {
  margin-top: 4px;
  color: #1a3a6c;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.gk-price-promo .gk-promo-label {
  font-weight: 700;
  color: #1a3a6c;
}
.gk-price-promo .gk-price-final {
  font-weight: 800;
  font-size: 18px;
  color: #1a3a6c;
}

/* Bouton DESTOCKAGE dans le menu top */
#top-menu li#category-723 > a {
  color: #fff !important;
  background: #d97706;
  border-radius: 4px;
  padding: 6px 14px;
  margin-left: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  transition: background 0.15s;
  white-space: nowrap;
}
#top-menu li#category-723 > a:hover {
  background: #b45309;
  color: #fff !important;
}
@media (max-width: 1399px) {
  #top-menu li#category-723 > a {
    padding: 5px 10px;
    margin-left: 4px;
    font-size: 12px;
    letter-spacing: 0.2px;
  }
}
@media (max-width: 1199px) {
  #top-menu li#category-723 > a {
    padding: 4px 8px;
    margin-left: 2px;
    font-size: 11px;
  }
}

/* Menu top : reduction progressive pour garder Destockage visible */
@media (max-width: 1599px) {
  #top-menu[data-depth="0"] > li > a {
    padding: 15px 6px !important;
    font-size: 12px !important;
  }
  #top-menu li#category-723 > a {
    padding: 5px 8px !important;
    margin-left: 4px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
  }
}
@media (max-width: 1399px) {
  #top-menu[data-depth="0"] > li > a {
    padding: 15px 4px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
  }
  #top-menu li#category-723 > a {
    padding: 4px 6px !important;
    margin-left: 2px !important;
    font-size: 10px !important;
  }
}
@media (max-width: 1199px) {
  #top-menu[data-depth="0"] > li > a {
    padding: 12px 3px !important;
    font-size: 10px !important;
  }
}


