/**
 * Global style
 */
main {
	background-color: #fff;
}
#header {
	background-color: unset;
}
#header > div > div.elementor-section-wrap {
	overflow: visible !important;
}
h1 {
	font-size: 36px;
}
h1,h2 {
	position: relative;
	padding-top: 35px !important;
	color: #633125;
	font-size: 28px;
	font-weight: 800;
	display: block;
	width: fit-content;
}
body:not(#product) h1::before,
h2::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../images/titledecoration.svg');
	width: 63px;
	height: 33px;
}
@media all and (min-width: 768px){
	h2 {
		font-size: 32px;
	}
}
@media all and (min-width: 1024px){
	h1 {
		font-size: 48px;
	}
	h2 {
		font-size: 36px;
	}
}


/**
 * Section transition shapes
 */

.brown-shape-top {
	position: relative;
}
.brown-shape-top::before {
	content: '';
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	width: 100%;
	height: 44px;
	background-image: url("../images/brown-shape-top.svg");
	background-position: center bottom;
	background-size: 100vw;
	background-repeat: no-repeat;
	z-index: 1;
}
.brown-shape-bottom {
	position: relative;
}
.brown-shape-bottom::after {
	content: '';
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 100%;
	height: 44px;
	background-image: url("../images/brown-shape-bottom.svg");
	background-position: center top;
	background-size: 100vw;
	background-repeat: no-repeat;
	z-index: 1;
}
.beige-shape-top {
	position: relative;
}
.beige-shape-top::before {
	content: '';
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	width: 100%;
	height: 44px;
	background-image: url("../images/beige-shape-top.svg");
	background-position: center bottom;
	background-size: 100vw;
	background-repeat: no-repeat;
	z-index: 1;
}
.beige-shape-bottom {
	position: relative;
}
.beige-shape-bottom::after {
	content: '';
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 100%;
	height: 44px;
	background-image: url("../images/beige-shape-bottom.svg");
	background-position: center top;
	background-size: 100vw;
	background-repeat: no-repeat;
	z-index: 1;
}



/**
 * Homepage slider speicfic code
 */

.js-tab-slider .elementor-nav-tabs {
	display: none;
}
.js-tab-slider [role="tabpanel"].elementor-active {
  	animation: heroSlideIn 500ms cubic-bezier(.22, .61, .36, 1) both;
}
@keyframes heroSlideIn {
  	from { opacity: 0; transform: translateX(28px); }
  	to   { opacity: 1; transform: translateX(0); }
}
.tab-slider-arrow {
	position: absolute;
	top: 90%;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #633125;
	border: none;
	cursor: pointer;
	color: white;
	text-indent: -88888px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tab-slider-arrow::before {
	content: '';
	display: block;
	width: 10px;
	height: 17px;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.tab-slider-arrow--prev {
	left: 16px;
}
.tab-slider-arrow--prev::before {
	background-image: url('../images/arrowleft.svg');
}
.tab-slider-arrow--next {
	left: calc(48px + 16px + 8px);
}
.tab-slider-arrow--next::before {
	background-image: url('../images/arrowright.svg');
}
@media all and (min-width: 1500px){
	.tab-slider-arrow {
		top: 50%;
		transform: translateY(-50%);
	}
	.tab-slider-arrow--prev {
		left: 32px;
	}
	.tab-slider-arrow--next {
		right: 32px;
		left: unset;
	}
}
/* respecte la préférence "réduire les animations" */
@media (prefers-reduced-motion: reduce) {
  	.js-tab-slider [role="tabpanel"].elementor-active {
		animation:	none;
	}
}
#content, #wrapper, #wrapper .container {
	max-width: 100%;
	padding: 0;
	margin: 0;
	width: 100%;
}
header + #wrapper {
	margin-top: -70px;
}
@media all and (min-width: 1024px){
	header + #wrapper {
		margin-top: -32px;
	}
}

/**
 * FOoter
 */

footer {
	overflow: hidden;
}

/**
 * Prefooter
 */

.prefooter {
	position: relative;
}
.prefooter::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: -100px;
	left: 0;
	width: 100%;
	background-color: #F9F4EC;
	border-top-left-radius: 100px;
	z-index: -1;
}
@media all and (min-width: 768px){
	.prefooter::after {
		left: 5vw;
		border-top-left-radius: 170px;
	}
}
@media all and (min-width: 1024px){
	.prefooter::after {
		left: 10vw;
		border-top-left-radius: 263px;
	}
}
@media all and (min-width: 1500px){
	.prefooter::after {
		left: 20vw;
	}
}

.prefooter__links > div > .elementor-row > div {
	position: relative;
}
.prefooter__links > div > .elementor-row > div * {
	position: static;
}
.prefooter__links > div > .elementor-row > div a::before {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	content: '';
	z-index: 3;
	width: 100%;
	height: 100%;
}


/**
 * Product page reviews
 */

.product-reviews .product-comment-list-item {
	display: flex;
    flex-direction: column;
	padding: 0 0 32px 0;
	background-color: unset;
	border-bottom: 1px solid #633125;
	gap: 16px;
}
.product-reviews #product-comments-list-header {
	display: none;
}
.product-reviews .product-comment-list-item .comment-infos {
	min-height: unset;
	height: fit-content;
}
.product-reviews .product-comment-list-item .comment-infos .grade-stars {
	margin: 0;
}
.product-reviews .product-comment-list-item .grade-stars .star-content {
	margin: 0;
}
.product-reviews .product-comment-list-item .comment-content {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.product-reviews .product-comment-list-item .comment-content h4 {
	color: #633125;
	font-weight: 800;
	font-size: 24px;
	margin: 0;
}
.product-reviews .product-comment-list-item .comment-content p {
	font-size: 18px;
	color: #3F3C39;
	line-height: 24px;
	margin: 0;
}
.product-reviews .comment-author {
	font-size: 18px;
	color: #3F3C39;
	line-height: 24px;
	font-weight: 700;
}
.product-reviews .post-product-comment {
	border-radius: 100px;
	background-color: #E27517;
	color: #F9F4EC;
	font-size: 18px;
	box-shadow: unset;
	height: fit-content;
	padding: 16px;
}


/**
 * Modal product comments
 */
#post-product-comment-modal .modal-content {
	border-radius: 20px;
	background-color: #F9F4EC;
}
#post-product-comment-modal .criterion-rating {
	justify-content: flex-start;
}
#post-product-comment-modal	* {
	color: #3F3C39;
}
#post-product-comment-modal input,
#post-product-comment-modal textarea {
	border-color: #F9F4EC;
}
#post-product-comment-modal .btn-comment {
    border-radius: 100px;
    background-color: #E27517;
    color: #F9F4EC;
    font-size: 18px;
    box-shadow: unset;
    height: fit-content;
    padding: 16px;
}
#post-product-comment-modal .btn-comment-inverse {
	border-radius: 100px;
    background-color: #633125;
    color: #fff;
    font-size: 18px;
    box-shadow: unset;
    height: fit-content;
    padding: 16px;
	border-color: #F9F4EC;
}


.fidelity-bloc img {
	display: none;
}


/**
 * Account pages
 */



body#my-account  > main > #wrapper,
body#identity  > main > #wrapper,
body#address  > main > #wrapper,
body#history  > main > #wrapper,
body#order-slip  > main > #wrapper,
body#discount  > main > #wrapper,
body#addresses > main > #wrapper,
body#module-blockwishlist-lists  > main > #wrapper {
	max-width:  1440px;
	width: 100%;
	margin: auto;
	padding: 64px 16px;
}
body#my-account #content > .row,
body#identity #content > .row,
body#address #content > .row,
body#history #content > .row,
body#order-slip #content > .row,
body#discount #content > .row,
body#addresses > .row,
body#module-blockwishlist-lists #content > .row  {
	margin: unset;
}
.page-footer a {
	color: #633125;
}
@media all and (min-width: 768px){
	body#my-account  > main > #wrapper,
	body#identity  > main > #wrapper,
	body#address  > main > #wrapper,
	body#addresses > main > #wrapper,
	body#history  > main > #wrapper,
	body#order-slip  > main > #wrapper,
	body#discount  > main > #wrapper,
	body#module-blockwishlist-lists  > main > #wrapper {
		padding: 64px 24px;
	}
}
@media all and (min-width: 1024px){
	body#my-account  > main > #wrapper,
	body#identity  > main > #wrapper,
	body#address  > main > #wrapper,
	body#addresses > main > #wrapper,
	body#history  > main > #wrapper,
	body#order-slip  > main > #wrapper,
	body#discount  > main > #wrapper,
	body#module-blockwishlist-lists  > main > #wrapper {
		padding: 64px 32px;
	}
}










body#my-account #content .links {
	gap: 16px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}
body#my-account #content .links a span.link-item {
	background-color: #633125;
	border-radius: 20px;
	color: #fff;
	padding: 2rem;
	transition: ease all 150ms;
}
body#my-account #content .links a {
	width: 100%;
	float: unset;
	margin: 0;
	padding: 0;
}
body#my-account #content .links a span.link-item i {
	color: #fff;
	transition: ease all 150ms;
}
body#my-account #content .links a span.link-item:hover {
	background: #FFD35E;
	color: #633125;
}
body#my-account #content .links a span.link-item:hover i{
	color: #633125;
}
@media all and (min-width: 768px){
	body#my-account #content .links {
			grid-template-columns: repeat(2, 1fr);
	}
}
@media all and (min-width: 1024px){
	body#my-account #content .links {
		gap: 32px;
		grid-template-columns: repeat(3, 1fr);
	}
}


.fa-caret-down::before {
	color: #fff;
}
.fa-caret-down:hover::before {
	color: #FFD35E;
}


/**
 * Cart page
 */

.page-cart main section#wrapper,
.page-order main section#wrapper {
	max-width: 1200px;
	margin: 1rem auto 1rem auto;
}
@media all and (min-width: 768px){
	.page-cart main section#wrapper,
	.page-order main section#wrapper {
		margin: 5rem auto 4rem auto;
		width: 90%;
	}
}
.page-cart .cart-grid-right,
.page-order .cart-grid-right {
	background-color:#633125;
	border-radius: 20px;
}
.page-cart .cart-grid-right .card,
.page-order .cart-grid-right .card {
	background-color: unset;
}
.page-cart .cart-grid-right *,
.page-order .cart-grid-right * {
	color: #fff;
}
.page-cart .cart-grid-right .btn-primary,
.page-order .btn-primary {
	background-color: #E27517;
	color: #fff;
	border-radius: 100px;
	padding: 16px;
	transition: ease all 150ms;
}
.page-order .btn-primary:active:hover,
.page-order .btn-primary:active:focus,
.page-order .btn-primary:active.focus,
.page-order .btn-primary.active:hover,
.page-order .btn-primary.active:focus,
.page-order .btn-primary.active.focus,
.page-order .open>.btn-primary.dropdown-toggle:hover,
.page-order .open>.btn-primary.dropdown-toggle:focus,
.page-order .open>.btn-primary.dropdown-toggle.focus {
	background-color: #FFD35E;
	color: #633125;
}
.page-cart .cart-grid-right .btn-primary:hover,
.page-order .btn-primary:hover {
	background-color: #FFD35E;
	color: #633125;
}
.page-cart .card-block h1,
body#checkout section.checkout-step .step-title {
	font-weight: 800;
	color: #633125;
}
body#checkout section.checkout-step.-reachable.-current .step-number {
	background-color: #E27517;
}
.page-cart .product-price{
	color: #E27517;
}
.page-order .nav-item .nav-link.active {
	color: #E27517;
}
body#checkout.page-order .nav-item a.nav-link:hover {
	color: #633125;
}
body#checkout.page-order a:hover {
	color: #E27517;;
}
.custom-radio input[type="radio"]:checked+span {
	background-color: #633125;
}


/**
 * Custom contact form
 */

/* Le widget contactform du thème "classic" (injecté via ps-widget-module)
   est remis en page pour reproduire le rendu du bloc formulaire Elementor :
   champs empilés sur toute la largeur, libellés blancs + astérisque rouge,
   bouton beige (#F5D2B4) sur texte marron (#633125). */

.elementor-widget-ps-widget-module .contact-form {
	margin: 0;
}

/* --- Neutralisation de la grille Bootstrap du template ------------------- */
.elementor-widget-ps-widget-module .contact-form .form-group.row {
	display: block;
	margin: 0 0 20px;
}
.elementor-widget-ps-widget-module .contact-form .form-group.row > [class*="col-md-"],
.elementor-widget-ps-widget-module .contact-form .form-group.row > [class*="offset-md-"],
.elementor-widget-ps-widget-module .contact-form .form-group.row > .col-md-offset-3 {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	padding-left: 0;
	padding-right: 0;
}

/* --- Éléments absents du bloc d'origine ---------------------------------- */
/* Titre "Contactez-nous" + champ "Sujet". Le select reste dans le DOM :
   sa valeur par défaut (id_contact = 2, Service client) est donc postée,
   comme le faisait l'input caché du bloc Elementor. */
.elementor-widget-ps-widget-module .contact-form .form-fields > .form-group.row:first-child,
.elementor-widget-ps-widget-module .contact-form .form-group.row:has(#id_contact) {
	display: none;
}

/* --- Libellés ------------------------------------------------------------ */
.elementor-widget-ps-widget-module .contact-form .form-control-label {
	display: block;
	width: 100%;
	margin: 0 0 6px;
	padding: 0;
	text-align: left;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
}
.elementor-widget-ps-widget-module .contact-form .form-control-label::after {
	content: "*";
	padding-left: .3em;
	color: #ff0000;
}

/* --- Champs -------------------------------------------------------------- */
.elementor-widget-ps-widget-module .contact-form .form-control {
	width: 100%;
	max-width: 100%;
	height: auto;
	padding: 6px 14px;
	font-size: 15px;
	line-height: 1.4;
	color: #333;
	background-color: #fff;
	border: 1px solid #818a91;
	border-radius: 3px;
	box-shadow: none;
}
.elementor-widget-ps-widget-module .contact-form .form-control:focus {
	border-color: #633125;
	outline: 0;
	box-shadow: none;
}
.elementor-widget-ps-widget-module .contact-form textarea.form-control {
	min-height: 95px;
	resize: vertical;
}

/* --- Case à cocher RGPD : on remet la case native du bloc d'origine ------ */
.elementor-widget-ps-widget-module .contact-form #gdpr_consent {
	margin: 0 0 20px;
}
.elementor-widget-ps-widget-module .contact-form .custom-checkbox {
	display: block;
}
.elementor-widget-ps-widget-module .contact-form .custom-checkbox input[type="checkbox"] {
	position: static;
	width: 13px;
	height: 13px;
	margin: 0 8px 0 0;
	opacity: 1;
	vertical-align: -2px;
}
/* pastille + icône "material" du thème classic */
.elementor-widget-ps-widget-module .contact-form .custom-checkbox input[type="checkbox"] + span {
	display: none;
}
.elementor-widget-ps-widget-module .contact-form .psgdpr_consent_message {
	display: block;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	cursor: pointer;
}
.elementor-widget-ps-widget-module .contact-form .psgdpr_consent_message::after {
	content: "*";
	padding-left: .3em;
	color: #ff0000;
}

/* --- reCAPTCHA ----------------------------------------------------------- */
.elementor-widget-ps-widget-module .contact-form #captcha-box {
	margin: 0 0 20px;
}
.elementor-widget-ps-widget-module .contact-form #captcha-box:empty {
	display: none;
}
.elementor-widget-ps-widget-module .contact-form #captcha-box > div {
	max-width: 100%;
}

/* --- Bouton d'envoi ------------------------------------------------------ */
.elementor-widget-ps-widget-module .contact-form .form-footer {
	margin: 0;
	padding: 0;
	text-align: left;
}
.elementor-widget-ps-widget-module .contact-form .form-footer .btn-primary {
	display: inline-block;
	padding: 8px 25px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	font-family: "Bricolage Grotesque", sans-serif;
	text-transform: none;
	color: #633125;
	background-color: #F5D2B4;
	border: 0;
	border-radius: 100px;
	box-shadow: none;
	transition: ease all 150ms;
}
.elementor-widget-ps-widget-module .contact-form .form-footer .btn-primary:hover,
.elementor-widget-ps-widget-module .contact-form .form-footer .btn-primary:focus {
	background-color: #E9BD93;
	color: #633125;
}
/* le module psgdpr désactive le bouton tant que la case n'est pas cochée :
   on garde l'apparence du bloc d'origine, seul le curseur change */
.elementor-widget-ps-widget-module .contact-form .form-footer .btn-primary[disabled],
.elementor-widget-ps-widget-module .contact-form .form-footer .btn-primary:disabled {
	opacity: 1;
	cursor: not-allowed;
}
.elementor-widget-ps-widget-module .contact-form {
	padding: 0;
	color: #fff;
	background-color: unset;
}
.elementor-widget-ps-widget-module .form-footer.text-sm-right {
	text-align: left !important;
}
.elementor-widget-ps-widget-module .contact-form form .form-fields #captcha-box > div {
	float: unset;
}

