/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.9.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

html{
	margin-top:0!important;
}

[data-term-id="38"]{
	display:none!important;
}

.no-spec{
	color:#000000AD;
}

.product-specifications td,
.product-specifications th{
	border-left:0px!important;
	border-right:0px!important;
	background-color:transparent!important;
	padding:8px 0;
	font-family: "Minion Pro", serif;
    font-size: 15px;
    font-weight: 300;
}

.product-specifications .spec-name{
	width:37%;
	min-width:37%;
	padding-right:8px;
}

.product-specifications .spec-value{
	width:63%;
	min-width:63%;
}

.product-specifications th:last-child,
.product-specifications td:last-child{
	padding-right:0;
}

.product-specifications tr{
	border-left:0px!important;
	border-right:0px!important;
	background-color:transparent!important;
}

.elementor-slideshow__footer{
	display:none!important;
}

.dialog-type-lightbox {
	background-color:#f2f2f2!important;
}

.elementor-lightbox .elementor-lightbox-image{
	box-shadow:none!important;
}

.new-product::after {
    content: 'New';
    position: absolute;
    left: 0;
    top: 12px;
    background: black;
    z-index: 2;
    color: white;
    line-height: 1;
    padding: 6px 10px;
    font-size: 13px;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
}

.elementor-lightbox .elementor-swiper-button-next,
.elementor-lightbox .elementor-swiper-button-prev{
    cursor: pointer;
    display: inline-flex;
    font-size: 25px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.elementor-lightbox .elementor-swiper-button-next::after,
.elementor-lightbox .elementor-swiper-button-prev::after{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	right:0;
	top:0;
	margin:auto;
	height:64px;
	min-height:64px;
	width:64px;
	min-width:64px;
	    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-right'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
}

.elementor-lightbox .elementor-swiper-button-prev::after{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-left'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E");
}

.dialog-close-button.dialog-lightbox-close-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
    content: '';
    height:36px;
	min-height:36px;
	width:36px;
	min-width:36px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
	    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.dialog-close-button.dialog-lightbox-close-button{
	height:36px;
	min-height:36px;
	width:36px;
	min-width:36px;
}

.elementor-lightbox .elementor-swiper-button-prev svg,
.elementor-lightbox .elementor-swiper-button-next svg,
.dialog-close-button.dialog-lightbox-close-button svg{
	display:none!important;
}

#loading-products{
	padding:100px 25px;
	display:block;
	margin:auto;
	width:100%;
	min-width:100%;
	position:relative;
	text-align:center;
	display:none;
}

#loading-products svg{
	width:35px;
	height:35px;
	max-width:35px;
	max-height:35px;
	min-width:35px;
	min-height:35px;
	animation: rotate 2s linear infinite;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.sub-arrow {
	display:none!important;
}

.elementor-editor-active header {
    display: none;
}

.nothing-found,
#no-products-message {
    line-height: 1.5;
    color: #999;
    text-decoration: none;
    text-align: left;
    font-family: "Minion Pro", serif;
    font-size: 16px;
    font-weight: 300;
}

#no-products-message {
	display:none;
}

/* SEARCH */

.search-form{
	position:relative;
	display:block;
}

.search-form input[type='search']{
	background:transparent;
	color:black;
	border:none;
	border-radius:0;
	border-bottom:1px solid black;
	padding:0 55px 0 18px;
	outline:none;
    line-height: 1.3;
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 400;
	height:75px;
	position:absolute;
	width:100%;
	min-width:100%;
	display:block;
}

.search-form [type='submit']{
	position:absolute;
	width:75px;
	height:75px;
	background-color:transparent!important;
	color:white;
	display:flex;
	align-items:center;
	justify-content:center;
	outline:none;
	background-image:url('https://arcane.idclic.dev/wp-content/uploads/2025/10/search-icon.svg');
	background-size:40%;
	background-position:center;
	background-repeat:no-repeat;
	right:0;
	z-index:99;
	border:none;
}

.home header #logo,
.home header #search,
.home header #navigation{
	filter: brightness(0) invert(1);
}

header #search{
	cursor:pointer;
	transition:transform ease .5s;
}

header #search:hover,
header #search:focus,
header #search:active{
	transform:scale(1.25);
}

.navigation .active > a span{
	color:black!important;
}

.home header #navigation .active a span,
.home header #navigation .active a span{
	color:white!important;
}

.product-categories-menu {
	display:none;
}

.elementor-widget-text-editor a,
.elementor-text-editor a{
  position: relative!important;
  color:#000!important;
  text-decoration: none!important;
}

.elementor-widget-text-editor a::after,
.elementor-text-editor a::after {
  content: '';
  position: absolute!important;
  left: 0%!important;
  bottom: -3px!important;
  width: 0%!important;
  height: 0px!important;
  max-height: 0px!important;
  min-height: 0px!important;
  padding: 0!important;
  transition: all 0.25s ease!important;
  border-bottom:1px solid #000!important;
}

.elementor-text-editor a:hover::after,
.elementor-widget-text-editor a:hover::after{
  width:100%!important;
}

/* Animation fade + slide */
@keyframes slideFadeIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Classe appliquée par JS */
.menu-animated li {
  opacity: 0; /* état initial */
}

/* Animation appliquée dynamiquement */
.menu-animated li.visible {
  animation: slideFadeIn 0.6s ease forwards;
}

.woocommerce-shop .product-categories-menu,
.tax-product_cat .product-categories-menu,
.elementor-item-active.has-submenu ~ .sub-menu,
.tax-product_cat .shop-link .sub-menu,
.woocommerce-shop .shop-link .sub-menu{
    display: block!important;
    position: relative!important;
	width:100%!important;
	background:transparent!important;
}

.product-categories-menu a{
	color: #00000096;
    fill: #00000096;
    padding-left: 0px!important;
    padding-right: 0px!important;
    padding-top: 5px!important;
    padding-bottom: 0px!important;
	font-family: "Minion Pro", serif;
    font-size: 15px;
    font-weight: 500;
}

/* Wrapper */
.cpm-wrapper { margin: 0 0 2rem 0; }

/* Grid / Masonry */
.cpm-grid { position: relative; }

#masonry-grid-single-product .cpm-grid{
	margin-left:-10px;
}

/* grid items : donne la même largeur que la sizer */
.cpm-grid-item {
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.6s ease;
  /*float: left;*/ /* permet un rendu correct avant Masonry */
}

#masonry-grid-single-product .cpm-grid-item {
  padding-left: 10px;   /* espacement horizontal */
  padding-bottom: 10px; /* espacement vertical */
}

/* quand l'image est prête / visible */
.cpm-grid-item.is-loaded,
.cpm-grid-item.is-visible {
  opacity: 1;
}

/* image styles — conserve proportions */
.cpm-grid-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  vertical-align: bottom;
}

.cpm-item-link{
	overflow:hidden;
	display:block;
	position:relative;
	height:100%!important;
	min-height:100%!important;
}

.cpm-grid-item:hover img,
.cpm-grid-item:focus img,
.cpm-grid-item:active img{
    transform: scale(1.05);
}

.cpm-item-link img{
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* title */

.cpm-item-title a { color: inherit; text-decoration: none; }

.cpm-grid-item:hover .cpm-item-title,
.cpm-grid-item:focus .cpm-item-title,
.cpm-grid-item:active .cpm-item-title{
	opacity:1!important;
}

/* Conteneur de la grille */
.category-products-grid {
  display: grid;
  gap: 0 50px;
}

/* Définir les colonnes dynamiquement selon le shortcode (3 par défaut) */
.category-products-grid.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.category-products-grid.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.category-products-grid.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Élément produit */
.category-products-grid .product-item {
  text-align: center;
  overflow: hidden;
}

/* Image ratio fixe 4:5 */
.category-products-grid .product-image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5; /* garde le format 4x5 */
  overflow: hidden;
  border-radius: 0px;
  background: #f8f8f8;
}

.category-products-grid .product-image {
  width: 100%;
  height: 100%;
  object-fit: cover; /* conserve ratio sans distorsion */
  transition: transform 0.4s ease;
}

.category-products-grid .product-item:hover .product-image,
.category-products-grid .product-item:focus .product-image,
.category-products-grid .product-item:active .product-image{
  transform: scale(1.05);
}

/* Titre */
.category-products-grid .product-title,
.cpm-item-title {
    margin-top: 8px;
	margin-bottom:16px;
    line-height: 1.3;
    color: #222;
    text-decoration: none;
    text-align: left;
    font-family: "Minion Pro", serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
	opacity:0;
	transition: opacity ease .4s;
}

.category-products-grid .product-item:hover .product-title,
.category-products-grid .product-item:focus .product-title,
.category-products-grid .product-item:active .product-title{
	opacity:1;
}

/* Liens */
.category-products-grid .product-link {
  text-decoration: none;
  color: inherit;
}

/* État initial (invisible et légèrement en bas) */
.category-products-grid .product-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Quand visible → fade-in + remonte */
.category-products-grid .product-item.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1250px) {
  .category-products-grid.columns-4{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  .category-products-grid.columns-4, .category-products-grid.columns-3 {
    grid-template-columns: repeat(2, 1fr);
  }
	.category-products-grid {
		gap:0 25px;
	}
	.category-products-grid .product-item:hover .product-image,
.category-products-grid .product-item:focus .product-image,
	.category-products-grid .product-item:active .product-image,
	.cpm-grid-item:hover img,
.cpm-grid-item:focus img,
.cpm-grid-item:active img{
		transform:none!important;
	}
	.cpm-item-title, .menu-animated li, .category-products-grid .product-title{
		opacity:1!important;
	}
}
@media (max-width: 768px) {
  .category-products-grid.columns-4, .category-products-grid.columns-3, .category-products-grid.columns-2 {
    grid-template-columns: 1fr;
  }
}