:root {
	--main-color: #244d61;
	--hover-color1: #98aab3;
	--hover-color2: hsl(0, 0%, 55%);
	--dd_textcolor: #a4a4a4;
	--button-plus-minus: rgba(0, 0, 0, 0.03);
	--black-text-color: hsla(0, 0%, 10%, 0.9);
}

body form label {
	font-family:
		-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue",
		"Ubuntu", sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: hsla(0, 0%, 10%, 0.7);
}

::placeholder {
	color: hsla(0, 0%, 100%, 0.4);
	font-size: 16px;
}

ul {
	list-style: none;
	padding: 0;
}

.container {
	padding: 0px;
	margin: 0 auto;
}

@media (min-width: 992px) {
	.left-col {
		padding: 0 40px 60px 40px;
	}
	.right-col {
		padding: 0 0 0 40px;
	}
}

.input-group i {
	color: black;
}
.cart-table {
	margin: 0 0 20px;
}
.choice-item .title-price {
	color: hsla(0, 0%, 10%, 0.9);
}
.choice-item .quantity-frequency {
	display: flex;
	align-items: center;
}
.choice-item .title-price .small-text,
.choice-item .quantity-frequency .small-text {
	margin-left: auto;
	text-align: right;
	display: block;
	flex-shrink: 0;
	min-width: 0;
	word-break: break-word;
}
@media (max-width: 991px) {
	.choice-item .title-price .small-text {
		margin-left: 0;
		text-align: left;
	}
}
.choice-item .free-label {
	font-size: 14px;
	font-weight: 500;
}
.choice-item .product-name {
	margin-right: 10px;
	font-weight: 500;
	font-size: 14px;
}
.choice-item img {
	width: 300px;
	max-width: 100%;
	max-height: 100%;
	height: auto;
	object-fit: contain;
}

.payment-method {
	font-size: 16px;
	color: hsla(0, 0%, 10%, 0.7);
}

ul.cart-totals {
	overflow: visible;
}
li.subtotal,
li.shipping-price-total,
li.total {
	display: block;
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
	font-size: 14px;
	font-weight: 500;
	color: hsla(0, 0%, 10%, 0.9);
	text-align: right;
}
li.total {
	border-top: 1px solid hsla(0, 0%, 10%, 0.1);
}
li.subtotal .label,
li.shipping-price-total .label,
li.total .label {
	float: left;
}

.fa-building-columns,
.fa-credit-card {
	font-size: 16px;
	margin-bottom: 2px;
}

/* Modals */
.remboursement-list {
	color: hsla(0, 0%, 10%, 0.5);
	font-size: 14px;
}
.remboursements-modal,
.contact-modal {
	display: flex;
	align-items: baseline;
}
.remboursement-title {
	margin-left: 12px;
}
.remboursement-title .fa-rotate-left {
	font-size: 18px;
}
.remboursement-text-title {
	font-size: 14px;
	font-weight: 500;
}
.contact-modal,
.modal-body-mentions,
.remboursements-modal {
	min-height: 200px;
}
.modal-text-500 {
	font-weight: 500;
	font-size: 14px;
}
.modal-title {
	font-size: 16px;
}
.modal-body {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	flex-wrap: wrap;
	gap: 8px;
}
.modal-body button {
	border: none;
	background-color: transparent;
	font-size: 14px;
	color: hsla(0, 0%, 10%, 0.5);
	font-weight: 400;
}
.modal-body button:hover {
	color: hsla(0, 0%, 10%, 0.7);
}
.modal-body button:focus {
	color: black;
}
.footer-text-modal {
	color: hsla(0, 0%, 10%, 0.5);
	font-weight: 400;
	font-size: 12px;
	text-align: center;
}
.fa-fiile,
.payment-conditions .fa-credit-card,
.contact-modal .fa-phone {
	font-size: 16px;
}
.politic-text,
.text-payment-condition,
.contact-modal-text {
	color: hsla(0, 0%, 10%, 0.5);
	margin-top: 4px;
	font-size: 14px;
}
.politic-text a,
.text-payment-condition a,
.remboursement-list a,
.contact-modal-text a {
	text-decoration: underline dotted hsla(0, 0%, 10%, 0.7);
	color: hsla(0, 0%, 10%, 0.7);
}
.politic-title,
.payment-condition-title,
.contact-title {
	font-size: 14px;
	font-weight: 500;
}
.text-mentions,
.payment-condition-text,
.contact-text {
	margin-left: 12px;
}
.remboursement-list {
	margin-top: 4px;
	line-height: 24px;
}
.modal-body-mentions,
.remboursements-modal,
.contact-modal {
	padding: 20px;
	margin-bottom: 50px;
}
.politques-mention,
.payment-conditions,
.contact-modal {
	display: flex;
	align-items: baseline;
}
.header-components {
	display: flex;
	align-items: center;
}
.btn-close {
	font-size: 12px;
	padding: 0px;
	margin: 0px;
}
.text-modal-header {
	display: flex;
	flex-direction: column;
}
.modal-qty-img .additional-images {
	display: none;
}
#input-modal {
	border: 1px solid rgba(0, 0, 0, 0.03);
	border-radius: 6px;
	width: 92px;
	box-shadow:
		0 0 0 1px #e0e0e0,
		0 2px 4px 0 rgba(0, 0, 0, 0.07),
		0 1px 1.5px 0 rgba(0, 0, 0, 0.05);
}
.input-number-group .input-number,
.input-number-group .input-number-decrement,
.input-number-group .input-number-increment {
	border: 1px solid rgba(0, 0, 0, 0.03);
	height: 44px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border-radius: 100%;
}
.input-number-group .input-number-decrement,
.input-number-group .input-number-increment {
	display: inline-block;
	width: 40px;
	background-color: rgba(0, 0, 0, 0.03);
	color: #0a0a0a;
	text-align: center;
	font-weight: bold;
	cursor: pointer;
	font-size: 1.3rem;
	font-weight: 300;
}
.input-number-group .input-number-decrement {
	margin: 0px 16px;
	padding: 8px;
	background-color: rgba(0, 0, 0, 0.03);
}
.input-number-group .input-number-increment {
	margin: 0px 16px;
	padding: 8px;
	background-color: rgba(0, 0, 0, 0.03);
}
.input-number-group .input-number-decrement:hover,
.input-number-group .input-number-increment:hover {
	background-color: rgba(0, 0, 0, 0.1);
}
#input-nb-decrement {
	display: flex;
	justify-content: center;
	align-items: center;
}
#input-nb-increment {
	display: flex;
	justify-content: center;
	align-items: center;
}
#input-nb-increment i {
	font-size: 20px;
	color: hsla(0, 0%, 10%, 0.6);
}
#input-nb-decrement i {
	font-size: 20px;
	color: hsla(0, 0%, 10%, 0.6);
}
#header-qty-modal {
	padding: 16px 20px;
}
#politic-modal-header {
	padding: 24px;
}
.modal_footer {
	display: flex;
	justify-content: center;
	margin: 18px 20px;
}
.modal-modify-btn {
	padding: 3px 7rem;
	background-color: var(--main-color);
	width: 100%;
}
.modal-modify-btn span {
	pointer-events: none;
	cursor: default;
}
.modal-modify-btn:hover {
	color: var(--hover-color1);
	background-color: var(--main-color);
}

/* Landing modal (GrapesJS order-page-button iframe) */
html.order-page-embedded .left_nav_items {
	display: none;
}

html.order-page-embedded,
html.order-page-embedded body {
	background-color: #fff;
	overflow-x: hidden;
}

html.order-page-embedded #app {
	background-color: #fff;
}

html.order-page-embedded #app > .container,
html.order-page-embedded .container {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html.order-page-embedded .container::before {
	display: none !important;
	content: none !important;
}

@media (min-width: 992px) {
	html.order-page-embedded .container {
		max-width: 100% !important;
	}

	html.order-page-embedded .left-col {
		padding: 0 24px 40px 24px;
	}

	html.order-page-embedded .right-col {
		padding: 0 24px 0 24px;
	}
}

/* Nav */
.left_nav_items {
	overflow: auto;
	padding: 15px 0;
}
.navbar-scrolled {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	background-color: white;
	border-bottom: 1px solid #ddd;
}
.navbar-scrolled .navbar-brand {
	display: block;
	max-width: 80%;
	margin: 0 auto;
	padding: 0 1em;
}
.arrow_left,
.retour,
.logo_prst {
	display: inline-block;
	color: var(--hover-color2);
	vertical-align: middle;
}
.logo_prst img {
	display: block;
}
.fa-arrow-left {
	font-size: 16px;
}
.retour {
	display: none;
	padding: 8px 0;
	font-size: 14px;
	line-height: 1em;
	transition: opacity 5s linear;
}
.left_nav_items:hover .retour {
	display: block;
	opacity: 1;
}
.left_nav_items:hover img {
	display: none;
}
.left_nav_items:hover .arrow_left,
.left_nav_items:hover .retour {
	color: black;
}
.arrow_left {
	margin: 1em;
}

#arrow_left-fs {
	margin: 5px 1em 2px 0px;
}
.prst-logo {
	height: auto;
	width: 118px;
}

.subscribe_text {
	font-weight: 500;
	font-size: 16px;
	color: hsla(0, 0%, 10%, 0.6);
}

.row {
	margin: 1em;
}

.horizontal_hr {
	width: 100%;
	margin-top: 1rem;
	margin-bottom: 1rem;
	border-color: #ccc;
}

.qty-btn {
	padding: 12px;
	white-space: nowrap;
}
.small-text,
.free-label {
	padding-right: 5px;
	font-size: 12px;
	color: var(--dd_textcolor);
}

.form-check-input {
	cursor: pointer;
}
.form-check-input:checked[type="checkbox"] {
	background-color: #244d61;
}

.billingTitle,
.shippingTitle {
	margin-top: 15px;
	font-size: 16px;
}

.form-control {
	padding: 10px 18px;
	border-radius: 6px;
	max-width: none;
}

.hr-container {
	position: relative;
}
.hr-message {
	color: hsla(0, 0%, 10%, 0.35);
	font-weight: 400;
	font-size: 14px;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: white;
	padding: 5px 10px;
}

.footer {
	font-size: 12px;
	color: hsla(0, 0%, 10%, 0.5);
	font-weight: 400;
}
.footer-conditions {
	display: flex;
	justify-content: space-between;
}
.mentions-legales,
.remboursement,
.contact {
	cursor: pointer;
	background-color: transparent;
	border: none;
	color: hsla(0, 0%, 10%, 0.5);
	font-size: 12px;
	font-weight: 400;
	white-space: nowrap;
}
.mentions-legales:hover,
.remboursement:hover,
.contact:hover {
	text-decoration: underline dotted hsla(0, 0%, 10%, 0.7);
}
.palyance-sponsor {
	display: flex;
	justify-content: center;
	margin-bottom: 8px;
	align-items: flex-end;
}
.palyance-text {
	font-weight: 900;
	margin-left: 5px;
	font-size: 14px;
}

.delete-item-btn {
	padding: 0 7px;
	border: 0;
	background-color: transparent;
	font-size: 16px;
	color: #7e7e7e;
}

.upsell-box {
	width: 100%;
	background-color: #f8f9fa;
	padding: 12px 16px;
	margin-top: 0px;
	border: 1px solid hsla(0, 0%, 10%, 0.1);
	border-top: 0;
	border-radius: 0px 0px 6px 6px;
	max-width: 100%;
	margin-bottom: 20px;
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
	box-sizing: border-box;
}
.radio-btn-text {
	display: flex;
	align-items: center;
	width: 100%;
}
.radio-upsell {
	padding-right: 10px;
}
.radio-upsell input[type="checkbox"] {
	--bs-form-check-bg: #ffffff;
	height: 1em;
	margin-top: 0.25em;
	vertical-align: top;
	appearance: none;
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-size: contain;
	border: 1px solid #dee2e6;
	print-color-adjust: exact;
	--bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0,0,0,0.25)'/%3E%3C/svg%3E");
	width: 2em;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0,0,0,0.25)'/%3E%3C/svg%3E");
	background-position: 0;
	border-radius: 2em;
	transition: background-position 0.15s ease-in-out;
}
.radio-upsell input[type="checkbox"]:checked {
	background-color: #0d6efd;
	border-color: #0d6efd;
	background-position: right center;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.text-upsell {
	margin-right: 10px;
	font-size: 12px;
	color: rgb(94, 94, 94);
}

.highlighted-text {
	margin-right: 5px;
	color: rgb(14, 98, 69);
	font-weight: 500;
	background-color: #cbf4c9;
	border-radius: 4px;
	padding: 1px 6px;
}
.price-upsell {
	color: rgb(94, 94, 94);
	font-size: 12px;
	margin-left: auto;
	/*white-space: nowrap;*/
}
.old-price {
	display: inline-block;
	text-decoration: line-through;
	padding-left: 5px;
	padding-right: 5px;
}
.frequency {
	display: inline-block;
	padding-left: 5px;
}
.coupon {
	margin: 20px 0;
}

.footer-fs {
	position: absolute;
	bottom: 0px;
}

#promo-container {
	cursor: default;
	background-color: transparent;
	border: none;
	padding: 0;
}
#promo-container .coupon-label {
	color: #227cd7;
}
#promo-text,
#promo-text-fs {
	color: #227cd7;
}

.input-group > .form-control,
.input-group > .form-floating,
.input-group > .form-select {
	padding-right: 39px;
}

.product_description_fs {
	margin-top: 20px;
	margin-bottom: 24px;
}

.choice-item-details {
	border: 1px solid hsla(0, 0%, 10%, 0.1);
	border-radius: 6px 6px 0px 0px;
	padding: 16px 16px 16px 16px;
	width: 100%;
}
.choice-item-details .choice-left-col {
	text-align: center;
}

@media (max-width: 991px) {
	.choice-item-details .choice-left-col {
		margin-bottom: 10px;
	}
	.choice-item .title-price {
		flex-direction: column;
		gap: 4px;
	}
	.choice-item .title-price .small-text {
		text-align: left;
		margin-left: 0;
	}
}
@media (min-width: 992px) {
	.choice-item-details {
		display: flex;
		align-items: center;
		gap: 16px;
	}
	.choice-item-details .choice-left-col {
		flex: 0 0 auto;
		max-width: 120px;
	}
	.choice-item-details .choice-right-col {
		flex: 1;
		min-width: 0;
	}
	.choice-item img {
		width: 90px;
		max-width: 100%;
	}
	.choice-item .title-price {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 12px;
	}
	.upsell-box {
		display: flex;
		align-items: center;
	}
}

.qty-btn {
	display: block;
	font-size: 14px;
	margin-right: 4px;
	padding: 0 0 0 5px;
	border: none;
	height: auto;
}
.qty-btn-text {
	position: relative;
	font-size: 12px;
	font-weight: 500;
}
.qty-btn-text::after {
	content: "\f107";
	position: absolute;
	top: 5px;
	right: 4px;
	pointer-events: none;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 12px;
}
.choice-item-details .quantity-select {
	display: none;
	padding: 5px 17px 5px 25px;
	appearance: none;
	outline: none;
	background: none;
	border: 0;
}
.qty-btn-text-label {
	position: absolute;
	top: 5px;
	pointer-events: none;
	cursor: default;
}
.qty-btn-text-value {
	display: inline-block;
	padding: 5px 17px 5px 25px;
	min-width: 35px;
}

@media (min-width: 992px) {
	.qty-btn-text-value {
		display: none;
	}
	.choice-item-details .quantity-select {
		display: inline-block;
	}
}

@media (max-width: 400px) {
	.pay_btn {
		width: 100%;
	}
}

@media (min-width: 401px) {
	.pay_btn {
		width: 100%;
	}
}

@media (max-width: 992px) {
	.modal-dialog {
		position: absolute;
		bottom: 0px;
		margin: 0px 0px;
		width: 100%;
		max-width: 992px;
	}
	.left-part-fs {
		display: none;
		margin: 0px 5px;
	}
	.container {
		max-width: 700px;
	}
}

@media (min-width: 992px) {
	.container {
		padding: 0px;
		margin: 0 auto;
		max-width: 80%;
	}
	#app > div.container > div > div.footer.footer-fs.mb-2.footer-sm {
		display: none;
	}

	#app
		> div.container
		> div
		> div.col-lg-6.left-col.position-relative
		> div:nth-child(3)
		> div.footer.footer-fs.footer-lg.mb-2 {
		display: unset;
	}

	.footer-fs {
		display: block;
		left: 0;
		width: 100%;
	}
	.footer-conditions {
		display: block;
		text-align: center;
	}
	.palyance-divbtn {
		padding: 0px 12px;
		margin-top: 10px;
		display: flex;
		justify-content: center;
	}
	.cash-back-btn {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* Contact form fields */
.contact-form {
	margin-top: 10px;
}
.contact-form label {
	display: none;
}
.contact-form .field-type-checkbox + label {
	display: inline-block;
	padding-left: 10px;
	max-width: 100%;
	white-space: initial;
}
.contact-form .manualInput label {
	display: block;
	margin-top: 20px;
}

.contact-form .manualInput label {
	cursor: pointer;
	text-decoration: underline dotted hsla(0, 0%, 10%, 0.7);
	color: hsla(0, 0%, 10%, 0.7);
	font-size: 12px;
	font-weight: 400;
}
.contact-form .billingStreet3 label .required {
	display: none;
}
.contact-form .billingStreet1 input,
.contact-form .billingStreet2 input,
.contact-form .billingStreet4 input,
.contact-form .billingZipCode input {
	border-radius: 0px;
}

.contact-form .billingStreet3 input {
	border-radius: 0px 0px 6px 6px;
}

.contact-form .billingZipCode input {
	border-radius: 0px 0px 0px 6px;
}

.contact-form .billingCity input {
	border-radius: 0px 0px 6px 0px;
}

.contact-form .field-group-billing,
.contact-form .field-group-shipping,
.contact-form .field-group-cgv {
	padding: 0 8px;
}
.contact-form .field-type-text,
.contact-form .field-type-email,
.contact-form .field-type-tel {
	display: block;
	width: 100%;
	padding: 10px 40px;
	border-radius: 0 0 6px 6px;
	color: #212529;
	border: 1px solid #dee2e6;
	font-size: 1rem;
}

.contact-form .field-billingFirstName,
.contact-form .field-billingLastName,
.contact-form .field-billingCity,
.contact-form .shippingPhoneNumber,
.contact-form .shippingStreet3,
.contact-form .shippingStreet1,
#shippingPhoneNumber,
.contact-form .field-shippingCountry,
.contact-form .field-shippingStreet3,
.contact-form .field-shippingStreet1 {
	border-radius: 0px;
}

.contact-form .billingGender {
	width: 15%;
	padding-right: 0px;
}

.contact-form .field-billingLastName,
.contact-form .field-shippingLastName {
	border-radius: 0px 6px 0px 0px;
}

.contact-form .field-billingFirstName,
.contact-form .field-shippingFirstName {
	border-radius: 6px 0px 0px 0px;
}

.contact-form .shippingZipCode {
	border-radius: 0px 0px 0px 6px;
}

.contact-form .field-billingGender {
	border-top-left-radius: 6px;
	border-top-right-radius: 0px;
	margin-top: 1rem;
}

.contact-form .billingFirstName,
.contact-form .billingLastName,
.contact-form .shippingFirstName,
.contact-form .shippingLastName {
	width: 50%;
	margin-top: 1rem;
}

.contact-form .billingCity,
.contact-form .billingZipCode,
.contact-form .shippingCity,
.contact-form .shippingZipCode {
	width: 50%;
}
.contact-form .billingGender,
.contact-form .billingFirstName,
.contact-form .billingLastName,
.contact-form .billingCity,
.contact-form .billingZipCode,
.contact-form .shippingFirstName,
.contact-form .shippingLastName,
.contact-form .shippingZipCode,
.contact-form .shippingCity {
	display: inline-block;
	vertical-align: top;
}
.contact-form .billingFirstName {
	padding-left: 8px;
}
.contact-form .billingFirstName,
.contact-form .billingZipCode,
.contact-form .shippingFirstName,
.contact-form .shippingZipCode {
	padding-right: 0px !important;
}
.contact-form .billingLastName,
.contact-form .billingCity,
.contact-form .shippingLastName,
.contact-form .shippingCity {
	padding-left: 0px !important;
}
.contact-form .shippingCountry > select {
	margin-top: 0px;
}
.contact-form .field-billingCountry {
	margin-top: 0px;
	border-radius: 0px;
}
.contact-form ::placeholder {
	color: rgb(33, 37, 41, 0.75);
	opacity: 1;
}
.contact-form .field-billingEmail {
	border-radius: 6px 6px 0 0;
}

/* FORGE-412 — Les icones Font Awesome (.fa-envelope, .fa-phone) etaient
 * positionnees absolument a l'interieur des wrappers .field-icon. On retire
 * leur affichage pour avoir des inputs sobres. La classe .field-icon reste
 * declenchable pour ne pas casser la structure DOM, mais ne porte plus
 * d'icone visible. */
.field-icon {
	position: relative;
}

.contact-form select {
	min-height: 46px;
	margin-top: 1rem;
	border-radius: 6px 6px 0 0;
}
.contact-form .form-control.is-invalid {
	border-color: #dc3545;
	background-color: #fff5f5;
	box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15);
}
.contact-form .validation-error {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #dc3545;
	padding: 6px 10px;
	margin-top: 2px;
	background-color: #fff5f5;
	border-left: 3px solid #dc3545;
	border-radius: 0 4px 4px 0;
}
.contact-form .validation-error::before {
	content: "\f071";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 6px;
	font-size: 11px;
}
.contact-form .sameAsBilling {
	margin-top: 20px;
	white-space: nowrap;
	margin-bottom: 20px;
}
.contact-form .sameAsBilling label {
	white-space: normal;
}
.contact-form .field-group-cgv {
	margin-top: 5px;
	white-space: nowrap;
}
.contact-form .alert {
	margin-top: 20px;
}
.contact-form .alert-warning {
	background-color: #fff3cd;
	border: 1px solid #ffc107;
	border-left: 4px solid #e0a800;
	color: #664d03;
	font-weight: 500;
	font-size: 14px;
	padding: 14px 18px;
	border-radius: 6px;
	animation: shake-attention 0.5s ease-in-out;
}
@keyframes shake-attention {
	0%,
	100% {
		transform: translateX(0);
	}
	10%,
	30%,
	50%,
	70%,
	90% {
		transform: translateX(-4px);
	}
	20%,
	40%,
	60%,
	80% {
		transform: translateX(4px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.contact-form .alert-warning {
		animation: none;
	}
}
.contact-form .alert-danger {
	background-color: #fff4e5;
	border: 1px solid #ffd699;
	border-left: 4px solid #e6a020;
	color: #7a4d00;
	font-weight: 500;
	font-size: 14px;
	padding: 14px 18px;
	border-radius: 6px;
}
.field-group-cgv a {
	color: #244d61;
	text-decoration: none;
}
.outside-label {
	margin-top: 10px;
	padding: 0 8px;
	font-family:
		-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue",
		"Ubuntu", sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: hsla(0, 0%, 10%, 0.7);
}

/* payment form */
.payment-form ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.payment-form li {
	flex: 0 0 auto;
	width: 49%;
	padding: 27px 12px 11px 22px;

	border: 1px solid #ced4da;
	border-radius: 6px;
	box-shadow: 0 0 0 1px #e0e0e0;
	color: hsla(0, 0%, 10%, 0.7);
	font-size: 12px;
	display: flex;
	flex-direction: column-reverse;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
	font-family:
		system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.payment-form li.active {
	color: black;
	border-color: black;
}
.payment-form label {
	color: black;
	margin-top: 5px;
	font-size: 13px;
	cursor: pointer;
}
.payment-form input {
	display: none;
}
.payment-form iframe {
	width: 100%;
}

/* coupon */
.cart-coupon {
	display: block;
}
.cart-coupon form {
	display: block;
	width: 100%;
}
.cart-coupon button {
	position: absolute;
	right: 0;
	top: 0;
	height: 46px;
	padding: 0 12px;
	background: none;
	border: 0;
	color: rgb(25, 37, 82);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	cursor: pointer;
}

/* order page process */
.order-page-process .row {
	margin: 0;
}
.order-page-process .row > * {
	padding: 0;
}
.order-page-process .title,
.cart-title-container .title {
	font-size: 18px;
	margin-bottom: 10px;
}

.order-page-process .products-list,
.order-page-process .orderpage-list {
	border: 1px solid hsla(0, 0%, 10%, 0.1);
	border-radius: 6px 6px 0px 0px;
	padding: 16px 16px 16px 16px;
	width: 100%;
	transition:
		border-color 0.3s ease,
		background-color 0.3s ease,
		box-shadow 0.3s ease;
}
.order-page-process.offer-section-highlight .orderpage-list,
.order-page-process.offer-section-highlight .products-list {
	border-color: #e88e9a;
}
.order-page-process .product-item-photo {
	text-align: center;
}
.order-page-process img {
	width: 300px;
	max-width: 100%;
	max-height: 100%;
	height: auto;
}
.order-page-process .products-list a,
.order-page-process .orderpage-list a {
	font-weight: 500;
	font-size: 14px;
	color: hsla(0, 0%, 10%, 0.9);
	text-decoration: none;
}
.order-page-process .products-list a:hover,
.order-page-process .orderpage-list a:hover {
	text-decoration: underline;
}
.order-page-process .orderpage-list .product-item {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid hsla(0, 0%, 50%, 0.1);
}
.order-page-process .orderpage-list .product-item:first-child {
	padding-top: 0;
}
.order-page-process .orderpage-list .product-item:last-child {
	border-bottom: 0;
}
.order-page-process .product-item-name {
	font-size: 14px;
	line-height: 1em;
	margin-bottom: 5px;
}
.order-page-process .listing-long-name {
	margin-bottom: 5px;
	font-size: 12px;
	color: #a4a4a4;
}
.promotion-label-container {
	display: block;
	text-align: right;
}
.price-wrapper {
	display: block;
	text-align: right;
	word-break: break-word;
}
@media (max-width: 991px) {
	.promotion-label-container,
	.price-wrapper {
		text-align: left;
		white-space: normal;
	}
}
.order-page-process .old-price-wrapper {
	text-decoration: line-through;
	margin-right: 5px;
}
.order-page-process .price-container {
	color: rgb(94, 94, 94);
	font-size: 12px;
	overflow-wrap: break-word;
	word-break: break-word;
}
.order-page-process .price {
	margin-left: 0;
	display: block;
}
/* FORGE-412 — Le bouton "+ Ajouter" (rendu par AddToCart.vue sur les
 * cartes d'offre en mode multi-offre) a son style accent bleu defini
 * dans src/styles/orderpage.css (vanguard-v2 bundle). Les anciennes
 * regles `.order-page-process .{products-list,orderpage-list}
 * .add-to-cart-btn` qui forcaient un fond gris #F3F3F3 ont ete
 * retirees ici parce que `page.css` est servi APRES `app.min.css` et,
 * a specificite egale, l'emportait sur le style accent. Resultat
 * visible : bouton gris au lieu d'accent transparent. La source de
 * verite reste vanguard-v2 ; ce fichier ne touche plus a ce selecteur. */

/* Confirmation/upsell page button styling.
 *
 * FORGE-412 — On a retire `.add-to-cart-btn` et `button[type="button"].btn.btn-primary`
 * de ce selecteur car ils etaient trop generiques et ecrasaient le bouton
 * "Ajouter au panier" de l'order page principale (qui a son propre style
 * accent dans src/styles/orderpage.css). Le bloc reste actif pour les
 * contextes specifiques aux pages confirmation/upsell. */
.checkout-extrasell-product .add-to-cart-btn,
.process-upsell-btn,
.skip-process-btn,
button[type="button"].process-upsell-btn,
button[type="button"].skip-process-btn {
	width: 100% !important;
	max-width: 200px !important;
	height: 44px !important;
	padding: 6px 12px !important;
	border: solid 1px #0d6efd !important;
	border-radius: 0.375rem !important;
	background-color: #244d61 !important;
	cursor: pointer !important;
	font-size: 16px !important;
	opacity: 1 !important;
	color: #ffffff !important;
	font-family:
		-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue",
		"Ubuntu", sans-serif !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
	text-align: center !important;
	line-height: 1.5 !important;
	display: block !important;
	margin: 0 auto !important;
	text-decoration: none !important;
	vertical-align: middle !important;
	user-select: none !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Extrasell : alignement à gauche (largeur / centrage gérés dans vanguard orderpage.css) */
.checkout-extrasell-product .add-to-cart {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top: 15px;
	width: 100%;
	text-align: left;
	padding: 0;
}

.checkout-extrasell-product
	.product-item
	.card-footer.product-item-details-button {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;
}

.checkout-extrasell-product .product-item .card-footer .add-to-cart {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.checkout-extrasell-product .product-item .card-footer .price-container {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 15px;
}

.checkout-extrasell-product .add-to-cart .add-to-cart-btn {
	margin: 0;
	display: inline-flex;
}

.checkout-extrasell-product .product-item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
	padding: 20px;
}

.checkout-extrasell-product .product-item > * {
	width: 100%;
	text-align: left;
}

.checkout-extrasell-product .add-to-cart-btn:hover,
.process-upsell-btn:hover,
.skip-process-btn:hover,
button[type="button"].process-upsell-btn:hover,
button[type="button"].skip-process-btn:hover {
	background-color: #1a3a4a !important;
	color: #ffffff !important;
	border-color: #0d6efd !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 8px rgba(36, 77, 97, 0.2) !important;
}
.order-page-process .add-to-cart {
	margin-top: 5px;
}
@media (min-width: 576px) {
	.order-page-process .row > * {
		width: 100%;
	}
}
@media (min-width: 992px) {
	.order-page-process .row > .col-sm-2 {
		width: 16.66667%;
	}
	.order-page-process .row > .col-sm-4 {
		width: 33.33333%;
	}
	.order-page-process .row > .col-sm-3 {
		width: 25%;
	}
}

.footer-sm {
	display: block;
}

.footer-lg {
	display: none;
}

.alert-top {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1050;
}

.order-page-process .product-item-info > * {
	padding: 5px;
}
.order-page-process .product-item-info {
	flex-wrap: wrap;
}
@media (max-width: 991px) {
	.order-page-process .product-item-info > .price-container {
		width: 100%;
		text-align: left;
		padding-top: 8px;
	}
	.order-page-process .product-item-info > .add-to-cart-col {
		width: 100%;
		margin-top: 8px;
	}
}
@media (min-width: 992px) {
	.order-page-process .product-item-info > .add-to-cart-col {
		margin-left: auto;
	}
}

#app
	> div.container
	> div
	> div.col-lg-6.right-col
	> form
	> div.field-group-billing.billingGender {
	display: none;
}

#app
	> div.container
	> div
	> div.col-lg-6.right-col
	> form
	> div.field-group-shipping.shippingGender {
	display: none;
}

.add-to-cart {
	width: auto !important;
}

.product-item-photo {
	width: 100%;
	flex-shrink: 0;
}

.price-container {
	width: 100%;
	text-align: left;
}

.product-item-details {
	width: 100%;
}

@media (min-width: 992px) {
	.product-item-photo {
		width: 15%;
	}
	.price-container {
		width: 30%;
		text-align: right;
	}
	.product-item-details {
		width: 55%;
	}
}

.product-item-details .know-more {
	display: none !important;
}

/* === Waiting double optin === */
.enter-your-token .input-number-token {
	border: 0;
	border-bottom: 1px solid #ddd;
	width: 2rem;
	text-align: center;
	margin: 0 0.2rem;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
}
.enter-your-token .input-number-dash {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
}
.enter-your-token .countdown {
	position: relative;
	margin: auto;
	height: 100px;
	line-height: 100px;
	width: 100px;
	text-align: center;
	margin-top: 20px;
	background: #429bd6;
	background: linear-gradient(145deg, #429bd6 0%, #22458d 100%);
	font-size: 18px;
	border-radius: 50%;
}
.enter-your-token .countdown .countdown-number {
	color: white;
	display: inline-block;
	line-height: 100px;
}
.enter-your-token .countdown svg {
	position: absolute;
	top: 0;
	right: 0;
	width: 100px;
	height: 100px;
	transform: rotateY(-180deg) rotateZ(-90deg);
}
.enter-your-token .countdown svg circle {
	stroke-dasharray: 301px;
	/* stroke-dashoffset: 0px; */
	/* stroke-linecap: round; */
	/* stroke-width: 2px; */
	stroke: white;
	/* fill: none; */
}

#shippingZipCode {
	border-radius: 0px 0px 0px 6px;
}

#shippingCity {
	border-radius: 0px 0px 6px 0px;
}

.row-1 {
	position: relative;
	padding-bottom: 60px;
}

.starting-offer {
	display: block;
}
.after-starting-offer {
	display: block;
	margin-top: 2px;
}

/* ----------------------------------------------------------------------
 * FORGE-412 — Modernisation order page
 *
 * Les tokens --vg-* (palette, radius, ombres) sont definis dans
 * src/styles/orderpage.css (bundle Vue). On ne les surcharge pas ici :
 * la palette par defaut est volontairement uniforme pour toutes les
 * order pages generees par magellan-bundle. Si un tenant veut imposer
 * sa propre palette, il peut le faire via /css/global.css.
 *
 * Responsive — assouplit le 2-cols a partir de 768px (vs 992px historique)
 * et evite tout scroll horizontal en <768px.
 * ---------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991.98px) {
	.left-col {
		padding: 0 24px 32px 24px;
	}
	.right-col {
		padding: 0 0 0 24px;
	}
}

@media (max-width: 767.98px) {
	.container {
		max-width: 100%;
		padding: 0 16px;
	}
	.row.row-1 {
		flex-direction: column;
	}
	.left-col,
	.right-col {
		padding: 0;
		max-width: 100%;
	}
	/* L'iframe Palyance reste pleine largeur, dimensions internes inchangees */
	.right-col iframe {
		max-width: 100%;
	}
}

/* La nouvelle carte (.vg-orderpage-card) gere sa propre presentation, on
   neutralise quelques regles legacy qui surchargeaient .product-item dans
   ce template marketing. */
.vg-orderpage-card .product-item-info {
	margin: 0;
}

/* Order page accent — configured via Order Page Manager */
:root {
  --vg-accent: #fd3535;
  --vg-accent-hover: #f03232;
  --vg-accent-ring: rgba(253, 53, 53, 0.18);
  --vg-promo-bg: #ffefef;
  --vg-promo-fg: var(--vg-accent);
  --vg-card-border-color-selected: var(--vg-accent);
}
