/* ==========================================================================
   ARGUS FOOT — surcouche de rafraîchissement  v2
   PrestaShop 1.6 · thème « sportfitness »
   Appelée dans header.tpl après toutes les autres CSS (polices chargées dans header.tpl).
   Uniquement du CSS : aucun .tpl modifié.

   Points de rupture (ceux du thème) :
     ≥ 980 px  bureau  ·  768–979 px  tablette  ·  < 768 px  mobile

   Sommaire
     1. Variables & base
     2. Pleine largeur & grille de colonnes
     3. Bandeau + header
     4. Menu principal (bureau, puis mobile/tablette)
     5. Accueil : slider, blocs, texte
     6. Titres de blocs, boutons, fil d'Ariane
     7. Cartes produits (accueil + catégories)
     8. Page catégorie
     9. Page produit
    10. Colonne latérale (panier, nouveautés)
    11. Footer
    12. Mobile
    13. Accessibilité
   ========================================================================== */


/* ==========================================================================
   1. Variables & base
   ========================================================================== */
:root {
  --af-navy: #1d3f7f;
  --af-navy-dark: #14305f;
  --af-navy-darker: #0f2448;
  --af-ink: #1b1d22;
  --af-ink-soft: #4f5563;
  --af-line: #e3e6ec;
  --af-line-strong: #cfd4dd;
  --af-bg: #f5f6f8;
  --af-white: #ffffff;
  --af-radius: 4px;
  --af-shadow: 0 1px 3px rgba(20, 30, 50, .08);
  --af-shadow-hover: 0 10px 24px rgba(20, 30, 50, .12);
  --af-display: 'Oswald', 'Arial Narrow', sans-serif;
  --af-body: 'Inter', Arial, sans-serif;
  --af-gutter: 32px;
  --af-maxw: 1680px;
  --af-side: 280px;
}

body {
  background: var(--af-bg) none !important;
  font-family: var(--af-body) !important;
  color: var(--af-ink);
  font-size: 14px;
  line-height: 1.55;
}
a { transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s; }
h1, h2, h3, h4, h5, .title_block {
  font-family: var(--af-display) !important;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-shadow: none !important;
}
#page { background: transparent !important; box-shadow: none !important; }

/* ==========================================================================
   2. Pleine largeur & grille de colonnes
   ========================================================================== */
@media (min-width: 768px) {
  .container {
    width: auto !important;
    max-width: var(--af-maxw);
    padding-left: var(--af-gutter);
    padding-right: var(--af-gutter);
    box-sizing: border-box;
  }
  /* le thème fixe padding:0/1px par ID → on force les gouttières */
  #header.container, #page.container, #categoriestopmenu.container,
  #footer.container, #footer_copyright.container, #header_top_banner .container {
    padding-left: var(--af-gutter) !important;
    padding-right: var(--af-gutter) !important;
  }
  /* conteneurs imbriqués (footer) : pas de double marge */
  .container .container { padding-left: 0 !important; padding-right: 0 !important; max-width: none; }

  /* colonne centrale fluide + colonne latérale fixe */
  #columns { display: flex !important; gap: var(--af-gutter); align-items: flex-start; }
  #columns::before, #columns::after { display: none !important; }
  #center_column {
    flex: 1 1 auto; min-width: 0;
    width: auto !important; margin: 0 !important; float: none !important;
  }
  #left_column, #right_column {
    flex: 0 0 var(--af-side); width: var(--af-side) !important;
    margin: 0 !important; float: none !important; order: 2;
  }
}
@media (min-width: 768px) and (max-width: 979px) {
  :root { --af-gutter: 20px; --af-side: 220px; }
}

/* ==========================================================================
   3. Bandeau + header
   ========================================================================== */
#header_top_banner {
  background: var(--af-navy) !important;
  color: #fff;
  text-align: center;
  font-size: 13px;
  padding: 9px 16px;
}
#header_top_banner::before {
  content: "Spécialiste des maillots vintage, objets de collection et équipements de football.";
}
#header_top_nav { display: none; }

#header_container {
  background: var(--af-white) none !important;
  border-bottom: 1px solid var(--af-line);
  box-shadow: none !important;
  padding: 0 !important;
}
#header { background: transparent none !important; }

/* Logo : nouveau fichier logo-argus-foot.png (fond transparent),
   à téléverser dans Préférences > Thèmes > « Logo de l'en-tête ». */
#header_logo {
  display: block !important;
  position: static !important;
  margin: 0 !important;
  line-height: 0;
}
#header_logo img.logo {
  height: 100px !important;   /* ordinateur ; tablette 52 px, mobile 46 px (plus bas) */
  width: auto !important;
  max-width: 100%;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Recherche */
#search_block_top p { display: flex; margin: 0; }
#search_block_top label { display: none !important; }
#search_block_top input.exclusive { position: static !important; }
#search_block_top .search_query {
  flex: 1;
  height: 44px !important;
  border: 1px solid var(--af-line-strong) !important;
  border-right: 0 !important;
  border-radius: var(--af-radius) 0 0 var(--af-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
  font-family: var(--af-body);
  font-size: 14px;
  color: var(--af-ink-soft);
  padding: 0 14px !important;
  margin: 0 !important;
  box-sizing: border-box;
}
#search_block_top .search_query:focus { border-color: var(--af-navy) !important; outline: none; color: var(--af-ink); }
#search_block_top input.exclusive {
  height: 44px !important;
  min-width: 52px;
  margin: 0 !important;
  background: var(--af-navy) !important;
  border: 0 !important;
  border-radius: 0 var(--af-radius) var(--af-radius) 0 !important;
  color: #fff !important;
  font-weight: 600;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
#search_block_top input.exclusive:hover { background: var(--af-navy-dark) !important; }

/* Compte / panier */
#header_user, #header_user a, #shopping_cart a {
  color: var(--af-ink) !important;
  font-family: var(--af-body);
  text-shadow: none !important;
}
#header_user_info > span { display: none; } /* « Bienvenue » */
#header_user_info .login { color: var(--af-navy) !important; font-weight: 600; }
#shopping_cart .ajax_cart_title {
  font-family: var(--af-display);
  text-transform: uppercase;
  font-size: 15px;
}
#shopping_cart a, #shopping_cart a span { color: var(--af-ink) !important; }
#shopping_cart .ajax_cart_quantity,
#shopping_cart .ajax_cart_total,
#shopping_cart .ajax_cart_no_product_quantity,
#shopping_cart .ajax_cart_no_product_total { color: var(--af-navy) !important; font-weight: 600; }
#shopping_cart i, #header_user i { color: var(--af-navy) !important; }

/* Liens permanents (Accueil / Espace client / Contact / Plan) */
#header_links a {
  color: var(--af-ink-soft) !important;
  font-size: 12px;
  border: 0 !important;
}
#header_links a:hover, #header_links a.selected { color: var(--af-navy) !important; }

/* Header bureau & tablette : une seule ligne en flex
   logo | recherche (extensible) | compte + panier */
@media (min-width: 768px) {
  #header {
    display: flex !important;
    align-items: center;
    gap: 40px;
    min-height: 116px;
    height: auto !important;
    position: relative;
    padding-top: 0 !important; padding-bottom: 0 !important;
  }
  #header > script, #header::before, #header::after { display: none !important; }
  #header_logo { order: 1; flex: 0 0 auto; }
  #search_block_top {
    order: 2; flex: 1 1 auto;
    max-width: 680px; margin: 0 auto !important;
    position: relative !important; top: auto !important; left: auto !important;
    float: none !important; width: auto !important;
  }
  #search_block_top .search_query { width: auto !important; }
  #header_user {
    order: 3; flex: 0 0 auto;
    position: static !important; float: none !important; width: auto !important;
    display: flex; align-items: center; gap: 24px;
    margin: 0 !important; padding: 0 !important;
  }
  #header_user_info, #header_nav { margin: 0 !important; padding: 0 !important; float: none !important; position: static !important; }
  #header_nav li { float: none !important; margin: 0 !important; }
  /* petits liens Espace client / Contact, en haut à droite */
  #header_links {
    position: absolute !important;
    right: var(--af-gutter); top: 8px;
    margin: 0 !important; padding: 0 !important; float: none !important;
  }
  #header_links li { border: 0 !important; padding: 0 0 0 16px !important; background: none !important; }
  #header_links .header_link_home, #header_links .header_link_sitemap { display: none; }
}
@media (min-width: 768px) and (max-width: 979px) {
  #header { gap: 20px; }
  #header_logo img.logo { height: 52px !important; }
  #shopping_cart .ajax_cart_title { display: none; }
}

/* ==========================================================================
   4. Menu principal
   ========================================================================== */
#header_container #categoriestopmenu {
  background: var(--af-white) none !important;
  border: 0 !important;
  border-top: 1px solid var(--af-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
#categoriestopmenu_home { display: none !important; }
#categoriestopmenu li {
  background: transparent none !important;
  filter: none !important;
  box-shadow: none !important;
}
#categoriestopmenu a {
  color: var(--af-ink) !important;
  text-shadow: none !important;
  background: transparent none !important;
}
#categoriestopmenu span.node_arrow:before { color: var(--af-navy) !important; opacity: .7; }

/* --- Bureau --- */
@media (min-width: 980px) {
  #categoriestopmenu_ul { display: flex !important; justify-content: center; flex-wrap: wrap; }
  #categoriestopmenu_ul > li { border: 0 !important; float: none !important; }
  #categoriestopmenu_ul > li > a {
    font-family: var(--af-display) !important;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .05em;
    font-size: 14px !important;
    padding: 16px 24px 16px 14px !important;
    position: relative;
  }
  #categoriestopmenu_ul > li > a::after {
    content: "";
    position: absolute; left: 14px; right: 24px; bottom: 8px;
    height: 2px; background: var(--af-navy);
    transform: scaleX(0); transform-origin: left; transition: transform .2s;
  }
  #categoriestopmenu_ul > li:hover > a { color: var(--af-navy) !important; }
  #categoriestopmenu_ul > li:hover > a::after { transform: scaleX(1); }

  /* sous-menus : fond blanc, texte foncé */
  #categoriestopmenu ul ul {
    background: #fff !important;
    border: 1px solid var(--af-line) !important;
    box-shadow: var(--af-shadow-hover) !important;
    border-radius: 0 0 var(--af-radius) var(--af-radius);
    padding: 6px 0 !important;
    z-index: 50;
  }
  #categoriestopmenu_ul > li > ul { border-top: 2px solid var(--af-navy) !important; }
  #categoriestopmenu ul ul li {
    background: #fff none !important;
    border: 0 !important;
  }
  #categoriestopmenu ul ul li a {
    color: var(--af-ink) !important;
    font-family: var(--af-body) !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0;
    padding: 9px 30px 9px 16px !important;
    background: #fff none !important;
  }
  #categoriestopmenu ul ul li:hover > a,
  #categoriestopmenu ul ul li a:focus,
  #categoriestopmenu ul ul a.selected {
    background: var(--af-bg) !important;
    color: var(--af-navy) !important;
  }
}

@media (min-width: 980px) and (max-width: 1199px) {
  #categoriestopmenu_ul > li > a { padding: 16px 20px 16px 8px !important; font-size: 13px !important; letter-spacing: .03em; }
  #categoriestopmenu_ul > li > a::after { left: 8px; right: 20px; }
}

/* --- Tablette & mobile : menu repliable « MENU » --- */
@media (max-width: 979px) {
  #categoriestopmenu_showmenu { float: none !important; display: block !important; }
  #categoriestopmenu_showmenu a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 4px !important;
    font-family: var(--af-display) !important;
    font-size: 16px !important;
    font-weight: 500;
    letter-spacing: .08em;
    color: var(--af-ink) !important;
  }
  #categoriestopmenu_showmenu a::before {
    content: "";
    order: 2;
    width: 20px; height: 14px;
    background:
      linear-gradient(var(--af-ink), var(--af-ink)) top / 100% 2px no-repeat,
      linear-gradient(var(--af-ink), var(--af-ink)) center / 100% 2px no-repeat,
      linear-gradient(var(--af-ink), var(--af-ink)) bottom / 100% 2px no-repeat;
  }
  #categoriestopmenu_showmenu span.menu_arrow { display: none !important; }

  #categoriestopmenu_ul { border-top: 1px solid var(--af-line); }
  #categoriestopmenu li { border: 0 !important; border-bottom: 1px solid var(--af-line) !important; }
  #categoriestopmenu li a {
    font-family: var(--af-display) !important;
    font-size: 15px !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 13px 40px 13px 4px !important;
  }
  #categoriestopmenu ul ul { background: var(--af-bg) !important; border: 0 !important; box-shadow: none !important; }
  #categoriestopmenu ul ul li { background: transparent none !important; }
  #categoriestopmenu ul ul li a {
    font-family: var(--af-body) !important;
    font-size: 14px !important;
    text-transform: none;
    letter-spacing: 0;
    padding-left: 20px !important;
    color: var(--af-ink-soft) !important;
  }
  #categoriestopmenu ul ul ul li a { padding-left: 36px !important; }
  #categoriestopmenu li:hover > a,
  #categoriestopmenu li a:focus,
  #categoriestopmenu a.selected { background: var(--af-bg) !important; color: var(--af-navy) !important; }
}

/* ==========================================================================
   5. Accueil : slider, blocs, texte
   ========================================================================== */
#top_column { margin-top: 24px; }
#prettyslider_content,
.customblocks_block {
  background: #fff !important;
  border: 0 !important;
  border-radius: var(--af-radius);
  box-shadow: var(--af-shadow) !important;
  overflow: hidden;
}
#prettyslider { background: transparent !important; border: 0 !important; box-shadow: none !important; }
#prettyslider_pagination a {
  background: rgba(255, 255, 255, .7) !important;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .15);
}
#prettyslider_pagination a.selected { background: var(--af-navy) !important; }
.customblocks_block img { transition: transform .4s; }
.customblocks_block:hover img { transform: scale(1.03); }

#prettyslider_editorial {
  background: #fff !important;
  border: 0 !important;
  border-left: 4px solid var(--af-navy) !important;
  border-radius: var(--af-radius);
  box-shadow: var(--af-shadow) !important;
  padding: 28px 32px !important;
  margin-top: 24px;
  color: var(--af-ink-soft);
  font-size: 14px;
  max-width: none;
}
#prettyslider_editorial p { max-width: 110ch; }
#prettyslider_editorial h1 {
  color: var(--af-ink) !important;
  font-size: 30px !important;
  font-weight: 600;
  line-height: 1.1 !important;
  margin: 0 0 12px !important;
}

/* ==========================================================================
   6. Titres de blocs, boutons, fil d'Ariane
   ========================================================================== */
#center_column h1 {
  color: var(--af-ink) !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  font-weight: 600;
  background: transparent none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
}
#homefeatured h4,
.block .title_block, .block p.title_block, .block h4 {
  background: transparent none !important;
  color: var(--af-ink) !important;
  border: 0 !important;
  border-bottom: 2px solid var(--af-ink) !important;
  border-radius: 0 !important;
  font-family: var(--af-display) !important;
  text-transform: uppercase;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  padding: 0 0 8px !important;
  margin: 0 0 18px !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.block .title_block a { color: inherit !important; }
.block, #homefeatured {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.block .block_content {
  background: transparent none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--af-ink) !important;
  padding: 0 !important;
}

a.button, a.exclusive, a.button_large, a.exclusive_large,
input.button, input.exclusive, input.button_large, input.exclusive_large,
button.button, button.exclusive,
.ajax_add_to_cart_button, #button_order_cart {
  background: var(--af-navy) none !important;
  border: 0 !important;
  border-radius: var(--af-radius) !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
  font-family: var(--af-body) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .03em;
  cursor: pointer;
}
a.button:hover, a.exclusive:hover, a.button_large:hover, a.exclusive_large:hover,
input.button:hover, input.exclusive:hover, input.button_large:hover, input.exclusive_large:hover,
.ajax_add_to_cart_button:hover, #button_order_cart:hover {
  background: var(--af-navy-dark) !important;
  color: #fff !important;
}
/* boutons secondaires : contour */
.ajax_block_product a.button,
#cart_block #cart-buttons a.button_small,
.sortPagiBar .bt_compare {
  background: #fff !important;
  color: var(--af-navy) !important;
  box-shadow: inset 0 0 0 1px var(--af-line-strong) !important;
}
.ajax_block_product a.button:hover,
#cart_block #cart-buttons a.button_small:hover,
.sortPagiBar .bt_compare:hover {
  background: #fff !important;
  color: var(--af-navy) !important;
  box-shadow: inset 0 0 0 1px var(--af-navy) !important;
}

.breadcrumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  font-size: 13px;
  color: var(--af-ink-soft);
}
.breadcrumb a { color: var(--af-ink-soft) !important; font-weight: 500 !important; }
.breadcrumb a:hover { color: var(--af-navy) !important; }
.breadcrumb .navigation-pipe { margin: 0 6px; color: var(--af-line-strong); }
.breadcrumb .navigation-page { color: var(--af-ink) !important; font-weight: 500; }

/* ==========================================================================
   7. Cartes produits (accueil + catégories en mode grille)
   ========================================================================== */
#homefeatured ul,
ul#product_list.grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
  margin: 0 !important;
}
#homefeatured ul::before, #homefeatured ul::after,
ul#product_list.grid::before, ul#product_list.grid::after { display: none !important; }

#homefeatured li.ajax_block_product,
ul#product_list.grid > li {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  padding: 12px !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  box-shadow: none !important;
  transition: box-shadow .25s, transform .25s, border-color .25s;
  overflow: hidden;
  position: relative;
}
#homefeatured li.ajax_block_product:hover,
ul#product_list.grid > li:hover {
  border-color: transparent !important;
  box-shadow: var(--af-shadow-hover) !important;
  transform: translateY(-3px);
}
/* neutralise la mise en page « liste » du thème sous 980 px */
#homefeatured li .left_block, ul#product_list.grid li .left_block,
#homefeatured li .right_block, ul#product_list.grid li .right_block,
#homefeatured li .product_image, ul#product_list.grid li .product_img_link,
#homefeatured li .product_img_container, ul#product_list.grid li .product_img_container {
  float: none !important;
  width: auto !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  position: static;
}
#homefeatured li .product_img_container, ul#product_list.grid li .product_img_container {
  text-align: center;
  background: #fff;
  aspect-ratio: 1 / 1;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  margin-bottom: 10px !important;
}
#homefeatured li .product_img_container img, ul#product_list.grid li .product_img_container img {
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  transition: transform .35s;
}
.ajax_block_product:hover .product_img_container img { transform: scale(1.04); }
#homefeatured li .product_desc, ul#product_list.grid li .product_desc,
#homefeatured li .lnk_view, ul#product_list.grid li .lnk_view,
ul#product_list.grid li .compare,
#homefeatured li .available, ul#product_list.grid li .available { display: none !important; }

.ajax_block_product h5, .ajax_block_product h5 a,
.ajax_block_product h3, .ajax_block_product h3 a {
  font-family: var(--af-body) !important;
  text-transform: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--af-ink) !important;
  letter-spacing: 0;
  line-height: 1.35 !important;
  text-align: center;
  height: auto !important;
  margin: 0 0 6px !important;
}
#homefeatured li h5, ul#product_list.grid li h3,
#homefeatured li .right_block, ul#product_list.grid li .right_block,
.ajax_block_product .price_container { text-align: center !important; }
.ajax_block_product .price_container { margin: 0 0 10px !important; float: none !important; }
.ajax_block_product .price_container .price { float: none !important; display: inline-block; }
.price, .ajax_block_product .price {
  font-family: var(--af-display);
  color: var(--af-navy) !important;
  font-weight: 600;
  text-shadow: none !important;
}
.ajax_block_product .price { font-size: 18px !important; }

/* rangée de boutons collée en bas de la carte */
#homefeatured li.ajax_block_product > div:last-child,
ul#product_list.grid > li > div:last-child {
  margin-top: auto !important;
  display: flex; gap: 6px;
  float: none !important; width: 100% !important; padding: 0 !important;
}
.ajax_block_product > div:last-child a {
  min-height: 40px;
  display: inline-flex !important; align-items: center; justify-content: center;
  margin: 0 !important; padding: 0 10px !important;
  float: none !important; line-height: 1.2 !important;
  position: static !important; /* le thème les place en absolu sous 980 px */
}
.ajax_block_product > div:last-child a.button { flex: 0 0 40px; padding: 0 !important; }
.ajax_block_product > div:last-child .ajax_add_to_cart_button { flex: 1 1 0; width: auto !important; text-align: center; }

/* badges éventuels (nouveau / promo) */
.ajax_block_product .new, .ajax_block_product .on_sale, .ajax_block_product .reduction {
  background: var(--af-navy) !important;
  color: #fff !important;
  text-shadow: none !important;
  font-family: var(--af-body);
  font-weight: 600;
}
.ajax_block_product .quick-view { display: none !important; }

/* ==========================================================================
   8. Page catégorie
   ========================================================================== */
.content_scene_cat { border: 0 !important; background: transparent !important; margin-bottom: 20px; }
.content_scene_cat .cat_img {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  padding: 12px !important;
  text-align: center;
  box-shadow: none !important;
}
.content_scene_cat .cat_img img { max-width: 100%; max-height: 160px; width: auto; height: auto; object-fit: contain; }
.category-product-count {
  display: block;
  font-family: var(--af-body);
  text-transform: none;
  font-size: 13px;
  font-weight: 400;
  color: var(--af-ink-soft);
  letter-spacing: 0;
  margin-top: 6px;
}
#subcategories { border: 0 !important; background: transparent !important; }
#subcategories ul.inline_list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}
#subcategories ul.inline_list::before, #subcategories ul.inline_list::after { display: none !important; }
#subcategories li {
  width: auto !important; margin: 0 !important; float: none !important;
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  padding: 10px !important;
  text-align: center;
  transition: box-shadow .2s, border-color .2s;
}
#subcategories li:hover { border-color: transparent !important; box-shadow: var(--af-shadow-hover); }
#subcategories .cat_name {
  font-family: var(--af-display) !important;
  text-transform: uppercase;
  font-size: 14px !important;
  color: var(--af-ink) !important;
  height: auto !important;
}
.content_sortPagiBar { border: 0 !important; background: transparent !important; box-shadow: none !important; }
.sortPagiBar {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  box-shadow: none !important;
  padding: 10px 14px !important;
  margin-bottom: 18px !important;
}
.sortPagiBar label { color: var(--af-ink-soft); font-weight: 500; }
.sortPagiBar .gridorlist a { color: var(--af-ink-soft) !important; }
.sortPagiBar .gridorlist a.active { color: var(--af-navy) !important; }

/* pagination */
.pagination li a, .pagination li span {
  border: 1px solid var(--af-line) !important;
  background: #fff !important;
  color: var(--af-ink) !important;
  border-radius: var(--af-radius);
  box-shadow: none !important;
  text-shadow: none !important;
}
.pagination li.current span, .pagination li a:hover {
  background: var(--af-navy) !important;
  border-color: var(--af-navy) !important;
  color: #fff !important;
}

/* mode « liste » : simple nettoyage visuel */
ul#product_list.list > li {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  margin-bottom: 12px !important;
  box-shadow: none !important;
}

/* ==========================================================================
   9. Page produit
   ========================================================================== */
#primary_block {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  box-shadow: none !important;
  padding: 24px !important;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  #primary_block {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
  }
  #primary_block::before, #primary_block::after { display: none !important; }
  #primary_block > * { grid-column: 1 / -1; }
  #primary_block > #pb-right-column { grid-column: 1; grid-row: 1; }
  #primary_block > #pb-left-column { grid-column: 2; grid-row: 1; }
  #pb-right-column, #pb-left-column,
  #center_column.span12 #pb-left-column {
    width: auto !important; float: none !important; margin: 0 !important;
  }
}
#image-block {
  max-width: none !important;
  width: auto !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  background: #fff !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: hidden;
  text-align: center;
}
#image-block img#bigpic { max-width: 100%; height: auto; width: auto; display: inline-block; }
#views_block { margin-top: 12px !important; border: 0 !important; background: transparent !important; }
#thumbs_list li {
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
}
#thumbs_list li:hover { border-color: var(--af-navy) !important; }
#views_block_prev, #views_block_next {
  color: var(--af-navy) !important;
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  text-shadow: none !important;
}

/* bloc d'achat */
#pb-left-column .content_prices, #buy_block, #pb-left-column .product_attributes,
#pb-left-column .add_to_cart_block, #pb-left-column #short_description_block {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#pb-left-column .our_price_display, #pb-left-column .content_prices .price {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#our_price_display {
  font-family: var(--af-display) !important;
  font-size: 36px !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  color: var(--af-navy) !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
#availability_statut, #pQuantityAvailable { font-size: 13px; color: var(--af-ink-soft); }
#availability_value {
  color: #1e7a3c !important;
  background: #e8f5ec !important;
  border-radius: 999px;
  padding: 2px 10px !important;
  font-weight: 600;
  border: 0 !important;
}
#last_quantities {
  background: #fff6e5 !important;
  color: #8a5300 !important;
  border: 0 !important;
  border-radius: var(--af-radius);
  padding: 6px 10px !important;
  display: inline-block;
  font-size: 13px;
}
#add_to_cart input.exclusive, #add_to_cart button.exclusive {
  min-height: 48px;
  padding: 0 28px !important;
  font-size: 14px !important;
}

/* quantité + bouton sur une ligne, même hauteur ; logos de paiement dessous */
#pb-left-column .add_to_cart_block {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 16px;
  margin-top: 8px;
}
#pb-left-column .add_to_cart_block > .clear { display: none; }
#pb-left-column .add_to_cart_block > * { float: none !important; margin: 0 !important; }
#pb-left-column #quantity_wanted_p {
  order: 1;
  display: flex !important;
  align-items: center;
  gap: 10px;
  height: 48px;
  line-height: 1 !important;
  padding: 0 !important;
  text-align: left !important;
}
/* déclinaisons (taille…) : sous la disponibilité, juste au-dessus de la quantité */
#pb-left-column .product_attributes { display: flex !important; flex-direction: column; align-items: flex-start; }
#pb-left-column .product_attributes > .clear { display: none; }
#pb-left-column .product_attributes > #attributes { order: 10; float: none !important; width: auto !important; margin: 14px 0 0 !important; }
/* déclinaisons (taille…) alignées à gauche, comme le reste du bloc */
#pb-left-column #attributes fieldset {
  display: flex; align-items: center; gap: 10px;
  float: none !important; width: auto !important;
  margin: 0 0 14px !important; padding: 0 !important; border: 0 !important;
  text-align: left !important;
}
#pb-left-column #attributes .attribute_label {
  float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
  font-weight: 600; color: var(--af-ink); text-align: left !important;
}
#pb-left-column #attributes .attribute_list { float: none !important; margin: 0 !important; }
#pb-left-column #quantity_wanted_p[style*="none"] { display: none !important; }
#pb-left-column #quantity_wanted_p label {
  float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
  font-weight: 600; color: var(--af-ink); text-align: left !important;
}
#pb-left-column #quantity_wanted_p input {
  float: none !important;
  height: 48px !important; width: 64px !important;
  margin: 0 !important; padding: 0 !important;
  box-sizing: border-box;
  font-size: 16px; text-align: center;
  border: 1px solid var(--af-line-strong) !important;
  border-radius: var(--af-radius);
}
#pb-left-column #add_to_cart { order: 2; flex: 1 1 220px; padding: 0 !important; text-align: left !important; }
#pb-left-column #add_to_cart .exclusive { width: 100% !important; min-height: 48px; height: 48px; }
#pb-left-column .add_to_cart_block > :not(#quantity_wanted_p):not(#add_to_cart) { order: 3; flex: 0 0 100%; text-align: left !important; }

/* onglets « En savoir plus » */
ul.idTabs {
  border: 0 !important;
  border-bottom: 2px solid var(--af-line) !important;
  background: transparent !important;
  padding: 0 !important;
}
ul.idTabs li a {
  font-family: var(--af-display) !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 15px !important;
  color: var(--af-ink-soft) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
ul.idTabs li a.selected, ul.idTabs li a:hover {
  color: var(--af-navy) !important;
  border-bottom-color: var(--af-navy) !important;
}
#more_info_sheets {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--af-radius) var(--af-radius);
  padding: 24px !important;
  box-shadow: none !important;
  color: var(--af-ink-soft);
  line-height: 1.65;
}
/* les descriptions collées depuis Word ont souvent un fond/couleur figés */
#more_info_sheets * { background-color: transparent !important; }
#more_info_sheets a { color: var(--af-navy) !important; }
/* tailles figées par l'éditeur (souvent 10–11 px) → lisible */
#more_info_sheets, #more_info_sheets * { font-size: 14px !important; line-height: 1.65 !important; }
#more_info_sheets img { max-width: 100% !important; height: auto !important; }

/* « Autres produits dans la même catégorie » et autres titres h2 de contenu */
#center_column h2, #productscategory_h2 {
  background: transparent none !important;
  color: var(--af-ink) !important;
  border: 0 !important;
  border-bottom: 2px solid var(--af-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  padding: 0 0 8px !important;
  margin: 32px 0 16px !important;
}
#productscategory {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  box-shadow: none !important;
  padding: 16px !important;
}
#productscategory .productscategory_product_block a,
#productscategory p a { color: var(--af-ink) !important; }
#productscategory img { border: 1px solid var(--af-line) !important; border-radius: var(--af-radius); box-shadow: none !important; }
#productscategory .price { font-size: 15px !important; }

/* ==========================================================================
   10. Colonne latérale (panier, nouveautés)
   ========================================================================== */
#cart_block, #new-products_block_right,
#left_column .block, #right_column .block {
  background: #fff !important;
  border: 1px solid var(--af-line) !important;
  border-radius: var(--af-radius);
  padding: 16px !important;
  margin-bottom: 20px !important;
}
#cart_block .block_content * { color: var(--af-ink) !important; text-shadow: none !important; }
#cart_block .price { color: var(--af-navy) !important; font-size: 15px !important; }
#cart_block #cart-buttons { display: flex; gap: 8px; }
#cart_block #cart-buttons a { flex: 1; text-align: center; float: none !important; margin: 0 !important; }
#cart_block #button_order_cart, #cart_block #button_order_cart * { color: #fff !important; }
#cart_block #cart-buttons a.button_small, #cart_block #cart-buttons a.button_small * { color: var(--af-navy) !important; }

#new-products_block_right li {
  height: auto !important;
  display: flex; gap: 10px; align-items: center;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--af-line) !important;
  background: transparent !important;
}
#new-products_block_right li img { border: 1px solid var(--af-line); border-radius: var(--af-radius); }
#new-products_block_right .product_content { float: none !important; width: auto !important; margin: 0 !important; height: auto !important; }
#new-products_block_right .product_name {
  height: auto !important; max-height: none !important;
  overflow: hidden;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  margin: 0 0 4px !important;
}
#new-products_block_right .product_name a { font-size: 12px; line-height: 1.35; color: var(--af-ink) !important; font-weight: 500; }
#new-products_block_right .product_price { font-family: var(--af-display); color: var(--af-navy) !important; font-size: 15px; font-weight: 600; margin: 0 !important; }
#new-products_block_right .product_desc { display: none; }
#new-products_block_right .lnk { margin: 14px 0 0 !important; }
#new-products_block_right a.button_large { display: block; text-align: center; padding: 11px 10px !important; }

/* arbre des catégories */
#categories_block_left ul.tree li {
  border: 0 !important;
  border-bottom: 1px solid var(--af-line) !important;
  background: transparent !important;
  padding: 0 !important;
  position: relative;
}
#categories_block_left ul.tree li:last-child { border-bottom: 0 !important; }
#categories_block_left ul.tree li::before { display: none !important; }
#categories_block_left ul.tree li a {
  display: block;
  padding: 9px 28px 9px 0 !important;
  color: var(--af-ink) !important;
  font-family: var(--af-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background-image: none !important;
  text-shadow: none !important;
}
#categories_block_left ul.tree li a:hover,
#categories_block_left ul.tree li a.selected { color: var(--af-navy) !important; }
#categories_block_left ul.tree ul { padding-left: 12px !important; border-top: 1px solid var(--af-line); }
#categories_block_left ul.tree ul li a { font-weight: 400 !important; color: var(--af-ink-soft) !important; }
#categories_block_left span.grower {
  position: absolute; right: 0; top: 6px;
  width: 24px; height: 24px;
  cursor: pointer;
  opacity: .55;
}

/* ==========================================================================
   11. Footer
   ========================================================================== */
#footer_container { margin-top: 56px; }
#footer_container, #footer, #footercustom, #footercustom_links_container {
  background: var(--af-navy-dark) none !important;
  color: #c9d3e6 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
/* colonnes : société | 3 listes de liens | newsletter, sur toute la largeur */
#footercustom_links {
  width: auto !important;
  display: grid !important;
  grid-template-columns: minmax(200px, 1.3fr) repeat(3, minmax(140px, 1fr)) minmax(260px, 1.6fr);
  gap: 32px 40px;
  padding: 48px 0 40px !important;
  margin: 0 !important;
  overflow: visible !important;
  text-align: left !important;
}
#footercustom_links::before, #footercustom_links::after { display: none !important; }
#footercustom_links > * {
  float: none !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
#footercustom .footercustom_title {
  display: block;
  font-family: var(--af-display) !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  margin: 0 0 16px !important;
}
#footercustom, #footercustom p, #footercustom li,
#footercustom_img_company, #footercustom_links ul li, #footercustom_links ul li a,
#footercustom_newsletter_social .footercustom_newsletter_message {
  font-family: var(--af-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #c9d3e6 !important;
}
#footercustom_links ul li { padding: 3px 0 !important; }
#footercustom_links ul li.footercustom_title { padding: 0 !important; }
#footercustom a:hover, #footercustom_links ul li a:hover { color: #fff !important; }

/* newsletter : champ + bouton accolés */
#footercustom_newsletter_social .footercustom_newsletter_message { margin: 0 0 12px !important; }
#footercustom_newsletter_social form p { display: flex !important; flex-wrap: wrap; max-width: 420px; }
#footercustom_newsletter_social .footercustom_newsletter_title,
#footercustom_newsletter_social .footercustom_newsletter_message { flex: 0 0 100%; }
#footercustom_newsletter_social .footercustom_newsletter_input {
  flex: 1 1 auto;
  float: none !important;
  width: auto !important; min-width: 0;
  height: 44px !important;
  line-height: normal !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: var(--af-radius) 0 0 var(--af-radius) !important;
  background: #fff !important;
  color: var(--af-ink) !important;
  font-family: var(--af-body) !important;
  font-size: 14px !important;
}
#footercustom_newsletter_social .footercustom_newsletter_button {
  flex: 0 0 auto;
  float: none !important;
  width: auto !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 var(--af-radius) var(--af-radius) 0 !important;
  background: var(--af-navy) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35) !important;
  color: #fff !important;
  text-shadow: none !important;
  font-family: var(--af-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: pointer;
}
#footercustom_newsletter_social .footercustom_newsletter_button:hover,
#footercustom_newsletter_social .footercustom_newsletter_button:focus {
  background: #fff !important;
  color: var(--af-navy-dark) !important;
}
#footercustom_newsletter_social .footercustom_social_title { margin-top: 28px !important; }
/* icônes sociales : pictos vectoriels blancs (les sprites du module ont un fond gris opaque) */
#footercustom_newsletter_social .footercustom_social_icon {
  float: none !important;
  display: inline-block;
  width: 26px; height: 26px;
  margin: 0 14px 0 0 !important;
  background: #fff none !important;
  -webkit-mask: var(--af-icon) center / contain no-repeat;
  mask: var(--af-icon) center / contain no-repeat;
  opacity: .8;
  transition: opacity .2s;
}
#footercustom_newsletter_social .footercustom_social_icon:hover { opacity: 1; }
#footercustom_newsletter_social .footercustom_social_facebook { --af-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E"); }
#footercustom_newsletter_social .footercustom_social_twitter { --af-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E"); }

/* liens du bas + copyright */
#block_various_links_footer {
  border-top: 1px solid rgba(255, 255, 255, .12) !important;
  background: transparent !important;
  padding: 18px 0 !important;
  margin: 0 !important;
}
#block_various_links_footer .title_block { display: none !important; }
#block_various_links_footer ul {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 24px;
  margin: 0 !important; padding: 0 !important;
}
#block_various_links_footer li {
  float: none !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important; padding: 0 !important;
}
#block_various_links_footer a { color: #c9d3e6 !important; font-size: 13px !important; }
#block_various_links_footer a:hover { color: #fff !important; }
#footer_copyright { background: var(--af-navy-darker) !important; color: #8fa0bf !important; padding: 12px 0 !important; text-align: center; }
#footer_copyright, #footer_copyright a { font-size: 12px !important; }
#footer .block_various_links li { background: transparent !important; border: 0 !important; }

@media (max-width: 1199px) {
  #footercustom_links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #footercustom_newsletter_social { grid-column: span 2; }
}
@media (max-width: 767px) {
  #footercustom_links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding: 32px 0 !important; }
  #footercustom_img_company, #footercustom_newsletter_social { grid-column: 1 / -1; }
  #block_various_links_footer li { display: inline !important; }
}

/* ==========================================================================
   12. Mobile (< 768 px)
   ========================================================================== */
@media (max-width: 767px) {
  body { font-size: 15px; }
  .container { margin-left: 12px !important; margin-right: 12px !important; }
  #header_top_banner { font-size: 12px; padding: 8px 12px; }

  /* header : logo à gauche, icônes à droite, recherche dessous */
  #header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "logo links user" "search search search";
    align-items: center;
    column-gap: 4px;
    row-gap: 12px;
    padding: 12px 0 14px !important;
    text-align: left !important;
  }
  #header > script, #header::before, #header::after { display: none !important; }
  #header_logo { grid-area: logo; }
  #header_logo img.logo { height: 46px !important; }

  #header_links {
    grid-area: links;
    position: static !important;
    display: flex; margin: 0 !important; padding: 0 !important;
  }
  #header_links li,
  #header_user li {
    background: transparent none !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    margin: 0 !important; padding: 0 !important;
    float: none !important;
  }
  #header_links .header_link_home, #header_links .header_link_sitemap { display: none !important; }
  #header_links a,
  #header_user #your_account,
  #header_user #shopping_cart > a {
    width: 44px !important; height: 44px !important;
    display: flex !important; align-items: center; justify-content: center;
    background: transparent none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: var(--af-radius);
    padding: 0 !important; margin: 0 !important;
    position: relative;
  }
  #header_links a i, #header_user i {
    color: var(--af-navy) !important;
    font-size: 22px !important;
    text-shadow: none !important;
    margin: 0 !important;
  }
  #header_user {
    grid-area: user;
    position: static !important;
    display: flex; align-items: center;
    margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important;
  }
  #header_user_info, #shopping_cart {
    position: static !important;
    display: flex !important;
    margin: 0 !important; padding: 0 !important;
    background: transparent none !important;
    border: 0 !important; box-shadow: none !important; filter: none !important;
  }
  #header_nav { display: flex !important; }
  #header_user_info .login { display: none !important; }
  #header_nav { margin: 0 !important; padding: 0 !important; }
  #shopping_cart > a > span { display: none !important; }
  /* pastille de quantité : le thème affiche toujours .ajax_cart_quantity sur mobile */
  #shopping_cart > a > .ajax_cart_quantity {
    display: inline-flex !important;
    position: absolute !important; top: 4px !important; right: 0 !important; left: auto !important; bottom: auto !important;
    min-width: 18px; height: 18px; width: auto !important;
    border-radius: 9px !important;
    background: var(--af-navy) !important;
    color: #fff !important;
    font-size: 11px !important; font-weight: 700; line-height: 18px !important;
    align-items: center; justify-content: center;
    padding: 0 4px !important; margin: 0 !important; box-sizing: border-box;
    border: 2px solid #fff !important;
  }

  #search_block_top {
    grid-area: search;
    width: auto !important; margin: 0 !important;
    float: none !important; position: relative !important; top: auto !important; left: auto !important;
  }
  #search_block_top .search_query { width: auto !important; min-width: 0; font-size: 16px; } /* 16px : évite le zoom iOS */
  #search_block_top, #search_block_top form, #search_block_top p { min-width: 0; max-width: 100%; }

  #top_column { margin-top: 14px; }
  #prettyslider_editorial { padding: 20px !important; }
  #prettyslider_editorial h1 { font-size: 24px !important; }
  .customblocks_block { margin-top: 12px; }

  #homefeatured ul, ul#product_list.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #homefeatured li.ajax_block_product, ul#product_list.grid > li { padding: 8px !important; }
  .ajax_block_product > div:last-child a.button { display: none !important; }
  .ajax_block_product > div:last-child .ajax_add_to_cart_button { font-size: 11px !important; padding: 0 6px !important; }
  .ajax_block_product h5, .ajax_block_product h5 a, .ajax_block_product h3, .ajax_block_product h3 a { font-size: 13px !important; }

  #center_column h1 { font-size: 22px !important; }
  #primary_block { padding: 14px !important; }
  #pb-left-column { margin-top: 18px !important; }
  #our_price_display { font-size: 30px !important; }


}

/* ==========================================================================
   13. Accessibilité
   ========================================================================== */
a:focus-visible, input:focus-visible, button:focus-visible, select:focus-visible {
  outline: 2px solid var(--af-navy) !important;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .ajax_block_product:hover, .ajax_block_product:hover img,
  .customblocks_block:hover img { transform: none !important; }
}

/* ==========================================================================
   14. Accueil — slider pleine largeur (option B)
   Ajouté à argus-refresh.css uniquement avec : python3 outils/build-theme.py --slider
   À activer quand les nouveaux visuels sont en place :
     · toutes les images aux MÊMES dimensions : 2400 × 900 px (JPEG < 300 Ko)
       (le module calcule la hauteur d'après la première image)
     · PAS de texte dans l'image : titre / sous-titre / lien se saisissent dans le module
     · zone calme et sombre À GAUCHE (le texte s'y pose) ; sujet principal à droite
   Les 2 visuels de droite (module customblocks) sont masqués ; on peut aussi
   les décrocher dans Modules > Positions.
   ========================================================================== */
#top_column .customblocks_container,
#top_column .customblocks_block { display: none !important; }

#prettyslider {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
#prettyslider_content {
  position: relative;
  padding: 0 !important;
  background: #efe9df !important;
  border-radius: var(--af-radius);
  overflow: hidden;
}
#prettyslider .caroufredsel_wrapper { width: 100% !important; margin: 0 !important; }
#prettyslider .prettyslider_slide { background: #efe9df !important; }
/* format imposé 8:3 (= 2400 × 900), recadrage centré : hauteur constante
   même si une image chargée n'a pas les bonnes dimensions */
#prettyslider .prettyslider_slide img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  aspect-ratio: 8 / 3;
  object-fit: cover;
  object-position: center;
}

/* --- Texte des slides (titre / sous-titre / bouton saisis dans le module) ---
   Version CLAIRE (choix client) : visuels lumineux, zone calme à gauche,
   texte foncé + bouton bleu marine, comme la maquette.
   Le module affiche/masque l'encadré en jQuery (hide / slideDown) : pas de display ici. */
#prettyslider .prettyslider_slide { position: relative; }
#prettyslider .prettyslider_caption {
  position: absolute;
  top: 50% !important; bottom: auto !important; left: 0 !important; right: auto !important;
  transform: translateY(-50%);
  width: min(40%, 560px);
  height: auto !important;
  box-sizing: border-box;
  padding: 0 0 0 clamp(24px, 6%, 96px) !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  pointer-events: none;            /* l'image reste cliquable (lien du slide) */
}
#prettyslider .prettyslider_title {
  height: auto !important;
  overflow: visible !important;
  margin: 0 0 14px !important;
  font-family: var(--af-display) !important;
  font-size: clamp(30px, 3.6vw, 64px) !important;
  font-weight: 600;
  line-height: 1.02 !important;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--af-ink) !important;
  text-shadow: none;
}
#prettyslider .prettyslider_subtitle {
  height: auto !important;
  overflow: visible !important;
  max-width: 34ch;
  margin: 0 !important;
  font-family: var(--af-body) !important;
  font-size: clamp(14px, 1.25vw, 20px) !important;
  line-height: 1.45 !important;
  color: #3d4250 !important;
  text-shadow: none;
}
#prettyslider .prettyslider_button {
  position: static !important;
  display: inline-block !important;
  width: auto !important; height: auto !important;
  margin: clamp(16px, 2vw, 28px) 0 0 !important;
  padding: 14px 26px !important;
  border: 0 !important;
  border-radius: var(--af-radius) !important;
  background: var(--af-navy) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: #fff !important;
  font-family: var(--af-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  pointer-events: auto;
}
#prettyslider .prettyslider_button:hover,
#prettyslider .prettyslider_button:focus { background: var(--af-navy-dark) !important; color: #fff !important; }

/* points de navigation centrés en bas de l'image */
#prettyslider_pagination {
  position: absolute !important;
  top: auto !important; right: auto !important;
  bottom: 18px !important; left: 50% !important;
  transform: translateX(-50%);
  width: auto !important;
  display: flex !important; gap: 10px;
  z-index: 20;
}
#prettyslider_pagination a {
  width: 12px !important; height: 12px !important;
  margin: 0 !important; padding: 0 !important;
  border-radius: 50%;
  background: rgba(27, 29, 34, .25) !important;
  box-shadow: none;
  overflow: hidden; text-indent: -999px;
  transition: background-color .2s, transform .2s;
}
#prettyslider_pagination a.selected { background: var(--af-navy) !important; transform: scale(1.2); }
#prettyslider_pagination a span { display: none; }

@media (max-width: 767px) {
  /* mobile : hauteur fixe, recadrage ancré à gauche (côté texte) */
  #prettyslider .prettyslider_slide img { height: 230px !important; object-fit: cover; object-position: 12% center; }
  /* voile clair derrière le texte : lisible même si un objet passe dessous */
  #prettyslider .prettyslider_slide::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(245, 240, 232, .85) 0%, rgba(245, 240, 232, .6) 55%, rgba(245, 240, 232, 0) 85%);
  }
  #prettyslider .prettyslider_caption { width: 78%; padding-left: 18px !important; z-index: 2; }
  #prettyslider .prettyslider_title { font-size: 24px !important; margin-bottom: 8px !important; }
  #prettyslider .prettyslider_subtitle {
    font-size: 13px !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden !important;
  }
  #prettyslider .prettyslider_button { margin-top: 12px !important; padding: 10px 16px !important; font-size: 11px !important; }
  #prettyslider_pagination { bottom: 8px !important; gap: 8px; }
  #prettyslider_pagination a { width: 8px !important; height: 8px !important; }
}
