/**
 * WooCommerce – minimal theme overrides
 *
 * Loaded only on WooCommerce pages. Keeps layout and typography aligned
 * with the theme without duplicating plugin styles.
 *
 * @package RoozRooz
 * @since 1.0.0
 */

/* Content wrapper */
.woocommerce-content {
	margin: 0;
	padding: 0;
}

/* Shop archive: title section (like page.php .entry-header) */
.shop-archive-header {
	margin-block: var(--gap-8) var(--gap-20);
	display: grid;
	gap: var(--gap-4);
}

.shop-archive-header .woocommerce-breadcrumb {
	margin-block: 0.5rem;
}

.shop-archive-header .woocommerce-products-header__title {
	svg {
		max-width: 350px;
	}
}

body[class*="woocommerce-"]:not(.home) .entry-content {
	margin-block: var(--gap-20);
}

/* Shop product grid */
.woocommerce {
	&:where(body:not(.woocommerce-block-theme-has-button-styles)) {
		button.button[class*="add_to_cart"] {
			background-color: var(--book-red-500);
			color: #fff;
			font-weight: 600;
			font-size: var(--font-size-sm);
			border-radius: 100px;
			padding: var(--gap-4) var(--gap-4);

			&:hover {
				background-color: var(--book-red-900);
			}
		}
	}

	.woocommerce-notices-wrapper {
		>div {
			margin-bottom: var(--gap-4);
			padding: var(--gap-4) var(--gap-16) var(--gap-4) var(--gap-4);
			list-style: none;
			border-top: none;
			border-right: 3px solid;

			&::before {
				top: 50%;
				transform: translateY(-50%);
			}

			&::after {
				display: none;
			}

			&.woocommerce-message {
				border-color: #8fae1b;
			}

			>span {
				display: block;
				width: 100%;
				position: relative;
			}

			a.button {
				float: none;
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				border-radius: calc(var(--radius-base) * 10);
				background-color: transparent;
				border: 1px solid var(--book-red-900);
				font-weight: 600;
				font-size: var(--font-size-sm);
				padding: var(--gap-4) var(--gap-4);

				&:hover {
					background-color: var(--book-red-800);
					border-color: var(--book-red-800);
					color: #fff;
				}
			}
		}
	}

	.shop-products {
		margin-bottom: 0;

		.products {
			display: grid;
			margin: 0;
			gap: var(--gap-12);
			grid-template-columns: repeat(4, 1fr);

			&::before,
			&::after {
				display: none;
			}

			li.product {
				margin: 0;
				float: none;
				width: 100%;
				min-height: 600px;

				&:hover {
					h2 {
						color: var(--book-red-500);
					}

					a.button.add_to_cart_button {
						display: inline-block;
					}
				}

				a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
					display: grid;
					gap: var(--gap-4);
				}

				.product-thumbnail {
					min-height: 400px;
					margin: 0;

					img {
						object-fit: cover;
						width: 100%;
						height: auto;
						margin: 0;
					}
				}

				.woocommerce-loop-product__title {
					padding: 0;
					font-size: var(--font-size-lg);
					font-weight: 700;
				}

				a.button.add_to_cart_button {
					display: none;
					margin: var(--gap-4) 0 0;
					appearance: none;
					background-color: var(--book-red-500);
					color: #fff;
					font-weight: 600;
					font-size: var(--font-size-sm);
					border-radius: 100px;
					padding: var(--gap-4) var(--gap-4);
				}

				.price {
					margin: 0;
					font-size: var(--font-size-base);
					font-weight: 700;
					color: var(--book-red-500);

					.woocommerce-Price-currencySymbol {
						margin-right: 4px;
					}
				}
			}
		}
	}
}

body.single-product {
	div.product {
		display: grid;
		gap: var(--gap-8);
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto 1fr;
		align-items: start;
		margin-block: var(--gap-20);

		div.images {
			margin: 0;
			width: 100%;
			float: none;
			grid-column: 1 / 1;
			grid-row: 1 / 3;
		}

		div.summary {
			margin: 0;
			width: 100%;
			float: none;
			display: flex;
			flex-direction: column;
			gap: var(--gap-4);
			padding-block: var(--gap-8);
			max-height: fit-content;
		}

		.product_title {
			font-size: var(--font-size-2xl);
			font-weight: 700;
			margin: 0;
		}

		p.price {
			color: var(--text-color-600);
			font-size: var(--font-size-xl);
		}

		form.cart {
			margin: 0;
			display: flex;
			align-items: stretch;
			border: 1px solid var(--line-color);
			border-radius: calc(var(--radius-base) * 10);
			padding: var(--gap-1);
			background: #fff;
			width: fit-content;
			gap: var(--gap-2);
			overflow: hidden;

			&::before,
			&::after {
				display: none;
			}

			div.quantity {
				display: flex;
				align-items: center;
			}

			div.quantity .qty {
				font-size: var(--font-size-lg);
			}

			/* Custom quantity stepper: [ − | 1 | + ] */
			.quantity--stepper {
				display: flex;
				align-items: stretch;
				overflow: hidden;
				padding: var(--gap-1);
				gap: var(--gap-4);
			}

			.quantity--stepper .quantity__input {
				position: absolute;
				width: 0;
				height: 0;
				opacity: 0;
				pointer-events: none;
			}

			.quantity--stepper .quantity__btn {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 2.5rem;
				min-width: 2.5rem;
				height: 2.5rem;
				padding: 0;
				border: none;
				background: transparent;
				font-size: var(--font-size-2xl);
				line-height: 1;
				cursor: pointer;
				color: currentColor;
				transition: background-color 0.15s ease;
				border-radius: calc(var(--radius-base) * 10);
			}

			.quantity--stepper .quantity__btn:hover {
				background: rgba(0, 0, 0, 0.06);
			}

			.quantity--stepper .quantity__btn:focus {
				outline: 2px solid currentColor;
				outline-offset: -2px;
			}

			.quantity--stepper .quantity__value {
				display: flex;
				align-items: center;
				justify-content: center;
				min-width: 2.5rem;
				padding: 0 0.5rem;
				font-size: var(--font-size-lg);
				font-weight: 700;
			}
		}
	}

	/* Product description & additional info: simple stacked sections (no tabs) */
	.woocommerce-product-sections {
		display: flex;
		flex-direction: column-reverse;
		gap: var(--gap-8);
	}

	.product-section {
		margin: 0;

		.woocommerce-product-attributes {
			display: flex;
			flex-direction: column;
			gap: var(--gap-4);
		}

		.woocommerce-product-attributes-item {
			display: flex;
			align-items: center;
			gap: var(--gap-4);

			span:first-child {
				width: 100px;
				font-weight: 700;
			}
		}
	}

	.product-section--description {
		line-height: 1.8;
	}

	.product-section .woocommerce-product-attributes {
		margin: 0;
	}

	.related.products {
		grid-column: 1 / -1;
		padding-block: var(--gap-12);

		h2 {
			margin-bottom: var(--gap-4);
			font-size: var(--font-size-xl);
		}

		.products {
			display: grid;
			margin: 0;
			gap: var(--gap-12);
			grid-template-columns: repeat(4, 1fr);

			&::before,
			&::after {
				display: none;
			}

			li.product {
				margin: 0;
				float: none;
				width: 100%;
				min-height: 600px;

				&:hover {
					h2 {
						color: var(--book-red-500);
					}

					a.button.add_to_cart_button {
						display: inline-block;
					}
				}

				a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
					display: grid;
					gap: var(--gap-4);
				}

				.product-thumbnail {
					min-height: 400px;
					margin: 0;

					img {
						object-fit: cover;
						width: 100%;
						height: auto;
						margin: 0;
					}
				}

				.woocommerce-loop-product__title {
					padding: 0;
					font-size: var(--font-size-lg);
					font-weight: 700;
				}

				a.button.add_to_cart_button {
					display: none;
					margin: var(--gap-4) 0 0;
					appearance: none;
					background-color: var(--book-red-500);
					color: #fff;
					font-weight: 600;
					font-size: var(--font-size-sm);
					border-radius: 100px;
					padding: var(--gap-4) var(--gap-4);
				}

				.price {
					margin: 0;
					font-size: var(--font-size-base);
					font-weight: 700;
					color: var(--book-red-500);

					.woocommerce-Price-currencySymbol {
						margin-right: 4px;
					}
				}
			}
		}
	}
}

/* Messages and notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin-bottom: 1rem;
	padding: 0.75rem 1rem;
	list-style: none;
}

.woocommerce-error {
	list-style: none;
}

/* Tables (cart, checkout, order details) */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 0.5rem 0.75rem;
	text-align: right;
}

/* Buttons */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button {
	display: inline-block;
	padding: 0.5rem 1rem;
	cursor: pointer;
}

/* Form rows (checkout, account) */
.woocommerce form .form-row {
	margin-bottom: 1rem;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 0.25rem;
}

/* Checkout flow stepper (Cart → Checkout → Done) */
.checkout-flow-nav {
	margin-bottom: var(--gap-20);
}

.checkout-flow-nav__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.checkout-flow-nav__step {
	min-width: 150px;
	gap: var(--gap-1);
	color: var(--book-red-500);

	&:not(.checkout-flow-nav__step--current) {
		color: var(--text-color-300);
	}

	&.checkout-flow-nav__step--current {
		position: relative;

		&::after {
			background: var(--book-red-500);
			content: "";
			display: block;
			width: 10px;
			height: 10px;
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			bottom: -20px;
			rotate: 45deg;
		}
	}

	i {
		font-size: var(--font-size-2xl);
	}

	.checkout-flow-nav__label {
		font-size: var(--font-size-base);
		font-weight: 700;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: var(--gap-2);
	}
}

.checkout-flow-nav__connector {
	min-width: 50px;
	height: 2px;
	background: var(--text-color-300);
	flex-shrink: 0;
}

.wc-block-components-sidebar-layout.wc-block-cart {
	gap: var(--gap-20);
	flex-wrap: nowrap;
	padding: var(--gap-12) 0 0;

	.wc-block-components-main {
		padding: 0;
	}

	.wc-block-cart__main .wc-block-cart-items {
		border: none;

		>thead {
			display: none;
		}

		>tbody {
			display: flex;
			flex-direction: column;
			gap: var(--gap-4);

			td {
				border: none;
				padding: 0;
			}
		}

		tr.wc-block-cart-items__row {
			display: flex;
			align-items: start;
			border-bottom: 1px solid lch(from var(--text-color-900) l c h / 0.2);
			padding: 0 0 var(--gap-4);
		}

		td.wc-block-cart-item__image {
			a {
				display: block;
				aspect-ratio: 1 / 1;
				max-width: 130px;

				img {
					object-fit: contain;
					width: 100%;
					height: 100%;
					margin: 0;
				}
			}
		}

		td.wc-block-cart-item__product {
			flex: 1;
			padding-inline: var(--gap-4);

			.wc-block-cart-item__wrap {
				display: flex;
				flex-direction: column;
				gap: var(--gap-4);

				>* {
					margin: 0;
				}

				.wc-block-components-product-name {
					font-size: calc(var(--font-size-base) * 1.2);
					font-family: var(--font-heading);
					font-variation-settings:
						"wght" 700,
						"CNTR" 0;
				}

				.wc-block-cart-item__prices,
				.wc-block-components-product-metadata {
					display: none;
				}

				.wc-block-cart-item__quantity {
					flex-direction: row;
					align-items: center;
					gap: var(--gap-4);

					>* {
						margin: 0;
					}

					.wc-block-cart-item__remove-link {
						font-size: calc(var(--font-size-base) * 0.6);
						text-decoration: none;
						color: var(--book-red-500);
						font-weight: 700;
						border: 1px solid var(--book-red-500);
						border-radius: 100px;
						padding: var(--gap-1) var(--gap-2);

						&:hover {
							background-color: var(--book-red-500);
							color: #fff;
							border-color: var(--book-red-500);
						}
					}
				}
			}
		}

		td.wc-block-cart-item__total {
			line-height: 1;
			padding-top: var(--gap-2);

			.price.wc-block-components-product-price {
				font-size: calc(var(--font-size-base) * 1.2);
				font-weight: 700;
				position: relative;

				&::before {
					content: "مجموع";
					display: block;
					position: absolute;
					font-size: calc(var(--font-size-base) * 0.6);
					right: 0;
					top: -10px;
					color: var(--text-color-400);
				}
			}
		}
	}

	.wc-block-components-sidebar {
		max-height: fit-content;
		position: sticky;
		top: calc(var(--header-stuck-height) + var(--gap-12));

		>* {
			margin: 0;
			border: none;
		}

		h2.wp-block-woocommerce-cart-order-summary-heading-block {
			font-size: var(--font-size-base);
			font-weight: 700;
			border: none;
			padding: 0;
		}

		.wc-block-components-totals-wrapper {
			padding: 0;
			border: none;

			.wc-block-components-totals-item__label {
				font-size: calc(var(--font-size-base) * 0.8);
				color: var(--text-color-400);
			}

			.wc-block-components-totals-item__value {
				font-size: calc(var(--font-size-base) * 1.5);
				font-weight: 700;
				transform: translateY(-20px);
			}
		}

		.wc-block-cart__submit {
			margin: var(--gap-8) 0 0;

			.wc-block-cart__submit-container {
				.wc-block-components-button:not(.is-link) {
					background-color: var(--book-red-500);
					color: #fff;
					font-size: var(--font-size-base);
					font-weight: 700;
					border-radius: 100px;
					padding: var(--gap-4) var(--gap-8);
					border: none;
					cursor: pointer;
					transition: background-color 0.3s ease;
				}
			}
		}
	}

	/* Hide coupon and shipping on cart; they belong on checkout only (wc-block-cart). */
	.wp-block-woocommerce-cart-order-summary-coupon-form-block,
	.wp-block-woocommerce-cart-order-summary-shipping-block,
	.wp-block-woocommerce-cart-order-summary-totals-block {
		display: none !important;
	}
}

.wc-block-components-sidebar-layout.wc-block-checkout {
	padding: var(--gap-12) 0 0;
	gap: var(--gap-20);
	flex-wrap: nowrap;

	.wc-block-components-main {
		padding: 0;
	}

	.wc-block-checkout__main .wc-block-checkout-form {
		border: none;
	}

	.wc-block-checkout__sidebar.is-sticky {
		top: calc(var(--header-stuck-height) + var(--gap-12));

		.wp-block-woocommerce-checkout-order-summary-block {
			border: none;
			border-radius: none;

			.wc-block-components-checkout-order-summary__title {
				margin: 0 0 var(--gap-4);

				.wc-block-components-checkout-order-summary__title-text {
					font-size: var(--font-size-base);
					font-weight: 700;
					margin: 0;
				}
			}
		}

		.wc-block-components-checkout-order-summary__content {
			display: flex;
			flex-direction: column;
			gap: var(--gap-4);

			>* {
				margin: 0;
				border: none;
				padding: 0;
			}

			.wc-block-components-order-summary {
				padding: 0;

				.wc-block-components-order-summary-item {
					align-items: center;

					&:not(:last-child) {
						border-bottom: 1px solid lch(from var(--text-color-900) l c h / 0.2);
						padding: 0 0 var(--gap-1);
						margin: 0 0 var(--gap-1);
					}

					.wc-block-components-order-summary-item__image {
						margin: 0;
						padding: 0;

						.wc-block-components-order-summary-item__quantity {
							background-color: var(--book-red-900);
							color: #fff;
							outline: 3px solid #fff;
							border: none;
							box-shadow: none;
							border-radius: 100%;
							left: auto;
							right: -15px;
							top: 50%;
							transform: translateY(-50%);
						}
					}

					.wc-block-components-order-summary-item__description {
						padding: 0 var(--gap-4) 0 0;
						display: flex;
						flex-direction: column;
						justify-content: center;
						flex: 1;

						h3 {
							max-height: fit-content;
						}

						> :not(h3) {
							display: none;
						}
					}

					.wc-block-components-order-summary-item__total-price {
						margin: 0;
						padding: 0;
					}
				}
			}

			.wc-block-components-totals-coupon.wc-block-components-panel {
				padding: var(--gap-4) 0;

				form.wc-block-components-totals-coupon__form {
					border: 1px solid lch(from var(--text-color-900) l c h / 0.2);
					border-radius: calc(var(--radius-base) * 10);
					padding: var(--gap-1);

					.wc-block-components-text-input.wc-block-components-totals-coupon__input {
						&.is-active {
							label {
								top: -2px;
								transform: scale(0.7);
							}
						}
					}

					input#wc-block-components-totals-coupon__input-coupon {
						border: none;
						outline: none;
						background: transparent;
						padding: 0 var(--gap-4);
					}

					.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained {
						background-color: var(--book-red-900);
						color: #fff;
						font-size: var(--font-size-base);
						font-weight: 500;
						border-radius: 100px;
						padding: var(--gap-4) var(--gap-2);
						border: none;
						cursor: pointer;
						transition: background-color 0.3s ease;
					}
				}
			}

			.wp-block-woocommerce-checkout-order-summary-totals-block {
				display: flex;
				flex-direction: column;
				gap: var(--gap-1);
			}

			.wc-block-components-totals-item {
				padding: 0;
			}

			.wc-block-components-totals-wrapper {
				.wc-block-components-totals-item.wc-block-components-totals-footer-item {
					.wc-block-components-totals-item__value {
						font-size: calc(var(--font-size-base) * 1.5);
						font-weight: 700;
					}
				}
			}
		}
	}

	.wc-block-checkout__actions_row {
		button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
			background-color: var(--book-red-500);
			color: #fff;
			font-size: var(--font-size-base);
			font-weight: 700;
			border-radius: 100px;
			padding: var(--gap-4) var(--gap-8);
			border: none;
			cursor: pointer;
			transition: background-color 0.3s ease;

			&:hover {
				background-color: var(--book-red-900);
			}
		}
	}



	.wc-block-components-form .wc-block-components-text-input input[type=email],
	.wc-block-components-form .wc-block-components-text-input input[type=number],
	.wc-block-components-form .wc-block-components-text-input input[type=password],
	.wc-block-components-form .wc-block-components-text-input input[type=tel],
	.wc-block-components-form .wc-block-components-text-input input[type=text],
	.wc-block-components-form .wc-block-components-text-input input[type=url],
	.wc-block-components-text-input input[type=email],
	.wc-block-components-text-input input[type=number],
	.wc-block-components-text-input input[type=password],
	.wc-block-components-text-input input[type=tel],
	.wc-block-components-text-input input[type=text],
	.wc-block-components-text-input input[type=url] {
		background-color: #fff;
		border: 1px solid lch(from var(--text-color-900) l c h / 0.8);
		border-radius: 0;
		box-sizing: border-box;
		color: var(--text-color-900);
		font-family: inherit;
		font-size: inherit;
		font-size: var(--font-size-base);
		font-style: inherit;
		font-weight: inherit;
		height: 50px;
		letter-spacing: inherit;
		line-height: inherit;
		line-height: 25px;
		margin: 0;
		min-height: 0;
		padding: 16px 12px;
		text-decoration: inherit;
		text-transform: inherit;
		width: 100%;
	}


		.wc-block-components-form .wc-block-components-text-input.has-error input,
		.wc-block-components-form .wc-block-components-text-input.has-error input:active,
		.wc-block-components-form .wc-block-components-text-input.has-error input:focus,
		.wc-block-components-form .wc-block-components-text-input.has-error input:hover,
		.wc-block-components-text-input.has-error input,
		.wc-block-components-text-input.has-error input:active,
		.wc-block-components-text-input.has-error input:focus,
		.wc-block-components-text-input.has-error input:hover {
			border-color: #cc1818;
		}
}




/* Checkout block: coupon field always expanded (no collapsible toggle) */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: none !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-totals-coupon .wc-block-components-panel__content,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-totals-coupon .wc-block-components-panel__content[hidden] {
	display: block !important;
}

/* Checkout block: hide country/region, address line 2 (apartment/suite), and order notes */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block {
	display: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-address-form > div:has([id*="country"]) {
	display: none !important;
}
.wp-block-woocommerce-checkout [class*="country-input"],
.wp-block-woocommerce-checkout [id*="country"] {
	display: none !important;
}
.wp-block-woocommerce-checkout [class*="address_2"],
.wp-block-woocommerce-checkout [class*="address-2"] {
	display: none !important;
}





.woocommerce-order {
	display: flex;
	flex-direction: column;
	gap: var(--gap-16);

	.wc-order-received {
		background-color: lch(from var(--text-color-base) l c h / 0.03);
		padding: var(--gap-4);
		display: flex;
		flex-direction: column;
		gap: var(--gap-4);

		p.woocommerce-notice {
			font-family: var(--font-heading);
		}

		ul.order_details.woocommerce-order-overview {
			margin: 0;
			display: flex;
			align-items: center;
			gap: var(--gap-4);

			&::before,
			&::after {
				display: none;
			}

			li {
				margin: 0;
				padding-left: var(--gap-4);
			}
		}
	}

	.woocommerce-order-details {
		margin: 0;

		.woocommerce-order-details__title {
			margin: 0 0 var(--gap-4);
		}

		table.shop_table {
			margin: 0;
			border: none;
			border-radius: 0;
			display: flex;
			flex-direction: column;
			gap: var(--gap-1);

			tr {
				width: 100%;
				display: flex;
				align-items: center;
				padding-block: var(--gap-2);

				th, td {
					flex: 1;
					padding: var(--gap-2) 0;
					margin: 0;
					border: none;
				}
			}

			tbody {
				border-bottom: 2px solid lch(from var(--text-color-base) l c h / 0.2);

				tr:not(:last-child) {
					border-bottom: 1px solid lch(from var(--text-color-base) l c h / 0.2);
				}
			}

			tfoot {
				tr:not(:last-child) {
					border-bottom: 1px solid lch(from var(--text-color-base) l c h / 0.2);
				}
			}
		}

		p.order-again {
			margin-block: var(--gap-8);
			text-align: left;

			a.button {
				background-color: var(--book-red-500);
				color: #fff;
				font-size: var(--font-size-base);
				font-weight: 700;
				border-radius: 100px;
				padding: var(--gap-4) var(--gap-8);
				border: none;
			}
		}
	}


	.woocommerce-customer-details {
		margin: 0;

		section.woocommerce-columns.woocommerce-columns--addresses.addresses {
			display: flex;
			align-items: start;
			justify-content: space-between;
			gap: var(--gap-8);

			&::before, 
			&::after {
				display: none;
			}

			.woocommerce-column {

				h2.woocommerce-column__title {
					margin: 0 0 var(--gap-4);
				}

				address {
					border: none;
					font-style: normal;
					padding: var(--gap-4) 0;
					margin: 0;
					border-top: 1px solid lch(from var(--text-color-base) l c h / 0.2);
				}
			}

			
		}
	}
}




body.woocommerce-account {

	header.entry-header.account-page-header {
		text-align: center;
		min-height: 100px;
		display: flex;
		align-items: center;
		justify-content: center;

		h1 {
			margin: 0;
			font-size: var(--font-size-lg);
		}
	}

	article .woocommerce {
		display: flex;
		flex-direction: column;
		gap: var(--gap-16);

		&::before,
		&::after {
			display: none;
		}

		&:has(form.login) {
			justify-content: start;
			align-items: center;
			gap: var(--gap-8);

			form.login {
				margin-block: 0;
				border: none;
				padding: 0;
				min-width: 320px;


				.form-row .input-text, .form-row select {
					font-family: inherit;
					font-weight: 400;
					letter-spacing: normal;
					padding: .5em;
					display: block;
					background-color: #fff;
					border: 1px solid lch(from var(--text-color-base) l c h / 0.5);
					border-radius: 0;
					color: var(--text-color-base);
					box-sizing: border-box;
					width: 100%;
					margin: 0;
					line-height: normal;
					height: auto;
				}

				.form-row:has(button.woocommerce-form-login__submit) {
					display: flex;
					flex-direction: row-reverse;
					align-items: center;
					justify-content: space-between;
					gap: var(--gap-4);

					&::before,
					&::after {
						display: none;
					}

					* {
						margin: 0;
					}
				}

				button.woocommerce-form-login__submit {
					background-color: var(--book-red-500);
					color: #fff;
					border-radius: calc(var(--radius-base) * 10);
					padding: var(--gap-4) var(--gap-8);
					border: none;
					font-size: var(--font-size-base);
					font-weight: 700;
					text-transform: uppercase;
					letter-spacing: 0.05em;
					margin: 0;
				}
			}
		}

		nav.woocommerce-MyAccount-navigation {
			float: none;
			width: 100%;

			ul {
				display: flex;
				gap: var(--gap-2);

				li {

					&.is-active {
						a {
							background-color: var(--book-red-500);
							color: #fff;
						}
					}

					a {
						background-color: transparent;
						border-radius: calc(var(--radius-base) * 10);
						padding: var(--gap-1) var(--gap-4);
	
						&:hover {
							background-color: var(--book-red-500);
							color: #fff;
						}
					}
				}
			}
		}


		.woocommerce-MyAccount-content {
			float: none;
			width: 100%;


			table.my_account_orders {
				margin: 0;
				border: none;

				a.woocommerce-button.button.view {
					background-color: transparent;
					color: var(--book-red-500);
					border-radius: calc(var(--radius-base) * 10);
					padding: var(--gap-2) var(--gap-3);
					border: 1px solid var(--book-red-500);
					font-size: var(--font-size-sm);
					font-weight: 500;
					text-transform: uppercase;
					letter-spacing: 0.05em;

					&:hover {
						background-color: var(--book-red-500);
						color: #fff;
					}
				}
			}


			.woocommerce-order-details {
				margin: 0;
		
				.woocommerce-order-details__title {
					margin: 0 0 var(--gap-4);
				}
		
				table.shop_table {
					margin: 0;
					border: none;
					border-radius: 0;
					display: flex;
					flex-direction: column;
					gap: var(--gap-1);
		
					tr {
						width: 100%;
						display: flex;
						align-items: center;
						padding-block: var(--gap-2);
		
						th, td {
							flex: 1;
							padding: var(--gap-2) 0;
							margin: 0;
							border: none;
						}
					}
		
					tbody {
						border-bottom: 2px solid lch(from var(--text-color-base) l c h / 0.2);
		
						tr:not(:last-child) {
							border-bottom: 1px solid lch(from var(--text-color-base) l c h / 0.2);
						}
					}
		
					tfoot {
						tr:not(:last-child) {
							border-bottom: 1px solid lch(from var(--text-color-base) l c h / 0.2);
						}
					}
				}
		
				p.order-again {
					margin-block: var(--gap-8);
					text-align: left;
		
					a.button {
						background-color: var(--book-red-500);
						color: #fff;
						font-size: var(--font-size-base);
						font-weight: 700;
						border-radius: 100px;
						padding: var(--gap-4) var(--gap-8);
						border: none;
					}
				}
			}
		
		
			.woocommerce-customer-details {
				margin: 0;
		
				section.woocommerce-columns.woocommerce-columns--addresses.addresses {
					display: flex;
					align-items: start;
					justify-content: space-between;
					gap: var(--gap-8);
		
					&::before, 
					&::after {
						display: none;
					}
		
					.woocommerce-column {
		
						h2.woocommerce-column__title {
							margin: 0 0 var(--gap-4);
						}
		
						address {
							border: none;
							font-style: normal;
							padding: var(--gap-4) 0;
							margin: 0;
							border-top: 1px solid lch(from var(--text-color-base) l c h / 0.2);
						}
					}
		
					
				}
			}


			div.u-columns.woocommerce-Addresses.col2-set.addresses {
				display: flex;
				align-items: start;
				justify-content: space-between;
				gap: var(--gap-8);
				margin-block: var(--gap-8) 0;
	
				&::before, 
				&::after {
					display: none;
				}
	
				> div {
	
					h2.woocommerce-column__title {
						margin: 0 0 var(--gap-4);
					}
	
					address {
						border: none;
						font-style: normal;
						padding: var(--gap-4) 0;
						margin: 0;
						border-top: 1px solid lch(from var(--text-color-base) l c h / 0.2);
					}
				}
	
				
			}
		}
	}
}


body[class*="woocommerce-"] {

	/* Slide-in minicart */
	.roozrooz-minicart-backdrop {
		position: fixed;
		inset: 0;
		z-index: 105;
		background: hsl(from var(--text-color-base) h s l / 0.5);
		backdrop-filter: blur(15px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	
	body.roozrooz-minicart-open .roozrooz-minicart-backdrop {
		pointer-events: auto;
	}
	
	.roozrooz-minicart-drawer {
		position: fixed;
		inset-block: 0;
		inset-inline-end: 0;
		width: min(400px, 90vw);
		max-width: 100%;
		z-index: 110;
		background: #fff;
		display: flex;
		flex-direction: column;
		overflow: hidden;
		visibility: hidden;
		pointer-events: none;
		transform: translateX(100%);
		right: 0;
	}
	
	.roozrooz-minicart-drawer.is-open {
		visibility: visible;
		pointer-events: auto;
		transform: translateX(0);
	}
	
	/* Desktop: always from right (no RTL flip) */
	.roozrooz-minicart-drawer-inner {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
	}
	
	.roozrooz-minicart-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--gap-4);
	}
	
	.roozrooz-minicart-title {
		margin: 0;
		font-size: var(--font-size-md);
		font-weight: 600;
	}
	
	.roozrooz-minicart-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: none;
		background: transparent;
		cursor: pointer;
	}
	
	.roozrooz-minicart-close:focus {
		outline: 2px solid var(--crimson-500);
		outline-offset: 2px;
	}
	
	.roozrooz-minicart-body {
		flex: 1;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 1rem var(--gap-4);
		background: #fafafa;
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart-item {
		display: flex;
		gap: 0.75rem;
		align-items: center;
		justify-content: space-between;
		padding: 0.75rem 0;
		font-size: 0.875rem;
		position: relative;
	
		&::before, &::after {
			display: none !important;
		}
	
		> a:has(img) {
			display: flex;
			align-items: center;
			gap: var(--gap-2);
			flex: 1;
		}
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart-item a.remove {
		margin: 0;
		font-size: 1.25rem;
		line-height: 1;
		opacity: 0.6;
		right: 0;
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart-item a.remove:hover {
		opacity: 1;
		color: var(--crimson-500);
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart-item img {
		width: 50px;
		height: auto;
		display: block;
		margin: 0;
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart-item .quantity {
		font-size: var(--font-size-sm);
		color: var(--text-color-900);
		margin-top: 0;
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart__total {
		padding: var(--gap-8) 0;
		font-weight: 600;
		font-size: 1rem;
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart__buttons {
		display: flex;
		gap: var(--gap-4);
		margin-block: var(--gap-8) 0;

		> * {
			flex: 1;
		}
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart__buttons a,
	.roozrooz-minicart-content .woocommerce-mini-cart__buttons .button {
		display: block;
		text-align: center;
		padding: 0.75rem 1rem;
		border-radius: calc(var(--radius-base) * 10);
		font-weight: 600;
		text-decoration: none;
	}

	.roozrooz-minicart-content .woocommerce-mini-cart__buttons .wc-forward {
		background-color: #fff;
		color: var(--book-red-500);
		border: 1px solid var(--book-red-500);

		&:hover {
			background-color: var(--book-red-500);
			color: #fff;
		}

		&.checkout {
			background-color: var(--book-red-500);
			color: #fff;

			&:hover {
				background-color: var(--book-red-900);
				border-color: var(--book-red-900);
			}
		}
	}
	
	.roozrooz-minicart-content .woocommerce-mini-cart__empty-message {
		margin: 0;
		padding: 1.5rem 0;
		color: #666;
		text-align: center;
	}
	
	/* Mobile: bottom sheet (slide up from bottom like main menu) */
	@media (max-width: 768px) {
		.roozrooz-minicart-drawer {
			inset: auto auto 0 0;
			top: auto;
			left: 0;
			right: 0;
			width: 100%;
			max-width: none;
			height: min(85vh, 720px);
			border-radius: 1rem 1rem 0 0;
			box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
			transform: translateY(100%);
		}
	
		.roozrooz-minicart-drawer.is-open {
			transform: translateY(0);
		}
	
		.roozrooz-minicart-body {
			padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
		}
	}
	
	.roozrooz-cart-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.25rem;
		border: none;
		background: transparent;
		cursor: pointer;
		font-size: var(--font-size-xl);
		line-height: 1;
	}
	
	.roozrooz-cart-trigger-icon {
		position: relative;
	}
	
	.roozrooz-cart-count {
		position: absolute;
		top: -6px;
		inset-inline-end: -6px;
		min-width: 1.25rem;
		height: 1.25rem;
		font-size: 0.6875rem;
		font-weight: 600;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		background: var(--crimson-500);
		border-radius: 50%;
	}
	
	.roozrooz-cart-count--empty {
		visibility: hidden;
		opacity: 0;
	}
	
	.mobile-bottom-nav .roozrooz-cart-trigger {
		flex-direction: column;
		gap: 0.125rem;
		min-height: 44px;
		min-width: 0;
		flex: 0 1 auto;
		padding: 0.25rem 0.375rem;
		font-size: 0.625rem;
		color: inherit;
	}
	
	.mobile-bottom-nav .roozrooz-cart-trigger .roozrooz-cart-count {
		top: -4px;
		inset-inline-end: -4px;
	}
}


@media (max-width: 768px) {
	body[class*="woocommerce-"] .site-main {
		padding-inline: var(--gap-4);
	}

	.shop-archive-header .woocommerce-products-header__title {
		svg {
			max-width: 250px;
		}
	}

	.woocommerce {
		.woocommerce-notices-wrapper {
			&>div {
				>span {
					display: flex;
					width: 100%;
					position: relative;
					flex-direction: column;
					gap: var(--gap-4);

					a.button {
						float: none;
						position: relative;
						left: initial;
						top: 0;
						transform: initial;
						border-radius: calc(var(--radius-base) * 10);
						background-color: transparent;
						border: 1px solid var(--book-red-900);
						font-weight: 600;
						font-size: var(--font-size-sm);
						padding: var(--gap-4) var(--gap-4);
						width: fit-content;
					}
				}
			}
		}

		& .shop-products {
			.products[class*="columns-"] {
				display: grid;
				margin: 0;
				gap: var(--gap-12);
				grid-template-columns: repeat(2, 1fr);

				li.product {
					width: 100%;
					float: none;
					margin: 0;
					min-height: fit-content;

					.product-thumbnail {
						min-height: fit-content;
						margin: 0;
					}
				}
			}
		}
	}

	.checkout-flow-nav__steps {
		flex-wrap: nowrap;

		.checkout-flow-nav__step {
			min-width: 100px;
		}

		.checkout-flow-nav__connector {
			min-width: 1px;
			max-width: 1px;
			height: 100px;
			background: var(--text-color-300);
			flex-shrink: 0;
		}
	}

	.wc-block-components-sidebar-layout.wc-block-cart {
		& .wc-block-cart__main .wc-block-cart-items {
			tr.wc-block-cart-items__row {
				display: grid;
				align-items: start;
				gap: var(--gap-4);
				padding-inline: var(--gap-4);
				grid-template-columns: 130px 1fr;

				.wc-block-cart-item__image {
					grid-column: 1 / 1;
					grid-row: 1 / 3;
				}

				.wc-block-cart-item__product {
					grid-column: 2 / 3;
					grid-row: 1 / 1;
					padding: 0;

					.wc-block-cart-item__quantity {
						align-self: start;
					}
				}

				.wc-block-cart-item__total {
					grid-column: 2 / 3;
					grid-row: 2 / 2;
					text-align: right;
					justify-self: start;
				}
			}
		}

		.wc-block-components-sidebar {
			max-height: fit-content;
			position: relative;
			top: 0;
			padding-inline: var(--gap-4);

			.wc-block-components-totals-item__value {
				font-size: calc(var(--font-size-base) * 1.5);
				font-weight: 700;
				transform: translateY(0) !important;
			}
		}
	}

	.site-footer {
		padding-inline: var(--gap-4);

		.footer-top {
			display: flex;
			flex-direction: column;
			padding-block: var(--gap-16);
			gap: var(--gap-8);
		}

		.footer-bottom {
			.site-info {
				p {
					flex-direction: column;
					text-align: center;
				}
			}
		}
	}

	.wc-block-components-sidebar-layout.wc-block-checkout.is-mobile {
		padding: var(--gap-12) var(--gap-4) 0;
		gap: var(--gap-20);
		flex-wrap: nowrap;
		flex-direction: column;
	}

	.wc-block-checkout__actions.wp-block-woocommerce-checkout-actions-block>.css-0.e19lxcc00 {
		display: none;
	}

	body.single-product {
		div.product {
			display: grid;
			gap: var(--gap-8);
			grid-template-columns: 1fr;
			grid-template-rows: auto 1fr;
			align-items: start;
			margin-block: var(--gap-20);

			div.images {
				grid-column: 1 / 1;
				grid-row: 1 / 1;
			}
		}

		.related.products {
			.products {
				display: grid;
				gap: var(--gap-12);
				grid-template-columns: repeat(2, 1fr);

				li.product {
					min-height: fit-content;

					.product-thumbnail {
						min-height: fit-content;
						margin: 0;
					}
				}
			}
		}
	}


	.woocommerce-order {
		& .wc-order-received {
			ul.order_details.woocommerce-order-overview {
				flex-direction: column;
				align-items: stretch;
				gap: var(--gap-4);

				li {
					padding-left: 0;
					padding-bottom: var(--gap-4);
					border-bottom: 1px solid lch(from var(--text-color-base) l c h / 0.2);
					border-left: none;

					&:last-child {
						padding-bottom: 0;
						border-bottom: none;
					}
				}
			}
		}

		.woocommerce-customer-details {
			section.woocommerce-columns.woocommerce-columns--addresses.addresses {
				flex-direction: column;
				align-items: stretch;
			}
		}
	}

	body.woocommerce-account article .woocommerce {
		nav.woocommerce-MyAccount-navigation {
			float: none;
			width: 100%;
	
			ul {
				display: flex;
				gap: 0;
	
				li {
					font-size: var(--font-size-sm);
	
					&.is-active {
						a {
							background-color: var(--book-red-500);
							color: #fff;
						}
					}
	
					a {
						background-color: transparent;
						border-radius: calc(var(--radius-base) * 10);
						padding: var(--gap-1) var(--gap-2);
	
						&:hover {
							background-color: var(--book-red-500);
							color: #fff;
						}
					}
				}
			}
		}
	}

	
}

