/* Ferefen - Tunnel d'achat : panier, commande, confirmation
 * Portee : body.ff-tunnel (ajoutee par ff-tunnel.php sur panier / commande / confirmation)
 *          .et-l--post = contenu de la page, le pied de page n'est jamais touche.
 * Variables : --ff-btn-bg  --ff-btn-bg-hover  --ff-btn-color
 */

/* ==================================================================
   1. Fil d'etapes  [ferefen_etapes]
   ================================================================== */
.ff-etapes {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
	max-width: 620px;
	margin: 0 auto 8px;
	padding: 0;
	list-style: none;
	counter-reset: ff-etape;
}

.ff-etapes li {
	position: relative;
	flex: 1 1 0;
	margin: 0;
	padding: 0 6px;
	text-align: center;
	list-style: none;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: #9AA3B2;
}

.ff-etapes li::before {
	counter-increment: ff-etape;
	content: counter(ff-etape);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0 auto 10px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 2px solid #E2E6EF;
	color: #9AA3B2;
	font-size: 15px;
	font-weight: 700;
	position: relative;
	z-index: 2;
}

.ff-etapes li::after {
	content: "";
	position: absolute;
	top: 17px;
	left: calc(-50% + 18px);
	width: calc(100% - 36px);
	height: 2px;
	background: #E2E6EF;
	z-index: 1;
}

.ff-etapes li:first-child::after {
	display: none;
}

.ff-etapes li.is-done {
	color: #1E3888;
}

.ff-etapes li.is-done::before {
	background: #1E3888;
	border-color: #1E3888;
	color: #FFFFFF;
}

.ff-etapes li.is-done::after,
.ff-etapes li.is-active::after {
	background: #1E3888;
}

.ff-etapes li.is-active {
	color: #C24A00;
}

.ff-etapes li.is-active::before {
	background: var(--ff-btn-bg, #FF6600);
	border-color: var(--ff-btn-bg, #FF6600);
	color: #FFFFFF;
	box-shadow: 0 0 0 4px rgba(255, 102, 0, .15);
}

@media (max-width: 480px) {
	.ff-etapes li {
		font-size: 11.5px;
		padding: 0 3px;
	}

	.ff-etapes li::before {
		width: 30px;
		height: 30px;
		font-size: 13px;
		margin-bottom: 8px;
	}

	.ff-etapes li::after {
		top: 14px;
		left: calc(-50% + 15px);
		width: calc(100% - 30px);
	}
}

/* ==================================================================
   2. Bandeau de reassurance  [ferefen_rassurance]
   ================================================================== */
.ff-tunnel-reassure {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ff-tunnel-reassure li {
	flex: 1 1 220px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ff-tunnel-reassure li > a,
.ff-tunnel-reassure li > span.ff-tr__ico,
.ff-tunnel-reassure li {
	line-height: 1.45;
}

.ff-tunnel-reassure li > a,
.ff-tunnel-reassure li > .ff-tr__ico {
	text-decoration: none;
}

.ff-tunnel-reassure li,
.ff-tunnel-reassure .ff-tr__lien {
	display: flex;
	align-items: flex-start;
	gap: 14px; padding: 18px 20px;
	border: 1px solid #E9ECF2;
	border-radius: 12px;
	background: #F9FAFB;
}

.ff-tunnel-reassure .ff-tr__lien {
	flex: 1 1 auto;
	margin: -18px -20px;
	border: 0;
	background: transparent;
	color: inherit;
	transition: background .2s ease;
}

.ff-tunnel-reassure .ff-tr__lien:hover {
	background: #F1F5FF;
}

.ff-tunnel-reassure .ff-tr__ico {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px; border-radius: 10px;
	background: #FFFFFF;
	border: 1px solid #E4E8F0;
	color: var(--ff-btn-bg, #FF6600);
}

.ff-tunnel-reassure .ff-tr__ico svg { width: 21px; height: 21px;
	display: block;
}

.ff-tunnel-reassure .ff-tr__txt {
	display: block;
}

.ff-tunnel-reassure .ff-tr__txt strong {
	display: block;
	margin-bottom: 4px; color: #1F2B6E; font-size: 17px; line-height: 1.3; font-weight: 700;
}

.ff-tunnel-reassure .ff-tr__txt > span {
	display: block;
	color: #434B6B; font-size: 15px; line-height: 1.5;
}

/* ==================================================================
   3. Cartes : un module Divi = une carte
   ================================================================== */
body.ff-tunnel .et_pb_wc_cart_products,
body.ff-tunnel .et_pb_wc_cart_totals,
body.ff-tunnel .et_pb_wc_checkout_billing,
body.ff-tunnel .et_pb_wc_checkout_shipping,
body.ff-tunnel .et_pb_wc_checkout_additional_info,
body.ff-tunnel .et_pb_wc_checkout_order_details,
body.ff-tunnel .et_pb_wc_checkout_payment_info {
	background: #FFFFFF;
	border: 1px solid #E9ECF2;
	border-radius: 14px;
	padding: 24px;
	box-shadow: 0 10px 30px rgba(30, 56, 136, .05);
}

/* Recapitulatif et paiement : fond legerement teinte */
body.ff-tunnel .et_pb_wc_cart_totals,
body.ff-tunnel .et_pb_wc_checkout_order_details {
	background: #F9FAFB;
}

/* Modules vides : pas de carte fantome */
body.ff-tunnel .et_pb_wc_cart_products.et_pb_wc_cart_empty,
body.ff-panier-vide .et_pb_wc_cart_totals,
body.ff-panier-vide .et_pb_wc_cross_sells {
	display: none;
}

/* Structure dupliquee par les modules isoles : on neutralise */
/* ATTENTION : dans le module Paiement, #payment est a l'interieur de
   #order_review. Ne jamais masquer #order_review dans ce module. */
body.ff-tunnel .et_pb_wc_checkout_billing #order_review,
body.ff-tunnel .et_pb_wc_checkout_shipping #order_review,
body.ff-tunnel .et_pb_wc_checkout_additional_info #order_review,
body.ff-tunnel .et_pb_wc_checkout_payment_info #customer_details,
body.ff-tunnel .et_pb_wc_checkout_payment_info #order_review_heading,
body.ff-tunnel .et_pb_wc_checkout_order_details #customer_details {
	display: none;
}

body.ff-tunnel .et_pb_wc_checkout_section .col2-set,
body.ff-tunnel .et_pb_wc_checkout_section .col-1,
body.ff-tunnel .et_pb_wc_checkout_section .col-2 {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

/* ==================================================================
   4. Titres de section
   ================================================================== */
body.ff-tunnel .et-l--post .et_pb_wc_cart_totals h2,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_billing h3,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_shipping h3,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_additional_info h3,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_order_details h3,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_payment_info h3,
body.ff-tunnel .et-l--post .et_pb_wc_cross_sells h2 {
	margin: 0 0 18px;
	padding: 0;
	color: #1E3888;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}

/* ==================================================================
   5. Tableaux (produits du panier, recapitulatif)
   ================================================================== */
body.ff-tunnel .et-l--post table.shop_table {
	width: 100%;
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	margin: 0;
}

body.ff-tunnel .et-l--post table.shop_table th {
	padding: 0 10px 12px 0;
	border: 0;
	border-bottom: 1px solid #E9ECF2;
	color: #6B7280;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.ff-tunnel .et-l--post table.shop_table td {
	padding: 16px 10px 16px 0;
	border: 0;
	border-bottom: 1px solid #F1F3F8;
	vertical-align: middle;
	color: #1F2937;
}

body.ff-tunnel .et-l--post table.shop_table tr:last-child td {
	border-bottom: 0;
}

body.ff-tunnel .et-l--post td.product-thumbnail img,
body.ff-tunnel .et-l--post td.product-thumbnail a img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	border: 1px solid #EEF1F6;
	border-radius: 10px;
	background: #FFFFFF;
	padding: 4px;
}

body.ff-tunnel .et-l--post td.product-name a,
body.ff-tunnel .et-l--post .product-name a {
	color: #1E3888;
	font-weight: 600;
	text-decoration: none;
}

body.ff-tunnel .et-l--post td.product-name a:hover,
body.ff-tunnel .et-l--post .product-name a:hover {
	color: #FF6600;
}

body.ff-tunnel .et-l--post .woocommerce-Price-amount {
	color: #1F2937;
	font-weight: 600;
}

body.ff-tunnel .et-l--post tr.order-total .woocommerce-Price-amount,
body.ff-tunnel .et-l--post tr.order-total th {
	color: #C24A00;
	font-size: 1.15em;
	font-weight: 800;
}

body.ff-tunnel .et-l--post a.remove {
	width: 28px;
	height: 28px;
	line-height: 26px;
	border-radius: 50%;
	background: #F3F4F7;
	color: #6B7280;
	font-size: 18px;
	text-decoration: none;
}

body.ff-tunnel .et-l--post a.remove:hover {
	background: #FDE9DC;
	color: #C24A00;
}

body.ff-tunnel .et-l--post .quantity input.qty {
	width: 74px;
	min-height: 46px;
	padding: 8px 6px;
	border: 1px solid #D9DBE1;
	border-radius: 10px;
	background: #FFFFFF;
	color: #1E293B;
	font-size: 15px;
	text-align: center;
}

/* ==================================================================
   6. Champs de formulaire
   ================================================================== */
body.ff-tunnel .et-l--post .form-row label,
body.ff-tunnel .et-l--post .woocommerce-form__label span {
	margin-bottom: 7px;
	color: #1E3888;
	font-size: 14px;
	font-weight: 600;
}

body.ff-tunnel .et-l--post .form-row input.input-text,
body.ff-tunnel .et-l--post .form-row textarea,
body.ff-tunnel .et-l--post .form-row select,
body.ff-tunnel .et-l--post input#coupon_code,
body.ff-tunnel .et-l--post .select2-container .select2-selection--single {
	width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid #D9DBE1;
	border-radius: 10px;
	background: #FFFFFF;
	font-size: 16px;
	line-height: 1.4;
	color: #1E293B;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

body.ff-tunnel .et-l--post .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}

body.ff-tunnel .et-l--post .form-row textarea {
	min-height: 110px;
}

body.ff-tunnel .et-l--post .form-row input.input-text:focus,
body.ff-tunnel .et-l--post .form-row textarea:focus,
body.ff-tunnel .et-l--post .form-row select:focus,
body.ff-tunnel .et-l--post input#coupon_code:focus {
	border-color: #1E3888;
	box-shadow: 0 0 0 3px rgba(30, 56, 136, .12);
	outline: none;
}

body.ff-tunnel .et-l--post .form-row.woocommerce-invalid input.input-text,
body.ff-tunnel .et-l--post .form-row.woocommerce-invalid select {
	border-color: #DC2626;
}

body.ff-tunnel .et-l--post .form-row.woocommerce-validated input.input-text {
	border-color: #16A34A;
}

body.ff-tunnel .et-l--post .required {
	color: #C24A00;
	text-decoration: none;
}

body.ff-tunnel .et-l--post .form-row {
	margin-bottom: 16px;
	padding: 0;
}

body.ff-tunnel .et-l--post .woocommerce-form__label-for-checkbox {
	display: block;
	position: relative;
	padding-left: 32px;
	line-height: 1.5;
	cursor: pointer;
}

body.ff-tunnel .et-l--post .woocommerce-form__label-for-checkbox input[type="checkbox"] {
	position: absolute;
	top: 1px;
	left: 0;
	width: 20px !important;
	height: 20px;
	min-height: 0 !important;
	margin: 0;
	padding: 0 !important;
	accent-color: var(--ff-btn-bg, #FF6600);
}

/* ==================================================================
   7. Boutons
   ================================================================== */
body.ff-tunnel .et-l--post .button,
body.ff-tunnel .et-l--post button.button,
body.ff-tunnel .et-l--post input.button,
body.ff-tunnel .et-l--post #place_order,
body.ff-tunnel .et-l--post a.checkout-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 54px;
	padding: 15px 28px !important;
	background: var(--ff-btn-bg, #FF6600) !important;
	border: 1px solid var(--ff-btn-bg, #FF6600) !important;
	color: var(--ff-btn-color, #FFFFFF) !important;
	border-radius: 10px !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background .2s ease, border-color .2s ease;
}

body.ff-tunnel .et-l--post .button:hover,
body.ff-tunnel .et-l--post button.button:hover,
body.ff-tunnel .et-l--post input.button:hover,
body.ff-tunnel .et-l--post #place_order:hover,
body.ff-tunnel .et-l--post a.checkout-button:hover {
	background: var(--ff-btn-bg-hover, #E65C00) !important;
	border-color: var(--ff-btn-bg-hover, #E65C00) !important;
	color: #FFFFFF !important;
}

/* Boutons secondaires : mise a jour du panier, code promo, retour boutique */
body.ff-tunnel .et-l--post button[name="update_cart"],
body.ff-tunnel .et-l--post button[name="apply_coupon"],
body.ff-tunnel .et-l--post .coupon button.button,
body.ff-tunnel .et-l--post a.wc-backward,
body.ff-tunnel .et-l--post .woocommerce-form-login__submit {
	background: #FFFFFF !important;
	border: 1px solid #1E3888 !important;
	color: #1E3888 !important;
}

body.ff-tunnel .et-l--post button[name="update_cart"]:hover,
body.ff-tunnel .et-l--post button[name="apply_coupon"]:hover,
body.ff-tunnel .et-l--post .coupon button.button:hover,
body.ff-tunnel .et-l--post a.wc-backward:hover,
body.ff-tunnel .et-l--post .woocommerce-form-login__submit:hover {
	background: #1E3888 !important;
	border-color: #1E3888 !important;
	color: #FFFFFF !important;
}

body.ff-tunnel .et-l--post button[name="update_cart"]:disabled {
	opacity: .45;
}

body.ff-tunnel .et-l--post a.checkout-button,
body.ff-tunnel .et-l--post #place_order {
	width: 100%;
	font-size: 17px !important;
}

/* ==================================================================
   8. Panier : actions, code promo, totaux
   ================================================================== */
body.ff-tunnel .et-l--post td.actions {
	padding: 20px 0 0;
	border-top: 1px solid #E9ECF2;
}

body.ff-tunnel .et-l--post .coupon {
	display: flex;
	gap: 10px;
	align-items: stretch;
	float: none;
	margin-bottom: 12px;
}

body.ff-tunnel .et-l--post .coupon label {
	display: none;
}

body.ff-tunnel .et-l--post .coupon input#coupon_code {
	flex: 1 1 auto;
	width: auto;
	max-width: 260px;
}

body.ff-tunnel .et-l--post .cart_totals table.shop_table td,
body.ff-tunnel .et-l--post .cart_totals table.shop_table th,
body.ff-tunnel .et-l--post .woocommerce-checkout-review-order-table td,
body.ff-tunnel .et-l--post .woocommerce-checkout-review-order-table th {
	padding: 14px 0;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
}

body.ff-tunnel .et-l--post ul#shipping_method {
	margin: 0;
	padding: 0;
}

body.ff-tunnel .et-l--post ul#shipping_method li {
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}

body.ff-tunnel .et-l--post ul#shipping_method label {
	color: #1F2937;
	font-weight: 500;
}

body.ff-tunnel .et-l--post .woocommerce-shipping-destination {
	color: #6B7280;
	font-size: 13.5px;
}

/* Recapitulatif collant sur grand ecran */
@media (min-width: 981px) {
	body.ff-tunnel .et_pb_wc_checkout_order_details {
		position: sticky;
		top: 24px;
	}
}

/* ==================================================================
   9. Paiement
   ================================================================== */
body.ff-tunnel .et-l--post #payment {
	background: transparent;
	border-radius: 0;
}

body.ff-tunnel .et-l--post #payment ul.payment_methods {
	margin: 0 0 18px;
	padding: 0 0 18px;
	border-bottom: 1px solid #E9ECF2;
}

body.ff-tunnel .et-l--post #payment ul.payment_methods li {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}

body.ff-tunnel .et-l--post #payment ul.payment_methods li label {
	color: #1F2937;
	font-size: 15.5px;
	font-weight: 600;
}

body.ff-tunnel .et-l--post #payment div.payment_box {
	margin-top: 10px;
	padding: 14px 16px;
	background: #F3F6FC;
	border-radius: 10px;
	color: #4A5568;
	font-size: 14px;
}

body.ff-tunnel .et-l--post #payment div.payment_box p:last-child {
	margin-bottom: 0;
}

body.ff-tunnel .et-l--post #payment div.payment_box::before {
	border-bottom-color: #F3F6FC;
}

body.ff-tunnel .et-l--post .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 18px;
	color: #5A6478;
	font-size: 13.5px;
}

body.ff-tunnel .et-l--post .woocommerce-terms-and-conditions {
	margin-top: 10px;
	padding: 14px 16px;
	border: 1px solid #E9ECF2;
	border-radius: 10px;
	background: #F9FAFB;
}

/* ==================================================================
   10. Messages WooCommerce
   ================================================================== */
body.ff-tunnel .et-l--post .woocommerce-message,
body.ff-tunnel .et-l--post .woocommerce-info,
body.ff-tunnel .et-l--post .woocommerce-error {
	margin: 0 0 20px;
	padding: 16px 18px 16px 52px;
	border: 1px solid #E9ECF2;
	border-top: 3px solid var(--ff-btn-bg, #FF6600);
	border-radius: 10px;
	background: #F9FAFB;
	color: #1F2937;
	font-size: 14.5px;
	list-style: none;
}

body.ff-tunnel .et-l--post .woocommerce-message::before,
body.ff-tunnel .et-l--post .woocommerce-info::before {
	color: var(--ff-btn-bg, #FF6600);
	top: 16px;
	left: 18px;
}

body.ff-tunnel .et-l--post .woocommerce-error {
	border-top-color: #DC2626;
}

body.ff-tunnel .et-l--post .woocommerce-error::before {
	color: #DC2626;
	top: 16px;
	left: 18px;
}

body.ff-tunnel .et-l--post .woocommerce-info .button,
body.ff-tunnel .et-l--post .woocommerce-message .button {
	min-height: 42px;
	padding: 10px 18px !important;
	font-size: 14px !important;
}

body.ff-tunnel .et-l--post .woocommerce-form-login-toggle .woocommerce-info,
body.ff-tunnel .et-l--post .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 12px;
}

body.ff-tunnel .et-l--post .showlogin,
body.ff-tunnel .et-l--post .showcoupon {
	color: #1E3888;
	font-weight: 700;
	text-decoration: underline;
}

body.ff-tunnel .et-l--post form.login,
body.ff-tunnel .et-l--post form.checkout_coupon {
	margin: 0 0 20px;
	padding: 20px;
	border: 1px solid #E9ECF2;
	border-radius: 12px;
	background: #FFFFFF;
}

/* ==================================================================
   11. Confirmation de commande
   ================================================================== */
body.ff-tunnel .et-l--post .woocommerce-order > p:first-child,
body.ff-tunnel .et-l--post p.woocommerce-notice--success {
	margin-bottom: 22px;
	padding: 18px 20px;
	border: 1px solid #CFE8D6;
	border-radius: 12px;
	background: #F1FAF4;
	color: #15803D;
	font-size: 16px;
	font-weight: 600;
}

body.ff-tunnel .et-l--post ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0 0 28px;
	padding: 0;
}

body.ff-tunnel .et-l--post ul.order_details li {
	flex: 1 1 170px;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid #E9ECF2;
	border-radius: 12px;
	background: #F9FAFB;
	color: #4A5568;
	font-size: 13px;
	text-transform: none;
	list-style: none;
}

body.ff-tunnel .et-l--post ul.order_details li strong {
	display: block;
	margin-top: 6px;
	color: #1E3888;
	font-size: 17px;
	font-weight: 700;
}

body.ff-tunnel .et-l--post .woocommerce-order-details,
body.ff-tunnel .et-l--post .woocommerce-customer-details {
	margin-bottom: 28px;
	padding: 24px;
	border: 1px solid #E9ECF2;
	border-radius: 14px;
	background: #FFFFFF;
	box-shadow: 0 10px 30px rgba(30, 56, 136, .05);
}

body.ff-tunnel .et-l--post .woocommerce-order-details h2,
body.ff-tunnel .et-l--post .woocommerce-customer-details h2,
body.ff-tunnel .et-l--post .woocommerce-column__title {
	margin: 0 0 16px;
	color: #1E3888;
	font-size: 20px;
	font-weight: 700;
}

body.ff-tunnel .et-l--post address {
	padding: 14px 16px;
	border: 1px solid #E9ECF2;
	border-radius: 10px;
	background: #F9FAFB;
	font-style: normal;
	line-height: 1.6;
}

/* ==================================================================
   12. Ventes croisees / suggestions
   ================================================================== */
body.ff-tunnel .et-l--post .et_pb_wc_cross_sells ul.products li.product {
	margin-bottom: 0;
}

body.ff-tunnel .et-l--post .et_pb_wc_cross_sells h2 {
	margin-bottom: 18px;
}

/* ==================================================================
   13. Mobile
   ================================================================== */
@media (max-width: 767px) {
	body.ff-tunnel .et_pb_wc_cart_products,
	body.ff-tunnel .et_pb_wc_cart_totals,
	body.ff-tunnel .et_pb_wc_checkout_billing,
	body.ff-tunnel .et_pb_wc_checkout_shipping,
	body.ff-tunnel .et_pb_wc_checkout_additional_info,
	body.ff-tunnel .et_pb_wc_checkout_order_details,
	body.ff-tunnel .et_pb_wc_checkout_payment_info {
		padding: 14px 8px;
		border-radius: 12px;
	}

	body.ff-tunnel .et-l--post td.product-thumbnail img,
	body.ff-tunnel .et-l--post td.product-thumbnail a img {
		width: 56px;
		height: 56px;
	}

	body.ff-tunnel .et-l--post table.shop_table th {
		font-size: 11px;
	}

	body.ff-tunnel .et-l--post .coupon {
		flex-wrap: wrap;
	}

	body.ff-tunnel .et-l--post .coupon input#coupon_code,
	body.ff-tunnel .et-l--post .coupon button.button,
	body.ff-tunnel .et-l--post button[name="update_cart"] {
		width: 100%;
		max-width: none;
		float: none;
	}

	body.ff-tunnel .et-l--post .form-row-first,
	body.ff-tunnel .et-l--post .form-row-last {
		width: 100%;
		float: none;
		margin-right: 0;
	}
}

/* ==================================================================
   14. Cartes sans contenu visible (marquees par ferefen-tunnel.js)
   ================================================================== */
body.ff-tunnel .ff-carte-vide {
	display: none !important;
}

/* Priorite sur le CSS genere par Divi pour les modules */
body.ff-tunnel .et_pb_wc_cart_products,
body.ff-tunnel .et_pb_wc_cart_totals,
body.ff-tunnel .et_pb_wc_checkout_billing,
body.ff-tunnel .et_pb_wc_checkout_shipping,
body.ff-tunnel .et_pb_wc_checkout_additional_info,
body.ff-tunnel .et_pb_wc_checkout_order_details,
body.ff-tunnel .et_pb_wc_checkout_payment_info {
	padding: 24px !important;
	border-radius: 14px !important;
	box-shadow: 0 10px 30px rgba(30, 56, 136, .05) !important;
}

@media (max-width: 767px) {
	body.ff-tunnel .et_pb_wc_cart_products,
	body.ff-tunnel .et_pb_wc_cart_totals,
	body.ff-tunnel .et_pb_wc_checkout_billing,
	body.ff-tunnel .et_pb_wc_checkout_shipping,
	body.ff-tunnel .et_pb_wc_checkout_additional_info,
	body.ff-tunnel .et_pb_wc_checkout_order_details,
	body.ff-tunnel .et_pb_wc_checkout_payment_info {
		padding: 14px 8px !important;
		border-radius: 12px !important;
	}
}

/* Champs : le CSS genere par Divi impose un fond gris sans bordure */
body.ff-tunnel .et-l--post .et_pb_wc_checkout_section .form-row input.input-text,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_section .form-row textarea,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_section .form-row select {
	background-color: #FFFFFF !important;
	border: 1px solid #D9DBE1 !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}

body.ff-tunnel .et-l--post .et_pb_wc_checkout_section .form-row input.input-text:focus,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_section .form-row textarea:focus,
body.ff-tunnel .et-l--post .et_pb_wc_checkout_section .form-row select:focus {
	border-color: #1E3888 !important;
	box-shadow: 0 0 0 3px rgba(30, 56, 136, .12) !important;
}

/* Lien CGV dans la case a cocher */
body.ff-tunnel .et-l--post .woocommerce-terms-and-conditions-checkbox-text a {
	color: #1E3888;
	font-weight: 700;
	text-decoration: underline;
}

body.ff-tunnel .et-l--post .woocommerce-terms-and-conditions-checkbox-text a:hover {
	color: var(--ff-btn-bg, #FF6600);
}
