/**
 * Complx — WooCommerce checkout / cart on branded landing chrome.
 */

.complx-checkout-hero {
	padding: 7.5rem 0 1.75rem;
}

.complx-checkout-wrap {
	width: min(1120px, calc(100% - 2.5rem));
	margin-inline: auto;
}

.complx-checkout-eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #073B66;
}

.complx-checkout-title {
	margin: 0 0 0.65rem;
	font-family: "General Sans", Satoshi, sans-serif;
	font-size: clamp(1.85rem, 3.2vw, 2.45rem);
	font-weight: 700;
	line-height: 1.15;
	color: #073B66;
	letter-spacing: -0.02em;
}

.complx-checkout-lead {
	margin: 0;
	max-width: 38rem;
	font-size: 1.05rem;
	line-height: 1.55;
	color: #586474;
}

.complx-checkout-main {
	padding: 1.25rem 0 4.5rem;
}

.complx-checkout-panel {
	background: #fff;
	border: 1px solid #D9E0E7;
	border-radius: 16px;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	box-shadow: 0 12px 40px rgba(7, 59, 102, 0.06);
}

/* —— WooCommerce form surface —— */
.complx-checkout .woocommerce {
	color: #101828;
}

.complx-checkout .woocommerce-info,
.complx-checkout .woocommerce-message,
.complx-checkout .woocommerce-error,
.complx-checkout .woocommerce-NoticeGroup .woocommerce-info,
.complx-checkout .woocommerce-NoticeGroup .woocommerce-message,
.complx-checkout .woocommerce-NoticeGroup .woocommerce-error {
	border-radius: 10px;
	border: 1px solid #D9E0E7;
	background: #F5F7FA;
	color: #101828;
	padding: 0.9rem 1rem 0.9rem 3rem;
}

.complx-checkout .woocommerce-error {
	border-color: #F5C2C2;
	background: #FDECEC;
	color: #8B1E1E;
}

.complx-checkout .woocommerce-message {
	border-color: #A7F3D0;
	background: #ECFDF5;
	color: #065F46;
}

.complx-checkout .woocommerce-info a,
.complx-checkout .woocommerce-message a {
	color: #073B66;
	font-weight: 650;
}

.complx-checkout .woocommerce-billing-fields h3,
.complx-checkout .woocommerce-shipping-fields h3,
.complx-checkout .woocommerce-additional-fields h3,
.complx-checkout #order_review_heading,
.complx-checkout .woocommerce-checkout-review-order-table,
.complx-checkout h3 {
	font-family: "General Sans", Satoshi, sans-serif;
	color: #073B66;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.complx-checkout form .form-row label,
.complx-checkout .woocommerce form .form-row label {
	color: #334155;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.35rem;
}

.complx-checkout form .form-row input.input-text,
.complx-checkout form .form-row textarea,
.complx-checkout form .form-row select,
.complx-checkout .woocommerce form .form-row input.input-text,
.complx-checkout .woocommerce form .form-row textarea,
.complx-checkout .woocommerce form .form-row select,
.complx-checkout .select2-container--default .select2-selection--single {
	border: 1px solid #D9E0E7 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #101828 !important;
	min-height: 46px;
	padding: 0.65rem 0.85rem !important;
	box-shadow: none !important;
}

.complx-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #101828 !important;
	line-height: 46px !important;
	padding-left: 0 !important;
}

.complx-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
}

.complx-checkout form .form-row input.input-text:focus,
.complx-checkout form .form-row textarea:focus,
.complx-checkout form .form-row select:focus,
.complx-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.complx-checkout .select2-container--default.select2-container--open .select2-selection--single {
	border-color: #073B66 !important;
	outline: 2px solid rgba(7, 59, 102, 0.18);
	outline-offset: 1px;
}

/* Order review: one continuous card (heading + body), kill Astra split-frame */
.complx-checkout #order_review_heading {
	border: 1px solid #D9E0E7 !important;
	border-bottom: 0 !important;
	border-radius: 14px 14px 0 0 !important;
	background: #F5F7FA !important;
	padding: 1.15rem 1.25rem 0.65rem !important;
	margin: 0 !important;
}

.complx-checkout #order_review,
.complx-checkout .woocommerce-checkout-review-order {
	background: #F5F7FA !important;
	border: 1px solid #D9E0E7 !important;
	border-top: 0 !important;
	border-radius: 0 0 14px 14px !important;
	padding: 0.35rem 1.25rem 1.35rem !important;
	margin: 0 0 1.5rem !important;
}

.complx-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
	margin: 0 0 1rem !important;
	background: transparent !important;
}

.complx-checkout .woocommerce-checkout-review-order-table th,
.complx-checkout .woocommerce-checkout-review-order-table td {
	border-color: #D9E0E7 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	padding: 0.75rem 0.15rem !important;
	color: #101828;
	background: transparent !important;
}

.complx-checkout .woocommerce-checkout-review-order-table thead th {
	border-top: 0 !important;
}

.complx-checkout .woocommerce-checkout-review-order-table tfoot th,
.complx-checkout .woocommerce-checkout-review-order-table .order-total th,
.complx-checkout .woocommerce-checkout-review-order-table .order-total td {
	color: #073B66;
	font-weight: 700;
}

.complx-checkout #payment {
	background: transparent !important;
	border-radius: 0 !important;
	border: 0 !important;
	padding: 0.75rem 0 0 !important;
}

.complx-checkout #payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 1rem !important;
}

.complx-checkout #payment ul.payment_methods li {
	background: #fff;
	border: 1px solid #D9E0E7;
	border-radius: 10px;
	padding: 0.85rem 1rem;
	margin: 0 0 0.65rem;
}

.complx-checkout #payment div.payment_box {
	background: #F5F7FA !important;
	color: #586474 !important;
	border-radius: 8px;
}

.complx-checkout #payment div.payment_box::before {
	border-bottom-color: #F5F7FA !important;
}

/* Stripe UPE — no outer fieldset frame around card fields */
.complx-checkout #payment fieldset#wc-stripe-upe-form,
.complx-checkout #payment fieldset.wc-upe-form,
.complx-checkout #payment fieldset.wc-payment-form {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0.75rem 0 0 !important;
	min-width: 0;
}

.complx-checkout #place_order,
.complx-checkout .woocommerce button.button.alt,
.complx-checkout .woocommerce a.button.alt,
.complx-checkout .woocommerce button.button,
.complx-checkout .woocommerce a.button,
.complx-checkout .return-to-shop .button {
	background: #073B66 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 650 !important;
	padding: 0.85rem 1.5rem !important;
	min-height: 48px;
	transition: background 0.2s ease, color 0.2s ease;
}

.complx-checkout #place_order:hover,
.complx-checkout .woocommerce button.button.alt:hover,
.complx-checkout .woocommerce a.button.alt:hover,
.complx-checkout .woocommerce button.button:hover,
.complx-checkout .woocommerce a.button:hover,
.complx-checkout .return-to-shop .button:hover {
	background: #062F52 !important;
	color: #fff !important;
}

.complx-checkout .cart-empty,
.complx-checkout .woocommerce-info.cart-empty {
	text-align: center;
	padding: 2rem 1rem !important;
	font-size: 1.05rem;
}

.complx-checkout .return-to-shop {
	text-align: center;
	margin-top: 1.25rem;
}

/* Cart table (panier page) — not the checkout review table */
.complx-checkout .woocommerce-cart-form table.shop_table {
	border: 1px solid #D9E0E7 !important;
	border-radius: 12px;
	overflow: hidden;
	border-collapse: separate !important;
}

.complx-checkout .woocommerce-cart-form table.shop_table th {
	background: #F5F7FA;
	color: #073B66;
	font-weight: 650;
}

.complx-checkout .woocommerce-cart-form table.shop_table td,
.complx-checkout .woocommerce-cart-form table.shop_table th {
	border-color: #D9E0E7 !important;
	padding: 0.9rem !important;
}

.complx-checkout .cart-collaterals .cart_totals {
	background: #F5F7FA;
	border: 1px solid #D9E0E7;
	border-radius: 14px;
	padding: 1.15rem 1.25rem;
}

/* —— Dark mode —— */
html.dark .complx-checkout-eyebrow,
.dark .complx-checkout-eyebrow {
	color: #A7F3D0;
}

html.dark .complx-checkout-title,
.dark .complx-checkout-title {
	color: #fff;
}

html.dark .complx-checkout-lead,
.dark .complx-checkout-lead {
	color: #C9D4E5;
}

html.dark .complx-checkout-panel,
.dark .complx-checkout-panel {
	background: #15264A;
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

html.dark .complx-checkout .woocommerce,
.dark .complx-checkout .woocommerce {
	color: #E8EEF7;
}

html.dark .complx-checkout .woocommerce-billing-fields h3,
html.dark .complx-checkout .woocommerce-shipping-fields h3,
html.dark .complx-checkout .woocommerce-additional-fields h3,
html.dark .complx-checkout #order_review_heading,
html.dark .complx-checkout h3,
.dark .complx-checkout .woocommerce-billing-fields h3,
.dark .complx-checkout .woocommerce-shipping-fields h3,
.dark .complx-checkout .woocommerce-additional-fields h3,
.dark .complx-checkout #order_review_heading,
.dark .complx-checkout h3 {
	color: #fff;
}

html.dark .complx-checkout form .form-row label,
html.dark .complx-checkout .woocommerce form .form-row label,
.dark .complx-checkout form .form-row label,
.dark .complx-checkout .woocommerce form .form-row label {
	color: #C9D4E5;
}

html.dark .complx-checkout form .form-row input.input-text,
html.dark .complx-checkout form .form-row textarea,
html.dark .complx-checkout form .form-row select,
html.dark .complx-checkout .woocommerce form .form-row input.input-text,
html.dark .complx-checkout .woocommerce form .form-row textarea,
html.dark .complx-checkout .woocommerce form .form-row select,
html.dark .complx-checkout .select2-container--default .select2-selection--single,
.dark .complx-checkout form .form-row input.input-text,
.dark .complx-checkout form .form-row textarea,
.dark .complx-checkout form .form-row select,
.dark .complx-checkout .woocommerce form .form-row input.input-text,
.dark .complx-checkout .woocommerce form .form-row textarea,
.dark .complx-checkout .woocommerce form .form-row select,
.dark .complx-checkout .select2-container--default .select2-selection--single {
	background: #0F1E40 !important;
	border-color: rgba(255, 255, 255, 0.16) !important;
	color: #fff !important;
}

html.dark .complx-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.dark .complx-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #fff !important;
}

html.dark .complx-checkout .select2-dropdown,
.dark .complx-checkout .select2-dropdown {
	background: #15264A;
	border-color: rgba(255, 255, 255, 0.16);
	color: #fff;
}

html.dark .complx-checkout .select2-results__option,
.dark .complx-checkout .select2-results__option {
	color: #E8EEF7;
}

html.dark .complx-checkout .select2-results__option--highlighted,
.dark .complx-checkout .select2-results__option--highlighted {
	background: #073B66 !important;
	color: #fff !important;
}

html.dark .complx-checkout #order_review_heading,
.dark .complx-checkout #order_review_heading {
	background: #0F1E40 !important;
	border-color: rgba(255, 255, 255, 0.14) !important;
	color: #fff;
}

html.dark .complx-checkout #order_review,
html.dark .complx-checkout .woocommerce-checkout-review-order,
html.dark .complx-checkout .cart-collaterals .cart_totals,
.dark .complx-checkout #order_review,
.dark .complx-checkout .woocommerce-checkout-review-order,
.dark .complx-checkout .cart-collaterals .cart_totals {
	background: #0F1E40 !important;
	border-color: rgba(255, 255, 255, 0.14) !important;
}

html.dark .complx-checkout .woocommerce-checkout-review-order-table,
.dark .complx-checkout .woocommerce-checkout-review-order-table {
	border: 0 !important;
}

html.dark .complx-checkout .woocommerce-checkout-review-order-table th,
html.dark .complx-checkout .woocommerce-checkout-review-order-table td,
html.dark .complx-checkout table.shop_table td,
html.dark .complx-checkout table.shop_table th,
.dark .complx-checkout .woocommerce-checkout-review-order-table th,
.dark .complx-checkout .woocommerce-checkout-review-order-table td,
.dark .complx-checkout table.shop_table td,
.dark .complx-checkout table.shop_table th {
	border-color: rgba(255, 255, 255, 0.12) !important;
	color: #E8EEF7;
	background: transparent !important;
}

html.dark .complx-checkout table.shop_table th,
.dark .complx-checkout table.shop_table th {
	background: #0F1E40;
	color: #fff;
}

html.dark .complx-checkout .woocommerce-checkout-review-order-table tfoot th,
html.dark .complx-checkout .woocommerce-checkout-review-order-table .order-total th,
html.dark .complx-checkout .woocommerce-checkout-review-order-table .order-total td,
.dark .complx-checkout .woocommerce-checkout-review-order-table tfoot th,
.dark .complx-checkout .woocommerce-checkout-review-order-table .order-total th,
.dark .complx-checkout .woocommerce-checkout-review-order-table .order-total td {
	color: #fff;
}

html.dark .complx-checkout #payment ul.payment_methods li,
.dark .complx-checkout #payment ul.payment_methods li {
	background: #0F1E40;
	border-color: rgba(255, 255, 255, 0.12);
	color: #E8EEF7;
}

html.dark .complx-checkout #payment div.payment_box,
.dark .complx-checkout #payment div.payment_box {
	background: #15264A !important;
	color: #C9D4E5 !important;
}

html.dark .complx-checkout #payment div.payment_box::before,
.dark .complx-checkout #payment div.payment_box::before {
	border-bottom-color: #15264A !important;
}

html.dark .complx-checkout .woocommerce-info,
html.dark .complx-checkout .woocommerce-message,
.dark .complx-checkout .woocommerce-info,
.dark .complx-checkout .woocommerce-message {
	background: #0F1E40;
	border-color: rgba(255, 255, 255, 0.14);
	color: #E8EEF7;
}

html.dark .complx-checkout .woocommerce-info a,
html.dark .complx-checkout .woocommerce-message a,
.dark .complx-checkout .woocommerce-info a,
.dark .complx-checkout .woocommerce-message a {
	color: #A7F3D0;
}

html.dark .complx-checkout #place_order,
html.dark .complx-checkout .woocommerce button.button.alt,
html.dark .complx-checkout .woocommerce a.button.alt,
html.dark .complx-checkout .woocommerce button.button,
html.dark .complx-checkout .woocommerce a.button,
html.dark .complx-checkout .return-to-shop .button,
.dark .complx-checkout #place_order,
.dark .complx-checkout .woocommerce button.button.alt,
.dark .complx-checkout .woocommerce a.button.alt,
.dark .complx-checkout .woocommerce button.button,
.dark .complx-checkout .woocommerce a.button,
.dark .complx-checkout .return-to-shop .button {
	background: #fff !important;
	color: #073B66 !important;
}

html.dark .complx-checkout #place_order:hover,
html.dark .complx-checkout .woocommerce button.button.alt:hover,
html.dark .complx-checkout .woocommerce a.button.alt:hover,
html.dark .complx-checkout .woocommerce button.button:hover,
html.dark .complx-checkout .woocommerce a.button:hover,
html.dark .complx-checkout .return-to-shop .button:hover,
.dark .complx-checkout #place_order:hover,
.dark .complx-checkout .woocommerce button.button.alt:hover,
.dark .complx-checkout .woocommerce a.button.alt:hover,
.dark .complx-checkout .woocommerce button.button:hover,
.dark .complx-checkout .woocommerce a.button:hover,
.dark .complx-checkout .return-to-shop .button:hover {
	background: #EAF0F8 !important;
	color: #073B66 !important;
}

html.dark .complx-checkout .woocommerce-Price-amount,
html.dark .complx-checkout .amount,
.dark .complx-checkout .woocommerce-Price-amount,
.dark .complx-checkout .amount {
	color: #fff;
}

@media (max-width: 768px) {
	.complx-checkout-hero {
		padding-top: 6.5rem;
	}
	.complx-checkout-panel {
		padding: 1rem;
	}
}
