/* DMC MegaMenu */
.dmc-mega-nav { --dmc-turq:#2fb5d2; --dmc-beige:#d4a373; --dmc-ink:#222b30; position:relative; }
.dmc-mega { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:stretch; gap:2px; }
.dmc-mega-item { position:relative; }
.dmc-mega-link { display:flex; align-items:center; gap:6px; padding:14px 16px; color:var(--dmc-ink); text-decoration:none; font-weight:600; font-size:15px; line-height:1; border-bottom:3px solid transparent; transition:color .15s, border-color .15s; }
.dmc-mega-link:hover, .dmc-mega-item:hover > .dmc-mega-link, .dmc-mega-item.open > .dmc-mega-link { color:var(--dmc-turq); border-bottom-color:var(--dmc-turq); }
.dmc-mega-caret { width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-3px; opacity:.6; }

.dmc-mega-panel { position:absolute; top:100%; left:0; z-index:120; min-width:520px; max-width:860px; background:#fff; border:1px solid #ececec; border-top:3px solid var(--dmc-turq); border-radius:0 0 10px 10px; box-shadow:0 14px 34px rgba(0,0,0,.10); padding:18px 22px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .16s, transform .16s, visibility .16s; }
.dmc-mega-item:hover > .dmc-mega-panel, .dmc-mega-item.open > .dmc-mega-panel { opacity:1; visibility:visible; transform:translateY(0); }
.dmc-mega-cols { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:18px 26px; }
.dmc-mega-col-title { display:block; font-weight:700; font-size:14px; color:var(--dmc-ink); text-decoration:none; padding-bottom:6px; margin-bottom:6px; border-bottom:1px solid #eee; }
.dmc-mega-col-title:hover { color:var(--dmc-turq); }
.dmc-mega-sub { list-style:none; margin:0; padding:0; }
.dmc-mega-sub li { margin:0; }
.dmc-mega-sub a { display:block; padding:5px 0; color:#555; text-decoration:none; font-size:13.5px; }
.dmc-mega-sub a:hover { color:var(--dmc-turq); padding-left:4px; }

.dmc-mega-burger { display:none; flex-direction:column; gap:5px; width:42px; height:38px; background:transparent; border:1px solid #ddd; border-radius:8px; cursor:pointer; align-items:center; justify-content:center; }
.dmc-mega-burger span { display:block; width:20px; height:2px; background:var(--dmc-ink); }

@media (max-width:991px){
  .dmc-mega-burger { display:flex; }
  .dmc-mega { display:none; flex-direction:column; gap:0; border-top:1px solid #eee; }
  .dmc-mega-nav.open .dmc-mega { display:flex; }
  .dmc-mega-item { border-bottom:1px solid #f0f0f0; }
  .dmc-mega-link { padding:14px 6px; border-bottom:none; }
  .dmc-mega-panel { position:static; min-width:0; max-width:none; box-shadow:none; border:none; border-radius:0; padding:0 0 12px 12px; opacity:1; visibility:visible; transform:none; display:none; }
  .dmc-mega-item.open > .dmc-mega-panel { display:block; }
  .dmc-mega-cols { grid-template-columns:1fr; gap:6px; }
  .dmc-mega-col-title { border:none; padding:8px 0 2px; }
}

/* Onglet DEVIS mis en avant */
.dmc-mega-item.dmc-mega-devis > .dmc-mega-link{background:#27bb9b;color:#fff !important;border-radius:4px;font-weight:700}
.dmc-mega-item.dmc-mega-devis > .dmc-mega-link:hover{background:#1f8f77}

/* Fix mise en page : colonne de filtres vide -> contenu pleine largeur
   (auto-adaptatif : réagit à :has, se réaffiche si des filtres sont ajoutés) */
#left-column:not(:has(*)){display:none !important}
#left-column:not(:has(*)) + #center-column{flex:0 0 100% !important;max-width:100% !important}
#left-column:not(:has(*)) ~ #content-wrapper{flex:0 0 100% !important;max-width:100% !important}

/* Catégories : 4 vignettes par ligne, plus compactes */
.page-category .products,
#js-product-list .products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
}
.page-category .products .product-miniature,
#js-product-list .products .product-miniature{
  max-width:100% !important;width:auto !important;margin:0 !important;flex:none !important;
}
@media(max-width:992px){.page-category .products,#js-product-list .products{grid-template-columns:repeat(3,1fr) !important}}
@media(max-width:768px){.page-category .products,#js-product-list .products{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:480px){.page-category .products,#js-product-list .products{grid-template-columns:1fr !important}}

/* Ombre portée sur les vignettes produit (+ effet de survol) */
.page-category .products .product-miniature,
#js-product-list .products .product-miniature{
  background:#fff;border-radius:8px;overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.10) !important;
  transition:box-shadow .2s ease, transform .2s ease;
}
.page-category .products .product-miniature:hover,
#js-product-list .products .product-miniature:hover{
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
  transform:translateY(-4px);
}

/* Ombre portée plus marquée (override) */
.page-category .products .product-miniature,
#js-product-list .products .product-miniature{
  box-shadow:0 6px 20px rgba(0,0,0,.22) !important;
}
.page-category .products .product-miniature:hover,
#js-product-list .products .product-miniature:hover{
  box-shadow:0 14px 34px rgba(0,0,0,.32) !important;
  transform:translateY(-5px);
}

/* Titre produit en gris foncé */
.page-category .products .product-title,
.page-category .products .product-title a,
#js-product-list .products .product-title,
#js-product-list .products .product-title a{
  color:#333333 !important;
}

/* Titre produit en gris foncé — bonne classe hummingbird */
.product-miniature__title,
a.product-miniature__title,
.product-miniature__title a{ color:#333333 !important; }
.product-miniature__title:hover,
a.product-miniature__title:hover{ color:#000 !important; }
