/* cartRe checkout modern · v1.3.5
   Stil unitar pentru WooCommerce Checkout Block + checkout clasic. */

body.woocommerce-checkout,
body.woocommerce-account {
	--cse-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--cse-ui-ink: #172033;
	--cse-ui-muted: #667085;
	--cse-ui-line: #dfe3e8;
	--cse-ui-soft: #f8fafc;
	--cse-ui-brand: #d92d36;
	--cse-ui-brand-dark: #b91f29;
	--cse-ui-brand-soft: #fff4f5;
	--cse-ui-radius: 12px;
	--cse-ui-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 28px rgba(16, 24, 40, .06);
}

/* Font unitar numai în zona de cumpărare / plată. */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout *,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.checkout *,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content * {
	font-family: var(--cse-ui-font) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout form.checkout,
body.woocommerce-account .woocommerce-MyAccount-content {
	color: var(--cse-ui-ink);
	font-size: 15px;
	line-height: 1.5;
}

/* Titluri și pași */
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__heading h2,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout form.checkout h3,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--cse-ui-ink) !important;
	font-weight: 750 !important;
	letter-spacing: -.025em;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading h2 {
	font-size: clamp(20px, 2vw, 24px) !important;
	line-height: 1.2;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-totals-item__description,
body.woocommerce-checkout .wc-block-components-address-card address,
body.woocommerce-checkout form.checkout .form-row .description {
	color: var(--cse-ui-muted);
}

/* Câmpuri text, select, adresă și cupoane */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-totals-coupon__input input,
body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content textarea {
	min-height: 52px;
	box-sizing: border-box;
	border: 1px solid #d0d5dd !important;
	border-radius: var(--cse-ui-radius) !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05) !important;
	color: var(--cse-ui-ink) !important;
	font-family: var(--cse-ui-font) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	outline: 0 !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content input.input-text {
	padding-left: 14px !important;
	padding-right: 14px !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus,
body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
	border-color: var(--cse-ui-brand) !important;
	box-shadow: 0 0 0 3px rgba(217, 45, 54, .12) !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox-control label,
body.woocommerce-checkout form.checkout label,
body.woocommerce-account .woocommerce-MyAccount-content label {
	color: #344054 !important;
	font-family: var(--cse-ui-font) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder,
body.woocommerce-account input::placeholder,
body.woocommerce-account textarea::placeholder {
	color: #98a2b3 !important;
	opacity: 1;
}

/* Cardurile de adresă */
body.woocommerce-checkout .wc-block-components-address-card {
	border: 1px solid var(--cse-ui-line) !important;
	border-radius: 14px !important;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	padding: 16px !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit {
	color: var(--cse-ui-brand) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

/* Opțiuni de livrare și plată */
body.woocommerce-checkout .wc-block-components-radio-control {
	border: 1px solid var(--cse-ui-line) !important;
	border-radius: 14px !important;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	min-height: 58px;
	/* WooCommerce poziționează radio-ul absolut în stânga. Păstrăm
	 * spațiul nativ pentru el, ca textul să nu înceapă sub cerc. */
	padding: 15px 16px 15px 52px !important;
	box-sizing: border-box;
	background: #fff;
	border-color: var(--cse-ui-line) !important;
	transition: background .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked),
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked),
body.woocommerce-checkout .wc-block-components-radio-control__option--checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: var(--cse-ui-brand-soft) !important;
	box-shadow: inset 3px 0 0 var(--cse-ui-brand);
}

body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option__label {
	display: block;
	min-width: 0;
	color: var(--cse-ui-ink) !important;
	font-size: 14px !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
	color: var(--cse-ui-ink) !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__input,
body.woocommerce-checkout .wc-block-components-checkbox__input,
body.woocommerce-checkout form.checkout input[type="radio"],
body.woocommerce-checkout form.checkout input[type="checkbox"] {
	accent-color: var(--cse-ui-brand);
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
body.woocommerce-checkout .wc-block-components-payment-methods__payment-method-content,
body.woocommerce-checkout .payment_box {
	background: var(--cse-ui-soft) !important;
	border-top: 1px solid #eaecf0 !important;
	padding: 16px !important;
}

/* WooPayments / Stripe: conturul containerului extern; fontul din iframe este
   setat separat prin checkout-modern.js și Appearance API. */
body.woocommerce-checkout .wcpay-upe-element,
body.woocommerce-checkout .wc-stripe-upe-element,
body.woocommerce-checkout #payment .StripeElement,
body.woocommerce-account .wcpay-upe-element,
body.woocommerce-account .wc-stripe-upe-element,
body.woocommerce-account #payment .StripeElement {
	border-radius: 12px !important;
	font-family: var(--cse-ui-font) !important;
}

/* Checkbox-uri și texte ajutătoare */
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkbox__label span,
body.woocommerce-checkout .wc-block-components-terms-and-conditions,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	font-size: 13px !important;
	line-height: 1.45 !important;
}

/* Butoane secundare */
body.woocommerce-checkout .wc-block-components-button:not(.wc-block-components-checkout-place-order-button),
body.woocommerce-checkout .wc-block-components-totals-coupon__button,
body.woocommerce-checkout form.checkout button:not(#place_order),
body.woocommerce-account .woocommerce-MyAccount-content button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
	border-radius: 10px !important;
	font-family: var(--cse-ui-font) !important;
	font-weight: 700 !important;
}

/* Butonul final */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order {
	min-height: 54px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--cse-ui-brand) !important;
	box-shadow: 0 8px 20px rgba(217, 45, 54, .2) !important;
	color: #fff !important;
	font-family: var(--cse-ui-font) !important;
	font-size: 15px !important;
	font-weight: 750 !important;
	letter-spacing: -.01em;
	transition: transform .16s ease, background .18s ease, box-shadow .18s ease;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover {
	background: var(--cse-ui-brand-dark) !important;
	box-shadow: 0 10px 24px rgba(185, 31, 41, .25) !important;
	transform: translateY(-1px);
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible,
body.woocommerce-checkout #place_order:focus-visible,
body.woocommerce-checkout button:focus-visible,
body.woocommerce-account button:focus-visible,
body.woocommerce-account .button:focus-visible {
	outline: 3px solid rgba(217, 45, 54, .22) !important;
	outline-offset: 2px;
}

/* Rezumat comandă */
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-checkout-order-summary-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout #order_review {
	border-color: var(--cse-ui-line) !important;
	border-radius: 16px !important;
	background: #fff;
	box-shadow: var(--cse-ui-shadow);
	overflow: hidden;
}

body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
	font-weight: 650 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 21px !important;
	font-weight: 750 !important;
	letter-spacing: -.025em;
}

/* Checkout clasic */
body.woocommerce-checkout form.checkout .form-row,
body.woocommerce-account .woocommerce-MyAccount-content .form-row {
	margin-bottom: 16px;
}

body.woocommerce-checkout #payment,
body.woocommerce-account #payment {
	border: 1px solid var(--cse-ui-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
	overflow: hidden;
}

body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-account #payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-account #payment ul.payment_methods li {
	padding: 14px 16px !important;
	border-bottom: 1px solid var(--cse-ui-line);
}

/* Mobile */
@media (max-width: 640px) {
	body.woocommerce-checkout .wc-block-components-checkout-step__heading h2 {
		font-size: 20px !important;
	}

	body.woocommerce-checkout .wc-block-components-radio-control__option,
	body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
		padding: 14px 12px 14px 48px !important;
	}

	body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout #place_order {
		min-height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-checkout *,
	body.woocommerce-account * {
		scroll-behavior: auto !important;
		transition-duration: 0s !important;
	}
}
