/*
Theme Name: Hello Elementor Child
Theme URI: https://studionumerik.fr/
Description: Hello Elementor Child Theme
Author: Studio Numerik
Author URL: https://studionumerik.fr/
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URL: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hello-elementorchild
*/
/* Placer votre CSS ci-dessous */

* {
	scroll-margin-top: var(--height-header);
}

body { 
	/* add because waves svg is 100vw */
    overflow-x: clip; 
}

.woocommerce-js h2,
.woocommerce-js h3 {
	margin-bottom: 0;
}

p:last-child {
	margin-bottom: 0 !important;
}

span,
.elementor-widget-shortcode {
	line-height: 1;
}

.elementor-widget-theme-post-content,
.elementor-widget-text-editor {
	h2,
	h3,
	h4,
	h5,
	h6 {
		margin-bottom: 0.5em;
		margin-top: 1em;
	}

	h2:first-child,
	h3:first-child,
	h4:first-child,
	h5:first-child,
	h6:first-child {
		margin-top: 0;
	}

	.wp-block-gallery {
		--wp--style--block-gap: 47px;
	}

	.is-provider-youtube .wp-block-embed__wrapper,
	.wp-block-image {
		overflow: hidden;
		border-radius: 15px;
	}

	.wp-block-list {
		margin-bottom: 20px;
	}

	/* gallery figcaption */
	.wp-block-gallery {
		.blocks-gallery-caption {
			border-left: 4px solid var(--e-global-color-0c6661a);
			padding: 7px 22px 7px;
			font-size: 14px;
			font-style: italic;
			text-align: left;
			color: #000;
			margin-top: calc(13px + (var(--wp--style--block-gap) * -1));
		}
	}

	.wp-block-image {
		margin-top: 40px;
		margin-bottom: 40px;

		img {
			width: 100%;
			border-radius: 15px;
		}

		&:first-child {
			margin-top: 0;
		}

		&:last-child {
			margin-bottom: 0;
		}
	}
}

/* Link */
a {
	color: currentColor;
}

.showlogin:hover {
	color: currentColor;
}

.woocommerce-form a:not(button):not(.elementor-button):not(.button),
.woocommerce-MyAccount-content a:not(.edit):not(.download-file):not(.button),
.woocommerce-dashboard-intro a,
.woocommerce-terms-and-conditions-link,
#cmplz-document a {
	color: #000 !important;
}

.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a,
.elementor-widget-theme-post-excerpt a,
.woocommerce-form a:not(button):not(.elementor-button):not(.button),
.woocommerce-MyAccount-content a:not(.edit):not(.download-file):not(.button),
.woocommerce-dashboard-intro a,
.woocommerce-terms-and-conditions-link,
#cmplz-document a,
.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links a {
	color: currentColor;
	text-underline-offset: 3px;
	text-decoration-thickness: 2px;
	text-decoration-line: underline;
	text-decoration-color: var(--e-global-color-0c6661a);
	transition: all ease 500ms;
	font-weight: 600;

	&:hover {
		text-decoration-color: #000;
	}

	&[target="_blank"]:after {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 5H8.2c-1.12 0-1.68 0-2.108.218a1.999 1.999 0 0 0-.874.874C5 6.52 5 7.08 5 8.2v7.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874c.427.218.987.218 2.105.218h7.606c1.118 0 1.677 0 2.104-.218.377-.192.683-.498.875-.874.218-.428.218-.987.218-2.105V14m1-5V4m0 0h-5m5 0-7 7'/%3E%3C/svg%3E");
		display: inline-block;
		width: 1em;
		height: 1em;
		font-size: 76%;
		margin-left: 2px;
	}
}

/* image card format different on mobile  */
.img-card-recipe-advice {
	@media (max-width: 767px) {
		aspect-ratio: 174 / 255;
	}
}

/* btn icons size */

/* icons */
.elementor-icon-wrapper,
i {
	line-height: 1;
	display: flex;
	align-items: center;
}

/* header active menu */
.elementor-widget-nav-menu .current-menu-item a {
	font-weight: bold !important;
}

.elementor-widget-nav-menu a,
.shop-link a {
	display: inline-block;
	font-style: normal;
	text-decoration: none;
}

.elementor-widget-nav-menu a:before,
.shop-link a:before {
	content: "";
	width: 0;
	height: 1px;
	background: currentcolor;
	position: absolute;
	left: 0;
	bottom: -1px;
	opacity: 1;
	transition: all ease 500ms;
}

.elementor-widget-nav-menu a:hover,
.shop-link a:hover {
	&:before {
		width: 100%;
	}
}

/* Breadcrumbs */
.breadcrumb_last {
	font-weight: bold;
}

/* ------- FORM WOOCOOMERCE  */
/* hide label form address */
.wooccm-field label {
	display: none !important;
}

.woocommerce form .form-row label {
	line-height: 1.1;
}

/* hide label on form login */
.e-login-wrap label:not(.woocommerce-form__label-for-checkbox) {
	display: none !important;
}

/* hide label on form login and register page */
.woocommerce
	form
	.form-row
	label:not(.woocommerce-form__label-for-checkbox):not(.checkbox),
.woocommerce-page
	form
	.form-row
	label:not(.woocommerce-form__label-for-checkbox):not(.checkbox) {
	display: none;
}

.create-account label {
	display: block !important;
}

.woocommerce form .form-row {
	margin-bottom: 26px;
	padding: 0;
}

/* input checkbox */

.woocommerce-form__label-for-checkbox {
	position: relative;
}

.woocommerce-form__label-for-checkbox .input-checkbox,
.woocommerce form .form-row label.checkbox .input-checkbox,
.woocommerce-page form .form-row label.checkbox .input-checkbox,
.woocommerce-SavedPaymentMethods li input,
.woocommerce-SavedPaymentMethods-saveNew input,
.woocommerce form .form-row .input-checkbox,
.woocommerce-form__label-for-checkbox input {
	display: inline;
	margin: 0 !important;
	text-align: center;
	vertical-align: middle;
	position: absolute !important;
	left: 0;
}

/* label checkbox */
.woocommerce-form label.checkbox,
.woocommerce-checkout label.checkbox,
.woocommerce-SavedPaymentMethods-new label,
.woocommerce-SavedPaymentMethods li label,
.woocommerce-SavedPaymentMethods-saveNew label,
.woocommerce-form__label-for-checkbox {
	font-size: 16px !important;
	font-weight: 300 !important;
	padding-left: 30px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	display: block !important;
}

.woocommerce-form,
.woocommerce-checkout {
	input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not(
			[type="radio"]
		),
	textarea,
	.elementor-field-textual,
	select,
	.select2-container .select2-dropdown,
	.select2-container .select2-selection {
		border: none;
		border-bottom: 1px solid var(--e-global-color-0c6661a);
		border-radius: 0;
		padding: 10px 0;
		font-weight: 400;
		letter-spacing: 0.05em;
		font-size: 15px;
		font-family: "DM Sans", sans-serif;
		text-transform: uppercase;

		&:focus {
			outline: none;
			border-left: 0;
			border-right: 0;
			border-top: 0;
		}

		&:placeholder {
			color: rgba(0, 0, 0, 0.42);
		}
	}

	.select2-container .select2-selection--single .select2-selection__rendered {
		padding: 0;
	}

	.select2-dropdown {
		border: 1px solid #000;
		border-radius: 15px;
		background: #fff;
	}

	.select2-container--default .select2-results > .select2-results__options {
		font-family: "DM SANS";
		text-transform: UPPERCASE;
		font-size: 15px;

		.select2-results__option {
			padding: 10px;
		}
	}

	.select2-dropdown--below {
		top: 4px;
	}
}

/* embed video youtube shortcode */

.cpt-conseils .youtube-embed__wrapper {
	width: 95%;
	overflow: hidden;
}

.youtube-embed__wrapper {
	--video-aspect-ratio: 1.77777;
	border-radius: 15px;
	aspect-ratio: var(--video-aspect-ratio);
	overflow: hidden;
}

.youtube-embed__video {
	background-color: #000;
	border: none;
	display: flex;
	height: 100%;
	width: 100%;
}

/* Doawnload ressources */
.image-deco-frame-guide {
	padding-left: 0;
	padding-top: 0;
	z-index: 0;

	&:before {
		content: "";
		border: 2px solid #000;
		width: 76%;
		height: 80%;
		position: absolute;
		left: 5px;
		top: 5px;
		z-index: -1;
	}

	&.frame-purple:before {
		border-color: var(--e-global-color-ddcd035);
	}
}

/* slider bullet */
.swiper-pagination-bullet {
	transition: all ease 600ms;
}

/* image deco frame  */
.image-deco-frame {
	padding-left: 13px;
	padding-top: 13px;
	z-index: 0;

	&:before {
		content: "";
		border: 1px solid #000;
		width: 85%;
		height: 85%;
		position: absolute;
		left: 0px;
		top: 0;
		z-index: -1;
	}

	&.--larger:before {
		border-width: 2px;
	}

	&.--frame-smaller:before {
		width: 66%;
	}

	&.frame-top-right {
		padding-right: 13px;
		padding-left: 0;
		&:before {
			right: 0px !important;
			left: unset;
		}
	}

	&.frame-white:before {
		border-color: #fff;
	}

	&.frame-purple:before {
		border-color: var(--e-global-color-ddcd035);
	}

	&.frame-green:before {
		border-color: var(--e-global-color-0c6661a);
	}
}

.image-deco-square {
	&:after {
		content: "";
		background: #fff;
		width: 67%;
		height: 67%;
		position: absolute;
		right: 10px;
		bottom: -14px;
		z-index: -1;
	}

	&.square-bottom-left {
		padding-left: 13px;
		&:after {
			left: 0;
			right: unset;
		}
	}

	&.square-bottom-right {
		padding-right: 13px;
		&:after {
			right: 0;
			left: unset;
		}
	}

	&.--square--smaller:after {
		width: 67%;
		height: 35%;
	}

	&.square-white:after {
		background: #fff;
	}

	&.square-purple:after {
		background: var(--e-global-color-ddcd035);
	}

	&.square-green:after {
		background: var(--e-global-color-0c6661a);
	}
}

/*  liste a puce*/
.elementor-widget-theme-post-content,
.elementor-widget-text-editor {
	ul {
		padding-left: 24px;
		margin-bottom: 20px;

		&:last-child {
			margin-bottom: 0;
		}

		li {
			line-height: 1.3;

			&:not(:last-child) {
				margin-bottom: 8px;
			}
			&::marker {
				font-size: 82%;
			}
		}
	}
}

/*  liste a puce dans ingredient */
#recipe-ingredients ul {
	padding-left: 14px;
}

/*# Image Popup scroll #*/
.image_popup_design {
	height: 100%;
	max-height: 80vh;
}
.image_popup_design .scroll_image_popup {
	overflow-y: auto;
	overflow-x: hidden;
}
.image_popup_design .scroll_image_popup::-webkit-scrollbar {
	width: 4px;
}
.image_popup_design .scroll_image_popup::-webkit-scrollbar-track {
	background: #ffffff;
	border-radius: 3px;
}
.image_popup_design .scroll_image_popup::-webkit-scrollbar-thumb {
	background: #000;
	border-radius: 3px;
}

/*# formulaire BREVO #*/

form {
	font-family: "DM Sans";

	p.sib-alert-message-success {
		color: #000 !important;
		font-weight: bold;
		background: transparent;
		margin-bottom: 20px !important;
	}

	fieldset {
		border: none;
		padding: 0;
		margin: 0 0 35px;

		legend {
			font-size: 27px;
			margin-bottom: 15px;
			font-family: "Transcity";

			@media only screen and (max-width: 767px) {
				font-size: 25px;
			}
		}
	}

	.sib-submit {
		margin-top: 35px;
	}

	.sib-checkbox {
		display: flex;
		gap: 10px;

		label {
			font-size: 16px;
			font-weight: bold;

			@media only screen and (max-width: 767px) {
				font-size: 15px;
			}
		}
	}

	input[type="radio"]::before,
	input[type="checkbox"]::before {
		content: "\63";
		font-family: "noemie-nutrition" !important;
		width: 20px;
		height: 20px;
		display: block;
		font-size: 20px;
		padding: 0px 4px 0;
		color: #000;
		transform: scale(0);
		transition: 120ms transform ease-in-out;
	}

	input[type="radio"]:checked::before,
	input[type="checkbox"]:checked::before {
		transform: scale(1);
	}

	input[type="radio"],
	input[type="checkbox"] {
		width: 20px !important;
		height: 20px !important;
		appearance: none;
		display: block;
		background: #d0e1bf !important;
		display: block;
		padding: 0 !important;
		border: none !important;
		border-radius: 50%;
	}

	.sib-input-text {
		margin-bottom: 15px;

		label {
			display: none;
		}

		input {
			background: #fff;
			border-radius: 10px;
			font-size: 14px;
			font-weight: 300;
			padding: 9px 17px;
			line-height: 1;
		}
	}

	.sib-checkbox-bg {
		padding: 18px 16px;
		border-radius: 10px;
		background: var(--e-global-color-0c6661a);
		display: flex;
		gap: 17px;
		align-items: center;

		@media only screen and (max-width: 767px) {
			padding: 16px 14px;
		}
		&:not(:last-of-type) {
			margin-bottom: 20px;
		}

		label {
			text-transform: uppercase;
			font-size: 20px;
			color: #000 !important;
			font-weight: bold;
			line-height: 1;

			@media only screen and (max-width: 767px) {
				font-size: 17px;
			}
		}
	}

	.sib-rgpd {
		font-size: 10px;
		font-weight: 300;
		margin-top: 8px;
		line-height: 1.4;
		display: block;

		input {
			appearance: none;
			background: #fff;
			border: none;
			border-radius: 50%;
		}
	}

	input[type="submit"] {
		width: 100%;
		border: none;
		background: var(--e-global-color-0c6661a);
		color: #000;
		font-weight: bold;
		font-size: 18px;

		@media only screen and (max-width: 767px) {
			font-size: 16px;
		}

		&:hover {
			background: var(--e-global-color-ddcd035);
			color: #fff;
		}
	}

	/* message after form on submit  */
	.elementor-message {
		font-weight: bold;
		background: transparent;
		display: flex;
		margin-bottom: 20px !important;
	}

	.elementor-field-group-newsletter_rgpd label,
	.elementor-field-group-guide_rgpd label,
	.elementor-field-group-book_rgpd label,
	.form-rgpd {
		font-size: 10px !important;
		line-height: 1.4 !important;
		font-weight: 300 !important;
		margin-top: 8px;
	}

	.elementor-field-type-submit {
		width: 100%;
		margin-top: 15px !important;
		button {
			flex-basis: 100% !important;
		}
	}

	.elementor-field-type-acceptance .elementor-field-option,
	.elementor-field-type-checkbox .elementor-field-option,
	.elementor-field-type-radio .elementor-field-option {
		display: flex;
		gap: 10px;

		label {
			font-size: 15px !important;
			font-weight: bold !important;
			line-height: 1.375 !important;

			@media only screen and (min-width: 640px) {
				font-size: 16px !important;
			}
		}
	}

	.elementor-field-type-html {
		margin-bottom: 8px !important;
	}
	.elementor-field-type-html .form-title {
		font-size: 25px;
		line-height: 1;
		margin: 0;

		@media only screen and (min-width: 640px) {
			font-size: 27px;
		}
	}

	.elementor-field-group-type_guide .elementor-field-subgroup {
		display: flex;
		gap: 20px;
	}

	.elementor-field-group-type_guide span {
		padding: 17px 16px;
		display: flex;
		gap: 20px;
		align-items: center;
		border-radius: 10px;
		background: var(--e-global-color-0c6661a);
		label {
			font-size: 20px !important;
			font-weight: bold;
			text-transform: uppercase;
			line-height: 1;
			color: #000 !important;
		}

		input {
			background: #fff !important;
		}
	}
}

/* class outside form, for form color light */
.form-color-white {
	label,
	.form-title,
	.elementor-message-success {
		color: #fff;
	}

	input[type="radio"],
	input[type="checkbox"] {
		background: #fff !important;
	}
}

/* perte de poids AH - anciennement produit equilibre customisation de l'information supplémentaire */

.shop_table .product-name .product_info--change-name {
	display: inline-block;
	margin: 0;
	font-size: 11px !important;
	color: #b81c23 !important;
	line-height: 1.1;
	margin-top: 10px;
}

/* Woocommerce button */
.woocommerce,
.woocommerce-cart,
.woocommerce-checkout {
	input.button,
	.checkout-button,
	.coupon button,
	button#place_order,
	button.ae-apply-coupon,
	#add_payment_method .wc-proceed-to-checkout a.checkout-button,
	.wc-proceed-to-checkout a.checkout-button,
	.wc-proceed-to-checkout a.checkout-button,
	.wc-backward,
	.woocommerce-form-login__submit,
	.order-again a,
	.woocommerce-button.view {
		font-family: "DM Sans", Sans-serif !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		padding: 12px 28px !important;

		border-radius: 10px !important;
		transition: all ease 500ms !important;
	}

	/* Bouton rouge */

	input.button,
	.checkout-button,
	.coupon button,
	button#place_order,
	button.ae-apply-coupon,
	#add_payment_method .wc-proceed-to-checkout a.checkout-button,
	.wc-proceed-to-checkout a.checkout-button,
	.wc-proceed-to-checkout a.checkout-button,
	.wc-backward,
	.woocommerce-form-login__submit,
	.order-again a {
		color: #fff !important;
		background: var(--e-global-color-ddcd035) !important;

		&:hover {
			color: #000 !important;
			background: var(--e-global-color-0c6661a) !important;
		}
	}

	/* bouton vert */
	.woocommerce-button.view {
		color: #000 !important;
		background: var(--e-global-color-0c6661a) !important;

		&:hover {
			color: #fff !important;
			background: var(--e-global-color-ddcd035) !important;
		}
	}
}

.e-loop-item {
	.list-recipe-categories,
	.list-articles-topics,
	.list-video-topics {
		gap: 4px;
	}
}

:root {
	--small-tag-padding: 7px 9px;
	--small-tag-font-size: 13px;
	--small-tag-size-svg: 13px;
	@media only screen and (max-width: 767px) {
		--small-tag-font-size: 12px;
		--small-tag-size-svg: 12px;
	}
}

.list-recipe-categories,
.list-articles-topics,
.list-video-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;

	span {
		padding: var(--small-tag-padding);
		background: #fff;
		border-radius: 40px;
		line-height: 1.1;
		display: inline-flex;
		background: var(--e-global-color-0c6661a);
		font-size: var(--small-tag-font-size);
	}
}

.small-tag {
	padding: var(--small-tag-padding);
	font-size: var(--small-tag-font-size);
	line-height: 1.1;

	p {
		line-height: 1.1;
		display: inline-flex;
	}

	.elementor-icon {
		font-size: var(--small-tag-size-svg);
	}
	svg {
		height: auto;
	}
}

/* page avec banner top */
.banner-header-page {
	height: 40vh;
	@media only screen and (min-width: 768px) {
		height: 55vh;
	}
}

/* page shop */

.slider-center .elementor-grid {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;

	> * {
		width: calc(
			100% / var(--grid-columns) - var(--grid-column-gap) / var(--grid-columns)
		);
	}
}

/* page de vente */
.contenu-offert-img img {
	aspect-ratio: 430/268;
}

.floating-effect img {
	animation: float 5s ease-in-out infinite;
}

@keyframes float {
	0% {
		transform: translatey(0px);
	}
	50% {
		transform: translatey(-15px);
	}
	100% {
		transform: translatey(0px);
	}
}

.wave-top {
	.wave-wrapper {
		position: absolute;
		width: 100vw;
		max-width: unset !important;
		left: 50%;
		top: 2px;
		transform: translate(-50%, -100%);
		overflow-x: clip;
		z-index: 2;
	}

	.wave-mask {
		display: none;
	}

	.wave-fill{
		display: block;
	}

	.wave-fill, .wave-mask {
		width: 102vw;
		height: auto;
		max-width: unset;
		transform: translateX(-50%);
		left: 50%;
		position: relative;
		z-index: 1;
	}

	.wave-border {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		display: none;

		path {
			fill: transparent !important;
		}
	}


	&.--with-border {
		.wave-border {
			display: block;
		}
	}

	&.--wave-white {
		.wave-fill path,
		.wave-mask path {
			fill: #fff;
		}
	}

	&.--wave-cream {
		.wave-fill path,
		.wave-mask path {
			fill: var(--e-global-color-b86a7da);
		}
	}

	&.--wave-purple {
		.wave-fill path,
		.wave-mask path {
			fill: var(--e-global-color-ddcd035);
		}
	}

	&.--wave-green {
		.wave-fill path,
		.wave-mask path {
			fill: var(--e-global-color-8f26695);
		}
	}

	&.--wave-transparent {
		.wave-wrapper {
			top: -2px;
			transform: translate(-50%, 0%);
		}
		.wave-mask {
			display: block;
		}

		.wave-fill {
			display: none;
		}
	}
}


/* label stripe */
.p-FieldLabel,
.Label {
	font-size: 16px;
	font-family: "DM SANS", sans-serif;
	font-weight: bold;
}
