/* Habillage ORCA Production du panier et de la page de paiement (WooCommerce). */
body.woocommerce-checkout, body.woocommerce-cart {
	--orca-navy: #05326B;
	--orca-navy-dark: #03234B;
	--orca-ink: #222222;
	--orca-text: #555a60;
	--orca-line: #e1e5ea;
	--orca-field: #cfd5dc;
	--orca-soft: #f4f6f9;
}

/* Messages (« ajouté au panier », code promo) : plus de cadre noir */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message {
	border: 0 !important;
	border-radius: 4px;
	background: var(--orca-soft) !important;
	color: var(--orca-text);
	padding: 20px 26px !important;
}
body.woocommerce-checkout .woocommerce-info a, body.woocommerce-cart .woocommerce-info a { color: var(--orca-navy); }

/* Champs */
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-cart table.cart td.actions .coupon .input-text,
body.woocommerce-cart .quantity input.qty {
	border: 1px solid var(--orca-field) !important;
	border-radius: 3px !important;
	background: #fff;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row select { min-height: 46px; padding: 10px 12px; }
body.woocommerce-checkout .select2-container .select2-selection--single { min-height: 46px; }
body.woocommerce-checkout form .form-row input.input-text:focus,
body.woocommerce-checkout form .form-row textarea:focus,
body.woocommerce-checkout form .form-row select:focus,
body.woocommerce-cart .quantity input.qty:focus {
	outline: none;
	border-color: var(--orca-navy) !important;
	box-shadow: 0 0 0 3px rgba(5, 50, 107, .12);
}
body.woocommerce-checkout form .form-row label { color: var(--orca-text); }
body.woocommerce-checkout form .form-row ::placeholder { color: #9aa1a9; opacity: 1; }
body.woocommerce-checkout form .form-row .required { color: #b3261e; }

/* Récapitulatif de commande */
body.woocommerce-checkout table.shop_table,
body.woocommerce-cart table.shop_table {
	border: 1px solid var(--orca-line) !important;
	border-radius: 4px;
	border-collapse: separate;
	overflow: hidden;
}
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td { border-color: var(--orca-line) !important; }
body.woocommerce-checkout table.shop_table thead th,
body.woocommerce-cart table.shop_table thead th { background: var(--orca-soft); color: var(--orca-ink); }
body.woocommerce-checkout table.shop_table .order-total th,
body.woocommerce-checkout table.shop_table .order-total td,
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td { color: var(--orca-ink); }
body.woocommerce-checkout table.shop_table .order-total .amount,
body.woocommerce-cart .cart_totals .order-total .amount { color: var(--orca-navy); font-size: 1.25em; font-weight: 600; }
body.woocommerce-checkout .wc-item-meta, body.woocommerce-checkout dl.variation { color: var(--orca-text); font-size: .92em; }

/* Moyens de paiement */
body.woocommerce-checkout #payment {
	background: var(--orca-soft) !important;
	border: 0 !important;
	border-radius: 4px;
}
body.woocommerce-checkout #payment ul.payment_methods {
	padding: 22px 24px 14px !important;
	border-bottom: 1px solid var(--orca-line) !important;
	margin: 0;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	list-style: none;
	margin: 0 0 8px !important;
	padding: 14px 18px !important;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	transition: background-color .15s, border-color .15s;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(> input:checked) {
	background: #fff;
	border-color: var(--orca-line);
}
body.woocommerce-checkout #payment ul.payment_methods li > label { color: var(--orca-ink); font-weight: 500; cursor: pointer; }
body.woocommerce-checkout #payment ul.payment_methods li img { max-height: 28px !important; width: auto; vertical-align: middle; margin-left: 10px; border-radius: 3px; }
body.woocommerce-checkout #payment input[type="radio"] { accent-color: var(--orca-navy); }

/* Le bandeau lilas : boîte de description du moyen de paiement (couleur par défaut de WooCommerce) */
body.woocommerce-checkout #payment div.payment_box {
	background: transparent !important;
	color: var(--orca-text) !important;
	margin: 6px 0 0 !important;
	padding: 0 0 0 28px !important;
	font-size: 13px;
	line-height: 1.6;
}
body.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
body.woocommerce-checkout #payment div.payment_box { border: 0 !important; box-shadow: none !important; }
body.woocommerce-checkout #payment div.payment_box p:empty { display: none; }
body.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }

/* Mentions + bouton Commander */
body.woocommerce-checkout #payment .place-order { padding: 22px 24px 26px !important; margin: 0; }
body.woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--orca-text); font-size: 13px; }
body.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--orca-navy); }
body.woocommerce-checkout #place_order,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--orca-navy) !important;
	border-color: var(--orca-navy) !important;
	color: #fff !important;
	border-radius: 2px;
	padding: 18px 40px !important;
	font-size: 13px !important;
	letter-spacing: 2px !important;
	transition: background-color .15s;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--orca-navy-dark) !important; border-color: var(--orca-navy-dark) !important; }
body.woocommerce-checkout #place_order:focus-visible { outline: 3px solid rgba(5, 50, 107, .35); outline-offset: 3px; }
@media (max-width: 768px) {
	body.woocommerce-checkout #place_order { width: 100%; float: none; }
	body.woocommerce-checkout #payment ul.payment_methods, body.woocommerce-checkout #payment .place-order { padding-inline: 16px !important; }
}

/* Message de soutien à la caisse */
body.woocommerce-checkout .orcacb-support-message { margin-top: 32px; padding: 24px 26px 10px; background: var(--orca-soft); border-radius: 4px; }
body.woocommerce-checkout .orcacb-support-message h3 { margin-top: 0; }
body.woocommerce-checkout .orcacb-support-message .checkbox { display: flex; gap: 10px; align-items: center; }
body.woocommerce-checkout .orcacb-support-message input[type="checkbox"] { accent-color: var(--orca-navy); }

/* Bouton « Retour à la campagne » dans le panier */
body.woocommerce-cart .orcacb-back-wrap { margin: 0 0 24px; }
body.woocommerce-cart a.orcacb-back {
	display: inline-flex; align-items: center; gap: 10px;
	min-height: 44px; padding: 0 22px;
	border: 1px solid var(--orca-navy); border-radius: 2px;
	color: var(--orca-navy) !important; background: #fff;
	font-size: 13px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none !important;
	transition: background-color .15s, color .15s;
}
body.woocommerce-cart a.orcacb-back:hover, body.woocommerce-cart a.orcacb-back:focus-visible { background: var(--orca-navy); color: #fff !important; }
body.woocommerce-cart a.orcacb-back--below { display: flex; justify-content: center; margin-top: 12px; }
