/* =========================================================
   AFFICHE IMPRESSION - CUSTOM CSS
   Theme: PrestaShop Classic
   ========================================================= */


/* =========================================================
   1. REGLAGES GENERAUX
   ========================================================= */

body {
  color: #2f2f2f;
}

a {
  transition: all 0.2s ease;
}

img {
  max-width: 100%;
  height: auto;
}


/* =========================================================
   2. FIL D'ARIANE
   ========================================================= */

#wrapper .breadcrumb {
  background: transparent;
  padding: 12px 0 18px;
  margin-bottom: 0;
  font-size: 14px;
}

.breadcrumb li {
  font-size: 14px;
}


/* =========================================================
   3. BLOC CATEGORIE EN HAUT DE PAGE
   ========================================================= */

.block-category {
  background: #ffffff;
  border-radius: 12px;
  padding: 22px 22px;
  margin-bottom: 28px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.block-category h1,
.block-category .h1 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 16px;
  color: #1f1f1f;
  text-transform: uppercase;
}

.block-category .block-category-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.block-category #category-description,
.block-category .category-description {
  flex: 1 1 auto;
  font-size: 15px;
  line-height: 1.6;
  color: #4b4b4b;
}

.block-category #category-description p,
.block-category .category-description p {
  margin-bottom: 14px;
}

.block-category .category-cover {
  flex: 0 0 250px;
  width: 250px;
  max-width: 250px;
  margin-left: 10px;
}

.block-category .block-category-inner .category-cover img {
  display: block;
  width: 250px !important;
  height: 200px !important;
  max-width: 250px !important;
  max-height: 200px !important;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   4. BARRE TRI / NOMBRE DE PRODUITS
   ========================================================= */

#js-product-list-top,
.products-selection {
  margin-bottom: 20px;
}

.products-selection .total-products {
  font-size: 15px;
  color: #666;
}

.products-sort-order .select-title,
.products-selection .sort-by {
  font-size: 14px;
}


/* =========================================================
   5. GRILLE PRODUITS
   ========================================================= */

#products .products,
.products {
  margin-top: 10px;
}

.product-miniature {
  margin-bottom: 28px;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.product-miniature:hover {
  transform: translateY(-4px);
}

.product-miniature .thumbnail-container {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.product-miniature:hover .thumbnail-container {
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.10);
}

.product-miniature .thumbnail-top,
.product-miniature .product-thumbnail {
  overflow: hidden;
}

.product-miniature .product-thumbnail img,
.product-miniature img {
  transition: transform 0.28s ease;
}

.product-miniature:hover .product-thumbnail img,
.product-miniature:hover img {
  transform: scale(1.03);
}


/* =========================================================
   6. TITRES PRODUITS / PRIX
   ========================================================= */

.product-title {
  margin-top: 12px;
  margin-bottom: 8px;
  text-align: center;
}

.product-title a {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 600;
  color: #233a63;
  text-decoration: none;
}

.product-title a:hover {
  color: #00b4d8;
  text-decoration: none;
}

.product-price-and-shipping {
  text-align: center;
  margin-top: 8px;
  margin-bottom: 10px;
}

.price {
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}

.regular-price {
  opacity: 0.65;
}


/* =========================================================
   7. LIBELLES PRODUITS (NOUVEAU / PROMO)
   ========================================================= */

.product-flags {
  left: 10px;
  top: 10px;
}

.product-flags li.product-flag {
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
}


/* =========================================================
   8. BOUTON FAVORIS / ACTIONS
   ========================================================= */

.product-miniature .highlighted-informations,
.product-miniature .product-description {
  position: relative;
}

.wishlist-button-add,
.btn-product-list,
.quick-view,
.product-miniature .functional-buttons {
  transition: all 0.2s ease;
}


/* =========================================================
   9. MINIATURES / CARTES PLUS PROPRES
   ========================================================= */

.product-miniature .thumbnail-container .product-description {
  padding: 10px 14px 16px;
}

.product-miniature .product-description p {
  margin-bottom: 0;
}


/* =========================================================
   10. HEADER - PETITS AJUSTEMENTS
   ========================================================= */

#header {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.header-top {
  padding-top: 10px;
  padding-bottom: 10px;
}

#header .logo {
  max-height: 72px;
}

#search_widget {
  margin-top: 6px;
}

#search_widget form input[type="text"],
#search_widget input[type="text"] {
  border-radius: 8px;
}


/* =========================================================
   11. MENU PRINCIPAL
   ========================================================= */

#top-menu > li > a,
.top-menu a[data-depth="0"] {
  font-weight: 600;
  letter-spacing: 0.2px;
}


/* =========================================================
   12. BOUTONS GENERAUX
   ========================================================= */

.btn,
button,
input[type="submit"] {
  border-radius: 8px;
  transition: all 0.2s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover {
  transform: translateY(-1px);
}


/* =========================================================
   13. PAGES CMS / TEXTES
   ========================================================= */

.page-cms,
.page-content {
  line-height: 1.65;
}


/* =========================================================
   14. FOOTER
   ========================================================= */

#footer {
  margin-top: 40px;
}

#footer .block_newsletter,
#footer .links,
#footer .text-sm-center {
  font-size: 14px;
}


/* =========================================================
   15. RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width: 991px) {
  .block-category {
    padding: 20px;
  }

  .block-category .block-category-inner {
    gap: 20px;
  }

  .block-category .category-cover {
    flex: 0 0 220px;
    width: 220px;
    max-width: 220px;
  }

  .block-category .block-category-inner .category-cover img {
    width: 220px !important;
    height: 176px !important;
    max-width: 220px !important;
    max-height: 176px !important;
  }

  .block-category h1,
  .block-category .h1 {
    font-size: 24px;
  }
}


/* =========================================================
   16. RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .block-category {
    padding: 18px;
    border-radius: 10px;
  }

  .block-category .block-category-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .block-category .category-cover {
    flex: none;
    width: 100%;
    max-width: 250px;
    margin-left: 0;
    margin-top: 10px;
  }

  .block-category .block-category-inner .category-cover img {
    width: 100% !important;
    max-width: 250px !important;
    height: auto !important;
    max-height: none !important;
  }

  .block-category h1,
  .block-category .h1 {
    font-size: 22px;
  }

  .block-category #category-description,
  .block-category .category-description {
    font-size: 14px;
    line-height: 1.55;
  }

  .product-title a {
    font-size: 15px;
  }

  .price {
    font-size: 17px;
  }
}
/* masquer "Aperçu rapide" sur les cartes produits */
.quick-view,
.quickview,
.js-quick-view,
.product-miniature .highlighted-informations,
.product-miniature .quick-view {
  display: none !important;
}
/* resserrer la carte produit après suppression du quick view */
.product-miniature .thumbnail-container .product-description {
  padding-top: 12px;
}

.product-miniature .product-title {
  margin-top: 8px;
}
/* supprimer le coeur favoris sur les produits */
.wishlist-button-add,
.wishlist,
.product-miniature .wishlist-button,
.product-miniature .addToWishlist,
.product-miniature .js-wishlist-button {
  display: none !important;
}
.product-miniature {
  text-align: center;
}
.homepage-description {
  background: #ffffff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.05);
}
.product-miniature {
  text-align: center;
}

.product-miniature .product-title {
  margin-top: 12px;
  font-size: 17px;
}
.section-title,
h2.h2 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 25px;
  letter-spacing: 1px;
}
.banner img {
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}
/* ===== RECHERCHE HEADER ===== */

#search_widget {
  margin-top: 8px;
}

#search_widget form input[type="text"],
#search_widget input[type="text"],
#search_widget input.ui-autocomplete-input {
  height: 40px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  background: #f8f8f8;
  padding-left: 38px;
  transition: all 0.2s ease;
}

#search_widget form input[type="text"]:focus,
#search_widget input[type="text"]:focus,
#search_widget input.ui-autocomplete-input:focus {
  background: #ffffff;
  border-color: #20b8e5;
  box-shadow: 0 0 0 3px rgba(32, 184, 229, 0.10);
}

#search_widget {
  width: 320px;
  max-width: 320px;
}

#search_widget form {
  width: 100%;
}

#search_widget form input[type="text"],
#search_widget input[type="text"],
#search_widget input.ui-autocomplete-input {
  width: 100%;
  height: 42px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  background: #f8f8f8;
  padding-left: 38px;
}
/* ===== MENU PRINCIPAL ===== */

#_desktop_top_menu .top-menu > li > a,
#_desktop_top_menu .top-menu a[data-depth="0"] {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .3px;
  padding-left: 22px !important;
  padding-right: 22px !important;
  color: #555;
  transition: color .2s ease;
}

#_desktop_top_menu .top-menu > li > a:hover,
#_desktop_top_menu .top-menu li:hover > a,
#_desktop_top_menu .top-menu .current > a {
  color: #20b8e5 !important;
}

#_desktop_top_menu .top-menu {
  display: flex;
  align-items: center;
  gap: 10px;
}
#search_widget {
  margin-left: 20px;
}
/* ===== MENU PRINCIPAL : trait actif / hover ===== */

#_desktop_top_menu .top-menu > li > a,
#_desktop_top_menu .top-menu a[data-depth="0"] {
  position: relative;
}

#_desktop_top_menu .top-menu > li > a::after,
#_desktop_top_menu .top-menu a[data-depth="0"]::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: -3px;
  height: 2px;
  background: #20b8e5;
  opacity: 0;
  transform: scaleX(0.7);
  transition: all 0.2s ease;
}

#_desktop_top_menu .top-menu > li > a:hover::after,
#_desktop_top_menu .top-menu li:hover > a::after,
#_desktop_top_menu .top-menu .current > a::after {
  opacity: 1;
  transform: scaleX(1);
}
/* menu principal */
#_desktop_top_menu .top-menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

/* espace entre les catégories */
#_desktop_top_menu .top-menu > li {
    margin: 0 8px;
}

/* taille du texte menu */
#_desktop_top_menu .top-menu a {
    font-size: 14px;
}
/* ===== PAGE PRODUIT : image / configurateur ===== */

#product .product-container {
  display: flex;
  align-items: flex-start;
}

#product .product-container > .col-md-6:first-child {
  flex: 0 0 35%;
  max-width: 35%;
}

#product .product-container > .col-md-6:last-child {
  flex: 0 0 65%;
  max-width: 65%;
}
/* options configurateur mieux alignées */

#configurator_block .option-items,
#configurator_block .values {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#configurator_block .option-items > div,
#configurator_block .values > div {
    flex: 0 0 120px;
}
#configurator_block .configurator_summary {
    background: #ffffff;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
/* bloc prix configurateur */

#configurator_block .configurator_summary {
  background: #ffffff;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}
#configurator_block .btn-primary {
  font-size: 16px;
  padding: 12px 22px;
  border-radius: 8px;
}
#configurator_block .price {
  font-size: 22px;
  font-weight: 700;
  color: #1a9bb8;
}
#configurator_block .configurator_summary {
  position: sticky;
  bottom: 20px;
  z-index: 10;
  background: #fff;
}
/* ===== CONFIGURATEUR PRODUIT ===== */

/* carte configurateur plus propre */
#configurator_block.tabs {
  background: #ffffff;
  border-radius: 12px;
  padding: 18px 18px 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}

/* chaque étape plus aérée */
#configurator_block .step,
#configurator_block .tab,
#configurator_block .configurator_step {
  margin-bottom: 14px;
  border-bottom: 1px solid #ececec;
  padding-bottom: 10px;
}

/* résumé panier plus premium */
#configurator_block .configurator_summary {
  background: #ffffff;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* bouton panier plus visible */
#configurator_block .btn-primary,
#configurator_block .add-to-cart,
#configurator_block button[type="submit"] {
  min-height: 46px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
}

/* prix plus lisible */
#configurator_block .price,
#configurator_block .final_price,
#configurator_block .price_total {
  font-size: 24px;
  font-weight: 700;
}

/* options avec léger effet hover */
#configurator_block .choice,
#configurator_block .option,
#configurator_block .value {
  transition: transform .15s ease, box-shadow .15s ease;
}

#configurator_block .choice:hover,
#configurator_block .option:hover,
#configurator_block .value:hover {
  transform: translateY(-2px);
}
/* ===== HEADER : LOGO PLUS GRAND ===== */

#header #_desktop_logo {
  flex: 0 0 22%;
  max-width: 22%;
}

#header .header-top-right {
  flex: 0 0 78%;
  max-width: 78%;
}

#header #_desktop_logo img {
  width: auto;
  max-width: 100%;
  max-height: 80px;
  height: auto;
  display: block;
}

/* blocs avantages */

.home-features{
display:flex;
justify-content:space-between;
gap:20px;
margin:10px 0 35px 0;
}

.feature{
background:#ffffff;
padding:35px;
border-radius:10px;
text-align:center;
flex:1;
box-shadow:0 4px 15px rgba(0,0,0,0.06);
}

.feature-icon{
font-size:32px;
margin-bottom:10px;
}

.feature h3{
font-size:18px;
margin-bottom:10px;
color:#1d4ed8;
}

.feature p{
font-size:14px;
color:#555;
}
.feature-icon{
font-size:34px;
margin-bottom:12px;
color:#f59e0b;
}
.feature-icon{
width:120px;
height:auto;
margin-bottom:10px;
}
.feature img{
display:block;
margin:auto;
}
/* centrer les icones des blocs avantages */
.feature{
  text-align:center;
}

.feature-icon{
  width:100%;
  text-align:center;
  margin-bottom:12px;
}

.feature-icon img{
  display:block;
  margin:0 auto;
  width:120px;
  height:auto;
}
/* Fix affichage options configurateur */

