/*
 Theme Name:     Ralycane Child
 Theme URI:      https://ralycane.com
 Description:    Thème enfant Divi pour Ralycane
 Author:         Tao Web Marketing
 Template:       Divi
 Version:        1.0.1
 Text Domain:    ralycane-child
*/

/* =============================== */   
/* ===== VARIABLES DE MARQUE ===== */
/* =============================== */

:root {
	/* Vert Ralycane — couleur principale */
	--ral-primary: #30614D;
	--ral-primary-dark: #234838;
	--ral-primary-soft: rgba(48, 97, 77, 0.08);
	--ral-primary-mid: rgba(48, 97, 77, 0.18);

	/* Doré — mise en avant uniquement (badge Promo, date des articles) */
	--ral-accent: #B99344;

	/* Neutres */
	--ral-dark: #1B1B1B;
	--ral-text: #000000;
	--ral-muted: #7A7A7A;
	--ral-border: rgba(27, 27, 27, 0.15);
	--ral-border-strong: rgba(27, 27, 27, 0.28);
	--ral-grey: #F6F6F6;
	--ral-white: #FFFFFF;

	/* Typographie — aligné sur les réglages globaux Divi.
	   Pour des titres serif, ne changez que --ral-font-title. */
	--ral-font-title: 'DM Sans', sans-serif;

	/* Formes et mouvements */
	--ral-radius: 8px;
	--ral-radius-lg: 20px;
	--ral-radius-pill: 100px;
	--ral-shadow: 0px 15px 15px -12px rgba(0, 0, 0, 0.3);
	--ral-shadow-soft: 0px 5px 30px rgba(0, 0, 0, 0.13);
	--ral-transition: .25s ease;
}

/* =============================== */   
/* =========== GENERAL ============ */
/* =============================== */


/* =============================== */   
/* ========= WOOCOMMERCE ========= */
/* =============================== */

/* --- 1.1 Filtres JetSmartFilters ----------------------------------------- */

/* Champ de recherche */
.jet-smart-filters-search {
	padding: 20px 30px !important;
	border: 1px solid var(--ral-border) !important;
	margin-bottom: 25px !important;
	border-radius: 20px !important;
}
.jet-smart-filters-search::before {
	content: "Recherche" !important;
	display: block !important;
	font-size: 18px !important;
	color: var(--ral-text) !important;
	font-weight: 500 !important;
	margin-bottom: 15px !important;
	font-family: "DM Sans" !important;
}
.jet-search-filter,
.jet-search-filter__input-wrapper {
	width: 100% !important;
	display: block !important;
}
.jet-search-filter__input,
.jet-search-filter__input-wrapper input[type="search"] {
	width: 100% !important;
	border: 1px solid var(--ral-border) !important;
	border-radius: var(--ral-radius-lg) !important;
	-webkit-border-radius: var(--ral-radius-lg) !important;
	-moz-border-radius: var(--ral-radius-lg) !important;
	padding: 11px 20px !important;
	font-size: 14px !important;
	font-family: "DM Sans" !important;
	color: var(--ral-text) !important;
	background: transparent !important;
	outline: none !important;
	transition: var(--ral-transition) !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
}
.jet-search-filter__input:focus,
.jet-search-filter__input-wrapper input[type="search"]:focus {
	border-color: var(--ral-primary) !important;
}

/* Bouton Réinitialiser */
.jet-remove-all-filters { margin-top: 10px !important; }
.jet-remove-all-filters__button {
	background: transparent !important;
	color: var(--ral-dark) !important;
	border: 1px solid var(--ral-border) !important;
	border-radius: 0 !important;
	padding: 5px 10px !important;
	font-size: 14px !important;
	font-family: "DM Sans" !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: var(--ral-transition) !important;
	width: auto !important;
	text-align: left !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.jet-remove-all-filters__button:hover {
	color: var(--ral-primary) !important;
	border-color: var(--ral-primary) !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Blocs de filtres */
.jet-smart-filters-radio,
.jet-smart-filters-range {
	padding: 20px 30px !important;
	border: 1px solid var(--ral-border) !important;
	margin-bottom: 25px !important;
	border-radius: 5px !important;
}
.jet-smart-filters-radio .jet-filter-label,
.jet-smart-filters-range .jet-filter-label {
	font-size: 18px !important;
	color: var(--ral-text) !important;
	font-weight: 500 !important;
	margin-bottom: 15px !important;
}

/* Boutons radio */
.jet-radio-list__row { margin: 0 0 1.5em !important; }
.jet-radio-list__label {
	color: var(--ral-text) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
}
.jet-radio-list__input,
.jet-radio-list__checked-icon { display: none !important; }
.jet-radio-list__button {
	display: flex !important;
	align-items: center !important;
	cursor: pointer !important;
}
.jet-radio-list__decorator {
	width: 15px !important;
	height: 15px !important;
	border-radius: 3px !important;
	border: 2px solid var(--ral-border-strong) !important;
	background-color: var(--ral-white) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-right: 7px !important;
	flex-shrink: 0 !important;
	transition: all .2s ease-in-out !important;
}
.jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__decorator {
	border: 7.7px solid var(--ral-primary) !important;
	background-color: var(--ral-primary) !important;
	background-image: none !important;
}

/* Curseur de prix */
.jet-range__slider__track {
	background: #E0E0E0 !important;
	height: 4px !important;
	border-radius: var(--ral-radius-pill) !important;
}
.jet-range__slider__track__range {
	background: var(--ral-primary) !important;
	height: 4px !important;
	border-radius: var(--ral-radius-pill) !important;
	position: absolute !important;
	left: var(--low) !important;
	right: calc(100% - var(--high)) !important;
	transition: var(--ral-transition) !important;
}
.jet-range__slider__input {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	pointer-events: none !important;
}
.jet-range__slider__input::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: var(--ral-radius-pill) !important;
	background: var(--ral-primary) !important;
	border: none !important;
	box-shadow: 0 0 0 3px var(--ral-primary) !important;
	cursor: pointer !important;
	pointer-events: all !important;
	transition: var(--ral-transition) !important;
}
.jet-range__slider__input::-moz-range-thumb {
	width: 10px !important;
	height: 10px !important;
	border-radius: var(--ral-radius-pill) !important;
	background: var(--ral-primary) !important;
	border: none !important;
	box-shadow: 0 0 0 3px var(--ral-primary) !important;
	cursor: pointer !important;
	pointer-events: all !important;
	transition: var(--ral-transition) !important;
}
.jet-range__slider__input::-webkit-slider-thumb:hover { box-shadow: 0 0 0 5px var(--ral-primary) !important; }
.jet-range__values {
	text-align: center !important;
	font-size: 17px !important;
	margin-top: 25px !important;
	color: var(--ral-text) !important;
	font-weight: bold !important;
}


/* --- 1.2 Grille Produits Woo - Format vignette personnalisé----------------------------------------- */

 
/* Titre du produit */
.et_pb_shop .woocommerce-loop-product__title {
	font-size: 18px !important;
	text-align: center;
}
 
/* Prix */
.et_pb_shop .price {
	text-align: center;
	font-size: 17px !important;
	font-weight: bolder !important;
	color: var(--ral-text) !important;
}
 
.woocommerce ul.products li.product .price { 
	color: var(--ral-text) !important; 
}
 
/* Masque l'overlay de Divi */
.et_pb_shop .et_overlay { 
	display: none !important; 
}
 
/* Vignettes produits arrondies */
.woocommerce ul.products li.product a img { 
	border-radius: 30px !important; 
}
 
/* Carte produit — conteneur */
.et_pb_shop .woocommerce ul.products li.product {
	position: relative;
	transition: var(--ral-transition);
	border-radius: 6px;
	padding-bottom: 20px;
}
 
/* Effet survol de la carte */
.et_pb_shop .woocommerce ul.products li.product:hover {
	transform: scale(1.02);
	background: var(--ral-white);
}
 
/* Mobile — une carte par ligne */
@media only screen and (max-width: 479px) {
	.et_pb_shop .woocommerce ul.products li.product { 
		width: 100% !important; 
	}
}
 
 
/* --- BADGE PROMO --- */
 
.woocommerce ul.products li.product .onsale {
	left: 0px !important;
	right: auto !important;
	top: 0 !important;
	margin: 0 !important;
	font-size: 13px;
	width: fit-content;
	padding: 2px 10px !important;
	border-radius: 6px 0 7px 0 !important;
	background: var(--ral-accent) !important;
	color: var(--ral-white) !important;
}
 
 
/* --- BOUTON FAVORIS (WISHLIST) — Posé sur l'image --- */
 
.et_pb_shop .tinvwl_add_to_wishlist-text { 
	display: none; 
}
 
.et_pb_shop .tinv-wraper.tinv-wishlist {
	font-size: 100%;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 9;
}
 
/* Icône cœur — État par défaut */
.et_pb_shop .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list::before,
.et_pb_shop .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart::before {
	color: var(--ral-white);
	background: var(--ral-primary);
	padding: 5px;
	border-radius: var(--ral-radius-pill);
	position: relative;
	top: -10px;
	transition: var(--ral-transition);
}
 
/* Icône cœur — État hover */
.et_pb_shop .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:hover::before,
.et_pb_shop .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:hover::before {
	color: var(--ral-primary) !important;
	background: var(--ral-white) !important;
	box-shadow: inset 0 0 0 1px var(--ral-primary);
}
 
/* Animation générale du bouton */
ul.products li.product .tinvwl_add_to_wishlist_button { 
	transition: var(--ral-transition); 
}
 
ul.products li.product .tinvwl_add_to_wishlist_button:hover { 
	transform: scale(1); 
}
 
 
/* --- BOUTON PANIER — Posé sur l'image --- */
 
.woocommerce ul.products li.product .add_to_cart_button,
.et_pb_shop .add_to_cart_button {
	font-size: 0px !important;
	position: absolute !important;
	top: 50px !important;
	right: 15px !important;
	height: 30px;
	width: 30px !important;
	color: var(--ral-white) !important;
	background: var(--ral-primary) !important;
	transition: none !important;
}
 
/* Bouton panier — État hover */
.et_pb_shop .add_to_cart_button:hover {
	transform: none !important;
	padding: 0 !important;
	color: var(--ral-primary) !important;
	border: 1px solid var(--ral-primary) !important;
	background: var(--ral-white) !important;
}
 
/* Icône du bouton panier (et états) */
.et_pb_shop .add_to_cart_button:after,
.et_pb_shop .add_to_cart_button.added:after,
.et_pb_shop .add_to_cart_button.loading:after {
	opacity: 1 !important;
	font-family: ETModules !important;
	font-size: 15px !important;
	right: 8px;
	top: 7px;
}
 
.et_pb_shop .add_to_cart_button:after         { content: "\e013" !important; }      /* Icône panier */
.et_pb_shop .add_to_cart_button.added:after   { content: "\4e" !important; }         /* Icône validé */
.et_pb_shop .add_to_cart_button.loading:after { content: "\e02d" !important; right: 7px !important; } /* Icône chargement */
 
 
/* --- CORRECTION DE L'ÉCHELLE AU HOVER --- */
 
/* Neutralise le décalage dû au scale(1.02) de la carte à l'affichage des boutons */
.et_pb_shop .woocommerce ul.products li.product:hover .add_to_cart_button,
.et_pb_shop .woocommerce ul.products li.product:hover .tinv-wraper.tinv-wishlist {
	transform: scale(0.9804) !important;
	transform-origin: top right !important;
}
 
 
/* --- LIEN « VOIR LE PANIER » APRÈS AJOUT --- */
 
.et_pb_shop a.added_to_cart {
	position: absolute;
	bottom: 91px;
	right: 0px;
	display: block;
	background: var(--ral-primary);
	color: var(--ral-white) !important;
	padding: 5px 20px;
	border-radius: 7px 0px 0px 0px;
	box-shadow: var(--ral-shadow-soft);
	transition: var(--ral-transition);
}
 
.et_pb_shop a.added_to_cart:hover { 
	background: var(--ral-primary-dark) !important; 
}
 
 
/* ==========================================================================
   SÉLECTEURS CLÉS À CONNAÎTRE
   ========================================================================== */
 
/*
   .et_pb_shop                          = conteneur du module Shop
   .woocommerce ul.products             = grille des produits
   ul.products li.product               = chaque carte produit
   .woocommerce-loop-product__title     = titre du produit
   .price                               = prix du produit
   .onsale                              = badge promo
   .add_to_cart_button                  = bouton panier
   .tinv-wraper.tinv-wishlist           = bouton favoris (si plugin actif)
   a.added_to_cart                      = lien après ajout au panier
*/
 


/* FIN DU CODE */