/* ==========================================================================
   Zicisme — coș, finalizare comandă, contul meu
   ========================================================================== */

.woocommerce-cart .z-main,
.woocommerce-checkout .z-main,
.woocommerce-account .z-main {
	padding-bottom: var(--z-section);
}

.z-shop-page {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.z-shop-page__title {
	font-size: var(--z-text-2xl);
	font-weight: 400;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* --------------------------------------------------------------------------
   1. Coș
   -------------------------------------------------------------------------- */
.woocommerce-cart-form {
	min-width: 0;
}

.woocommerce-cart .woocommerce {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 1000px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.7fr);
	}

	.woocommerce-cart .woocommerce-notices-wrapper,
	.woocommerce-cart .cart-empty,
	.woocommerce-cart .return-to-shop {
		grid-column: 1 / -1;
	}
}

.shop_table {
	border: 0;
}

.shop_table thead th {
	text-align: left;
	font-size: var(--z-text-xs);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--z-track-mid);
	color: var(--z-muted);
	padding: 0 0 1rem;
	border-bottom: 1px solid var(--z-line);
}

.shop_table td {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--z-line);
	vertical-align: top;
}

.woocommerce-cart-form__cart-item .product-thumbnail img {
	width: 96px;
	height: 120px;
	object-fit: cover;
	background: var(--z-surface-alt);
}

.woocommerce-cart-form__cart-item .product-name a {
	font-weight: 500;
}

.woocommerce-cart-form__cart-item .variation {
	margin: 0.35rem 0 0;
	font-size: var(--z-text-sm);
	color: var(--z-muted);
}

.woocommerce-cart-form__cart-item .variation dt,
.woocommerce-cart-form__cart-item .variation dd {
	display: inline;
	margin: 0;
}

.woocommerce-cart-form__cart-item .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	font-size: 1.35rem;
	line-height: 1;
	color: var(--z-muted);
}

.woocommerce-cart-form__cart-item .product-remove a.remove:hover {
	background: var(--z-surface-alt);
	color: var(--z-ink);
}

.actions .coupon {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	padding-block: 1.5rem;
}

.actions .coupon input {
	flex: 1 1 200px;
	min-width: 0;
}

.actions > button[name='update_cart'] {
	margin-left: auto;
}

/* Totalurile */
.cart_totals,
.z-order-summary {
	background: var(--z-surface-alt);
	padding: clamp(1.5rem, 3vw, 2rem);
	position: sticky;
	top: calc(var(--z-header-h) + 1.5rem);
}

.cart_totals h2,
.z-order-summary h2 {
	font-size: var(--z-text-sm);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--z-track-wide);
	margin-bottom: 1.25rem;
}

.cart_totals table {
	margin-bottom: 1.5rem;
}

.cart_totals th,
.cart_totals td {
	padding: 0.6rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	font-size: var(--z-text-base);
	text-align: left;
}

.cart_totals th {
	font-weight: 400;
	color: var(--z-ink-soft);
}

.cart_totals td {
	text-align: right;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
	font-size: var(--z-text-lg);
	font-weight: 500;
	border-bottom: 0;
	color: var(--z-ink);
}

.wc-proceed-to-checkout .checkout-button {
	width: 100%;
}

/* --------------------------------------------------------------------------
   2. Finalizare comandă
   -------------------------------------------------------------------------- */
.woocommerce-checkout form.checkout {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 1000px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.7fr);
		column-gap: clamp(2rem, 4vw, 4rem);
		row-gap: 0;
	}

	/* Coloana stângă: datele clientului. Coloana dreaptă: sumarul comenzii. */
	.woocommerce-checkout form.checkout > .woocommerce-notices-wrapper,
	.woocommerce-checkout form.checkout > .woocommerce-form-coupon-toggle,
	.woocommerce-checkout form.checkout > .checkout_coupon {
		grid-column: 1 / -1;
	}

	.woocommerce-checkout #customer_details {
		grid-column: 1;
		grid-row: 2 / span 2;
	}

	.woocommerce-checkout #order_review_heading {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}

	.woocommerce-checkout #order_review {
		grid-column: 2;
		grid-row: 3;
		align-self: start;
	}
}

.woocommerce-checkout #order_review {
	background: var(--z-surface-alt);
	padding: clamp(1.25rem, 3vw, 1.75rem);
}

.woocommerce-checkout #order_review_heading {
	font-size: var(--z-text-sm);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--z-track-wide);
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0.75rem;
}

.woocommerce-checkout h3 {
	font-size: var(--z-text-lg);
	font-weight: 500;
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--z-line);
}

.woocommerce form .form-row {
	margin-bottom: 1rem;
	padding: 0;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: 100%;
}

@media (min-width: 620px) {
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: calc(50% - 0.5rem);
		display: inline-block;
	}

	.woocommerce form .form-row-first {
		margin-right: 1rem;
	}
}

.woocommerce form .form-row .required {
	color: var(--z-sale);
	text-decoration: none;
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	margin-bottom: 1.5rem;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	font-size: var(--z-text-base);
	text-align: left;
}

.woocommerce-checkout-review-order-table td {
	text-align: right;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: var(--z-text-lg);
	font-weight: 500;
	border-bottom: 0;
}

#payment {
	background: transparent;
}

#payment ul.payment_methods {
	padding: 0;
	border: 0;
	display: grid;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

#payment ul.payment_methods li {
	list-style: none;
	border: 1px solid var(--z-line-strong);
	border-radius: 6px;
	padding: 1rem;
	transition: border-color var(--z-dur-fast) var(--z-ease);
}

#payment ul.payment_methods li:has(input:checked) {
	border-color: var(--z-ink);
	box-shadow: inset 0 0 0 1px var(--z-ink);
}

#payment ul.payment_methods li label {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-weight: 500;
	cursor: pointer;
	margin: 0;
}

#payment div.payment_box {
	background: var(--z-surface-alt);
	margin-top: 0.75rem;
	padding: 0.9rem 1rem;
	font-size: var(--z-text-sm);
	color: var(--z-ink-soft);
	border-radius: 4px;
}

#payment div.payment_box::before {
	display: none;
}

#place_order {
	width: 100%;
}

.woocommerce-privacy-policy-text {
	font-size: var(--z-text-sm);
	color: var(--z-muted);
	margin-bottom: 1rem;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1rem;
	font-size: var(--z-text-sm);
}

/* --------------------------------------------------------------------------
   3. Comandă primită
   -------------------------------------------------------------------------- */
.woocommerce-order {
	max-width: 52rem;
}

.woocommerce-order-overview {
	display: grid;
	gap: 1rem;
	padding: 1.5rem;
	background: var(--z-surface-alt);
	margin-bottom: 2rem;
}

@media (min-width: 720px) {
	.woocommerce-order-overview {
		grid-template-columns: repeat(4, 1fr);
	}
}

.woocommerce-order-overview li {
	list-style: none;
	font-size: var(--z-text-lg);
	font-weight: 500;
}

.woocommerce-order-overview li strong {
	display: block;
	font-size: var(--z-text-xs);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: var(--z-track-mid);
	color: var(--z-muted);
	margin-bottom: 0.25rem;
}

/* --------------------------------------------------------------------------
   4. Contul meu
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 900px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 240px minmax(0, 1fr);
	}
}

.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 0.15rem;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--z-line);
	font-size: var(--z-text-md);
	color: var(--z-ink-soft);
}

.woocommerce-MyAccount-navigation li.is-active a {
	color: var(--z-ink);
	font-weight: 500;
}

.woocommerce-MyAccount-content {
	min-width: 0;
}

/* Autentificare / înregistrare */
.woocommerce-account .woocommerce > .u-columns,
.woocommerce-account form.login,
.woocommerce-account form.register {
	max-width: 30rem;
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	border: 1px solid var(--z-line);
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: 4px;
}

.woocommerce form.login .button,
.woocommerce form.register .button {
	width: 100%;
	margin-top: 0.5rem;
}

/* --------------------------------------------------------------------------
   5. Coș gol
   -------------------------------------------------------------------------- */
.cart-empty {
	font-size: var(--z-text-xl);
	font-weight: 300;
	padding-block: 2rem 1rem;
	background: none;
	border: 0;
}

.return-to-shop {
	padding-bottom: 3rem;
}
