/*
Theme Name: Divi Community Child Theme
Description: Theme enfant de Divi par Divi Community
Author: Julien - WebMate
Author URI: https://www.divi-community.fr
Template: Divi
Version: 1.2
*/

.dc-centrer-verticalement {
	display: flex;
	flex-direction: column;
	justify-content: center;
  	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	 -moz-box-orient: vertical;
	 -moz-box-direction: normal;
	  -ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}


/*
** INVERSER LE SENS DES COLONNES SUR MOBILE
** Voir tuto : https://www.divi-community.fr/snippets-divi/inverser-ordre-des-colonnes-sur-mobile
*/

@media only screen and (max-width : 980px) {
	.dc-inverser-colonnes--section .dc-inverser-colonnes--ligne {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}


/*
** MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer
*/

.et_mobile_menu {
	margin-left: -30px;
	padding: 5%;
	width: calc( 100% + 60px);
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}


/* 
** AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA 
** Parfois, suivant la taille du texte, certains chiffres du résultat sont masqués
*/
.et_pb_contact_right p input {
	max-width: 50px;
}


/*
** METTRE EXPOSANTS ET INDICES À LA BONNE TAILLE
** Généralement, ils sont bien trop gros…
*/
sup, sub {
    font-size: 70%;
}

/* Conteneur parent */
.row {
  display: flex;
  flex-wrap: wrap;
  margin: -10px; /* Aligné avec le padding des colonnes */
}

/* Base des colonnes */
.col {
  box-sizing: border-box;
  padding: 10px;
  width: 100%; /* Mobile first : pleine largeur */
}

/* Desktop (Tablettes et plus) */
@media (min-width: 768px) {
  .one-half      { width: 50%; float:left; padding:20px;}
  .one-third     { width: 33.33%;float:left; padding:20px; }
  .two-thirds    { width: 66.66%;float:left;padding:20px;  }
  
}

.ppcp-messages {
	margin-top:20px!important;
}

.product-category img, .product img {
    margin-bottom: 10px;
}
.woocommerce-loop-category__title, .woocommerce-loop-product__title {
    text-align: center;
    font-size: 16px !important;
	font-weight: bold;
}
/* Masquer la pagination classique si l'infinite scroll est actif */
.woocommerce-pagination {
    display: none;
}
.divi-custom-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #2ea3f2; /* Couleur bleu Divi */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 10px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#infinite-loader p {
    font-size: 14px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.product-category mark.count, 
.product-category .count {
    display: none !important;
}
.subcat-filter-bar{
	display:flex; 
	gap:10px; 
	flex-wrap:wrap; 
	margin-bottom:30px;
}
.subcat-filter-bar a,
.back-button{
	padding:8px 20px; 
	border:1px solid #0d1b2b; 
	border-radius:30px; 
	text-decoration:none; 
	color:#fff; 
	background:#0d1b2b; 
	font-weight:bold;
}
.subcat-filter-bar a.active,
.subcat-filter-bar a:hover,
a.back-button:hover{
    background:#fff;
    color:#0d1b2b;
    border-color:#333;
}

/* Style des labels (les titres des champs) */
.wpcf7 label {
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    display: block;
    font-family: inherit;
}

/* Style des champs de saisie */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e1e1e1;
    border-radius: 8px;
    background-color: #f9f9f9;
    transition: all 0.3s ease;
    outline: none;
    box-sizing: border-box;
}

/* Effet au clic (focus) sur un champ */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-color: #000; /* Ou la couleur dominante de ton logo */
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(0,0,0,0.05);
}

/* Style du bouton d'envoi */
.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-file {
    background-color: #0d1b2b;
    color: #fff;
    padding: 15px 40px;
    border: none;
    border-radius: 50px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: transform 0.2s, background 0.3s;
    display: inline-block;
}

/* Effet au survol du bouton */
.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-file:hover{
    background-color: #333;
    transform: translateY(-2px);
}

/* Ajustement pour les deux colonnes sur desktop */
@media (min-width: 768px) {
    .wpforms-field-row {
        display: flex;
        gap: 20px;
    }
    .wpforms-field-row-column {
        flex: 1;
    }
}

