/**
 * TEOX Luxury Checkout
 * Refined minimalism: warm white surfaces, precise spacing and restrained gold.
 */

body.woocommerce-checkout,
body.woocommerce-cart {
	--teox-luxury-ink: #151515;
	--teox-luxury-muted: #6f6d68;
	--teox-luxury-line: #e4e0d7;
	--teox-luxury-soft: #f7f5f0;
	--teox-luxury-soft-2: #fbfaf7;
	--teox-luxury-gold: #b39a63;
	--teox-luxury-radius: 16px;
}

body.woocommerce-checkout .site-content {
	background: linear-gradient(180deg, #ffffff 0, #fbfaf7 38%, #ffffff 100%);
}

body.woocommerce-checkout .page-header,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	max-width: 1400px;
	margin-inline: auto;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout {
	grid-template-columns: minmax(0, 1.1fr) minmax(470px, .74fr) !important;
	column-gap: clamp(38px, 5vw, 76px) !important;
	max-width: 1400px !important;
	padding-bottom: 96px;
}

/* Billing and address card */
body.woocommerce-checkout form.checkout > #customer_details {
	align-self: start;
	padding: clamp(28px, 3.2vw, 44px) !important;
	background: #fff;
	border: 1px solid var(--teox-luxury-line);
	border-radius: var(--teox-luxury-radius);
	box-shadow: 0 18px 55px rgba(18, 18, 18, .055);
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
}

body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields,
body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper {
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout #customer_details h3 {
	margin: 0 0 30px !important;
	padding: 0 0 19px;
	border-bottom: 1px solid var(--teox-luxury-line);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 500;
	letter-spacing: -.025em;
}

body.woocommerce-checkout form .form-row {
	margin-bottom: 20px !important;
}

body.woocommerce-checkout form .form-row label {
	margin-bottom: 8px !important;
	font-size: 13px !important;
	font-weight: 550 !important;
	letter-spacing: .01em;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row .select2-selection {
	min-height: 54px !important;
	padding-inline: 16px !important;
	border: 1px solid #dcd8cf !important;
	border-radius: 10px !important;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

body.woocommerce-checkout form .form-row textarea {
	min-height: 126px !important;
	padding-block: 14px !important;
}

body.woocommerce-checkout form .form-row input.input-text:hover,
body.woocommerce-checkout form .form-row textarea:hover,
body.woocommerce-checkout form .form-row .select2-selection:hover {
	border-color: #b9b4aa !important;
}

body.woocommerce-checkout form .form-row input.input-text:focus,
body.woocommerce-checkout form .form-row textarea:focus,
body.woocommerce-checkout form .form-row .select2-container--focus .select2-selection {
	border-color: var(--teox-luxury-ink) !important;
	box-shadow: 0 0 0 3px rgba(21, 21, 21, .07) !important;
}

/* Right order card */
body.woocommerce-checkout form.checkout > #order_review_heading {
	display: none !important;
}

body.woocommerce-checkout form.checkout > #order_review {
	padding: clamp(28px, 3vw, 40px) !important;
	background: #fff !important;
	border: 1px solid var(--teox-luxury-line) !important;
	border-radius: var(--teox-luxury-radius) !important;
	box-shadow: 0 22px 65px rgba(18, 18, 18, .075) !important;
	overflow: hidden;
}

body.woocommerce-checkout #order_review:not(:has(.teox-order-intro))::before {
	content: "BESTELLÜBERSICHT  ·  PERSÖNLICH GEPRÜFT";
	order: 0;
	display: block;
	margin: 0 0 8px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--teox-luxury-line);
	color: var(--teox-luxury-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
}

body.woocommerce-checkout .wc-gzd-order-submit:not(:has(.teox-checkout-assurance))::before {
	content: "SSL-VERSCHLÜSSELT  ·  SICHERE ZAHLUNGSANBIETER  ·  PERSÖNLICHER SUPPORT";
	display: block;
	margin: 0 0 16px;
	padding: 15px 0;
	border-top: 1px solid var(--teox-luxury-line);
	border-bottom: 1px solid var(--teox-luxury-line);
	color: var(--teox-luxury-muted);
	font-size: 9px;
	font-weight: 650;
	line-height: 1.5;
	letter-spacing: .06em;
	text-align: center;
}

body.woocommerce-checkout .teox-order-intro {
	order: 0;
	margin: 0 0 8px;
	padding: 0 0 26px;
	border-bottom: 1px solid var(--teox-luxury-line);
}

body.woocommerce-checkout .teox-order-eyebrow {
	display: block;
	margin-bottom: 8px;
	color: var(--teox-luxury-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.woocommerce-checkout .teox-order-intro h2 {
	margin: 0 0 9px;
	color: var(--teox-luxury-ink);
	font-size: clamp(23px, 2vw, 29px);
	font-weight: 500;
	letter-spacing: -.025em;
}

body.woocommerce-checkout .teox-order-intro p {
	max-width: 39rem;
	margin: 0;
	color: var(--teox-luxury-muted);
	font-size: 13px;
	line-height: 1.6;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
	padding: 20px 0 !important;
	border-color: var(--teox-luxury-line) !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
	padding-top: 18px !important;
	color: #817d74;
	font-size: 10px;
	letter-spacing: .12em;
}

body.woocommerce-checkout #order_review .wc-gzd-cart-item-name-wrapper {
	grid-template-columns: 76px minmax(0, 1fr) !important;
	column-gap: 16px !important;
	row-gap: 6px !important;
}

body.woocommerce-checkout #order_review .checkout-review-product-image,
body.woocommerce-checkout #order_review .checkout-review-product-image img {
	width: 76px !important;
	height: 76px !important;
	border-radius: 9px !important;
}

body.woocommerce-checkout #order_review .checkout-review-product-image img {
	border: 1px solid var(--teox-luxury-line);
}

body.woocommerce-checkout #order_review .checkout-review-product-name {
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
}

body.woocommerce-checkout #order_review .delivery-time-info {
	color: var(--teox-luxury-muted) !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total {
	width: 112px !important;
	padding-left: 12px !important;
	font-weight: 600;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal td {
	padding-top: 22px !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .shipping td {
	padding-left: 0 !important;
}

body.woocommerce-checkout #shipping_method {
	display: grid;
	gap: 10px;
}

body.woocommerce-checkout #shipping_method li {
	position: relative;
	display: block !important;
	margin: 0 !important;
	padding: 15px 16px !important;
	background: var(--teox-luxury-soft-2);
	border: 1px solid var(--teox-luxury-line);
	border-radius: 10px;
	transition: border-color .2s ease, background .2s ease;
}

body.woocommerce-checkout #shipping_method li:has(input:checked) {
	background: #fff;
	border-color: var(--teox-luxury-ink);
}

body.woocommerce-checkout #shipping_method li input {
	position: absolute;
	top: 18px;
	left: 16px;
	margin: 0 !important;
}

body.woocommerce-checkout #shipping_method li label {
	display: flex !important;
	align-items: flex-start !important;
	padding-left: 28px;
	font-size: 13px !important;
	font-weight: 600;
}

body.woocommerce-checkout .teox-shipping-method-note,
body.woocommerce-cart .teox-shipping-method-note {
	display: block;
	flex-basis: 100%;
	margin-top: 5px;
	color: var(--teox-luxury-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.45;
}

body.woocommerce-checkout #shipping_method .shipping-method-description {
	margin: 7px 0 0 28px !important;
	font-size: 11px !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
	padding-top: 25px !important;
	padding-bottom: 10px !important;
	font-size: 21px !important;
	font-weight: 650 !important;
	letter-spacing: -.02em;
}

/* Payment area */
body.woocommerce-checkout #order_review > #order_payment_heading {
	margin: 30px 0 16px !important;
	padding-top: 28px !important;
	font-size: 20px !important;
	font-weight: 500;
	letter-spacing: -.018em;
}

body.woocommerce-checkout #payment {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
	display: grid;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 10px;
}

body.woocommerce-checkout #payment ul.payment_methods > li {
	position: relative;
	margin: 0 !important;
	padding: 16px !important;
	background: var(--teox-luxury-soft-2);
	border: 1px solid var(--teox-luxury-line) !important;
	border-radius: 10px;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

body.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) {
	background: #fff;
	border-color: var(--teox-luxury-ink) !important;
	box-shadow: 0 7px 22px rgba(18, 18, 18, .045);
}

body.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"] {
	position: absolute;
	top: 19px;
	left: 16px;
	margin: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods > li > label {
	width: 100% !important;
	min-height: 22px;
	margin: 0 !important;
	padding-left: 30px !important;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
}

body.woocommerce-checkout #payment .payment-methods--logos {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: auto !important;
}

body.woocommerce-checkout #payment .payment_box {
	width: calc(100% - 30px) !important;
	margin: 15px 0 0 30px !important;
	padding: 18px !important;
	background: var(--teox-luxury-soft) !important;
	border: 1px solid #e8e4dc !important;
	border-radius: 9px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.woocommerce-checkout #payment .payment_box p:last-child {
	margin-bottom: 0;
}

body.woocommerce-checkout #payment fieldset.wc-payment-form,
body.woocommerce-checkout #payment .wcpay-upe-form,
body.woocommerce-checkout #payment .wcpay-upe-element,
body.woocommerce-checkout #payment .StripeElement,
body.woocommerce-checkout #payment iframe {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Legal, assurance and CTA */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal {
	order: 4;
	margin: 22px 0 0 !important;
	padding: 18px;
	background: var(--teox-luxury-soft-2);
	border: 1px solid var(--teox-luxury-line);
	border-radius: 10px;
}

body.woocommerce-checkout .checkbox-legal label,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	color: #5f5d58 !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

body.woocommerce-checkout .teox-checkout-assurance {
	order: 5;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 18px 0 0;
	padding: 16px 0;
	border-top: 1px solid var(--teox-luxury-line);
	border-bottom: 1px solid var(--teox-luxury-line);
}

body.woocommerce-checkout .teox-checkout-assurance > div {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
	color: var(--teox-luxury-ink);
}

body.woocommerce-checkout .teox-checkout-assurance svg {
	flex: 0 0 17px;
	margin-top: 1px;
	color: var(--teox-luxury-gold);
}

body.woocommerce-checkout .teox-checkout-assurance span {
	display: block;
	min-width: 0;
}

body.woocommerce-checkout .teox-checkout-assurance strong,
body.woocommerce-checkout .teox-checkout-assurance small {
	display: block;
}

body.woocommerce-checkout .teox-checkout-assurance strong {
	font-size: 10px;
	font-weight: 650;
	line-height: 1.3;
}

body.woocommerce-checkout .teox-checkout-assurance small {
	margin-top: 3px;
	color: var(--teox-luxury-muted);
	font-size: 9px;
	line-height: 1.35;
}

body.woocommerce-checkout .wc-gzd-order-submit {
	order: 6 !important;
	margin-top: 18px !important;
}

body.woocommerce-checkout #place_order {
	min-height: 60px !important;
	border-radius: 9px !important;
	font-size: 14px !important;
	letter-spacing: .025em !important;
	box-shadow: 0 10px 24px rgba(18, 18, 18, .13);
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.woocommerce-checkout #place_order:hover {
	transform: translateY(-1px);
	box-shadow: 0 13px 30px rgba(18, 18, 18, .17);
}

/* Cart shipping summary */
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart-collaterals .cart_totals {
	padding: clamp(26px, 3vw, 38px) !important;
	background: #fff !important;
	border: 1px solid var(--teox-luxury-line) !important;
	border-radius: var(--teox-luxury-radius) !important;
	box-shadow: 0 18px 55px rgba(18, 18, 18, .07);
}

body.woocommerce-cart .cart_totals #shipping_method {
	display: grid;
	gap: 10px;
	margin-top: 12px;
}

body.woocommerce-cart .cart_totals #shipping_method li {
	position: relative;
	margin: 0 !important;
	padding: 15px 16px 15px 44px !important;
	background: var(--teox-luxury-soft-2);
	border: 1px solid var(--teox-luxury-line);
	border-radius: 10px;
}

body.woocommerce-cart .cart_totals #shipping_method li:has(input:checked) {
	background: #fff;
	border-color: var(--teox-luxury-ink);
}

body.woocommerce-cart .cart_totals #shipping_method li input {
	position: absolute;
	top: 18px;
	left: 16px;
}

body.woocommerce-cart .cart_totals .checkout-button {
	min-height: 58px;
	border-radius: 9px !important;
	box-shadow: 0 10px 24px rgba(18, 18, 18, .12);
}

/* Final alignment corrections for theme/plugin specificity */
body.woocommerce-checkout #order_review table.shop_table #shipping_method li {
	box-sizing: border-box !important;
	min-height: 52px;
	padding: 15px 16px !important;
}

body.woocommerce-checkout #order_review table.shop_table #shipping_method li label {
	width: 100% !important;
	min-height: 20px;
	margin: 0 !important;
	padding: 0 0 0 28px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	line-height: 1.45 !important;
}

body.woocommerce-checkout #order_review table.shop_table #shipping_method li label .amount {
	margin-left: auto;
	padding-left: 10px;
	white-space: nowrap;
}

body.woocommerce-checkout #order_review table.shop_table #shipping_method .shipping-method-description {
	margin: 6px 0 0 28px !important;
	color: var(--teox-luxury-muted);
	line-height: 1.45 !important;
}

body.woocommerce-checkout #customer_details .woocommerce-account-fields {
	width: 100% !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: 0 !important;
}

body.woocommerce-checkout #customer_details .woocommerce-account-fields .form-row {
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout #customer_details .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout #customer_details .woocommerce-form__label-for-checkbox input[type="checkbox"],
body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal input[type="checkbox"] {
	position: static !important;
	flex: 0 0 18px;
	width: 18px !important;
	min-width: 18px !important;
	height: 18px !important;
	margin: 1px 0 0 !important;
	padding: 0 !important;
	appearance: none;
	background: #fff !important;
	border: 1px solid #c9c5bc !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout #customer_details .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked,
body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal input[type="checkbox"]:checked {
	background: var(--teox-luxury-ink) !important;
	border-color: var(--teox-luxury-ink) !important;
}

body.woocommerce-checkout #customer_details .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after,
body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal input[type="checkbox"]:checked::after {
	content: "";
	display: block;
	width: 5px;
	height: 9px;
	margin: 2px 0 0 5px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

body.woocommerce-checkout #customer_details #ship-to-different-address {
	margin: 8px 0 22px !important;
	padding: 17px 0 !important;
	border-top: 1px solid var(--teox-luxury-line) !important;
	border-bottom: 1px solid var(--teox-luxury-line) !important;
	font-size: 14px !important;
}

body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal p.legal {
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wc-gzd-checkbox-placeholder-legal .required {
	display: none !important;
}

body.woocommerce-cart .cart_totals .cart_totals_summary {
	padding: 0 !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
}

body.woocommerce-cart .cart_totals #order_comments_field {
	margin: 0 0 22px !important;
	padding: 0 0 24px !important;
	border-bottom: 1px solid var(--teox-luxury-line);
}

body.woocommerce-cart .cart_totals #order_comments_field textarea {
	min-height: 112px;
	padding: 14px 16px !important;
	background: var(--teox-luxury-soft-2) !important;
	border: 1px solid #dcd8cf !important;
	border-radius: 10px !important;
	resize: vertical;
}

body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 20px !important;
	font-size: 23px !important;
	font-weight: 500 !important;
	letter-spacing: -.02em;
}

body.woocommerce-cart .cart_totals #shipping_method li label {
	display: flex !important;
	align-items: flex-start;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.45 !important;
}

body.woocommerce-cart .cart_totals #shipping_method li label .amount {
	margin-left: auto;
	padding-left: 10px;
	white-space: nowrap;
}

body.woocommerce-cart .cart_totals #shipping_method .shipping-method-description {
	margin: 6px 0 0 !important;
	color: var(--teox-luxury-muted);
	font-size: 11px !important;
	line-height: 1.5 !important;
}

@media (min-width: 900px) {
	body.woocommerce-checkout form.checkout > #order_review {
		position: sticky !important;
		top: 108px !important;
	}
}

@media (max-width: 1099px) and (min-width: 900px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr) minmax(410px, .9fr) !important;
		column-gap: 30px !important;
	}
	body.woocommerce-checkout .teox-checkout-assurance {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 899px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout {
		max-width: 760px !important;
		padding-bottom: 64px;
	}
	body.woocommerce-checkout form.checkout > #customer_details,
	body.woocommerce-checkout form.checkout > #order_review {
		width: 100% !important;
		padding: 28px !important;
	}
	body.woocommerce-checkout form.checkout > #order_review {
		margin-top: 28px !important;
	}
}

@media (max-width: 560px) {
	body.woocommerce-checkout .site-content,
	body.woocommerce-checkout .page-content,
	body.woocommerce-checkout .container {
		--gz-container-padding: 16px !important;
	}

	body.woocommerce-checkout form.checkout > #customer_details,
	body.woocommerce-checkout form.checkout > #order_review,
	body.woocommerce-cart .cart_totals {
		padding: 20px !important;
		border-radius: 12px !important;
	}

	body.woocommerce-checkout #customer_details h3 {
		margin-bottom: 23px !important;
	}

	body.woocommerce-checkout #order_review .wc-gzd-cart-item-name-wrapper {
		grid-template-columns: 60px minmax(0, 1fr) !important;
		column-gap: 11px !important;
	}
	body.woocommerce-checkout #order_review .checkout-review-product-image,
	body.woocommerce-checkout #order_review .checkout-review-product-image img {
		width: 60px !important;
		height: 60px !important;
	}
	body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total {
		width: 88px !important;
		font-size: 12px;
	}
	body.woocommerce-checkout #payment .payment_box {
		width: 100% !important;
		margin-left: 0 !important;
		padding: 15px !important;
	}
	body.woocommerce-checkout .teox-checkout-assurance {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	body.woocommerce-checkout .teox-checkout-assurance strong {
		font-size: 11px;
	}
	body.woocommerce-checkout .teox-checkout-assurance small {
		font-size: 10px;
	}
}
