/* Corrections du gabarit porto, chargées APRÈS les feuilles du thème (scripts Porto/owl-carousel/skeleton retirés). */
[hidden] { display: none !important; }
/* grilles : sans owl-carousel ni « skeleton », les produits sont une grille CSS ordinaire */
ul.products.products-container { display: flex; flex-wrap: wrap; opacity: 1; }
.products-container .product-col { opacity: 1; }
.product-image .inner img, .product-images img, .product_list_widget img { width: 100%; height: auto; opacity: 1; }
.product-image-slider .img-thumbnail { display: block; }
.product-thumbs-slider { display: flex; gap: 8px; margin-top: 8px; }
.product-thumbs-slider .img-thumbnail { flex: 0 0 calc(25% - 6px); cursor: pointer; opacity: .6; }
.product-thumbs-slider .img-thumbnail.selected { opacity: 1; }
/* carrousels de produits (ex owl-carousel) : une ligne qui défile, largeur des cartes = classes ccols-* de Porto */
ul.products[data-slider] { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
ul.products[data-slider]::-webkit-scrollbar { display: none; }
ul.products[data-slider] > li { scroll-snap-align: start; flex-shrink: 0; }
.static-dots { text-align: center; margin-top: 10px; }
.static-dots .owl-dot { background: none; border: 0; padding: 4px; cursor: pointer; }
.static-dots .owl-dot span { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--porto-gray-2, #777); opacity: .5; }
.static-dots .owl-dot.active span { opacity: 1; background: var(--porto-primary-color, #e36159); }
/* image de survol pas encore chargée (src posée par shop.js) : l'image principale reste visible */
.img-effect .hover-image:not([src]) { display: none; }
ul.products .product-image:hover .img-effect:has(.hover-image:not([src])) img { opacity: 1; }
/* zoom de la fiche produit (shop.js) */
.static-zoom { overflow: hidden; cursor: zoom-in; }
.static-zoom img { transition: transform .15s ease-out; }

/* onglets */
.resp-tabs-list li { cursor: pointer; display: inline-block; }
/* stock (catalogue sans achat) */
.product-image .stock.out-of-stock { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 2px 8px; font-size: .75em;
  text-transform: uppercase; background: rgba(0, 0, 0, .7); color: #fff; }
.product-image { position: relative; }
p.stock.out-of-stock { margin: .5em 0 1em; }
/* titre des grilles (absent de l'original : h1 ajouté) */
#content > h1.page-title { font-size: 1.6em; margin: 0 0 .6em; }
.woocommerce-result-count { display: inline-block; margin: 0 0 0 1em; }
/* accroche de l'accueil (ex-Revolution Slider) */
.static-hero { position: relative; }
.static-hero img { display: block; width: 100%; height: auto; }
.static-hero-text { position: absolute; left: 6%; top: 50%; transform: translateY(-50%); max-width: 50%; color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .6); pointer-events: none; }
.static-hero-line-1 { font-size: clamp(1.4rem, 3.2vw, 3rem); font-weight: 700; line-height: 1.1; margin: 0 0 .3em; }
.static-hero-line-2 { font-size: clamp(.9rem, 1.6vw, 1.4rem); margin: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* menu mobile : ouvert par shop.js (classe panel-opened sur <html>, comme Porto) */
html.panel-opened #side-nav-panel { transform: none; visibility: visible; }
html.panel-opened .panel-overlay { opacity: .6; visibility: visible; }
@media (max-width: 991px) {
  html.sidebar-opened .mobile-sidebar { transform: none; visibility: visible; }
}
