/**
 * Aztren — Shopify-inspired Cart & Checkout polish
 * Fixes Woodmart/Woo Blocks floating-label conflicts and improves readability.
 */

/* -------------------------------------------------------------------------- */
/* Base layout & typography                                                    */
/* -------------------------------------------------------------------------- */

body.woocommerce-cart,
body.woocommerce-checkout {
	--az-checkout-text: #1a1a1a;
	--az-checkout-muted: #6b6b6b;
	--az-checkout-border: #e4e4e4;
	--az-checkout-bg: #fafafa;
	--az-checkout-surface: #ffffff;
	--az-checkout-radius: 10px;
	--az-checkout-accent: var(--wd-primary-color, #ff4081);
}

body.woocommerce-cart .wd-page-content,
body.woocommerce-checkout .wd-page-content,
body.woocommerce-cart .main-page-wrapper,
body.woocommerce-checkout .main-page-wrapper {
	background: var(--az-checkout-bg);
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
	padding-top: 12px;
	padding-bottom: 48px;
}

.wc-block-cart,
.wc-block-checkout {
	font-size: 16px !important;
	line-height: 1.5;
	color: var(--az-checkout-text);
	font-family: inherit;
}

.wc-block-cart .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-product-name {
	font-size: 16px !important;
	font-weight: 600;
	line-height: 1.35;
}

.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-components-product-price,
.wc-block-checkout .wc-block-components-product-price,
.wc-block-components-formatted-money-amount {
	font-size: 15px !important;
}

.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
	font-size: 15px !important;
	line-height: 1.45;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
	font-size: 18px !important;
	font-weight: 700 !important;
}

.wc-block-cart.is-large .wc-block-cart-items th,
.wc-block-cart.is-large .wc-block-cart__totals-title,
.wc-block-cart span.wc-block-cart__totals-title {
	font-size: 18px !important;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding-bottom: 12px !important;
}

.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading-content {
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--az-checkout-text);
}

.wc-block-components-checkout-step__description {
	font-size: 14px !important;
	color: var(--az-checkout-muted);
	margin-top: 4px;
}

.wc-block-components-checkout-step {
	margin-bottom: 28px !important;
}

/* Surfaces */
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar,
.is-large .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
	background: var(--az-checkout-surface);
	border: 1px solid var(--az-checkout-border) !important;
	border-radius: var(--az-checkout-radius) !important;
	padding: 20px 22px !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.wc-block-cart.is-large table.wc-block-cart-items,
.wc-block-cart.is-large table.wc-block-cart-items td {
	border-color: var(--az-checkout-border) !important;
}

.wc-block-cart-items__row {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

.wc-block-cart-item__image img {
	border-radius: 8px;
	border: 1px solid var(--az-checkout-border);
}

.wc-block-components-order-summary-item__image img {
	border-radius: 8px;
}

/* Quantity controls */
div.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
div.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	height: 40px !important;
	font-size: 15px !important;
}

/* Buttons */
body:not(.woocommerce-block-theme-has-button-styles) :is(div.wc-block-checkout, div.wc-block-cart)
	.wc-block-components-button:not(.is-link).wp-element-button {
	min-height: 48px !important;
	font-size: 15px !important;
	letter-spacing: 0.02em;
	border-radius: 8px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	width: 100%;
}

/* Payment methods */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-radius: 8px !important;
}

.wc-block-components-payment-method-label,
.wc-block-components-radio-control__label {
	font-size: 15px !important;
}

/* Hide broken PayPal Advanced Card payment option */
.wc-block-components-radio-control-accordion-option:has(#radio-control-wc-payment-method-options-ppcp_card),
label[for="radio-control-wc-payment-method-options-ppcp_card"],
#radio-control-wc-payment-method-options-ppcp_card__content,
.wc-ppcp-blocks-payment-method__label.ppcp_card {
	display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Form fields — larger, clearer                                               */
/* -------------------------------------------------------------------------- */

:is(div.wc-block-checkout, div.wc-block-cart) [class*="wc-block-components"]
	:is(input[type="text"], input[type="email"], input[type="tel"], .wc-block-components-textarea) {
	font-size: 16px !important;
	height: 48px !important;
	padding: 18px 14px 6px !important;
	border-radius: 8px !important;
}

:is(div.wc-block-checkout, div.wc-block-cart) .wc-block-components-textarea {
	height: auto !important;
	min-height: 96px !important;
	padding-top: 22px !important;
	white-space: normal;
	line-height: 1.45 !important;
}

:is(div.wc-block-checkout, div.wc-block-cart) .wc-block-components-text-input {
	font-size: 16px !important;
	margin-top: 14px !important;
}

/* Restoring floating labels (Woodmart overrides WC .is-active top) */
:is(div.wc-block-checkout, div.wc-block-cart) .wc-block-components-text-input > label {
	font-size: 16px !important;
	top: 24px !important;
	left: 14px !important;
	color: var(--az-checkout-muted) !important;
	pointer-events: none;
	z-index: 1;
}

:is(div.wc-block-checkout, div.wc-block-cart)
	.wc-block-components-text-input.is-active
	> label,
:is(div.wc-block-checkout, div.wc-block-cart)
	.wc-block-components-text-input
	input:-webkit-autofill
	+ label {
	top: 8px !important;
	transform: translateY(0) scale(0.75) !important;
	transform-origin: top left;
	color: var(--az-checkout-muted) !important;
}

:is(div.wc-block-checkout, div.wc-block-cart) .wc-blocks-components-select {
	font-size: 16px !important;
}

:is(div.wc-block-checkout, div.wc-block-cart)
	.wc-blocks-components-select
	.wc-blocks-components-select__container
	> select {
	height: 48px !important;
	font-size: 16px !important;
	padding: 18px 14px 6px !important;
	border-radius: 8px !important;
}

:is(div.wc-block-checkout, div.wc-block-cart)
	.wc-blocks-components-select
	.wc-blocks-components-select__container
	label {
	font-size: 12px !important;
	top: 8px !important;
}

/* -------------------------------------------------------------------------- */
/* Coupon field — placeholder style (no overlapping floating label)            */
/* -------------------------------------------------------------------------- */

.wc-block-components-totals-coupon__form {
	align-items: stretch !important;
	gap: 10px !important;
	margin-top: 4px;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input,
.wc-block-components-totals-coupon__form
	.wc-block-components-text-input.wc-block-components-totals-coupon__input {
	flex: 1 1 auto !important;
	margin: 0 !important;
}

.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__input
	input[type="text"] {
	height: 48px !important;
	padding: 12px 14px !important;
	font-size: 15px !important;
	border-radius: 8px !important;
}

/* Hide floating label — use real placeholder instead */
.wc-block-components-totals-coupon__form
	.wc-block-components-totals-coupon__input
	> label,
.wc-block-components-totals-coupon__form
	.wc-block-components-text-input.wc-block-components-totals-coupon__input
	> label {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	min-height: 48px !important;
	height: 48px !important;
	font-size: 14px !important;
	border-radius: 8px !important;
	padding-left: 18px !important;
	padding-right: 18px !important;
	flex: 0 0 auto !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-size: 15px !important;
	font-weight: 600;
	color: var(--az-checkout-text);
}

.wc-block-components-chip {
	font-size: 14px !important;
	border-radius: 6px !important;
}

/* -------------------------------------------------------------------------- */
/* Mobile                                                                      */
/* -------------------------------------------------------------------------- */

@media (max-width: 781px) {
	.wc-block-cart,
	.wc-block-checkout {
		font-size: 16px !important;
	}

	.wc-block-components-checkout-step__title {
		font-size: 18px !important;
	}

	.wc-block-cart .wc-block-cart__sidebar,
	.wc-block-checkout .wc-block-checkout__sidebar,
	.is-large .wp-block-woocommerce-checkout-order-summary-block,
	.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
		padding: 16px !important;
	}

	.wc-block-components-totals-coupon__form {
		flex-wrap: nowrap !important;
	}

	.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
		flex: 0 0 auto !important;
	}
}
