/* 
Theme Name:     Hello Au Bec Fin 12 Child
Theme URI:      https://formacrea.fr
Description:    Thème FORMACREA
Author:         FORMACREA
Author URI:     https://formacrea.fr
Template:       hello-elementor
Version:        1.0.1
*/

body{
	overflow-x: hidden;
}
.text-center{
	text-align: center;
}

h1.entry-title, div.entry-title h1, h1.woocommerce-products-header__title{
	font-family: var(--e-global-typography-secondary-font-family);
	font-weight: bold;
	text-transform: uppercase;
	font-size: 3.5rem;
	text-align: center;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.75);
	padding: 25px 0;
	
}

.elementor-mark-required .elementor-field-label:after{
	color: #AE0D2A; 
	content: "* obligatoire";
	font-size: .7em;
}
header nav button.e-n-menu-toggle, header nav button.e-n-menu-toggle:hover, header nav button.e-n-menu-toggle:focus, header nav button.e-n-menu-toggle:active{
	background: transparent;
	border-radius: 0;
}

header .hamburger-toggler__container:before, header .elementor-menu-toggle:before, header .e-n-menu-toggle-icon:before{
	content: "Menu";
	margin-right: 0.5em;
	font-family: var(--e-global-typography-accent-font-family);
	color: var(--e-global-color-secondary);
}
header .e-n-menu-item{
	
}
.backdrop-blur{
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* ==========================================================================
   HEADER RESPONSIVE (Au Bec Fin)
   ========================================================================== */

/* 1. DESKTOP (PC) : Disposition en CSS Grid
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	/* Conteneur Parent Header */
	.header {
		display: grid !important;
		grid-template-columns: 15% 65% 15% !important;
		grid-template-rows: auto auto !important;
		grid-template-areas:
			"logo search icons"
			"logo nav    icons" !important;
		align-items: stretch !important;
		justify-items: stretch;
	}
	.c-logo, .c-search, .c-icons, .c-nav{
		
	}
	/* Assignation des blocs aux zones de la grille */
	.header .c-logo   { grid-area: logo !important; }
	.header .c-search { grid-area: search !important; }
	.header .c-icons  { grid-area: icons !important; }
	.header .c-nav    { grid-area: nav !important; }
	
	/* Reset des largeurs flex pour les autres sous-conteneurs */
	.header .c-logo, 
	.header .c-search,
	.header .c-icons,
	.header .c-nav {
		width: auto !important;
		max-width: 100% !important;
	}
	
	/* Contrainte pour que l'image ne dépasse jamais */
	.header .c-logo img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
	}
	
	.header .c-search .elementor-widget-search{
		width: 50%;
		margin: auto;
	}
}




@media (min-width: 767px){
	.logo img {
		max-width: 100%;
		transition: all 1s;
	}
	.logo img.small-logo {
		max-width: 50%;
		transition: all 1s;
	}
}
.under-construction .logo img {
		max-width: 66%;
		transition: all 1s;
	}
.under-construction .logo img.small-logo {
	max-width: 25%;
	transition: all 1s;
}

/* ********************************************************************************************************************************************************** */


.elementor-wc-products ul.products li.product span.onsale, 
.woocommerce span.onsale{
	left: auto !important;
	right: 0 !important; 
	top: 0em !important;
	margin: 0 !important;
	padding: 0.5em 1em !important;
	border-radius: 50px 0 0 50px;
	background-color: var(--e-global-color-primary);
	color: white;
	line-height: 1em;
	min-height: 1em;
	z-index: 1;
}

#payment .payment_method_woocommerce_payments .testmode-info{
	color: var(--e-global-color-5396e79);
	animation: flash 5s infinite ease-in-out;
}
.header-modal .elementor-nav-menu--dropdown{
	font-size: 1em;
}
header .elementor-menu-toggle:before{
	content: "MENU";
	font-family: inherit;
	font-size: 15px;
	margin-right: 7px;
}
.flash {
	animation: flash 5s infinite ease-in-out;
}
@keyframes flash {
	0%, 10%, 20%, 30% {
		opacity: 1;
	}
	05%, 15%, 25% {
		opacity: 0;
	}
} 

body:not(.post-type-archive-product):not(.tax-product_cat):not(.single-partenaires):not(.home) footer.elementor-location-footer{
	margin-top: 150px;
}
.woocommerce div.product div.images{
	margin-bottom: 0.5em;
}





body.post-type-archive-bonnes-tables .e-loop-item:nth-child(odd) > .elementor-element:first-of-type .e-con-inner,
body .loop-bonnes-tables .e-loop-item:nth-child(odd) > .elementor-element:first-of-type .e-con-inner{
	flex-direction: row;
}
body.post-type-archive-bonnes-tables .e-loop-item:nth-child(even) > .elementor-element:first-of-type .e-con-inner,
body .loop-bonnes-tables .e-loop-item:nth-child(even) > .elementor-element:first-of-type .e-con-inner{
	flex-direction: row-reverse;
}


body.single-product .custom-products-metas a{
	display: inline;
}
.elementor-menu-cart__container{
	height: 100vh;
}

body.home .hero-section{
	aspect-ratio: 8/3;
	justify-content: center;
	align-content: center;
}

body.home .hero-section-portrait{
	aspect-ratio: 9/16;
	justify-content: center;
	align-content: center;
}

body.home .elementor-widget-slides{
	aspect-ratio: 8/3;
	max-height: 100%;
}
body.home .swiper-slide, body.home .elementor-swiper, body.home .elementor-slides-wrapper{
	max-height: 100% !important;
}
body.home .swiper-slide-inner{
	aspect-ratio: 8/3;
	max-height: 100%;
	margin: 0 auto;
}

body.home .hero .elementor-slide-heading{
	padding: 1.5em;
	border-radius: 0.5em;
	background-color: rgba(255,255,255,0.5); 
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}


input[type="radio"] {
  accent-color: #B5A483;
}


.ti-widget.ti-goog .ti-rating-text, .ti-widget.ti-goog .ti-rating-text strong:not(.ti-rating-large), .ti-widget.ti-goog .ti-rating-text strong a, .ti-widget.ti-goog .ti-rating-text strong span, .ti-widget.ti-goog .ti-rating-text span strong, .ti-widget.ti-goog .ti-rating-text span, .ti-widget.ti-goog .ti-footer, .ti-widget.ti-goog .ti-footer strong:not(.ti-rating-large), .ti-widget.ti-goog .ti-footer span, .ti-widget.ti-goog .ti-footer strong a{
	color: white !important;
}

@media (min-width: 1650px){
	.horaires-boutiques li:first-of-type {
		width:  30%;
		justify-content: flex-end;
		text-align: right;
	}
}
@media (max-width: 1650px){
	.horaires-boutiques li:first-of-type {
		width:  100%;
		justify-content: flex-start;
		text-align: left;
	}
}

.product_shipping_class-frais .woocommerce-product-gallery, 
body.archive .product_shipping_class-frais img{
	
}
.woocommerce ul.products li.product.product_shipping_class-frais a {
    position: relative;
}
.product_shipping_class-frais > a::after,
.product_shipping_class-frais .woocommerce-product-gallery__wrapper::after{
	content: " ";
	display: block;
	position: absolute;
	top: -5px;
	left: -5px;
	aspect-ratio: 1 / 1;
	background: url("/images/AU-BEC-FIN-produit-frais.svg") no-repeat bottom right;
	background-size: 50%;
	width: 100%;
	z-index: 1;
}
li.menu-item.produit-frais a::after {
	content: " ";
	display: block;
	position: relative;
	background: url(/images/AU-BEC-FIN-produit-frais.svg) no-repeat top center;
	background-size: contain;
	aspect-ratio: 3 / 1;
	height: 35px;
	margin-right: 0.5em;
	opacity: 1 !important; 
}




.product_tag-fabrique-en-aveyron > a::before,
.product_tag-fabrique-en-aveyron .woocommerce-product-gallery__wrapper::before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	width: 100px;
	max-width: 30%;
	aspect-ratio: 1 / 1;
	background: url(/images/logo-FabriqueAveyron.png) no-repeat top center;
	background-size: contain;
	z-index: 1;
}

body.term-fabrique-en-aveyron .term-description::after{	
	content: " ";
	display: block;
	top: 0;
	width: 350px;
	max-width: 75%;
	margin: auto;
	aspect-ratio: 1 / 1;
	background: url(/images/logo-FabriqueAveyron.png) no-repeat top center;
	background-size: contain;
	z-index: 1;
}
li.menu-item.fabrique-en-aveyron a::before {
	content: " ";
	display: block;
	position: relative;
	background: url(/images/logo-FabriqueAveyron.png) no-repeat top center;
	background-size: contain;
	aspect-ratio: 1 / 1;
	width: 35px;
	margin-right: 0.5em;
	opacity: 1 !important; 
}



.woocommerce .quantity .qty{
	width: 5em;
	text-align: left;
}

.e-cart-content.woocommerce-cart-no-shipping-available-html {
	color: #94151E;
}



.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button{
	margin-bottom: 1.5em;
}
.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr td:before, .elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr td:before{
	background: white;
}
.elementor-widget-woocommerce-cart .woocommerce .coupon-col{
	align-items: center;
}


.woocommerce ul#shipping_method li{
	margin: 1em 0;
	padding:  1em;
	border-radius: 2em;
	transition: all .2s;
}
.woocommerce ul#shipping_method li:first-of-type{
	margin-top: 2em;
}

.woocommerce ul#shipping_method li:has(input:checked){
	background-color: #E7E3D8;
}

[type=button], [type=submit], button{
	border: none;
}




/* Remplacement de l'icône WooCommerce info par le i cerclé Font Awesome */
/* Surcharge avec une forte spécificité CSS */
.elementor .woocommerce-info::before,
.e-wc-info-notice .woocommerce-info::before,
.woocommerce-info::before {
    content: "\f05a" !important;
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 300 !important; /* Graisse 300 = Light (fal) */
    display: inline-block !important;
}




.sommaire-mentions-legales .elementor-toc__list-item-text-wrapper, 
.sommaire-CGV .elementor-toc__list-item-text-wrapper {
	align-items: flex-start;
}



ul.page-numbers{
	border-radius: 50px;
}
ul.page-numbers li:first-child, ul.page-numbers li:first-child span{
	border-radius: 50px 0 0 50px;
}
ul.page-numbers li:first-child span, ul.page-numbers li:first-child a{
	border-radius: 50px 0 0 50px;
	padding-left: 25px !important;
}

ul.page-numbers li:last-child,  ul.page-numbers li:last-child span{
	border-radius: 0 50px 50px 0;
}

ul.page-numbers li:last-child span, ul.page-numbers li:last-child a{
	padding-right: 25px !important;
}







.container-timeline .elementor-icon-box-wrapper {
    position: relative;
    padding-bottom: 0.5em 
}
.container-timeline .elementor-icon-box-wrapper::after {
    content: '';
    position: absolute;
    left: 50%; 
    top: 100%; 
    transform: translateX(-50%);
    width: 3px; 
    height: 100%; 
    background-color: var(--e-global-color-secondary);
}

@media (max-width: 768px) {
    .container-timeline .elementor-icon-box-wrapper::after {
        display: none;
    }
	.container-timeline .elementor-image-box-img img{
		margin: auto;
	}
}


