/*
 * Foly Frites - Look produit
 * CSS visuel uniquement : aucune modification produit, option, panier ou paiement.
 */

:root {
	--foly-product-ink: #211f1c;
	--foly-product-red: #d41424;
	--foly-product-orange: #ff6420;
	--foly-product-yellow: #ffba08;
	--foly-product-cream: #fff4d8;
	--foly-product-soft: rgba(255, 250, 240, .92);
	--foly-product-border: rgba(36, 31, 27, .12);
}

body.single-product .site-main,
body.single-product main,
body.single-product #primary {
	overflow: visible;
}

body.single-product div.product {
	box-sizing: border-box;
	width: min(1120px, calc(100% - 34px)) !important;
	max-width: 1120px !important;
	margin: clamp(24px, 4vw, 52px) auto !important;
	padding: clamp(16px, 2vw, 24px) !important;
	border: 1px solid rgba(255, 255, 255, .70);
	border-radius: 34px !important;
	background:
		radial-gradient(circle at 8% 8%, rgba(255, 186, 8, .15), transparent 16rem),
		linear-gradient(135deg, rgba(255, 253, 247, .97), rgba(255, 244, 218, .86)) !important;
	box-shadow: 0 26px 70px rgba(58, 35, 9, .13) !important;
	overflow: hidden;
}

body.single-product div.product::before,
body.single-product div.product::after {
	display: none !important;
	content: none !important;
}

@media (min-width: 860px) {
	body.single-product.woocommerce div.product,
	body.single-product div.product {
		display: flow-root !important;
		min-height: 0 !important;
	}

	body.single-product.woocommerce div.product div.images,
	body.single-product.woocommerce-page div.product div.images,
	body.single-product div.product .woocommerce-product-gallery,
	body.single-product div.product .images {
		float: none !important;
		clear: none !important;
		width: 47% !important;
		max-width: 500px !important;
		margin: 0 !important;
		align-self: start !important;
	}

	body.single-product.woocommerce div.product div.images,
	body.single-product.woocommerce-page div.product div.images {
		float: left !important;
	}

	body.single-product.woocommerce div.product div.summary,
	body.single-product.woocommerce-page div.product div.summary,
	body.single-product div.product .summary,
	body.single-product div.product .entry-summary {
		float: none !important;
		clear: none !important;
		width: 48% !important;
		max-width: 545px !important;
		margin: 0 !important;
		padding: 4px 0 0 !important;
	}

	body.single-product.woocommerce div.product div.summary,
	body.single-product.woocommerce-page div.product div.summary {
		float: right !important;
	}
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .images {
	border-radius: 28px !important;
	background:
		radial-gradient(circle at 50% 45%, rgba(255, 186, 8, .20), transparent 15rem),
		linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 247, 226, .94));
	box-shadow: inset 0 -1px 0 rgba(36, 31, 27, .04);
	overflow: hidden;
}

body.single-product div.product .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery__image:first-child {
	display: grid !important;
	place-items: center !important;
	min-height: clamp(280px, 30vw, 390px) !important;
	margin: 0 !important;
	padding: clamp(16px, 2.4vw, 28px) !important;
	border-radius: 28px !important;
	background: #fffdf8 !important;
}

body.single-product div.product .woocommerce-product-gallery__image a {
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
}

body.single-product div.product .woocommerce-product-gallery__image img,
body.single-product div.product .wp-post-image {
	display: block !important;
	width: 100% !important;
	max-width: 410px !important;
	height: auto !important;
	max-height: 330px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	border-radius: 22px !important;
	transform: none !important;
}

body.single-product div.product .product_title,
body.single-product div.product h1.product_title {
	margin: 0 0 10px !important;
	color: var(--foly-product-ink) !important;
	font-size: clamp(32px, 2.7vw, 44px) !important;
	line-height: .94 !important;
	font-weight: 950 !important;
	letter-spacing: -.055em !important;
	text-transform: uppercase;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
	margin: 0 0 22px !important;
	color: var(--foly-product-red) !important;
	font-size: clamp(30px, 2.5vw, 40px) !important;
	line-height: 1 !important;
	font-weight: 950 !important;
	letter-spacing: -.035em !important;
}

body.single-product div.product .summary > .price::after,
body.single-product div.product .entry-summary > .price::after {
	display: block;
	width: 100%;
	height: 1px;
	margin: 24px 0 22px;
	background: rgba(36, 31, 27, .18);
	content: "";
}

body.single-product form.cart {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 0 10px !important;
	border: 0 !important;
}

body.single-product form.cart::before,
body.single-product form.cart::after {
	display: none !important;
	content: none !important;
}

body.single-product .quantity {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	min-width: 138px !important;
	margin: 0 !important;
}

body.single-product .quantity input.qty {
	width: 70px !important;
	min-height: 52px !important;
	border: 1px solid rgba(36, 31, 27, .16) !important;
	border-radius: 14px !important;
	background: #fffdf8 !important;
	color: var(--foly-product-ink) !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	text-align: center !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {
	flex: 1 1 260px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #fff !important;
	background: linear-gradient(135deg, var(--foly-product-red), #ef3b21 58%, var(--foly-product-orange)) !important;
	box-shadow: 0 16px 32px rgba(212, 20, 36, .22) !important;
	font-size: 16px !important;
	font-weight: 950 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button:hover {
	filter: brightness(1.03);
	transform: translateY(-1px);
}

body.single-product .foly-config {
	margin: 4px 0 20px !important;
	padding: clamp(16px, 2vw, 22px) !important;
	border: 1px solid var(--foly-product-border) !important;
	border-radius: 24px !important;
	background: rgba(255, 255, 255, .72) !important;
	box-shadow: 0 16px 36px rgba(57, 35, 10, .08) !important;
}

body.single-product .foly-config h3 {
	margin: 0 0 16px !important;
	font-size: clamp(25px, 2.4vw, 36px) !important;
	line-height: .98 !important;
	letter-spacing: -.045em !important;
	text-transform: uppercase;
}

body.single-product .foly-field {
	margin: 10px 0 12px !important;
}

body.single-product .foly-field label,
body.single-product .foly-config > label,
body.single-product .foly-binary legend {
	margin-bottom: 7px !important;
	font-size: 15px !important;
	font-weight: 900 !important;
}

body.single-product .foly-binary {
	margin: 8px 0 12px !important;
}

body.single-product .foly-binary span {
	min-width: 76px !important;
	padding: 10px 14px !important;
	border-radius: 12px !important;
}

body.single-product .foly-config textarea,
body.single-product .foly-config select,
body.single-product .foly-config input[type="text"] {
	min-height: 48px !important;
	border-radius: 14px !important;
	background: #fffdf8 !important;
}

body.single-product .foly-config textarea {
	min-height: 86px !important;
}

body.single-product .product_meta,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
	width: min(1120px, calc(100% - 34px));
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 859px) {
	body.single-product div.product {
		display: block !important;
		width: min(100% - 24px, 620px) !important;
		padding: 12px !important;
		border-radius: 28px !important;
	}

	body.single-product div.product .woocommerce-product-gallery,
	body.single-product div.product .images,
	body.single-product div.product .summary,
	body.single-product div.product .entry-summary {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body.single-product div.product .summary,
	body.single-product div.product .entry-summary {
		padding: 20px 6px 8px !important;
	}

	body.single-product div.product .woocommerce-product-gallery__image,
	body.single-product div.product .woocommerce-product-gallery__image:first-child {
		min-height: 250px !important;
		padding: 18px !important;
	}

	body.single-product div.product .woocommerce-product-gallery__image img,
	body.single-product div.product .wp-post-image {
		max-height: 260px !important;
	}

	body.single-product form.cart {
		gap: 12px !important;
	}

	body.single-product .single_add_to_cart_button,
	body.single-product button.single_add_to_cart_button {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

@media (max-width: 480px) {
	body.single-product div.product {
		width: calc(100% - 18px) !important;
		margin-top: 16px !important;
	}

	body.single-product div.product .product_title,
	body.single-product div.product h1.product_title {
		font-size: 31px !important;
	}

	body.single-product div.product p.price,
	body.single-product div.product span.price {
		font-size: 30px !important;
	}

	body.single-product .foly-config h3 {
		font-size: 26px !important;
	}
}
